ระบบสังเคราะห์เสียงพูดภาษาไทย (วาจา: VAJA)
วันที่เขียน 27/9/2566 21:20:52     แก้ไขล่าสุดเมื่อ 4/5/2567 4:50:32
เปิดอ่าน: 306 ครั้ง

Vaja คือ ระบบสังเคราะห์เสียงพูดภาษาไทย หรือ ระบบแปลงข้อความภาษาไทยให้เป็นเสียงพูด โดยมีเวอร์ชันล่าสุดคือ วาจาเวอร์ชัน 9.0 เพื่อเป็นผู้ช่วยเหล่าเมกเกอร์และนักพัฒนาซอฟต์แวร์ในการสร้างไลบรารี (Library)

องค์ประกอบที่สำคัญของระบบวาจา

  1. เสียงสังเคราะห์เลือกได้ 4 เสียง ได้แก่ เสียงผู้ชาย, เสียงผู้หญิง, เสียงเด็กผู้ชาย และเสียงเด็กผู้หญิง
  2. ข้อความระบุได้ทั้งแบบรูปเขียน (grapheme) และรูปเสียง (phoneme)
  3. สามารถเลือกได้ว่าจะให้โมเดลเว้นวรรคให้ หรือผู้ใช้ทำหน้าที่เว้นวรรคด้วยตนเอง
  4. ผลลัพธ์แสดงได้ทั้งเสียง และภาพ โดยสามารถใช้งานร่วมกับโมเดล 3 มิติที่รองรับ ARKit Blendshape หรือ VRM Blendshape ตัวอย่างเช่นโมเดลจาก ReadyPlayerMe และ VRoid

การสังเคราะห์เสียงผู้ชาย, ผู้หญิง, เด็กผู้ชาย และเด็กผู้หญิงโดยใช้ภาษาจาวาบน Colab

1. เริ่มจากการระบุ Apikey

Apikey = input("ให้ทำการใส่ Apikey:")
print(f'คุณได้ใส่ {Apikey}:')
 
2. ระบุ Vaja9 API
url = 'https://api.aiforthai.in.th/vaja9/synth_audiovisual'
 
3. ระบุข้อความที่ต้องการสร้างเสียงสังเคราะห์
text = input("ให้เขียนสิ่งที่ต้องการจะพูด")
 
4. เลือกเสียงที่ต้องการ
from ipywidgets import Select, HBox, Label
from IPython.display import display

supported_voice_gen = ["Phoom (ผู้ชาย)", "NamPhueng (ผู้หญิง)", "Pop (เด็ก)", "Pim (เด็กผู้หญิง)"]

print("กรุณาเลือกเสียงที่ต้องการใช้ในการทดสอบ")
voice_select = Select(options=supported_voice_gen, value=None)
display(HBox([voice_select]))
 
speaker = voice_select.index
speaker_type = voice_select.value
if speaker is None:
  speaker = -1
  speaker_type = "robot"
print("speaker("+speaker_type+"): "+str(speaker))
 
5. สังเคราะห์เสียงพูด
import requests
headers = {'Apikey':Apikey,"Content-Type": "application/json"}
data = {'input_text':text,'speaker': speaker}
response = requests.post(url, json=data, headers=headers)
print(response.json())
 
6. ดาวน์โหลดผลลัพธ์ และฟังเสียง
import IPython

def download_and_play(sWav_url):
  with open('test.wav', 'wb') as a:
      resp = requests.get(sWav_url,headers={'Apikey':Apikey})
      if resp.status_code == 200:
          a.write(resp.content)
          print('Downloaded: '+response.json()['wav_url'])
          IPython.display.display(IPython.display.Audio('test.wav'))
      else:
          print(resp.reason)
          exit(1)
 
if(response.json()['msg'] == 'success'):
  download_and_play(response.json()['wav_url'])
 

การสังเคราะห์เสียง ที่เว้นวรรคแบบอัตโนมัติ และกำหนดเอง

text = 'ทดสอบโปรแกรมการสังเคราะห์เสียงพูดแบบเว้นวรรคโดยอัตโนมัติในการเผยแพร่องค์ความรู้ในมหาวิทยาลัยแม่โจ้'

# ทำการเว้นวรรคแบบอัตโนมัติ
iPhrase_break=0

data = {'input_text':text,'speaker': 0, 'phrase_break':iPhrase_break, 'audiovisual':0}
 
response = requests.post(url, json=data, headers=headers)
 
print(response.json())

if(response.json()['msg'] == 'success'):
  download_and_play(response.json()['wav_url'])
 

การสังเคราะห์เสียงแบบระบุข้อความที่ใช้รูปเขียน(graphemes) และรูปเสียง(phonemes)

