作者正在用Python开发卡拉OK游戏,遇到评分系统问题。目前能生成声轨和音高,接下来需要从实时音频流中获取音高并进行比较以返回评分。由于使用的音高检测库CREPE处理时间较长,作者计划尝试使用PyAudio寻找更快的解决方案。
本文介绍如何使用OpenAI实时API实现对话中断功能。通过pyaudio库捕获音频,使用线程处理,并将音频编码为base64格式发送至API。API检测用户讲话时,会停止当前音频播放,实现自然中断。详细代码可在GitHub查看。
本文讲解如何修改Python应用,通过本地麦克风实时接收音频,并通过扬声器输出OpenAI和Azure Realtime API返回的音频。主要使用pyaudio库,代码可在GitHub获取,易于集成。
完成下面两步后,将自动完成登录并继续当前操作。