On-Top TTS is a lightweight, open-source text-to-speech utility designed to stay overlaid on your screen. It allows you to quickly type and broadcast speech without minimizing your full-screen applications or games.
It is specifically designed for users who want to send TTS audio directly into voice chats (Discord, Zoom, In-Game Voice) using a virtual audio cable.
- Always on Top: The window floats over all other applications, including full-screen games.
- Quick Speak: Trigger speech by pressing Enter or clicking the Speak button.
- Voice Selection: Automatically detects and lists all installed Windows voice packages.
- Streamlined Input: Text box automatically clears new lines on submission for rapid communication.
- Low Latency: Uses the native Windows TTS engine for offline, fast performance.
To use this application as a "Microphone" (e.g., to have the TTS speak into Discord or a Game), you must use a Virtual Audio Cable.
- Download & Install: Get a virtual cable driver (e.g., VB-Audio Virtual Cable).
- Set Windows Output:
- Go to Windows Sound Settings.
- Set your Output Device (Speakers) to CABLE Input.
- Note: You will stop hearing sound on your speakers temporarily.
- Set Application Input:
- Go to your target app (e.g., Discord > Voice & Video).
- Set the Input Device (Microphone) to CABLE Output.
- Hear it Yourself (Optional):
- Open Windows Sound Control Panel -> Recording Tab.
- Right-click CABLE Output -> Properties -> Listen Tab.
- Check "Listen to this device" and select your real speakers/headphones.
- Python 3.x
pyttsx3library
There are two ways to use this program.
This is the easiest way to get started. It requires no installation or technical knowledge.
- Go to the Releases section.
- Download the
on_top_tts.exefile. - Run the file.
Use this method if you want to run the Python script directly or modify the code.
- Clone the repository or download the script.
- Install the required dependencies:
pip install pyttsx3 *Note: If you encounter errors on Windows, you may also need `pip install pypiwin32`.* - Run the script:
python always_on_top_tts.py
- Select Voice: Use the dropdown menu to select your desired voice (e.g., Microsoft David, Zira, or localized voices).
- Type: Enter your message in the text box.
- Speak: Press Enter or click Speak.
If you do not see a specific language in the dropdown:
- Go to Windows Settings > Time & Language > Speech.
- Under Manage voices, click Add voices.
- Search for the language (e.g., "Filipino") and install it.
- Restart On-Top TTS.