主要观点:2025 年 3 月 OpenAI 推出新语音转文本模型,支持实时转录已完成和正在进行的音频,其在多种应用中有用,提供了实时转录 API 可通过 WebSocket 或 webRTC 调用,本文聚焦 Java WebSocket 实现。
关键信息:
- 推出模型:
gpt-4o-mini-transcribe和gpt-4o-transcribe。 - 应用场景:语音助手、实时字幕、交互语音应用、会议转录和无障碍工具等。
- WebSockets:双向通信协议,用于客户端与服务器间的持续通信,与 HTTP 不同。
- WebSocket 方法:
OnOpen()、onMessage()、onClose()、onError()。 - 实现步骤:添加 Java-WebSocket 依赖,创建
SimpleOpenAITranscription和TranscriptionWebSocketClient类,建立连接、设置转录会话、分块流式传输音频数据、实时接收和处理响应。
重要细节: - 连接建立:
client.connect(),WebSocket 地址为wss://api.openai.com/v1/realtime?intent=transcription,需设置请求头Authorization和openai-beta。 - 配置会话:创建
config消息,指定模型名、语言、语音活动检测等,如sendInitialConfig()方法。 - 音频传输:使用
input_audio_buffer.append消息类型发送音频块,可手动提交消息以获取转录结果,如sendAudioChunk()和commitAndClearBuffer()方法。 - 接收响应:在
onMessage()方法中处理服务器消息,获取转录结果等,如Transcription:+ response.getString("transcript")。 - 优化建议:创建计数锁存器跟踪转录会话,调整语音活动检测参数,妥善存储 API 密钥,定期处理音频缓冲区,添加延迟防止连接过载,正确关闭连接等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。