{"id":49233056,"url":"https://github.com/pawelkawka/fluxtranslator","last_synced_at":"2026-04-24T13:01:09.700Z","repository":{"id":349995329,"uuid":"1202659643","full_name":"Pawelkawka/FluxTranslator","owner":"Pawelkawka","description":"FluxTranslator is a Windows desktop overlay for speech to text translation and Voice TTS","archived":false,"fork":false,"pushed_at":"2026-04-15T12:50:58.000Z","size":8040,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-15T14:29:37.314Z","etag":null,"topics":["ctranslate2","libretranslate","overlay","speech-recognition","speech-to-text","speechtotext","translation"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Pawelkawka.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-06T09:05:38.000Z","updated_at":"2026-04-15T14:23:34.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Pawelkawka/FluxTranslator","commit_stats":null,"previous_names":["pawelkawka/fluxtranslator"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/Pawelkawka/FluxTranslator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pawelkawka%2FFluxTranslator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pawelkawka%2FFluxTranslator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pawelkawka%2FFluxTranslator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pawelkawka%2FFluxTranslator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Pawelkawka","download_url":"https://codeload.github.com/Pawelkawka/FluxTranslator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pawelkawka%2FFluxTranslator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32224413,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T10:26:35.452Z","status":"ssl_error","status_checked_at":"2026-04-24T10:25:27.643Z","response_time":64,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ctranslate2","libretranslate","overlay","speech-recognition","speech-to-text","speechtotext","translation"],"created_at":"2026-04-24T13:00:33.387Z","updated_at":"2026-04-24T13:01:09.690Z","avatar_url":"https://github.com/Pawelkawka.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n   \u003ch1\u003eFluxTranslator\u003c/h1\u003e\n\u003c/div\u003e\n\nFluxTranslator is a Windows desktop overlay for speech to text translation. It listens to your microphone, recognises speech, translates it in real time and displays the result in a compact on screen overlay. Supports Voice TTS, translated audio can be routed to microphone via VBCable so other apps can receive the translated speech as mic input.\n\n\u003cp align=\"center\"\u003e\n   \u003cimg src=\"assets/demo.gif\" alt=\"FluxTranslator\" width=\"900\"\u003e\n\u003c/p\u003e\n\n\u003ctable align=\"center\" width=\"100%\"\u003e\n   \u003ctr\u003e\n      \u003ctd align=\"center\" style=\"width:50%;padding:8px;\"\u003e\n         \u003cimg src=\"assets/GeneralTab.png\" alt=\"General\" style=\"max-width:100%;height:auto;border:1px solid #ddd;\" /\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\" style=\"width:50%;padding:8px;\"\u003e\n         \u003cimg src=\"assets/AppearanceTab.png\" alt=\"Appearance\" style=\"max-width:100%;height:auto;border:1px solid #ddd;\" /\u003e\n      \u003c/td\u003e\n   \u003c/tr\u003e\n   \u003ctr\u003e\n      \u003ctd align=\"center\" style=\"width:50%;padding:8px;\"\u003e\n         \u003cimg src=\"assets/BehaviorTab.png\" alt=\"Behavior tab\" style=\"max-width:100%;height:auto;border:1px solid #ddd;\" /\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\" style=\"width:50%;padding:8px;\"\u003e\n         \u003cimg src=\"assets/HotkeysTab.png\" alt=\"Hotkeys\" style=\"max-width:100%;height:auto;border:1px solid #ddd;\" /\u003e\n      \u003c/td\u003e\n   \u003c/tr\u003e\n   \u003ctr\u003e\n      \u003ctd colspan=\"2\" align=\"center\" style=\"padding:8px;\"\u003e\n         \u003cimg src=\"assets/VoiceTTSTab.png\" alt=\"Voice TTS\" style=\"max-width:720px;width:100%;height:auto;border:1px solid #ddd;\" /\u003e\n      \u003c/td\u003e\n   \u003c/tr\u003e\n\u003c/table\u003e\n\n## Features\n\n- **Speech recognition** using your microphone.\n- **Real-time translation** with two translation modes:\n   - **LibreTranslate**\n   - **CTranslate2**\n- **Overlay UI** that displays translated text on top of other applications.\n- **Customisable appearance** including font, size, colors, opacity, padding, borders, and screen position.\n- **Hotkey support** for starting recognition, copying the last translation, and stopping everything quickly.\n- **Model management** directly from the app.\n- **Voice TTS** When using VBCable to route audio to the microphone. This is useful when you want to speak in your own language and pass the translated voice output into another app or call.\n\n## Installation\n\n### Requirements\n- .NET 8 SDK or later\n- Windows 11 / 10\n- Python 3.14\n- FFmpeg\n- VBCable if you want to feed Voice TTS into a microphone input\n\n### Build from source\n\nBuilding locally ensures the exe has a unique binary signature.\n\n1. Go to the [Releases](https://github.com/PawelKawka/FluxTranslator/releases) or clone this repo.\n2. Download the latest source code.\n3. Open a PowerShell in the repository.\n4. Run script:\n   ```powershell\n   powershell -ExecutionPolicy Bypass -File .\\build.ps1\n   ```\n5. The compiled output lands in the `build\\` folder. Run `FluxTranslator.exe` from there.\n\nYou can customize the output directory:\n```powershell\n-OutputDir \"set path\" \n```\n\n\u003e [!IMPORTANT]\n\u003e For FluxTranslator to work correctly first run `fluxhelper.py` then run `FluxHelper.exe`\n\n## Voice TTS\n\n- To route Voice TTS into a microphone input you need VBCable. See [How to configure Voice TTS with VBCable](ttsGuide.md).\n\n## Translation Engines\n\n### CTranslate2 (Recommended)\n- Uses Helsinki-NLP/opus-mt models converted for CTranslate2\n- Best choice if you want local translation without depending on an external service.\n\n\u003e [!NOTE]\n\u003e Even though CTranslate2 is recommended not every language pair is available. In some cases a specific pair may be missing and the only working option will be LibreTranslate.\n\n### LibreTranslate\n\n- Default endpoint: `http://localhost:5000/translate`\n\n#### LibreTranslate setup with Docker\n\n- If LibreTranslate is not installed yet, the easiest way to run it is with Docker.\n\n1. Download and install Docker Desktop from [docker.com](https://www.docker.com/).\n2. Start Docker Desktop and wait until Docker is running.\n3. Run the command below in terminal. This command will install a LibreTranslate instance with the selected languages in Docker:\n\n```bash\ndocker run -d --name libretranslate -p 5000:5000 -e LT_LOAD_ONLY=LANG,LANG libretranslate/libretranslate\n```\n\n\u003e [!NOTE]\n\u003e Replace `LANG,LANG` with the languages of your choice. \n\u003e Example: `LT_LOAD_ONLY=en,pl,de`\n\n## Supported Languages\n\nFluxTranslator includes support for common source and target languages (ISO 639-1 codes):\n\n| Language | Code |\n|---|---:|\n| English | `en` |\n| Polish | `pl` |\n| German | `de` |\n| Russian | `ru` |\n| French | `fr` |\n| Italian | `it` |\n| Spanish | `es` |\n| Czech | `cs` |\n| Ukrainian | `uk` |\n| Chinese | `zh` |\n| Japanese | `ja` |\n| Korean | `ko` |\n| Portuguese | `pt` |\n| Dutch | `nl` |\n| Swedish | `sv` |\n| Finnish | `fi` |\n| Danish | `da` |\n| Norwegian | `no` |\n| Turkish | `tr` |\n| Arabic | `ar` |\n\n## About\n\n- Developed by Pawel Kawka.\n- Open source and free to use.\n- Voice TTS is implemented using [edge-tts](https://github.com/rany2/edge-tts)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpawelkawka%2Ffluxtranslator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpawelkawka%2Ffluxtranslator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpawelkawka%2Ffluxtranslator/lists"}