Statistics Statistics
14493
Online User Online1
Today Today4
Yesterday Yesterday4
ThisMonth This Month115
LastMonth Last Month162
ThisYear This Year642
LastYear Last Year2,522

Text to Speech ตอนที่ 2 

อ่านข้อความเสียงภาษาอังกฤษ

 

ในตอนนี้จะแนะนำการเขียนโปรแกรมพื่อการอ่านสังเคราะห์เสียงจากข้อความภาษาอังกฤษ ซึ่งถือว่าเป็นค่าเริ่มต้นของคลาส SpeechSynthesizer

 

การออกแบบ UI

เริ่มต้นให้สร้างอิลิเมนต์ TextBox เพื่อไว้รับค่าข้อความหรือประโยคที่ต้องการให้ speech และสร้างอิลิเมนต์ Button เป็นปุ่มเพื่อกดสั่งให้ speech(ปุ่ม OK)โดยที่ TextBox ตั้งชื่อตัวแปรว่า txtBx และ Button ตั้งชื่อตัวแปรว่า btnOK

การโปรแกรมด้วย ภาษา C#

ให้เพิ่มโค้ด C# ดังข้างล่างในไฟล์ MainPage.xaml.cs

จากคำสั่งด้านบน การทำงานของเมทอด speech() จะมีการสร้าง object ของคลาส MediaElement (ในบรรทัดที่ 39)  เพื่อใช้ Play เสียงที่สังเคราะห์ได้จากข้อความ ในบรรทัดที่ 49  ส่วนบรรทัดที่ 42 สร้าง object ของคลาส SpeechSynthesizer เพื่อสังเคราะห์เสียงจากข้อความที่ผ่านค่ามากับตัวแปร arg และถูกสร้างเก็บไว้ในตัวแปร stream ในบรรทัดที่ 45

 

เมื่อผู้ใช้ป้อนข้อความใน TextBox และกดปุ่ม OK จะมีการทำงานในบรรทัดที่ 34 ซึ่งจะส่งค่า Text ของ TextBox ไปที่เมทอด speech() และทำงานตามขั้นตอนที่ดังกล่าวมาข้างต้น จะทำให้มีเสียงพูดภาษาอังกฤษตามข้อความที่กรอกไว้ใน TextBox

 

หมายเหตุ เราสามารถใส่ข้อความได้โดยตรง เมื่อเรียกเมทอด speech() ได้ เช่น speech("I love C#"); เป็นต้น ซึ่งนักศึกษาสามารถนำไปประยุกต์ใช้ได้กับ Text File เพื่อให้พูดออกเสียงเป็นประโยคต่อเนื่องกันได้

 

เรียบเรียงมาจาก

https://docs.microsoft.com/en-us/uwp/api/windows.media.speechsynthesis.speechsynthesizer?view=winrt-19041&fbclid=IwAR1_EEztfP8kyS9TiObXPS9XIB80oNoEtkMVRbSiKhVWZw6pcCIbx3YjlEA