我一直在使用pygame启动.wav文件时遇到此问题,它的质量非常差,而且声音似乎也变慢了。我正在运行Jesse的Raspberry Pi 2上运行程序,并且正在从Mac中启动程序,而不是使用startx命令。我已经用pygame.mixer.pre_init()和pygame.mixer.init()命令弄乱了频率。 这是我当前加载声音的代码:
pygame.mixer.pre_init(96000,-16,1,4096)
happySound = pygame.mixer.Sound('happy.wav')
sadSound = pygame.mixer.Sound('speech3.wav')
这是我调用其中一个功能的实例:
if i ==0:
print"1"
print "N-H"
ser.write('5')
happySound.play()
i += 1
还有一点要提到的是,我已经将Arduino板连接到我的Pi上,并且我还为Pi附加了触摸屏,所以我不知道我的Pi是否能承受太多,或者是在Pi上运行Pygame的另一个问题。 任何帮助解决或解决此问题的帮助将不胜感激!
答案 0 :(得分:0)
根据其他SE Raspi post,他们建议使用以下设置来成功初始化Pygame混合器。 (我不认为Raspberry Pi的默认输出可以支持96000这样高的采样率。)
pygame.mixer.init(44100, -16, 1, 1024)
另一个可能的错误是ALSA音量当前太低(因此,当信噪比太高时,您将得到失真)。要设置更高的ALSA PCM输出级别,请尝试:
amixer set PCM -- 1000
关于慢速播放;您将需要使用Audacity之类的工具来检查.wav文件的采样频率,或者甚至使用Python内置的wave module(Wave_read.getframerate())。然后,您需要将pygame.mixer.init采样率设置为wave文件的采样率。
让我知道这是否有帮助!