จากระบบเดิมที่เคยใช้ ระบบสังเคราะห์ความถี่เสียงผ่านโปรแกรม คอมพิวเตอร์ด้วย ในภาคเรียนนี้จึงได้คิดเอา hardware อย่าง ardunio มาใช้ประยุกต์เข้ากับงานประชาสัมพันธ์ระบบเดิม ด้วยการขยายระบบด้วย TTS 

ตัวแปลงข้อความเป็นคำพูด (TTS) แบบ Arduinoตัวแปลงข้อความเป็นคำพูด (TTS) แบบ Arduino
 

ระบบแปลงข้อความเป็นเสียงพูดหรือ TTSแปลงข้อความปกติเป็นคำพูด เทคโนโลยีนี้ทำให้ระบบสามารถพูดข้อความด้วยเสียงของมนุษย์ มีตัวอย่างมากมายของการแปลงข้อความเป็นคำพูดเช่นประกาศที่การขนส่งสาธารณะการดูแลลูกค้าสายช่วยเสียงในสมาร์ทโฟนของคุณหรือเมนูการนำทางของเครื่องใด ๆ คุณสามารถค้นหา TTS ใน Microsoft Word ที่คุณตั้งไว้เพื่อพูดข้อความที่เขียนในเอกสาร

 

วันนี้ในการกวดวิชานี้เราจะได้เรียนรู้วิธีการทำแปลงข้อความเป็นคำพูดที่ใช้ Arduino ก่อนหน้านี้เราเคยใช้TTS กับ Raspberry pi ในการพูดนาฬิกาปลุกและแปลงการพูดเป็นข้อความใน raspberry piโดยใช้คีย์บอร์ดเสียงของ Google

ขั้นตอนแรกใน TTS เป็นก่อนการประมวลผลหรือการฟื้นฟู ขั้นตอนนี้เกี่ยวข้องกับการแปลงสัญลักษณ์ตัวเลขและตัวย่อเป็นคำที่เครื่องสามารถอ่านได้เช่น '?' จะถูกแปลงเป็น“ เครื่องหมายคำถาม”

ขั้นตอนที่สองเกี่ยวข้องกับการแปลงข้อความปกติเข้าไปในหน่วยเสียงหรือการถอดเสียงการออกเสียง หน่วยเสียงเป็นส่วนเล็ก ๆ ของคำพูดเช่นนี่คือเสียงที่สร้างประโยค ขั้นตอนนี้มีความสำคัญจริง ๆ เพื่อให้เครื่องจักรสามารถพูดคำเหมือนคนทำ

ขั้นตอนสุดท้ายคือการสังเคราะห์ของหน่วยเสียงเข้าไปในเสียงกล่าวนั้น ขั้นตอนนี้สามารถทำได้โดยวิธีที่แตกต่างกันเช่นโดยการบันทึกเสียงของมนุษย์สำหรับคำ / วลีที่แตกต่างกันหรือโดยการสร้างความถี่เสียงพื้นฐานและกองไว้เป็นหน่วยเสียงหรือโดยการคัดลอกกลไกการพูดของมนุษย์

ส่วนประกอบที่จำเป็น

  1. บอร์ด Arduino
  2. ลำโพง
  3. วงจรขยายสัญญาณ
  4. แหล่งจ่ายไฟที่มีการควบคุม
  5. สายเชื่อมต่อ

แผนภูมิวงจรรวม

ในตัวแปลงข้อความเป็นคำพูดเราได้ใช้วงจรขยายเสียงเพื่อลดเสียงรบกวนและรับเสียงที่ชัดเจน วงจรเครื่องขยายเสียงทำโดยใช้ไอซี LM386 แผนภาพวงจรของมันแสดงอยู่ด้านล่าง:

วงจรขยายเสียง LM386

หม้อขนาด 100K ใช้สำหรับปรับเสียง ปรับแต่งเพื่อให้ได้เสียงที่ชัดเจน ถ้าคุณมีความสับสนใด ๆ เกี่ยวกับวงจรนี้แล้วตรวจสอบLM386 จากเครื่องขยายเสียงวงจร หากคุณไม่มีค่าที่แน่นอนของตัวต้านทานและตัวเก็บประจุให้ใช้ค่าปิด

เชื่อมต่อลำโพงกับ Arduino

การเชื่อมต่อนั้นง่ายมากเมื่อคุณสร้างวงจรขยาย

Arduino วงจรแปลงข้อความเป็นคำพูด (TTS) วงจรไดอะแกรม

 

