1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Excel VBA(マクロ)でセルの内容を声を変えて読上げ -その3-スピード、ピッチ(声の音程)、強調の指示方法

Last updated at Posted at 2023-05-02

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に組み込まれている声での、語気強調はあまり強くありません。

その4 -シートに書いた内容で読上げする事例- へ続く

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?