Jump to content
ELFORUM - Forumul Electronistilor
Sign in to follow this  
Guest mcs@48

Pic vorbitor

Recommended Posts

Guest mcs@48

Salut. Vreau sa programez un PIC sa spuna "Salut" sau orice fraza.

Aveti ideee cam cum fac asta?

Am cautat pe net si sunt 2 metode:una cu un voice record/playback device si una folosind doar un speaker si un soft mai complicat

Daca stiti alte metode sau mai multe depre metodele de mai sus va rog sa ma ajutati.

Orice parere este binevenita.

Multumesc.

Share this post


Link to post
Share on other sites

Salut,Cat de bazat esti la programare? E destul de usor de facut picul singur "sa vorbeasca", fara nici un alt dispozitiv, dar mesajele vor fi scurte. Ai nevoie de 6...8KB ptr o secunda de vorbire. Ce pic vrei sa folosesti? In ce limbaj vrei sa programezi?Pe scurt se face asa: pregatesti un fisier cu esantioanele lui "Salut". Aici te pot ajuta. Apoi programezi picul sa primeasca intreruperi cu o rata egala cu rata de esantionare cu care a fost inregistrat "salut". Cand vine sorocul scoti cate un esantion afara din pic prin intermediul modulului PWM. Filtrezi cu RC, amplifici si pui pe difuzor. Daca nu-ti pasa ca se mai aud mici galuste, poti sa pui direct pe difuzor.Daca e neclar, mai intreaba.Cirip

Share this post


Link to post
Share on other sites
Guest mcs@48

Salut.

Multumesc pt. raspunsuri.

1.Am cautat pe net si am gasit si eu pagina pe care a dat-o bogdanm.

Tocmai de asta ma interesa daca merge. Nu ma intereseaza sa fie foarte clar. Nici nu ma asteptam sa fie. Important sa se inteleaga daca spune "Salut" sau nu.

2.PIC-ul care vreau sa-l folosesc este 16F876. Limbajul este C. Da ma pricep la programare. Cel putin eu asa zic.

3. Am sa ma uit pe documentatia pe care a pus-o cristiano sa vad daca inteleg ceva si am sa revin.

Tb. sa mentionez ca sunt incepator si tb. sa mai citesc oleaca despre intreruperi si modulul PWM(Pulse width modulation).

Multumesc inca o data pt. raspunsuri.

Share this post


Link to post
Share on other sites

SalutEu am facut un imitator de accident auto cu un 877. Ieshirea pwm ataca un amplif audio in punte, printr-un filtru pasiv. Ampliful ataca o goarna de alarma, de tip clasic (nu piezo), shi toata treaba produce suntetul de accident auto cand se apasa pe un buton. Este o chestie faina in trafic, adica se sperie lumea bine de tot, mai alec cand traverseaza cate un magar pe unde nu trebuie. Fishierul audio era convertit in PCM 7 bitzi Fe8Khz, shi era stocat in memoria program, ca este cel mai simplu shi ieftin asha, pentru sunete ce nu depashesc 2 secunde. Daca intereseaza pe cineva, dau hex-ul.

Share this post


Link to post
Share on other sites

<< bogdanel >> pune daca vrei si schema daca o mai ai ,pune-o aici si pentru altii si daca vrei bineinteles si hex-ul ca fara el :tonqe:

Share this post


Link to post
Share on other sites

Se poate si fara inregistrarea vocii.A existat un program la Spectrum (3.5 MHz) care stia sa provoace pronuntia unor cuvinte pornind de la stringul cuvantului, sa spunem "Hello". Eu am dezasamblat acest program, l-am mai aranjat si am obtinut o sursa (cred ca as putea sa o gasesc) veritabila (asamblabila la orice adresa). Ar fi si asta o varianta, cu avantajul ca ar permite pronuntarea oricarui cuvant, chiar a unor propozitii. Hardware-ul lui Spectrum (cel din 1982) era minimal in ceea ce priveste sunetul, era vorba doar de un bit de iesire. Un asemenea program ar putea fi rescris pentru PIC.

Share this post


Link to post
Share on other sites

