Como garavar AUDIO no PIC16F628 ??

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Como garavar AUDIO no PIC16F628 ??

Mensagempor Valdomiro » 01 Nov 2006 13:07

Olá Pessoal,

Sou inicniante em PIC e gostaria de saber se é possível gravar áudio no PIC16F628.

O que eu preciso são apenas 3 segundos de aúdio ( ou até um pouco menos).... E não preciso de muita qualidade.

Agradeços a todos que puderem colaborar comigo.

{}'s
Valdomiro
Valdomiro
 
Mensagens: 2
Registrado em: 01 Nov 2006 13:02

Mensagempor Fábio Pereira » 01 Nov 2006 13:17

A resposta mais simples é não:

1) O 16F628 não tem conversor A/D;

2) O 16F628 não tem memória suficiente;

Você poderia utilizar um PIC com conversor A/D interno, ou utilizar um conversor externo. Também seria necessário utilizar uma memória externa para armazenar o audio digitalizado.

Até +
Fábio Pereira
embeddedsystems.io
Avatar do usuário
Fábio Pereira
Word
 
Mensagens: 674
Registrado em: 16 Out 2006 09:07
Localização: Kitchener, ON

Mensagempor Valdomiro » 01 Nov 2006 13:39

Fabio Pereira !
Grande.

Obrigado pela resposta.

É um prazer falar com alguém tão envolvido com o PIC. Possuo seus dois livros e gostaria de parabenizá-lo pelo seu empenho profissional.

Na verdade o que eu preciso é reproduzir um "Espirro" imitando um Turbo de motores de carro.

Pensei em usar a saida PWM do pic, mas não não entendo o suficiente para isto.

Também já pensei em usar um CI dedicado para armazenar o audio. Mas acho que uma solução com PIC seria mais viável.

Como "áudio" não é minha área, estou tendo muita dificuldade em efetuar os calculos para a reprodução do "chiado" caracterísico do turbo.

Você saberia me informar onde consigo alguém que desenlvolva apenas o som na saida PWM (se é que seja possível) ?... ( não poderia ser muito caro..)


Muito Obrigado.
Valdomiro
Valdomiro
 
Mensagens: 2
Registrado em: 01 Nov 2006 13:02

Mensagempor Fábio Pereira » 01 Nov 2006 14:38

Bom,

Não sei se este sistema tem a qualidade que você precisaria, mas dê uma olhada no sistema desenvolvido pelo Roman Black: http://www.romanblack.com/picsound.htm

Até +
Fábio Pereira
embeddedsystems.io
Avatar do usuário
Fábio Pereira
Word
 
Mensagens: 674
Registrado em: 16 Out 2006 09:07
Localização: Kitchener, ON

Mensagempor proex » 01 Nov 2006 14:47

Eu até que poderia desenvolver isso ai mas nao nas condiçoes que vc precisa.

Vc deve levar em consideraçao algumas coisinnhas importamtes:

Saidas PWM são ruidosas para Audio, o ideal é que a frequecia do PWM seja 10 vezes maior que a maior frequencia de audio a ser reproduzida.

Se nao for assim, vc terá uma reproduçao cheia de ruidos.

Com um PIC barato, trabalhando com ckock de 20 Mhz, a maxima frequencia do PWM que vc conseguirá será de 19Khz (e alguns quebrados)

Nesse caso, a maxima frequencia de audio que poderá ser reproduzida é de 1,9Kz. Reproduçao essa agradavél aos ouvidos e sem muito ruido.

Como o tipo de som que vc precisa esta situado na regiao das altas frequencias do espectro de audio, fica dificil conseguir o som parecido com o original do turbo do carro.

O Ideal mesmo seria fazer a conversao no modo PCM com um conversor DA de 12 bits e Sampling Rate de 22Khz. Facil de se conseguir com os DAs seriais da propria Microchip.

O Arquivo de som a ser reproduzido poderia ficar gravado numa memoria serial. O Pic lê a memoria e envia o dado lido para o conversor DA.

Neste caso qualquer Piczinho barato serviria.
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

ola proex

Mensagempor Vonnilmam » 01 Nov 2006 20:21

Me desculpa, não ter te ligado ainda. Estou envolvido com um novo produto que será lançado se Deus me ajudar ainda esse mes...

Preciso ir aí, trocar algumas ideias com voce meu caro!

Pegando nesse gancho do gravador de audio, gostaria de lhe perguntar?

Bom acho que vc se refere ao um desses dacs para audio i2s tipo tda1311a da philips 16 bits...

Uma pergunta que acredito ajudará muito o nosso amigo! Como voce descarrega os dados sampleados na eeprom por ex. para o dac i2s?
Que tipo de protocolo voce usaria? Vou dar uma arriscada! Seria enviar uma sequencia da eeprom no forma i2c para o dac passando pelo pic é claro....Se não for esse o Drive diga-se de passagem, qual seria?

Até Mais...
NOTA: Eu estou arranhando alguma coisa no altera, sera que eu consigo fazer pelo menos um pisca-pisca...heheh!

Marcos vonnilmam
VonNilmam "Assembler" e agora "C"
Avatar do usuário
Vonnilmam
Byte
 
Mensagens: 446
Registrado em: 19 Out 2006 14:25
Localização: espacial

Re: ola proex

Mensagempor Renie » 01 Nov 2006 22:22

Olá pessoALL!

O projeto indicado pelo Fabio, do Ronam Black, é o mais simples que ví até hoje em termos de pseudo Codec, um PIC Codec!

