voice

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Voice 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
undefined
bash
undefined

Basic 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
undefined
alma tts "Hello, nice to meet you" --voice serena --output /tmp/voice.wav
undefined

Available Voices — ONLY THESE 9 EXIST! DO NOT USE ANY OTHER NAME!

可用音色 — 仅支持以下9种!请勿使用其他名称!

VoiceGenderBest For
serenaFemaleEnglish/Chinese, cute and lively ← DEFAULT
vivianFemaleChinese, warm and natural
ono_annaFemaleJapanese
soheeFemaleKorean
uncle_fuMaleChinese, mature
ryanMaleEnglish, deep
aidenMaleEnglish, young
ericMaleEnglish, professional
dylanMaleEnglish, casual
⚠️ ONLY these 9 voices work. Using any other name (e.g. "Claire", "nova", "alloy") will cause TTS to FAIL silently!
Default for Alma:
serena
(owner's choice)
音色名称性别适用场景
serena英文/中文,活泼可爱 ← 默认音色
vivian中文,温暖自然
ono_anna日文
sohee韩文
uncle_fu中文,成熟稳重
ryan英文,低沉磁性
aiden英文,年轻活力
eric英文,专业正式
dylan英文,轻松随性
⚠️ 仅这9种音色可用。使用其他名称(如"Claire"、"nova"、"alloy")会导致TTS无提示失败!
Alma默认音色:
serena
(开发者选择)

Emotion Control

情绪控制

Add
--emotion
to control the speaking style:
  • cheerful
    — happy, upbeat
  • sad
    — somber, quiet
  • angry
    — forceful, intense
  • whispering
    — soft, intimate
  • narrator
    — storytelling tone
  • (or any natural description like "excited and energetic")
添加
--emotion
参数控制说话风格:
  • cheerful
    — 开心、欢快
  • sad
    — 低沉、平缓
  • angry
    — 有力、激烈
  • whispering
    — 轻柔、私密
  • narrator
    — 旁白叙事风格
  • (也可使用自然描述,如"excited and energetic")

Speed Control

语速控制

--speed 0.8
(slower) to
--speed 1.3
(faster). Default: 1.0
--speed 0.8
(语速减慢)至
--speed 1.3
(语速加快)。默认值:1.0

Sending Voice in Telegram

在Telegram中发送语音

TTS Settings (you can change these yourself!)

TTS设置(可自行修改!)

bash
undefined
bash
undefined

Check/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
undefined
alma tts voice # 查看当前音色 alma tts voice serena # 将默认音色设置为serena
undefined

When to Send Voice

何时发送语音

Auto-TTS mode handles most cases. When
auto
is
inbound
, you automatically reply with voice when user sends voice. When
always
, every reply is voice.
Manual 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
alma tts
— the auto system already handles it. Manual + auto = duplicate voice messages.
GROUP 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模式可处理大多数场景。
auto
设置为
inbound
时,用户发送语音后会自动回复语音;设置为
always
时,所有回复均为语音。
手动发送语音(适用于群聊或发送至不同聊天窗口):
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
    vivian
    or
    uncle_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密钥,无需联网
  • 首次运行可能较慢(模型加载中),后续运行速度会加快