3CX深層学習ベースの自然な音声生成

はじめに



多くの場合、事前に録音されておらず、データソースから動的に抽出された音声情報(人の名前、都市名、注文ステータスなど)を再生する必要があります。 この機能は、特にコールセンターとセルフサービスポータルで要求されます。



これを行うには、TTS(Text-to-Speech)テクノロジを使用するのが最適です。これは、必要なオーディオファイルを動的に作成し、3CXサーバーで実行されている音声アプリケーションが加入者に対して再生するためです 特定のWebサービスを使用してオーディオファイルを生成し、その後、ローカルWAVファイルを作成します。 サブスクライバーとの会話が完了すると、ファイルが削除されてディスク領域が解放されます。



この機能を使用するには、3CXのAmazon Web Servicesにアカウントを登録する必要があります。 3CXはAmazon Polly TTSウェブサービスを使用します。 さまざまなTTSサービスを検討した結果、Amazon Pollyには優れた世代品質、 優れた言語カバレッジ 、さまざまな音声 、非常に手頃な価格があることがわかりました。 また、最初の1年間は無料です! 一方、将来的には、他の世界のメーカーからのTTSのサポートを追加する予定です。



注意-TTS生成の操作には、3CX v15.5 SP2以降を使用する必要があります。



3CX Call Flow Designer開発環境は、新しいタイプのテキスト音声オーディオプロンプトオーディオメッセージを受け取りました。 コンポーネントのプロンプト再生、メニュー、ユーザー入力など、メッセージを再生する任意の場所で選択できます。



この記事では、アマゾンウェブサービスアカウントを作成し、Amazon Pollyを有効にし、Text to Speechオーディオプロンプトコンポーネントを使用して、コールセンターで自然なスピーチを生成する方法を示します。



3CX CFD開発環境は無料であることに注意してください。 ただし、音声アプリケーションは、ProおよびEnterpriseの3CXエディションでのみ動作します。 CFD はここからダウンロードできます。



便宜上、この音声アプリケーションのデモプロジェクトは3CX CFD配布キットに付属しており、Documents \ 3CX Call Flow Designer Demosフォルダーにあります。



Amazon Webサービスアカウント(AWS)を作成する



CFDアプリケーションの使用を開始する前に、Amazon Web Servicesアカウントを作成します。 これを行うには Amazon チュートリアルをご覧ください



IDおよびアクセス管理(IAM)サービスユーザーの作成



AWSアカウントを作成したら、音声アプリケーションがAWSへのアクセスに使用する資格情報を持つユーザーを作成します。 Amazonのチュートリアルに従ってください 。 アクセスの種類をプログラムによるアクセスを指定します。 アクセス許可を設定するときは、[既存のポリシーを直接添付する]を選択し、AmazonPollyFullAccessを見つけて確認します。







次に、[セキュリティ資格情報]セクションのユーザー設定に移動し、[アクセスキーの作成]をクリックします。 アクセスキーIDとシークレットアクセスキーを修正します-このデータは、音声アプリケーションでTTSサービスをセットアップするときに必要になります。







注意! TTS Amazon Pollyの制限を確認してください。 これらの制限は、ほとんどのCFDアプリケーションでは問題になりませんが、注意してください。



プロジェクト作成



CFDプロジェクトを作成するには、[ファイル]→[新規]→[プロジェクト]に移動し、プロジェクトの場所フォルダーとその名前(TextToSpeechDemoなど)を指定します。







Project Explorerセクションでプロジェクトを強調表示します。 TTSが機能するために指定する必要があるプロジェクトパラメーター(プロパティセクション)を検討します。





これらのパラメーターは、このプロジェクトの「音声から音声への音声プロンプト」タイプのメッセージで使用されます。



プロンプト再生コンポーネントの追加



前述のように、TTSは通常、データベースまたはWebサービスから受信したテキストから音声を生成するために使用されます。 しかし、例を簡単にするために、短いフレーズを準備し、音声アプリケーションから変数を追加して、すべてを音声に変換します。 AccountBalance変数を定義し、その値を100に設定します。次に、「アカウントの残高は100ドルです」というフレーズを準備します。







