How cypher-monarch/chrona works
Chrona is an offline desktop document-to-speech and MP3 application. The main workflow is to choose a TXT, DOCX, or PDF file, extract its text, then speak it, save an MP3, or do both. Voice selection and speed controls are present in the UI; the sampled synthesis code does not show speed or volume being passed to Piper. The README also documents volume controls, which are not evident in the sampled UI source. The graph includes voice discovery, audio playback/export, and the update check; unsampled capability wiring is omitted.
Main entry points: main_window.py Conversion UI and controls · exporters.py MP3 export · updates.py Update checker · engine.py Speech synthesis
Components 16
Desktop interface
- Application entry
src/chrona.py - Conversion UI and controls
src/ui/main_window.py
Document and audio
- Document reader
src/documents/reader.py - Piper discovery
src/audio/piper.py - Speech synthesis
src/audio/engine.py - MP3 export
src/audio/exporters.py - WAV to MP3 conversion
src/audio/exporters.py
System integrations
- Update checker
src/updates.py - App configuration
src/constants.py
Other components
- User
- Selected document
- Installed voice models
- Chrona MP3 folder
- Piper executable
- Qt audio playback
- Version endpoint
Connections 18
- User → Application entry: launches
- Application entry → Conversion UI and controls: creates
- User → Conversion UI and controls: chooses file
- Selected document → Conversion UI and controls: selected input
- Conversion UI and controls → Document reader: reads document
- Conversion UI and controls → Piper discovery: discovers voices
- Piper discovery → Installed voice models: scans models
- Conversion UI and controls → Speech synthesis: renders speech
- Speech synthesis → Piper executable: invokes
- Conversion UI and controls → Qt audio playback: plays WAV
- Conversion UI and controls → MP3 export: requests MP3
- MP3 export → Speech synthesis: renders WAV
- MP3 export → WAV to MP3 conversion: converts WAV
- MP3 export → Chrona MP3 folder: writes MP3
- Conversion UI and controls → Update checker: checks versions
- Update checker → Version endpoint: requests version
- Update checker → App configuration: reads settings
- MP3 export → App configuration: reads folder