语言学习tts
   
Claude Desktop扩展程序,使Claude能够说话。让克劳德用70多种语言发音、制作音频抽认卡或用音频上一节完整的语言课。
状态(2026-02-21)
- 核心CLI和MCP界面正在与ElevenLabs、OpenAI TTS和AWS Polly合作。
- 提供者默认值和音频变体(单词+示例)仍在标准化中。
- Claude Desktop目录提交正在等待外部审核。
路线图
见ROADMAP.md。
快速开始
1.获取TTS API密钥
您需要一个至少有一个文本转语音服务提供商的帐户:
- 十一个实验室 --最好的质量,70多种语言,5000多种声音。免费等级:每月10K字符。(推荐)
- OpenAI TTS --质量好,设置简单,57种语言,9种声音。
- AWS Polly --质量更好,41种语言,100多种声音,设置困难(安装指南).
2.在Claude Desktop中安装
下载punt-langlearn-tts.mcpb 然后双击进行安装。ClaudeDesktop将提示您输入API密钥和输出目录。
3.设立导师项目(可选)
langlearntts附带28个辅导提示,每种提示对应7种语言和4个级别的组合。设置一个项目可以为克劳德提供一个导师角色,在课堂上生成音频。
- 在Claude Desktop中,单击 项目 在侧边栏中
- 点击 创建项目 并为其命名(例如,“施密特先生的德语”)
- 打开项目,单击 设置自定义说明
- 从复制提示 提示目录 并将其粘贴到“说明”字段中
- 在该项目中开始新的对话
| 语言 | 高中 | 一年级 | 二年级 | 高级 |
|---|---|---|---|---|
| 德语 | 施密特先生 | 韦伯教授 | 哈特曼教授 | 贝克尔教授 |
| 西班牙语 | 埃琳娜教授 | 加西亚教授 | 卡门教授 | 雷耶斯教授 |
| 法语 | 莫罗夫人 | 劳伦特教授 | 杜布瓦教授 | 博蒙特教授 |
| 俄语 | 伊琳娜·彼得罗夫娜 | 德米特里教授 | 娜塔莎教授 | 米哈伊尔教授 |
| 朝鲜语 | 金森森尼姆 | 朴教授 | 金教授 | 尹教授 |
| 日语 | 田中老师 | 山本老师 | 铃木老师 | 森老师 |
| 中文 | 王老师 | 陈教授 | 张教授 | 魏教授 |
每个提示都根据学生的水平进行校准,基于 Mollick和Mollick的“分配人工智能”框架.
4.试试看
在任何Claude Desktop对话中,尝试:
用德语说“早上好” “制作一张音频闪卡:用英语说‘早上好’,然后用德语说‘Guten Morgen’” 将这些西班牙语单词合成为一个合并的音频文件:hola、gracias、por favor、de nada 为这些德语词汇生成成对的抽认卡:strong/stark、house/Haus、book/Buch
每次请求后都会自动播放音频。文件已保存到输出目录(~/langlearn-audio 默认情况下)。
特性
- 发音任何东西 --让克劳德说出一个单词或短语,然后大声听
- 音频闪卡 --克劳德首先用英语创建MP3,然后用目标语言创建MP3,中间有一段停顿
- 词汇表 --给克劳德一个单词列表,并返回单个或合并的音频文件
- 70+种语言 --德语、西班牙语、法语、俄语、韩语、日语、中文等等
- 导师模式 --28个内置导师角色,在整个课程中使用音频教学
- 多重声音 --每个提供者提供一系列的声音;让克劳德用一个具体的名字
- 可调速度 --音频默认为90%的速度,因此学习者可以清楚地听到发音
故障排除
如果有什么不起作用,请克劳德进行健康检查:
“运行doctor命令检查所有设置是否正确”
日志被写入 ~/.langlearn-tts/logs/langlearn-tts.log (永远不要包含你合成的文本)。看 隐私.md 了解详情。
______________________________________________________________________
开发人员参考
以下内容适用于使用CLI、与其他MCP客户端集成或为项目做出贡献的开发人员。
克劳德代码/CLI
curl -fsSL https://raw.githubusercontent.com/punt-labs/langlearn-tts/14f4194/install.sh | sh默认提供程序是AWS Polly。要使用其他提供程序,请执行以下操作:
LANGLEARN_TTS_PROVIDER=elevenlabs curl -fsSL https://raw.githubusercontent.com/punt-labs/langlearn-tts/14f4194/install.sh | shManual install (if you already have uv)
uv tool install punt-langlearn-tts
langlearn-tts install --provider polly
langlearn-tts doctorVerify before running
curl -fsSL https://raw.githubusercontent.com/punt-labs/langlearn-tts/14f4194/install.sh -o install.sh
shasum -a 256 install.sh
cat install.sh
sh install.sh安装ffmpeg进行音频拼接(成对、合并批):
# macOS (requires Homebrew — install from https://brew.sh if needed)
brew install ffmpeg
# Linux — see https://ffmpeg.org/download.html for your distro
# Windows
winget install --id Gyan.FFmpeg通过CLI设置Claude桌面
langlearn-tts install写信给 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)。选项: --provider NAME, --output-dir PATH, --uvx-path PATH.运行后重新启动Claude Desktop。
或手动添加:
{
"mcpServers": {
"langlearn-tts": {
"command": "/absolute/path/to/uvx",
"args": ["--from", "punt-langlearn-tts", "langlearn-tts-server"],
"env": {
"LANGLEARN_TTS_OUTPUT_DIR": "/absolute/path/to/output/directory"
}
}
}
}Claude Desktop不继承您的shell环境。API键必须是文字值(不支持env-var引用)。编辑后重新启动。
环境变量
| Env-var | 必填 | 描述 |
|---|---|---|
LANGLEARN_TTS_PROVIDER | 没有 | elevenlabs, polly (没有API密钥时为默认值),或 openai |
ELEVENLABS_API_KEY | 对于ElevenLabs | 您的API密钥 |
OPENAI_API_KEY | 对于OpenAI | 您的API密钥 |
LANGLEARN_TTS_OUTPUT_DIR | 否 | 输出目录(默认: ~/langlearn-audio) |
LANGLEARN_TTS_MODEL | 否 | 型号名称。ElevenLabs: eleven_v3 (默认)。OpenAI: tts-1, tts-1-hd |
对于Polly,AWS凭据从以下位置读取 ~/.aws/credentials.
CLI使用情况
# Single synthesis
langlearn-tts synthesize "Guten Morgen" --voice daniel -o morning.mp3
# Custom speech rate (percentage, default 90)
langlearn-tts synthesize "Привет" --voice tatyana --rate 70 -o privet.mp3
# ElevenLabs with voice settings
langlearn-tts synthesize "Guten Morgen" --voice Rachel \
--stability 0.5 --similarity 0.7 --style 0.3 --speaker-boost
# Pair: English + German stitched with a pause
langlearn-tts synthesize-pair "good morning" "Guten Morgen" \
--voice1 joanna --voice2 daniel -o pair.mp3
# Batch from JSON file (["hello", "world", "good morning"])
langlearn-tts synthesize-batch words.json -d output/
# Batch merged into single file
langlearn-tts synthesize-batch words.json -d output/ --merge --pause 800
# Pair batch from JSON file ([["strong", "stark"], ["house", "Haus"]])
langlearn-tts synthesize-pair-batch pairs.json -d output/
# Browse AI tutor prompts
langlearn-tts prompt list
langlearn-tts prompt show german-high-school | pbcopy声音
十一个实验室 --5000多个声音。任何声音都适用于任何语言。您还可以直接传递语音ID(ElevenLabs仪表板上的20个字符串)。语音设置: --stability, --similarity, --style (0.0–1.0), --speaker-boost (旗帜)。
AWS Polly --93个声音 AWS Polly语音列表每个声音都针对特定语言进行训练。自动选择引擎(神经、标准、生成、长形式)。
OpenAI TTS --9种声音:合金、灰烬、珊瑚、回声、寓言、玛瑙、新星、圣人、微光。默认型号: tts-1.使用 --model tts-1-hd 为了更高的质量。
所有语音名称都不区分大小写。
MCP工具
| 工具 | 说明 |
|---|---|
synthesize | 将单个文本转换为MP3 |
synthesize_batch | 多个文本,可选择合并 |
synthesize_pair | 两段文字停顿了一下 |
synthesize_pair_batch | 多对,可选择合并 |
每个工具都接受 auto_play (默认值:true)在合成后立即播放音频。
其他MCP客户端
langlearn-tts适用于任何支持stdio传输的MCP客户端。使用服务器命令 uvx --from punt-langlearn-tts langlearn-tts-server 根据上述环境变量。找到你的 uvx 路径与 which uvx --所有路径都必须是绝对的。
发展
git clone https://github.com/punt-labs/langlearn-tts.git
cd langlearn-tts
uv sync --all-extras
uv run pytest tests/ -v
uv run ruff check src/ tests/
uv run ruff format src/ tests/
uv run mypy src/ tests/
uv run pyright src/ tests/许可证
麻省理工学院
