Extraer una lista de amplitudes del archivo * .wav para usar en Python

Estoy teniendo un poco de problemas de progtwigción y conversión. Estoy diseñando una IA para reconocer las notas tocadas por instrumentos y necesito extraer los datos de sonido en bruto de un archivo wave. Mi objective es realizar una operación FFT durante períodos de tiempo en el archivo para su uso por parte de la IA. Para esto necesito una lista de amplitud del archivo de audio, pero parece que no puedo encontrar una técnica de conversión que funcione. Los archivos comienzan como archivos MP3 y luego los convierto en archivos wav, pero siempre termino con un archivo comprimido que escupe información incomprensible cuando trato de leerlo. ¿Alguien sabe cómo puedo convertir el archivo wav en algo que sea compatible con el módulo de onda de Python o incluso algo que convierta directamente los datos en una lista de amplitud?

El módulo de onda de Python predeterminado no es muy completo. Puedes probar el incluido en scipy como alternativa.

Echa un vistazo a: Leyendo archivos * .wav en Python

Si vas a hacer un trabajo pesado numérico con el audio, Scipy podría ser tu mejor opción de todos modos.

Creo que Python puede leer archivos .dat. Puede usar SoX para convertir mp3s o wavs o lo que sea en archivos .dat que son simplemente una lista de texto de “time – Left amp – Right amp”

El código es simplemente sox soundfile.mp3 soundfile.dat

http://sox.sourceforge.net/

Sox es la línea de comandos: lo ejecuto con Terminal en mi mac, pero cualquier cosa que comprenda los comandos Bash o Linux debería funcionar según la CPU que esté usando.

¡Espero que ayude!

Es posible que también desee ver Pure Data, tiene algunas transformaciones FFT integradas en un lenguaje de progtwigción gráfico intuitivo.