say
คำสั่งอาจจะเป็นคุณลักษณะที่น่าสนใจที่สุด OS X ขั้ว - มันต้องใช้ข้อความเป็น input และพูดผ่านลำโพงของคอมพิวเตอร์ มีเครื่องมือบรรทัดคำสั่งใด ๆ ที่เทียบเท่าบน Windows ไม่ว่าจะเป็นในตัวหรือผ่านทางโปรแกรมบุคคลที่สาม
say
คำสั่งอาจจะเป็นคุณลักษณะที่น่าสนใจที่สุด OS X ขั้ว - มันต้องใช้ข้อความเป็น input และพูดผ่านลำโพงของคอมพิวเตอร์ มีเครื่องมือบรรทัดคำสั่งใด ๆ ที่เทียบเท่าบน Windows ไม่ว่าจะเป็นในตัวหรือผ่านทางโปรแกรมบุคคลที่สาม
คำตอบ:
PTTSเป็นโปรแกรมบรรทัดคำสั่ง Microsoft Windows ที่ใช้ง่ายมากในการแปลงข้อความเป็นคำพูด หากใช้ Microsoft Text เพื่อ Speech Engine และ Microsoft Speech SDK Text to Speech Engine ติดตั้งมากับ Windows XP ด้วยเสียงเดียวที่มีคุณภาพค่อนข้างต่ำ โปรแกรมการติดตั้ง Jampal รวมถึงเสียงที่ดีกว่าสองเสียง (อ้างอิงจากเว็บไซต์)
หนึ่งสามารถใช้งานได้โดยเพียงแค่ป้อนข้อความลงในโปรแกรมโดยการเปลี่ยนเส้นทางหรือโดยการไพพ์ในข้อความ:
ptts < file.txt
echo Hello there|ptts
echo Hello|ptts.exe
เช่น ฉันต้องการวิธีที่จะให้ข้อความเป็นอาร์กิวเมนต์ของคำสั่ง แต่สิ่งนี้จะเพียงพอหากไม่มีวิธีการทำเช่นนั้น
ฉันได้สร้าง Batch Script อย่างง่ายสำหรับการทำสิ่งนี้ นี่คือซอร์สโค้ด
@echo off
echo Dim Speak >> %HOMEPATH%\speak.vbs
echo Set Speak=CreateObject("sapi.spvoice") >> %HOMEPATH%\speak.vbs
echo Speak.Speak "%*">> %HOMEPATH%\speak.vbs
%HOMEPATH%\speak.vbs
del %HOMEPATH%\speak.vbs
บันทึกสคริปต์นี้ในไฟล์ชื่อ "speak.bat" และย้ายไปยังไดเรกทอรีที่อ้างอิงโดยตัวแปร PATH ของคุณ
โปรแกรมนี้สร้าง vbs อย่างง่าย ๆ ด้วยอินพุตของคุณจากนั้นพูดด้วยเสียงของระบบ ในตอนท้ายของการดำเนินการสคริปต์จะถูกลบออกเพื่อให้พื้นที่สำหรับการดำเนินการอื่น
พวกเขามีไลบรารี่นี้ใน SDK ซึ่งคุณสามารถสร้างยูทิลิตี้ขั้นสูงขึ้นได้ด้วยความพยายามส่วนตัว
https://www.microsoft.com/en-us/download/details.aspx?id=27224
แม้ว่านี่อาจเป็นวิธีที่สะดวกที่สุดเนื่องจากมันถูกสร้างขึ้นในระบบและสามารถเข้าถึงได้ผ่าน PowerShell
เรียกใช้ฟังก์ชันจากเนมสเปซ ( https://msdn.microsoft.com/en-us/library/gg145021(v=vs.110).aspx )
Add-Type -AssemblyName System.Speech
ยกตัวอย่างวัตถุ
$synth = New-Object -TypeName
System.Speech.Synthesis.SpeechSynthesizer
เรียกใช้ฟังก์ชันและป้อนคำของคุณตามที่เป็นอาร์กิวเมนต์
$synth.Speak('hey man')