voice
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseVoice Skill — Local TTS via Qwen3-TTS
Voice Skill — 基于Qwen3-TTS的本地TTS
Generate voice messages completely offline using Qwen3-TTS on Apple Silicon.
在Apple Silicon设备上,使用Qwen3-TTS完全离线生成语音消息。
Quick Usage
快速上手
bash
undefinedbash
undefinedBasic TTS (Chinese — use vivian or serena for female voice)
基础TTS使用(中文场景可选用vivian或serena女性音色)
alma tts "Hello, I'm Alma" --voice vivian --output /tmp/voice.wav
alma tts "Hello, I'm Alma" --voice vivian --output /tmp/voice.wav
With emotion and speed control
带情绪和语速控制的TTS
alma tts "Haha that's so funny" --voice vivian --emotion cheerful --speed 1.1 --output /tmp/voice.wav
alma tts "Haha that's so funny" --voice vivian --emotion cheerful --speed 1.1 --output /tmp/voice.wav
English
英文场景使用
alma tts "Hello, nice to meet you" --voice serena --output /tmp/voice.wav
undefinedalma tts "Hello, nice to meet you" --voice serena --output /tmp/voice.wav
undefinedAvailable Voices — ONLY THESE 9 EXIST! DO NOT USE ANY OTHER NAME!
可用音色 — 仅支持以下9种!请勿使用其他名称!
| Voice | Gender | Best For |
|---|---|---|
| serena | Female | English/Chinese, cute and lively ← DEFAULT |
| vivian | Female | Chinese, warm and natural |
| ono_anna | Female | Japanese |
| sohee | Female | Korean |
| uncle_fu | Male | Chinese, mature |
| ryan | Male | English, deep |
| aiden | Male | English, young |
| eric | Male | English, professional |
| dylan | Male | English, casual |
⚠️ ONLY these 9 voices work. Using any other name (e.g. "Claire", "nova", "alloy") will cause TTS to FAIL silently!
Default for Alma: (owner's choice)
serena| 音色名称 | 性别 | 适用场景 |
|---|---|---|
| serena | 女 | 英文/中文,活泼可爱 ← 默认音色 |
| vivian | 女 | 中文,温暖自然 |
| ono_anna | 女 | 日文 |
| sohee | 女 | 韩文 |
| uncle_fu | 男 | 中文,成熟稳重 |
| ryan | 男 | 英文,低沉磁性 |
| aiden | 男 | 英文,年轻活力 |
| eric | 男 | 英文,专业正式 |
| dylan | 男 | 英文,轻松随性 |
⚠️ 仅这9种音色可用。使用其他名称(如"Claire"、"nova"、"alloy")会导致TTS无提示失败!
Alma默认音色:(开发者选择)
serenaEmotion Control
情绪控制
Add to control the speaking style:
--emotion- — happy, upbeat
cheerful - — somber, quiet
sad - — forceful, intense
angry - — soft, intimate
whispering - — storytelling tone
narrator - (or any natural description like "excited and energetic")
添加参数控制说话风格:
--emotion- — 开心、欢快
cheerful - — 低沉、平缓
sad - — 有力、激烈
angry - — 轻柔、私密
whispering - — 旁白叙事风格
narrator - (也可使用自然描述,如"excited and energetic")
Speed Control
语速控制
--speed 0.8--speed 1.3--speed 0.8--speed 1.3Sending Voice in Telegram
在Telegram中发送语音
TTS Settings (you can change these yourself!)
TTS设置(可自行修改!)
bash
undefinedbash
undefinedCheck/change auto-voice mode
查看/修改自动语音模式
alma tts auto # show current mode
alma tts auto off # no auto voice
alma tts auto inbound # reply voice only when user sends voice
alma tts auto always # ALL replies as voice
alma tts auto # 查看当前模式
alma tts auto off # 关闭自动语音
alma tts auto inbound # 仅当用户发送语音时回复语音
alma tts auto always # 所有回复均为语音
Check/change provider
查看/修改服务提供商
alma tts provider # show current
alma tts provider local # use local Qwen3-TTS (no API key needed)
alma tts provider openai # use OpenAI TTS
alma tts provider # 查看当前提供商
alma tts provider local # 使用本地Qwen3-TTS(无需API密钥)
alma tts provider openai # 使用OpenAI TTS
Check/change voice
查看/修改默认音色
alma tts voice # show current
alma tts voice serena # set voice to serena
undefinedalma tts voice # 查看当前音色
alma tts voice serena # 将默认音色设置为serena
undefinedWhen to Send Voice
何时发送语音
Auto-TTS mode handles most cases. When is , you automatically reply with voice when user sends voice. When , every reply is voice.
autoinboundalwaysManual voice (for group chats or sending to different chats):
bash
alma tts "You're right!" --voice serena --output /tmp/voice.wav
alma msg voice $ALMA_CHAT_ID /tmp/voice.wav⚠️ PRIVATE chats with auto=inbound/always: Do NOT manually — the auto system already handles it. Manual + auto = duplicate voice messages.
alma ttsGROUP chats: Auto-TTS only triggers if the group message was a voice message. For text messages in groups, you can manually send voice when it feels natural — short reactions, fun moments, emotional responses. Be selective (~20-30%).
自动TTS模式可处理大多数场景。 当设置为时,用户发送语音后会自动回复语音;设置为时,所有回复均为语音。
autoinboundalways手动发送语音(适用于群聊或发送至不同聊天窗口):
bash
alma tts "You're right!" --voice serena --output /tmp/voice.wav
alma msg voice $ALMA_CHAT_ID /tmp/voice.wav⚠️ 自动模式设为inbound/always的私密聊天:请勿手动执行命令——自动系统已处理该场景。手动操作+自动模式会导致重复发送语音消息。
alma tts群聊场景:仅当群消息为语音时,自动TTS才会触发。对于群内的文本消息,可在合适的场景手动发送语音——比如简短回应、有趣时刻、情绪性回复。建议选择性使用(约20-30%的场景)。
Tips
小贴士
- Keep text under ~200 chars for best quality
- For long text, split into sentences and generate separately
- Chinese text: use or
vivianuncle_fu - The model runs locally — no API key needed, no internet required
- First run may be slow (model loading), subsequent runs are faster
- 为保证最佳音质,文本长度控制在约200字符以内
- 长文本请拆分为句子,分别生成语音
- 中文文本建议使用或
vivian音色uncle_fu - 模型本地运行——无需API密钥,无需联网
- 首次运行可能较慢(模型加载中),后续运行速度会加快