web-dev-qa-db-ja.com

音楽ビジュアライザーの作成

では、どのようにして音楽ビジュアライザーを作成しますか?私はGoogleを調べましたが、実際のプログラミングについて話すものは実際には見つかりませんでした。ほとんどはプラグインへのリンクまたはアプリケーションの視覚化だけです。

ITunesを使用していますが、そのためのプログラミングにはXcodeが必要であることがわかりました(現在イラクに配備されており、そのサイズの大きなファイルをダウンロードできません)。だから今、私はその背後にある「理論」を学ぶことに興味があります。例えば、周波数の処理やその他の必要なことです。

52
crystalattice

ビジュアライザーが曲ファイルを再生するとき、非常に短いタイムスライス(通常は20ミリ秒未満)でオーディオデータを読み取ります。ビジュアライザーは各スライスでフーリエ変換を行い、周波数成分を抽出し、周波数情報を使用して視覚表示を更新します。

周波数情報に応じて視覚表示がどのように更新されるかは、プログラマー次第です。一般に、音楽に合わせてビジュアルを更新するために(PCを動かさないように)、グラフィックスメソッドは非常に高速で軽量でなければなりません。初期の(そしてそれでも)ビジュアライザーは、Windowsのカラーパレットを直接変更して、かなりクールな効果を実現することがよくありました。

周波数成分ベースのビジュアライザーの特徴の1つは、音楽の「ビート」(たとえば、パーカッションヒットなど)にあまりよく反応しないように見えることです。周波数領域の情報と、パーカッションのヒットに対応することが多いオーディオの「スパイク」の認識を組み合わせた、より興味深く応答性の高いビジュアライザーを作成できます。

27
MusiGenesis

BeatHarness( http://www.beatharness.com )を作成するために、私はFFTを使用してオーディオスペクトルを取得し、いくつかのフィルタリングとエッジ/オンセット検出を使用しました。

高速フーリエ変換について: http://en.wikipedia.org/wiki/Fast_Fourier_transform

数学に慣れているなら、ポール・バークのページを読んでください: http://local.wasp.uwa.edu.au/~pbourke/miscellaneous/dft/

(Paul Bourkeはとにかくグーグルで検索したい名前です。彼はあなたが今知りたい、あるいはおそらく今後2年間で知りたいトピックに関する多くの情報を持っています;))

後藤雅貴のビート/テンポ検出グーグルについて読みたいなら、彼はそれについていくつかの興味深い論文を書いています。

編集:

彼のホームページ: http://staff.aist.go.jp/m.goto/ 興味深い読み物: http://staff.aist.go.jp/m.goto/PROJ /bts.html

低音、中音、高音、音量(左と右)などの値を設定したら、それらをどのように処理するかはあなた次第です。たとえば、画像を表示し、サイズに低音を掛けます-ビートなどにズームインする画像が得られます。

20
Led

