我的覆盆子pi通过pyaudio播放我的wav音频文件效果不佳.wav文件已在我的(windows)笔记本电脑上创建,我现在想在我的rpi上正确播放。
我正在使用pyaudio附带的测试脚本对其进行测试。
import pyaudio
import wave
chunk = 1024
wf = wave.open('sample.wav', 'rb')
p = pyaudio.PyAudio()
stream = p.open(
format = p.get_format_from_width(wf.getsampwidth()),
channels = wf.getnchannels(),
rate = wf.getframerate(),
output = True)
data = wf.readframes(chunk)
while data != '':
stream.write(data)
data = wf.readframes(chunk)
stream.close()
p.terminate()
我还尝试将pyaudio流的设置强制转换为我用来记录它的那些,但这没有帮助。
当我从命令行使用aplay
时,播放工作正常。
我在其他论坛上遇到过其他一些有这个问题的帖子,但没有人想出答案(还)。
进一步的背景:
我正在尝试将音频从笔记本电脑传输到我的rpi,并从那里输出到我的扬声器系统。我使用VB-Audio Virtual Cable捕获音频。当我在笔记本电脑上播放内容时,我打开了虚拟电缆和我的python代码。然后pyaudio捕获它,并将其发送到rpi,rpi收集它们(缓冲它们)然后播放它。如果我将它保存在Windows上,这一切都可以正常工作,但当我将它移植到我的rpi时,播放质量变得非常糟糕。
然后我开始测试播放简单的wav文件,看看它是延迟问题还是播放问题,现在显然是后者。
答案 0 :(得分:0)
如果有人遇到同样的问题,我无法解决这个问题,但找到了另一种解决方案。我现在正在使用alsaudio库(https://sourceforge.net/projects/pyalsaaudio/),这很好地解决了这个问题。