PyRadio Text-to-Speech Support

Overview Top

PyRadio features comprehensive Text-to-Speech (TTS) support, providing intelligent auditory feedback for an enhanced radio streaming experience. This advanced system delivers contextual information with priority-based management, supporting multiple platforms and extensive configuration options.

Table of Contents Top

[ Return to main doc ]

Features Top

The TTS system provides spoken feedback for:

Activation Top

Permanent Activation

Enable TTS permanently through the configuration menu: Config → TTS → Enable TTS

This setting is saved in your configuration file and persists across sessions.

Temporary Activation

Toggle TTS during runtime by pressing \T (backslash + T). This setting is session-only and resets when restarting PyRadio.

Platform Implementation Top

Linux

Utilizes speech-dispatcher configured for English language by default. Provides robust, interruptible speech synthesis with priority-based queue management.

Windows

Leverages Windows SAPI (Speech API) with automatic selection of English voices when available. Features immediate speech interruption and consistent volume control.

macOS

Employs the native say command using the system’s default voice. Most macOS voices support multiple languages natively, handling mixed-language content seamlessly.

Speech Control Top

Speech Context

Control how much speech feedback you receive:

Speech Priorities

The system intelligently manages speech priorities:

Language Support Top

Voice Characteristics

TTS voices generally fall into two categories:

Monolingual Voices (typical on Linux/Windows):

Multilingual Voices (common on macOS):

Platform-Specific Strategy

Technical Features Top

Smart Queue Management

Intelligent Behavior

Usage Guidelines Top

For English-Dominant Users

For Multi-Language Content

Configuration Options Top

Basic Settings

Setting Values Default Description
enable_tts True/False False Master switch for TTS functionality
tts_context limited/window/all all Controls how much information is spoken
tts_volume 0-100 50 Speech volume (Linux/Windows only)
tts_rate -100 to 100 0 Speech speed (negative=slower, positive=faster)
tts_pitch -100 to 100 0 Voice pitch adjustment
tts_verbosity default/punctuation default Controls how punctuation is spoken

Speech Characteristics

Current Status & Roadmap Top

Current Implementation

The TTS support in PyRadio is continuously evolving. Currently, TTS is available for:

Configuration Window Behavior

To assist users in configuring the program, special rules apply when using the Configuration windows:

  1. Full TTS Access: When navigating through the Configuration menus and windows (including all sub-windows), the TTS system operates at its fullest capacity, temporarily overriding the tts_context setting to provide complete auditory feedback about all interface elements.

  2. Voice Sample: While in the main TTS configuration screen, pressing T (uppercase) will speak a voice sample using the current TTS settings, allowing you to preview how your configuration sounds.

  3. Detailed Help: In all configuration windows (currently implemented in the “Keyboard Shortcuts” window), pressing t (lowercase) provides additional spoken information about the current setting being configured.

This special behavior ensures that all users can effectively configure the program to their preferences, regardless of their current TTS context settings.

Planned Enhancements for Future Versions

Note: The TTS system is designed to be unobtrusive yet informative. If you encounter issues with speech feedback or have suggestions for improvement, please report them via the PyRadio issue tracker.