從 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

相關內容