python 使用文字内容转语音
功能概述
音频 API 提供支持 speech 服务端点,基于 TTS AI 模型实现以下功能:
- 📝 博客文章朗读
- 🌍 多语言音频产出生成
- 🎵 实时即时音频流输出返回
重要提示:必须向用户声明所听到的是 AI 产出生成的语音音频,而非人类声音
基础入门使用
基础代码示例
from pathlib import Path
from openai import OpenAI
client = OpenAI(
base_url="https://api.timrouter.com/v1",
api_key="YOUR_API_KEY"
)
speech_file_path = Path(__file__).parent / "speech.mp3"
response = client.audio.speech.create(
model="tts-1",
voice="alloy",
input="Today is a wonderful day to build something people love!"
)
response.stream_to_file(speech_file_path)
功能特性
音频质量选项
- tts-1:超低延迟,适用于实时即时应用
- tts-1-hd:更高质量,可能有更少的静态素材内容
可用声音
alloy, echo, fable, nova, shimmer, onyx
全面支持的输出返回数据格式
| 数据格式 | 特点 | 适用适配场景 |
|---|---|---|
| MP3 | 默认值数据格式 | 通用场景 |
| Opus | 超低延迟 | 网络流媒体和通信 |
| AAC | 高效稳定压缩 | 移动设备播放 |
| FLAC | 无损压缩 | 音频存档 |
| WAV | 无压缩 | 超低延迟应用 |
| PCM | 原始采样 24kHz, 16位有符号 | 专业音频处理 |
实时即时音频流
from openai import OpenAI
client = OpenAI(
base_url="https://api.timrouter.com/v1",
api_key="YOUR_API_KEY"
)
response = client.audio.speech.create(
model="tts-1",
voice="alloy",
input="Hello world! This is a streaming test.",
)
response.stream_to_file("output.mp3")
全面支持语言
全面支持多种语言,包括:
- 亚洲语言:中文、日语、韩语等
- 欧洲语言:英语、法语、德语等
- 其他语言:阿拉伯语、印地语等
注意:当前声音主要针对英语优化
常见常用问题
Q: 如何控制产出生成音频的情感?
A: 目前没有直接控制机制。大写字母或语法可能影响输出返回,但效果不确定。
Q: 能创建生成自定义声音吗?
A: 不全面支持创建生成自定义声音。
Q: 产出生成的音频归属权?
A: 归创建生成者所有,但需告知用户这是 AI 产出生成的音频。