sox を使う

 rtl_fm でラジオを聞いていますが、アンテナをつけたり、電波強度が十分であれば、ほぼノイズなしで受信できるようになりました。ところが、ノイズがなくなったら音が金属的な感じがします。コマンドラインで次のように実行しています。

$ rtl_fm -g 10 -f 82.5M -M fm -s 200000 -r 48000 -E deemp – | aplay -q -r 48000 -f S16_LE

 よく見るとサンプリングレートが 200kHz になっています。GNU Radio のブロック図では 1.5〜2MHz になっているものをよく見かけます。

 試しに 2MHz にしたら、音は良くなった感じがしますが、音量が小さくなりました。ミキサーで最大にしても小さいです。そこで、音を増幅して再生するために、sox(play) を使うことにしました。

$ sudo apt-get install -y sox
$ rtl_fm -g 0 -f 82.5M -M fm -s 2000000 -r 48000 -E deemp – | play -q -t raw -r 48000 -e s -b 16 -c 1 – gain 25

 25dB 増幅させました。これでマシになりました。モノラルなので録音とかをするつもりはありませんが、流し聞きするなら十分になりました。

Raspberry Pi

Posted by sirius