python 使用文本转语音
文字转语音 (TTS) API 指南
概述
音频 API 提供 speech 端点,基于 TTS 模型实现以下功能:
- 📝 博客文章朗读
- 🌍 多语言音频生成
- 🎵 实时音频流输出
重要提示:必须向用户声明所听到的是 AI 生成的语音,而非人类声音
基础使用
基本示例
python
from pathlib import Path
from openai import OpenAI
client = OpenAI(
base_url="https://www.anyapi.vip/v1",
api_key=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位有符号 |
实时音频流
python
from openai import OpenAI
client = OpenAI(
base_url="https://www.anyapi.vip/v1",
api_key=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 生成的音频。