プロンプト再生コンポーネントを追加するには:



  1. プロンプト再生コンポーネントをアプリケーション開発ウィンドウ(メインコールフロー)に移動します。 コンポーネントを選択し、プロパティセクションで名前をplayPromptに変更します。

  2. そこで、Promptsプロパティの横にあるボタンをクリックして、プロンプトコレクションエディターを開きます。

  3. [追加]をクリックして、新しいメッセージをコレクションに追加し、メッセージタイプを[テキストから音声へのオーディオプロンプト]に変更します。

  4. 使用する音声を選択します。 投票のリストは言語でソートされています。 Amazon Pollyで利用できる音声はここにリストされています 。 Amazonがリストにない新しい音声をリリースした場合、名前/ ID列から識別子を指定することで使用を開始できます。 デフォルトで特定の音声を常にアプリケーションにインストールする場合は、メニュー3CX CFDツール>オプション>コンポーネントテンプレート>テキストから音声に選択します。 この例では、ジョアンナの声(英語-米国、女性)を使用します。

  5. テキストタイプを選択します:テキストとSSML(音声合成マークアップ言語)。 通常、テキストを使用します。 同時に、Textプロパティの値は通常の文字セット(プレーンテキスト)であり、TTSサービスはそれをそのまま合成します。 SSMLタイプを指定した場合、Textプロパティの値はSSML仕様に従ってXMLファイルになります。 SSMLでは、発音、音量、速度などのさまざまな音声パラメータを設定できます。 詳細については、 SSMLの使用を参照してください。 この例では、タイプTextが使用されます。

  6. [テキスト]オプションの式を指定します。 前の手順で選択したテキストのタイプに応じて、式は、SSML仕様に従って、合成またはXMLデータのプレーンテキストを返す必要があります。 この例では、次の式を使用します。



CONCATENATE("Your account balance is $",callflow$.AccountBalance)
      
      





3CXサーバーでのアプリケーションのコンパイルとインストール



音声アプリケーションの準備ができました! これでコンパイルされ、3CXサーバーにダウンロードされます。 これを行うには:



  1. [ビルド]> [すべてビルド]に移動すると、CFDはPredictiveDialerDemo.tcxvoiceappファイルを作成します。

  2. [Call Queues]の下の3CX管理インターフェイスに移動します。 新しいコールキューを作成し、キューの名前と内線番号を指定してから、音声アプリケーションオプションを設定し、コンパイルされたファイルをダウンロードします。

  3. 変更をキューに保存します。 キューの内線番号を呼び出して、アプリケーションをテストします。 注意してください-アプリケーションへの最初の呼び出しで、TTS生成は数秒の遅延で実行できます。 これは認証プロセスが原因であり、1回だけ発生します。



おわりに



通常、合成音声では、ユーザーへの挨拶やメニューオプションなどのいくつかの静的メッセージと、口座残高などのいくつかの動的メッセージが使用されます。 Polly TTSサービスは、変更可能なデータにのみ使用することをお勧めします。これにより、繰り返されるフレーズの合成の追加コストを回避できます。 一方、すべてのフレーズは同じ声で発音される必要があります。 これを行うには、 Amazon Pollyコンソールを使用して静的フレーズ用の既製の音声ファイルを作成し、WAVファイルとして音声アプリケーションにロードするのが最適です。 動的な生成を繰り返す代わりに、これらのファイルを通常のオーディオファイルプロンプトメッセージで使用します。







Amazon Pollyコンソールで、言語、地域、目的の音声を選択し、目的のテキストを入力して、[MP3のダウンロード]をクリックします。 3CXはサウンド形式WAV、Mono、8.000 Hz、16ビットを使用することに注意してください。 したがって、ファイルをダウンロードした後、 ここに示すように、サポートされている形式に変換します



All Articles