読み上げ

■ 概要

 本エディタでは、任意のテキストを音声で読み上げることができます。 但し、これには必要なシステム環境がありますので、 ご注意ください。

 読み上げは、標準では、Speak.mc という MikoScript が行ないます。 このスクリプトは、次のどれかのテキストを読み上げます。

 このうち、現論理行頭からテキスト終端までを読み上げている時には、 カーソルが、現発声中のテキスト位置へ、順次移動していきます。 どの場合の読み上げでも、途中で中断させるには、ESC キーを押します。

 初期環境では、現テキストを読み上げるスクリプトが、メインメニュー の「ツール」下の「スクリプト集」から起動できるようになっています。

 クリップボードのテキストや直接指定文字列を読み上げるには、 「スクリプトの実行」ダイアログボックスから、引数を指定して、起動する必要があります。 もし、この操作を頻繁に行なう場合には、ScriptList.ctx に、そのコマンドを追加して、 環境設定で、それを適当なキーやボタンに機能割り当てすれば、容易に起動できる ようになります。

 英語の読み上げは、Windows XP, Vista 上では、特に何もしなくても、 標準環境のままで、容易に行なえます。ちなみに、次のようにすると、簡単に確認できます。 適当な英文のテキストファイル(例えば、本インストールフォルダ内の Dict\SampleWords.dic )を 開いて、「読み上げ」を実行します。

■ コマンド形式
  Speak.mc <オプション> <読み上げ文字列>
 説明:
 コマンド記述例:
  Speak.mc                    ・・・ 編集テキストを読み上げ(範囲選択に依存)
  Speak.mc /80v /-2r /+3p     ・・・ 音量 80%, 速度 -2, 音高 +3 で読み上げ
  Speak.mc "hello world" /-1r ・・・ 速度 -1 で、"hello world" と発声
  Speak.mc /clip              ・・・ クリップボードの内容を読み上げ
■ 読み上げに必要なシステム環境

 本エディタで、読み上げを行なうには、Windows の SAPI 5 ( Speech API version 5 ) に 対応した音声合成エンジンがインストールされている必要があります。 また、Internet Explorer version 5.5 以上(のコンポーネント)が必要です。

 Windows XP, Vista では、SAPI 5 対応の英語の音声合成エンジンが、 標準で搭載されています。それ以前の Windows では、別途インストールする必要があります。 但し、Windows 95, NT3.5 では、できません。

 SAPI 5 対応の英語の音声合成エンジンは、Microsoft 社の ダウンロードセンター 内の
   Speech SDK 5.1
のサイトから、無償で入手できます。

 日本語は、サードパーティ製のものが利用できるようです。 また、パソコンによっては、最初から搭載されている機種もあります。 フリーでは、現状、適当なものが見つかりません。 ただ、SAPI 対応ではありませんが、かなり自然な発声ができる、フリーで軽量の エンジンがあります。これについては、後述します。

 SAPI 5 に準拠していれば、複数のエンジンの登録が可能です。 また、話者を任意に切り換えることもできます。 なお、エンジンや話者の切り換え等は、コントロールパネルで行なえます。

■ 読み上げ文字列内の XMLタグ

 読み上げ対象の文字列内に、XML タグを入れることによって、 さまざまな指定ができます。主なものを以下に挙げます。 詳細は、SAPI のドキュメントをご覧ください。

種類表記備考
音量倍率<volume level="N"> 〜 </volume>N = 0〜100%
速度倍率<rate absspeed="N"> 〜 </rate>N = -10〜+10
速度倍率<rate speed="N"> 〜 </rate>N: 相対値
音高倍率<pitch absmiddle="N"> 〜 </pitch>N = -10〜+10
音高倍率<pitch middle="N"> 〜 </pitch>N: 相対値
強調発声<emph> 〜 </emph>
綴り発声<spell> 〜 </spell>
無音区間<silence msec="N"/>N: ミリ秒
発音指定<pron sym="・・・"/>
話者指定<voice required="・・・"> 〜 </voice>
言語指定<lang langid="N"> 〜 </lang>N: 言語番号
■ 読み上げ関数

 読み上げには、MikoScriptApsalyオブジェクト のメンバー関数を 使います。それは、次の2つです。

 これらの関数を使えば、上述の Speak.mc のようなスクリプトだけでなく、 いろいろな読み上げのアプリケーションが作成できます。 初期環境では、スクリプトのサンプルフォルダー内に、次のスクリプトが、 入っています。

なお、これらのスクリプトを実行する際には、英語の音声合成エンジンが 有効になっている必要があります。

 上記の読み上げ関数は、ご寄付を頂いた方への「特典」になっています。特典がないと、本エディタの起動後、 これらの関数を使うスクリプトの起動回数が3回を超えると、 これらの関数は、無効になります。

■ MikoVoice による読み上げ

 本エディタでは、標準で SAPI 5 対応の音声合成エンジンを対象にしていますが、 日本語では、これに適うフリーの適当なエンジンがなかなか見つかりません。 そこで、SAPI 対応ではありませんが、 以前は、AquesTalk という音声合成エンジンを使っていました。しかし、最近、 利用規約が変わって、フリーでは使えなくなってしまったのと、 機能的に限界があるので、独自にフリーの音声合成エンジン MikoVoice を開発しました。

 MikoVoice の詳細は、MikoVoice のホームページ に書いていますが、主な特徴は、以下の通りです。

 MikoVoice を使ったスクリプトの3例(下記)が、サンプルフォルダー内に入っています。
 ・MVoiceBox.mc  MikoVoice 発声確認用のダイアログボックスを表示
 ・MVoiceS1.mc  「初めまして、よろしくお願いします・・・」と話す
 ・MVoiceS2.mc  「ドレミ・・・」の音階を歌う

これらを実行すると、MikoVoice の発声を実際に聞くことができます。 この実行は、次のようにします。メインメニューの「ツール」から「スクリプト実行...」を選んで、 スクリプト実行ダイアログボックスを表示し、そこで、「標準」ボタンを押して表示される「ファイル一覧」の中から 「Samples\」を見つけて、それをダブルクリックすると、「ファイル一覧」の内容が変わるので、その中から、 「MVoiceBox.mc」を選んで、「実行」ボタンを押します。 (「MVoiceS1.mc」と「MVoiceS2.mc」の実行も同様です。)

 MikoVoice は、歌を歌ったり、関西弁を話したりできるので、 いろいろ遊べますが、発声の仕方を記号で指定しないといけないので、 慣れるまでは大変かもしれません。使いやすいGUIがあればいいのですが、 それでも、テキストベースのほうが、便利なところもあります。

 MikoVoice の音源は、現版では、「和音マコ」さんの音源を参考にさせて頂きました。ありがとうございます。

 なお、MikoVoice の動作確認は、Windows 10, 8.1, 7, Vista で行なっています。それ以前の Windows では、 動かないかもしれません。