From 34bb11a78d3c5e410e024cfd11ce06600b823fc6 Mon Sep 17 00:00:00 2001 From: Jared Miller Date: Thu, 19 Mar 2026 16:23:51 -0400 Subject: [PATCH] Add language learning repos --- .gitmodules | 24 +++++++++++ README.md | 74 +++++++++++++++++++++++++++++++++ repos/ai-english-tutor | 1 + repos/awesome-language-learning | 1 + repos/companion | 1 + repos/discute | 1 + repos/librelingo | 1 + repos/libretranslate | 1 + repos/linguacafe | 1 + repos/speechbrain | 1 + 10 files changed, 106 insertions(+) create mode 100644 .gitmodules create mode 100644 README.md create mode 160000 repos/ai-english-tutor create mode 160000 repos/awesome-language-learning create mode 160000 repos/companion create mode 160000 repos/discute create mode 160000 repos/librelingo create mode 160000 repos/libretranslate create mode 160000 repos/linguacafe create mode 160000 repos/speechbrain diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..c23d385 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,24 @@ +[submodule "repos/companion"] + path = repos/companion + url = https://github.com/shakedzy/companion.git +[submodule "repos/discute"] + path = repos/discute + url = https://github.com/5uru/Discute.git +[submodule "repos/linguacafe"] + path = repos/linguacafe + url = https://github.com/simjanos-dev/LinguaCafe.git +[submodule "repos/libretranslate"] + path = repos/libretranslate + url = https://github.com/LibreTranslate/LibreTranslate.git +[submodule "repos/librelingo"] + path = repos/librelingo + url = https://github.com/kantord/LibreLingo.git +[submodule "repos/awesome-language-learning"] + path = repos/awesome-language-learning + url = https://github.com/Vuizur/awesome-language-learning.git +[submodule "repos/ai-english-tutor"] + path = repos/ai-english-tutor + url = https://github.com/jasonkang14/ai-english-tutor.git +[submodule "repos/speechbrain"] + path = repos/speechbrain + url = https://github.com/speechbrain/speechbrain.git diff --git a/README.md b/README.md new file mode 100644 index 0000000..2557082 --- /dev/null +++ b/README.md @@ -0,0 +1,74 @@ +# Language Learning Research + +Collection of open-source language learning tools and resources for evaluation. + +## Cloning + +This repo uses git submodules. To get everything in one shot: + +```bash +git clone --recurse-submodules https://github.com/YOU/language-learning.git +``` + +If you already cloned without `--recurse-submodules`: + +```bash +git submodule update --init --recursive +``` + +## What's In Here + +### repos/ + +| Repo | What It Does | +| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| [companion](https://github.com/shakedzy/companion) | Private AI language tutor — Whisper + ChatGPT + Google TTS. Read, write, talk, listen in native and target language. | +| [discute](https://github.com/5uru/Discute) | Speaking practice app — designed specifically for conversational practice in a new language. | +| [ai-english-tutor](https://github.com/jasonkang14/ai-english-tutor) | Interactive AI English tutor using OpenAI APIs. | +| [linguacafe](https://github.com/simjanos-dev/LinguaCafe) | Self-hosted web app for reading-based vocabulary acquisition. 27+ languages. Docker-based. | +| [librelingo](https://github.com/kantord/LibreLingo) | Community-driven open language learning platform. Course editor + web app. | +| [libretranslate](https://github.com/LibreTranslate/LibreTranslate) | Self-hosted machine translation API. No Google/Azure dependency. | +| [speechbrain](https://github.com/speechbrain/speechbrain) | Conversational AI toolkit — speech recognition, speaker verification, TTS. Building block for custom tools. | +| [awesome-language-learning](https://github.com/Vuizur/awesome-language-learning) | Curated list of open-source language learning projects and resources. | + +### Speaking-Focused (most relevant to mic-based learning) + +- **companion** — closest to a full "talk to practice" solution out of the box +- **discute** — purpose-built for speaking practice +- **ai-english-tutor** — English-specific but demonstrates the tutor pattern + +### Infrastructure / Building Blocks + +- **speechbrain** — STT/TTS toolkit if building something custom +- **libretranslate** — self-hosted translation backend +- **linguacafe** — reading/vocab complement to speaking practice + +### Reference + +- **awesome-language-learning** — index of more projects worth exploring + +## Commercial Apps Worth Knowing About + +These can't be cloned but are worth evaluating alongside the open-source options: + +- [ChatGPT Voice Mode](https://chatgpt.com) — free-form conversation in any language (needs Plus sub) +- [Langua](https://langua.io) (~$8-12/mo) — native-speaker-cloned voices, 23 languages, real-time feedback +- [Talkio AI](https://www.talkio.ai) (~$10-15/mo) — 40+ languages, 134 dialects, pronunciation feedback +- [Speak](https://www.speak.com) (~$15-20/mo) — structured curriculum, good for beginners +- [ELSA Speak](https://elsaspeak.com) (~$6-10/mo) — phoneme-level pronunciation analysis (English only) + +## The DIY Stack + +If none of these fit, the common architecture for a custom speaking tutor: + +1. **STT**: [Whisper](https://github.com/openai/whisper) (local or API) +2. **LLM**: [Claude API](https://docs.anthropic.com/en/docs) or [GPT-4o](https://platform.openai.com/docs) with a tutor system prompt +3. **TTS**: [OpenAI TTS API](https://platform.openai.com/docs/guides/text-to-speech), [Coqui TTS](https://github.com/coqui-ai/TTS) (open source), or speechbrain + +## What Linguists Recommend (2025-2026) + +- Massive input first (listening + reading), then speaking practice +- AI conversation daily for low-pressure reps +- Human tutor 1-2x/week for nuance +- Spaced repetition for vocab ([Anki](https://apps.ankiweb.net), etc.) +- Consistency over intensity diff --git a/repos/ai-english-tutor b/repos/ai-english-tutor new file mode 160000 index 0000000..853c77f --- /dev/null +++ b/repos/ai-english-tutor @@ -0,0 +1 @@ +Subproject commit 853c77f01c9cb445920a28a11131237334e5df39 diff --git a/repos/awesome-language-learning b/repos/awesome-language-learning new file mode 160000 index 0000000..e6e9d4b --- /dev/null +++ b/repos/awesome-language-learning @@ -0,0 +1 @@ +Subproject commit e6e9d4b182a3b7b6cdd258caceb969abfc0238ec diff --git a/repos/companion b/repos/companion new file mode 160000 index 0000000..8b94e62 --- /dev/null +++ b/repos/companion @@ -0,0 +1 @@ +Subproject commit 8b94e6278bcba832b45c2184adec4c99a1f790a2 diff --git a/repos/discute b/repos/discute new file mode 160000 index 0000000..d1b363f --- /dev/null +++ b/repos/discute @@ -0,0 +1 @@ +Subproject commit d1b363f2aaef2c74caff69b79bc88f293aed2ff9 diff --git a/repos/librelingo b/repos/librelingo new file mode 160000 index 0000000..6c6e4c6 --- /dev/null +++ b/repos/librelingo @@ -0,0 +1 @@ +Subproject commit 6c6e4c6b46049601147bf23eabf25ef1d53b4454 diff --git a/repos/libretranslate b/repos/libretranslate new file mode 160000 index 0000000..fd60dae --- /dev/null +++ b/repos/libretranslate @@ -0,0 +1 @@ +Subproject commit fd60daead973f10cff0816918dc569e61455e83c diff --git a/repos/linguacafe b/repos/linguacafe new file mode 160000 index 0000000..c1ea298 --- /dev/null +++ b/repos/linguacafe @@ -0,0 +1 @@ +Subproject commit c1ea298ce40c65b9dd33e9b26fd2e52fae66f2c8 diff --git a/repos/speechbrain b/repos/speechbrain new file mode 160000 index 0000000..aca5e41 --- /dev/null +++ b/repos/speechbrain @@ -0,0 +1 @@ +Subproject commit aca5e41a34b3bcbe532640f2d3d0f6de3fd50ebe