[A cualquiera que reconozca que la siguiente configuración se deriva descaradamente de la musique concrète y la música de Cage: disculpas por las groseras simplificaciones]
Configuración: tengo un proyecto en el que necesito leer mediante programación muestras de audio, posiblemente manipular sus funciones (aplicar envolventes, invertir, reverberación, acelerar/disminuir, etc.) y combinarlas en secuencias.
Básicamente, necesito controlar mediante programación los efectos que tendría disponibles en una herramienta como Audacity o sus equivalentes.
Pregunta: ¿Qué tipos de herramientas podría considerar para lograr esto? He analizado brevemente el supercolisionador y los datos puros (= leí un par de tutoriales), pero parecen estar orientados principalmente a la síntesis de sonido, aunque es posible leer muestras de archivos. La orientación de la síntesis de sonido también parece introducir mucha complejidad innecesaria para un proyecto tan simple como el mío. Además, los datos puros (y sus hermanos) están orientados visualmente y, si es posible, preferiría un entorno basado en texto.
¿Quizás hay bibliotecas de manipulación de sonido que permitirían el acceso a efectos "similares a Audacity" desde un lenguaje de programación estándar (una herramienta que sería como un "enlace de Audacity" para el lenguaje X, a falta de un término mejor)?
Una forma de hacerlo sería simplemente usar un lenguaje de programación de propósito general (casi cualquiera sirve) para leer las muestras de audio, realizar cualquier procesamiento y escribir la pieza en el disco. Leer y escribir en formato WAV es bastante sencillo, incluso si necesita analizarlo usted mismo. Algunas de las manipulaciones que mencionas (aplicar envolventes, ralentizar el audio) son muy fáciles de codificar; La reverberación de convolución es bastante fácil. Acelerar el audio puede ser un poco más difícil, ya que debe hacerlo de una manera que evite el aliasing . http://musicdsp.org/ es un recurso para algoritmos de audio que puede implementar usted mismo.
Por supuesto, es posible que prefiera obtener una biblioteca de audio de terceros para que haga parte del trabajo por usted para que no tenga que hacer todo este trabajo de bajo nivel. La elección de estos dependerá del idioma que esté utilizando.
Otra opción sería un lenguaje que tenga un buen soporte de audio integrado en sus bibliotecas estándar ; por ejemplo, JavaScript es bastante capaz con audio si lo usa en un navegador compatible con Web Audio API . Esta API es compatible con todas las cosas que ha mencionado, e incluso podría hacer que sucedan algunas cosas interactivas interesantes en el navegador web (¡y, por supuesto, poner sus trabajos interactivos en la web!).
Luego llegamos a los lenguajes de programación de audio dedicados , que a menudo son dialectos de los lenguajes de programación generales con soporte de biblioteca de audio incorporado como estándar. Uno del que vi una gran demostración recientemente es Sonic PI (que usa supercolisionador debajo del capó) y está orientado a la codificación en vivo, aunque puede renderizar su trabajo en el disco con la misma facilidad. Esta sería una de mis recomendaciones personales para un punto de partida sencillo, aunque no soy un experto en eso.
También puede considerar usar algunas herramientas de audio de línea de comandos y escribir un archivo de secuencia de comandos por lotes/PowerShell/otro para impulsarlos a realizar algún procesamiento. Sox es un ejemplo, y la banda elástica también es una pequeña herramienta interesante.
Нет войне
Todd Wilcox
Нет войне
stefano
Нет войне