Pregunta

Tengo necesidad de convertir las muestras de audio de 11025 y 22050 44100;Estoy buscando la forma más rápida y con mejor sonido que la rutina de conversión.Necesito que la respuesta será dada en Java puro, sin la necesidad de rutinas externas o de las bibliotecas.La fuente es una matriz de valores cortos que representa los canales izquierdo y derecho, interleaved como LRLRLRLR
He oído que gaussiana de la transformación es la mejor, pero es un cpu killer.

Actualización
Para añadir más detalles, me gustaría una mezcla entre el mejor y más rápido.La respuesta que daría el gran sonido de audio adecuado para cerca comunicación en tiempo real.
Actualización 2
Estoy buscando algunos breves ejemplos de código para esto, se debe ez puntos para que el audio del guru

¿Fue útil?

Solución

Puede (en última instancia) sólo tiene que utilizar un abeto después de llenar todos los demás muestra con 0s - Eres muestreo superior por 2 o 4. Este será bastante rápido para tiempo real. calidad de audio va a estar bien para la mayoría de aplicaciones.

Otros consejos

Bueno, es difícil volver a muestrear con calma lo suficiente para que no es en tiempo real :-) Uno de los mejores y todavía soluciones rápidas es hacer FFT directa, y luego hacer la FFT inversa con cualquier frecuencia de muestreo que necesita.

Se puede aplicar esto por su cuenta, o copiar y pegar cualquier aplicación FFT.

Este trabajo pueden gustar 100x tiempo real o más rápido, no está seguro de lo que necesita 1000x más rápido (en este caso se puede ir por interpolación lineal o bicúbica): -)

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