Daftar Isi:

Pengenal Ucapan: 12 Langkah
Pengenal Ucapan: 12 Langkah

Video: Pengenal Ucapan: 12 Langkah

Video: Pengenal Ucapan: 12 Langkah
Video: 12 langkah wakil merisik dan bertunang 2024, Juli
Anonim
Pengenal Ucapan
Pengenal Ucapan

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?

Bagaimana Mengatur Lingkungan?
Bagaimana Mengatur Lingkungan?
Bagaimana Mengatur Lingkungan?
Bagaimana Mengatur Lingkungan?
Bagaimana Mengatur Lingkungan?
Bagaimana Mengatur Lingkungan?
Bagaimana Mengatur Lingkungan?
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 yang Diperlukan
Komponen yang Diperlukan
Komponen yang Diperlukan
Komponen yang Diperlukan
Komponen yang Diperlukan
Komponen yang Diperlukan

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

Menghubungkan Komponen
Menghubungkan Komponen
Menghubungkan Komponen
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

Memberikan Kode ke Papan Arduino
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: