say
コマンドは、おそらくOS Xターミナルの最も魅力的な機能です。テキストを入力として受け取り、コンピューターのスピーカーを通してそれを話します。組み込みまたはサードパーティのプログラムを介して、Windowsに同等のコマンドラインツールはありますか?
[〜#〜] ptts [〜#〜] は、テキストを音声に変換する非常にシンプルなMicrosoft Windowsコマンドラインプログラムです。 Microsoft Text to Speech EngineおよびMicrosoft Speech SDKを使用する場合。 Text to Speech EngineはWindowsと共にインストールされますXP音質がやや劣る1つです。Jampalインストールプログラムには2つのより良い音の声が含まれています(ウェブサイトから引用)
リダイレクトまたはテキストをパイプすることにより、プログラムにテキストを入力するだけで使用できます。
ptts < file.txt
echo Hello there|ptts
これを行うための簡単なバッチスクリプトを作成しました。ここにソースコードがあります
@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
はWindowsとLinuxで利用可能で、OS Xに移植されています。組み込みのWindows TTSエンジンを使用しているとは思いません。
彼らは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')
古いツールを機能させることに飽きたので、wsay
を作成しました。
say
のように機能し、さまざまな声を選択でき、簡単にwaveファイルに出力できます。
https://github.com/p-groarke/wsay/releases
乾杯