読み上げ

■ 概要

 本エディタでは、任意のテキストを音声で読み上げることができます。 この読み上げは、Speak.mc という MikoScript が行ないます。 これは、次の種類のテキストの読み上げができます。

  1. 現編集テキスト内に選択範囲が無い時、現論理行頭からテキスト終端まで
  2. 現編集テキスト内に選択範囲が有る時、その選択範囲のテキスト(矩形範囲でも可)
  3. クリップボードのテキスト(引数に /clip 指定時)
  4. コマンド引数に直接指定された文字列

 このうち、1. の読み上げ時には、現発声中のテキスト位置へ、カーソルが順次移動していきます。 いずれの種類の読み上げでも、途中で中断するには、ESC キーを押します。

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

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

■ コマンド形式
  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 ) に 対応した音声合成エンジンがインストールされている必要があります。

 Windows 7 以降では、日本語の音声合成エンジンが、標準で搭載されているPCが多いようです。 この場合、特に何もしなくても、そのままで、読み上げができます。 もし、搭載されていなければ、別途インストールする必要があります。 なお、英語の読み上げの場合は、英語の音声合成エンジンが必要です。

■ 読み上げ文字列内の 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: 言語番号
■ 読み上げ関数

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

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

なお、WelcomeTTS_Jp.mc では、日本語の音声合成エンジンが、 WelcomeTTS_En.mc と QuizLRPron.mc では、英語の音声合成エンジンが、 有効になっている必要があります。

■ MikoVoice による読み上げ

 本エディタでは、MikoVoice というフリーの音声合成エンジンを標準で搭載しています。 MikoVoice の詳細は、MikoVoice のホームページ に書いていますが、主な特徴は、以下の通りです。

このように、MikoVoice は、漢字が読めなかったり、アクセントが自動で付かないなど、 不便なところもありますが、歌を歌えたり、アクセントを自由に設定したりできるので、 それなりの使い方(遊び方)ができると思います。

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

これらを実行すると、MikoVoice の発声を実際に聞くことができます。 この実行は、以下のどちらかで行なえます。

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

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