あなたのコンピュータにあなたがタイプしたものを話させる/話すようにする方法

Windowsには、(Windows)コンピューターに話しかけたり、話しかけたり(computer talk or speak)することができる優れた機能があります。この方法では、Windows XPVista、7、8、および10にインストールされているSAPISpeech Application Programming Interface )と呼ばれる組み込み(Speech Application Programming Interface)APIを利用します。

Microsoft Speech APIは、Windowsに組み込まれているテキスト読み上げ アクセシビリティ機能(accessibility feature)に使用されるものです。APIを呼び出すプログラムを作成することもできます。これにより、アプリケーションに音声を伝えることができますが、これは開発者向けです。

コンピュータにあなたが望むものを言わせるだけで、実際にはかなり簡単です!この記事では、ユーザーからのテキスト入力(text input)を受け取り、それを話すVBSスクリプトを作成する方法を紹介します。(VBS script)また、話したいテキストをハードコーディングしてから、そのスクリプトをWindowsの起動やログオフなどの特定のイベントで実行するようにスケジュールする方法についても説明します。

テキストを入力し、メッセージを話します

まず、Windowsに話したい内容を入力できるダイアログボックス(dialog box)をポップアップ表示する簡単なスクリプトから始めましょう。まず(First)、先に進んでメモ帳(Notepad)を開きます。

手順1:(Step 1:) 次のテキストを新しいドキュメントに貼り付けます。

Dim message, sapi
message=InputBox(“Enter the text you want spoken”,”Speak This”)
Set sapi=CreateObject(“sapi.spvoice”)
sapi.Speak message

Webブラウザ(web browser and paste)からテキストをコピーしてメモ帳(Notepad)に貼り付けると、引用符によって問題が発生することに注意してください。ファイルを保存する前に、各引用符(“)を調べて削除し、引用符を再入力する必要があります。以下の例では、6つの引用符があります。下の画像(image below)のようになります。

コンピュータに話させる

ここで、ファイルを保存するときに任意の名前を付けますが、名前の後に.VBS(.VBS)も入力するようにしてください。次に、 [ファイルの種類( Save as type)]ボックスで、デフォルトのテキストドキュメント(Text Documents)の代わりに[すべてのファイル( All files)]を選択します。

コンピュータに話をさせる

次に、 VBSファイル(VBS file)をダブルクリックすると、話したいテキストを入力できる入力ボックスが表示されます。(input box)何か(Type something)を入力して[OK]をクリックします。

ダイアログボックスを話す

あなたがすべてを正しく(everything right)やったなら、あなたは男性か女性のどちらかの声があなたの文章を話すのを聞くべきです。何らかのエラーメッセージ(error message)が表示された場合は、必ずテキストをもう一度コピーして貼り付け、引用符を置き換えてください。

SAPI音声設定を構成する

これは楽しいことですが、話すコンピューターをさまざまな設定で構成することもできます。音量、声の速さや遅さを変更したり、男性と女性の性別を変更したりできます。これは、2、3行追加したサンプルコードです。(example code)

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

デフォルトのレート(default rate)は0で、範囲は-10〜10です。-10は音声を非常にゆっくりと話し、10は非常に速く話します。音量のデフォルトは100で、範囲は0〜100です。Setsapi.Voice(Set sapi.Voice)で始まる行では、システムにインストールされている場合、別の音声に変更できます。

選択できるボイスの数は、オペレーティングシステム(operating system)によって異なることに注意してください。Windows 7では、 MicrosoftAnnaという1つの音声しかありません。

インストールされた音声

Windows 10には、以下に示すように、MicrosoftDavidとMicrosoftZira(Microsoft David and Microsoft Zira)の2つの音声があります。

マイクロソフトデイビスボイス

マイクロソフトジラボイス

システムにインストールされている音声が1つしかない場合は、sapi.GetVoices.Item(1)sapi.GetVoices.Item(0)に変更する必要があります。そうしないと、スクリプトを実行しようとしたときにエラーメッセージが表示されます。(error message)別のメモ帳ドキュメントを作成して、以下のコードを貼り付ける(Notepad document and paste)こともできます。これにより、インストールされている音声がわかります。上記のように.VBSファイルとして保存して実行します。

Set VObj = CreateObject(“SAPI.SpVoice”)
For Each Voice In VObj.getvoices
I = I + 1
msgbox “” & (I – 1) & ” – ” & Voice.GetDescription
Next

これまで、このポップアップダイアログを使用してテキストを入力してきましたが、(popup dialog)スクリプトファイル(script file)にメッセージを入力することもできます。これは、スクリプトが自動的に実行されるようにスケジュールする場合に役立ちます。明らかに、これはあなたの友人や家族をいたずらするために使用することができ、それは本当にうまく機能します。

誰かが自分のコンピューターの電源を入れて、コンピューターが「こんにちはジョン(Hello John)、私はとても眠いです。今日は気にしないでください」と言うのを聞いたと想像してみてください。起動したら!私は経験からあなたに約束することができます、それはヒステリックであり、あなたは間違いなくそれを試してみるべきです。

メッセージをハードコーディングするには、最後の行を次のように変更するだけです。

sapi.Speak “Hello John, I am very tired today!”

スクリプトファイルのスケジュール

目的のターゲットに合わせてメッセージをハードコーディングしたので、必要なときにメッセージを実行するだけです。技術に精通している場合は、AutoItのようなプログラムを使用できます。これにより、特定のプログラムが開いたとき、またはウィンドウが最大化または最小化されたときにスクリプトファイル(script file)を実行するなどの極端な操作を実行できます。

この投稿ですべてを説明する時間はありませんが、幸いなことに、Microsoftには(Microsoft)タスクスケジューラ(Task Scheduler)と呼ばれる組み込み機能があり、スクリプトを使用して非常に複雑な作業を簡単に実行できます。

以前の投稿では、 Windows(Windows)で特定のイベントが発生したときに実行するスクリプトファイル(script file)をスケジュールする方法について詳しく説明しています。スクリプトを機能させるのに問題がある場合は、コメントを投稿してください。サポートさせていただきます。楽しみ!



About the author

私は、Apple Mac、iOS デバイス、および Google Chrome ブラウザーの構築と保守に 10 年以上の経験を持つソフトウェア エンジニアです。私の経験には、ソフトウェア製品のゼロからの開発、保守、運用、またはオープン ソース プロジェクトへの貢献が含まれます。また、病院の壊れた画面の修理から iPhone の新機能の設計と実装まで、さまざまなハードウェア プロジェクトに携わる機会がありました。余暇には、お気に入りのビデオ ゲームをしたり、本を読んだり、家族と一緒に夕食を作ったり、友達と時間を過ごしたりしています。



Related posts