Frage

Ich interessiere mich für das Lernen OpenGL zu verwenden, und ich hatte die Idee, einen Musik-Visualizer zu schreiben. Kann jemand mir einige Hinweise von welchen Elementen gibt es braucht, und wie soll ich gehen über das Lernen, dies zu tun?

War es hilfreich?

Lösung

Wenn Sie C ++ / CLI verwenden, hier ist Beispiel dass WPF verwendet vier (Fourier-, das ist;). Anzeige

Er verweist diese Seite ( diese ( archiviert ) ein paar Minuten später, es ist eine native C ++ Analysator. Code enthalten, das sollten Sie ab und läuft.

Andere Tipps

Mein Ansatz für die Erstellung von BeatHarness ( http://www.beatharness.com ):

  • Audio aufnehmen und in Echtzeit
  • hat einen Thread, der eine FFT auf dem Audio läuft, um die Frequenzintensitäten
  • zu erhalten
  • berechnen Audio-Lautstärke für den linken und rechten Kanal
  • Filter, die Frequenzen in Bänder (Bass, Mittelton- Höhen)

Jetzt haben Sie ein paar nette Variablen in der Grafik-Display verwenden. Zum Beispiel zeigt ein Bild, wo die Größe des Bass multipliziert wird - dies werden Ihnen ein Bild, das auf dem Schlag vergrößern würde. Von dort aus ist es Ihre eigene Fantasie! :)

Versuchen Sie, Ihren eigenen Audio / Musik-Player zu schreiben? Vielleicht sollten Sie versuchen, ein Plugin für einen vorhandenen Spieler zu schreiben, so dass Sie auf Grafiken statt der Minutien von Codecs, dsp und Audioausgabegeräte konzentrieren.

ich weiß WinAMP und Foobar haben APIs für Visualisierungs-Plugins. Ich bin sicher, dass Windows Media Player und iTunes auch sie haben. Wählen Sie einfach einen Media-Player und zu lesen beginnen. Einige von ihnen können sogar vorhandene OpenGL-Plugins haben, von denen Sie beginnen können, so können Sie sich auf reine OpenGL konzentrieren.

Wenn Sie gerade nach einigen grundlegenden 3D sind oder 2D beschleunigt dann würde ich empfehlen, eine Kopie von Dave Astle den Kauf von „ Beginning OpenGL Game Programming “, die die Grundlagen der OpenGL in C ++ abdeckt.

Für das Musikanalyseteil, können Sie die Basis der Fourierreihen untersuchen sollte, dann wählen Sie eine freie Implementierung eines DFFT (digital schnelle Fourier-Transformation) Algorithmus.

Sie können Implementierung von FFT-Algorithmen und andere nützliche Informationen in Numerical Recipes in C Buch. Das Buch ist kostenlos AFAIK. Es gibt auch Numerical Recipes in C ++ Buch.

Sie möchten mit libvisual der FFT / DCT-Funktionen über FFTW prüfen; sie sind viel einfacher zu verarbeiten und Daten, die mit zum Zwecke der Erzeugung von Bildmaterial zu arbeiten, ähnlich einfach ist. Mehrere Medien-Player und Visualisierungs-Plugins verwenden libvisual für ihre Visuals zu einem gewissen Grad. Beispiele: Totem (Spieler), GOOM (Plugin für Totem und andere Spieler), PsyMP3 2.x (Spieler)

Aus meiner Sicht ... überprüfen Sie diese Seite: http://nehe.gamedev.net/

wirklich gute Informationen und Anleitungen für die Verwendung von OpenGL

edit: http://www.opengl.org/code/

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top