フォーラム


ゲスト  

ようこそ ゲスト さん。このフォーラムに投稿するには 登録が必要です。

ページ: [1]
トピック: 音声合成でしゃべらす (SAPI 5.x)
DEKO
管理者
投稿数: 2644
音声合成でしゃべらす (SAPI 5.x)
on: 2013/04/09 13:28 Tue

SAPI 5.x のインストール

まずは、SAPI (Speech Application Programming Interface) を確認する必要があります。

  • SAPI 5.0 (Office XP)
  • SAPI 5.1 (Windows XP)
  • SAPI 5.3 (Windows Vista)
  • SAPI 5.4 (Windows 7)

Windows XP の場合には Speech SDK 5.1 をインストールする必要があります。

[Speech SDK 5.1 (Microsoft)]
http://www.microsoft.com/en-us/download/details.aspx?id=10121

  • SpeechSDK51.exe
  • SpeechSDK51LangPack.exe

上記のインストールが必要です。

Microsoft Speech Platform

Vista 以降では音声合成エンジンが Microsoft Speech Platform に変更されていますので、こちらを インストールする必要があります。
実際には、Haruka という日本語音声合成エンジンだけを SAPI から利用します。

[Microsoft Speech Platform - Runtime (Version 11)]
http://www.microsoft.com/en-us/download/details.aspx?id=27225

[Microsoft Speech Platform - Runtime Languages (Version 11)]
http://www.microsoft.com/en-us/download/details.aspx?id=27224
(MSSpeech_TTS_ja-JP_Haruka.msi をインストール)

Microsoft Speech Platform を SAPI 5.x で使う

IME と TSF の関係みたいなものです。ちょっとした小細工が必要です。

reg COPY "HKLM\SOFTWARE\Microsoft\Speech Server\v11.0\Voices\Tokens" HKLM\SOFTWARE\Microsoft\Speech\Voices\Tokens /s /f

 
コマンドラインから上記を実行します。

Delphi でタイプライブラリ (SpeechLib_TLB.pas) を取り込む

[コンポーネント | コンポーネントのインポート] で、"Microsoft Speech Object Library" を選択します。

Delphi でしゃべらす

後は至って簡単です。uses に SpeechLib_TLB を追加し、

  private
{ Private 宣言 }
Voice: TSpVoice;
...


procedure TForm1.FormCreate(Sender: TObject);
begin
Voice := TSpVoice.Create(nil);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Voice.Speak('<lang langid="411">' + Edit1.Text + '</lang>', SVSFDefault or SVSFlagsAsync);
end;

 
これだけ。Haruka ちゃんが喋ってくれます。TTS (Text-To-Speach) XML については以下を参照して下さい。

[XML TTS Tutorial (SAPI 5.3)]
http://msdn.microsoft.com/ja-jp/library/ms717077%28v=vs.85%29.aspx

DEKO
管理者
投稿数: 2644
Re: 音声合成でしゃべらす (SAPI 5.x)
on: 2013/04/09 13:54 Tue

See Also:

[Speech Synthesis & Speech Recognition Using SAPI 5.1]
http://www.blong.com/Conferences/DCon2002/Speech/SAPI51/SAPI51.htm

↑の EDN 記事が↓

[Speech Synthesis & Speech Recognition: Using SAPI 5.1]
http://edn.embarcadero.com/article/29583

[SAPI 5.1 sample programs & support packages for Delphi]
http://cc.embarcadero.com/Item/19511
(Delphi 6 / 7 用の SpeechLib_TLB.pas あり)

Delphi で日本語の記事となるとネタキリラボさんの記事がわかりやすいと思います。

[ネタキリラボ]
http://netakiri.net/labo/rcg_index.shtml

Microsoft Speech Platform の簡単インストーラは以下のサイトにあります。

[Microsoft Speech Platform 簡単インストーラー Ver.2.2 (まほろば)]
http://mahoro-ba.net/e1542.html

DEKO
管理者
投稿数: 2644
Re: 音声合成でしゃべらす (SAPI 5.x)
on: 2013/04/09 13:59 Tue

Microsoft Speech Platform が Vista 以降でしかサポートされないことを考えると、現状では SAPI 5.x で動作させるのがベターかと思います。
XP のサポート期限がもうじき切れますが、それでも XP を使い続けるヒトは多いでしょうし。

DEKO
管理者
投稿数: 2644
Re: 音声合成でしゃべらす (SAPI 5.x)
on: 2013/04/09 14:14 Tue

SAPI 4.x について

SAPI 4.x は、いわゆる MS-Agent です。TEAD (テキストエディタ) 用に作った MS-Agent DLL がありますので、必要な方はどうぞ。

[AgentEx ver1.21]
http://ht-deko.minim.ne.jp/software/agex_121.lzh

ページ: [1]
WP Forum Server by ForumPress | LucidCrew
バージョン: 1.7.5 ; ページロード: 0.034 sec.