テキスト読み上げ(Amazon)
TsgcTextToSpeechAmazon は Amazon Polly で音声を合成します。AWS リクエストの署名は自動で行われ、エンジン、音声、出力形式はプロパティとして指定でき、生成された音声は割り当てたオーディオプレーヤーで再生されます。
TsgcTextToSpeechAmazon は Amazon Polly で音声を合成します。AWS リクエストの署名は自動で行われ、エンジン、音声、出力形式はプロパティとして指定でき、生成された音声は割り当てたオーディオプレーヤーで再生されます。
Amazon Polly をバックエンドとするコンポーネントです。AWS の認証情報とリージョンを入力し、エンジンと音声を選んで、メソッドを 1 つ呼び出すだけです。
sgcAI は単体で完結しています。このコンポーネントは、土台となる sgcWebSockets Core ランタイムとともに sgcAI に同梱されているため、基本ライセンスを購入する必要はありません。
AWS の認証情報とリージョンを設定し、エンジンと音声を選んで、オーディオプレーヤーを接続します。
uses
sgcAI, sgcAI_TextToSpeech_Amazon, sgcAI_AudioPlayer_MCI;
var
oTTS: TsgcTextToSpeechAmazon;
begin
oTTS := TsgcTextToSpeechAmazon.Create(nil);
oTTS.AudioPlayer := sgcAudioPlayerMCI1;
oTTS.AmazonOptions.AWSOptions.AccessKey := 'AKIA...';
oTTS.AmazonOptions.AWSOptions.SecretKey := '...';
oTTS.AmazonOptions.AWSOptions.Region := 'eu-west-1';
oTTS.AmazonOptions.Engine := 'neural';
oTTS.AmazonOptions.VoiceId := 'Joanna';
oTTS.AmazonOptions.OutputFormat := 'mp3';
oTTS.AmazonOptions.FileName := 'speech.mp3';
oTTS.TextToSpeech('The order has been shipped.');
end;
// includes: sgcAI.hpp, sgcAI_TextToSpeech_Amazon.hpp
TsgcTextToSpeechAmazon *oTTS = new TsgcTextToSpeechAmazon(NULL);
oTTS->AudioPlayer = sgcAudioPlayerMCI1;
oTTS->AmazonOptions->AWSOptions->AccessKey = "AKIA...";
oTTS->AmazonOptions->AWSOptions->SecretKey = "...";
oTTS->AmazonOptions->AWSOptions->Region = "eu-west-1";
oTTS->AmazonOptions->VoiceId = "Joanna";
oTTS->TextToSpeech("The order has been shipped.");
最もよく使うメンバーです。
AWSOptions はアクセスキー、シークレットキー、リージョンを保持します。Engine、VoiceId、OutputFormat、TextType、FileName が合成リクエストの内容を決めます。
リクエストは、他の Amazon コンポーネントと同じ AWS クライアントスタックによって AWS Signature Version 4 で署名されます。別途 SDK や CLI を用意する必要はありません。
TextType でプレーンテキストと SSML を切り替えます。読み上げ音声の間、強調、発音を制御できます。
AudioPlayer が Polly から返されたファイルを再生します。TsgcAudioPlayerMCI を割り当てれば、レスポンスが書き出され次第、再生が始まります。
Polly が音声ではなくエラードキュメントを返した場合、一時ファイルは削除され、サービスのエラーテキストを伴う例外が発生します。誤った音声 ID やリージョンは明確に失敗します。
システムおよび Google の音声コンポーネントと同じインターフェースなので、いずれもチャットボット、翻訳、アシスタントに割り当てられます。
このコンポーネントが利用するサービスとプロトコルの一次情報です。