15分ごとに特定の音量でサウンドを再生する

15分ごとに特定の音量でサウンドを再生する

モニタースピーカーが特定のレベルのサウンド入力を受信しないと、スリープモードに切り替わります。静かに何かを見たり聞いたりすると、スピーカーがオフになることがよくあります。

この問題を解決するために、crontabSox Playを使用して15分ごとに10HzのWaveファイルを再生しました。

*/15 * * * * XDG_RUNTIME_DIR=/run/user/1000 /usr/bin/play -v 1.25 /home/USER/rmas/10Hz.wav

これはほとんどの場合機能しますが、システムボリュームを約40%以上に上げ、アプリケーションボリュームを非常に低く保つ必要があります。

-vこれは(--volume)オプションによるものです。比較的システムボリュームに。

他のサウンドの音量に影響を与えずに、サウンドが100%(またはユーザーが指定した変数)ボリュームで再生される絶対的な方法でこれを行う方法が必要です。私はどのウィンドウがポップアップしたくありません(作業は完全にバックグラウンドで行われるべきです)。

ソックスと一緒にできますか?それとも別のルートを選択できますか?

  • 人気! _OS 22.04 -
  • KRK Rokit 5モニター(第2世代) -
  • Scarlett 2i2 USBオーディオインターフェースは、スピーカーに音を伝えます。

答え1

したがって、ここでの問題は、設計上、サウンドシステムの「システムボリューム」が一緒に追加されたすべてのストリームのゲインに影響を与えることによって、すべてのサウンドソースに影響を与えることです。この問題を解決する方法はありません!


                                    +--- Sound Server---------------+
                                    |                           /----- Firefox
USB Audio Interface <--- ALSA <---- | Mixer for ALSA device XYZ ------ VLC
                                    |                           \----- play
                                    +-------------------------------+
                                        ^^^
                                        Volume adjustment happens here

したがって、賢明なソリューションは、新しい仮想デバイスを作成してすべてのアプリケーションのプライマリデバイスにし、次の目的に使用しないことですplay 10Hz.wav


                  +--- Sound Server-----------------------------+
                  |                                          /----- Firefox
… <--- ALSA <---- | Mixer for ALSA device XYZ <- Virtual Mixer----- VLC
                  |                           \-------------------- play
                  +---------------------------------------------+
                                                      ^^^
                                        Volume adjustment happens here

おそらくPipewireをサウンドサーバーとして使用しているでしょう。パイプワイヤー文書説明が良いです。結合された流れあなたはそれをしたいでしょう - それはちょうど小さな設定調整です。

関連情報