วิธีทำให้คอมพิวเตอร์พูด/พูดในสิ่งที่คุณพิมพ์

มีฟีเจอร์เด็ดๆ ในWindowsที่ให้คุณทำให้คอมพิวเตอร์พูดหรือพูด(computer talk or speak)อะไรก็ได้! วิธีนี้ใช้ประโยชน์จากAPI ในตัว ที่ติดตั้งบนWindows XP , Vista , 7, 8 และ 10 ที่เรียกว่าSAPI ( Speech Application Programming Interface )

Microsoft Speech APIคือสิ่งที่ใช้สำหรับ  คุณลักษณะการ เข้าถึงข้อความเป็นคำพูดที่มี(accessibility feature)อยู่ในWindows คุณยังสามารถเขียนโปรแกรมที่เรียกAPIซึ่งจะทำให้แอปพลิเคชันของคุณพูดได้ แต่สำหรับนักพัฒนา

แค่ทำให้คอมพิวเตอร์ของคุณพูดในสิ่งที่คุณต้องการนั้นง่ายมากจริงๆ! ในบทความนี้ ฉันจะแสดงวิธีสร้างสคริปต์ VBS(VBS script)ที่จะรับข้อความ(text input)จากผู้ใช้แล้วพูด นอกจากนี้ ฉันยังจะพูดถึงวิธีฮาร์ดโค้ดข้อความที่คุณต้องการพูด จากนั้นจึงกำหนดเวลาให้สคริปต์นั้นทำงานในเหตุการณ์เฉพาะ เช่น การเริ่มWindowsหรือออกจากระบบ

ป้อนข้อความ พูดข้อความ

มาเริ่มกันด้วยสคริปต์ง่ายๆ ที่จะป็อปอัพกล่องโต้ตอบ(dialog box)ซึ่งคุณสามารถพิมพ์สิ่งที่คุณต้องการให้ Windows พูดได้ ขั้นแรก(First) ไปข้าง หน้าและเปิดNotepad

ขั้นตอนที่ 1:(Step 1:)  วางข้อความต่อไปนี้ลงในเอกสารใหม่:

Dim message, sapi
message=InputBox(“Enter the text you want spoken”,”Speak This”)
Set sapi=CreateObject(“sapi.spvoice”)
sapi.Speak message

โปรดทราบว่าเมื่อคุณคัดลอกข้อความจากเว็บเบราว์เซอร์ของคุณและวาง(web browser and paste)ลงในNotepadคำพูดจะทำให้เกิดปัญหา ก่อนที่คุณจะบันทึกไฟล์ คุณต้องดำเนินการและลบแต่ละใบเสนอราคา (“) แล้วพิมพ์ใบเสนอราคาอีกครั้ง ในตัวอย่างด้านล่าง มีเครื่องหมายคำพูดหกคำ ควรมีลักษณะบางอย่างเช่นภาพด้าน(image below)ล่าง

ทำให้คอมพิวเตอร์พูดได้

ตอนนี้เมื่อคุณไปบันทึกไฟล์ ให้ตั้งชื่อไฟล์นั้น ๆ แต่ให้แน่ใจว่าคุณพิมพ์.VBSหลังชื่อด้วย ถัดไป สำหรับ กล่อง บันทึกเป็นชนิด( Save as type)ให้เลือกไฟล์ทั้งหมด( All files)แทนที่จะเป็นเอกสารข้อความ(Text Documents) เริ่ม ต้น

ทำให้คอมพิวเตอร์พูด

ตอนนี้ดับเบิลคลิกที่ไฟล์ VBS แล้ว(VBS file)คุณจะเห็นกล่องอินพุต(input box)ซึ่งคุณสามารถพิมพ์ข้อความที่คุณต้องการพูดได้! พิมพ์บางอย่าง(Type something)แล้วคลิกตกลง

กล่องโต้ตอบพูด

หากคุณทำทุกอย่างถูกต้อง(everything right)คุณควรได้ยินเสียงผู้ชายหรือผู้หญิงพูดประโยคของคุณ หากคุณได้รับข้อความแสดงข้อผิดพลาด(error message)ตรวจสอบให้แน่ใจว่าได้คัดลอกและวางข้อความอีกครั้งและแทนที่เครื่องหมายคำพูดเหล่านั้น

กำหนดการตั้งค่าเสียง SAPI

เป็นเรื่องที่สนุก แต่เรายังสามารถกำหนดค่าคอมพิวเตอร์พูดได้ขนาดเล็กของเราด้วยการตั้งค่าต่างๆ เราสามารถปรับระดับเสียง พูดเร็วหรือช้า และเปลี่ยนเพศระหว่างชายและหญิงได้ นี่คือตัวอย่างโค้ด(example code)ที่ฉันเพิ่มบรรทัดพิเศษสองสามบรรทัด

Dim message, sapi
message=InputBox(“Enter the text you want spoken”,”Speak This”)
Set sapi=CreateObject(“sapi.spvoice”)
Set sapi.Voice = sapi.GetVoices.Item(1)
sapi.Rate = 0
sapi.volume = 100
sapi.Speak message

