Excel VBA(マクロ)でセルの内容を声を変えて読上げ -その3
Excel VBA(マクロ)でセルの内容を声を変えて読上げ -その1
では、Windowsに標準で組み込まれている読上げの声で、Harukaの声以外を使って読上げる方法
Excel VBA(マクロ)でセルの内容を声を変えて読上げ -その2
では、読上げ内容を音声ファイルに保存する方法
について、紹介しました。
今回は、軽く「その1」で紹介しました、スピード、ピッチ(声の音程)、更には、強調の指示を記述します。
スピード、ピッチ(声の音程)、強調の指示
(1)スピード指示には、2つの記述方法と2つの使い方があります。
1- SpVoiceのRate指示
sapi = CreateObject("SAPI.SpVoice")
sapi.Rate = 5
sapi.Speak ActiveCell
これで、スピードが+5 されます。
2- XMLタグを付けて指示(その1で紹介した方法)
sapi = CreateObject("SAPI.SpVoice")
sapi.Speak "<Rate speed=5>" & ActiveCell & "</Rate>"
同じように、スピードが+5 されます。
この書式は、W3Cという団体の規格に準じたものです。
3- 以後のスピードを設定してしまう
上記の2-は、"<Rate speed=""> </Rate>"で挟まれた内容にだけ有効です。
1-と同じように切り替える指示もあります。
sapi = CreateObject("SAPI.SpVoice")
sapi.Speak "<Rate speed=5/>" & ActiveCell
以降のスピードは+5 に設定されます。
(「/」の位置です。)
(2)ピッチ(声の音程)は、1種類
sapi = CreateObject("SAPI.SpVoice")
sapi.Speak "<Pitch middle=-4>" & ActiveCell & "</Pitch>"
4ポイント低い音程の声になります。
*なぜ、middleなのか?
W3C規格では、声を5つに分けて設定できるようになっています。
ExtraHigh,High, Middle, Low, ExtraLowが規定されていますが、この中のMiddleだけをSpeech APIは使います。
(3)強調
語気を強めるということです。
sapi = CreateObject("SAPI.SpVoice")
sapi.Speak "<Emph>" & ActiveCell & "</Emph>"
Windowsに組み込まれている声での、語気強調はあまり強くありません。