มีคุณสมบัติเจ๋ง ๆ ใน Windows ที่ให้คุณทำให้คอมพิวเตอร์ของคุณพูดหรือพูดอะไรก็ได้! วิธีนี้ใช้ประโยชน์จาก API ในตัวที่ติดตั้งบน Windows XP, Vista, 7, 8 และ 10 ที่เรียกว่า SAPI (Speech Application Programming Interface)
Microsoft Speech API คือสิ่งที่ใช้สำหรับคุณลักษณะการเข้าถึงข้อความเป็นคำพูดที่มีอยู่ใน Windows คุณยังสามารถเขียนโปรแกรมที่เรียก API ซึ่งจะทำให้คุณสามารถให้แอปพลิเคชันของคุณพูดได้ แต่สำหรับนักพัฒนา
สารบัญ
- ป้อนข้อความ พูดข้อความ
- กำหนดการตั้งค่าเสียง SAPI
- ไฟล์สคริปต์กำหนดการ
แค่ทำให้คอมพิวเตอร์ของคุณพูดในสิ่งที่คุณต้องการนั้นค่อนข้างง่ายจริงๆ! ในบทความนี้ ฉันจะแสดงวิธีสร้างสคริปต์ VBS ที่รับข้อความจากผู้ใช้แล้วพูด นอกจากนี้ ฉันจะพูดถึงวิธีฮาร์ดโค้ดข้อความที่คุณต้องการพูด จากนั้นกำหนดเวลาให้สคริปต์นั้นทำงานในเหตุการณ์เฉพาะ เช่น การเริ่ม Windows หรือออกจากระบบ
ป้อนข้อความ พูดข้อความ
เริ่มจากสคริปต์ง่ายๆ ที่จะป๊อปอัปกล่องโต้ตอบซึ่งคุณสามารถพิมพ์สิ่งที่คุณต้องการให้ Windows พูดได้ ขั้นแรกให้ดำเนินการต่อและเปิด Notepad
ขั้นตอนที่ 1: วางข้อความต่อไปนี้ลงในเอกสารใหม่:
Dim message, sapi
message=InputBox(“Enter the text you want spoken”,”Speak This”)
Set sapi=CreateObject(“sapi.spvoice”)
sapi.Speak message
โปรดทราบว่าเมื่อคุณคัดลอกข้อความจากเว็บเบราว์เซอร์และวางลงใน Notepad เครื่องหมายคำพูดจะทำให้เกิดปัญหา ก่อนที่คุณจะบันทึกไฟล์ คุณต้องดำเนินการและลบเครื่องหมายคำพูดแต่ละรายการ (“) และพิมพ์เครื่องหมายคำพูดอีกครั้ง ในตัวอย่างด้านล่าง มีเครื่องหมายคำพูดหกตัว ควรมีลักษณะเหมือนภาพด้านล่าง
ตอนนี้เมื่อคุณไปบันทึกไฟล์ ให้ตั้งชื่ออะไรก็ได้ แต่ให้แน่ใจว่าคุณพิมพ์.VBSหลังชื่อ ด้วย ถัดไป สำหรับ ช่อง บันทึกเป็นประเภทให้เลือกไฟล์ทั้งหมดแทนเอกสารข้อความเริ่มต้น
ตอนนี้ดับเบิลคลิกที่ไฟล์ VBS แล้วคุณจะเห็นช่องใส่ที่คุณสามารถพิมพ์ข้อความที่คุณต้องการพูดได้! พิมพ์บางอย่างแล้วคลิกตกลง
หากคุณทำทุกอย่างถูกต้อง คุณควรได้ยินเสียงผู้ชายหรือผู้หญิงพูดประโยคของคุณ หากคุณได้รับข้อความแสดงข้อผิดพลาดใดๆ โปรดตรวจสอบให้แน่ใจว่าได้คัดลอกและวางข้อความอีกครั้งและแทนที่เครื่องหมายคำพูดเหล่านั้น
กำหนดการตั้งค่าเสียง SAPI
มันสนุก แต่เราสามารถกำหนดค่าคอมพิวเตอร์พูดน้อยของเราด้วยการตั้งค่าที่แตกต่างกัน เราสามารถเปลี่ยนระดับเสียง เร็วหรือช้าของเสียงพูด และเปลี่ยนเพศระหว่างชายและหญิงได้ นี่คือตัวอย่างโค้ดที่ฉันเพิ่มบรรทัดพิเศษสองสามบรรทัด
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
อัตราเริ่มต้นคือ 0 และช่วงคือ -10 ถึง 10 -10 จะทำให้เสียงพูดช้ามาก และ 10 จะพูดเร็วมาก ระดับเสียงเริ่มต้นที่ 100 และช่วงคือ 0 ถึง 100 บรรทัดที่ขึ้นต้นด้วยSet sapi.Voiceจะช่วยให้คุณเปลี่ยนเป็นเสียงอื่นได้ หากติดตั้งไว้ในระบบของคุณ
โปรดทราบว่าจำนวนเสียงที่คุณสามารถเลือกได้นั้นขึ้นอยู่กับระบบปฏิบัติการ ใน Windows 7 มีเพียงเสียงเดียวคือ Microsoft Anna
ใน Windows 10 มีสองเสียงคือ Microsoft David และ Microsoft Zira ดังภาพด้านล่าง
หากมีการติดตั้งเพียงเสียงเดียวในระบบของคุณ คุณต้องเปลี่ยนsapi.GetVoices.Item(1)เป็นsapi.GetVoices.Item(0)มิฉะนั้น คุณจะได้รับข้อความแสดงข้อผิดพลาดเมื่อคุณพยายามเรียกใช้สคริปต์ คุณยังสามารถสร้างเอกสาร Notepad อื่นและวางรหัสด้านล่าง ซึ่งจะบอกคุณว่าเสียงใดถูกติดตั้ง บันทึกเป็นไฟล์ .VBS ดังที่แสดงด้านบนแล้วเรียกใช้
Set VObj = CreateObject(“SAPI.SpVoice”)
For Each Voice In VObj.getvoices
I = I + 1
msgbox “” & (I – 1) & ” – ” & Voice.GetDescription
Next
จนถึงตอนนี้ เราใช้กล่องโต้ตอบป๊อปอัปนี้เพื่อป้อนข้อความ แต่คุณสามารถพิมพ์ข้อความของคุณลงในไฟล์สคริปต์ได้เช่นกัน ซึ่งจะเป็นประโยชน์หากคุณต้องการกำหนดเวลาให้สคริปต์ทำงานโดยอัตโนมัติ แน่นอนว่ามันสามารถใช้เล่นตลกกับเพื่อนและครอบครัวของคุณได้ และมันได้ผลดีจริงๆ
ลองจินตนาการว่ามีคนเปิดคอมพิวเตอร์และได้ยินคอมพิวเตอร์บอกพวกเขาว่า “สวัสดีจอห์น ฉันง่วงมาก วันนี้อย่ารบกวนฉันเลย!” เมื่อมันบูทขึ้น! ฉันสัญญากับคุณได้จากประสบการณ์ มันน่าตื่นเต้นและคุณควรลองอย่างแน่นอน
หากต้องการฮาร์ดโค้ดข้อความ ให้เปลี่ยนบรรทัดสุดท้ายเป็นดังนี้:
sapi.Speak “Hello John, I am very tired today!”
ไฟล์สคริปต์กำหนดการ
ตอนนี้คุณได้ฮาร์ดโค้ดข้อความของคุณสำหรับเป้าหมายที่ต้องการแล้ว คุณเพียงแค่เรียกใช้เมื่อคุณต้องการ หากคุณเชี่ยวชาญด้านเทคโนโลยี คุณสามารถใช้โปรแกรมอย่างAutoItซึ่งจะช่วยให้คุณทำสิ่งต่างๆ ได้มาก เช่น เรียกใช้ไฟล์สคริปต์เมื่อเปิดโปรแกรมบางโปรแกรมหรือเมื่อขยายหรือย่อขนาดหน้าต่าง
ฉันไม่มีเวลาพูดถึงเรื่องทั้งหมดนี้ในโพสต์นี้ แต่โชคดีที่ Microsoft มีฟีเจอร์ในตัวที่เรียกว่า Task Scheduler ที่ให้คุณทำบางสิ่งที่ค่อนข้างซับซ้อนด้วยสคริปต์ได้อย่างง่ายดาย
โพสต์ก่อนหน้าของฉันลงลึกเกี่ยวกับวิธีกำหนดเวลาให้ไฟล์สคริปต์ทำงานเมื่อมีเหตุการณ์บางอย่างเกิดขึ้นใน Windows หากคุณมีปัญหาในการทำให้สคริปต์ของคุณทำงาน โปรดโพสต์ความคิดเห็นและเราจะพยายามช่วยเหลือ สนุก!