Daftar Isi:
- Langkah 1: Bagaimana Mengatur Lingkungan?
- Langkah 2: Mengapa Permintaan Arduino Meningkat?
- Langkah 3: Mari Kita Mulai !!!!
- Langkah 4: Diperlukan Komponen
- Langkah 5: Bagaimana Sebenarnya Bekerja?
- Langkah 6: Menghubungkan Komponen
- Langkah 7: Memberikan Kode ke Papan Arduino
- Langkah 8: Program/Sketsa
- Langkah 9: Bagaimana Dengan Kode Tertulis?
- Langkah 10: Fungsi Loop
- Langkah 11: Bagaimana Mengimpor Objek Solusi Server BitVoicer?
- Langkah 12: Kesimpulan
Video: Pengenal Ucapan: 12 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:58
Halo semuanya………
Ini adalah instruksi kedua saya yang saya posting
Jadi selamat datang semua…
Dalam Instruksi ini saya akan mengajari Anda tentang cara membuat pengenal suara menggunakan papan arduino.
Jadi saya pikir Anda memiliki pengalaman dengan papan arduino sebelumnya. Jika tidak, itu sama sekali bukan masalah besar di sini. Tapi saya sarankan Anda untuk membiasakan diri karena sangat menarik untuk bermain dengannya dan membuat beberapa proyek keren keluar dari itu sesuai dengan kreativitas dan pengetahuan Anda di atasnya.
Jadi bagi orang-orang yang tidak memiliki pengalaman sebelumnya menggunakan arduino:
Arduino adalah perangkat keras komputer open source yang diproduksi oleh perusahaan yang memiliki komunitas besar desainer dan produsen. Arduino dapat dianggap seperti komputer kecil yang dapat digunakan untuk mengontrol sirkuit elektronik lainnya
Arduino diprogram dalam lingkungan yang dikembangkan sendiri yang dapat dengan mudah diunduh dari situs web mereka
Langkah 1: Bagaimana Mengatur Lingkungan?
Cari saja di google "download arduino"
Klik "Arduino - Perangkat Lunak"
Anda akan dapat melihat "Unduh Arduino IDE"
Pilih tergantung pada Sistem operasi Anda
Unduh dan instal
Jadi Anda telah berhasil menginstal perangkat lunak dan Anda dapat menulis kode Anda untuk arduino dan dengan bantuan kabel Anda dapat menghubungkan papan arduino ke komputer dan dapat memasukkan kode.
Langkah 2: Mengapa Permintaan Arduino Meningkat?
Murah
Papan Arduino tidak mahal dibandingkan dengan platform mikrokontroler lainnya. Biayanya hanya sekitar $50.
lintas platform
Perangkat Lunak untuk Arduino bekerja pada sistem operasi Windows, Macintosh OS, dan Linux. Jika kita memikirkan sistem mikrokontroler lain, itu hanya akan berfungsi di Windows atau dengan kata lain terbatas hanya untuk windows.
Perangkat lunak sumber terbuka dan dapat diperluas
Perangkat lunak ini open source, sehingga orang mulai mempelajarinya secara mendalam dan memasukkan perpustakaan (yang mencakup serangkaian fungsi untuk operasinya) dari bahasa pemrograman lain.
Lingkungan pemrograman yang sederhana dan mudah
Sangat mudah untuk menggunakan Arduino IDE (perangkat lunak yang telah kita bahas tentang….) untuk orang-orang termasuk pemula, karena sejumlah besar sumber daya disediakan oleh Arduino sendiri yang tersedia di internet secara gratis. Jadi jangan ragu untuk mempelajari lebih lanjut tentang itu.
Sumber terbuka dan perangkat keras yang dapat diperluas
Rencana papan Arduino diterbitkan di bawah lisensi Creative Commons, sehingga orang yang memiliki pengalaman dalam merancang sirkuit dapat membuat versi modul mereka sendiri, mereka juga memiliki hak untuk memperluas teknologi dan dapat meningkatkan dengan menambahkan fitur ke dalamnya.
Langkah 3: Mari Kita Mulai !!!!
Jadi saya telah mengatakan bahwa proyek ini terutama difokuskan pada pengenalan suara menggunakan Arduino dan untuk memungkinkannya melakukan beberapa tugas.
Berbicara lebih jelas ……
Ini mengambil sinyal suara yang diberikan oleh pengguna, yang dapat dideteksi dengan berkedip LED setelah itu diubah menjadi ucapan yang disintesis.
Langkah 4: Diperlukan Komponen
Komponen utama yang diperlukan untuk proyek ini adalah:
Arduino Karena x 1
Spark Fun Electret Microphone Breakout x 1
Spark Fun Mono Audio Amp Breakout x 1
Pembicara: 0.25W, 8 ohm x 1
Papan tempat memotong roti x 1
5 mm LED: Merah x 3
Resistor 330 ohm x 3
Kabel jumper x 1
Solder Besi x 1
Server BitVoicer
Ini adalah server pengenalan suara dan sintesis untuk otomatisasi ucapan.
Langkah 5: Bagaimana Sebenarnya Bekerja?
1. Gelombang audio yang ditemukan kemudian menangkap gelombang ini dan diperkuat oleh papan Breakout Electret Sparkfun.
2. Sinyal yang diperkuat yang diperoleh dari proses di atas akan didigitalkan dan di-buffer/disimpan di board Arduino menggunakan analog-to-digital converter (ADC) yang ada di dalamnya.
3. Sampel audio akan diberikan ke BitVoicer Server menggunakan port serial Arduino yang ada.
4. BitVoicer Server akan memproses aliran audio dan kemudian mengenali ucapan yang dikandungnya.
5. Ucapan yang dikenali akan dipetakan ke perintah-perintah yang sudah didefinisikan sendiri sebelumnya, kemudian akan dikirim kembali ke Arduino. Jika salah satu perintah terdiri dari mensintesis ucapan, Server BitVoicer akan menyiapkan aliran audio dan mengirimkannya ke Arduino.
6. Arduino akan mengidentifikasi perintah yang diberikan dan melakukan tindakan tertentu yang sesuai. Jika aliran audio diterima, itu akan dimasukkan ke dalam kelas Speaker BVS dan diputar menggunakan DUE DAC dan DMA.
7. Amplifier Audio SparkFun Mono akan memperkuat sinyal DAC sehingga dapat menggerakkan speaker 8 Ohm dan dapat didengar melaluinya.
Langkah 6: Menghubungkan Komponen
Langkah pertama adalah memasang komponen yang berbeda di papan tempat memotong roti dan juga dengan papan arduino seperti yang ditunjukkan pada gambar
Ingat board arduino yang digunakan disini adalah DUE, ada model lain yang berbeda yang telah diproduksi oleh Arduino masing-masing bekerja pada level tegangan yang berbeda
Sebagian besar papan Arduino bekerja pada 5 V, tetapi DUE berjalan pada 3,3 V
DUE sudah menggunakan referensi analog 3,3 V sehingga tidak perlu jumper ke pin AREF
Oh maaf, saya lupa mengatakan pin AREF adalah "PIN REFERENSI ANALOG" yang ada di papan arduino seperti yang ditunjukkan pada gambar berikutnya (Ini adalah arduino UNO tetapi serupa di situs serupa dalam kasus DUE)
Pin AREF pada DUE terhubung ke mikrokontroler melalui jembatan resistor
Untuk menggunakan pin AREF, resistor R1 harus disolder dari PCB [Printed Circuit Board]
Langkah 7: Memberikan Kode ke Papan Arduino
Jadi kita harus mengupload kode tersebut ke Arduino Board, agar dapat bekerja sesuai dengan instruksi yang diberikan dalam kode tersebut.
Sangat mudah untuk melakukan ini. Saya akan menjelaskan masing-masing secara rinci, tentang apa yang mereka lakukan dan bagaimana cara kerjanya.
Bagaimana Menginstal Perpustakaan?
Jadi sebelum itu kita harus tahu cara menginstal library BitVoicer Server ke Arduino IDE,.yang ke software arduino.
Jadi untuk itu buka Arduino IDE
Di panel atas klik "Sketsa"
Kemudian Klik "Sertakan Perpustakaan"
Pada klik itu "Kelola Perpustakaan"
Kemudian pengelola perpustakaan akan terbuka dan kita dapat melihat daftar perpustakaan yang siap untuk diinstal atau yang sudah diinstal
Cari pustaka yang akan diinstal, lalu pilih nomor versi
Di sini kita menginstal perpustakaan BitVoicer Server, yang diperlukan untuk proyek ini
Bagaimana cara mengimpor perpustakaan.zip?
Perpustakaan juga dapat didistribusikan sebagai file atau folder ZIP
Nama folder adalah nama perpustakaan
Di dalam folder akan ada file.cpp, file.h dan seringkali file kata kunci.txt, folder contoh, dan file lain yang diperlukan oleh perpustakaan
Dari versi 1.0.5 Arduino IDE, Anda dapat menginstal perpustakaan pihak ke-3 di dalamnya
Jangan membuka zip perpustakaan yang diunduh, biarkan apa adanya
Untuk itu pergi ke sketch > Include Library > Add.zip Library
Pilih lokasi file.zip dan buka.
Kembali ke menu Sketch > Import Library.
Jika diimpor dengan benar maka perpustakaan itu akan terlihat di bagian bawah menu tarik-turun saat Anda menavigasi.
Langkah 8: Program/Sketsa
Ini adalah program yang harus diunggah di Arduino.
Itu dapat dilakukan hanya dengan menghubungkan Board Arduino ke komputer dan mengunggahnya ke board.
Langkah 9: Bagaimana Dengan Kode Tertulis?
Sekarang mari kita lihat apa yang sebenarnya dilakukan oleh masing-masing fungsi yang tertulis dalam kode ………..
Referensi perpustakaan dan deklarasi variabel
Sebelum membicarakan hal ini kita harus mengetahui dan memahami beberapa istilah dasar, antara lain:
-
BVSP
Ini adalah perpustakaan yang memberi kita hampir semua sumber daya yang diperlukan untuk bertukar informasi dengan Server BitVoicer
Ada protokol yang dikenal sebagai BitVoicer Server Protocol yang diimplementasikan melalui kelas BVSP. Ini diperlukan untuk berinteraksi dengan server
-
BVSMic
Ini adalah perpustakaan yang mengimplementasikan semua hal yang diperlukan untuk merekam audio menggunakan Analog-to-Digital Converter (ADC) dari Arduino
Audio ini disimpan di buffer internal kelas dan dapat diambil dan kemudian dapat dikirim ke mesin pengenalan suara yang tersedia di BitVoicer Server
-
Pembicara BVSS
Ini adalah perpustakaan yang berisi semua sumber daya penting yang diperlukan untuk mereproduksi aliran audio yang dikirim dari Server BitVoicer
Untuk itu board Arduino harus memiliki Digital-to-Analog Converter (DAC) built-in
Arduino DUE adalah satu-satunya board Arduino yang memiliki DAC terintegrasi
Pustaka BVSP, BVSMic, BVSSpeaker dan DAC, referensi untuk ini ditulis pada empat baris pertama yang membentuk tampilan program
Saat Anda menginstal BitVoicer Server, Anda dapat menemukan BitSophia yang menyediakan keempat pustaka ini
Ketika pengguna menambahkan referensi ke perpustakaan BVSSpeaker, perpustakaan DAC yang telah disebutkan sebelumnya akan dipanggil secara otomatis
Kelas BVSP digunakan untuk berkomunikasi dengan BitVoicer Server
Kelas BVSMic digunakan untuk menangkap dan menyimpan audio
Kelas BVSSpeaker digunakan untuk mereproduksi audio menggunakan Arduino DUE DAC
2. fungsi pengaturan
Fungsi setup digunakan untuk melakukan tindakan tertentu seperti:
Untuk mengatur mode pin dan status awalnya
Untuk menginisialisasi komunikasi serial
Untuk menginisialisasi kelas BVSP
Untuk menginisialisasi kelas BVSMic
Untuk menginisialisasi kelas BVSSpeaker
Ini juga menetapkan "penangan acara" (penunjuk fungsi) untuk acara frameReceived, modeChanged, dan streamReceived dari kelas BVSP
Langkah 10: Fungsi Loop
Ini melakukan lima operasi utama:
1. fungsi keepAlive()
Fungsi ini untuk meminta server tentang info status.
2. menerima () fungsi
Fungsi ini untuk memeriksa apakah server telah mengirimkan data atau belum. Jika Server mengirimkan data, maka server akan memprosesnya.
3. fungsi isSREAvailable(), startRecording(), stopRecording() dan sendStream()
Fungsi-fungsi ini digunakan untuk mengontrol berbagai pengaturan pada perekaman audio dan setelah mencapai audio, audio ini akan dikirim ke Server BitVoicer.
4. fungsi putar ()
Fungsi ini digunakan untuk memutar audio yang telah antri di kelas BVSSpeaker.
5. playNextLEDNote()
Fungsi ini digunakan untuk mengontrol bagaimana Led harus berkedip.
6. Fungsi BVSP_frameReceived
Fungsi ini dipanggil setiap kali fungsi accept() mulai mengidentifikasi bahwa satu frame lengkap telah diterima. Di sini kita menjalankan perintah yang diperoleh dari BitVoicer Server. Perintah yang mengontrol kedipan LED adalah 2 Bytes. Dalam byte pertama menunjukkan pin dan byte kedua menunjukkan nilai pin. Di sini kita menggunakan fungsi analogWrite() untuk mengatur nilai yang sesuai dengan pin. Saat itu kita juga harus mengecek apakah perintah playLEDNotes yang bertipe Byte sudah diterima. Jika sudah diterima, saya set playLEDNotes ke true dan itu akan memantau dan menandai waktu saat ini. Kali ini akan digunakan oleh fungsi playNextLEDNote untuk menyinkronkan LED dengan lagu.
7. Fungsi BVSP_modeDiubah
Fungsi ini dipanggil setiap kali fungsi penerima () mengidentifikasi perubahan mode dalam arah keluar (Server Arduino). BitVoicer Server dapat mengirim data atau audio berbingkai ke Arduino. Sebelum komunikasi berpindah dari satu mode ke mode lainnya, BitVoicer Server mengirimkan sinyal. Kelas BVSP mengidentifikasi sinyal ini dan memunculkan atau menandai acara modeChanged. Dalam fungsi BVSP_modeChanged, jika pengguna mendeteksi komunikasi beralih dari mode streaming ke mode bingkai, dia akan mengetahui bahwa audio telah berakhir sehingga pengguna dapat memberi tahu kelas BVSSpeaker untuk berhenti memutar audio.
8. Fungsi BVSP_streamReceived
Fungsi ini dipanggil setiap kali fungsi receiver() mengidentifikasi bahwa sampel audio telah diterima. Ini hanya mengambil audio dan memasukkannya ke dalam kelas BVSSpeaker sehingga fungsi play() dapat mereproduksinya.
9. mainkan fungsi NextLEDNote
Fungsi ini hanya berjalan jika fungsi BVSP_frameReceived mengidentifikasi perintah playLEDNotes. Ini mengontrol dan menyinkronkan LED dengan audio yang dikirim dari BitVoicer Server. Untuk menyinkronkan LED dengan audio dan mengetahui waktu yang tepat, perangkat lunak gratis Sonic Visualizer dapat digunakan. Hal ini memungkinkan kita untuk menonton gelombang audio sehingga orang tersebut dapat mengetahui kapan tuts piano ditekan.
Langkah 11: Bagaimana Mengimpor Objek Solusi Server BitVoicer?
Kami sekarang telah menyiapkan Server BitVoicer untuk bekerja dengan Arduino.
Ada empat objek solusi utama untuk Server BitVoicer: Lokasi, Perangkat, BinaryData, dan Skema Suara.
Mari kita lihat ini secara rinci:
Lokasi
Ini mewakili lokasi fisik di mana perangkat sedang dipasang.
Kita dapat membuat lokasi yang disebut Home.
Perangkat
Mereka dianggap sebagai klien BitVoicer Server.
Seperti membuat lokasi kita bisa membuat Mixed device, untuk memudahkan mari kita beri nama ArduinoDUE.
Terkadang beberapa buffer overflows dapat terjadi sehingga untuk menghilangkannya saya harus membatasi Data Rate dalam pengaturan komunikasi hingga 8000 sampel per detik.
BinaryData adalah jenis perintah yang dapat dikirim oleh BitVoicer Server ke perangkat klien. Mereka sebenarnya adalah array byte yang dapat Anda tautkan ke perintah.
Ketika BitVoicer Server mengenali ucapan yang terkait dengan perintah itu, ia mengirimkan array byte ke perangkat target.
Jadi untuk alasan itu saya telah membuat satu objek BinaryData untuk setiap nilai pin dan menamakannya ArduinoDUEGreenLedOn, ArduinoDUEGreenLedOff dan seterusnya.
Jadi saya harus membuat 18 objek BinaryData, jadi saya sarankan Anda mengunduh dan mengimpor objek dari file VoiceSchema.sof yang disediakan di bawah ini.
Jadi apa itu Skema Suara?
Skema Suara adalah tempat segala sesuatu bersatu. peran utama dari mereka adalah untuk menentukan bagaimana kalimat harus dikenali dan apa semua perintah perlu dijalankan.
Untuk setiap kalimat, Anda dapat menentukan perintah sebanyak yang Anda butuhkan dan urutan yang akan dijalankan.
Anda juga dapat menentukan penundaan antara setiap perintah yang disediakan.
BitVoicer Server hanya mendukung audio 8-bit mono PCM (8000 sampel per detik) sehingga akan ada kebutuhan untuk mengonversi file audio ke format ini, ada begitu banyak tol konversi online yang ada hari ini dan saya sarankan https://audio.online -convert.com/convert-to-wav.
Anda dapat mengimpor (Mengimpor Objek Solusi) semua objek solusi yang saya gunakan dalam proyek ini dari file di bawah ini.
Salah satunya berisi Perangkat DUE dan yang lainnya berisi Skema Suara dan Perintahnya.
Langkah 12: Kesimpulan
Ini dia !!!
Anda telah membuat proyek yang luar biasa dan Anda dapat berbicara dengannya
Jadi mulailah berbicara………………
Anda dapat mengedipkan LED dan pada saat yang sama Anda dapat mengatakannya untuk menyanyikan lagu jika perlu, kodenya telah disediakan
Jadi saya telah menyelesaikan Instruksi Kedua saya !!!!!!!!
Ya……
Saya pikir semua orang mengerti itu …
Jika ada yang memiliki pertanyaan, jangan ragu untuk bertanya kepada saya
Saya akan datang dengan Instructable yang sangat baik lain kali…
Selamat tinggal…
Sampai jumpa lagi……………
Direkomendasikan:
Pengenal Gerakan Tangan: 5 Langkah
Pengenal Gerakan Tangan: Gambaran UmumDalam proyek ini, kami akan membuat sarung tangan yang dapat mengenali beberapa gerakan tangan dasar, menggunakan MicroBit, dan beberapa sensor. Kami akan menggunakan kemampuan Bluetooth di MicroBit, bersama dengan Aplikasi Android dan Server Web untuk melatih
Pengenal Suara Dapur Kustom: 4 Langkah
Pengenal Suara Dapur Kustom: Untuk proyek akhir kami dalam kursus sistem interaktif musim semi ini, kami membuat sistem waktu nyata untuk mengidentifikasi dan memvisualisasikan suara umum di dapur menggunakan klasifikasi Mesin Vektor Dukungan. Sistem ini terdiri dari laptop untuk audio
Ellie Ment Pengenal Elemen: 4 Langkah
Ellie Ment Pengenal Elemen: Ellie adalah Roomba yang telah diprogram untuk dapat mendeteksi berbagai warna menggunakan kameranya, merasakan jika dia akan melewati tebing sehingga dia dapat menghentikan dirinya dari terguling, dan akan keluar dari jalan rintangan ketika bempernya menabrak sesuatu
Pengenal Digit Dengan Python: 3 Langkah
Digit Recognizer With Python: Un tema muy popular actualmente el denominado "Computer Vision" dengan latar belakang perangkat lunak capaz de reconocer pelindung gambar. Es posible imaginarse que esta habilidad es muy til para una computadora y permite expandir
Pengenal Multi-bahasa Dengan AIY: 4 Langkah
Pengenal Multi-bahasa Dengan AIY: Di stasiun luar angkasa. Ada banyak astronot di sana.n~ astronot berasal dari banyak planet (negara). jadi, karena itu AI harus bekerja dalam banyak bahasa di sana