say
Komut belki OS X terminalin en çekici özelliği - bu girdi olarak metni alır ve bilgisayarın hoparlörlerinden bunu konuşur. Windows'da yerleşik veya üçüncü taraf bir program aracılığıyla eşdeğer bir komut satırı aracı var mı?
say
Komut belki OS X terminalin en çekici özelliği - bu girdi olarak metni alır ve bilgisayarın hoparlörlerinden bunu konuşur. Windows'da yerleşik veya üçüncü taraf bir program aracılığıyla eşdeğer bir komut satırı aracı var mı?
Yanıtlar:
PTTS metni konuşmaya dönüştürmek için çok basit bir Microsoft Windows komut satırı programıdır. Microsoft Text to Speech Engine ve Microsoft Speech SDK kullanıyorsa. Metin-Konuşma Motoru, Windows XP ile birlikte bir ses kalitesi düşük olarak yüklenir. Jampal kurulum programı daha iyi iki ses sesi içerir. (web sitesinden alıntılanmıştır)
Biri, metni yeniden yönlendirerek veya metinde boru oluşturarak programa girerek kullanabilir:
ptts < file.txt
echo Hello there|ptts
echo Hello|ptts.exe
. Metnin komutun bir argümanı olmasını sağlamanın bir yolunu tercih ederim, ancak bunu yapmanın bir yolu yoksa bu yeterli olacaktır.
Bunu yapmak için basit bir Toplu Komut Dosyası oluşturdum. İşte kaynak kodu
@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
Bu komut dosyasını "speak.bat" adlı bir dosyaya kaydedin ve PATH değişkeniniz tarafından başvurulan bir dizine taşıyın.
Bu program, girişinizle basit bir vbs oluşturur, daha sonra sistem sesiyle konuşur. Yürütmenin sonunda, komut dosyası başka bir yürütmeye yer açmak için silinir.
Bu soru Stack Overflow'da soruldu. VBS betiği ile cevabı beğendim .
Ayrıca, espeak
Windows ve Linux için kullanılabilir ve OS X'e taşınmıştır. Dahili Windows TTS motorunu kullandığına inanmıyorum.
SDK'da bu kütüphaneye sahipler, burada bazı kişisel çabalarla daha gelişmiş bir yardımcı program yapabilirsiniz.
https://www.microsoft.com/en-us/download/details.aspx?id=27224
Her ne kadar bu sistemde doğal olarak yerleşik olduğu için muhtemelen en uygun yoldur ve powershell ile erişilebilir.
İşlevi ad alanından çağırın ( https://msdn.microsoft.com/en-us/library/gg145021(v=vs.110).aspx )
Add-Type -AssemblyName System.Speech
Nesneyi Örnekleme
$synth = New-Object -TypeName
System.Speech.Synthesis.SpeechSynthesizer
İşlevi çağırın ve sözcüklerinizi bağımsız değişken olarak girin.
$synth.Speak('hey man')
Eski araçların çalışmasını sağlamaktan yoruldum, bu yüzden yarattım wsay
.
Bu gibi çalışır say
, farklı sesleri seçebilir ve mümkün bir dalga dosyaya kolayca çıktı.
https://github.com/p-groarke/wsay/releases
Şerefe