How lila507/fumotalk works
SakuFumo is a command-line mixed-text-to-Yukkuri speech tool: users enter Chinese, romanized English, kana, and digits, choose a voice, and receive synthesized WAV audio that can be played. Its distinct stages are tokenization and pronunciation conversion, voice-configured synthesis (including long-text chunking), and WAV output/playback. The README documents capabilities beyond the sampled excerpts; links to those capabilities are shown only where their wiring is supported.
Main entry points: sakufumo.py AquesTalk wrapper · mapping.tsv Pinyin map
Components 14
Text conversion
- Pinyin map
mapping.tsv - Mixed tokenizer
sakufumo.py - Pronunciation conversion
sakufumo.py - Filtered kana
sakufumo.py
Speech synthesis
- Voice presets
sakufumo.py - AquesTalk wrapper
sakufumo.py - Long-text chunking
sakufumo.py - WAV output
sakufumo.py
User and audio
- CLI workflow
sakufumo.py - Audio playback
sakufumo.py
Other components
- User
- pypinyin
- AquesTalk engine
- Playback service
Connections 14
- User → CLI workflow: enters text and voice
- CLI workflow → Pinyin map: loads map
- CLI workflow → Mixed tokenizer: converts input
- Mixed tokenizer → Pronunciation conversion: dispatches tokens
- Pronunciation conversion → Pinyin map: looks up pinyin
- Pronunciation conversion → pypinyin: gets pinyin
- Pronunciation conversion → Filtered kana: filters output
- CLI workflow → AquesTalk wrapper: requests synthesis
- AquesTalk wrapper → Voice presets: selects voice
- AquesTalk wrapper → Long-text chunking: splits long text
- AquesTalk wrapper → AquesTalk engine: calls synthesis
- AquesTalk wrapper → WAV output: writes WAV
- CLI workflow → Audio playback: requests playback
- Audio playback → Playback service: plays WAV