一个强大的命令行工具,用于通过OpenAI API进行文本到语音的转换。
克隆此仓库:
git clone https://github.com/j3k0/speech.sh.git
cd speech.sh
将脚本设置为可执行:
chmod +x speech.sh mcp.sh launch
确保您已安装所需的依赖项:
基本用法:
./speech.sh --text "你好,世界!"
更多选项:
./speech.sh --text "你好,世界!" --voice nova --speed 1.2 --model tts-1-hd
-h, --help 显示帮助信息并退出
-t, --text TEXT 要转换为语音的文本(必需)
-v, --voice VOICE 使用的语音模型(默认:onyx)
-s, --speed SPEED 语音速度(默认:1.0)
-o, --output FILE 输出文件路径(默认:自动生成)
-a, --api_key KEY OpenAI API密钥
-m, --model MODEL 使用的TTS模型(默认:tts-1)
-p, --player PLAYER 音频播放器:auto, ffmpeg, 或 mplayer(默认:auto)
--verbose 启用详细日志记录
-V, --verbose 与--verbose相同
-r, --retries N API调用失败时的重试次数(默认:3次)
-T, --timeout N API调用超时时间(秒,默认:30秒)
该脚本接受OpenAI API密钥的三种方式(按优先级顺序):
--api_key "your-api-key"export OPENAI_API_KEY="your-api-key"API_KEY的文件该脚本默认会缓存音频文件以避免不必要的API调用。如果您请求相同的文本、相同的语音和速度,它将重用先前生成的音频文件。
该脚本包括复杂的API调用重试逻辑:
您可以选择您偏好的音频播放器:
--player auto:如果可用则使用ffmpeg,否则使用mplayer(默认)--player ffmpeg:强制使用ffmpeg--player mplayer:强制使用mplayermcp.sh脚本提供模型上下文协议兼容性,允许文本到语音的功能被兼容MCP的AI助手如Claude使用。
要使用MCP服务器:
# 使用启动脚本启动MCP服务器
./launch
有关使用MCP集成的详细说明,请参阅MCP_README.md。
该脚本采取了多个步骤确保安全:
jq进行适当的JSON处理以处理参数使用默认设置将文本转换为语音:
./speech.sh --text "你好,世界!"
使用不同的语音:
./speech.sh --text "你好,世界!" --voice nova
调整语音速度:
./speech.sh --text "你好,世界!" --speed 1.5
保存到特定文件:
./speech.sh --text "你好,世界!" --output hello.mp3
使用环境变量进行API密钥:
export OPENAI_API_KEY="your-api-key"
./speech.sh --text "你好,世界!"
如果您遇到问题:
--verbose标志启用详细日志记录GPL