# การระบุรูปเสียงให้ระบุ phones ที่ต้องการ ให้อยู่ภายในวงเล็บแบบปีกกา
text = 'นี่คือการ {th o3 t^ s @@1 p^ sp}วาจาเวอร์ชันใหม่ ที่สามารถป้อนได้ทั้งรูปเขียน และรูปเสียง'

data = {'input_text':text,'speaker': 0, 'phrase_break':0, 'audiovisual':0}
 
response = requests.post(url, json=data, headers=headers)
 
print(response.json())

if(response.json()['msg'] == 'success'):
  download_and_play(response.json()['wav_url'])
 
 

ความคิดเห็นทั้งหมด (0)
ไม่มีข้อมูลตามเงื่อนไขที่ท่านกำหนด
รายการบทความการแลกเปลี่ยนเรียนรู้หมวดหมู่ : กลุ่มงานเทคโนโลยีสารสนเทศ
ความรู้ที่ได้จากการศึกษาค้นคว้าด้วยตนเอง » Assignment in Microsoft Teams
การมอบหมายงาน (Assignment ) สำหรับนักศึกษาในห้องเรียน ระบบ Microsoft Teams สร้างความสะดวกในการมอบหมายงานให้กับนักศึกษา การส่งงาน และสามารถให้คะแนนนักศึกษาแต่ละคนในห้องเรียน สำหรับผู้ที่อยู่ในสถาบัน...
Assignment  Microsoft Teams  การมอบหมายงาน  การให้คะแนน     กลุ่มงานตามสมรรถนะบุคลากร   กลุ่มงานเทคโนโลยีสารสนเทศ
ผู้เขียน สุภาพรรณ อนุตรกุล  วันที่เขียน 26/3/2567 18:01:20  แก้ไขล่าสุดเมื่อ 2/5/2567 11:28:53   เปิดอ่าน 143  ครั้ง | แสดงความคิดเห็น 0  ครั้ง
ความรู้ที่ได้รับจากการเข้าร่วมประชุม/อบรม/สัมมนา » Google Sites สร้างเว็บไซต์ได้อย่างง่ายดาย
Google Sites คือโปรแกรมหนึ่งของ บริษััท Google ที่เปิดให้ สมาชิกของ Google สามารถ สร้างเว็บไซต์ของตนเองได้ฟรี โดยการสร้างเว็บไซต์ ด้วย Google Sites นั้น ทำได้ง่าย เหมือนกับการแก้ไข เอกสารธรรมดา ๆ ช...
Google Sites  เว็บไซต์     กลุ่มงานตามสมรรถนะบุคลากร   กลุ่มงานเทคโนโลยีสารสนเทศ
ผู้เขียน สุภาพรรณ อนุตรกุล  วันที่เขียน 11/3/2567 17:19:12  แก้ไขล่าสุดเมื่อ 1/5/2567 15:45:47   เปิดอ่าน 239  ครั้ง | แสดงความคิดเห็น 0  ครั้ง
การพัฒนาระบบสารสนเทศ » การกำหนดผลลัพธ์การเรียนรู้รายวิชา CLOs ผ่าน มคอ.3
หัวข้อนี้เน้น การออกแบบหลักสูตรให้ตอบสนองต่อผลการเรียนรู้ที่คาดหวังของหลักสูตร สะท้อนถึงความต้องการ ของผู้ที่เกี่ยวข้องครบทุกภาคส่วน และผลการเรียนรู้นั้นต้องครอบคลุมทั้งความรู้ ทักษะเฉพาะทางและทักษ...
CLO  ELO  PLO     กลุ่มงานตามสมรรถนะบุคลากร   กลุ่มงานเทคโนโลยีสารสนเทศ
ผู้เขียน สมนึก สินธุปวน  วันที่เขียน 18/11/2566 23:45:59  แก้ไขล่าสุดเมื่อ 3/5/2567 0:29:28   เปิดอ่าน 366  ครั้ง | แสดงความคิดเห็น 0  ครั้ง
การพัฒนาระบบสารสนเทศ » แอปพลิเคชันสำหรับช่วยในการจัดเรียนการสอน
การเรียนผ่านเครื่องมือช่วยสอนโดยใช้แอปพลิเคชันมีบทบาทในการส่งเสริมและช่วยเหลืออาจารย์และนักศึกษาเป็นอย่างมาก บทความนี้ได้รวบรวม 8 เครื่องมือช่วยสอนสำหรับอาจารย์ในการช่วยจัดการเรียนการสอนให้เกิดความ...
Canva  Kahoot  Nearpod  Plicker  Quizizz  Storyboard  Visme  Voxer     กลุ่มงานตามสมรรถนะบุคลากร   กลุ่มงานเทคโนโลยีสารสนเทศ
ผู้เขียน สมนึก สินธุปวน  วันที่เขียน 18/11/2566 23:01:13  แก้ไขล่าสุดเมื่อ 3/5/2567 12:22:31   เปิดอ่าน 269  ครั้ง | แสดงความคิดเห็น 0  ครั้ง