Sunt curios de chestia aia cu spectrumul. Ca shi o chestie, harwarele era minimal, dar tot avea un timer destul de performant (Z80CTC). Iar in legatura cu PICul vorbitor, iaca hex-ul::020000040000FA:06000000000000002128B1:08000800A000030E8301A1001A:100010000A08A2008A018C1C21288C10A60103105A:10002000A70CA60DA70CA60D260E0C3897002708C6:1000300095002F1422088A00210E8300A00E200EA6:1000400009008B138312031385018601F0308700AA:1000500081309F00831604309F000B3085000030F4:100060008600F73087008312031340308B0083161D:1000700002308C0000308D008F308100831203131A:100080000430900097019D01910183161F3092006A:1000900083120F30950038309200121597010C3002:1000A00097000030A400C230A500071C5528831615:1000B000F130870003132F148B172F1C5D282F108E:1000C0007D206E20A700A40F6628A50F5D28871548:1000D0008B178316F730870003136D280800B201D1:1000E000B3010830B40030080310B10C0318B20794:1000F000B20CB30CB40B752800340310250C3F3937:10010000AA00240CA9002F12031C2F16290803177C:1001100083128D00031383122A08031783128F00A2:1001200083168C170C1400000000031783120C08B0:1001300003138312A900031783120E0803138312FB:10014000AA00A90D2A0D7F39AA00290C7F39A90020:0A0150002F1A2A082F1E29080800A4:02400E003E373B:00000001FFScuze ca nu va fac fishier atashat, dar e mai simplu asha.Acuma, explicatzile: se foloseshte CCP1 ca PWM out. La reset, se ashteapta pabna cand poctC, 0x00 devine 1, dupa care CCP1 devine ishire PWM. La terminarea playbackului se seteaza portc 0x03. Schema aste permite imbarligarea mai multor pic-uri, pentru a reproduce un semnal audio mai lung de 15872 esahntioane de 7 bitzi PCM, cat poate stoca un 876 in memoria de program, avand in vedere ca spatziul 0x0000-0x00ff din memoria pgm il papa programul efectiv. Stocarea audio-ului se face incepand de la 0x0100, dupa formula i = CByte(faudio(h) / 2) * 128 + CByte(faudio(h + 1) / 2), deci doua cuvinte de 7 bitzi concatenate, pentru a ocupa la maxim spatziul de 14 bitzi din memoria pgm.Sarbatori fericite,Bogdan

Share this post


Link to post
Share on other sites

Mai este o posibilitate in legatura cu vorbirea. Exista niste integrate ("procesor vocal", dupa unii autori) in care se poate inregistra "cantitatea" de 16 sec de vorbire, in max 16 mesaje adresabile. De exemplu daca toate mesajele au durata de 1 sec atunci vor exista 16 mesaje. Unele mesaje pot fi mai lungi, altele mai scurte. Software-ul din PIC, atunci cand considera, poate "apela" un anumit mesaj. Iesirea integratului de care spun este un semnal audio.

Share this post


Link to post
Share on other sites

Mai este o posibilitate in legatura cu vorbirea. Exista niste integrate ("procesor vocal", dupa unii autori) in care se poate inregistra "cantitatea" de 16 sec de vorbire, in max 16 mesaje adresabile. De exemplu daca toate mesajele au durata de 1 sec atunci vor exista 16 mesaje. Unele mesaje pot fi mai lungi, altele mai scurte. Software-ul din PIC, atunci cand considera, poate "apela" un anumit mesaj. Iesirea integratului de care spun este un semnal audio.

http://www.winbond-usa.com/mambo/content/view/36/140/

Share this post


Link to post
Share on other sites

Da, Cristiano, la asa ceva ma refeream. Link-ul tau ofera informatie completa.

Share this post


Link to post
Share on other sites

M-am sa imi fac si eu asa ceva la intrare in hol dintr-un robot telefonic, firma Medion(daca iti spune ceva). Pe care l-am cumparat cu 125 000 lei. si eu zic ca isi merita toti banii. Are de toate, inclusiv alimentatorul la pretul asta. Nu as vrea sa deviez de la subiectM-am gandit sa leg un senzor de miscare care sa actioneze un releu care prin contactele sale sa simuleze apasarea butonului PLAY. Bine asta e o combinatie ptr. cei comozi. Daca vrei sa ai staisfactia ca ai facut-o tu...succes

Share this post


Link to post
Share on other sites
Guest nea_Gogu_ingineru

Se poate folosind un dspic cu interfata de codec AC97 si libraria de compresie Speex. Mai multe informatii tema pentru acasa. Pe caietul de curat! :smt006

Share this post


Link to post
Share on other sites
Guest Vasile

eu zic ca cel mai simplu sa-l faci cu un ISD1420S care la magazinul din reclama de sus costa vro 5 lei Fara softuri si alte batai de cap :smt005

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.