อัตราเริ่มต้น(default rate)คือ 0 และช่วงคือ -10 ถึง 10 -10 จะมีเสียงพูดช้ามาก และ 10 จะพูดเร็วมาก ระดับเสียงมีค่าเริ่มต้นที่ 100 และช่วงคือ 0 ถึง 100 บรรทัดที่ขึ้นต้นด้วยSet sapi.Voiceจะช่วยให้คุณเปลี่ยนเป็นเสียงอื่นได้ หากติดตั้งไว้ในระบบของคุณ

โปรดทราบว่าจำนวนเสียงที่คุณสามารถเลือกได้ขึ้นอยู่กับระบบปฏิบัติการ (operating system)ในWindows 7มีเพียงเสียงเดียวเท่านั้นMicrosoft Anna .

ติดตั้งเสียง

ในWindows 10มีสองเสียง: Microsoft David และ Microsoft Zira(Microsoft David and Microsoft Zira)ดังที่แสดงด้านล่าง

ไมโครซอฟต์ เดวิส วอยซ์

ไมโครซอฟต์ซิร่าวอยซ์

หากมีเพียงหนึ่งเสียงที่ติดตั้งในระบบของคุณ คุณต้องเปลี่ยนที่ระบุว่าsapi.GetVoices.Item(1)เป็นsapi.GetVoices.Item(0)มิฉะนั้น คุณจะได้รับข้อความแสดงข้อผิดพลาด(error message)เมื่อคุณพยายามเรียกใช้สคริปต์ คุณยังสามารถสร้างเอกสาร Notepad อีกฉบับแล้ววาง(Notepad document and paste)โค้ดด้านล่างลงไป ซึ่งจะบอกคุณว่ามีการติดตั้งเสียงใดบ้าง บันทึกเป็นไฟล์ .VBS ดังที่แสดงด้านบนและเรียกใช้

Set VObj = CreateObject(“SAPI.SpVoice”)
For Each Voice In VObj.getvoices
I = I + 1
msgbox “” & (I – 1) & ” – ” & Voice.GetDescription
Next

จนถึงขณะนี้ เราได้ใช้กล่องโต้ตอบป๊อปอัป(popup dialog) นี้ เพื่อป้อนข้อความ แต่คุณยังสามารถพิมพ์ข้อความของคุณลงในไฟล์สคริปต์(script file)ได้ ซึ่งจะเป็นประโยชน์หากคุณต้องการกำหนดเวลาให้สคริปต์ทำงานโดยอัตโนมัติ แน่นอน สามารถใช้เพื่อแกล้งเพื่อนและครอบครัวของคุณได้ และมันก็ใช้ได้ผลดีจริงๆ

ลองนึกภาพว่ามีคนเปิดคอมพิวเตอร์และได้ยินคอมพิวเตอร์บอกพวกเขาว่า “ สวัสดี จอห์น(Hello John)วันนี้ฉันง่วงมาก ได้โปรดอย่ารบกวนฉันเลย!” เมื่อมันบูทขึ้น! ฉันสามารถสัญญากับคุณจากประสบการณ์ มันเกินจริง และคุณควรลอง

ในการฮาร์ดโค้ดข้อความ ให้เปลี่ยนบรรทัดสุดท้ายเป็นดังนี้:

sapi.Speak “Hello John, I am very tired today!”

ไฟล์สคริปต์กำหนดเวลา

เมื่อคุณได้ฮาร์ดโค้ดข้อความของคุณสำหรับเป้าหมายที่ต้องการแล้ว คุณเพียงแค่ต้องเรียกใช้เมื่อต้องการ หากคุณเชี่ยวชาญด้านเทคโนโลยี คุณสามารถใช้โปรแกรมอย่างAutoItได้ ซึ่งจะทำให้คุณสามารถทำสิ่งที่รุนแรงได้ เช่น เรียกใช้ไฟล์สคริปต์(script file) ของคุณ เมื่อเปิดโปรแกรมบางโปรแกรม หรือเมื่อหน้าต่างถูกขยายหรือย่อให้เล็กสุด

ฉันไม่มีเวลาทำสิ่งเหล่านั้นในโพสต์นี้ แต่โชคดีที่Microsoftมีคุณสมบัติในตัวที่เรียกว่าTask Schedulerที่ให้คุณทำสิ่งที่ค่อนข้างซับซ้อนด้วยสคริปต์ได้อย่างง่ายดาย

โพสต์ก่อนหน้าของฉันเจาะลึกถึงวิธีกำหนดเวลาให้ไฟล์สคริปต์(script file)ทำงานเมื่อมีเหตุการณ์บางอย่างเกิดขึ้นในWindows หากคุณมีปัญหาใดๆ ในการทำให้สคริปต์ของคุณทำงานได้ โปรดโพสต์ความคิดเห็นและเราจะพยายามช่วยเหลือ สนุก!



About the author

ฉันเป็นผู้ตรวจทานมืออาชีพและเพิ่มประสิทธิภาพการทำงาน ฉันชอบใช้เวลาออนไลน์เล่นวิดีโอเกม สำรวจสิ่งใหม่ ๆ และช่วยเหลือผู้คนเกี่ยวกับความต้องการด้านเทคโนโลยีของพวกเขา ฉันมีประสบการณ์กับ Xbox มาบ้างแล้วและได้ช่วยเหลือลูกค้าในการรักษาระบบของพวกเขาให้ปลอดภัยมาตั้งแต่ปี 2552



Related posts