TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: PICYO en 26 de Marzo de 2011, 15:01:28

Título: conversion .wav a array en C
Publicado por: PICYO en 26 de Marzo de 2011, 15:01:28
Hola! Estoy tratando de ver el proceso de conversión de un fichero de wave de sonido, en un array para C, con el fin de reproducir el sonido con la ayuda del PWM del PIC.
he visto un ejemplo de como reproducen el sonido, e incluso del mismo array:
Código: C
  1. byte kick[] =
  2. {
  3. 127, 80, 42, 5, 165, 242, 241, 233, 128, 73, 48, 22, 127, 69, 55, 113, 151, 183, 209, 217, 223, 228, 233, 215, 161, 117, 91, 76, 65, 49, 37, 31, 31, 48, 83, 120, 146, 166, 183,
  4.  198, 206, 210, 209, 199, 178, 145, 111, 88, 78, 73, 69, 67, 72, 80, 88, 97, 109, 124, 137, 150, 163, 171, 174, 172, 168, 160, 144, 125, 114, 110, 108, 104, 104, 106, 109, 110,
  5.  112, 117, 124, 129, 135, 142, 145, 145, 143, 140, 137, 132, 128, 125, 122, 119, 118, 119, 119, 119, 118, 118, 120, 124, 126, 129, 132, 135, 137, 137, 135, 132, 131, 130, 129,
  6. 128, 126, 126, 124, 123, 121, 120, 120, 122, 123, 124, 126, 128, 129, 130, 130, 131, 131, 131, 130, 130, 130, 129, 129, 128, 126, 125, 125, 124, 124, 124, 124, 125, 126, 126,
  7. 128, 128, 128, 129, 129, 129, 129, 129, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 127, 126, 128, 128, 128, 128, 128, 128, 128, 128, 126, 126, 126,
  8. 126, 126, 126, 126, 126, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 128, 128, 128, 128, 128,
  9.  128, 128, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 126, 126, 126, 126, 126,
  10.  126, 126, 126, 126, 126
  11.  
  12. };
Bien podría cojer este array y empezar a usarlo, pero no me quedo muy satisfecho, porqué no sé nada realmente de cómo lo han conseguido, es decir, que frecuencia de muestreo tomaron para garabar el sonido en wav, y de como resulta este array.

He ido viendo soluciones, y he visto una muy buena, pero mas cruda. Usando el programa Matlab podemos muestrear el sonido a la frecuencia que quremos ( me interesan las 44100), y luego pasarlo a una hoja de excel. despues pasarlo " mano" desde el Excel a un fichero txt ( para copiar pegar en fichero .c ). Preo sé que hay una solución mas factible pero no encuentro el modo. ¿ Alguien sabe cómo pasar pues de wav a un fichero de texto ?
Gracias!