Se tiverem alguma dúvida,o Roman acredito que responda, há alguns
anos quando ví o projeto dele, me respondeu prontamente ( apesar
do meu ingrês ruim!)
[]'s
Renie
-------------------------------------------------------------------------------------------------------------
Meu velho site com eletrônica praticamente parado http://www.reniemarquet.com
Nosso Blog http://artemadeiraevida.blogspot.com.br
Renie
Word
 
Mensagens: 732
Registrado em: 11 Out 2006 22:35
Localização: RJ - Niterói - Brasil

Mensagempor msamsoniuk » 01 Nov 2006 22:32

eu acho que tem grandes chances desse ruido ser simples de reproduzir matematicamente, sem precisar armazenar nenhuma unica amostra de audio. voce poderia digitalizar ele em um PC, analisar com o baudline (www.baudline.com) e ver se o ruido segue alguma logica que possa ser gerada matematicamente. e no lugar de usar PWM, monta um DA com resistor mesmo :) hehehe
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor proex » 02 Nov 2006 09:08

Vonnilmam, a sequencia é essa mesma que vc mencionou, lêr a memoria (i2c ou Spi) e enviar o dado lido pro DA (i2c ou Spi).

Bem, essa é uma solução "elegante" pois vc pode gravar o som original do turbo e depois reproduzi-lo.

Agora se o problema for custo, eu faria um gerador de ruido branco ligado a' um VCA, um gerador de envelope dipararia o VCA com envelope igual ao som do turbo.
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

Mensagempor lrfad2 » 03 Nov 2006 09:45

Proex,
A winbond tem um chip que pode resolver o seu problema sem muito esforço (e gastos com hw... rs.. )
Dá uma olha em http://www.winbond-usa.com/mambo/content/view/36/140/
A linha ISD1400 deve resolver o seu problema
Avatar do usuário
lrfad2
Byte
 
Mensagens: 152
Registrado em: 19 Out 2006 17:35
Localização: São Paulo

Mensagempor proex » 03 Nov 2006 11:34

Sim, essa linha ISD é muito conhecida mas é pra gravar sinais na banda de voz.

Mas o que o pessoal talvez não esteja entendendo é que o sopro do turbo esta situado entre 8khz e 12Khz. Esse chips ai nao vao reproduzir essa banda pois esses chips foram feitos pra gravaçao de voz cuja banda esta entre 200Hz á 3,8Khz.

O método proposto por Ronam Black é interessante mas continua sendo para reproduçao da banda de Voz.

Se vc gravar o sopro do turbo no ISD ou pelo método proposto por Ronam Black, claro que vc terá na saida um sinal de audio mas vai ser uma imitaçao porca do sinal original. Vai parecer que o "Turbo" do cara esta bichado.

É isso.
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

Mensagempor Jagger » 07 Nov 2006 12:16

Legal. Essa discussão veio em boa hora. Gostaria de fazer um projeto que envolverá comando de voz. Preciso não mais de 5 segundos. O que os amigos mais experientes me sugerem? Estou pensando em conectar u microfone ao ADC do PIC e criar uma rotina na qual eu acionaria um botão e falaria ao microfone para gravação do comando. Mas ficam as dúvidas:
1-Qual a freqüência de amostragem para a voz?
2-Como saber a quantidade de memória que eu necessito para esses 3 segundos?
3-Como eu faria para comparar a voz gravada com um novo comando? Faria uma comparação bit a bit? Nesse caso jamais conseguiria reproduzir o mesmo comando...
Jagger
Nibble
 
Mensagens: 53
Registrado em: 20 Out 2006 12:39
Localização: Chapecó - SC

Mensagempor Fábio Pereira » 07 Nov 2006 12:44

Nossa Jagger,

Aí o buraco é MUUUUUUUITO mais embaixo.

Reconhecimento de voz é muito mais complexo do que uma simples comparação bit a bit.

Sugiro que você pesquise mais sobre o assunto.

Ps.: uma vez li um artigo na Circuit Cellar sobre um chip de reconhecimento de voz. É uma solução single-chip, mas não deve ser muito barata.

Você poderia tentar no site deles: www.circuitcellar.com

Até +
Fábio Pereira
embeddedsystems.io
Avatar do usuário
Fábio Pereira
Word
 
Mensagens: 674
Registrado em: 16 Out 2006 09:07
Localização: Kitchener, ON

Mensagempor Jagger » 07 Nov 2006 16:15

Muitíssimo obrigado, Fábio. Vou seguir sua sugestão.

Um forte abraço.
Jagger
Nibble
 
Mensagens: 53
Registrado em: 20 Out 2006 12:39
Localização: Chapecó - SC

Mensagempor baltazar » 10 Nov 2006 18:53

Senhores,

Desenvolvi um projeto utilizando o ISD4004-8M, com gravação "manual" das mensagens de voz.

Pois bem, o ISD funciona exclusivamente como playback, ou seja, as mensagens são gravadas apenas uma vez e depois constantemente reproduzidas.

O problema é que esse modo de gravação se tornou completamente inviável quando o produto entrou em linha de produção e não estou conseguindo encontrar nenhum "programador" para esse componente.

Algum dos amigos sabe se existe, e onde posso encontrar algo do tipo??

A situação já está ficando desesperadora aqui... :shock:

Abraços!
baltazar
Bit
 
Mensagens: 42
Registrado em: 10 Nov 2006 18:47

Próximo

Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x