2009-05-04 30 views

Respuesta

13

Si usa C++/CLI, aquí está an example que usa WPF cuatro (fourier es decir) pantalla.

Él hace referencia al this site que tiene información considerable acerca de lo que está preguntando, aquí está una línea de la página específica;

¿Cómo dividimos el sonido en frecuencias? Nuestros oídos lo hacen por medios mecánicos , los matemáticos lo hacen usando transformadas de Fourier, y las computadoras lo hacen usando FFT.

  1. The Physics of Sound 1.2. Oscilador armónico
  2. muestrear sonidos
  3. análisis de Fourier
  4. números complejos
  5. Digital transformada de Fourier
  6. FFT

Ahhh, me encontré con this unos minutos más tarde, es un nativo de C++ analizador . Código incluido, eso debería ponerlo en funcionamiento.

1

¿Estás tratando de escribir su propio audio /¿reproductor de música? Tal vez deberías intentar escribir un complemento para un reproductor existente para que puedas enfocarte en los gráficos en lugar de en las minucias de los códecs, dsp y dispositivos de salida de audio.

Sé que WinAMP y Foobar tienen API para complementos de visualización. Estoy seguro de que Windows Media Player e iTunes también los tienen. Solo elige un reproductor multimedia y comienza a leer. Algunos de ellos incluso pueden tener complementos de OpenGL existentes desde los cuales puede comenzar para que pueda enfocarse en OpenGL puro.

+0

No estoy tratando de escribir un reproductor ni nada, solo algo que contendrá un MP3 y lo visualizará, pero no sé nada sobre cómo conectar todas esas piezas. Estoy en Linux, así que me quedaré con algo simple. Realmente no he pensado en integrarlo en otra cosa. – victor

+2

considere usar una biblioteca como mpg123, libmad o ffmpeg para decodificar luego mp3 en muestras de audio. Desde allí, querrá usar DFT (FFT) para convertir el audio en información de frecuencia (vea FFTW). En este punto, tendrá datos de frecuencia en bruto similares a los que ve en la mayoría de visuladores (winamp/xmms líneas móviles con picos). Después de eso, necesita averiguar qué hacer según la frecuencia y los cambios en la frecuencia. – basszero

0

Para la parte de análisis de música, debe estudiar la base de la serie de Fourier, y luego elegir una implementación gratuita de un algoritmo DFFT (transformada digital rápida de Fourier).

4

Mi enfoque para la creación de BeatHarness (http://www.beatharness.com):

  • grabar audio en tiempo real
  • tener un hilo que se ejecuta una FFT en el audio para obtener las intensidades de frecuencia
  • cálculo de audio volumen para canal izquierdo y derecho
  • filtro de las frecuencias en las bandas (graves, medios tonos, agudos)

ahora tiene algunas variables agradables para usar en su pantalla gráfica. Por ejemplo, muestre una imagen donde el tamaño se multiplique por el bajo; esto le dará una imagen que ampliará el ritmo. A partir de ahí es su propia imaginación! :)

0

Es posible que desee considerar el uso de las funciones de FFT/DCT de libvisual sobre FFTW; es mucho más fácil trabajar con ellos y proporcionar datos que son igualmente fáciles de usar para generar efectos visuales. Varios reproductores de medios y complementos de visualización utilizan libvisual en cierta medida para sus imágenes. Ejemplos: Totem (jugador), GOOM (complemento para Totem y otros jugadores), PsyMP3 2.x (jugador)

Cuestiones relacionadas