ai-say
Original:🇺🇸 English
Translated
2 scripts
Local text-to-speech on Ubuntu using Kokoro TTS with fallbacks. Use when the user asks to speak text out loud, test audio output, switch Kokoro voices, or debug TTS playback issues. Triggers on "say this", "read aloud", "speak", "TTS", "voice test".
2installs
Sourceema93sh/ai-voice-stack
Added on
NPX Install
npx skill4agent add ema93sh/ai-voice-stack ai-sayTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →AI Say
Local text-to-speech via . Kokoro-first with flite and
speech-dispatcher fallbacks. Requires the voice stack to be installed first.
~/.local/bin/ai-sayPrerequisites
The voice stack must be installed before using this skill:
bash
git clone https://github.com/Ema93sh/ai-voice-stack.git
cd ai-voice-stack
scripts/voice-up-setup.sh --with-system-depsThis installs to and sets up Kokoro TTS.
ai-say~/.local/bin/Usage
Speak text:
bash
~/.local/bin/ai-say "Hello world"Pipe text:
bash
echo "Read this aloud" | ~/.local/bin/ai-sayTemporary voice override:
bash
AI_KOKORO_VOICE=am_michael ~/.local/bin/ai-say "Different voice"Available Voices
English (American)
Female: , , , (default), ,
, , , , ,
af_alloyaf_aoedeaf_bellaaf_heartaf_jessicaaf_koreaf_nicoleaf_novaaf_riveraf_sarahaf_skyMale: , , , , ,
, , ,
am_adamam_echoam_ericam_fenriram_liamam_michaelam_onyxam_puckam_santaEnglish (British)
Female: , , ,
bf_alicebf_emmabf_isabellabf_lilyMale: , , ,
bm_danielbm_fablebm_georgebm_lewisOther Languages
Spanish (, ), French (), Hindi (,
, , ), Italian (, ),
Japanese (, , , , ),
Portuguese (, ), Chinese (, ,
, , , , , )
ef_doraem_alexff_siwishf_alphahf_betahm_omegahm_psiif_saraim_nicolajf_alphajf_gongitsunejf_nezumijf_tebukurojm_kumopf_dorapm_alexzf_xiaobeizf_xiaonizf_xiaoxiaozf_xiaoyizm_yunjianzm_yunxizm_yunxiazm_yunyangPersistent Voice Change
Edit :
~/.config/ai-audio.envbash
export AI_KOKORO_VOICE="${AI_KOKORO_VOICE:-af_bella}"Volume / Gain
If speech is too quiet:
bash
export AI_KOKORO_GAIN_DB=18
~/.local/bin/ai-say "Volume test"Diagnostics
Check stack health:
bash
~/.local/bin/voice-statusCheck audio devices:
bash
pactl list short sinks
pactl list short sources
cat ~/.config/ai-audio.envTest direct tone on a specific sink:
bash
ffmpeg -hide_banner -loglevel error -f lavfi -i 'sine=frequency=880:duration=3' -f wav - | paplay --device='<sink-name>'Subcommands
Install
Run the full voice stack installer. Finds the repo automatically or clones it:
bash
bash scripts/install.sh --with-system-depsDoctor
Check installation health — reports PASS/FAIL for every component:
bash
bash scripts/doctor.shNotes
- is Kokoro-first, with flite and spd-say fallback paths.
ai-say - Text is truncated at 1600 chars and chunked at 320 chars for reliable playback.
- Keep messages respectful and follow user intent exactly for spoken content.