say
आदेश शायद ओएस एक्स टर्मिनल के सबसे सम्मोहक सुविधा है - यह इनपुट के रूप में पाठ लेता है और कंप्यूटर के स्पीकर के माध्यम से बात करते हैं। क्या विंडोज पर कोई समतुल्य कमांड-लाइन टूल है, या तो अंतर्निहित या तीसरे पक्ष के कार्यक्रम के माध्यम से?
say
आदेश शायद ओएस एक्स टर्मिनल के सबसे सम्मोहक सुविधा है - यह इनपुट के रूप में पाठ लेता है और कंप्यूटर के स्पीकर के माध्यम से बात करते हैं। क्या विंडोज पर कोई समतुल्य कमांड-लाइन टूल है, या तो अंतर्निहित या तीसरे पक्ष के कार्यक्रम के माध्यम से?
जवाबों:
पाठ को भाषण में बदलने के लिए PTTS एक बहुत ही सरल Microsoft Windows कमांड लाइन प्रोग्राम है। यदि Microsoft टेक्स्ट टू स्पीच इंजन और Microsoft भाषण SDK का उपयोग करता है। कुछ खराब गुणवत्ता की एक आवाज के साथ टेक्स्ट इंजन टू स्पीच इंजन विंडोज एक्सपी के साथ स्थापित किया गया है। जम्पल इंस्टॉलेशन प्रोग्राम में दो बेहतर साउंडिंग आवाजें शामिल हैं। (वेबसाइट से उद्धृत)
कार्यक्रम में केवल पुनर्निर्देशन द्वारा या पाठ में पाइपिंग करके आप इसे उपयोग कर सकते हैं:
ptts < file.txt
echo Hello there|ptts
echo Hello|ptts.exe
। मैं पाठ को कमांड का एक तर्क होने का एक तरीका पसंद करूंगा, लेकिन अगर ऐसा करने का कोई तरीका नहीं है, तो यह पर्याप्त होगा।
मैंने ऐसा करने के लिए एक सरल बैच स्क्रिप्ट बनाई है। यहाँ स्रोत कोड है
@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 बनाता है, फिर इसे सिस्टम वॉइस के साथ बोलता है। निष्पादन के अंत में, स्क्रिप्ट को किसी अन्य निष्पादन के लिए स्थान देने के लिए हटा दिया जाएगा।
स्टैक ओवरफ्लो पर यह सवाल पूछा गया था। मुझे VBS स्क्रिप्ट के साथ उत्तर पसंद है ।
इसके अलावा, espeak
विंडोज और लिनक्स के लिए उपलब्ध है और इसे ओएस एक्स में पोर्ट किया गया है। मुझे विश्वास नहीं होता कि यह बिल्ट-इन विंडोज टीटीएस इंजन का उपयोग करता है।
उनके पास एसडीके में यह पुस्तकालय है, जहां आप शायद कुछ व्यक्तिगत प्रयासों के साथ अधिक उन्नत उपयोगिता बना सकते हैं।
https://www.microsoft.com/en-us/download/details.aspx?id=27224
यद्यपि यह संभवतः सबसे सुविधाजनक तरीका है क्योंकि यह मूल रूप से सिस्टम में बनाया गया है, और इसे पॉवरशेल के माध्यम से सुलभ है।
नेमस्पेस ( 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')
मैं पुराने टूल को काम करने की कोशिश कर थक गया, इसलिए मैंने बनाया wsay
।
यह काम करता है say
, आप विभिन्न आवाज़ों का चयन कर सकते हैं और आप आसानी से एक तरंग फ़ाइल में आउटपुट कर सकते हैं।
https://github.com/p-groarke/wsay/releases
चियर्स