Autor Tema: reproducir wav desde PIC  (Leído 23483 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado omix

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 244
Re: reproducir wav desde PIC
« Respuesta #30 en: 01 de Agosto de 2011, 16:06:08 »
Omix! En cuanto pueda monto un circuito, pero de momento no lo puedo probar, no tengo speacker y componentes y me voy de vacaciones, os dejo aqui "solicos". De momento me lo bajo ! Lo que podrias decir como has montado la salida? si has puesto un filtro, o  como lo has hecho
Pues el circuito es bastante simple solamente conecte una red RC al pin de PWM (RC2), la resistencia que puse es de unos 470R y el condensador de 100nF y directo ahi conecte un minispeaker puesto que no disponia de un amplificador. Se oye bien, pero muy flojillo, a ver si puedo conseguir un ampli y relizo la prueba definitiva.

Un saludo.

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: reproducir wav desde PIC
« Respuesta #31 en: 01 de Agosto de 2011, 16:08:23 »
Omix! En cuanto pueda monto un circuito, pero de momento no lo puedo probar, no tengo speacker y componentes y me voy de vacaciones, os dejo aqui "solicos". De momento me lo bajo ! Lo que podrias decir como has montado la salida? si has puesto un filtro, o  como lo has hecho
Pues el circuito es bastante simple solamente conecte una red RC al pin de PWM (RC2), la resistencia que puse es de unos 470R y el condensador de 100nF y directo ahi conecte un minispeaker puesto que no disponia de un amplificador. Se oye bien, pero muy flojillo, a ver si puedo conseguir un ampli y relizo la prueba definitiva.

Un saludo.

Sin filtro pasa-alto?
No contesto mensajes privados, las consultas en el foro

Desconectado sal0m0n

  • PIC12
  • **
  • Mensajes: 54
    • Sobre Mí
Re: reproducir wav desde PIC
« Respuesta #32 en: 02 de Agosto de 2011, 10:00:02 »
Lo de mi problema de la lentitud en la reproduccion se debía al delay de la transferencia de los datos desde la memoria a los buffer de audio, esto lo solucioné usando DMA!! (dsPIC33FJ128GP802).

Sin embargo, no logré hacer de modo automático el intercambio de los buffers A y B (modo ping pong) porque cuando se completaban los 512 bytes del BufferA, y entraba en la interrupcion por alguna extraña razón el micro seguía enviando clocks a la SD ocasionando problemas al solicitar mas datos de la SD (El DMA estaba configurado como one shot, asi que suponía que al terminar de recibir la cantidad establecida de bytes, debía parar de enviar clocks a la SD), entonces tuve que deshabilitar el canal DMA dentro de la interrupción para eliminar este comportamiento, trayendo como consecuencia que cada vez que lo iniciaba de nuevo, el micro trataba de llenar el buffer A solamente.... por lo que no pude aprovechar la función ping pong hasta el momento...

Por otra parte se que hay un comando de la SD para que ésta envíe de forma contínua bloques de 512 bytes desde una dirección dada con auto-incremento, hasta recibir el comando STOP (por llamarlo de alguna manera), lo cual probablemente sea un modo de aprovechar mas eficientemente el DMA, pero de momento estoy mas que satisfecho... el sonido aún tiene un pequeño delay pero es imperceptible al oido puesto que no cambia el tono del audio, mas o menos lo calculo entre 30ms de retraso por cada  segundo.

Lo que queda es buscarme un buen opamp, para ver si mejora un poco la reproducción de los bajos, aun le falta algo de calidad al audio por esa parte, no se si las características mas importantes es que sea rail-to-rail y con ancho de banda de 20hz hasta por lo menos 15mhz...


mas adelante les doy mas detalles! cualquier duda puntual que crean que pueda ayudar con mucho gusto les ayudaré.


salu2

Mis herramientas!
PicKit 3, MPLAB REAL ICE, OWON SDS6062, Zeroplus LAP-C 16128, Weller WES51, Probotix Fireball Meteor,  Altium Designer y otras mas!

Desconectado omix

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 244
Re: reproducir wav desde PIC
« Respuesta #33 en: 02 de Agosto de 2011, 18:06:43 »
Omix! En cuanto pueda monto un circuito, pero de momento no lo puedo probar, no tengo speacker y componentes y me voy de vacaciones, os dejo aqui "solicos". De momento me lo bajo ! Lo que podrias decir como has montado la salida? si has puesto un filtro, o  como lo has hecho
Pues el circuito es bastante simple solamente conecte una red RC al pin de PWM (RC2), la resistencia que puse es de unos 470R y el condensador de 100nF y directo ahi conecte un minispeaker puesto que no disponia de un amplificador. Se oye bien, pero muy flojillo, a ver si puedo conseguir un ampli y relizo la prueba definitiva.

Un saludo.

Sin filtro pasa-alto?
Si, solamente el filtro pasa bajo, tal como indica una nota de aplicación de microchip (no recuerdo ahora mismo cual es). Tambien he visto en alguna revista electronica que ni siquiera usan filtro alguno, atacan directamente con el pin del micro el altavoz.

Saludos.

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: reproducir wav desde PIC
« Respuesta #34 en: 24 de Marzo de 2014, 16:13:09 »
hace una semana me han pedido un excompañero mio, que ahora mismo esta trabajado de psicologo en el hospital provincial de Castellon, una cosa un tanto especial....
Se trata de un sistema de habla robotica tipo la de stephen hawking.Lo primero que me vino a la cabeza es un circuito que lea una uSD y reproduzca el texto visualizado desde un lcd de 4x16
pues bueno, yo estoy utilizando la libreria del gran Suky, la SDCard_hard.c.... estoy reproduciendo audio a 8khz de sampleo, 8 bits con un 18F2550 a 48Mhz
la frecuencia del PWM esta en 46875hz, y 10 bits de resolucion... he de decir que suena bastante bien y estoy pensando subir el muestreo a 44Khz
mi gran duda, es como reprodicir tan rapido sin que la carga del buffer distorsione el audio
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: reproducir wav desde PIC
« Respuesta #35 en: 24 de Marzo de 2014, 17:15:49 »
Podes utilizar doble buffer, así mientras se reproduce el audio con uno de ellos cargas el otro.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: reproducir wav desde PIC
« Respuesta #36 en: 24 de Marzo de 2014, 18:03:33 »
Podes utilizar doble buffer, así mientras se reproduce el audio con uno de ellos cargas el otro.


Saludos!

hola Suky, ya había pensado en el doble buffer, pero a 44khz de muestreo creo que me dará problemas
lo que voy a probar es aumentar la velocidad de comunicación spi y probar
también quiero probar un archvo wav estéreo y dos salidas pwm
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: reproducir wav desde PIC
« Respuesta #37 en: 09 de Abril de 2014, 16:59:59 »
bueno, aqui un video del pequeño prototipo para adaptar un sistema de habla digital para un tetraplejico, el audio reproducido es wav a 44khz y 8 bits...
de momento, como una voz digital no me anima  :D, estoy probando con musica....
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: reproducir wav desde PIC
« Respuesta #38 en: 09 de Abril de 2014, 21:03:57 »
Y el vídeo?  :shock:  :mrgreen:
No contesto mensajes privados, las consultas en el foro

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: reproducir wav desde PIC
« Respuesta #39 en: 10 de Abril de 2014, 00:43:19 »
Y el vídeo?  :shock:  :mrgreen:
eso me pregunto yo también, no se el motivo por el cual no lo muestra, imagino que algún moderador podrá arreglar el link de youtube para que se vea en el foro
« Última modificación: 10 de Abril de 2014, 13:04:27 por ppyote »
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: reproducir wav desde PIC
« Respuesta #40 en: 10 de Abril de 2014, 19:38:27 »
 :( Bueno, pongamos el link:

Y esta por muy buen camino ese proyecto!  ((:-))

Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: reproducir wav desde PIC
« Respuesta #41 en: 11 de Abril de 2014, 04:14:09 »
Gracias Suky, aunque el 95% del trabajo está basado en tus librerías de la SD y fat16
ahora sólo me falta hacer la búsqueda de los archivos de audio más rápido,por sí se ha modificado el contenido de la tarjeta, cosa que ya casi lo tengo, y mostrar en el lcd el nombre del archivo a reproducir, así cuando guarde frases con voz, sólo con ponerle el título del archivo igual que la frase que tenía el archivo de audio, el pic se encargará de localizarlo, mostrar el texto de la frase y reproducirlo sí es lo deseado
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado sal0m0n

  • PIC12
  • **
  • Mensajes: 54
    • Sobre Mí
Re: reproducir wav desde PIC
« Respuesta #42 en: 19 de Mayo de 2014, 17:59:17 »


A principios de año le hice un proyecto a un cliente con archivos wav,  ->ACA<- estaba probando la calidad del sonido.



saludos
Mis herramientas!
PicKit 3, MPLAB REAL ICE, OWON SDS6062, Zeroplus LAP-C 16128, Weller WES51, Probotix Fireball Meteor,  Altium Designer y otras mas!

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: reproducir wav desde PIC
« Respuesta #43 en: 19 de Mayo de 2014, 19:12:52 »
A 44khz de muestreo suenda muy bien.... lo malo es que mis samples son de 8bits de resolucion.... si fuera de 16 ya seria la leche... mas adelante ya me hare con un pic24 y probare si mejora mucho el audio con 16bits de resolucion
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...