เชื่อมต่อแหล่งจ่ายไฟเข้ากับวงจรขยายและเชื่อมต่อขาดิจิตอล 3 ของตัวต้านทาน Arduino ของคุณเข้ากับตัวต้านทาน 10K และเชื่อมต่อกราวด์ของ Arduino กับสายดินของวงจร ตอนนี้เชื่อมต่อลำโพงโดยเชื่อมต่อขั้วลบกับขั้วต่อกราวด์และขั้วบวกกับตัวเก็บประจุ 220µF และเชื่อมต่อแหล่งจ่ายไฟ

โครงการแปลงข้อความเป็นคำพูดตาม Arduino

การเขียนโปรแกรม Arduino สำหรับ TTS (Text To Speech)

โปรแกรมสำหรับTTS ที่ใช้ Arduinoนี้ยังง่ายมากเนื่องจากมีไลบรารีสำหรับสิ่งนี้ ห้องสมุดนี้เรียกว่าเป็นTalkieและสามารถเพิ่มได้โดยผู้จัดการห้องสมุด หากต้องการเพิ่มห้องสมุดไปSketch-> รวม Library-> ห้องสมุด

การเขียนโปรแกรม Arduino สำหรับ TTS

ตอนนี้ Library Manager จะปรากฏบนหน้าจอของคุณ ในแถบค้นหาประเภท Talkie และคลิกที่ปุ่มติดตั้ง ห้องสมุดจะได้รับการติดตั้ง

การเพิ่ม Library เข้ากับ Arduino IDE

ห้องสมุดนี้มีประโยชน์มากและมีคำศัพท์และคำสั่งมากกว่า 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"

ตอนนี้กำหนด 'ค่า' ของวัตถุเพื่อใช้คำสั่ง:

เสียง Talkie;

ที่นี่ข้อความเดียวกันจะถูกทำซ้ำในลำโพงเพื่อให้ฟังก์ชั่นการตั้งค่าว่างเปล่าและทำให้คำสั่งในฟังก์ชั่นวน คำสั่งแรกvoice.say (spPAUSE2)คือการหยุดสั้น ๆ ในขณะที่ทำซ้ำข้อความแจ้งเตือน และคำสั่งถัดไปเป็นเพียงคำง่ายๆที่บ่งบอกถึง: อันตรายจากพายุในทิศเหนือ

void setup () { 
} 
void loop () { 
    voice.say (spPAUSE2); 
    voice.say (sp2_DANGER); 
    voice.say (sp2_DANGER); 
    voice.say (sp3_STORM); 
    voice.say (sp3_IN); 
    voice.say (sp3_THE); 
    voice.say (sp3_NORTH); 
}

ในที่สุดอัปโหลดรหัสใน Arduino และเชื่อมต่อกับแหล่งจ่ายไฟ ทันทีที่คุณเปิดวงจรคุณจะเริ่มได้ยินเสียงเตือน! หากคุณไม่ได้รับเสียงที่ชัดเจนลองปรับลูกบิดของหม้อหรือตรวจสอบว่า Arduino ได้รับแหล่งจ่ายไฟที่เหมาะสมและตรวจสอบให้แน่ใจว่า GND ของ Arduino เชื่อมต่อกับพื้นดินของวงจร

ตัวแปลงข้อความเป็นคำพูด (TTS) แบบ Arduino

ตรวจสอบรหัสที่สมบูรณ์พร้อมวิดีโอสาธิตที่ให้ไว้ด้านล่าง

 
รหัส

#include "Talkie.h"
#include "Vocab_US_Large.h"
#include "Vocab_Special.h"

เสียง Talkie;

void setup () {
}
void loop () {
    voice.say (spPAUSE2);
    voice.say (sp2_DANGER);
    voice.say (sp2_DANGER);
    voice.say (sp3_STORM);
    voice.say (sp3_IN);
    voice.say (sp3_THE);
    voice.say (sp3_NORTH);
}

 

เครดิค https://circuitdigest.com/ ขอบคุณครับ

 

 
eDLRU :: โครงการเครือข่ายเผยแพร่ถ่ายทอดและพัฒนาการใช้สื่อ  สำหรับการศึกษาระดับปฐมวัย การศึกษาระดับประถมศึกษา การศึกษาพิเศษ
 
 
GISTDA Magazine ฉบับที่ 13 by GISTDA - issuu
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 




 


ดาวน์โหลดเอกสาร



มี 4 ผู้มาเยือน และ ไม่มีสมาชิกออนไลน์ ออนไลน์

682084
ผู้ใช้งานวันนี้
เมื่อวาน
สัปดาห์นี้
สัปดาห์ที่ผ่านมา
เดือนนี้
เดือนก่อน
รวมทั้งหมด
218
205
218
680281
3805
6200
682084

หมายเลข IP ของคุณ 3.16.67.13
2024-05-19 16:03