Pregunta

Soy nuevo en el mundo del audio y se me ha asignado una tarea que no estoy seguro de cómo tratar. Necesito mostrar un gráfico que represente el tono de un archivo WAV. El archivo WAV puede ser polifónico, y luego necesito mostrar el gráfico de tono del instrumento dominante (léase: con el volumen más fuerte) (o canto de voz humana). Estoy bastante familiarizado con .NET y no sé casi nada en C, C ++, Java.

Comencé una investigación en la web, y por lo que entendí, la detección de tono de archivos WAV polifónicos no es un problema resuelto, pero no necesito el tono exacto, solo para saber si es más alto que el siguiente, y ¿Cuál es su longitud?

Mis preguntas son:

  1. ¿Dónde debo comenzar para aprender la teoría detrás de esta tarea? ¿Hay algún libro recomendado para eso?

  2. ¿Hay alguna API / herramienta que pueda hacer eso?

Gracias,

ML

¿Fue útil?

Solución

Puede usar el Análisis de Fourier para extraer las frecuencias constituyentes de la onda. Aquí hay una pregunta SO relacionada: Transformada rápida de Fourier en C #

Otros consejos

Comencé a procesar señales con Procesamiento de señales digitales . Puede comprar el libro impreso por alrededor de $ 30, o descargar el pdf gratis. Está escrito para no científicos, y contiene una gran cantidad de información para ponerlo en marcha con varias técnicas de procesamiento de señales.

FFT (transformadas rápidas de Fourier) convertirá una señal de tiempo frente a amplitud en una frecuencia (bins) frente a la intensidad (energía). Puede pasar de la frecuencia a una nota a través de gráficos estándar que se encuentran en muchos sitios web.

He estado trabajando en un proyecto algo relacionado. Querrás investigar transformaciones rápidas de Fourier. Puedo recomendar este proyecto escrito en C # - está escrito como una guitarra sintonizador, pero se puede modificar fácilmente para su propósito.

Sin embargo, esto no hará multi-pitch. Hay un producto llamado " celemony " que afirma tener esta capacidad usando "Acceso directo a notas (ADN)". Es comprensible que su tecnología sea de código cerrado, pero puede obtener una licencia al precio correcto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top