Mündəricat:
- Addım 1: Ətraf mühiti necə qurmaq olar?
- Addım 2: Arduino -ya tələbat niyə artır?
- Addım 3: Başlayaq !!!!
- Addım 4: Tələb olunan komponentlər
- Addım 5: Əslində necə işləyir?
- Addım 6: Bileşenlerin Bağlanması
- Addım 7: Arduino lövhəsinə kod verilməsi
- Addım 8: Proqram/Sketch
- Addım 9: Yazılan kodlar haqqında nə demək olar?
- Addım 10: Döngü funksiyası
- Addım 11: BitVoicer Server Həll Obyektlərini Necə İdxal etmək olar?
- Addım 12: Nəticə
Video: Nitq tanıyıcı: 12 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
Hər kəsə salam………
Bu, göndərdiyim ikinci təlimatımdır
Elə isə hamıya xoş gəldiniz …
Bu Təlimat kitabında sizə bir arduino lövhəsindən istifadə edərək səs tanıyıcının necə qurulacağını öyrədəcəyəm.
Düşünürəm ki, əvvəllər arduino lövhələri ilə təcrübəniz var, yoxsa, burada böyük bir problem yoxdur, amma onunla oynamaq və maraqlı layihələr yaratmaq çox maraqlı olduğu üçün öyrəşməyi məsləhət görürəm. yaradıcılığınıza və bu barədə biliyinizə görə.
Arduino istifadə etmək təcrübəsi olmayan insanlar üçün:
Arduino, böyük bir dizayner və istehsalçı cəmiyyətinə sahib olan bir şirkət tərəfindən istehsal olunan açıq mənbəli bir kompüter qurğusudur və digər elektron sxemləri idarə etmək üçün istifadə edilə bilən kiçik bir kompüter kimi qəbul edilə bilər
Arduino, veb saytlarından asanlıqla yüklənə biləcək özləri tərəfindən hazırlanmış bir mühitdə proqramlaşdırılmışdır
Addım 1: Ətraf mühiti necə qurmaq olar?
Sadəcə google -da "arduino yüklə" axtarın
"Arduino - Proqram təminatı" na basın
"Arduino IDE -ni yükləyin" maddəsini görə bilərsiniz
Əməliyyat sistemindən asılı olaraq seçin
Yükləyin və quraşdırın
Proqramı uğurla qurdunuz və arduino üçün kodunuzu yaza bilərsiniz və kabelin köməyi ilə arduino lövhəsini kompüterə qoşa və kodu daxil edə bilərsiniz.
Addım 2: Arduino -ya tələbat niyə artır?
Ucuz
Arduino lövhələri digər mikro nəzarətçi platformaları ilə müqayisədə ucuzdur. Təxminən 50 dollara başa gələcək.
Çarpaz platforma
Arduino Proqramı Windows, Macintosh OS və Linux əməliyyat sistemlərində işləyir. Digər mikro nəzarətçi sistemlərini düşünsək, yalnız Windows-da işləyəcək və ya başqa sözlə yalnız Windows ilə məhdudlaşacaq.
Açıq mənbə və genişləndirilə bilən proqram
Proqram açıq mənbəyidir, buna görə insanlar bu mövzunu dərindən öyrənməyə və digər proqramlaşdırma dillərinin kitabxanalarını (işləməsi üçün bir sıra funksiyalardan ibarət) daxil etməyə başladılar.
Sadə və asan proqramlaşdırma mühiti
Yeni başlayanlar da daxil olmaqla insanlar üçün Arduino IDE -dən (əvvəllər bəhs etdiyimiz proqram ….) istifadə etmək çox asandır, çünki internetdə pulsuz olaraq mövcud olan böyük miqdarda mənbələr Arduinonun özləri tərəfindən təmin edilir. bunun haqqında.
Açıq mənbə və genişləndirilə bilən aparat
Arduino lövhələrinin planları Creative Commons lisenziyası altında nəşr olunur, belə ki, dövrə dizaynı təcrübəsi olan insanlar modulun öz versiyasını hazırlaya bilər, eyni zamanda texnologiyanı genişləndirmək hüququna malikdirlər və ona xüsusiyyətlər əlavə etməklə inkişaf edə bilərlər.
Addım 3: Başlayaq !!!!
Artıq dedim ki, bu layihə əsasən Arduino -dan istifadə edərək səs tanıma və bəzi vəzifələri yerinə yetirməyə imkan verir.
Daha aydın danışmaq ……
İstifadəçi tərəfindən verilən səs siqnallarını götürür, bu da sintez nitqinə çevrildikdən sonra LED-in yanıb-sönməsi ilə aşkar edilə bilər.
Addım 4: Tələb olunan komponentlər
Bu layihə üçün lazım olan əsas komponentlər:
Arduino Due x 1
Spark Əyləncəli Elektret Mikrofonunun qırılması x 1
Spark Fun Mono Audio Amp Breakout x 1
Dinamik: 0.25W, 8 ohm x 1
Çörək lövhəsi x 1
5 mm LED: Qırmızı x 3
Rezistor 330 ohm x 3
Jumper telləri x 1
Havya x 1
BitVoicer Server
Danışıq avtomatlaşdırılması üçün bir nitq tanıma və sintez serveridir.
Addım 5: Əslində necə işləyir?
1. Səs dalğaları aşkar edilir, sonra bu dalğaları tutur və Sparkfun Electret Breakout lövhəsi ilə gücləndirilir.
2. Yuxarıda göstərilən prosesdən əldə edilən gücləndirilmiş siqnal rəqəmsallaşdırılacaq və tərkibində olan analoq-rəqəmsal çeviricidən (ADC) istifadə edilərək Arduino lövhəsində saxlanılacaq.
3. Səs nümunələri, mövcud Arduino seriyalı portu istifadə edərək BitVoicer Server -ə veriləcəkdir.
4. BitVoicer Server audio axını emal edəcək və sonra tərkibindəki nitqi tanıyacaq.
5. Tanınmış nitq əvvəllər özü tərəfindən müəyyən edilmiş əmrlərlə müqayisə olunacaq, sonra Arduinoya geri göndəriləcək. Əmrlərdən biri nitqin sintezindən ibarətdirsə, BitVoicer Server audio axını hazırlayaraq Arduinoya göndərəcək.
6. Arduino verilən əmrləri müəyyən edəcək və müəyyən uyğun hərəkəti yerinə yetirəcək. Bir səs axını alınarsa, BVS Speaker sinifinə sıralanacaq və DUE DAC və DMA istifadə edərək oxunacaq.
7. SparkFun Mono Audio Gücləndirici, DAC siqnalını gücləndirəcək, beləliklə 8 Ohm dinamik idarə edə və onun vasitəsilə eşidilə bilər.
Addım 6: Bileşenlerin Bağlanması
İlk addım, çörək taxtasında və arduino lövhəsində şəkildəki kimi fərqli komponentlər bağlamaqdır
Burada istifadə olunan arduino lövhəsinin DUE olduğunu unutmayın, Arduino tərəfindən istehsal olunan fərqli modellər var, hər biri fərqli gərginlik səviyyələrində işləyir
Arduino lövhələrinin çoxu 5 V -da işləyir, lakin DUE 3.3 V -də işləyir
DUE artıq 3.3 V analoq istinaddan istifadə edir, buna görə AREF pininə tullanmağa ehtiyac yoxdur
Üzr istəyirik, AREF pininin bir sonrakı şəkildə göstərildiyi kimi bir arduino lövhəsində mövcud olan "ANALOG REFERANS PIN" olduğunu söyləməyi unutdum (Bu arduino UNO -dur, lakin DUE vəziyyətində oxşar saytda oxşardır)
DUE üzərindəki AREF pimi, rezistor körpüsü vasitəsilə mikro nəzarətçiyə bağlanır
AREF pinindən istifadə etmək üçün R1 rezistoru PCB-dən [Çaplı Devre Kartından] lehimlənməlidir
Addım 7: Arduino lövhəsinə kod verilməsi
Beləliklə, kodu Arduino lövhəsinə yükləməliyik ki, kodda göstərilən təlimatlardan asılı olaraq işləyə bilsin.
Bunu etmək çox asandır. Hər birini nə etdiklərini və necə işlədiklərini ətraflı izah edəcəyəm.
Kitabxana necə quraşdırılır?
Buna görə də bundan əvvəl BitVoicer Server kitabxanalarını Arduino IDE -yə, yəni arduino proqramına necə quracağımızı bilməliyik.
Bunun üçün Arduino IDE -ni açın
Üst paneldə "Eskiz" düyməsini basın
Sonra "Kitabxana daxil et" düyməsini basın
Bunun üzərinə "Kitabxananı İdarə et" düyməsini basın
Sonra kitabxana meneceri açılacaq və quraşdırmağa hazır olan və ya artıq quraşdırılmış kitabxanaların siyahısını görə bilərik
Qurmaq üçün kitabxana axtarın və sonra versiya nömrəsini seçin
Burada bu layihə üçün lazım olan BitVoicer Server kitabxanalarını quraşdırırıq
. Zip kitabxanasını necə idxal etmək olar?
Kitabxanalar bir ZIP faylı və ya qovluq olaraq da paylana bilər
Qovluğun adı kitabxananın adıdır
Qovluğun içərisində.cpp faylı,.h faylı və tez -tez açar sözlər.txt faylı, nümunələr qovluğu və kitabxananın tələb etdiyi digər fayllar olacaq
Arduino IDE -nin 1.0.5 versiyasından içərisində 3 -cü tərəf kitabxanalarını quraşdıra bilərsiniz
Yüklənmiş kitabxananı açmayın, olduğu kimi buraxın
Bunun üçün eskiz> Kitabxanaya Daxil et>.zip Kitabxanası əlavə edin
. Zip faylının yerini seçin və açın.
Sketch> Kitabxana İdxal menyusuna qayıdın.
Düzgün idxal edildikdə, naviqasiya edərkən açılan menyunun altındakı kitabxana görünməlidir.
Addım 8: Proqram/Sketch
Bu, Arduinoya yüklənməli olan proqramdır.
Bunu sadəcə Arduino lövhəsini kompüterə bağlayaraq lövhəyə yükləməklə etmək olar.
Addım 9: Yazılan kodlar haqqında nə demək olar?
İndi kodda yazılan hər bir funksiyanın əslində nə etdiyinə baxaq ………
Kitabxana istinadları və dəyişən bəyannaməsi
Bu barədə danışmazdan əvvəl bəzi əsas terminləri bilməli və başa düşməliyik.
-
BVSP
BitVoicer Server ilə məlumat mübadiləsi üçün lazım olan demək olar ki, bütün mənbələri bizə verən bir kitabxanadır
BVSP sinfi vasitəsi ilə həyata keçirilən BitVoicer Server Protokolu olaraq bilinən bir protokol var. Bu serverlə qarşılıqlı əlaqə qurmaq üçün lazımdır
-
BVSMic
Arduinonun Analog-Rəqəmsal Dönüştürücüsündən (ADC) istifadə edərək səs yazmaq üçün lazım olan hər şeyi həyata keçirən bir kitabxanadır
Bu səs sinifin daxili tamponunda saxlanılır və onları əldə etmək olar, sonra BitVoicer Server -də mövcud olan nitq tanıma mühərriklərinə göndərilə bilər
-
BVSSpeaker
BitVoicer Serverdən göndərilən audio axınların bərpası üçün lazım olan bütün əsas mənbələri özündə birləşdirən kitabxanadır
Bunun üçün Arduino lövhəsində quraşdırılmış Rəqəmsal-Analog Konvertoru (DAC) olmalıdır
Arduino DUE, inteqrasiya olunmuş DAC -a malik yeganə Arduino lövhəsidir
BVSP, BVSMic, BVSSpeaker və DAC kitabxanaları, bunlara istinad proqrama baxan ilk dörd sətirdə yazılmışdır
BitVoicer Server qurduqda bütün bu dörd kitabxananı təmin edən BitSophia tapa bilərsiniz
İstifadəçi BVSSpeaker kitabxanasına istinad əlavə etdikdə əvvəllər qeyd olunan DAC kitabxanası avtomatik olaraq işə salınacaq
BVSP sinfi BitVoicer Server ilə ünsiyyət qurmaq üçün istifadə olunur
BVSMic sinfi səsləri çəkmək və saxlamaq üçün istifadə olunur
BVSSpeaker sinfi, Arduino DUE DAC istifadə edərək səsin bərpası üçün istifadə olunur
2. quraşdırma funksiyası
Quraşdırma funksiyası müəyyən hərəkətləri yerinə yetirmək üçün istifadə olunur:
Pin rejimlərini və onların ilkin vəziyyətlərini təyin etmək
Serial ünsiyyətə başlamaq üçün
BVSP sinifini işə salmaq üçün
BVSMic sinifini işə salmaq üçün
BVSSpeaker sinifini başlatmaq üçün
Ayrıca, BVSP sinifinin çərçivə Alınan, Modu Dəyişdirilmiş və Alınan Hadisələr üçün "hadisə idarəçiləri" (funksiya göstəriciləri) təyin edir
Addım 10: Döngü funksiyası
Beş əsas əməliyyatı həyata keçirir:
1. keepAlive () funksiyası
Bu funksiya serverdən status məlumatı istəməkdir.
2. qəbul () funksiyası
Bu funksiya, serverin hər hansı bir məlumat göndərib göndərmədiyini yoxlamaqdır.
3. isSREAvailable (), startRecording (), stopRecording () və sendStream () funksiyaları
Bu funksiyalar səs yazmaqla bağlı müxtəlif parametrləri idarə etmək üçün istifadə olunur və səsi əldə etdikdən sonra bu səsi BitVoicer Serverə göndərir.
4. play () funksiyası
Bu funksiya BVSSpeaker sinifində növbə çəkilən səsi oxumaq üçün istifadə olunur.
5. playNextLEDNote ()
Bu funksiya Ledin necə yanıb -sönməsini nəzarət etmək üçün istifadə olunur.
6. BVSP_frameReceived funksiyası
Bu funksiya, qəbul () funksiyası tam bir çərçivənin alındığını müəyyən etməyə başlayanda hər dəfə çağırılır. Burada BitVoicer Serverdən əldə edilən əmrləri yerinə yetiririk. LEDlərin yanıb -sönməsini idarə edən əmrlər 2 baytdır. Birincisi baytı pinlə, ikinci baytı isə pin dəyərini göstərir. Burada pinə uyğun dəyəri təyin etmək üçün analogWrite () funksiyasından istifadə edirik. O zaman biz də bayt tipli playLEDNotes əmrinin alındığını yoxlamalıyıq. Qəbul edildiyi təqdirdə, playLEDNotes -ı doğru olaraq təyin etdim və cari vaxtı izləyəcək və qeyd edəcək. Bu vaxt, playNextLEDNote funksiyası tərəfindən LED -ləri mahnı ilə sinxronizasiya etmək üçün istifadə ediləcək.
7. BVSP_modeChanged funksiyası
Bu funksiya, qəbul () funksiyası gedən istiqamətdə (Server Arduino) rejim dəyişikliyini müəyyən edəndə çağırılır. BitVoicer Server, çərçivəli məlumatları və ya səsləri Arduinoya göndərə bilər. Rabitə bir rejimdən digərinə keçməzdən əvvəl BitVoicer Server bir siqnal göndərir. BVSP sinfi bu siqnalı müəyyənləşdirir və modeChanged hadisəni qaldırır və ya bayraqlayır. BVSP_modeChanged funksiyasında istifadəçi ünsiyyətin axın rejimindən çərçivəli rejimə keçdiyini aşkar edərsə, istifadəçinin BVSSpeaker sinifinə səsləndirməni dayandırmasını söyləyə biləcəyi üçün səsin bitdiyini biləcək.
8. BVSP_streamReceived funksiyası
Bu funksiya, hər dəfə qəbul () funksiyası səs nümunələrinin alındığını müəyyən edəndə çağırılır. Sadəcə səsi alır və play () funksiyası onları yenidən yarada bilməsi üçün onları BVSSpeaker sinfinə sıralayır.
9. playNextLEDNote funksiyası
Bu funksiya yalnız BVSP_frameReceived funksiyası playLEDNotes əmrini təyin edərsə işləyir. LEDləri BitVoicer Serverdən göndərilən səslə idarə edir və sinxronizasiya edir. LEDləri səslə sinxronizasiya etmək və düzgün vaxtı bilmək üçün pulsuz bir proqram Sonic Visualizer istifadə edilə bilər. Səs dalğalarını izləməyimizə imkan verir ki, bir insan bir piano düyməsinə nə vaxt basıldığını anlaya bilsin.
Addım 11: BitVoicer Server Həll Obyektlərini Necə İdxal etmək olar?
İndi BitVoicer Serverini Arduino ilə işləməyə qurduq.
BitVoicer Server üçün dörd əsas həll obyekti var: Yerlər, Cihazlar, BinaryData və Səs Şemaları.
Bunlara ətraflı baxaq:
Yerlər
Cihazın quraşdırıldığı fiziki yeri təmsil edir.
Ev adlı bir yer yarada bilərik.
Cihazlar
BitVoicer Serverin müştəriləri hesab olunurlar.
Bir yer yaratmaq kimi Qarışıq bir cihaz yarada bilərik, asanlıq üçün onu ArduinoDUE olaraq adlandıraq.
Bəzən bəzi tampon daşqınları baş verə bilər ki, onu aradan qaldırmaq üçün ünsiyyət parametrlərindəki Məlumat Oranını saniyədə 8000 nümunə ilə məhdudlaşdırmalı oldum.
BinaryData, BitVoicer Serverin müştəri cihazlarına göndərə biləcəyi bir növdür. Bunlar əslində əmrlərə bağlaya biləcəyiniz bayt diziləridir.
BitVoicer Server bu əmrlə əlaqəli nitqi tanıyanda, bayt dizisini hədəf cihaza göndərir.
Bu səbəbdən hər pin dəyərinə bir BinaryData obyekti yaratdım və onlara ArduinoDUEGreenLedOn, ArduinoDUEGreenLedOff və s.
Beləliklə, 18 BinaryData obyekti yaratmalı oldum, buna görə aşağıda təqdim olunan VoiceSchema.sof faylından obyektləri yükləməyinizi və idxal etməyinizi təklif edirəm.
Bəs Səs Şeması nədir?
Səs sxemləri hər şeyin bir araya gəldiyi yerdir. Bunların əsas rolu, cümlələrin necə tanınacağını və bütün əmrlərin yerinə yetirilməsinin lazım olduğunu təyin etməkdir.
Hər cümlə üçün, istədiyiniz qədər əmr və icra olunma qaydasını təyin edə bilərsiniz.
Təqdim olunan əmrlərin hər biri arasında gecikmələr təyin edə bilərsiniz.
BitVoicer Server yalnız 8 bitlik mono PCM səsini (saniyədə 8000 nümunə) dəstəkləyir, buna görə də audio faylını bu formata çevirməyə ehtiyac olacaq, bu gün o qədər çox onlayn çevrilmə haqqı var və tövsiyə edirəm https://audio.online -convert.com/convert-to-wav.
Aşağıdakı fayllardan bu layihədə istifadə etdiyim bütün həll obyektlərini idxal edə bilərsiniz.
Onlardan birində DUE Cihazı, digərində Səs Şeması və Əmrləri var.
Addım 12: Nəticə
Buyurun !!!
Mükəmməl bir layihə hazırladınız və onunla danışa bilərsiniz
Elə isə danışmağa başlayın …………………
LEDləri yanıb -sönə bilərsiniz və eyni zamanda ehtiyac olarsa bir mahnı oxuduğunu söyləyə bilərsiniz, kodu artıq verilmişdir
Beləliklə, İkinci Təlimatımı tamamladım !!!!!!!!
Bəli ……
Düşünürəm ki, hamı başa düşdü …
Hər hansı bir sualınız varsa, zəhmət olmasa məndən soruşun
Növbəti dəfə əla bir Təlimatla qarşılaşacağam …
Sağolun…
Tezliklə görüşərik ……………
Tövsiyə:
Arduino ilə Nitq Tanıma (Bluetooth + LCD + Android): 6 addım
Arduino ilə Nitq Tanıma (Bluetooth + LCD + Android): Bu layihədə Arduino, Bluetooth modulu (HC-05) və LCD ilə nitq tanıma aparacağıq. öz nitq tanıma cihazımızı quraq
MakeyMakey W/ Scratch istifadə edərək nitq çətinliyi üçün köməkçi texnologiya: 4 addım
MakeyMakey W/ Scratch istifadə edərək Nitq Çətinlikləri üçün Köməkçi Texnologiya: Köməkçi texnologiya cihazım nitq qüsurları və ya məhdud danışma ilə kömək etmək üçün istifadə olunur. Bu. öyrənmə prosesinə kömək məqsədi daşıyır
Google Speech API və Python istifadə edərək nitq tanıma: 4 addım
Google Speech API və Python istifadə edərək Nitq Tanıma: Danışıq Tanıma Süni Zəkanın alt sahəsi olan Təbii Dil İşlənməsinin bir hissəsidir. Sadə dillə desək, nitqin tanınması, kompüter proqramının danışılan dildə olan sözləri və ifadələri müəyyən etmək qabiliyyətidir
Retro nitq sintezi. Bölmə: 12 IoT, Ev Avtomatlaşdırması: 12 Addım (Şəkillərlə)
Retro nitq sintezi. Hissə: 12 IoT, Ev Avtomatlaşdırması: Bu məqalə, ev avtomatlaşdırılması ilə bağlı bir sıra 12 -ci məqalədir
AIY ilə çoxdilli tanıyıcı: 4 addım
AIY ilə Çox Dilli Tanıyıcı: Kosmik kosmik stansiyalarda. Orada bir çox astronavt var. N ~ astronavtlar bir çox planetdən (ölkədən) gəlir. beləliklə, AI orada bir çox dildə işləməlidir