Pregunta

Tengo un programa que descarga datos PCM desde un servidor Web, que se utiliza después para jugar a través de un reproductor estándar PCM. Quiero ser capaz de permitir a los usuarios cambiar el tono de los datos PCM mientras que su se está reproduciendo.

¿Alguien sabe cómo hacer esto?

¿Fue útil?

Solución

No sé cualquier biblioteca de procesamiento de señales digitales para C #, pero esto parece ser una muestra de fuente completo para cambio de tono en .NET .:
http://sites.google.com/site/mikescoderama/pitch-shifting

Otros consejos

La solución más sencilla consiste en reproducir el sonido a una frecuencia de muestreo superior a la que se grabó - reproduce un archivo de 22 kHz a 44 kHz se duplicará el terreno de juego. Se puede lograr el mismo con sólo tirar algunas muestras del sonido (mala calidad) o volver a muestrear el sonido (de buena calidad si se utiliza un buen algoritmo de interpolación como SINC).

Sin embargo, hay una dependencia - cambiar el tono de la reproducción a diferentes velocidades de muestreo no sólo cambiará el terreno de juego, pero la duración del sonido, también. Es posible cambiar la duración y el tono de forma independiente, pero eso no es tan fácil e implica una buena cantidad de procesamiento del singnal para lograr una buena calidad. Por lo general se realiza en el dominio de la frecuencia usando transformaciones de Fourier rápida.

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