Python 声音设备在 raspberry pi 上不发出声音

Python sounddevice does not produce sound on raspberry pi

我正尝试着手在我的 raspberry pi 3a+ 上编写一个小型合成器(波发生器)。 首先,我尝试使用 python 的 sounddevice 模块来播放来自 numpy - 数组的流。 然而,我的 raspberry pi 没有输出任何声音,这很奇怪,因为完全相同的代码在我的笔记本电脑上运行得非常好,并产生了一个不错的、稳定的正弦波音调,正如您所期望的那样。

我使用的代码基本上只是从声音设备文档中复制的示例代码,可以在这里找到:https://python-sounddevice.readthedocs.io/en/0.4.1/examples.html#play-a-sine-signal

我想在我的 pi 上下载了所有必需的模块(portAudio 等),因为我在我的笔记本电脑上下载了相同的模块,代码在那里工作。

会不会是 sounddevice 无法处理 pi 硬件的某些部分,或者我在 ALSA 的某个地方搞砸了 - 设置(尽管我检查了几次)?

有趣的是,pi 使用 simpleaudio - 模块播放声音非常好,遗憾的是对于我打算做的事情来说它不够通用,这就是为什么我需要 sounddevice 或类似的东西。 如果有人能在这里帮助我,我将不胜感激。

您需要将 /etc/asounc.config 中的采样率设置为您计划使用的任何采样率。

pcm.!default {
    rate 48000
    type hw
    card 0
    device 0
}

ctl.!default {
        type hw
        card 0
}
  • 通过添加“速率”后跟您计划使用的采样率来实现

您的应用程序需要使用此采样率才能正常工作,因此请确保在您的代码中正确设置它。

希望这能解决您的问题