Isi kandungan:
- Langkah 1: Bagaimana Menyiapkan Alam Sekitar?
- Langkah 2: Mengapa Permintaan Arduino Meningkat?
- Langkah 3: Mari Kita Mulakan !!!!
- Langkah 4: Komponen Diperlukan
- Langkah 5: Bagaimana Sebenarnya Ia Berfungsi?
- Langkah 6: Memasang Komponen
- Langkah 7: Memberi Kod kepada Arduino Board
- Langkah 8: Program / Lakaran
- Langkah 9: Bagaimana dengan Kod yang Ditulis?
- Langkah 10: Fungsi Gelung
- Langkah 11: Bagaimana Mengimport Objek Penyelesaian Pelayan BitVoicer?
- Langkah 12: Kesimpulannya
Video: Pengecam Ucapan: 12 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:12
Hai semua………
Ini adalah arahan kedua saya yang saya hantar
Oleh itu, selamat datang semua…
Dalam Instructable ini saya akan mengajar anda bagaimana membina alat pengenal suara menggunakan papan arduino.
Oleh itu, saya fikir anda mempunyai pengalaman dengan papan arduino sebelumnya. Sekiranya tidak, sama sekali tidak masalah besar di sini. Tetapi saya cadangkan anda membiasakannya kerana sangat menarik untuk bermain dengannya dan membuat beberapa projek yang menarik keluar mengikut kreativiti dan pengetahuan anda di atasnya.
Jadi untuk orang yang tidak mempunyai pengalaman sebelumnya menggunakan arduino:
Arduino adalah perkakasan komputer sumber terbuka yang dihasilkan oleh syarikat yang mempunyai komuniti pereka dan pengeluar yang besar. Ia boleh dianggap seperti komputer kecil yang dapat digunakan untuk mengendalikan litar elektronik lain
Arduino diprogramkan dalam persekitaran yang dikembangkan oleh mereka sendiri yang boleh dimuat turun dengan mudah dari laman web mereka
Langkah 1: Bagaimana Menyiapkan Alam Sekitar?
Cari di google "download arduino"
Klik pada "Arduino - Perisian"
Anda akan dapat melihat "Muat turun Arduino IDE"
Pilih bergantung pada Sistem operasi anda
Muat turun dan pasangkannya
Oleh itu, anda telah berjaya memasang perisian dan anda boleh menulis kod anda untuk arduino dan dengan bantuan kabel anda boleh menyambungkan papan arduino ke komputer dan dapat memasukkan kod tersebut.
Langkah 2: Mengapa Permintaan Arduino Meningkat?
Mahal
Papan Arduino murah berbanding dengan platform pengawal mikro yang lain. Harganya sekitar $ 50.
Merentas platform
Perisian untuk Arduino berfungsi pada sistem operasi Windows, Macintosh OS, dan Linux. Sekiranya kita memikirkan sistem pengawal mikro yang lain, ia hanya akan berfungsi pada Windows atau dengan kata lain hanya terhad kepada windows.
Perisian sumber terbuka dan boleh diperluas
Perisian ini adalah sumber terbuka, sehingga orang mulai belajar mengenainya dengan mendalam dan memasukkan perpustakaan (yang merangkumi sekumpulan fungsi untuk pengoperasiannya) bahasa pengaturcaraan lain.
Persekitaran pengaturcaraan yang sederhana dan mudah
Mudah untuk menggunakan Arduino IDE (perisian yang telah kita bincangkan mengenai….) Untuk orang-orang termasuk pemula, kerana sejumlah besar sumber disediakan oleh Arduino sendiri yang tersedia di internet secara percuma. Oleh itu, silakan belajar lebih banyak pasal itu.
Sumber terbuka dan perkakasan yang boleh diperluas
Rencana papan Arduino diterbitkan di bawah lesen Creative Commons, jadi orang yang mempunyai pengalaman dalam reka bentuk litar dapat membuat versi modul mereka sendiri, mereka juga berhak untuk memperluas teknologi dan dapat meningkatkan dengan menambahkan fitur padanya.
Langkah 3: Mari Kita Mulakan !!!!
Oleh itu, saya telah memberitahu bahawa projek ini terutama difokuskan pada pengecaman suara menggunakan Arduino dan membenarkannya melaksanakan beberapa tugas.
Bercakap dengan lebih jelas ……
Ia mengambil isyarat suara yang diberikan oleh pengguna, yang dapat dikesan dengan berkedipnya LED setelah itu ditukar menjadi ucapan yang disintesis.
Langkah 4: Komponen Diperlukan
Komponen utama yang diperlukan untuk projek ini adalah:
Arduino Due x 1
Breakout Mikrofon Spark Fun Electret x 1
Spark Fun Mono Audio Amp Breakout x 1
Pembesar suara: 0.25W, 8 ohm x 1
Papan roti x 1
LED 5 mm: Merah x 3
Perintang 330 ohm x 3
Wayar pelompat x 1
Besi Pematerian x 1
Pelayan BitVoicer
Ia adalah pelayan pengenalan dan sintesis ucapan untuk automasi pertuturan.
Langkah 5: Bagaimana Sebenarnya Ia Berfungsi?
1. Gelombang audio ditemui kemudian menangkap gelombang ini dan dan diperkuat oleh papan Sparkfun Electret Breakout.
2. Isyarat yang diperkuat yang dicapai dari proses di atas akan didigitalkan dan disangga / disimpan dalam papan Arduino menggunakan penukar analog-ke-digital (ADC) yang terdapat di dalamnya.
3. Sampel audio akan diberikan kepada BitVoicer Server menggunakan port bersiri Arduino yang ada.
4. BitVoicer Server akan memproses aliran audio dan kemudian ia mengenali ucapan yang terkandung di dalamnya.
5. Ucapan yang diakui akan dipetakan ke perintah yang telah ditentukan sendiri sebelumnya, kemudian akan dikirim kembali ke Arduino. Sekiranya salah satu perintah terdiri daripada mensintesis ucapan, Pelayan BitVoicer akan menyiapkan aliran audio dan menghantarnya ke Arduino.
6. Arduino akan mengenal pasti arahan yang diberikan dan melakukan tindakan tertentu yang sesuai. Sekiranya aliran audio diterima, ia akan dimasukkan ke kelas Speaker BVS dan dimainkan menggunakan DUE DAC dan DMA.
7. Amplifier Audio SparkFun Mono akan menguatkan isyarat DAC sehingga dapat menggerakkan pembesar suara 8 Ohm dan dapat didengar melaluinya.
Langkah 6: Memasang Komponen
Langkah pertama adalah memasangkan komponen yang berbeza di papan roti dan juga dengan papan arduino seperti yang ditunjukkan dalam gambar
Ingat papan arduino yang digunakan di sini adalah DUE, ada model lain yang berbeza yang telah dihasilkan oleh Arduino masing-masing berfungsi pada tahap voltan yang berbeza
Sebilangan besar papan Arduino berfungsi pada 5 V, tetapi DUE berjalan pada 3.3 V
DUE sudah menggunakan rujukan analog 3.3 V sehingga anda tidak memerlukan pelompat ke pin AREF
Maaf, saya lupa mengatakan pin AREF adalah "PIN RUJUKAN ANALOG" yang terdapat di papan arduino seperti yang ditunjukkan dalam gambar seterusnya (Ini adalah UNO arduino tetapi serupa di laman web serupa dalam hal DUE)
Pin AREF pada DUE disambungkan ke pengawal mikro melalui jambatan perintang
Untuk menggunakan pin AREF, perintang R1 mesti disolder dari PCB [Printed Circuit Board]
Langkah 7: Memberi Kod kepada Arduino Board
Oleh itu, kita harus memuat naik kod tersebut ke Arduino Board, agar dapat berfungsi bergantung kepada petunjuk yang diberikan dalam kod tersebut.
Sangat mudah untuk melakukan ini. Saya akan menerangkan setiap satu secara terperinci, mengenai apa yang mereka lakukan dan bagaimana ia berfungsi.
Bagaimana Memasang Perpustakaan?
Oleh itu, sebelum itu kita harus mengetahui cara memasang perpustakaan BitVoicer Server ke dalam Arduino IDE, yang ke perisian arduino.
Oleh itu, buka Arduino IDE
Pada panel atas klik pada "Sketch"
Kemudian klik pada "Sertakan Perpustakaan"
Klik pada "Uruskan Perpustakaan"
Kemudian pengurus perpustakaan akan dibuka dan kita dapat melihat senarai perpustakaan yang siap dipasang atau yang sudah dipasang
Cari perpustakaan untuk dipasang dan kemudian pilih nombor versi
Di sini kita memasang perpustakaan BitVoicer Server, yang diperlukan untuk projek ini
Bagaimana Mengimport Perpustakaan.zip?
Perpustakaan juga boleh diedarkan sebagai fail atau folder ZIP
Nama folder adalah nama perpustakaan
Di dalam folder akan terdapat fail.cpp, fail.h dan selalunya fail kata kunci. Txt, folder contoh, dan fail lain yang diperlukan oleh perpustakaan
Dari versi 1.0.5 dari Arduino IDE, anda boleh memasang perpustakaan pihak ketiga di dalamnya
Jangan buka zip pustaka yang dimuat turun, biarkan seperti sedia ada
Untuk itu pergi ke lakaran> Sertakan Perpustakaan> Tambah Perpustakaan.zip
Pilih lokasi fail.zip dan buka.
Kembali ke menu Sketsa> Import Library.
Sekiranya ia diimport dengan betul, perpustakaan itu akan dilihat di bahagian bawah menu lungsur semasa anda menavigasi.
Langkah 8: Program / Lakaran
Ini adalah program yang mesti dimuat naik di Arduino.
Ia boleh dilakukan hanya dengan menyambungkan Arduino Board ke komputer dan memuat naiknya ke papan.
Langkah 9: Bagaimana dengan Kod yang Ditulis?
Sekarang mari kita perhatikan apa yang sebenarnya dilakukan oleh setiap fungsi yang ditulis dalam kod itu ………..
Rujukan perpustakaan dan deklarasi pemboleh ubah
Sebelum membincangkan perkara ini, kita harus mengetahui dan memahami beberapa istilah asas. Ini termasuk:
-
BVSP
Perpustakaan ini memberi kita hampir setiap sumber yang diperlukan untuk bertukar maklumat dengan BitVoicer Server
Ada protokol yang hadir dikenali sebagai BitVoicer Server Protocol yang dilaksanakan melalui kelas BVSP. Ini diperlukan untuk berinteraksi dengan pelayan
-
BVSMik
Ini adalah perpustakaan yang menerapkan semua perkara yang diperlukan untuk merakam audio menggunakan Analog-to-Digital Converter (ADC) Arduino
Audio ini disimpan dalam buffer dalaman kelas dan ia dapat diambil dan kemudian boleh dihantar ke mesin pengecam pertuturan yang tersedia di BitVoicer Server
-
Pembesar suara BVSS
Ia adalah perpustakaan yang mengandungi semua sumber penting yang diperlukan untuk menghasilkan semula aliran audio yang dihantar dari BitVoicer Server
Untuk itu papan Arduino mesti mempunyai Digital-to-Analog Converter (DAC) terbina dalam
Arduino DUE adalah satu-satunya papan Arduino yang mempunyai DAC bersepadu
Perpustakaan BVSP, BVSMic, BVSSpeaker dan DAC, rujukannya ditulis pada empat baris pertama yang membentuk tatapan program
Semasa anda memasang BitVoicer Server, anda boleh menemui BitSophia yang menyediakan keempat-empat perpustakaan ini
Apabila pengguna menambahkan rujukan ke perpustakaan BVSSpeaker, perpustakaan DAC yang telah disebutkan sebelumnya akan dipanggil secara automatik
Kelas BVSP digunakan untuk berkomunikasi dengan BitVoicer Server
Kelas BVSMic digunakan untuk menangkap dan menyimpan audio
Kelas BVSSpeaker digunakan untuk menghasilkan semula audio menggunakan Arduino DUE DAC
2. fungsi persediaan
Fungsi persediaan digunakan untuk melakukan tindakan tertentu seperti:
Untuk menetapkan mod pin dan keadaan awalnya
Untuk memulakan komunikasi bersiri
Untuk memulakan kelas BVSP
Untuk memulakan kelas BVSMic
Untuk memulakan kelas BVSSpeaker
Ini juga menetapkan "pengendali acara" (fungsi penunjuk) untuk frameReceived, modeChanged dan streamReceived event dari kelas BVSP
Langkah 10: Fungsi Gelung
Ia menjalankan lima operasi utama:
1. fungsi keepAlive ()
Fungsi ini adalah untuk meminta pelayan mengenai maklumat status.
2. menerima () fungsi
Fungsi ini adalah untuk memeriksa sama ada pelayan telah mengirim data atau tidak. Sekiranya Pelayan menghantar data, ia akan memprosesnya.
3. isSREAvailable (), startRecording (), stopRecording () dan sendStream () fungsi
Fungsi-fungsi ini digunakan untuk mengendalikan berbagai pengaturan saat merekam audio dan setelah mencapai audio, ia akan mengirimkan audio ini ke Server BitVoicer.
4. fungsi main ()
Fungsi ini digunakan untuk memainkan audio yang berada dalam barisan dalam kelas BVSSpeaker.
5. mainNextLEDNote ()
Fungsi ini digunakan untuk mengawal bagaimana Led harus berkelip.
6. Fungsi BVSP_frameReceived
Fungsi ini dipanggil setiap kali fungsi penerimaan () mula mengenal pasti satu bingkai lengkap telah diterima. Di sini kita menjalankan perintah yang dicapai dari Server BitVoicer. Perintah yang mengawal kedipan LED adalah 2 Byte. Pada bait pertama menunjukkan pin dan bait kedua menunjukkan nilai pin. Di sini kita menggunakan fungsi analogWrite () untuk menetapkan nilai yang sesuai pada pin. Pada masa itu kita juga harus memeriksa apakah perintah playLEDNotes, yang jenis Byte, telah diterima. Sekiranya ia telah diterima, saya menetapkan nota playLED menjadi benar dan ia akan memantau dan menandakan waktu semasa. Kali ini akan digunakan oleh fungsi playNextLEDNote untuk menyegerakkan LED dengan lagu.
7. Fungsi BVSP_modeChanged
Fungsi ini dipanggil setiap kali fungsi penerimaan () mengenal pasti perubahan mod dalam arah keluar (Server Arduino). Pelayan BitVoicer dapat menghantar data atau audio berbingkai ke Arduino. Sebelum komunikasi beralih dari satu mod ke mod yang lain, BitVoicer Server menghantar isyarat. Kelas BVSP mengenal pasti isyarat ini dan menaikkan atau menandakan peristiwa modeChanged. Dalam fungsi BVSP_modeChanged, jika pengguna mengesan komunikasi beralih dari mod aliran ke mod berbingkai, dia akan mengetahui audio telah berakhir sehingga pengguna dapat memberitahu kelas BVSSpeaker untuk berhenti memainkan audio.
8. Fungsi BVSP_streamReceived
Fungsi ini dipanggil setiap kali fungsi penerimaan () mengidentifikasi bahawa sampel audio telah diterima. Ia hanya mendapatkan audio dan mengantarkannya ke kelas BVSSpeaker sehingga fungsi play () dapat menghasilkannya semula.
9. fungsi playNextLEDNote
Fungsi ini hanya berjalan jika fungsi BVSP_frameReceived mengenal pasti perintah playLEDNotes. Ia mengawal dan menyegerakkan LED dengan audio yang dihantar dari BitVoicer Server. Untuk menyegerakkan LED dengan audio dan mengetahui masa yang betul, perisian percuma Sonic Visualizer dapat digunakan. Ini membolehkan kita menonton gelombang audio sehingga orang itu dapat mengetahui kapan kunci piano ditekan.
Langkah 11: Bagaimana Mengimport Objek Penyelesaian Pelayan BitVoicer?
Kami kini telah menyediakan BitVoicer Server untuk bekerjasama dengan Arduino.
Terdapat empat objek penyelesaian utama untuk Pelayan BitVoicer: Lokasi, Peranti, BinaryData dan Skema Suara.
Mari kita perhatikan secara terperinci:
Lokasi
Ini mewakili lokasi fizikal di mana peranti sedang dipasang.
Kita boleh membuat lokasi yang dipanggil Rumah.
Peranti
Mereka dianggap sebagai pelanggan BitVoicer Server.
Seperti membuat lokasi, kita dapat membuat peranti Campuran, untuk kemudahan, marilah kita menamakannya sebagai ArduinoDUE.
Kadang-kadang beberapa overflow penyangga dapat terjadi sehingga untuk menghapusnya saya terpaksa menghadkan Kadar Data dalam tetapan komunikasi kepada 8000 sampel sesaat.
BinaryData adalah sejenis arahan yang boleh dihantar oleh BitVoicer Server ke peranti pelanggan. Ini sebenarnya ialah susunan bait yang boleh anda pautkan ke perintah.
Apabila Server BitVoicer mengenali ucapan yang berkaitan dengan perintah itu, ia menghantar array bait ke peranti sasaran.
Oleh itu, untuk itu saya telah membuat satu objek BinaryData untuk setiap nilai pin dan menamakannya ArduinoDUEGreenLedOn, ArduinoDUEGreenLedOff dan sebagainya.
Oleh itu, saya terpaksa membuat 18 objek BinaryData, jadi saya cadangkan anda memuat turun dan mengimport objek dari fail VoiceSchema.sof yang disediakan di bawah.
Jadi apa itu Skema Suara?
Skema Suara adalah tempat semuanya bersatu. peranan utama mereka adalah untuk menentukan bagaimana ayat harus dikenali dan apa yang perlu dijalankan oleh semua perintah.
Untuk setiap ayat, anda dapat menentukan seberapa banyak perintah yang anda perlukan dan susunan perintah yang akan dilaksanakan.
Anda juga dapat menentukan kelewatan antara setiap perintah yang diberikan.
Pelayan BitVoicer hanya menyokong audio PCM mono 8-bit (8000 sampel sesaat) jadi ada keperluan untuk menukar fail audio ke format ini, terdapat banyak tol penukaran dalam talian hari ini dan saya cadangkan https://audio.online -convert.com/convert-to-wav.
Anda boleh mengimport (Mengimport Objek Penyelesaian) semua objek penyelesaian yang saya gunakan dalam projek ini dari fail di bawah.
Salah satunya mengandungi Peranti DUE dan yang lain mengandungi Skema Suara dan Perintahnya.
Langkah 12: Kesimpulannya
Itupun dia !!!
Anda telah membuat projek yang hebat dan anda boleh membincangkannya
Jadi mulakan bicara ………………
Anda boleh mengedipkan LED dan pada masa yang sama anda boleh mengatakannya untuk menyanyikan lagu jika perlu, kodnya telah disediakan
Oleh itu, saya telah melengkapkan Pengajaran Kedua saya !!!!!!!!
Yeah……
Saya rasa semua orang memahaminya…
Sekiranya ada yang mempunyai pertanyaan, sila tanya saya
Saya akan tampil dengan Instructable yang sangat baik lain kali
Selamat tinggal …
Jumpa lagi……………
Disyorkan:
Sistem Pengecam dan Pemadam Kebakaran Berdasarkan Pemprosesan Imej: 3 Langkah
Sistem Pengecaman dan Pemadam Kebakaran Berdasarkan Pemprosesan Imej: Halo kawan-kawan ini adalah sistem pengesanan dan pemadam api berasaskan pemprosesan imej menggunakan Arduino
Pengecam Gerak Tangan: 5 Langkah
Hand Motion Recognizer: Gambaran keseluruhanDalam projek ini, kami akan membuat sarung tangan yang dapat mengenali beberapa pergerakan tangan asas, menggunakan MicroBit, dan beberapa sensor. Kami akan menggunakan keupayaan Bluetooth pada MicroBit, bersama dengan Aplikasi Android dan Pelayan Web untuk melatih
Robp Pengecam Tanda Lalu Lintas Raspberry Pi 4: 6 Langkah
Robp Pengecam Tanda Lalu Lintas Raspberry Pi 4: Arahan ini berdasarkan projek universiti saya. Tujuannya adalah untuk membuat sistem di mana jaringan saraf menganalisis gambar dan kemudian berdasarkan pengakuan akan memberitahu robot arduino untuk bergerak melalui Ros. Sebagai contoh jika tanda belok kanan dikenali
Pengecaman Ucapan Menggunakan API Ucapan Google dan Python: 4 Langkah
Pengenalan Ucapan Menggunakan API Ucapan Google dan Python: Pengenalan UcapanPengiktirafan Ucapan adalah bahagian dari Pemprosesan Bahasa Semula jadi yang merupakan subbidang Kecerdasan Buatan. Sederhananya, pengecaman pertuturan adalah kemampuan perisian komputer untuk mengenal pasti perkataan dan frasa dalam bahasa lisan
Pengecam Suara Dapur Custom: 4 Langkah
Custom Kitchen Sound Identifier: Untuk projek akhir kami dalam kursus sistem interaktif pada musim bunga ini, kami membuat sistem masa nyata untuk mengenal pasti dan memvisualisasikan bunyi biasa di dapur menggunakan klasifikasi Mesin Sokongan-Vektor. Sistem ini terdiri daripada komputer riba untuk audio