名称: callmac
描述: 通过 Telegram/WhatsApp 等消息应用,使用 /callmac 或 /voice 命令从移动设备远程控制 Mac 的语音功能。支持广播公告、播放闹钟、讲故事、叫醒服务等场景。采用 edge-tts 技术,支持中英文混合语音合成、本地播放、循环播放和音量控制。
从移动设备远程控制您的 Mac 进行语音播报。支持广播公告、播放闹钟、讲故事、叫孩子起床等多种场景,全部通过 Telegram 或 WhatsApp 等消息应用触发。采用 edge-tts 技术,支持中英文混合语音合成。
快速上手生成并播放中英文混合的 TTS 音频。
# 生成并播放一条简单的公告
python3 scripts/generate_tts.py --text "Hello world" --play
# 生成中英文混合内容
python3 scripts/generate_tts.py --text "Hello 你好" --play
# 保存到文件
python3 scripts/generate_tts.py --text "您的消息" --output announcement.mp3
Edge TTS 提供高质量的神经语音:
- 英语(美式): en-US-JennyNeural(友好),en-US-AriaNeural(自信)
- 中文(普通话): zh-CN-XiaoxiaoNeural(温暖),zh-CN-XiaoyiNeural(活泼)
- 其他语言: 完整列表请参阅 VOICES.md
自动检测语言片段并使用合适的语音:
- 英文片段 → 英文神经语音
- 中文片段 → 中文神经语音
- 其他语言 → 默认或指定语音
afplay 进行本地播放scripts/generate_tts.py用于 TTS 生成和播放的主脚本。
用法:
# 基本生成与播放
python3 generate_tts.py --text "消息" --play
# 保存到文件
python3 generate_tts.py --text "消息" --output file.mp3
# 混合语言并自定义语音
python3 generate_tts.py --text "Hello 你好" --voice-en "en-US-AriaNeural" --voice-zh "zh-CN-XiaoyiNeural"
# 循环播放
python3 generate_tts.py --text "消息" --play --loops 5
# 音量控制
python3 generate_tts.py --text "消息" --play --volume 80
# SSML 支持
python3 generate_tts.py --ssml "<speak>Hello <break time='500ms'/> world</speak>"
参数:
- --text:要转换为语音的文本
- --ssml:用于高级控制的 SSML 标记
- --output:保存为 MP3 文件
- --play:生成后立即播放
- --voice:默认语音(覆盖自动检测)
- --voice-en:覆盖英文语音
- --voice-zh:覆盖中文语音
- --loops:播放次数(默认:1)
- --volume:播放音量 0-100(默认:系统音量)
- --rate:语速调整(+/- %)
- --pitch:音高调整(+/- Hz)
scripts/play_audio.py音频播放控制工具。
用法:
# 播放现有音频文件
python3 play_audio.py --file audio.mp3
# 循环播放
python3 play_audio.py --file audio.mp3 --loops 3
# 音量控制
python3 play_audio.py --file audio.mp3 --volume 75
# 停止所有播放
python3 play_audio.py --stop
scripts/merge_audio.py合并多个音频文件。
用法:
# 合并两个文件
python3 merge_audio.py --files part1.mp3 part2.mp3 --output combined.mp3
# 创建播放列表并合并
python3 merge_audio.py --playlist playlist.txt --output combined.mp3
包含语言、性别和风格信息的 Edge TTS 可用语音完整列表。
edge-tts 和 ffmpeg 依赖项的安装说明。
使用模式示例和常见场景。
pip3 install edge-ttsbrew install ffmpeg(用于音频合并)afplay(内置),osascript(音量控制)python3 scripts/generate_tts.py --text "Welcome to the system. 系统欢迎您。" --play --voice-en "en-US-JennyNeural" --voice-zh "zh-CN-XiaoxiaoNeural"
# 创建音频文件
python3 scripts/generate_tts.py --text "Time for your meeting. 会议时间到了。" --output reminder.mp3
# 安排播放(使用 cron)
echo "*/30 * * * * afplay /path/to/reminder.mp3" | crontab -
python3 scripts/generate_tts.py --text "Alert: System update in progress. 警报:系统更新进行中。" --play --loops 3 --volume 90
osascript -e "output volume of (get volume settings)"osascript -e "output muted of (get volume settings)"afplay /System/Library/Sounds/Ping.aiffpython3 -m edge_tts --list-voicespip3 install --upgrade edge-ttsafplay 命令osascript 来调整系统音量