OpenAI 音频与语音功能全解析:语音转文本、文本转语音、实时语音交互应用开发指南
✅ 实时语音交互/字幕 → 用 Realtime API;✅ 多轮语音对话/函数调用 → 用 Chat Completions API;✅ 单一功能(转录/播报) → 用 Transcription/Speech API;✅ 想节省资源,提升国内访问速度 → 建议使用中转加速服务,推荐API 高速通道📢小贴士:国内用户访问 OpenAI 经常遇到速度慢、连接失败等问题,我们推荐使用API 加速通
在 AI 语音领域,OpenAI 提供了非常强大的 API 能力,包括语音识别、语音生成和语音代理等多种场景。本文将带你全面了解如何使用 OpenAI 的音频接口构建语音应用,并附带代码示例,助你快速上手开发智能语音功能。
一、主要应用场景
OpenAI 提供了丰富的音频处理能力,如果你已有明确的项目目标,可直接点击下方链接查看对应指南:
- 👉 构建语音代理
- 👉 将语音转为文本(ASR)
- 👉 将文本转为语音(TTS)
二、音频相关 API 功能概览
OpenAI 支持将语音作为输入、输出或两者结合,常见用途包括语音交互系统、语音助手、实时转录、播报引擎等。我们将这些功能大致划分如下:
1. 语音代理(Voice Agents)
构建语音代理有两种常见方式:
- 使用 语音到语音(Speech-to-Speech)模型,支持实时低延迟交互;
- 将 语音转文本(ASR)+ 文本处理(LLM)+ 文本转语音(TTS) 链接起来。
如果你已经在使用 OpenAI Agents SDK,也可以通过 官方语音扩展指南 快速集成语音能力。
2. 实时语音流(Streaming)
通过 Realtime API 可以实现音频流式传输,支持多语言识别与语音合成,适用于低延迟交互与字幕生成等场景。
3. 文本转语音(TTS)
使用 audio/speech 接口即可实现文本转语音,目前支持的模型包括:
gpt-4o-mini-ttstts-1tts-1-hd
其中 gpt-4o-mini-tts 还支持语气和风格控制。
4. 语音转文本(ASR)
使用 audio/transcriptions 接口进行语音转录,目前支持的模型包括:
gpt-4o-transcribegpt-4o-mini-transcribewhisper-1
三、如何选择合适的 API?
| API 类型 | 支持内容 | 是否支持音频流 |
|---|---|---|
| Realtime API | 文本和音频输入输出 | ✅ 支持 |
| Chat Completions API | 文本和音频输入输出 | ✅ 输出支持 |
| Transcription API | 音频输入 | ✅ 输出支持 |
| Speech API | 文本输入,音频输出 | ✅ 输出支持 |
✅ 推荐使用: 对实时性要求高的,使用 Realtime API;需要高级功能如函数调用,则推荐 Chat Completions API;只处理转录或播报,用 Transcription 或 Speech API 即可。
四、示例:让模型说话(文本转语音)
使用 gpt-4o-audio-preview 模型生成语音输出,调用 Chat Completions 接口即可:
JavaScript 示例
import { writeFileSync } from "node:fs";
import OpenAI from "openai";
const openai = new OpenAI({ baseURL: "https://api.aaaaapi.com" });
const response = await openai.chat.completions.create({
model: "gpt-4o-audio-preview",
modalities: ["text", "audio"],
audio: { voice: "alloy", format: "wav" },
messages: [
{ role: "user", content: "金毛适合当家庭犬吗?" }
],
store: true,
});
writeFileSync(
"golden_retriever.wav",
Buffer.from(response.choices[0].message.audio.data, 'base64'),
{ encoding: "utf-8" }
);
五、示例:上传语音让模型识别内容(语音转文本)
Python 示例
import base64
import requests
from openai import OpenAI
client = OpenAI(base_url="https://api.aaaaapi.com")
url = "https://cdn.openai.com/API/docs/audio/alloy.wav"
audio_data = requests.get(url).content
base64_audio = base64.b64encode(audio_data).decode("utf-8")
completion = client.chat.completions.create(
model="gpt-4o-audio-preview",
modalities=["text", "audio"],
audio={"voice": "alloy", "format": "wav"},
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "这段录音说了什么?"},
{"type": "input_audio", "input_audio": {"data": base64_audio, "format": "wav"}}
]
}
]
)
print(completion.choices[0].message)
六、进阶玩法:添加语音功能到已有应用
GPT-4o 系列模型是多模态模型,可同时处理文本、语音、图像等输入输出。如果你已有基于 Chat Completions 的文本应用,可以通过简单修改,添加语音输入输出功能。
例如,在请求中加入:
"modalities": ["text", "audio"]
即可启用音频功能。
七、总结推荐
- ✅ 实时语音交互/字幕 → 用 Realtime API;
- ✅ 多轮语音对话/函数调用 → 用 Chat Completions API;
- ✅ 单一功能(转录/播报) → 用 Transcription/Speech API;
- ✅ 想节省资源,提升国内访问速度 → 建议使用中转加速服务,推荐 API 高速通道
📢 小贴士:国内用户访问 OpenAI 经常遇到速度慢、连接失败等问题,我们推荐使用 API 加速通道(支持 gpt-4o 音频功能),稳定可靠,接入方式一致,体验原汁原味 GPT。
如果你对 ChatGPT、音频处理或 GPT-4o 的实际开发感兴趣,欢迎点赞 + 收藏 + 评论交流!
更多推荐
所有评论(0)