2012-05-31 9 views
13

¿Cuál sería la mejor manera de detectar dónde comienzan las voces de una canción? Solo necesito el tiempo de inicio para la voz. La precisión extrema no es necesaria. La velocidad es más importante.¿Detecta dónde comienzan las voces en una canción?

Cualquier pista sobre papeles o algoritmos (si existen) es muy apreciada. También busca recomendaciones sobre qué marco/lenguaje se adapta mejor para esto.

+0

es el ser humano cantando. – Stpn

+2

sabes que los seres humanos pueden hacer una gran variedad de cosas usando su voz, incluyendo Beatboxing, Growling, Canto "Normal", Canto de Garganta e incluso imitación de voz de animales. Todo esto podría ocurrir durante un _song_, pudiendo ser _vocals_ o no. Por supuesto, esta es una pregunta interesante, pero por favor sea específico en su pregunta, y también [indique lo que su esfuerzo de investigación ha mencionado hasta ahora] (http://meta.stackexchange.com/a/128553/179891). – moooeeeep

+0

comentario válido sobre la investigación. Definitivamente lo actualizaré una vez que llegue a algún lado ... Antes de obtener retroalimentación de las respuestas a continuación, estaba pensando en hacer la detección de tono de una frecuencia de voz humana (comienza a partir de alrededor de 85 Hz - https://en.wikipedia.org/wiki/Voice_frequency) Pero claramente los enlaces de abajo pueden proporcionar más información sobre eso. En cuanto a las voces, estoy interesado en cualquier tipo de sonidos producidos por la voz humana. – Stpn

Respuesta

7

* SPOILER: RESPUESTA ES NO debajo de *

Desde que planeo hacer algo similar a esto, hice un poco de investigación por mi cuenta sobre el tema, y ​​descubrí que hay algunas técnicas numéricas exactas eso PODRÍA poder hacer eso.

Voy a enumerar las referencias y dejar que el lector decida si es el camino correcto. Todo tiene que ver con la extracción de la característica de audio vocal y la búsqueda de las características vocales ARE en los datos de audio.

Puede empezar aquí, pero realmente no conduce a nada, pero podría ser útil para ver lo que está en :)

http://en.wikipedia.org/wiki/Voice_activity_detection

A continuación, algunos artículos sobre el reconocimiento del hablante:

Aquí hay una guía que debe conocer sobre la extracción de la característica mel frequency cepstral coefficients (MFCC).

http://www.speaker-recognition.org/navAlg.html

Entonces, por ejemplo, esto:

http://www.iccce.co.in/Papers/ICCCECE358.pdf

sé que ninguno de ellos conducen directamente a la solución a su problema, pero al menos usted será capaz de captar el tamaño del monstruo con el que te enfrentarás

EDIT: marcos

que utilizar C# para algo relacionado con eso, y al principio utiliza el algoritmo FFT roll-mi-propia, luego se trasladó a la biblioteca ILNumerics que utiliza biblioteca matemática de Intel, y más tarde reemplazado todo eso con fftw.

http://ilnumerics.net/ (hm, que estaba libre a la vez)

http://software.intel.com/en-us/articles/intel-mkl/ Intel Math Kernel

http://www.fftw.org/ (una página web sencilla, pero el rendimiento BRUTAL)

EDIT: nuevo motor FFT

Desde que estaba cargando parte de mi código a Android, tuve una gran experiencia de trabajo con un hombre que hizo algo que creía imposible: una biblioteca de FFT que es incluso más rápida que FFTW: FFTS. Mi comprensión de su magia es limitada, pero usa codelets para varias arquitecturas de procesador y supera a todas las bibliotecas que hay.

0

El examen de la potencia de la señal no ayudará con la música pop. Esto se debe a que la música pop contemporánea está muy comprimida. Eso significa que los compresores de nivel de audio se aplican en múltiples etapas del proceso de producción para que la canción parezca más fuerte. Consulte el término "guerra de volumen" para obtener más información. Por ejemplo, refiérase a la canción "fuegos artificiales" de Caty Perry.El nivel de volumen es casi constante en toda la canción.

+0

Este comentario no debería ser una respuesta. –

+0

@ Pier-alexandreBouchard Y por esa misma razón hay una flecha hacia abajo justo allí :) – AndyPerfect

+0

Cómo rechazar cuando no tiene ningún representante :) –

Cuestiones relacionadas