2009-10-27 9 views
9

estoy familiarizado con Computer Vision (Bueno, conozco que), de las cuales una aplicación puede ser el reconocimiento de imágenes, tales como Optical Character Recognition, creo. Sin embargo, algo en lo que estoy más interesado es en "escuchar en la computadora", que acabo de enterarme se considera Digital Signal Processing.programación 'escuchar' al sonido (Procesamiento de Señales?)

Lo que más me interesa del procesamiento de la señal es la posible aplicación en la música. Recuerdo que hace un tiempo vi una vista previa de una aplicación (Lo siento, olvidé el nombre) que podía escuchar una grabación de alguien tocando una guitarra y graficarla automáticamente a lo largo de una línea de tiempo con las notas/acordes reales que fueron jugados. Usando el programa, el usuario pudo mover estos e incluso editarlos. Ahora, obviamente, esto es mucho más complicado, pero ¿implica lo mismo? ¿Procesamiento de la señal? También estoy interesado en posibles aplicaciones en visualizadores de música y sistemas de iluminación inteligentes.

Mi comprensión es que hacer este procesamiento en un formato de audio comprimido como MP3 no arrojará los mismos resultados que MIDI que contiene pistas separadas (Tal vez no entendí bien). ¿Sería mejor que un MP3 un formato sin comprimir como PCM? No sé nada sobre el procesamiento del sonido, eso es exactamente lo que estoy deduciendo de lo que he leído hasta ahora.

Ya he visto this question que tiene excelentes respuestas y enlaces que cubren muchas de mis preguntas. Sin embargo, la mayoría de los enlaces que he encontrado son teóricos, lo cual estoy seguro es interesante y definitivamente vale la pena leer dado mi interés en el tema, pero quería saber si hay bibliotecas existentes que puedan facilitar esto, o artículos relacionados con esta asignatura que se orientan a la Informática/Programación, tal vez con un código de ejemplo. Incluso los visualizadores de sonido/música de código abierto o cualquier otro código de procesamiento de sonido de código abierto serían geniales.

Lo siento si no tenía ningún sentido. Como dije, no sé de lo que estoy hablando.

Respuesta

13

Lo que más me interesa sobre el procesamiento de la señal es la aplicación potencial en la música. Hace que recuerdo un tiempo vi una vista previa de una aplicación (Lo sentimos, se olvidó el nombre )

Tal cubase?

que podría escuchar una grabación de alguien tocando una guitarra, y gráfico automáticamente hacia fuera a través de una línea de tiempo con el actual notas/acordes que se jugó

profundamente simplificada, cuando tocas una nota produces una onda periódica con una frecuencia determinada. Hay un truco matemático (la transformada de Fourier DFT) que convierte la onda en el espectro, que en lugar de presentar intensidad contra el tiempo, lo muestra contra la frecuencia de la onda. Por ejemplo, una nota A perfecta de un diapasón produciría una onda oscilante a 440 Hz. En el dominio del tiempo, esto aparecería como una onda sinusoidal. En el dominio de frecuencia, aparecerá como una única espiga estrecha centrada en 440 Hz.

Ahora, cuando toca una guitarra, no produce ondas sinusoidales perfectas. Golpear una A producirá la frecuencia fundamental, 440 Hz, pero también muchas frecuencias adicionales (por ejemplo, 880, en una octava más alta, pero también muchas otras frecuencias más altas y más bajas), debido a la física de la cuerda vibrante, el material y la forma de la guitarra, etc. Estas frecuencias adicionales se llaman armónicos, y se mezclan con los fundamentales para producir "el sonido de la guitarra" (lo que en la jerga musical se llama timbre). Un instrumento diferente (por ejemplo, piano) tendrá una mezcla diferente de armónicos con el fundamental, produciendo un timbre diferente.

Lo que hacen los programas DSP es realizar un DFT en la señal de entrada. Con trucos adicionales, encuentran los fundamentales y los armónicos, y de acuerdo con lo que encuentran, infieren la nota que tocaste. Esto debe suceder rápido, porque podrías encontrar la nota mientras tocas en vivo y activar trucos especiales. Por ejemplo, puede presionar una nota A en la guitarra, el DSP entiende que es una A y la reemplaza con la A de un piano, por lo que desde los parlantes obtiene el sonido de un piano.

Usando el programa, el usuario pudo para mover estos en todo e incluso editar ellos. Ahora, obviamente esto es mucho más complicado, ¿pero implica lo mismo? ¿Procesamiento de la señal? I también estoy interesado en posibles aplicaciones en visualizadores de música y sistemas de iluminación inteligentes.

Sí. Una vez que estás en el dominio de la frecuencia, las cosas se ponen muy fáciles. Por ejemplo, puede encender una luz específica según las frecuencias de voz y otra luz con el bombo.

Mi entendimiento es que haciendo esto procesamiento en un formato de audio comprimido como MP3 suele producir los mismos resultados como MIDI que contiene pistas separadas (Tal vez mal entendidos).

Son dos cosas diferentes. MP3 es un formato comprimido de una onda de sonido. Básicamente se necesitan los pilotos para los altavoces y se comprime. La idea es la misma: DFT, luego eliminación de cosas que es poco probable que se escuche (por ejemplo, un tono alto que aparece justo después de que un sonido de alta intensidad tiene menos probabilidad de ser escuchado, por lo que se elimina).

