Current language being learnt
Demo text for testing
Pitch (0-2)
Reading rate (0.5-2)
Selected voice name
Available voice options
Whether voices are loading
Auto-set current language from URL parameters.
Handle cancel - reset form and redirect.
Get display name for a voice (with DEFAULT label if applicable).
Initialize the component.
Initialize voice list from speechSynthesis API.
Load saved TTS settings from localStorage.
Handle language selection change.
Play demo text with current settings.
Populate the voice list based on current language.
Save current settings to localStorage.
Alpine.js component for TTS settings management. Replaces the vanilla JS ttsSettings object.