注册

python 使用文本转语音

概述

音频 API 提供 speech 端点,基于 TTS 模型实现以下功能:

  • 📝 博客文章朗读
  • 🌍 多语言音频生成
  • 🎵 实时音频流输出
重要提示:必须向用户声明所听到的是 AI 生成的语音,而非人类声音

基础使用

基本示例

from pathlib import Path
from openai import OpenAI

client = OpenAI(
    base_url="https://api.quickrouter.ai/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.quickrouter.ai/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 生成的音频。