MIDI por otro lado es un desplazamiento de eventos (ya sabes, como esos pianos en el extremo oeste, con el rollo de papel enrollado). El archivo no contiene música. En su lugar, contiene instrucciones para que un reproductor MIDI realice notas específicas en momentos específicos con instrumentos específicos. La calidad del "banco de instrumentos" es (entre otras cosas) lo que distingue a un reproductor MIDI malo (que suena como un juguete infantil) de un buen reproductor MIDI (que suena realista, en particular para pianos y violines, para instrumentos de viento todavía tiene que escuchar uno realista).

Pasa de MIDI a MP3, solo realiza a través de un reproductor MIDI. Hacerlo a la inversa es una historia completamente diferente, y mucho más compleja, y aquí es donde el DSP entra en juego, como dijiste.

Es como hervir un tanque fisk. Obtienes una sopa de pescado Pero para pasar de la sopa de pescado a la pecera, es mucho más difícil.

¿Sería mejor que un formato sin compresión como PCM que MP3?

PCM es una técnica para convertir una señal analógica en una señal digital. Por lo tanto, su pregunta tiene un malentendido fundamental, que no existe formato PCM (el formato RAW es una llamada cercana, que contiene básicamente nada más que datos brutos). Si pregunta si un WAV sin comprimir (que contiene datos PCM) es mejor que MP3, entonces sí, pero a veces la pregunta es cuánto le importa esto realmente al oído humano, y cuánto postprocesamiento tiene que realizar con esa información.

saber si hay algún bibliotecas existentes que pueden facilitar esto, o artículos relacionados con este tema que orienta hacia la computadora Ciencia/programación, tal vez con código de ejemplo. Incluso los visualizadores de sonido/música de código abierto o cualquier otro código de procesamiento de sonido de código abierto sería genial.

Si te gusta pitón, take a look at this page

Lo siento si yo no tenía ningún sentido. Como dije, no sé de lo que estoy hablando.

Ni yo tampoco, pero jugué un poco con eso.

+0

Creo que quieres decir timbre, no timbro –

+2

En italiano es timbro, y los músicos usan la notación italiana bastante a menudo. Fijación. –

+0

Interesante, gracias. –

6

Mi entendimiento es que hacer este procesamiento en un formato de audio comprimido como MP3 suele producir los mismos resultados que MIDI que contiene pistas separadas (Tal vez no he entendido bien).

MIDI esencialmente almacena información del instrumento y notas musicales. También otros efectos (volumen, pitch bend, vibrato, tasa de ataque, etc.)

Procesamiento de señal realmente no digital.

¿Sería mejor que un MP3 un formato sin comprimir como PCM?

Maybe algo; Depende de la aplicación. MP3 reduce la precisión de las frecuencias a las que humanos no son sensibles. Si quieres hacer visualizaciones, entonces MP3 probablemente esté bien.

Pero si quieres, por ejemplo, determinar qué tipo de instrumento se está reproduciendo en una grabación, entonces podría haber información útil escondida en las frecuencias a las que los humanos no son sensibles.

Creo que The Scientist and Engineer's Guide to Digital Signal Processing es un gran referencia para los programadores.El Capítulo 8 explica la transformada discreta de Fourier (utilizada en el procesamiento de MP3 y en muchos otros lugares para separar las frecuencias componentes de una onda).

Lo usé para ayudar a hacer un programa gráfico que permitiera dibujar una ola con el mouse, luego apliqué el DFT y le permití seleccionar cuántas frecuencias incluir. Fue un gran ejercicio.

0

Creo que necesita definir exactamente lo que está buscando y lo que está tratando de hacer.

Si quiere aprender sobre DSP, MIDI o PCM, entonces hay mucha información en Wikipedia y referencias.

Hay muchas aplicaciones para la manipulación de audio disponibles. Lo que ha descrito en su pregunta es lo que ocurre en cada estudio de grabación digital (que en la actualidad corresponde a casi todos los estudios) todos los días.

Si tiene la intención de realizar algo de DSP contra, por ejemplo, un sonido de guitarra, lo ideal es que tenga una grabación de la guitarra (en lugar de una pista mixta que contenga la batería o la voz). Debería ser bastante obvio que obtendrá mejores resultados al analizar una señal discreta sin ruido adicional que analizar una señal que contenga niveles significativos de "ruido". Entonces sí, una grabación multipista sería preferible a 'un MP3'.

MP3 típico contiene canales izquierdo y derecho (pistas) por lo que técnicamente es multipista. Cuando se graba música (profesionalmente, al menos) se graban diferentes señales en pistas diferentes, precisamente para que puedan ser editadas y procesadas discretamente en un momento posterior.

¿Qué quieres hacer con los sonidos?

Como han señalado otras respuestas, esto no se relaciona con MIDI en absoluto.

1

Recuerdo que hace un tiempo vi una vista previa de una aplicación (Lo siento, olvidé el nombre) que podría escuchar una grabación de alguien tocando una guitarra, y automáticamente graficar a cabo a través de una línea de tiempo con el actual notas/acordes que se tocaron.

También podría estar pensando en Melodyne: http://www.celemony.com/cms/

Aunque Vari de audio en la versión nueva de Cubase es bastante similar. :)

Cuestiones relacionadas