翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
レキシコンのアップロード
使用するレキシコンは、Pronunciation Lexicon Specification (PLS) の W3C 推奨事項に準拠している必要があります。詳細については、W3C ウェブサイトの「Pronunciation Lexicon Specification (PLS) バージョン 1.0
- Console - Lexicons tab
-
発音レキシコンを使用するには、最初にアップロードする必要があります。コンソールにはレキシコンをアップロードできる場所が 2 つあります。[Text-to-Speech] タブ、および [Lexicons] タブです。
以下のプロセスでは、選択した言語で一般的でない語句がどのように発音されるかをカスタマイズするのに使用できるレキシコンを追加する方法を説明します。
レキシコンを [Lexicons] タブから追加するには
AWS Management Console にサインインして、Amazon Polly コンソール (https://console.aws.amazon.com/polly/
) を開きます。 -
[Lexicons] タブを選択します。
-
[Upload lexicon] (レキシコンのアップロード) を選択します。
-
レキシコンの名前を入力し、[Choose a lexicon file] (レキシコンファイルの選択) を使用して、アップロードするレキシコンを見つけます。アップロードできるのは、.pls または.xml 拡張子を持つ PLS ファイルのみです。
-
[Upload lexicon] (レキシコンのアップロード) を選択します。同じ名前でレキシコンが (.pls または .xml ファイルにかかわりなく) 既に存在する場合、レキシコンをアップロードすると既存のレキシコンは上書きされます。
- Console - TTS tab
-
レキシコンを [テキスト読み上げ機能] タブから追加するには
AWS Management Console にサインインして、Amazon Polly コンソール (https://console.aws.amazon.com/polly/
) を開きます。 -
[Text-to-Speech (テキスト読み上げ機能)] タブを選択します。
-
[Additional settings] (詳細設定) を展開し、[Customize pronunciation] (発音のカスタマイズ) を有効にしてから、[Upload lexicon] (レキシコンのアップロード) を選択します。
-
レキシコンの名前を入力し、[Choose a lexicon file] (レキシコンファイルの選択) を使用して、アップロードするレキシコンを見つけます。.pls および .xml 拡張子を持つ PLS ファイルのみ使用できます。
-
[Upload lexicon] (レキシコンのアップロード) を選択します。同じ名前のレキシコンが (.pls または .xml ファイルにかかわりなく) 既に存在する場合、レキシコンをアップロードすると既存のレキシコンは上書きされます。
- AWS CLI - one lexeme
-
Amazon Polly では、PutLexicon を使用してアカウントの特定の AWS リージョンに発音レキシコンを保存できます。次に、サービスがテキストを合成し始める前に適用する SynthesizeSpeech リクエストに保存した 1 つ以上のレキシコンを指定できます。詳細については、「レキシコンの管理」を参照してください。
次の W3C PLS 準拠のレキシコンについて考えます。
<?xml version="1.0" encoding="UTF-8"?> <lexicon version="1.0" xmlns="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet="ipa" xml:lang="en-US"> <lexeme> <grapheme>W3C</grapheme> <alias>World Wide Web Consortium</alias> </lexeme> </lexicon>
次の点に注意してください。
-
<lexicon>
要素で指定された 2 つの属性:-
xml:lang
属性は、レキシコンが適用される言語コードen-US
を指定します。Amazon Polly は、SynthesizeSpeech
コールで指定された音声が同じ言語コード (en-US) であれば、この例のレキシコンを使用できます。注記
音声に関連付けられている言語コードを探すため、
DescribeVoices
オペレーションを使用できます。 -
alphabet
属性はIPA
を指定します。つまり、国際音声記号 (IPA) のアルファベットが発音に使用されます。IPA は、発音を表記するためのアルファベットの 1 つです。Amazon Polly は、Extended Speech Assessment Methods Phonetic Alphabet (X-SAMPA) もサポートしています。
-
-
<lexeme>
要素は、<grapheme>
(単語のテキスト表記) と<alias>
の間のマッピングを説明します。
このレキシコンをテストするには、以下を実行します。
-
example.pls
という名前でレキシコンを保存します。 -
us-east-2 リージョンに (
w3c
の名前で) レキシコンを保存するためput-lexicon
AWS CLI コマンドを実行します。aws polly put-lexicon \ --name w3c \ --content file://example.pls
-
synthesize-speech
コマンドを実行してサンプルテキストを音声ストリーム (speech.mp3
) に合成し、オプションのlexicon-name
パラメーターを指定します。aws polly synthesize-speech \ --text 'W3C is a Consortium' \ --voice-id Joanna \ --output-format mp3 \ --lexicon-names="w3c" \ speech.mp3
-
結果の
speech.mp3
を再生し、テキスト内の W3C という単語が World Wide Web Consortium に置き換わっていることを確認します。
前の例のレキシコンでは、エイリアスを使用します。レキシコンで説明されている IPA のアルファベットは使用されません。以下のレキシコンでは、IPA のアルファベットで
<phoneme>
要素を使用して音声発音を指定します。<?xml version="1.0" encoding="UTF-8"?> <lexicon version="1.0" xmlns="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet="ipa" xml:lang="en-US"> <lexeme> <grapheme>pecan</grapheme> <phoneme>pɪˈkɑːn</phoneme> </lexeme> </lexicon>
このレキシコンをテストするため、同じ手順に従います。「pecan」という単語がある入力テキスト (「Pecan pie is delicious」など) を必ず指定します。
PutLexicon API オペレーションの追加コードサンプルについては、以下のリソースを参照してください。
-
Java サンプル: PutLexicon
-
Python (Boto3) サンプル: PutLexicon
-
- AWS CLI - multiple lexemes
-
Amazon Polly では、PutLexicon を使用してアカウントの特定の AWS リージョンに発音レキシコンを保存できます。次に、サービスがテキストを合成し始める前に適用する SynthesizeSpeech リクエストに保存した 1 つ以上のレキシコンを指定できます。詳細については、「レキシコンの管理」を参照してください。
この例では、レキシコンで指定する語彙素は合成の入力テキストのみに適用されます。次のレキシコンについて考えます。
<?xml version="1.0" encoding="UTF-8"?> <lexicon version="1.0" xmlns="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet="ipa" xml:lang="en-US"> <lexeme> <grapheme>W3C</grapheme> <alias>World Wide Web Consortium</alias> </lexeme> <lexeme> <grapheme>W3C</grapheme> <alias>WWW Consortium</alias> </lexeme> <lexeme> <grapheme>Consortium</grapheme> <alias>Community</alias> </lexeme> </lexicon>
レキシコンが 3 つの語彙素を指定し、そのうち 2 つは書記素 W3C のエイリアスを次のとおり定義します。
-
最初の
<lexeme
> 要素はエイリアス (World Wide Web Consortium) を定義します。 -
2 つめの
<lexeme>
は、代替エイリアス (WWW Consortium) を定義します。
Amazon Polly は、レキシコンにあるどの書記素にも最初の置き換えを使用します。
3 つめの
<lexeme>
は、Consortium という単語に対する置き換え (Community) を定義します。まず、このレキシコンをテストします。次のサンプルテキストを音声ファイル (
speech.mp3
) に合成する場合、SynthesizeSpeech
への呼び出しでレキシコンを指定します。The W3C is a Consortium
SynthesizeSpeech
は、まずレキシコンを次のように適用します。-
最初の語彙素では、W3C という単語は World Wide Web Consortium に変更されます。変更したテキストは次のように表示されます。
The World Wide Web Consortium is a Consortium
-
3 番目の語彙素で定義したエイリアスは、元のテキストの一部にある Consortium という単語にのみ適用され、以下のテキストの結果となります。
The World Wide Web Consortium is a Community.
AWS CLI を使用してこれを以下のようにテストできます。
example.pls
という名前でレキシコンを保存します。us-east-2 リージョンに w3c の名前でレキシコンを保存するため
put-lexicon
コマンドを実行します。aws polly put-lexicon \ --name w3c \ --content file://example.pls
w3c レキシコンは返されたレキシコンのリストにあることを確認するために、
list-lexicons
コマンドを実行します。aws polly list-lexicons
-
synthesize-speech
コマンドを実行してサンプルテキストを音声ファイル (speech.mp3
) に合成し、オプションのlexicon-name
パラメーターを指定します。aws polly synthesize-speech \ --text 'W3C is a Consortium' \ --voice-id Joanna \ --output-format mp3 \ --lexicon-names="w3c" \ speech.mp3
生成された
speech.mp3
ファイルを再生して、合成された音声がテキストの変更を反映していることを確認します。
PutLexicon API オペレーションの追加コードサンプルについては、以下のリソースを参照してください。
-
Java サンプル: PutLexicon
-
Python (Boto3) サンプル: PutLexicon
-