Generate high-quality speech from text with Microsoft Edge's neural voices. For Free!
A GUI desktop text-to-speech app built with Flet and edge-tts for generating Microsoft Edge neural voices as MP3 files.
EdgeVoice gives you a clean GUI for:
- selecting a language, gender, and voice
- previewing voices before generating audio
- tuning rate, volume, and pitch
- generating a single MP3 with optional subtitles
- batch-generating multiple MP3 files from a text list
- saving your preferred theme and voice settings between sessions
- Paste text or load it from a
.txtfile - Choose an output
.mp3path - Optionally generate a matching
.srtsubtitle file - Generate and immediately play the result in-app
- Add rows manually
- Import a text file with one entry per line
- Edit or delete individual rows before generation
- Retry only failed rows
- Generate all pending rows into a selected output folder
- Stop an ongoing bulk generation and keep unfinished rows queued
- Track progress, completed item count, and estimated remaining time
- Filter by locale/language and gender
- Preview the selected voice before committing to a full export
- Persist theme, voice, and prosody settings in
config.json - Light and dark mode toggle
Make sure you have:
- Python 3.11 or newer
- internet access (for fetching the voice list and generating audio)
- Clone the repository.
- Install dependencies
pip install -r requirements.txt.
flet run main.pyor
python main.pyBuild the packaged desktop application from the repository root after installing the dependencies.
The PyInstaller spec includes icon.ico both as the executable icon and as a runtime file so Flet can use it for the window and taskbar icon.
Run the Build EdgeVoice (PyInstaller) task from the Command Palette. The packaged application will be created at dist\EdgeVoice\EdgeVoice.exe.
& .\.venv\Scripts\pyinstaller.exe --noconfirm EdgeVoice.specThe dist\EdgeVoice folder contains the executable and its runtime files. Run dist\EdgeVoice\EdgeVoice.exe to launch the packaged app.
- Launch the app.
- Wait for the voice list to finish loading.
- Choose a language, gender, and voice.
- Adjust Rate, Volume, and Pitch if needed.
- Enter text manually or load a
.txtfile. - Choose an output
.mp3path. - Optionally enable subtitle export.
- Click Generate & Play or Save to File.
- Open the Bulk tab.
- Add rows manually or import a
.txtfile. - Choose an output folder.
- Optionally enable subtitle export.
- Click Bulk Generate.
- Monitor the progress bar, completed count, and ETA, or click Stop to cancel.
Issues, fixes, and polish improvements are welcome.
If you plan to contribute:
- Fork the repository
- Create a feature branch
- Make your changes
- Test the app locally
- Open a pull request with a clear description