通常、一定量のオーディオデータを取得し、周波数分析を実行し、そのデータを使用して、繰り返し表示されるグラフィックを変更します。周波数分析を行う明らかな方法は [〜#〜] fft [〜#〜] を使用することですが、単純な tone detection も同様に機能します。より低い計算オーバーヘッド。

したがって、たとえば、一連の図形を連続して円で描くルーチンを作成します。次に、支配的な周波数を使用して円の色を決定し、ボリュームを使用してサイズを設定します。

13
Mark Bessey

オーディオデータの処理にはさまざまな方法がありますが、最も簡単な方法は、データを急速に変化する波形として表示し、それにグラフィカル効果を適用することです。同様に、周波数を得るために高速フーリエ変換を行わずに、ボリュームのようなものを計算し(パラメータとしてグラフィックルーチンに渡すことができます)、信号の平均振幅を計算するだけです。

FFTを使用してデータを周波数ドメインに変換するか、 スペクトログラム などのより洗練された効果を可能にします。しかし、ドラムビートのタイミングやFFT出力から直接ノートのピッチのような非常に「明白な」ものを検出することは一見難しいです

信頼性の高いビート検出とトーン検出は、特にリアルタイムでは難しい問題です。私は専門家ではありませんが、 このページ は、いくつかの簡単なアルゴリズム例とその結果を実行します。

6
Chris Johnson

小さいダウンロードで、かなりポータブルなツールセットを探している場合(および過激なコミュニティが利用できる場合)、Processing( http://www.processing.org )、特に- http://processing.org/learning/libraries/ ESSの下。これでウサギの穴が開けるはずです。 iTunesビジュアライザーを作成しませんでしたが、これのプロトタイプ作成に使用されました: http://www.barbariangroup.com/software/magnetosphere これはデフォルトのiTunesビジュアライザーになりました。

5
Pragmaticyankee

@Pragmaticyankeeで提案されているように、処理は実際に音楽を視覚化する興味深い方法です。 Ableton Liveに音楽をロードし、EQを使用して、音楽から高周波数、中周波数、低周波数を除外できます。次に、VST follwoingプラグインを使用して、オーディオエンベロープをMIDI CCメッセージ、たとえばMokafix AudioのGatefish(Windowsで動作)またはPizMidiのmidiAudioToCCプラグイン(Macで動作)などに変換できます。これらをMIDI CCメッセージをMIDIをサポートする発光ハードウェアツール、たとえばパーカッサオーディオキューブに送信します。表示するすべての周波数にキューブを使用し、キューブに色を割り当てることができます。この投稿をご覧ください:

http://www.percussa.com/2012/08/18/how-do-i-generate-rgb-light-effects-using-audio-signals-featured-question/

2
John

最近、DirectSoundベースのオーディオデータ入力ルーチンを LightningChart データ視覚化ライブラリに追加しました。 LightningChart SDKはVisual Studio .NET(WPFおよびWinForms)のコンポーネントのセットであり、便利な場合があります。

AudioInputコンポーネントを使用すると、サウンドデバイスからリアルタイムの波形データサンプルを取得できます。 Spotify、WinAmp、CD/DVDプレーヤーなどのソースからサウンドを再生したり、マイク入力コネクターを使用したりできます。

SpectrumCalculatorコンポーネントを使用すると、多くの視覚化で便利なパワースペクトル(FFT変換)を取得できます。

LightningChartUltimateコンポーネントを使用すると、波形グラフ、棒グラフ、ヒートマップ、スペクトログラム、3Dスペクトログラム、3Dラインなど、さまざまな形式でデータを視覚化でき、それらを組み合わせることができます。すべてのレンダリングは、Direct3Dアクセラレーションを介して行われます。

SDKの独自の例には科学的なアプローチがあり、エンターテインメントの側面はあまりありませんが、素晴らしいエンターテイメントの視覚化にも使用できます。

また、構成可能なSignalGenerator(スイープ、マルチチャンネル構成、サイン、スクエア、トライアングル、ノイズ波形、WAVリアルタイムストリーミング、スピーカーまたはライン出力からウェーブデータを送信するためのDirectXオーディオ出力コンポーネントもあります。

Waveform and 3D spectrogram

Gradient bars [私はLightningChartコンポーネントのCTOであり、気に入っているという理由だけでこのようなことをしています:-)]

2
Pasi Tuomainen
  1. 一連の変数を指定して、画面上に何か面白いものを描画するアルゴリズムを考案します
  2. オーディオストリームを、ビート/分周波数、異なる周波数範囲、トーンなどを分析する一連の変数に変換する方法を考案します。
  3. 変数をアルゴリズムにプラグインし、描画を監視します。

単純な視覚化とは、音楽が特定の周波数のしきい値を超えるたびに画面の色を変更するものです。または、画面にbpmを書き込むだけです。または単にオシロスコープを表示します。

これを確認してください wikipedia article

2
Omar Kooheji

VizKit by Heiko Wichmannは、非常に素晴らしいクロスプラットフォーム(サードパーティ)のSDKおよび開始点のようです(Visualizer API Appleしばらく前にリリースされました)。

Xcodeでコンパイルしたばかりで、ビジュアルスタジオプロジェクトも含まれています。 iTunesは一度クラッシュしましたが、その後は正常に動作しました。私がこれまで好きだったのは、低い依存関係(envで1つのフレームワークパスを修正する必要があった)、多数のサンプル(EQ、スペクトル、アルバムアートワーク、ヒストグラム)、 非常に明確なアーキテクチャ 、同意できるライセンスです。

Sourceforge でも利用可能です。

1
owenfi

Lee Brimelowには、これをフラッシュで行うための 素晴らしいビデオチュートリアル があります。フラッシュ以外の何かを使用して実装したい場合でも、正しい方向を示す必要があります。

MDNには素敵なチュートリアルがあります Web Audio APIで視覚化を行うためにも。

1
Kristian J.

このリンクはあなたが望むことを正確に行い、ソースコードをダウンロードすることができます:私はそれが本当に役立つことがわかりました: http://www.raywenderlich.com/36475/how-to-make-a-music-visualizer- in-ios

0
Jack Solomon

http://developer.Apple.com/library/mac/#technotes/tn/tn2016.html に移動します。 AppleのiTunes Visualizerに関する情報を直接提供します。また、作業を行わずに、FFT後のiTunesで波形データを提供できることも言及しています。

0
ughoavgfhw