voice-pro

Application

abus-aikorea/voice-pro

Gradio web app for TTS, zero-shot voice cloning, speech recognition and translation.

Overview

Voice-Pro is a Gradio-based multimedia web app that combines zero-shot voice cloning, multilingual TTS, Whisper speech recognition, YouTube downloading, vocal isolation, and translation. It targets creators, podcasters, and developers as a free open-source alternative to commercial AI dubbing tools.

README Preview

\n\n\n\n\nVoice-Pro\n\n\n\n  The best AI speech recognition, translation, and multilingual dubbing solution 🚀\n\n\n\n  \n    \n  \n  \n    \n  \n  \n    \n  \n  \n    \n  \n  \n    \n    \n\n\n\n    \n\n\n\n\n\n## 🎙️ An AI-powered web application for speech recognition, translation, and dubbing\n\n\n  \n  \n     한국어\n   ∙ \n  \n     English\n   ∙ \n  \n     中文简体\n   ∙ \n  \n     中文繁體\n   ∙ \n  \n     日本語\n   ∙ \n  \n     Deutsch\n   ∙ \n  \n     Español\n   ∙ \n  \n     Português\n  \n\n\nVoice-Pro is a state-of-the-art web app that transforms multimedia content creation. It integrates YouTube video downloading, voice separation, speech recognition, translation, and text-to-speech into a single, powerful tool for creators, researchers, and multilingual professionals.\n- 🔊 Top-tier speech recognition: **Whisper**, **Faster-Whisper**, **Whisper-Timestamped**\n- 🎤 Zero-shot voice cloning: **F5-TTS**, **E2-TTS**, **CosyVoice** (incl. **Fun-CosyVoice3** — Korean and 8 more languages)\n- 📢 Multilingual text-to-speech: **Edge-TTS**, **kokoro** (optional **Azure TTS** with your own keys — see [Azure services](#-azure-services-optional-env))\n- 🎥 YouTube processing & audio extraction: **yt-dlp**\n- 🌍 Instant translation for 100+ languages: **Deep-Translator** (optional **Azure Translator** with your own keys)\n\n\nA robust alternative to **ElevenLabs**, Voice-Pro empowers podcasters, developers, and creators with advanced voice solutions.\n\n## ⚠️ Please Note\n- Due to [WeConnect](https://www.wctokyoseoul.com) development work, Voice-Pro development and updates are not possible for the time being.\n- We have made all Voice-Pro code open source and completely free. Voice-Pro can now be freely distributed and modified by anyone.\n- It works well on Windows with NVIDIA GPU. Operation on Mac and Linux has not been verified.\n- Please leave your requests on the [](https://github.com/abus-aikorea/voice-pro/issues)  or  [](https://github.com/abus-aikorea/voice-pro/discussion

FAQ (4)

Troubleshooting
How do I fix "'charmap' codec can't decode byte 0x8f" when processing Vietnamese subtitles or TTS?

Upgrade the application to v1.7.1 or newer. This release fixes a string-encoding bug that caused the charmap decode error with Vietnamese text. After updating, retry the same TTS/subtitle action. If the error remains, report it with the subtitle file and the screen/action that triggered it.

GitHub Issue #35
Troubleshooting
How do I add or clone my own voice in the F5 TTS-Single Speaker list in Voice-Pro?

Upgrade to Voice-Pro v3.x or newer, where built-in own-voice cloning is available. After updating, open TTS > F5 TTS-Single and use the voice-cloning option to add your voice. On older versions, you can manually add a speaker entry in model/f5-tts/voice_15s.json5, but the file is re-downloaded on application startup, so manual changes may be overwritten; upgrading to v3.x is the recommended fix.

GitHub Issue #20
Troubleshooting
What happens when Voice-Pro reaches the 30-minute limit, and how can I continue?

In the Voice-Pro trial, the WebUI's Action button becomes unavailable after 30 minutes, but the running task is not stopped and results are saved in the workspace folder. To continue using the UI, close the Windows command prompt window and run start.bat again. This restarts the session; it does not necessarily grant a commercial license, so review Voice-Pro's current terms before use.

GitHub Issue #17
Troubleshooting
How to fix Voice Pro error "Argument 'input_path' has incorrect type (expected str, got NoneType)" when clicking Transcribe?

After uploading a file, click Submit and wait for the upload/processing to complete before clicking Transcribe. If the error remains, verify the selected media language, change the Whisper model to medium or large, and switch the Whisper engine from faster-whisper to whisper or whisper-timestamped, then retry. These same settings can be tested with YouTube links or external files.

GitHub Issue #22