官方介绍的 Qwen-Omni 的音频输出格式文档声称是 WAV 格式,但是实际使用中,我发现其实是 PCM 格式
将每个 chunk 中的音频数据 base64 解码,拼成一个文件,视作 24000 采样率的 s16le PCM 文件,可以用 FFMPEG 转换为任意其他格式。
with open(filename_pcm, 'wb') as fd:
for chunk in completion:
delta = chunk.choices[0].delta
if hasattr(delta, 'audio'):
audio = delta.audio
if 'data' in audio:
fd.write(base64.b64decode(delta.audio['data']))
os.system(f'ffmpeg -loglevel warning -f s16le -ar 24000 -ac 1 -i {filename_pcm} {filename_mp3}')