aplay
ユーザーがインターフェイスと対話するたびに短いサウンドエフェクトを再生します。
どんな音でも順番に再生することができ、両方の音が5秒以内に再生される限り、トランジションは明確ですが、5秒以上の間隔があるとひどいポップ音が聞こえます!
私のすべてのサウンドファイルの長さは1秒未満です。
この問題を解決するために私がしたことは、.shスクリプトで繰り返される5秒の長さのローサンプルSilent.wavファイルを作成することだけです(これは確かに長期的な解決策ではありません)。
静かな無差別代入クラッキング:
#!/bin/bash
while [ 1 ] ; do
aplay sounds/blank.wav
done
今、ポップはほとんどありません。
それでは、私が理解していないのは、爆発を引き起こす5秒間何かが変わるのですか?長い遅延の後にサウンドを再生するときにオーディオが壊れないようにどのように設定しますか?
/etc/pulse/default.paと/etc/pulse/daemon.configを試しましたが、何の進展もありませんでした。
私はシングルコアRaspberry Piを使用していますが、無差別代入が役に立つとしたいと思いますか?
【書き直す】
私は絶えずデバイスを強制的にミュートするよりエレガントな方法を見つけました。
aplay /dev/zero
Playing raw data '/dev/zero' : Unsigned 8 bit, Rate 8000 Hz, Mono
しかし、何らかの理由で高周波トーンが生成されます。このような方法が可能でしょうか?
【書き直す】
aplay -r 8000 -f S16_LE /dev/zero
これは機能しますが、スレッドを開いたままにするためにスレッドを継続的に実行するため、少しオーバーヘッドが必要です。しかし今、オーディオはとてもきれいになりました。
[編集する]
この機能は、pulseaudioモジュールモジュール - 一時停止 - アイドルに関連しています。このモジュールは無効にすることもできます。まず、一時的に試してみてください。
pactl unload-module module-suspend-on-idle
満足すれば、pulseaudio設定ファイルで一時的に設定できます。