本エディタでは、任意のテキストを音声で読み上げることができます。 但し、これには必要なシステム環境がありますので、 ご注意ください。
読み上げは、標準では、Speak.mc という MikoScript が行ないます。 このスクリプトは、次のどれかのテキストを読み上げます。
このうち、現論理行頭からテキスト終端までを読み上げている時には、 カーソルが、現発声中のテキスト位置へ、順次移動していきます。 どの場合の読み上げでも、途中で中断させるには、ESC キーを押します。
初期環境では、現テキストを読み上げるスクリプトが、メインメニュー の「ツール」下の「スクリプト集」から起動できるようになっています。
クリップボードのテキストや直接指定文字列を読み上げるには、 「スクリプトの実行」ダイアログボックスから、引数を指定して、起動する必要があります。 もし、この操作を頻繁に行なう場合には、ScriptList.ctx に、そのコマンドを追加して、 環境設定で、それを適当なキーやボタンに機能割り当てすれば、容易に起動できる ようになります。
英語の読み上げは、Windows XP, Vista 上では、特に何もしなくても、 標準環境のままで、容易に行なえます。ちなみに、次のようにすると、簡単に確認できます。 適当な英文のテキストファイル(例えば、本インストールフォルダ内の Dict\SampleWords.dic )を 開いて、「読み上げ」を実行します。
表記 | 倍率 | N の範囲 | 表記例 | 例の倍率 | |
---|---|---|---|---|---|
音量 | /Nv | N % | 0 〜 100 | /75v | 0.75 |
速度 | /Nr | 3 N / 10 | -10 〜 +10 | /-2r | 0.803 |
音高 | /Np | 2 N / 24 | -10 〜 +10 | /+3p | 1.091 |
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 タグを入れることによって、 さまざまな指定ができます。主なものを以下に挙げます。 詳細は、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: 言語番号 |
読み上げには、MikoScript の Apsalyオブジェクト のメンバー関数を 使います。それは、次の2つです。
これらの関数を使えば、上述の Speak.mc のようなスクリプトだけでなく、 いろいろな読み上げのアプリケーションが作成できます。 初期環境では、スクリプトのサンプルフォルダー内に、次のスクリプトが、 入っています。
なお、これらのスクリプトを実行する際には、英語の音声合成エンジンが 有効になっている必要があります。
上記の読み上げ関数は、ご寄付を頂いた方への「特典」になっています。特典がないと、本エディタの起動後、 これらの関数を使うスクリプトの起動回数が3回を超えると、 これらの関数は、無効になります。
本エディタでは、標準で 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 では、 動かないかもしれません。