Isi kandungan:

Pengecam Ucapan: 12 Langkah
Pengecam Ucapan: 12 Langkah

Video: Pengecam Ucapan: 12 Langkah

Video: Pengecam Ucapan: 12 Langkah
Video: Buka Presentasi Yang Gak Bosenin #shorts #vinamuliana #tips #kerja 2024, November
Anonim
Pengecam Ucapan
Pengecam Ucapan

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?

Bagaimana Menyiapkan Persekitaran?
Bagaimana Menyiapkan Persekitaran?
Bagaimana Menyiapkan Persekitaran?
Bagaimana Menyiapkan Persekitaran?
Bagaimana Menyiapkan Persekitaran?
Bagaimana Menyiapkan Persekitaran?
Bagaimana Menyiapkan Persekitaran?
Bagaimana Menyiapkan Persekitaran?

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

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

Memberi Kod kepada Lembaga Arduino
Memberi Kod kepada Lembaga Arduino

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: