Question

Je suis intéressé par l’utilisation d’OpenGL et j’ai eu l’idée d’écrire un visualiseur musical. Quelqu'un peut-il me donner des indications sur les éléments dont j'ai besoin et sur la manière dont je devrais m'y prendre pour apprendre à le faire?

Était-ce utile?

La solution

Si vous utilisez C ++ / CLI, voici un exemple qui utilise WPF quatre (quatre c'est-à-dire;) affichage.

Il fait référence à ce site ( archivé ) qui contient de nombreuses informations sur ce que vous demandez , voici un aperçu de la page spécifique;

  

Comment divisons-nous le son en   fréquences? Nos oreilles le font par   moyens mécaniques, mathématiciens le font   utilisant des transformées de Fourier, et   les ordinateurs le font en utilisant la FFT.

     
      
  1. La physique du son      
        
    • Oscillateur harmonique
    •   
  2.   
  3. Échantillonnage des sons
  4.   
  5. Analyse de Fourier
  6.   
  7. Nombres complexes
  8.   
  9. Transformée de Fourier numérique
  10.   
  11. FFT
  12.   

Ahhh, j'ai trouvé this ( archivé ) quelques minutes plus tard, il s'agit d'un analyseur C ++ natif. Code inclus, cela devrait vous rendre opérationnel.

Autres conseils

Mon approche pour créer BeatHarness ( http://www.beatharness.com ):

  • enregistrer de l'audio en temps réel
  • avoir un fil qui exécute une FFT sur l'audio pour obtenir les intensités de fréquence
  • calculer le volume audio des canaux gauche et droit
  • filtre les fréquences par bandes (basses, moyennes et aiguës)

Vous avez maintenant de bonnes variables à utiliser dans votre affichage graphique. Par exemple, montrez une image dont la taille est multipliée par la basse - cela vous donnera une image qui permettra de zoomer sur le temps. A partir de là, c'est votre propre imagination! :)

Essayez-vous d’écrire votre propre lecteur audio / musique? Vous devriez peut-être essayer d’écrire un plug-in pour un lecteur existant afin de pouvoir vous concentrer sur les graphiques plutôt que sur la minutie des codecs, des dsp et des périphériques de sortie audio.

Je sais que WinAMP et Foobar ont des API pour les plug-ins de visualisation. Je suis sûr que Windows Media Player et iTunes les ont également. Il suffit de choisir un lecteur multimédia et de commencer à lire. Certains d'entre eux peuvent même avoir des plugins OpenGL existants à partir desquels vous pouvez démarrer pour pouvoir vous concentrer sur OpenGL pur.

Si vous recherchez juste une 3D de base ou une 2D accélérée, nous vous recommandons d’acheter un exemplaire de " Début de la programmation de jeux OpenGL " qui couvre les bases de OpenGL en C ++.

Pour la partie analyse musicale, vous devriez étudier les bases des séries de Fourier, puis choisir une implémentation libre d’un algorithme DFFT (Digital Fast Fourier Transform).

Vous pouvez trouver la mise en oeuvre des algorithmes FFT et d’autres informations utiles dans Recettes numériques en C livre. Le livre est libre autant que je sache. Il existe également un livre Recettes numériques en C ++ .

Vous pouvez envisager d’utiliser les fonctions FFT / DCT de libvisual sur FFTW; Ils sont beaucoup plus simples à utiliser et fournissent des données tout aussi simples à utiliser pour générer des éléments visuels. Plusieurs lecteurs multimédias et plugins de visualisation utilisent libvisual dans une certaine mesure pour leurs visuels. Exemples: Totem (lecteur), GOOM (plug-in pour Totem et autres joueurs), PsyMP3 2.x (lecteur)

De mon point de vue ... consultez ce site: http://nehe.gamedev.net/

vraiment bons informations et tutoriels pour utiliser OpenGL

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top