OpenAI 音频与语音功能全解:语音识别、语音合成、实时对话全搞定!

180 阅读4分钟

OpenAI 音频与语音功能全解:语音识别、语音合成、实时对话全搞定!

本文将为你详细介绍如何通过 OpenAI API 构建语音驱动的应用,如语音助手、实时对话系统、语音识别与合成等完整音频工作流。


✨ 快速了解音频 API 能力

OpenAI 提供了一整套音频相关的 API 能力,可以实现语音输入(如语音识别)、语音输出(如语音合成)甚至构建完整的语音助手。下图是常见的使用场景:

使用场景简介
🔊 语音代理构建可以听懂用户说话并进行自然回复的语音助手
✍️ 语音转文字将音频准确快速地转成文字(支持实时流式处理)
🗣️ 文本转语音将文本以自然语音方式朗读出来(支持多种声音)

🚀 快速构建语音交互应用

1. 语音代理(Voice Agents)

语音代理即语音助手,可以理解用户的语音输入并做出自然语言回复。有两种构建方式:

  • 端到端语音对语音模型(Realtime API):延迟更低,更自然;
  • 🔁 串联语音转文字 + 文本生成 + 文本转语音:更可控,适用于已有文本代理系统。

如果你已经使用 OpenAI Agents SDK,可以使用这个示例快速为你的文本代理添加语音能力。


2. 实时语音流处理

通过 Realtime API 可以实现低延迟的语音识别或实时语音对话。OpenAI 提供的多语言识别模型可以高效、准确处理音频流。


3. 文本转语音(Text to Speech)

使用 audio/speech 接口将文本转换为自然语音。

可用模型包括:

  • gpt-4o-mini-tts
  • tts-1
  • tts-1-hd

如果使用 gpt-4o-mini-tts,你还可以设定语气或语调。


4. 语音转文字(Speech to Text)

使用 audio/transcriptions 接口,将用户的语音实时转成文本。

可用模型:

  • gpt-4o-transcribe
  • gpt-4o-mini-transcribe
  • whisper-1

支持连续流式语音识别!


🤖 API 对比与选择指南

接口支持模式是否支持流式
Realtime API音频输入 + 音频输出 + 文本
Chat Completions音频 / 文本输入 + 音频 / 文本输出✅(音频流出)
Transcription API仅音频输入
Speech API仅文本输入(输出音频)

提示:你可以通过我们的 OpenAI API 中转站使用以上接口,享受更快更稳定的服务:点击快速接入


💡 开发者建议

  • 如果你需要实时语音交互:推荐使用 Realtime API;
  • 如果你构建语音助手但不强求低延迟:使用 Chat Completions;
  • 如果你只需要纯语音识别或语音合成:使用 Transcription / Speech 专用 API;

🎯 添加语音能力到已有应用

如果你已有基于 Chat Completions 的聊天程序,现在可以加入音频能力,只需:

"modalities": ["text", "audio"]

并选择音频模型,如:gpt-4o-audio-preview


📦 示例:从模型获取语音回复(文本转语音)

Python 示例

import base64
from openai import OpenAI

client = OpenAI(base_url="https://api.aaaaapi.com/v1")

completion = client.chat.completions.create(
    model="gpt-4o-audio-preview",
    modalities=["text", "audio"],
    audio={"voice": "alloy", "format": "wav"},
    messages=[
        {
            "role": "user",
            "content": "金毛是适合家庭的狗吗?"
        }
    ]
)

wav_bytes = base64.b64decode(completion.choices[0].message.audio.data)
with open("golden.wav", "wb") as f:
    f.write(wav_bytes)

📥 示例:用音频作为输入(语音转文字 + 回答)

import base64
import requests
from openai import OpenAI

client = OpenAI(base_url="https://api.aaaaapi.com/v1")

# 获取音频文件
url = "https://cdn.openai.com/API/docs/audio/alloy.wav"
response = requests.get(url)
wav_data = response.content
encoded_string = base64.b64encode(wav_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": encoded_string,
                        "format": "wav"
                    }
                }
            ]
        }
    ]
)

print(completion.choices[0].message)

🌍 关于稳定使用 API 的小提示

OpenAI 官方 API 在某些地区访问不稳定,推荐使用我们搭建的中转 API:立即体验更顺畅的调用体验

将你的 OpenAI(base_url="https://api.openai.com/v1") 替换为:

OpenAI(base_url="https://api.aaaaapi.com/v1")

📚 结语

OpenAI 的音频能力非常强大,适合构建智能客服、语音助手、听力训练工具等各种场景。你可以按需选择模型和 API 接口,实现流畅自然的语音交互体验。


如果你喜欢这篇文章,欢迎点赞收藏评论;如需更稳定的 API 服务,记得试试我们的中转服务:点击体验 🚀