光学ガラスコレクションの音楽照明

サンクトペテルブルク州立大学ITMOの光学博物館には、かなり注目すべき展示があります-さまざまなブランドとサイズの光学ガラスのコレクションであるアッベカタログ 博物館の管理者は、このカタログを音楽に合わせて強調することを望んでいたので、プロジェクトではカタログの音楽的なハイライトを作成しました。 これは、マイクロコントローラーを使用してLEDを点滅させるタスクに似ていますが、それよりも大きいだけです。



画像



画像



ハードウェアはLMTによって開発されました。 各ガラスの下には、コントローラーに接続されたLEDバーがあります。 コントローラーは、ツイストペアケーブルを使用してハブに接続するネットワークに接続され、ハブはUSBを介してコンピューターに接続します。



私の仕事は、現在再生している音楽に合わせてLEDルーラーを使用して画像を形成するソフトウェアを開発することでした。 つまり オーディオを視覚化できると同時に、タッチスクリーン用に設計されたインターフェイスを備えたシンプルなオーディオプレーヤー。 プログラム全体について話す理由はないので、サウンドの部分について説明します。



グラフィックスとサウンドを操作するために、SFMLライブラリが使用され、高速フーリエ変換-FFTWが実行されました。



オーディオ信号から情報を抽出するには、オーディオサンプルに直接アクセスする必要があります。 SFML + libsndfileバンドルを使用すると、これは簡単に実装できました。



特定の周波数(この場合はフレームレート)でオーディオファイルを再生すると、サンプルの配列の小さな部分が取得され、高速フーリエ変換が実行されます。 FFTのおかげで、周波数データの配列は音波データの配列から取得されます。 実際の変換の場合、結果の配列のサイズは元のサイズの2倍になります。



これらのようないくつかの部分が必要です:

画像



ここで、低音を正確に追跡できるようにするために、フーリエ変換にはかなり大きなデータ配列が必要です。 私の計算によると、2番目のオクターブで作業を開始するには、サイズ8096の配列が必要でした。44100のサンプリング周波数では、これは約0.2秒であり、これはかなり大きな間隔であり、もはや音が鳴りません。 したがって、この場合、デジタル信号処理の教科書に記載されている小さなトリックに頼る必要があります-小さな配列を取り、希望するサイズにゼロで追加します。 これは結果をわずかに変更しますが、この場合は重要ではありませんでした。



以下は、FFTが実際に実行するデータの種類です。

画像



スペクトルを取得するには、結果の配列のすべての要素を正方形に二乗する必要があります。配列のサイズとサンプリング周波数に基づいて、配列のどの要素にどの周波数の振幅があるかを簡単に判断できます。 配列の最後の要素には、サンプリング周波数の半分に等しいナイキスト周波数の振幅があり、その前に-要素の数に対応するステップがあります。 その後、それらから、音符の周波数に可能な限り近い周波数の振幅の値が選択されます。



オーディオサンプルの配列を処理した結果として得られたスペクトル:

画像



その後、もう少し処理-ピークを追跡し、最小感度制限値を超えて、振幅値を輝度値に変換します。 その後、画像形成に進むことができます。



なぜなら 「画面」の解像度は小さく、48x3です。ノートの空間的配置には多くのオプションがありません。 しかし、すぐに2つのアイデアが生まれました。 1つのバージョンでは、3つのグラスの列が組み合わされて1つの音符を表していますが、外側ではピアノの鍵盤に似たものが得られます。 2番目のバージョンでは、同じ列に並んでいる2つのメガネが1つの音を表示します。これは、3つの弦と非常に珍しい設定でギターに近いです。



最後の部分は色の形成です。 基本的にトーンを制御する必要があったため、HSVカラーモデルを使用すると、RGBよりもはるかに便利であることがすぐに明らかになりました。 音を視覚化する最も単純で最も論理的な方法の1つがニュートンによって提案されました-彼の考えでは、視覚スペクトルは1オクターブに対応します。 ニュートンの方法は、右下の画像に示されています。

画像

実験して、このアイデアはさらに発展しました-さまざまなモードで、可視スペクトル全体またはその一部が異なるオクターブ数に重ねられます。 たとえば、4オクターブごとの60度のトーンに加えて、初期度の一定の時間オフセットが追加されます。



色形成の別の方法は、Webデザインから借用されました。 その中で、テンプレートの1つを使用してカラーパレットが選択されます。



以下に例を示します。

画像



この方法を使用すると、よりコントラストのある画像を作成できます。 前の方法と同様に、基本トーンは時間的にシフトできます。



システム操作ビデオ(FullHDで利用可能):





参照:



1. ルーク・ニムツ、一次高調波-音楽/色理論

2. ビジュアルミュージックブログ



学生と志願者-そのようなこと(だけでなく)は、SPbSUITMOの「Embedded Computing Systems」の方向で管理できます



All Articles