有没有办法在Raspberry Pi上使用Pygame修复音频?

时间:2018-07-17 14:37:34

标签: python raspberry-pi pygame

我一直在使用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的另一个问题。 任何帮助解决或解决此问题的帮助将不胜感激!

1 个答案:

答案 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文件的采样率。

让我知道这是否有帮助!