Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
See more
See less

kõnesüntesaator ISD4002

Collapse
X
 
  • Filter
  • Kellaaeg
  • Show
Clear All
new posts

    kõnesüntesaator ISD4002

    Lugesin kusagilt et elektroonikutele meeldivad rasked küsimused. Prooviks sellisega...
    On selline tore kivi nagu ISD4002, saab kõnet sisse salvestada ja (jupikaupa) ka maha mängida. Kõik nagu käib kenasti kuid teatud fragmente kiputakse maha mängima järjest, ilma pausita vahel.
    Kirjutasin kivisse diktori loetud numbrid 1,2...2000. Soft peab siis vastavalt displeil kuvatavale skoorile neid kõnefragmente sobivas järjekorras maha mängima et kostaks sama nubmber mis tabool. See ka töötab kuid ntx. andes ette numbri 11 aadressi,kostab valjukast 11,12,13 (loeb järjest ilma pausita). Sama tehakse veel mõnede teiste järjestikuste numbri mölanditega.
    Esimese hooga kahtlustaks oma softi kuid isegi võrgust tõmmatud kivi "programmaatori" softiga katsetades ei õnnestunud asja parandada. Ümberkirjutamine ei aita, samuti kogu möla nihutamine paarkümmend baiti "kõrgemale". Datasheedist ei osanud ka probleemile lahendust leida.
    Et huvitav mis paranähtus see võiks olla? On kellelgi ideid?
    Tänks!
    - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
    - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

    #2
    Sellised mõtted siis:

    - kas system harrastab verbaalset pidamatust alati täpselt samades situatsioonides ja kas (11,12,13) kolmeteistkümneni jõudes taipab alati ühtmoodi oma eksimusest ja jääb ootama uut skoori?
    - kui sisestada skoori 11 aadressile mingit muud juttu, kas siis kostab skoori 11 puhul see jutt ja lisaks 12, 13?
    - kas skoori 11 aadressil paikneb ikka ainult verbaalne 'üksteist' või on kogemata sattunud ka 12, 13?
    - kui proovida lugeda uuesti numbrid teistsuguse tämbriga ja kirjutada kivisse uued loendid nt kuni 20-ni, kas kordub sama?
    - kui proovida teist samasugust kivi?

    Comment


      #3
      Head küsimused, proovin, katsetan.
      Kontrollisin programmaatoriga ja seega saan anda ette kuulamiseks selle fraasi aadressi, mida tahan kontrollida. Vada peaks peatuma (kivi sisemine loogikafunktsioon) alati peale 1 fraasi mahamängimist, selleks on tal EOF marker. Tundub, et mingitel tingimustel jääb see panemata.
      Andes ette fraasi "12" aadressi mängitakse maha 12 ja 13 ning 13 puhul ainult 13. Sama trikk kordub numbritega 20,30 ning 400,500,600,700.
      Teist kivi mul ei ole - üsna kallis tükk on aga proovin kasutada teist "diktorit". Samas ei tohiks see räniliistakas lugejate vahel vahet teha....???
      On muidugi võimalik, et "programmaatori" soft jupsib. See on ühe harrastaja kirjutatud(http://hem.passagen.se/communication/speach.html siin on ka muud huvitavat!) Oma softi puhul vähemalt tead, mida ta teeb. Igatahes - kummaline värk.
      - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
      - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

      Comment


        #4
        ei ole 4002-ga tegelenud, 2532-ga küll.
        neid klotse saab 2 moodi käima, kas kasutades aadresse või teate jrk.nr. ise kasutasin viimast ,
        kui vaja lugeda 10-s tekst,siis resettisin ja 10* message cue käsk. siis play.
        kui sul sama süsteemi järgi, siis EOF-d ju olemas, muidu ei loeks 12-t ja 13-t välja, nende asemel kuuleks 15.t ja 16-t.
        kui muidu käima ei saa võid kuhugi mujale iga jupi pikkuse üles kirjutada ja õigel ajal mölakasti suu kinni keerata.
        aga üldiselt on neil kehvake heli, parem tee serial flash+ voice codec.

        Comment


          #5
          kuna 2532ga tegelesin vist 5a tagasi siis suurt ei mäleta,aga mingi sarnane jama oli mul kah, vist oli nii et sain EOF-e rohkem kui vaja, lahti sain probleemist kui ignoreerisin EOFide vahesid alla 0,5 sekundi.
          uurisin veic seda datasheeti ja ainus mida oskan soovitada, on et sünkroniseeri teate salvestamise lõpp RAC signaaliga,
          näiteks alati siis kui viimane == LOW.

          Comment


            #6
            ... Andes ette fraasi "12" aadressi mängitakse maha 12 ja 13 ...
            Veel mõtteid:

            Saidilt paistab, et fraasid on salvestatud *.wav formingus ja saan aru nii, et nt skoori 2674 puhul moodustatakse vastus 2000 & 600 & 70 & 4 fraasidest.

            Võibolla salvestatud fraasi "12" mingi parameeter erineb mingil määral toimivate fraaside omast ja seetõttu ei sobi etteantud aadressiväljale (Input Sample Rate = ISD4002-120 sec kivi puhul 8kHz)?

            Pardoon, kui jutt aia taha läks :-[!

            Üheksakümnendate algul salvestasin energiavälisesse mällu mitu programmi, sealt hiljem RAM'i lugedes oli ühe proge lõpp kadunud adresseerimise apsu tõttu salvestusel. Asi selgus kogu mälu aadressidest joonise tegemisel.

            Comment


              #7
              Suured tänud ideede eest! Proovin järele. Kodune XP ei lase paraku portidele ligi ja softi lähtekoodi ka pole, seega saan alles tööl katsetada.
              Skoori moodustan tõesti nii nagu Saformo ütles. Sellega katsetades viga välja tuligi. Siis testisin lihtsalt tollel saidil toodud progejaga ning nimetatud numbrid kostsid ühes jorus nagu EOM markerit miskipärast poleks. Fraasid olid tõesti pikemad kui enamus kuid...samas oli mul veel pikemaid fraase (klaasiklirin) ja nende puhul anomaaliaid ei esinenud.
              Ma isegi kahtlustasin arvutit (saasta täis installitud aastate jooksul kuid siis tegi Quantumi ketas oma viimase pöörde ....ja peale uut puhast installi oli ikka sama jama.
              Serial flash on huvitav idee, ehk oskad mõnda soovitada? Kuidas nende hinnad on (ISD maksab 300 raha kandis, ei tahaks asja eriti kalliks ajada)?
              - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
              - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

              Comment


                #8
                serial flashidest levinud Atmeli AT45DB seeria,
                kuid lisama pead ka audiocodeci , see aga tahab yhtlast andmevoogu ja paari taktsagedust, mis kokkuvötteks viib asja keerukamaks.vastutasuks saad oluliselt parema helikvaliteedi, sest kui isd trakt 8bitine, on telefonicodecid 13 bitti ( kuigi data 8 bitti sest mittelineaarset kodeeringut nn.A-seadust kasutatakse , USA-s muide u-seadus ( kreeka täht myy )) .
                120 sekundi salvestamiseks vaja 120*64000= 8MBit mälu.
                ise kasutan at45db041 mälusid, kuid Sinu projekti jaoks jäävad vist väikeseks, kui kompresseeringut ei kasuta.
                32kbps ADPCM on väga lihtne algoritm ja AVR vöi PIC saab hakkama, ning 4mbit mälu piisaks.
                mälu + kodek tuleb vist odavam,aga tööd arvatavasti rohkem.

                Comment


                  #9
                  Siin on ka veel voolutarbe küsimus sest asi peab töötama patareidelt...
                  Igatahes näruselt kummaline kivi! Pritsisin messid suvalises järjekorras mällu ja... mitte essugi! Ikka ta luges mõningaid järjest ja enamust normaalselt. Lahenduse sain kui jätsin messide vahele ühe tühja rea (aadressi) aga see pole ju päris see õige asi!
                  Kuigi pole proovinud, tundub et CUE käsk annab sama halva tulemuse, vähemalt minu süsteemis.
                  Kas Raivol oli kivi kirjutamiseks mingi oma soft? Hakkan üha enam kahtlustama toda programmaatorit.
                  - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
                  - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

                  Comment


                    #10
                    Lugesin ka natuke selle kivi kohta ja minu mõtted on sellised:
                    Äkki see programm kirjutab mingi teatud sämpli pikkuse korral üle viimase EOM-märgi järgmise sämpliga. Lihtsalt kuna see paistab niisama visual basicus kirjutatud kellegi oma lõbuks, siis võib seal olla üks lihtne buug. Nimelt kui lindistada mingi sample ja jagada see bufrite pikkusga. Kui siis niisama aritmeetiliselt ümardada programmeerides seda põhjalikult järele mõtlemata on lihtne viga tulema - kui on täis alla poole bufrist, siis äkki ümardatakse alla (<0.5) ja prog käivitab järgmise salvestuse eelmise sämpli lõpu pääle?
                    Sorry, kui nüüd asjaga väga puusse panen, kogemusi endal sellega ei ole. Niisama esimene uitmõte.

                    Comment


                      #11
                      Jah, mulle tundub ka et antud raud- ja tarkvara koostöö tulemus võibki olla kala põhjuseks. Aeg-ajalt kipub soft näiteka wav-failiga eksima ja salvestab idioodi järjekindlusega sama lugu (kuigi valin mõne teise!) nagu rikkis grammofon.
                      Hakkan oma salvestaja koodi kirjutama.
                      Ei tahtnud asja peale aega raisata ja lootsin et saan lihtsamalt hakkama. Enamike lootustega on vist sama lugu....
                      Tänud kaasamõtlejatele!
                      Minul on sellest koodist igatahes isu täis - head ööd!

                      PS. 1 unine mõte veel Suurele ElektroonikaRingile kaalumiseks: ISD kivi andmesiini peal istub prose oma pordiga - anduri töö ajal käib juhtimine tema abil. Hoian kontrollerit küll jõuga resetis kuid...mine tea!
                      2. mõte: mida arvate 5V-> 3V üleminekust takistite abil (nagu tolle amatööri skeemis on)?. Ossiga vaadates on nivood ilusad kuid ei tea kuidas kivi asjasse suhtub.
                      - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
                      - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

                      Comment


                        #12
                        ehk valgustaksid, mis moodi seda systeemi ehitad ? kas arvuti otsas lihtsalt proovid isd kivi vöi tahadki eelnevalt teated arvuti abil salvestada. ja kas mahamängimist kamandab mikrokontroller ?
                        kui nii siis kirjuta salvestamise protseduur kah kontrollerisse.
                        kasutasin isd koos mikrokontrolleriga, nii salvestus ( mikrist) kui taasesitus käis selle juhtimisel.
                        3v probleemi parim lahendus on 3v kontroller.
                        yks paha komme isd kivil on- kuni kontroller resetist yles töuseb, vöib isd köige esimesele aadressile EOM-i genereerida- selle vastu aitab lyhikeste, näit alla 0,1 s teadete ignoreerimine.
                        isd4000 puhul,millel spi port , vöibolla tekivad EOMid ka muudele aadressitele- yks vöimalik probleemi pöhjus.
                        soovitaksin siis alati enne toite mahavötmist kivi mingisse kindlasse algolekusse viia. muide, alla 0,1 s teate ignoreerimine tähendab "message cue" korral 0,1/640( oli vist nii palju kiirem cue reziim) = 150us pikkust teadet ja juhul kui EOMid järgnevad kiiremini siis vöid (pead) neid yheks luged(m)a.
                        segane sai aga taipad.

                        Comment


                          #13
                          Esialgu vaid proovisin arvutiga jutud kivisse kirjutada, hiljem hakkab kontroller seda ise tegema sest algusaadresse on maru tülikas käsitsi koodi toppida. ISD on küll tulevase PCB peal skeemis ja jutte loeb välja (edukalt ) kontroller ise. Samas on pistik, kuhu ühendasin netis toodud PICiga skeemi väljundi, tõmbasin prosele reseti peale ja asusin kirjutama/lugema.
                          Kas see resetist üles tõusmise jutt tähendab, et kivi sisu saab solgitud? Esialgu pole säärast effekti antud skeemis täheldanud. PIC-iga skeemiga katsetamisel oli kogu aeg reset kontrolleril peal kuid anomaaliad tekkisid ikkagi. Mul jäi mulje et EOM-id just kaovad kummalisel kombel. RAC signaali ei saanud ka kasutada - ta käitus täpselt nii nagu oleks tegemist üheainsa pikema messiga 2 erineva asemel. Ajuti oleks nagu 1 RAC pulss puudu!! ?? Äkki sellel kivil siis sedapidi?
                          - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
                          - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

                          Comment


                            #14
                            reseti ajal solkimine tähendab,et kontroller ei jöua IO-d paika panna piisavalt kiiresti- isd "genereerib" lyhikese pausi ja EOMi. vöib-olla sinu systeemis seda ei juhtu, aga arvestada tasuks. isd dokumentatsioonis on kah sellest juttu. EOMid ei saa sinu systeemis kuidagi kaduda, vastasel juhul kuuleks 12-da teate asemel 14-t, vms.
                            näib et viga kuidagi RACi signaaliga seotud.

                            Comment


                              #15
                              Võib-olla sain andmelehest valesti aru kuid mulle tundub, et EOM on kivi sisemine mälumarker mille peale mahamängimine seisma jäetakse. Just niiviisi juhtubki!
                              - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
                              - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

                              Comment

                              Working...
                              X