Sari la conținut
ELFORUM - Forumul electronistilor

Pic vorbitor


Vizitator mcs@48

Postări Recomandate

Vizitator 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.

Link spre comentariu
  • Răspunsuri 16
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • MirceaM

    3

  • Cristiano

    2

  • bogdanel

    2

  • cirip

    1

Top autori în acest subiect

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

Link spre comentariu
Vizitator 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.

Link spre comentariu

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.

Link spre comentariu

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.

Link spre comentariu

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

Link spre comentariu
  • 2 luni mai târziu...

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.

Link spre comentariu

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/
Link spre comentariu
  • 3 săptămâni mai târziu...

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

Link spre comentariu
  • 1 an mai târziu...
Vizitator 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

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări