このページの本文へ

前へ 1 2 次へ

Windows Info 第276回

Windows 10は好きな文章を合成音声で簡単に喋らせることができる

2021年05月23日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

こんな簡単なコマンドで、Windowsは「しゃべって」くれる。画面キャプチャーでは声をお聞かせすることはできないが、お手元のWindows PowerShellで試してほしい

 スクリプトを作るとき、ちょっとユーザーの気を引きたくなることがある。たとえば、少し時間のかかる処理をするときに、終わったことを通知したい場合などだ。あるいは、実行後にすこし時間が経過してからエラーを通知するような場合にも、気を引きたくなることがある。

 こんなとき昔のコンピューターならベル音やビープ音を鳴らすのが一般的だった。端末装置からコンピューターを使っていた頃、Ctrl+Gを出力するとベル音が鳴った。マイクロプロセッサが使われ始め、パソコンの原型ができあがった頃、BEEPと呼ばれる機能ができた。プログラムでビットをオンオフし、これをスピーカーに接続することで音を出していた。今もマザーボード上には、そのための小さなスピーカーがあるはずだ。しかしWindowsが普及するとともに、PCにサウンド機能が標準となり、簡単に音を鳴らせるようになった。

 コントロールパネルの「サウンド」プロパティで開く、「サウンド」ダイアログボックスの「サウンド」タブには、Windowsがあらかじめ持っている「イベントサウンド」の定義がある。PlaySound APIなどを使うことで、こうしたシステム定義の音を鳴らすことができる。ただ、“ありもの”のサウンドは案外区別がつきにくい。しかし、独自のサウンドを鳴らすには音源ファイルを作る必要がある。それは面倒だ。

 こうしたとき、Windowsの音声合成機能を使うと、音源の必要なく、適切な「音声によるメッセージ」を出すことができるようになる。

Windowsに用意されているSpeech API

 Windowsには、Speach API(SAPI)があり、これを使うことで音声合成ができる。音声合成というと、なんか面倒くさそうな感じがしてしまうが、お手元のPCでPowerShell(Windows PowerShellを想定してあるが、PowerShell Coreでも確認済み)を開き、以下の2行のコマンドを実行してみてほしい。

$x=New-Object -ComObject SAPI.SpVoice
$x.Speak("早く人間に成りたい")

 ちゃんと音が出るように設定されていれば、女性の声が聞こえるはずだ。これがSpeach APIの音声合成機能だ。喋らせるテキストは、普通のテキストそのままでいい。しかも、日本語の音声の場合、英単語が混じっていてもいい。

$x.Speak("ここにFile Nameを入れてEnter keyを押してください")

 句読点を入れると、そこで一呼吸入れてくれる。

$x.Speak("早く,人間に,成りたい。早く人間に成りたい")

 Speakメソッドを繰り返し使えば、ずっと話し続けてくれる。なおデフォルトでは、同期呼び出しなので、発声が終わるまでSpeakメソッドは戻ってこない。これだとスクリプトの実行に差し障るというのであれば、非同期呼び出しとして発声が終わる前に制御を戻すこともできる。それには、後ろにもう1つ引数を追加して1(SVSFlagsAsync)をつける。

$x.Speak("ここにFile Nameを入れてEnter keyを押してください",1)

 なお、このSpeakメソッドに関しては、Microsoftの以下のページに情報がある。

●SpVoice Speak method (SAPI 5.4)
 https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ee125647(v=vs.85)
●SpeechVoiceSpeakFlags (SAPI 5.4) 2つ目の引数の指定
 https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ee125223(v=vs.85)

音量や声のキャラクターなど、ちょっと変化をつける

 まずは、音量を変えてみる。

$x.Speak("お出かけですか")
$x.Volume=50
$x.Speak("お出かけですか")
$x.Volume=100

 Volumeプロパティは、0~100の範囲で指定する。これは、Speech API側の出力を0~100%に設定するものなので、他の音との相対値である。最終的な音量はWindowsの設定で決まる。この値を低くすると、他のアプリよりも相対的に小さな音にすることができる。

 次は、読み上げ速度だ。これは、rateプロパティで設定する。値は-10から10の範囲で、-10が最も遅く、デフォルト値は0である。

$x.rate=-10
$x.Speak("早く人間に成りたい",1)
$x.rate=0

 次に声を変えてみる。日本語版Windowsでは、

Haruka(日本語、女性):0
Zira(英語、女性):1
David(英語、男性):2

の3つの声が利用できる。英語を話してほしいときには、ZiraかDavidを選ぶ。Davidなら

$x.Voice=$x.GetVoices().item(2)
$x.Speak("all works and no play makes jack a dull boy.",1)

とする。「item(2)」を「item(1)」にすればZiraが、「item(0)」にすればHarukaが選択できる。たとえば、

$x.Voice=$x.GetVoices().item(0);$x.Speak("裏に塀ができたんだってねぇ",1);$x.Voice=$x.GetVoices().item(2);$x.Speak("Hey",1)

とする。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,390
2
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥660
3
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥980
4
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
¥5,280
5
CIO フラットスパイラルケーブル CtoC 1m (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps (ライトブラック, 1m)
CIO フラットスパイラルケーブル CtoC 1m (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps (ライトブラック, 1m)
¥1,780
6
Amazon Kindle Paperwhite (16GB) 7インチディスプレイ、色調調節ライト、12週間持続バッテリー、広告なし、ブラック
Amazon Kindle Paperwhite (16GB) 7インチディスプレイ、色調調節ライト、12週間持続バッテリー、広告なし、ブラック
¥18,980
7
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
8
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
¥1,590
9
Amazon Kindle - 目に優しい、かさばらない、大きな画面で読みやすい、6週間持続バッテリー、6インチディスプレイ電子書籍リーダー、ブラック、16GB、広告なし
Amazon Kindle - 目に優しい、かさばらない、大きな画面で読みやすい、6週間持続バッテリー、6インチディスプレイ電子書籍リーダー、ブラック、16GB、広告なし
¥13,980
10
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
¥5,645

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン