1

rtl_fm と SoX を使用してキャプチャしようとしているライブ ラジオ フィードがあります。ソースは、イベント間に数日または数週間のギャップがあり、数時間のランダムなバーストで発生します。イベント間の何時間もの沈黙を無視して、各イベントを独自のオーディオ ファイルにキャプチャしたいと考えています。

私が行った調査から、次のことがうまくいくはずです。

‘rtl_fm -f _____0000 -M fm -s 24k -l 45 -p 0 -g 38 | sox -r 24k -e signed -b 16 -c 1 -V1 -t raw - ~/___/___/____Radio_Recording_$(date+%Y-%m-%d_%H:%M:%S).mp3 silence 1 0.1 0.1% 1 00:02:00 0.1% : newfile : restart ‘ 

1/10 秒の音声が検出された後に録音を開始し、2 時間途切れることなく無音が続いた後に録音を停止し、ファイルを保存し、新しいファイルを作成してから、再び音声の聞き取りを開始する必要があります。

問題は、最初のファイルが保存された後に再起動しないことです。サウンドを待ち、最初のファイルを完全に記録して保存しますが、2 番目のファイルを作成したり、記録を再開したりしません。唯一の例外は、リセットするまでの待ち時間が正確に 1 秒の場合です。この時点で、想定どおりに循環します: サウンドの待機、録音、保存、および再起動。

1 秒が機能し、他の沈黙期間が機能しない理由、またはそれを修正する方法についてのアイデアがあれば、助けていただければ幸いです。

または、処理能力をほとんど必要としないこのプロセスを自動化するまったく別の方法を知っている場合は、提案をお待ちしています. コンセプトのテストでは、GQRX-PulseAudio-Audacity セットアップを使用しましたが、必要以上のシステム リソースを使用し、あまり自動化されておらず、ユーザー フレンドリーでもありませんでした。

4

0 に答える 0