当初、このホームプロジェクトの目標は、Raspberry Piからインターネットラジオ受信機を作成することでした。 古い木製の受信機を見つけるか復元するか、少なくとも1つのケースで、そこにRaspberry、バッテリー、ブラックジャックを入れて、wifiを提供したかったのです。 時間がないため、これはすべて安全に長い引き出しに入れられましたが、おそらく、そのうちに気付くでしょう。 しかし、私はプロジェクトのプログラム部分をやりました。
私の意見では、非常に明瞭な現代のビットレートが聞こえるように古いラジオを作ることは一般的ではありません。 つまり、それらも鳴らしますが、パルスコンバーターがまだなく、ユニコーンが通りを軽快に歩き回っていた時代の本物の音を聞くことは、古いラジオから私にとって二重に楽しいことです。 サウンドをエージングする方法のレシピ、私はこれを想像します:
- 1 ... 10μVの有用な信号、
- 0.3μVエコー、同じ周波数で同じ伝送、ただし異なる場所から、
- 同じ周波数で放送している別の局の0.2μV信号、
- 干渉whiのドロップ、もはや必要ありません、迷惑なので、
- 0.1μVの入力ノイズ、
- 秘密の成分はフェードです。つまり、入力回路のノイズを除くすべてのリストされた信号のフェード、彼らはAGCと一緒に仕事をします-自動利得調整。その結果、実際の無線の場合のように、バックグラウンド信号の1つが定期的に前面に来ます、
- さて、味わうために、高周波数をカットします。
ラジオは中波、夕方の時間で動作し、信号は遠くまで伝わることが理解されています。 リストは無期限に継続できますが、raspberryのリソースは限られていますが、多くのスレッドを開始してそれらを切り替えたいと思います。 したがって、私は上記に限定しました。 彼はこれをすべて、Icecastやその他の便利なユーティリティに基づいたサーバーの形で設計しました。 このサーバーは、お正月の休日にお祝いの雰囲気を作るのに役立ちます。 おそらく他の誰かに役立つでしょう。
サーバーの原理は次のとおりです。インターネットから取得した2つの入力オーディオストリームは、ffmpegを使用してwavに変換されます。ここでは、サンプリング周波数を下げて、高周波を除去し、プロセッサの作業を促進します。
その後、ストリームはCで作成された即興サウンドプロセッサを通過します。 私はシステムプログラミングの専門家に、エラーの可能性について私を蹴らないように頼みます。通常の生活では、私はWeb開発者です。私にとって、Cはbashのクイックバージョンのようなものです。 ここでは、各信号にはフェーディングを考慮したレベル値が割り当てられ、信号はレベルを考慮して合計され、合計信号が合計レベル値で除算されるため、AGCがシミュレートされ、受信音の音量はほぼ一定になります。
出力ストリームはoggencによってエンコードされ、ezstreamを使用してIcecastサーバーに送信され、そこで受信可能になります。
ここからプロジェクトのクローンを作成できます。インストールマニュアルもあります。 Raspberryではなく、通常のデスクトップLinuxに最初にインストールすることをお勧めします。一部のコンポーネントを手動で組み立てて、raspberryをいじる必要がある場合があるためです。 スクリプトstream-template-1206amの代わりに、私のお気に入りのラジオ局を使用して、起こりうるハブラー効果から、そして良心からの良心をプラグに置き換えて保護するスクリプトがありました。 代わりに、オーディオストリームを好みに合わせて、温かいチューブサウンドをお楽しみください。
すべての幸せな休日!
更新:ユーザーのアドバイスで、 Logonoffは、これがプロジェクトにどのように聞こえるかのサンプルを追加しました。