Python:合并 io.BytesIO 格式的音频文件
Python: Merging Audio files that are in io.BytesIO form
我有一项服务可以将文本发送到外部文本转语音服务,该服务 returns 在响应中返回音频。这是我访问音频的方式:
res = requests.get(TTS_SERVICE_URL, params={"text":text_to_synth})
bytes_content = io.BytesIO(bytes(res.content))
audio = bytes_content.getvalue()
现在我想在不同的请求中发送多行文本,并以字节为单位接收所有音频内容,将它们合并为一个音频然后显示它,谁能指导我如何才能将 bytes_content 合并为一个音频字节流
我成功了,如果其他人遇到同样的问题,请在此处发布答案,这样就解决了
使用声音文件将 bytes_content 读入一个 numpy 数组:
data, samplerate = sf.read(bytes_content)
datas.append(data)
其中 datas 是一个空数组,其中添加了要串联的每个文件
然后再次合并文件
combined = np.concatenate(datas)
并在需要时转换回字节流
out = io.BytesIO()
sf.write(out, combined, samplerate=samplerate, format="wav")
我很确定这不是正确的做事方式,但这对我有用
我有一项服务可以将文本发送到外部文本转语音服务,该服务 returns 在响应中返回音频。这是我访问音频的方式:
res = requests.get(TTS_SERVICE_URL, params={"text":text_to_synth})
bytes_content = io.BytesIO(bytes(res.content))
audio = bytes_content.getvalue()
现在我想在不同的请求中发送多行文本,并以字节为单位接收所有音频内容,将它们合并为一个音频然后显示它,谁能指导我如何才能将 bytes_content 合并为一个音频字节流
我成功了,如果其他人遇到同样的问题,请在此处发布答案,这样就解决了
使用声音文件将 bytes_content 读入一个 numpy 数组:
data, samplerate = sf.read(bytes_content)
datas.append(data)
其中 datas 是一个空数组,其中添加了要串联的每个文件
然后再次合并文件
combined = np.concatenate(datas)
并在需要时转换回字节流
out = io.BytesIO()
sf.write(out, combined, samplerate=samplerate, format="wav")
我很确定这不是正确的做事方式,但这对我有用