Built with MyGo · translation by Index-Translate · speech recognition by SenseVoice, Qwen-ASR and Apple
Watching foreign streams, raw anime or VTuber clips, playing games, or sitting in a meeting? Tomoru listens to what your computer plays, recognizes the speech and shows live bilingual subtitles on your screen.
The video is MyGO!!!!!メンバーの日常「十五夜」; the live bilingual subtitles are Tomoru's.
- Subtitles for anything: videos, streams, games, meetings. Listen to all of your computer's sound, or just one app's (say, a stream in the browser while you play a game). Drag, resize and lock the subtitles so clicks pass through, and hide them from screen recordings.
- On your computer or in the cloud, your call: speech recognition and translation can both run fully offline on your computer, or use cloud services. Pick local, and your audio and text never leave your computer; pick the cloud, and data goes only to the service you chose.
- Translate ahead: no waiting for the speaker to finish. You see the gist of the first half right away, then the full translation once the sentence ends, so you're never stuck waiting on a stream.
- Scenes and glossaries: speech recognition often mishears names and moves as similar words (ニンフィア / Sylveon heard as インフィア, メテオ / Meteor as メデオ), and translators often take names literally (クラウド / Cloud translated as "cloud"). Make a scene for the anime, streamers or games you watch: names stay consistent, misheard originals get fixed too, and with your own chat API, Tomoru can learn new names from your subtitle history.
- Translate text on screen too: unvoiced game dialogue, signs in a video, stream chat. Press
⌥⇧S(Alt+Shift+Son Windows) and select part of the screen, or take a screenshot first and press the shortcut, and the translation shows up. - In English, Simplified and Traditional Chinese, Japanese and Korean, light and dark.
Get the latest version from Releases. The app updates itself after that.
| Platform | Needs |
|---|---|
| macOS | macOS 26 or later, Apple silicon |
| Windows | Windows 11, x64 |
Tomoru isn't notarized by Apple or signed for Windows yet, so the first launch needs one extra step:
- macOS: open Tomoru. When macOS says it can't verify it, open System Settings › Privacy & Security, and click "Open Anyway" next to Tomoru. After that, Tomoru asks only for System Audio Recording, to hear what plays.
- Windows: when SmartScreen warns, click "More info", then "Run anyway".
Or install from a terminal: the script downloads the latest version, checks it, and installs it. On a Mac it goes in /Applications. Either way it opens without the "Open Anyway" or SmartScreen step.
# macOS
curl -fsSL https://github.com/ACAne0320/Tomoru/releases/latest/download/install.sh | sh# Windows (PowerShell)
irm https://github.com/ACAne0320/Tomoru/releases/latest/download/install.ps1 | iex- Tomoru listens to what your computer plays, not your microphone.
- Where your audio and text go depends on the engines you pick: local recognition and local translation stay on your computer. Cloud recognition sends audio to that cloud service.
- The subtitle history is off by default. Turn it on to keep what was heard and translated; the originals and translations stay on your computer, and you can delete them any time.
- Translating text on screen translates only the part you select, and keeps neither the picture nor its translation.
Tomoru is for watching. If you make videos with bilingual subtitles and care about getting them right, try OpenBBQ, another project of mine: give an AI agent a video link or file, and you get bilingual subtitles you can edit (ASS) and the video with them burned in. Names it learns from one creator's videos carry over to their next ones, and you can polish every line in its review view or in Aegisub before you publish.
Needs macOS 26 on Apple silicon, Go 1.27.3 or later and Xcode 26 or its Command Line Tools
(xcode-select --install).
scripts/setup.sh # the engine, local recognition, voice detector and llama-server
cd app
go tool mygo dev # run it; it rebuilds and restarts as you edit
go test ./... # test it
go tool mygo build -sign - # package it into app/build/darwin-arm64/Needs Windows 11 x64, Go 1.27.3 or later and MSYS2 with its MinGW-w64
compiler (pacman -S mingw-w64-x86_64-gcc unzip). Run these in MSYS2's MINGW64 shell:
export PATH="$PATH:/c/Program Files/Go/bin" # MSYS2 doesn't see Go by itself
scripts/setup.sh # the engine, local recognition, voice detector and llama-server
cd app
go tool mygo dev # run it; it rebuilds and restarts as you edit
go test ./... # test it
go tool mygo build # package it into app/build/windows-amd64/The development guide has the checks and tests, and the architecture says where the code lives.
Want to contribute? See CONTRIBUTING. Report security issues as SECURITY says.
| For | Project | By |
|---|---|---|
| Translation (the free 35B cloud API, the on-device 2B / 9B models) | Index-Translate | bilibili's Index team |
| Speech recognition | SenseVoice | Alibaba's Qwen Audio team |
| Speech recognition | Qwen3-ASR | Alibaba's Qwen team |
| Speech recognition on macOS | Apple speech recognition | Apple |
| UI framework | MyGo | EGOIST |
| Running on-device recognition | sherpa-onnx | k2-fsa |
| Running on-device translation and Qwen3-ASR | llama.cpp | ggml-org |
| Voice activity detection | Silero VAD, converted to Core ML by FluidInference | Silero |
| Icons | Lucide | Lucide contributors |
The free cloud translation model is Index-Translate's. If you like it, give it a star on GitHub!
The third-party license inventory has each project's version, license and notices.
Special thanks to LINUX DO and Appinn for supporting open-source software, and to Awesome MyGo for listing Tomoru in its showcase.
The app is named after its mascot, Tomoru (ともる), a girl who carries a paper lantern: 灯る means "to light up". The penguin on her head is Rubi (ルビ), named after the small readings printed over hard words (furigana). They doze in the menu bar while nothing is translated, and wake up when it starts.
I-it's not a nod to MyGO!!!!!'s Tomorin or anything!
The code is licensed under the GNU General Public License v3.0 or later (LICENSE). The name, icons and mascot are not: see TRADEMARKS.


