从 shell 播放声音 - 即时

从 shell 播放声音 - 即时

我正在尝试创建从外壳在扬声器上播放的蜂鸣声。

我可以使用 aplay 轻松完成此任务,,需要一秒钟左右才能真正播放。

我需要它几乎是即时的,因为我在(无头)shell 脚本中使用它来在按键时播放声音。使用 aplay 时,蜂鸣声来得太晚了。

我正在考虑直接将某些内容写入 /dev 声音设备或某些东西,但尚未成功。

我正在使用 Odroid-W(Raspberry Pi 克隆),并且听说,至少在 Pi 上,音频插孔实际上连接到两个 PWM GPIO 引脚(40、45),直接写入这些引脚会产生只有沉默。

它不需要是一种奇特的声音,任何嗡嗡声或蜂鸣声都可以。

(如果全部失败,那么我可能会将 GPIO 引脚连接到临时混音器并将其连接到放大器。)

答案1

由于延迟对于应用程序的“感觉”(用户声音反馈)很重要,因此我决定通过将有源蜂鸣器(这里的有源部分消除了 PWM 输出的需要)连接到 GPIO 引脚之一来产生延迟,这会产生立即发出声音。可以使用 Drogons WiringPi 命令行实用程序直接访问 GPIO 引脚。缺点是您无法控制声音本身,但目前产生的蜂鸣声已经足够好了。

为了改善/控制声音,可以考虑使用软件 PWM 和无源蜂鸣器或扬声器。

有关 WiringPi 的更多信息: http://wiringpi.com/

什么是有源蜂鸣器?: https:// electronics.stackexchange.com/questions/224374/active-vs-passive-buzzer

相关内容