{"slug": "verba-learn-a-language-by-talking-to-an-ai-never-touches-the-internet", "title": "Verba: Learn a language by talking to an AI never touches the internet", "summary": "Verba, an open-source language-learning app, lets users practice eight languages through conversations with an AI that runs entirely offline on their machine, with no account or server required. The app, available for macOS, Windows, and Linux, integrates with local providers like Ollama and offers features such as inline corrections, graded reading, and spaced-repetition vocabulary decks.", "body_md": "**Learn a language by talking to an AI that never gets bored, never judges,\nand — if you want — never touches the internet.**\n\nFull conversations with inline corrections, AI-generated graded reading, automatic vocabulary capture, and a voice on both ends. Runs entirely on your machine.\n\n[▶︎ Click to play — one session end to end: talk, get corrected, hear the reply.](https://youtu.be/5JQC3_omELw)\n\n**A session is a plan, not a menu.** One theme threads today's conversation,\nreading, role-play, and the words that are due.\n\n**The coach speaks first and keeps the turn moving.** Suggestions are there for the\nmoment you stall — not to answer for you.\n\n**Voice and dictation, no setup.** A 21 MB voice running inside the app: no key, no\nserver, nothing on the network.\n\n**Offline, genuinely.** Point it at[Ollama](https://ollama.com)and the whole app — chat, reading, speech, dictation — works on a plane. No account, ever.**Your provider, your key.** Ollama, LM Studio, OpenAI, Anthropic, Gemini, OpenRouter. Swap in Settings; nothing is locked in.**It talks back.** Speak, get transcribed, get answered out loud. The bundled models download on demand and run in-process.**It remembers.** Words you stumble on become a spaced-repetition deck, and the deck feeds tomorrow's session.**Your data stays put — and it's yours to move.** Everything lives in a local SQLite file. There is no server to sign up to, because there is no server. Export it to one file whenever you like, or point Verba at a folder your own sync service watches (iCloud Drive, Google Drive, Syncthing, a USB stick) and pick up on another machine — same words, same history, nothing to set up again.**Eight languages, and adding one is a folder.** English, Spanish, French, German, Japanese, Turkish, Italian, Portuguese — see[CONTRIBUTING.md](/nuvocode/verba/blob/master/CONTRIBUTING.md).\n\n| Platform | ||\n|---|---|---|\nmacOS — Apple Silicon (M1–M4) |\n`.dmg` |\n\n**macOS**— Intel`.dmg`\n\n**Windows**`.exe`\n\n`.msi`\n\n**Linux**`.AppImage`\n\n[·](https://github.com/nuvocode/verba/releases/download/v0.4.0/Verba_0.4.0_amd64.deb)`.deb`\n\n`.rpm`\n\nOn a Mac, take **aarch64** for Apple Silicon and **x64** only for an Intel Mac — the\nwrong one either refuses to start or crawls under Rosetta.\n\n**The build is unsigned — here's how to open it anyway**\n\nVerba has no Apple Developer certificate and no Windows code-signing certificate, and we would rather ship the build than gate it behind either. So both operating systems will refuse to open it on the first try.\n\n**macOS** says *\"Apple could not verify 'Verba' is free of malware\"* and offers you\n**Move to Trash**. That is not a detection — nothing was scanned and nothing was\nfound. It is what macOS says about *any* app that hasn't been through Apple's\nnotarisation service. Drag Verba to `/Applications`\n\n, then:\n\n```\nxattr -dr com.apple.quarantine /Applications/Verba.app\n```\n\nWithout a terminal: try to open it once, then **System Settings → Privacy & Security**\n→ scroll down → **Open Anyway**. (On macOS 15+ the old right-click → *Open* trick no\nlonger works.)\n\n**Windows** SmartScreen shows *\"Windows protected your PC\"* → **More info** → **Run\nanyway**.\n\nBuilding it yourself sidesteps both, and is the honest option if the above makes you uncomfortable. None of this is unique to Verba — it's the toll every unsigned open-source desktop app pays.\n\n-\nPick a\n\n**language pack** and a**provider** in Settings.`Test connection`\n\nlists your installed Ollama models. -\nOptional —\n\n**Settings → Speech → Bundled models** downloads a voice and a transcriber that run inside the app:Model Size Speed Voice **Piper**— one voice per language~21 MB ~7× real time Voice **Kokoro**— 53 voices, six languages349 MB ~2× real time Dictation **Whisper** base / small208 / 639 MB faster than real time Piper is the default a pack recommends — a fiftieth of the download and several times quicker, which for a conversation turn matters more than the last few percent of naturalness.\n\n-\nHit 🎤 in Talk and say something.\n\nAlready run your own speech server, or prefer a cloud voice? Any OpenAI-compatible\nserver works (Kokoro-FastAPI, speaches, LocalAI, vLLM), as do ElevenLabs and Deepgram\nkeys. Verba walks **bundled → local server → cloud key → OS voice** and always tells\nyou which tier is actually speaking.\n\nPlatform honesty:all four targets are packaged from the same source by CI, but the bundled speech engine has only everrunon macOS arm64. If you are the first to run it on Windows or Linux and no voice comes out, that's a bug worth reporting — not you doing it wrong.\n\nNeeds Node and Rust; for offline, [Ollama](https://ollama.com) running.\n\n```\nnpm install\nnpm run tauri dev      # develop\nnpm run tauri build    # package\n```\n\n— the design, the speech ladder, the trade-offs we took and what they cost.[What's inside](/nuvocode/verba/blob/master/docs/architecture.md)— especially language packs. Adding a language is a folder and one import line.[Contributing](/nuvocode/verba/blob/master/CONTRIBUTING.md)**License:**[MIT](/nuvocode/verba/blob/master/LICENSE). Fork it, bundle it, ship it inside your own tool.", "url": "https://wpnews.pro/news/verba-learn-a-language-by-talking-to-an-ai-never-touches-the-internet", "canonical_source": "https://github.com/nuvocode/verba", "published_at": "2026-09-01 10:41:34+00:00", "updated_at": "2026-09-01 10:52:16.889559+00:00", "lang": "en", "topics": ["artificial-intelligence", "ai-products", "ai-tools", "natural-language-processing"], "entities": ["Verba", "Ollama", "LM Studio", "OpenAI", "Anthropic", "Gemini", "OpenRouter", "Piper"], "alternates": {"html": "https://wpnews.pro/news/verba-learn-a-language-by-talking-to-an-ai-never-touches-the-internet", "markdown": "https://wpnews.pro/news/verba-learn-a-language-by-talking-to-an-ai-never-touches-the-internet.md", "text": "https://wpnews.pro/news/verba-learn-a-language-by-talking-to-an-ai-never-touches-the-internet.txt", "jsonld": "https://wpnews.pro/news/verba-learn-a-language-by-talking-to-an-ai-never-touches-the-internet.jsonld"}}