- ส่วนประกอบที่จำเป็น
- แผนภูมิวงจรรวม
- เชื่อมต่อลำโพงกับ Arduino
- การเขียนโปรแกรม Arduino สำหรับ TTS (Text To Speech)
การแปลงข้อความเป็นคำพูดหรือระบบ TTSจะแปลงข้อความปกติเป็นคำพูด เทคโนโลยีนี้ช่วยให้ระบบสามารถพูดข้อความด้วยเสียงของมนุษย์ได้ มีตัวอย่างของการแปลงข้อความเป็นคำพูดมากมายเช่นการประกาศในระบบขนส่งสาธารณะการโทรติดต่อฝ่ายดูแลลูกค้าผู้ช่วยด้านเสียงในสมาร์ทโฟนของคุณหรือเมนูการนำทางของเครื่องใด ๆ คุณยังสามารถค้นหา TTS ใน Microsoft Word ที่คุณตั้งค่าให้พูดข้อความที่เขียนในเอกสาร
วันนี้ในการกวดวิชานี้เราจะได้เรียนรู้วิธีการทำแปลงข้อความเป็นคำพูดที่ใช้ Arduino ก่อนหน้านี้เราใช้ TTS กับ Raspberry pi ในการพูดนาฬิกาปลุกและยังแปลงเสียงพูดเป็นข้อความในราสเบอร์รี่ pi โดยใช้แป้นพิมพ์เสียงของ Google
ขั้นตอนแรกใน TTS เป็นก่อนการประมวลผลหรือการฟื้นฟู ขั้นตอนนี้เกี่ยวข้องกับการแปลงสัญลักษณ์ตัวเลขและตัวย่อเป็นคำที่เครื่องอ่านได้เช่น "?" จะถูกแปลงเป็น "เครื่องหมายคำถาม"
ขั้นตอนที่สองเกี่ยวข้องกับการแปลงข้อความปกติเข้าไปในหน่วยเสียงหรือการถอดเสียงการออกเสียงหน่วยเสียงเป็นส่วนเล็ก ๆ ของคำพูดกล่าวคือเป็นเสียงที่สร้างประโยค ขั้นตอนนี้จำเป็นอย่างยิ่งเพื่อให้เครื่องจักรสามารถพูดคำต่างๆได้เหมือนมนุษย์
ขั้นตอนสุดท้ายคือการสังเคราะห์ของหน่วยเสียงเข้าไปในเสียงกล่าวนั้นขั้นตอนนี้สามารถทำได้โดยวิธีการต่างๆเช่นการบันทึกเสียงของมนุษย์สำหรับคำ / วลีที่แตกต่างกันหรือโดยการสร้างความถี่เสียงพื้นฐานและรวมกันเป็นหน่วยเสียงหรือโดยการคัดลอกกลไกการพูดของมนุษย์
ส่วนประกอบที่จำเป็น
- บอร์ด Arduino
- ลำโพง
- วงจรเครื่องขยายเสียง
- แหล่งจ่ายไฟที่มีการควบคุม
- การเชื่อมต่อสายไฟ
แผนภูมิวงจรรวม
ในตัวแปลง Text to Speech นี้เราได้ใช้วงจรเครื่องขยายเสียงเพื่อลดเสียงรบกวนและได้เสียงที่ชัดเจน วงจรเครื่องขยายเสียงทำโดยใช้ไอซี LM386 แผนภาพวงจรแสดงด้านล่าง:
หม้อ 100K ใช้ปรับเสียง ปรับแต่งเพื่อให้ได้เสียงที่ชัดเจน ถ้าคุณมีความสับสนใด ๆ เกี่ยวกับวงจรนี้แล้วตรวจสอบLM386 จากเครื่องขยายเสียงวงจร หากคุณไม่มีค่าตัวต้านทานและตัวเก็บประจุที่แน่นอนให้ใช้ค่าใกล้เคียง
เชื่อมต่อลำโพงกับ Arduino
การเชื่อมต่อนั้นง่ายมากเมื่อคุณสร้างวงจรเครื่องขยายเสียง
เชื่อมต่อแหล่งจ่ายไฟเข้ากับวงจรเครื่องขยายเสียงและเชื่อมต่อพินดิจิทัล 3 ของ Arduino ของคุณเข้ากับตัวต้านทาน 10K และเชื่อมต่อกราวด์ของ Arduino กับกราวด์ของวงจร ตอนนี้เชื่อมต่อลำโพงโดยเชื่อมต่อขั้วลบเข้ากับกราวด์และขั้วบวกเข้ากับตัวเก็บประจุ 220µF และเชื่อมต่อแหล่งจ่ายไฟ
การเขียนโปรแกรม Arduino สำหรับ TTS (Text To Speech)
โปรแกรมสำหรับTTS ที่ใช้ Arduinoนี้ยังง่ายมากเนื่องจากมีไลบรารีสำหรับสิ่งนี้ ไลบรารีนี้เรียกว่าTalkieและสามารถเพิ่มได้โดยผู้จัดการห้องสมุด หากต้องการเพิ่มห้องสมุดไป Sketch-> รวม Library-> ห้องสมุด
ตอนนี้ Library Manager จะอยู่บนหน้าจอของคุณ ในแถบค้นหาพิมพ์ Talkie และคลิกที่ปุ่มติดตั้ง ห้องสมุดจะได้รับการติดตั้ง
ไลบรารีนี้มีประโยชน์มากและมีคำและคำสั่งมากกว่า 1,000 คำ มีหลายตัวอย่างคุณสามารถลองใช้ได้ทั้งหมด แต่ที่นี่เรากำลังใช้รหัสง่ายๆเพื่ออธิบายการทำงาน
คุณยังสามารถลองใช้คำสั่งอื่น ๆ ที่กำหนดในไลบรารี หากต้องการรับคำสั่งเหล่านั้นให้ไปที่ Documents \ Arduino \ libraries \ Talkie \ src จากนั้นเปิดไฟล์ส่วนหัวและรับคำสั่งต่างๆที่สามารถใช้สำหรับการแจ้งเตือนต่างๆ มีไลบรารี TTS อื่น ๆ อีกมากมายเช่นไลบรารี jscrane TTS ไลบรารี Google TTS เป็นต้นนอกจากนี้คุณยังสามารถทดลองใช้
เริ่มเขียนโค้ดกันเลย ประการแรกได้แก่ ไฟล์ส่วนหัวบาง Talkie.h ใช้เพื่อเริ่มต้นไลบรารีนี้และตั้งค่า Digital pin 3 ของ Arduino เป็นพินเอาต์พุต Vocab_US_Large.h จะใช้ในการใช้งานการแจ้งเตือนเราจะใช้และ Vocab_Special.h จะใช้ในการหยุดใช้เราจะใช้
#include "Talkie.h" #include "Vocab_US_Large.h" #include "Vocab_Special.h"
ตอนนี้กำหนดวัตถุ 'ค่า' เพื่อใช้คำสั่ง:
เสียงทอล์คกี้;
ที่นี่ข้อความเดียวกันจะถูกทำซ้ำในลำโพงดังนั้นให้ฟังก์ชั่น การตั้งค่า ว่างเปล่าและใส่คำสั่งในฟังก์ชันวน คำสั่งแรก voice.say (spPAUSE2) คือการหยุดชั่วคราวในขณะที่ทำซ้ำข้อความแจ้งเตือน และคำสั่งต่อไปเป็นเพียงคำง่ายๆที่บ่งบอกว่า: พายุอันตรายในภาคเหนือ
การตั้งค่าเป็นโมฆะ () { } void loop () { voice.say (spPAUSE2); เสียงพูด (sp2_DANGER); เสียงพูด (sp2_DANGER); เสียงพูด (sp3_STORM); เสียงพูด (sp3_IN); เสียงพูด (sp3_THE); เสียงพูด (sp3_NORTH); }
สุดท้ายอัปโหลดรหัสใน Arduino และเชื่อมต่อแหล่งจ่ายไฟเข้ากับมัน ทันทีที่คุณเปิดวงจรคุณจะเริ่มได้ยินการแจ้งเตือน! หากคุณไม่ได้รับเสียงที่ชัดเจนให้ลองปรับลูกบิดของหม้อหรือตรวจสอบว่า Arduino ได้รับแหล่งจ่ายไฟที่เหมาะสมหรือไม่และตรวจสอบให้แน่ใจว่า GND ของ Arduino เชื่อมต่อกับกราวด์ของวงจร
ตรวจสอบโค้ดทั้งหมดด้วยวิดีโอสาธิตด้านล่าง