tagger tag mp3id audio signal-processing synthesis

audio - mp3id - tag rename



Quiero aprender programación de audio (3)

Considere trabajar en el libro "¿Quién es Fourier ?: Una aventura matemática" . Podría adaptar los ejemplos para realizar pequeñas tareas de programación que demuestren los conceptos básicos. Una vez que hayas terminado, deberías poder usar el pie para hacer un espectrograma de tu voz mientras pronuncias las vocales a, e, i, o, u - identificando la frecuencia fundamental y los formantes de cada vocal.

Recomiendo aprender Python y los módulos NumPy, SciPy y matplotlib (hay una tonelada allí, así que más allá de los tutoriales básicos, solo aprenda sobre la marcha ). El shell iPython tiene la opción "-pylab -p scipy" para importar automáticamente las herramientas más comunes en su espacio de nombres. Puedes grabar y reproducir audio usando PyAudio . También está Pygame , que se expande en SDL (capa DirectMedia simple), y pyglet , que usa OpenAL (el OpenGL de audio; hace audio y efectos en 3D).

En cuanto a C / C ++, hay IT ++, SPUC y FFTW para el procesamiento de señales, y SDL / SDL_mixer y OpenAL / ALmixer para interactuar con hardware y archivos de audio.

En mi escuela secundaria podemos tomar una clase en la que básicamente aprendemos sobre un tema por nuestra cuenta durante un semestre. Estaba pensando que quiero aprender sobre "programación de sonido", pero me di cuenta de que no tengo idea de lo que eso implica. Me interesa conocer, por ejemplo, cómo funciona un sintetizador y cómo funciona el sonido en la informática. Realmente quiero centrarme en la parte del código de bajo nivel, no tanto en la parte de la composición. ¿Es este un tema factible? ¿Hay buenos tutoriales para alguien completamente nuevo en esto? Conozco C ++ y estoy usando Windows. La primera respuesta en this es algo que me interesa (aunque está sobre mi cabeza).


La "programación de sonido" es un campo muy amplio. En primer lugar, definitivamente es un tema factible, pero ya que necesita agrupar cosas en un solo semestre, tendrá que limitar su alcance. Puedo ver que estás buscando un lugar para comenzar, así que aquí hay algunas ideas para que pienses.

Como ha mencionado tanto "cómo funciona el sonido en la informática" y "sintetizadores", vale la pena señalar la diferencia entre el sonido analógico , el sonido muestreado y el sintetizado , ya que son conceptos diferentes. Les explicaré brevemente aquí.

El sonido analógico es el sonido tal como los humanos lo interpretamos, vibraciones del aire percibidas por el oído humano. Puede pensar en el sonido como una señal unidimensional, donde la variable independiente es el tiempo y la variable dependiente es la amplitud de la vibración. El sonido analógico es continuo tanto en el dominio del tiempo como de la amplitud. Los métodos de grabación de sonido más antiguos (por ejemplo, una cinta magnética) utilizaban una representación de sonido analógica. El sonido analógico no se usa con frecuencia en las computadoras (las computadoras no son buenas para almacenar datos de dominio continuo), pero la comprensión de las señales analógicas es importante, sin embargo. Espere ver un montón de matemáticas (por ejemplo, números complejos, transformadas de Fourier) si sigue este camino.

El sonido muestreado es la representación sonora que se presta bien al procesamiento con una computadora. La gente está más familiarizada con el sonido muestreado a través de CD y otras grabaciones musicales. Se muestrea una señal analógica en alguna frecuencia (por ejemplo, 44.1 KHz para grabación de CD). Por lo tanto, una señal de sonido muestreada es discreta en el dominio del tiempo. Si la señal se cuantifica, entonces también será discreta en el dominio de amplitud. Los formatos como MP3 son formatos muestreados. Hay muchas cosas que estudiar en este campo si está interesado, como la restauración (eliminación de estática, etc.) y la compresión (nuevamente, los códecs MP3, Ogg Vorbis). Es muy divertido porque hay mucho para experimentar y codificar.

Tanto el sonido analógico como el muestreado profundizan en un campo llamado Procesamiento de señal digital . Google busca eso para tener una idea de cómo es. A menudo se enseña como un curso en las universidades, así que si estás realmente interesado puedes echar un vistazo a algunas diapositivas de conferencias o incluso probar algunos de los proyectos más simples y anteriores.

El sonido sintetizado es una representación adecuada para la reproducción de una pista de música, donde los instrumentos que la tocan son conocidos de antemano. Piensa en ello como partituras para la computadora. Alguien tiene que escribir la partitura, no se puede simplemente grabar como un sonido analógico o muestreado. Esto hace que el sonido sintetizado sea ​​una representación completamente diferente del sonido analógico y del sonido muestreado. Además, la computadora necesita saber qué son los instrumentos (por ejemplo, el piano) para poder reproducir (sintetizar) la pista. Si no conoce el instrumento, se da por vencido o elige una coincidencia cercana (por ejemplo, reemplaza el piano por un teclado eléctrico). Nunca he trabajado con sintetizadores antes, así que no puedo comentarles la curva de aprendizaje.

Entonces, basándome en lo que escribí: elija una dirección que le interese más, busque en Google y luego afine su pregunta.

EDITAR

Un buen libro para leer es this . Probablemente pueda mirar alrededor de títulos relacionados en Amazon y encontrar algo más nuevo, pero ha pasado un tiempo desde que hice mis compras de procesamiento de audio.

Y si tienes media hora de sobra, mira este video tutorial . Cubre el sonido, la imagen y el procesamiento de video, en realidad son campos muy relacionados.


Recomendaría este libro: http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=8218 (parte del mismo está disponible aquí: http://books.google.com/books?id=nZ-TetwzVcIC&printsec=frontcover&dq=computer+musical+tutorial&hl=pt-BR&ei=D-dKTaKsBMOB8gbF4KDcDg&sa=X&oi=book_result&ct=result&resnum=1&ved=0CDgQ6AEwAA#v=onepage&q=computer%20musical%20tutorial&f=false

Y otra cosa que podría ver es puredata, es un entorno gráfico de código abierto para la programación de sonido, y es ideal para principiantes. ( http://puredata.info/ )