En mi escuela secundaria podemos tomar una clase donde básicamente aprendemos sobre una materia por nuestro 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. Estoy interesado en conocer, por ejemplo, cómo funciona un sintetizador y cómo funciona el sonido en informática. Realmente quiero centrarme en la parte del código de bajo nivel, no tanto en la parte de la composición. ¿Es esto un tema factible? ¿Hay buenos tutoriales para alguien completamente nuevo en esto? Sé C++ y estoy usando Windows. La primera respuesta en this es algo que me interesa (aunque me ha pasado por la cabeza).Quiero aprender programación de audio
Respuesta
"Programación de sonido" es un campo muy amplio. En primer lugar, definitivamente es un tema factible, pero dado que necesita incluir cosas en un solo semestre, deberá limitar su alcance. Veo que está buscando un lugar para comenzar, así que aquí hay algunas ideas para hacerle pensar.
Puesto que usted ha mencionado tanto "cómo funciona el sonido en la informática" y "sintetizadores", vale la pena señalar la diferencia entre sonido analógico, sonido muestreado y sonido sintetizado, ya que son conceptos diferentes. Los explicaré brevemente aquí.
El sonido analógico suena como lo interpretamos los humanos: las vibraciones del aire detectadas por el oído humano. Puedes 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 de tiempo como de amplitud. Los métodos de grabación de sonido más antiguos (por ejemplo, cinta magnética) usaban una representación de sonido analógico. 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. Espera ver muchas matemáticas (por ejemplo, números complejos, transformadas de Fourier) si sigues este camino.
El sonido de muestra es la representación de sonido que se presta bien al procesamiento con una computadora. La gente está más familiarizada con el sonido de la muestra a través de CD y otras grabaciones musicales. Una señal analógica se muestrea a alguna frecuencia (por ejemplo, 44.1 KHz para la grabación de CD). Entonces, una señal de sonido muestreada es discreta en el dominio del tiempo. Si la señal es cuantificada, también será discreta en el dominio de amplitud. Los formatos como MP3 son formatos de muestra. Si estás interesado, hay muchas cosas que estudiar en este campo, como restauración (eliminación de estática, etc.) y compresión (de nuevo, codecs MP3, Ogg Vorbis). Es muy divertido porque hay mucho para experimentar y codificar.
Tanto el sonido analógico como el muestreado cavan profundamente en un campo llamado Digital Signal Processing. Busque en Google para obtener una idea de cómo es. A menudo se enseña como un curso en las universidades, por lo que si estás realmente interesado puedes echar un vistazo a algunas diapositivas de conferencias o incluso probar algunos de los proyectos anteriores más simples.
Sonido sintetizado es una representación que es adecuada para la reproducción de una pista de música, donde los instrumentos que tocan la pista son conocidos de antemano. Piense en ello como una partitura para la computadora. Alguien tiene que escribir la partitura - no se puede simplemente grabar como sonido analógico o muestreado. Esto hace que sintetiza sonido una representación completamente diferente a sonido analógico y sonido muestreado Además, el equipo tiene que saber lo que son los instrumentos (por ejemplo piano) para que pueda jugar (sintetizar) de la pista.Si no conoce el instrumento, se da por vencido o elige una coincidencia cercana (por ejemplo, reemplaza el piano con un teclado eléctrico). Nunca he trabajado con sintetizadores antes, así que no puedo comentar sobre la curva de aprendizaje para ellos.
Por lo tanto, basándome en lo que escribí, elija una dirección que le interese más, navegue por Google y luego refine su pregunta.
EDITAR
Un buen libro para leer es this. Probablemente pueda buscar 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 tiene media hora de sobra, entonces eche un vistazo a este video tutorial. Cubre el procesamiento de sonido, imagen y video; en realidad, son campos estrechamente relacionados.
Awesome answer. Me has dado mucho por lo que me puedo ir. ¡Definitivamente veré ese libro! – ahota
Considere trabajar a través del libro "Who Is Fourier?: A Mathematical Adventure". Puede adaptar los ejemplos para hacer pequeñas asignaciones de programación que demuestren los conceptos básicos. Después de que termines, deberías poder utilizar el fft para hacer un espectrograma de tu voz cuando pronuncies 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, and matplotlib (hay mucho, 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. Puede grabar y reproducir audio usando PyAudio. También hay Pygame, que se expande en SDL (capa Simple DirectMedia) y pyglet, que usa OpenAL (el OpenGL de audio; hace audio y efectos 3D).
En cuanto a C/C++, hay IT ++, SPUC y FFTW para el procesamiento de señal, y SDL/SDL_mixer y OpenAL/ALmixer para la interfaz con hardware y archivos de audio.
Yo recomendaría este libro: http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=8218 (parte de ella 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 buscar es en puredata, es un entorno gráfico de código abierto para la programación de sonido, y es genial para principiantes. (http://puredata.info/)
- 1. Quiero aprender COM. ¿Cómo debo proceder?
- 2. ¿Cómo puedo aprender una programación de DirectShow?
- 3. Quiero aprender a ensamblar, confundido acerca de dónde empezar
- 4. Quiero aprender WPF. ¿Tienes alguna sugerencia de proyecto inicial?
- 5. ¿Dónde puedo aprender la programación de DirectX?
- 6. Cómo aprender programación de GUI en F #
- 7. ¿Cómo aprender R como lenguaje de programación?
- 8. ¿Por dónde empezar a aprender sobre el procesamiento de audio?
- 9. Comenzando con la programación de audio
- 10. ¿Cómo puedo comparar 2 archivos de audio mediante programación?
- 11. ¿Debo aprender Swing antes de aprender JavaFx?
- 12. ¿Qué debería aprender un administrador no de programación
- 13. ¿Cómo se puede aprender la programación paralela de subprocesos múltiples?
- 14. ¿Cómo puedo aprender algoritmos para concursos de programación?
- 15. ¿Cómo puedo aprender la programación CAD/CAM/CNC?
- 16. Quiero hacer un proyecto sobre programación de sonido, pero no sé por dónde empezar
- 17. Quiero hacer un archivo de video a partir de secuencias de imágenes y archivos de audio
- 18. ¿Recursos para aprender la programación bit a bit?
- 19. ¿Buenos libros para aprender programación C++ en UNIX (pref Linux)?
- 20. Fuentes para aprender más programación centrada en hardware
- 21. ¿Por dónde empezar a aprender sobre códecs de audio o video?
- 22. Recursos para aprender Verilog
- 23. ¿Cuál es la mejor manera de aprender sobre programación de temas relacionados con la seguridad? (PHP)
- 24. ¿Cómo mezclar muestras de audio?
- 25. ¿Cómo puedo aprender _realmente_ la programación de redes de bajo nivel?
- 26. ¿Cuáles son las cosas más importantes que aprender acerca de la Programación Java?
- 27. ejemplos de código para aprender la programación back-end de LLVM
- 28. incrementar el tono de programación de una serie de muestras de audio
- 29. ¿Quiero un ORM?
- 30. Cómo aprender agda
Vaya, no me di cuenta de que tenía que hacer eso. ¡Gracias por el aviso! – ahota