Twilio に 新しい音声合成エンジンボイスを追加!- Amazon Polly 50種類

このたび、米国Twilio社は、Twilioの<Say>動詞にAmazon Pollyの25の言語、 50種類以上の音声合成エンジン用ボイスを追加したことを発表しました。Amazon PollyのSynthesizeSpeechをAPI経由で操作できます。これにより、テキストを発話させる音声にバリエーションが増えた上、音声の音量・声の抑揚・速度・発音方法も制御できるようになりました。

Text to Speech(TTS)は、音声合成エンジンとも呼ばれ、テキストを音声に変換します。事前に録音したメディアファイルを再生するのではなく音声を動的に生成することで、インタラクティブな音声アプリケーションを作成できるものです。 Progrmmable Voiceの<Say>動詞でも TTS を提供してきました。<Say>動詞に与えられたテキストをリアルタイムで音声データとして再生します。たとえば、次のTwiMLは、Hello Worldを英語で再生します。

<Response>
   <Say>Hello World!</Say>
</Response>

これまでの<Say>動詞では、3つのTTS用ボイスを使用できました。昨今 TTSの品質は大幅に改善されてきており、Amazon社はEcho、Alexa、Amazon PollyといったサービスでTTSの改良の最前線に立っています。今回、TwilioとPollyが連携したことにより、より高機能なTTSを提供できるようになりました。原文の記事では、Basic VoiceとAmazon Pollyの違いを紹介しています。(原文の記事はこちら)。

<Response>
   <Say>The coldest winter I ever spent was a summer in San Francisco!</Say>
</Response>

TwiMLによるTTSの制御

TwiMLの<Say>動詞の language属性とvoice属性を使い、読み上げられる音声を制御します。language属性で与えたテキストをどの言語で読み上げるかを、voice属性で使うTTSと音声の種類を選択します。たとえば、Amazon Pollyの「Emma」の声を英国英語で使用するには、次のTwiMLを使用します。

<Response>
   <Say voice="Polly.Emma" language="en-GB">Thanks for calling!</Say>
</Response>

PollyのAmyの声で同じフレーズを発話する場合は、voice属性を変更するだけです。

<Response>
   <Say voice="Polly.Amy" language="en-GB">Thanks for calling!</Say>
</Response>

このように、同じフレーズを電話の話者の属性や位置情報などによって音声を動的に変化させられるのです。そこまでの制御が必要ない場合は、管理コンソールで新しくなったTTSの設定ページから全体的な操作が可能です。

 

Twilio Console上でTTSの動作設定をする

TTSのプロバイダを選択する

以下のように数回クリックするだけで、デフォルトのTTSのプロバイダを従来のTwilio BasicからAmazon Pollyに変更できます。

Amazon Pollyに変更をすると、TwiMLのコードに音声とロケールが指定されていない場合、コンソールに表示されているロケールごとに指定されたAmazon Pollyの音声を使用するようにアカウントが再設定されます。
PollyをデフォルトのTTSのプロバイダとして設定することと合わせて、以下のような設定も可能です。

・アカウントのデフォルトの音声を選択する
・それぞれの声を聞いて、ロケールごとに適した音声を選択する

デフォルトの音声とロケールの変更

管理コンソールでは、使用する音声を制御することができます。例えば、フランス語ユーザー専用のアプリを作っているとします。アカウントのデフォルトロケールを変更するには、TTSのメニューに移動し、DEFAULT VOICEのリンクをクリックし、ロケールを選択します。

ロケールの変更が完了したら、次のTwiMLを発行してください。Celineの音声を使ってフランス語で音声を合成します。

<Response>
   <Say>
      Félicitations à l'équipe de France pour avoir remporté la coupe du monde 2018!
   </Say>
</Response>

管理コンソールで設定したデフォルトを反映したため、このTwiMLは以下と同義になります。

<Response>
   <Say voice=”Polly.Celine” language=”fr-FR”>
      Félicitations à l'équipe de France pour avoir remporté la coupe du monde 2018!
   </Say>
</Response>

音声を聞く

Amazon Pollyは多様な音声を揃えています。例えば、Pollyには米国英語(en-US)のみで8つの声があります。どの音声を使うか悩むことがあるかもしれません。その際は、管理コンソールでそれぞれの音声を試しに聞いて、適切なものを選ぶことができます。たとえば、Englishのデフォルトを変更するには、デフォルトプロバイダをAmazon Pollyに設定した後、Mappingの一覧表にあるEnglish(US)(en-US)をクリックします。

null

Twilio Studioで音声を使用する

GUI形式のコールフロー作成ツールである「Twilio Studio」を使えば、音声に関するコミュニケーションワークフローを作成することができます。Twilio Studioは、ドラック¥ドロップで簡単に電話、SMS、Facebook MessengerやLINEなど、お好きなコミュニケーションチャネルと連携し、コミュニケーションワークフローを構築できます。

SSMLを使用して、TTSをより自然に発話させる

SSML(音声合成マークアップ言語)は、音声の音量、声の抑揚や速度、発音を制御するための標準を規定しています。 Amazon PollyをTTSとして使用する場合、<Say>の要素内でSSMLを使用して音声を制御できます。例えば、<Say>の内部で<prosody>を使用した制御指示を行うと、音声のスピードを上げることができます。

<Response>
 <Say>
   <prosody rate="110%">
     Speech Synthesis Markup Language (SSML) is a W3C specification
     that allows developers to use XML-based markup language for 
     assisting the generation of synthesized speech .
   </prosody>
 </Say>
</Response>

SSMLを使用して単語の発音を指示することもできます。例えば、以下のTwiMLは、タグを使って「サンフランシスコ」を正しく発音させます。

<Response>
 <Say>
      <prosody rate="110%"
        The coldest winter I ever spent was a summer in 
        <phoneme alphabet=”ipa” ph="sæn frənˈsɪskoʊ">San Francisco!</phoneme>
      </prosody>
 </Say>
</Response>

Amazon PollyのSSMLについてはこちらをご覧ください。

価格

<Say>のAmazon Pollyは、100文字ごとに 0.12円で利用できます。自動ボリュームディスカウントも適用されます。

今後の展望

Twilioは引き続き、音声とSSML機能を追加し、開発者の皆様がTwilioで構築する際により高度なTTSの技術を利用できるよう努めて参ります。

Amazon Pollyは高度なディープラーニング技術を使用したサービスであるため、Pollyを使用すれば、優れた顧客体験を提供できるようになります。今後、Twilioの管理コンソール上で、Amazon Pollyがデフォルトの音声プロバイダになります。コンソール上で選択をすれば、基本プロバイダ(Basic Voice)に戻すことも可能です。さらに、音声の音質、声の抑揚などを制御できるAmazon Pollyの音声に付属のVocal Tract SSML Featureの追加を予定しています。詳細はこちらからご覧ください。

※本ブログは、Introducing 50+ additional Text-to-Speech voices with Amazon Polly Integrationの抄訳です。

この記事をシェア


すべての記事へ

Blog

Twilio に 新しい音声合成エンジンボイスを追加!- Amazon Polly 50種類

Blog

Twilio Studio 正式リリースのご案内

Blog

TwilioとLINEが連携 – 1つのAPIから複数のチャネルへのアクセスが可能に