sonidos reconocimiento para musicales los juego instrumentos escuchar escritos descargar auditivo adivinar algorithm audio music

algorithm - reconocimiento - sonidos de instrumentos musicales para descargar



Generar sonidos de instrumentos musicales algorítmicamente (8)

Además de las respuestas proporcionadas aquí, también hay marcos de síntesis de análisis que construyen modelos matemáticos (a menudo basados ​​en la captura de las trayectorias de los componentes sinusoidales o de ruido) de un sonido de entrada, permitiendo la transformación y la resíntesis. Algunos marcos bien conocidos son: SMS (disponible a través del proyecto CLAM C ++) y Loris.

Los modelos físicos de los instrumentos también son una opción: modelan las propiedades físicas de un instrumento como la rigidez de la lámina, la apertura de la cámara de soplado, el clic de la tecla y, a menudo, producen efectos realistas al incorporar efectos no lineales como el sobregiro. STK es uno de estos marcos en C ++.

Estos marcos generalmente son más pesados ​​que la opción de síntesis de tabla de ondas, pero pueden proporcionar más parámetros para la manipulación.

¿Es posible generar sonidos de instrumentos musicales usando solo algoritmos? ¿o solo se puede hacer a través de muestras de sonido pregrabado?


Ciertamente lo es, y hay muchos enfoques. Wolfram lanzó recientemente WolframTones , que (como era de esperar, si conoces a Wolfram) usa un autómata celular. Una descripción detallada de cómo funciona está here .


Después de varios días de cacería, este es el mejor recurso que he encontrado: https://ccrma.stanford.edu/~jos/

Este es un tesoro para el tema de la sintetización de sonidos.

STK Por ejemplo, esta página enlaza con un ejemplo C de sintetizar una cadena, también un kit de herramientas STK escrito en C ++ para ayudar en este trabajo.

Esto me mantendrá en silencio durante unas semanas mientras lo hojeo.


El Algoritmo fuerte de Karplus ofrece una muy buena síntesis de una cuerda punteada. También se puede codificar en unas pocas líneas de C. Se crea un búfer circular de flotantes (longitud proporcional a la longitud de onda, es decir, 1 / f), y se llena de ruido aleatorio entre -1 y 1.

A continuación, realiza un ciclo: en cada ciclo, reemplaza el valor en su índice actual con el promedio de los dos valores anteriores y emite este nuevo valor.

index = (index+1) % bufSize; outVal = buf[index] = decay * 0.5 * ( buf[index-1] + buf[index-2] );

La secuencia de bytes resultante le da su sonido. Por supuesto, esto puede ser muy optimizado.

Para hacer que la onda de sonido se humedezca a 0.15 de su resistencia original después de un segundo, puede establecer la descomposición de esta manera:

#define DECAY_1S =.15 Float32 decay = pow(DECAY_1S, 1.0f / freq);

Nota: necesita dimensionar el buffer original para que contenga una forma de onda completa. por lo tanto, si desea generar un sonido de 441 Hz y su frecuencia de muestreo es de 44.1 KHz, necesitará asignar 100 elementos en su búfer.

Puedes pensar en esto como una cámara de resonancia, cuya frecuencia fundamental es 441 Hz, inicialmente energizada, con energía que se disipa hacia afuera desde cada punto del anillo simultáneamente. Mágicamente parece organizarse en armónicos de una frecuencia fundamental.

¿Alguien podría publicar más algoritmos? ¿Qué tal un algoritmo para un tono continuo?


Es completamente posible, esa es una de las cosas que hacen los synthesizers .

Ser posible no significa que sea simple. Los sintetizadores suelen ser caros, y la cantidad de algoritmos utilizados es compleja: la página de wikipedia que he vinculado anteriormente tiene enlaces a algunos de ellos.

Los sonidos pregrabados son más simples y más económicos de usar, pero también tienen sus limitaciones: suenan más "repetitivos", por ejemplo.


Hace varios años, la revista Sound on Sound publicó una excelente serie llamada "Synth Secrets", que ahora se puede ver en línea de forma gratuita. Ofrecen una buena introducción a los tipos de técnicas utilizadas en los sintetizadores de hardware (analógicos y digitales) e incluyen algunos artículos sobre las dificultades de reproducir ciertos sonidos de instrumentos del mundo real, como cuerdas pulsadas y dobladas, metales, tambores, pianos acústicos. etc.


La síntesis de tabla de ondas ( PDF ) es el método más realista de síntesis de instrumento real, ya que toma muestras y las altera ligeramente (por ejemplo, agregando vibrato, expresión, etc.).

Las formas de onda generadas por la mayoría de los instrumentos musicales (especialmente instrumentos de viento y metal) son tan complejas que la síntesis algorítmica pura aún no está lo suficientemente optimizada para funcionar en el hardware actual; incluso si lo fuera, las complejidades técnicas de escribir ese algoritmo son enormes.

Interesante sitio here .