How nethusara003/vocalist works
Vocalis is a local text-to-speech application: users edit or import text, choose a local voice and speech settings, generate audio, preview it, and download WAV/MP3 or batch ZIP outputs. The main path runs from the editor through the local HTTP backend, paragraph- and sentence-aware chunking, platform-selected speech workers, and audio merging/conversion to local files. The README documents additional editor, recovery, and desktop capabilities not fully visible in the sampled frontend excerpt; their detailed wiring is therefore omitted.
Main entry points: server.js HTTP API · output Generated files · tts_worker.py macOS worker · audioMerger.js Audio merger
Components 17
Text editor
- Editor and controls
script.js - Batch workspace
script.js - Audio preview
script.js
Local backend
- HTTP API
server/server.js - Text chunker
server/utils/textChunker.js - Audio merger
server/utils/audioMerger.js - ZIP export
server/server.js
Speech runtime
- TTS manager
server/services/ttsService.js - macOS worker
server/tts_worker.py - Windows worker
server/windows_tts_worker.ps1
Audio artifacts
- Generated files
output
Other components
- User
- Desktop shell
electron/main.js - Kokoro MLX
- macOS say
- Windows SAPI
- FFmpeg
Connections 22
- User → Editor and controls: edits text
- User → Batch workspace: selects documents
- Editor and controls → HTTP API: HTTP requests
- Batch workspace → HTTP API: HTTP requests
- HTTP API → Text chunker: chunks text
- HTTP API → TTS manager: requests speech
- TTS manager → macOS worker: starts and queues
- TTS manager → Windows worker: starts on Windows
- macOS worker → Kokoro MLX: synthesizes with
- macOS worker → macOS say: falls back to
- Windows worker → Windows SAPI: synthesizes with
- HTTP API → Audio merger: merges and converts
- Audio merger → FFmpeg: runs conversion
- macOS worker → Generated files: writes WAV chunks
- Windows worker → Generated files: writes WAV chunks
- Audio merger → Generated files: writes final audio
- HTTP API → Generated files: serves and reads
- Audio preview → HTTP API: loads audio
- HTTP API → ZIP export: dispatches export
- ZIP export → Generated files: reads batch files
- Desktop shell → HTTP API: starts and stops
- Desktop shell → Editor and controls: loads interface