IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社スクウェア・エニックスの特許一覧

特開2024-69156音声生成プログラム及び音声生成システム
<>
  • 特開-音声生成プログラム及び音声生成システム 図1
  • 特開-音声生成プログラム及び音声生成システム 図2
  • 特開-音声生成プログラム及び音声生成システム 図3
  • 特開-音声生成プログラム及び音声生成システム 図4
  • 特開-音声生成プログラム及び音声生成システム 図5
  • 特開-音声生成プログラム及び音声生成システム 図6
  • 特開-音声生成プログラム及び音声生成システム 図7
  • 特開-音声生成プログラム及び音声生成システム 図8
  • 特開-音声生成プログラム及び音声生成システム 図9
  • 特開-音声生成プログラム及び音声生成システム 図10
  • 特開-音声生成プログラム及び音声生成システム 図11
  • 特開-音声生成プログラム及び音声生成システム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024069156
(43)【公開日】2024-05-21
(54)【発明の名称】音声生成プログラム及び音声生成システム
(51)【国際特許分類】
   G10L 13/08 20130101AFI20240514BHJP
【FI】
G10L13/08 110Z
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023188581
(22)【出願日】2023-11-02
(31)【優先権主張番号】P 2022179503
(32)【優先日】2022-11-09
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】308033283
【氏名又は名称】株式会社スクウェア・エニックス
(74)【代理人】
【識別番号】100188662
【弁理士】
【氏名又は名称】浅見 浩二
(74)【代理人】
【識別番号】100177895
【弁理士】
【氏名又は名称】山田 一範
(72)【発明者】
【氏名】坂田 新平
(72)【発明者】
【氏名】森 友亮
(57)【要約】
【課題】開発者の作業負担の増加を抑えつつ架空言語としての音声を生成する。
【解決手段】所定言語のテキストから音声特徴量に変換することについて予め学習が行われた学習済モデルに、所定言語とは異なる言語のテキストを入力することで、当該テキストから音声特徴量に変換し、変換した音声特徴量から音声を合成する。また、学習済モデルを用いて、入力したテキストのうち、所定言語に属する文字をトークンに変換し、所定言語に属さない文字を所定規則に従って数値に変換し、変換したトークン及び数値から音声特徴量に変換してもよい。
【選択図】図3
【特許請求の範囲】
【請求項1】
テキストから音声を生成する機能をサーバに実現させるための音声生成プログラムであって、
前記サーバに、
所定言語のテキストから音声特徴量に変換することについて予め学習が行われた学習済変換モデルに、前記所定言語とは異なる言語のテキストを入力することで、当該テキストから音声特徴量に変換する変換機能と、
変換された前記音声特徴量から音声を合成する合成機能とを
実現させるための音声生成プログラム。
【請求項2】
前記変換機能では、
前記学習済変換モデルを用いて、入力したテキストのうち、前記所定言語に属する文字をトークンに変換し、前記所定言語に属さない文字を所定規則に従って数値に変換し、
前記トークン及び前記数値から前記音声特徴量に変換する機能を
実現させるための請求項1記載の音声生成プログラム。
【請求項3】
前記サーバに、所定の記憶領域に登録された語(以下、「予約語」という。)と、音声または音声の特定方法とが対応付けされた予約語情報を記憶する記憶手段を参照し、前記所定言語とは異なる言語のテキストにおける予約語を特定する特定機能を実現させ、
前記合成機能では、前記音声特徴量から合成される音声のうち前記予約語に対応する部分を、当該予約語に対応する音声に変更する機能を
実現させるための請求項1又は請求項2記載の音声生成プログラム。
【請求項4】
通信ネットワークと、サーバと、ユーザ端末とを備え、テキストから音声を生成する処理を行うための音声生成システムであって、
所定言語のテキストから音声特徴量に変換することについて予め学習が行われた学習済変換モデルに、前記所定言語とは異なる言語のテキストを入力することで、当該テキストから音声特徴量に変換する変換手段と、
変換された前記音声特徴量から音声を合成する合成手段と
を含む音声生成システム。
【請求項5】
テキストから音声を生成する機能をユーザ端末に実現させるための音声生成プログラムであって、
前記ユーザ端末に、
所定言語のテキストから音声特徴量に変換することについて予め学習が行われた学習済変換モデルに、前記所定言語とは異なる言語のテキストを入力することで、当該テキストから音声特徴量に変換する変換機能と、
変換された前記音声特徴量から音声を合成する合成機能とを
実現させるための音声生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態の少なくとも1つは、テキストから音声を生成する機能を実現させるための音声生成プログラム及び音声生成システムに関する。
【背景技術】
【0002】
従来、ビデオゲームや映像作品等において、キャラクタ等が架空言語の言葉を音声で話すように制御することが行われてきた。ここで、キャラクタに架空言語の言葉を話させる手段のひとつとして、実在する言語のテキストから架空言語としての音声を生成するものがある。
【0003】
例えば、特許文献1には、実在する言語の変換前文字列と架空言語の変換後文字列とを対応付けた辞書データを参照し、実在する言語のテキストを所定の文字列毎に変換する処理を実行することで架空言語のテキストを生成し、当該テキストを音声として出力する構成が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2018-206191号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、特許文献1記載の構成では、音声に変換される対象のテキストに含まれる可能性がある文字列すべてに対して架空言語の変換後文字列を対応付けた辞書データを用意する必要がある。そのため、音声に変換される対象のテキストに含まれる可能性がある文字列の種類が増えるに従って辞書データを用意する開発者の作業負担が大きくなってしまうという問題があった。
【0006】
本発明の少なくとも1つの実施形態の目的は、開発者の作業負担の増加を抑えつつ架空言語としての音声を生成することが可能な音声生成プログラム及び音声生成システムを提供することである。
【課題を解決するための手段】
【0007】
非限定的な観点によると、本発明の一実施形態に係る音声生成プログラムは、テキストから音声を生成する機能をサーバに実現させるための音声生成プログラムであって、前記サーバに、所定言語のテキストから音声特徴量に変換することについて予め学習が行われた学習済変換モデルに、前記所定言語とは異なる言語のテキストを入力することで、当該テキストから音声特徴量に変換する変換機能と、変換された前記音声特徴量から音声を合成する合成機能とを実現させるためのものである。
【0008】
非限定的な観点によると、本発明の一実施形態に係る音声生成システムは、通信ネットワークと、サーバと、ユーザ端末とを備え、テキストから音声を生成する処理を行うための音声生成システムであって、所定言語のテキストから音声特徴量に変換することについて予め学習が行われた学習済変換モデルに、前記所定言語とは異なる言語のテキストを入力することで、当該テキストから音声特徴量に変換する変換手段と、変換された前記音声特徴量から音声を合成する合成手段とを含むことを特徴とする。
【0009】
非限定的な観点によると、本発明の一実施形態に係る音声生成プログラムは、テキストから音声を生成する機能をユーザ端末に実現させるための音声生成プログラムであって、前記ユーザ端末に、所定言語のテキストから音声特徴量に変換することについて予め学習が行われた学習済変換モデルに、前記所定言語とは異なる言語のテキストを入力することで、当該テキストから音声特徴量に変換する変換機能と、変換された前記音声特徴量から音声を合成する合成機能とを実現させるためのものである。
【発明の効果】
【0010】
本願の各実施形態により1または2以上の不足が解決される。
【図面の簡単な説明】
【0011】
図1】本発明の実施形態の少なくとも一つに対応する音声生成システムの構成の例を示すブロック図である。
図2】本発明の実施形態の少なくとも一つに対応するサーバの構成を示すブロック図である。
図3】本発明の実施形態の少なくとも一つに対応する音声生成処理の例を示すフローチャートである。
図4】本発明の実施形態の少なくとも一つに対応する音声生成処理におけるサーバ側の動作の例を示すフローチャートである。
図5】本発明の実施形態の少なくとも一つに対応する音声生成処理における端末側の動作の例を示すフローチャートである。
図6】本発明の実施形態の少なくとも一つに対応するサーバの構成を示すブロック図である。
図7】本発明の実施形態の少なくとも一つに対応する音声生成処理の例を示すフローチャートである。
図8】本発明の実施形態の少なくとも一つに対応するサーバの構成を示すブロック図である。
図9】本発明の実施形態の少なくとも一つに対応する音声生成処理の例を示すフローチャートである。
図10】本発明の実施形態の少なくとも一つに対応するサーバの構成を示すブロック図である。
図11】本発明の実施形態の少なくとも一つに対応する音声生成処理の例を示すフローチャートである。
図12】本発明の実施形態の少なくとも一つに対応する情報の格納状態の例について説明するための説明図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態の例について図面を参照して説明する。なお、以下で説明する各実施形態の例における各種構成要素は、矛盾等が生じない範囲で適宜組み合わせ可能である。また、ある実施形態の例として説明した内容については、他の実施形態においてその説明を省略している場合がある。また、各実施形態の特徴部分に関係しない動作や処理については、その内容を省略している場合がある。さらに、以下で説明する各種フローを構成する各種処理の順序は、処理内容に矛盾等が生じない範囲で順不同である。
【0013】
[第1の実施形態]
図1は、本発明の実施形態の少なくとも一つに対応する音声生成システム100の構成の例を示すブロック図である。図1に示すように、音声生成システム100は、音声生成サーバ10(サーバ10)と、音声生成システム100のユーザが使用するユーザ端末20,201~20N(Nは任意の整数)とを含む。なお、音声生成システム100の構成はこれに限定されず、単一のユーザ端末を複数のユーザが使用する構成としてもよいし、複数のサーバを備える構成としてもよい。
【0014】
サーバ10と複数のユーザ端末20,201~20Nは、それぞれインターネットなどの通信ネットワーク30に接続されている。なお、図示しないが、複数のユーザ端末20,201~20Nは、通信業者によって管理される基地局と無線通信回線によるデータ通信を行うことによって、通信ネットワーク30と接続する。
【0015】
音声生成システム100は、サーバ10と複数のユーザ端末20,201~20Nとを備えることにより、各種処理を実行するための各種機能を実現する。
【0016】
サーバ10は、音声生成システム100の管理者によって管理され、複数のユーザ端末20,201~20Nに対して各種処理に関する情報を提供するための各種機能を有する。本例において、サーバ10は、WWWサーバなどの情報処理装置によって構成され、各種情報を格納する記憶媒体を備える。サーバ10の構成は、制御部や通信部などコンピュータとして各種処理を行うための一般的な構成を備えていれば特に限定されない。以下、サーバ10のハードウェア構成の例について簡単に説明する。
【0017】
図1に示すように、サーバ10は、CPU(Central Processing Unit)101と、メモリ102と、記憶装置103とを少なくとも備える。
【0018】
CPU101は、各種の演算および制御を行う中央処理装置である。また、サーバ10がGPU(Graphics Processing Unit)を備える場合には、各種の演算および制御の一部をGPUによって行うようにしてもよい。サーバ10は、適宜メモリ102に読み出したデータを用いて音声生成に必要な各種の情報処理をCPU101にて実行し、得られた処理結果を必要に応じて記憶装置103に記憶させる。
【0019】
記憶装置103は、各種情報を格納する記憶媒体としての機能を有する。記憶装置103の構成は特に限定されないが、複数のユーザ端末20,201~20Nそれぞれにかかる処理負荷を軽減させるといった観点から、音声生成に必要な各種情報を全て記憶可能な構成であることが好ましい。このような例には、HDDやSSDがある。ただし、各種情報を記憶する記憶部は、サーバ10がアクセス可能な状態で記憶領域を備えていればよく、例えば専用の記憶領域をサーバ10の外部に有する構成とされていてもよい。
【0020】
図2は、本発明の実施形態の少なくとも一つに対応する音声生成サーバ10の例である音声生成サーバ10A(サーバ10A)の構成を示すブロック図である。図2に示すように、サーバ10Aは、変換部11と、合成部12とを少なくとも備える。
【0021】
変換部11は、所定言語のテキストから音声特徴量に変換することについて予め学習が行われた学習済変換モデルに、所定言語とは異なる言語のテキストを入力することで、当該テキストから音声特徴量に変換する機能を有する。
【0022】
ここで、言語は、自然言語であれば特に限定されない。言語の例には、英語や日本語、中国語がある。
【0023】
また、音声特徴量とは、音声の物理的な特徴を表す量を意味する。音声特徴量は、音声を合成する処理に利用できるものであれば特に限定されない。音声特徴量の例には、振幅スペクトログラムやメルスペクトログラムがある。
【0024】
また、学習済変換モデルは、所定言語のテキストの内容を発音する音声を合成する処理に利用できる音声特徴量にそのテキストから変換することについて予め学習が行われたものであれば特に限定されない。学習済変換モデルの例には、所定言語のテキストからテキスト特徴量を抽出することについて予め学習が行われたモデルと、抽出されたテキスト特徴量から音声特徴量に変換することについて予め学習が行われたモデルとを含むものがある。なお、テキスト特徴量の例には、音素やアクセント、モーラ位置、テキストが発音される場合の時間位置がある。また、学習済変換モデルの他の例には、テキスト特徴量の抽出を行わずに所定言語のテキストから音声特徴量に直接変換するものがある。学習済変換モデルでは、例えば、ニューラルネットワークが用いられる。
【0025】
本例において、学習済変換モデルについて行われた学習は、所定言語についての文字や文法、発音といった所定言語に特有の要素に基づいて行われたものである。そのため、学習済変換モデルを用いて所定言語のテキストが音声特徴量に変換された場合、その音声特徴量から合成される音声は、そのテキストを発音する所定言語としての音声となる。一方、習済変換モデルを用いて所定言語とは異なる言語のテキストが音声特徴量に変換された場合、その音声特徴量から合成される音声は、そのテキストを所定言語とは異なる言語として発音する音声とはならない。すなわち、例えば、英語に対応する学習済変換モデル(英語モデル)に対して日本語のテキストを入力した場合、合成される音声は、日本語としての音声にはならない。英語に対応する学習済変換モデルが、英語の音声に関する要素に基づいてテキストを音声特徴量に変換するためである。すなわち、英語に対応する学習済変換モデルに日本語のテキストが入力された場合でも、そのテキストに基づいて合成される音声は、英語の音声に関する要素が反映されるためである。また、このようにして合成される音声は、英語として聞き取れる音声にもならないため、現実には存在しない架空の言語としての音声であるかのようにユーザに聞こえる音声と評価できる。以下、所定言語とは異なる言語のテキストが学習済変換モデルに入力されたことに基づいて合成された音声を「架空言語としての音声」と称する場合がある。
【0026】
また、所定言語とは異なる言語は、互いに異なる言語であることを認識できるものであれば特に限定されない。所定言語とは異なる言語の例には、所定言語が英語である場合の日本語や中国語、フランス語、イタリア語がある。
【0027】
合成部12は、変換された音声特徴量から音声を合成する機能を有する。
【0028】
ここで、音声特徴量から音声を合成するための構成は、既知の技術により実現されるため、詳細の説明は省略する。
【0029】
複数のユーザ端末20,201~20Nは、それぞれ、ユーザによって管理され、例えば携帯電話端末やPDA(Personal Digital Assistants)によって構成される。なお、音声生成システム100が含み得るユーザ端末の構成は上述した例に限定されず、ユーザが音声を認識し得る構成であればよい。ユーザ端末の構成の他の例には、各種通信端末を組み合わせたものやパーソナルコンピュータがある。
【0030】
また、複数のユーザ端末20,201~20Nは、それぞれ、通信ネットワーク30に接続し、サーバ10との通信を行うことにより各種処理を実行するためのハードウェア(例えば、音声の生成結果画面を表示する表示装置など)およびソフトウェアを備える。なお、複数のユーザ端末20,201~20Nそれぞれは、サーバ10Aを介さずに互いに直接通信を行うこともできる構成とされていてもよい。
【0031】
次に、本例の音声生成システム100(システム100)の動作について説明する。
【0032】
図3は、本発明の実施形態の少なくとも一つに対応する音声生成処理の例を示すフローチャートである。本例における音声生成処理では、テキストから音声を生成すること関連する処理が行われる。以下、サーバ10Aとユーザ端末20(端末20)とが、音声生成処理を実行する場合を例にして説明する。
【0033】
音声生成処理は、例えばサーバ10Aがユーザからの音声生成要求を受け付けたことを契機に開始される。
【0034】
サーバ10Aは、音声生成処理において、先ず、所定言語のテキストから音声特徴量に変換することについて予め学習が行われた学習済変換モデルに、所定言語とは異なる言語のテキストを入力することで、そのテキストから音声特徴量に変換する(ステップS11)。本例においてサーバ10Aは、英語のテキストから音声特徴量に変換することについて予め学習が行われた学習済変換モデルに、日本語のテキストを入力することで、その日本語のテキストからメルスペクトログラムに変換する。
【0035】
サーバ10Aは、テキストから音声特徴量に変換すると、その音声特徴量から音声を合成する(ステップS12)。本例においてサーバ10Aは、メルスペクトログラムから音声を合成する。また、本例においてサーバ10Aは、合成した音声を出力させるための音声情報を端末20に送信する。
【0036】
端末20は、サーバ10Aから音声情報を受信すると、所定の出力手段を用いて音声を出力する(ステップS13)。本例において端末20は、自身が備えるスピーカを用いて音声を出力する。
【0037】
図4は、本発明の実施形態の少なくとも一つに対応する音声生成処理におけるサーバ側の動作の例を示すフローチャートである。ここでは、音声生成システム100におけるサーバ10Aの動作について改めて説明する。
【0038】
サーバ10Aは、音声生成処理において、先ず、所定言語のテキストから音声特徴量に変換することについて予め学習が行われた学習済変換モデルに、所定言語とは異なる言語のテキストを入力することで、そのテキストから音声特徴量に変換し(ステップS101)、その音声特徴量から音声を合成し(ステップS102)、音声を出力するために必要な情報を送信し(ステップS103)、ここでの処理を終了する。
【0039】
図5は、本発明の実施形態の少なくとも一つに対応する音声生成処理における端末側の動作の例を示すフローチャートである。以下、端末20が、単体で音声生成処理を実行する場合を例にして説明する。なお、端末20の構成については、サーバ10Aから各種情報を受信することを除きサーバ10Aの構成と同様の機能を備えるものであるため、重複説明を避ける観点から記載を省略する。
【0040】
端末20は、音声生成処理において、先ず、所定言語のテキストから音声特徴量に変換することについて予め学習が行われた学習済変換モデルに、所定言語とは異なる言語のテキストを入力することで、そのテキストから音声特徴量に変換し(ステップS201)、その音声特徴量から音声を合成し(ステップS202)、合成した音声を出力し(ステップS203)、ここでの処理を終了する。
【0041】
以上に説明したように、第1の実施形態の一側面として、テキストから音声を生成するサーバ10Aが、変換部11と、合成部12とを備える構成としているので、所定言語のテキストから音声特徴量に変換することについて予め学習が行われた学習済変換モデルに、所定言語とは異なる言語のテキストを入力することで、そのテキストから音声特徴量に変換し、変換された音声特徴量から音声を合成し、開発者の作業負担の増加を抑えつつ架空言語としての音声を生成することができるようになる。
【0042】
すなわち、学習済変換モデルに対応する所定言語とは異なる言語のテキストから合成される音声は、そのテキストを所定言語とは異なる言語として発音する音声とはならず、所定言語として聞き取れる音声でもないため、現実には存在しない架空の言語としての音声であるかのようにユーザに聞こえる音声と評価できる。また、テキストから音声を生成するために架空言語用の辞書を必要としないため、架空言語音声を生成するためのテキストに含まれる可能性がある文字列の種類に応じた架空言語の文字列を用意する必要が無いので、従来に比べて架空言語音声を生成するための作業負担を抑えることができる。
【0043】
[第2の実施形態]
図6は、本発明の実施形態の少なくとも一つに対応する音声生成サーバ10の例である音声生成サーバ10B(サーバ10B)の構成を示すブロック図である。本例において、サーバ10Bは、変換部11Bと、合成部12とを少なくとも備える。
【0044】
変換部11Bは、学習済変換モデルを用いて、入力したテキストのうち、所定言語に属する文字をトークンに変換し、所定言語に属さない文字を所定規則に従って数値に変換し、変換したトークン及び数値から音声特徴量に変換する機能を有する。
【0045】
ここで、所定言語に属する文字とは、所定言語として用いられる文字を意味する。所定言語に属する文字は特に限定されず、所定言語として用いられる文字単体でもよいし、所定言語として用いられる複数の文字が組み合わされたもの(単語)でもよい。所定言語に属する文字の例には、所定言語が英語である場合、英語に属するアルファベット文字(以下、「英字」という。)や英単語がある。
【0046】
また、トークンとは、自然言語のテキストを構成する基本単位としての要素を意味する。トークンの決め方は特に限定されず、所定言語に属する文字単体や単語がトークンとして扱われてもよいし、所定言語に属する音素がトークンとして扱われてもよい。
【0047】
また、所定言語に属する文字をトークンに変換するための構成は特に限定されず、所定言語に属する複数の文字を文字単位で分割してそれぞれをトークンとして扱う構成でもよいし、所定言語に属する文字を少なくとも1つの音素に変換し、変換した音素単体をトークンとして扱う構成でもよい。
【0048】
また、所定言語に属さない文字とは、所定言語として用いられない文字を意味する。所定言語に属さない文字は特に限定されず、所定言語として用いられない文字単体でもよいし、所定言語として用いられない文字を含む複数の文字が組み合わされたもの(単語)でもよい。所定言語に属さない文字の例には、所定言語が英語である場合、日本語の平仮名や片仮名、漢字、日本語の単語がある。
【0049】
また、所定言語に属さない文字を所定規則に従って数値に変換するとは、音声特徴量に変換する処理を実行するための所定の情報形式に則した数値に、所定言語に属さない文字を変換することを意味する。所定規則は特に限定されず、所定言語に属さない文字を所定言語に属する文字に対応する数値に変換するものでもよいし、所定言語に属さない文字に対応する数値に変換する構成でもよい。所定規則の例には、日本語に属する文字から英語に属する文字コードに変換するものがある。なお、変換後の文字コードを特定するための構成の例には、変換前の文字に読みが近い英字に対応する文字コードを特定する構成や、英字に対応する文字コードをランダムに特定する構成がある。所定規則の他の例には、日本語の文字と、数値とが対応付けされた情報を記憶する記憶手段を参照し、日本語に属する文字をその文字に対応する数値に変換するものがある。
【0050】
また、トークン及び数値から音声特徴量に変換するための構成は、所定言語に属さない文字から変換された数値から何らかの音声特徴量に変換する構成であれば特に限定されない。このような構成の例には、トークンから変換された数値および所定言語に属さない文字から変換された数値を、学習済変換モデルで用いられるニューラルネットワークの入力形式に合わせるために、所定次元のベクトルにさらに変換し、そのベクトルをニューラルネットワークに入力して音声特徴量に変換する構成がある。
【0051】
図7は、本発明の実施形態の少なくとも一つに対応する音声生成処理の例を示すフローチャートである。以下、サーバ10Bと、端末20の動作を例にして説明する。なお、サーバ10Bと端末20それぞれの動作を示すフローチャートについては、重複説明を避ける観点から記載を省略する。
【0052】
音声生成処理は、例えばサーバ10Bがユーザからの音声生成要求を受け付けたことを契機に開始される。
【0053】
サーバ10Bは、音声生成処理において、先ず、学習済変換モデルを用いて、入力したテキストのうち、所定言語に属する文字をトークンに変換する(ステップS2-11)。本例においてサーバ10Bは、入力した日本語のテキストに英字が含まれている場合は、その英字を英語に属する音素に変換してその音素をトークンとして扱う。
【0054】
サーバ10Bは、所定言語に属する文字をトークンに変換すると、所定言語に属さない文字を所定規則に従って数値に変換する(ステップS2-12)。本例においてサーバ10Bは、日本語に属する文字を英語に属する文字コードに変換する。
【0055】
サーバ10Bは、所定言語に属さない文字を所定規則に従って数値に変換すると、変換したトークン及び数値から音声特徴量に変換する(ステップS2-13)。本例においてサーバ10Bは、トークンを数値に変換し、数値を所定次元のベクトルにさらに変換し、少なくとも1つのニューラルネットワークを用いて所定次元のベクトルからメルスペクトログラムに変換する。
【0056】
以上に説明したように、第2の実施形態の一側面として、テキストから音声を生成するサーバ10Bが、変換部11Bと、合成部12とを備える構成としているので、学習済変換モデルを用いて、入力したテキストのうち、所定言語に属する文字をトークンに変換し、所定言語に属さない文字を所定規則に従って数値に変換し、変換したトークン及び数値から音声特徴量に変換し、TTS(Text to Speech)で用いられる学習済モデルに所定言語に属さない文字が入力された場合の処理をその学習済モデルに追加で規定するだけで、学習済モデルに所定言語に属さない文字が入力されたとしてもエラーになったり所定言語に属さない文字が無視されたりすることなく、所定言語とは異なる言語のテキストが音声特徴量に変換されるようになる。このようにして、架空言語としての音声を生成することができるようになるため、架空言語の文字列を用意する作業を開発者が行わずに済むようになる。したがって、変換前のテキストに含まれる可能性がある文字列の種類が増加した分だけ変換後の文字列(架空言語の文字列)を用意する必要が無くなり、開発者に対する作業負担の増加を抑えることが可能となる。
【0057】
[第3の実施形態]
図8は、本発明の実施形態の少なくとも一つに対応する音声生成サーバ10の例である音声生成サーバ10C(サーバ10C)の構成を示すブロック図である。本例において、サーバ10Cは、変換部11と、合成部12Cと、特定部13とを少なくとも備える。
【0058】
特定部13は、所定の記憶領域に登録された語(以下、「予約語」という。)と、音声または音声の特定方法とが対応付けされた予約語情報を記憶する記憶手段を参照し、所定言語とは異なる言語のテキスト(以下、「異言語テキスト」という。)における予約語を特定する機能を有する。
【0059】
ここで、予約語は、開発者やユーザによって予め定められた文字または文字列に限定されない。予約語は、音声を生成するための材料であるため、文法上の意味や職能をもった最小の言語単位としての文字単体または文字列だけでなく、文法上の意味のない又は誤記と思われる文字や数字を含んでいてもよい。予約語の例には、ビデオゲームに登場する町の名前やキャラクタ名などの固有名詞がある。なお、予約語が属する言語は特に限定されず、所定言語とは異なる言語でもよいし、所定言語でもよい。
【0060】
また、所定の記憶領域に予約語を登録するための構成は特に限定されず、特定部13が参照可能な記憶領域に予約語が記憶される構成であればよい。このような構成の例には、サーバ10Cが備える記憶領域に対する予約語の登録要求を受け付ける構成がある。
【0061】
また、予約語情報に含まれる音声とは、合成部12Cによる音声の合成処理までに予め生成されている音声であって、予約語情報においてその音声自身に対応付けされた単語の音声を意味する。
【0062】
また、予約語情報に含まれる音声の特定方法とは、予約語の音声を合成することによりその音声を特定する方法を意味する。音声の特定方法は、予約語の音声を生成する方法であれば特に限定されない。音声の特定方法の例には、予約語が属する言語のテキストからその言語のテキストについての音声の物理的な特徴を表す音声特徴量に変換することについて予め学習が行われた学習済モデルを利用する方法がある。この学習済モデルは、予約語の音声を合成する材料となる音声特徴量を特定する方法であり、その音声特徴量から予約語の音声は合成されることができる。
【0063】
また、異言語テキストにおける予約語を特定するための構成は特に限定されず、異言語テキストにおける単語のうち予約語情報に含まれる予約語と同一の単語を特定する構成でもよいし、予約語情報に含まれる予約語のうち所定条件を満たすものと同一の単語を特定する構成でもよい。
【0064】
合成部12Cは、音声特徴量から合成される音声のうち予約語に対応する部分を、その予約語に対応する音声に変更する機能を有する。
【0065】
ここで、予約語に対応する部分とは、異言語テキストに基づいて合成される音声のうち、予約語に基づいて音声が合成される部分を意味する。予約語に対応する部分は、異言語テキストに基づいて合成される音声における他の部分と区別できる部分であれば特に限定されず、予約語に基づいて音声が生成された部分でもよいし、予約語に基づく音声が生成されていない部分でもよい。予約語に基づく音声が生成されていない部分を生成するための構成の例には、変換部11が、異言語テキストから音声特徴量に変換するときに予約語については音声特徴量に変換せずにブランク(音声データが存在しない状態)とする構成がある。合成部12Cが予約語に対応する部分を特定するための構成の例には、変換部11が、異言語テキストを音声特徴量に変換するときに予約語に対応する部分を特定可能な情報を生成する構成がある。
【0066】
また、予約語に対応する音声とは、予約語情報において予約語に対応付けされた音声または音声の特定方法により特定された音声を意味する。
【0067】
また、予約語に対応する部分をその予約語に対応する音声に変更するための構成は、その部分に予約語に対応する音声が存在する結果となる構成であれば特に限定されない。このような構成の例には、予約語に対応する部分にある音声を予約語に対応する音声に置き換える構成や、予約語に対応する部分に音声が存在しない場合に、その部分に予約語に対応する音声を挿入する構成がある。
【0068】
図9は、本発明の実施形態の少なくとも一つに対応する音声生成処理の例を示すフローチャートである。以下、サーバ10Cと、端末20の動作を例にして説明する。なお、サーバ10Cと端末20それぞれの動作を示すフローチャートについては、重複説明を避ける観点から記載を省略する。
【0069】
サーバ10Cは、音声生成処理において、先ず、予約語と、音声または音声の特定方法とが対応付けされた予約語情報を記憶する記憶手段を参照し、異言語テキストにおける予約語を特定する(ステップS3-11)。本例においてサーバ10Cは、異言語テキストにおける単語のうち予約語情報に含まれる予約語と同一の単語を特定する。
【0070】
サーバ10Cは、音声特徴量から音声を合成すると、音声特徴量から合成される音声のうち予約語に対応する部分を、予約語に対応する音声に変更する(ステップS3-12)。本例においてサーバ10Cは、予約語に対応する部分にある音声を予約語に対応する音声に置き換える。また、本例においてサーバ10Cは、合成した音声を出力させるための音声情報を端末20に送信する。
【0071】
以上に説明したように、第3の実施形態の一側面として、テキストから音声を生成するサーバ10Cが、変換部11と、合成部12Cと、特定部13とを備える構成としているので、予約語と、音声または音声の特定方法とが対応付けされた予約語情報を記憶する記憶手段を参照し、異言語テキストにおける予約語を特定し、音声特徴量から合成される音声のうち予約語に対応する部分を、当該予約語に対応する音声に変更し、架空言語としての音声の少なくとも一部をユーザに理解させることができるようになる。そのため、架空言語としての音声の内容を推測することをユーザに促すことができるようになる。
【0072】
[第4の実施形態]
図10は、本発明の実施形態の少なくとも一つに対応する音声生成サーバ10の例である音声生成サーバ10Z(サーバ10Z)の構成を示すブロック図である。本例において、サーバ10Zは、変換部11Zと、合成部12Zと、特定部13Zとを少なくとも備える。
【0073】
変換部11Zは、所定言語のテキストから音声特徴量に変換することについて予め学習が行われた学習済変換モデルに、所定言語とは異なる言語のテキスト(以下、「異言語テキスト」ともいう。)を入力することで、その異言語テキストから音声特徴量に変換する機能を有する。
【0074】
ここで、言語は、自然言語であれば特に限定されない。言語の例には、英語や日本語、中国語、フランス語、イタリア語がある。以下、所定言語(すなわち、学習済変換モデルに対応する言語)が英語である場合を例に説明する。
【0075】
また、音声特徴量とは、音声の物理的な特徴を表す量を意味する。音声特徴量の例には、メルスペクトログラムがある。
【0076】
また、学習済変換モデルは、所定言語のテキストから音声特徴量に変換することについて予め学習が行われたものであれば特に限定されない。以下、学習済変換モデルが、英語のテキストから音声特徴量に変換することについて予め学習が行われたモデルであって、Tacotron2を利用したものである場合を例に説明する。Tacotron2は、ニューラルネットワークを用いるモデルであって、テキスト特徴量の抽出を行わずにテキストから音声特徴量に直接変換するモデルである。
【0077】
なお、学習済変換モデルは、所定言語のテキストからテキスト特徴量を抽出することについて予め学習が行われたモデルと、抽出されたテキスト特徴量から音声特徴量に変換することについて予め学習が行われたモデルとを含むものでもよい。テキスト特徴量の例には、単語または文字についての音素やアクセント、モーラ位置、学習済変換モデルに入力されたテキストにおける時間位置がある。
【0078】
本例において、学習済変換モデルについて行われた学習は、所定言語についての文字や文法、発音といった所定言語に特有の要素に基づいて行われたものである。そのため、学習済変換モデルを用いて所定言語のテキストが音声特徴量に変換された場合、その音声特徴量から合成される音声は、そのテキストを発音する所定言語としての音声となる。一方、習済変換モデルを用いて所定言語とは異なる言語のテキストが音声特徴量に変換された場合、その音声特徴量から合成される音声は、そのテキストを所定言語とは異なる言語として発音する音声とはならない。すなわち、例えば、英語に対応する学習済変換モデルに対して日本語のテキストを入力した場合、合成される音声は、日本語としての音声にはならない。英語に対応する学習済変換モデルが、英語の音声に関する要素に基づいてテキストを音声特徴量に変換するためである。すなわち、英語に対応する学習済変換モデルに日本語のテキストが入力された場合でも、そのテキストに基づいて合成される音声は、英語の音声に関する要素が反映されるためである。また、このようにして合成される音声は、英語として聞き取れる音声にもならないため、現実には存在しない架空の言語としての音声であるかのようにユーザに聞こえる音声と評価できる。以下、所定言語とは異なる言語のテキストが学習済変換モデルに入力されたことに基づいて合成された音声を「架空言語としての音声」と称する場合がある。
【0079】
また、所定言語とは異なる言語は、互いに異なる言語であることを認識できるものであれば特に限定されない。所定言語とは異なる言語の例には、所定言語が英語である場合の日本語や中国語、フランス語、イタリア語がある。以下、所定言語とは異なる言語が日本語である場合を例に説明する。
【0080】
また、変換部11Zは、学習済変換モデルを用いて、入力したテキストのうち、所定言語に属する文字をトークンに変換し、所定言語に属さない文字を所定規則に従って数値に変換し、変換したトークン及び数値から音声特徴量に変換する機能を有する。
【0081】
ここで、所定言語に属する文字とは、所定言語として用いられる文字を意味する。以下、所定言語に属する文字が、英語に属するアルファベット文字(以下、「英字」ともいう。)である場合を例に説明する。
【0082】
また、トークンとは、自然言語のテキストを構成する基本単位としての要素を意味する。トークンの決め方は特に限定されず、所定言語に属する文字単体や単語がトークンとして扱われてもよいし、所定言語に属する音素がトークンとして扱われてもよい。以下、英字単体がトークンとして扱われる場合を例に説明する。
【0083】
また、所定言語に属する文字をトークンに変換するための構成は特に限定されず、所定言語に属する複数の文字を文字単位で分割してそれぞれをトークンとして扱う構成でもよいし、所定言語に属する文字を少なくとも1つの音素に変換し、変換した音素単体をトークンとして扱う構成でもよい。所定言語に属する文字をトークンに変換するための構成の例には、日本語のテキストの一部が英字である場合にその英字単体をトークンとして扱う構成や、所定言語が中国語であり所定言語とは異なる言語が日本語である場合に、入力された日本語のテキストのうち、中国語にも存在する漢字について漢字単位でトークンに変換する構成がある。
【0084】
また、所定言語に属さない文字とは、所定言語として用いられない文字を意味する。以下、所定言語に属さない文字が、英語に属さない平仮名や片仮名、漢字である場合を例に説明する。
【0085】
また、所定言語に属さない文字を所定規則に従って数値に変換するとは、音声特徴量に変換する処理を実行するための所定の情報形式に則した数値に、所定言語に属さない文字を変換することを意味する。以下、所定規則に従って、英語用トークナイザではトークナイズできない平仮名や片仮名、漢字(すなわち、英語用トークナイザにとってOut Of Vocabularyである文字)を、ASCIIの文字コードのうちランダムに選択される英字の文字コードに変換する場合を例に説明する。なお、所定規則の他の例には、日本語用トークナイザによって日本語のテキストを文字単位または音素単位でトークンに変換し、日本語に属する文字と、数値とが対応付けされた情報を記憶する記憶手段を参照し、日本語に属する文字をその文字に対応する数値に変換するものがある。なお、日本語のテキストをトークンに変換するための構成の例には、日本語の単語のうち所定頻度以上の単語を単語単位でトークンに変換し、所定頻度未満の単語を文字単位でトークンに変換する(サブワードトークン化する)構成がある。このような構成とすることで、単語単位でのトークンへの変換に基づく変換処理の対象となるトークン数の減少による処理負荷の低減と、文字単位でのトークンへの変換による未知語への対処可能性の向上とを両立することが可能になる。
【0086】
また、トークン及び数値から音声特徴量に変換するための構成は、所定言語に属さない文字から変換された数値から何らかの音声特徴量に変換する構成であれば特に限定されない。本例においてトークン及び数値から音声特徴量に変換するための構成は、日本語のテキストに英字が含まれる場合はその英字をASCIIの文字コードに変換し、日本語のテキストから変換されたASCIIの文字コードを所定次元のベクトルに変換する(すなわち、埋め込みベクトル化する)構成を含む。そして、本例においてトークン及び数値から音声特徴量に変換するための構成は、所定次元のベクトルから音声特徴量に変換することについて予め学習が行われたニューラルネットワークに、変換した所定次元のベクトルを入力することでそのベクトルから音声特徴量に変換する構成を含む。
【0087】
合成部12Zは、変換された音声特徴量から音声を合成する機能を有する。
【0088】
ここで、音声特徴量から音声を合成するための構成は、既知の技術により実現される。音声特徴量から音声を合成するための構成の例には、Wavenetボコーダを利用して音声特徴量から音声を合成する構成がある。本例において、変換部11Zおよび合成部12Zによって日本語のテキストから英語風音声(架空言語としての音声)が合成される。
【0089】
また、合成部12Zは、音声特徴量から合成される音声のうち、所定の記憶領域に登録された語(以下、「予約語」という。)に対応する部分を、当該予約語に対応する音声に変更する機能を有する。
【0090】
ここで、予約語は、開発者やユーザによって予め定められた文字または文字列であれば特に限定されない。予約語は、音声を生成するための材料であるため、文法上の意味や職能をもった最小の言語単位としての文字単体または文字列だけでなく、文法上の意味のない又は誤記と思われる文字や数字を含んでいてもよい。予約語の例には、ビデオゲームに登場する町の名前やキャラクタ名などの固有名詞がある。なお、予約語が属する言語は特に限定されず、所定言語とは異なる言語でもよいし、所定言語でもよい。すなわち、例えば予約語が属する言語を日本語、所定言語も日本語とすることで、「日本語風の架空言語で、日本語話者が聴いても内容がよく分からないけれど、日本語の人名の部分は分かる」というようなケースも実現できる。
【0091】
また、予約語に対応する部分とは、異言語テキストに基づいて合成される音声のうち、予約語に基づいて音声が合成される部分を意味する。予約語に対応する部分は、異言語テキストに基づいて合成される音声における他の部分と区別できるものであれば特に限定されず、予約語に基づいて音声が合成された部分でもよいし、予約語に基づいて音声が合成されていない部分(例えば、ブランク)でもよい。なお、合成された音声のうち予約語に対応する部分を特定するための構成は特に限定されず、例えば、予約語を特定するためのトークン(予約語用トークン)を決めておく方法など既存技術を用いてよいため、ここでの詳細な説明は省略する。
【0092】
また、予約語に対応する音声とは、予約語に対応付けされた音声または音声の特定方法により特定された音声を意味する。予約語に対応する音声は、所定言語とは異なる言語としての発音であることが好ましい。以下、英語に対応する学習済モデルに日本語のテキストを入力した場合、予約語については日本語としての発音が出力される場合を例に説明する。
【0093】
また、予約語に対応付けされた音声の特定方法とは、予約語の音声を合成することによりその音声を特定する方法を意味する。音声の特定方法は、予約語の音声を合成する方法であれば特に限定されない。音声の特定方法の例には、予約語が属する言語のテキストを音声特徴量に変換することについて予め学習が行われた学習済モデルを利用する方法がある。
【0094】
また、予約語に対応する部分を、当該予約語に対応する音声に変更するための構成は、予約語に対応する部分に予約語に対応する音声が存在する結果になる構成であれば特に限定されない。以下、予約語に対応する部分に存在する音声を予約語に対応する音声に差し替える構成を例に説明する。
【0095】
特定部13Zは、予約語と、音声または音声の特定方法とが対応付けされた予約語情報を記憶する記憶手段を参照し、異言語テキストにおける予約語を特定する機能を有する。
【0096】
また、異言語テキストにおける予約語を特定するための構成は特に限定されず、異言語テキストにおける単語のうち予約語情報に含まれる予約語と同一の単語を特定する構成でもよいし、予約語情報に含まれる予約語のうち所定条件を満たすものと同一の単語を特定する構成でもよい。
【0097】
図11は、本発明の実施形態の少なくとも一つに対応する音声生成処理の例を示すフローチャートである。本例における音声生成処理では、テキストから音声を生成することに関連する処理が行われる。以下、各処理について説明する。なお、各処理の順序は、処理内容に矛盾等が生じない範囲で順不同である。
【0098】
音声生成処理は、例えばユーザがサーバ10Zに音声の生成を要求したことを契機に開始される。
【0099】
サーバ10Zは、音声生成処理において、先ず、予約語と、音声または音声の特定方法とが対応付けされた予約語情報を記憶する記憶手段を参照し、異言語テキストにおける予約語を特定する(ステップS301)。本例においてサーバ10Zは、日本語テキストのうち予約語情報に含まれる予約語と同一の単語を特定する。
【0100】
サーバ10Zは、予約語を特定すると、入力したテキストのうち、所定言語に属する文字をトークンに変換する(ステップS302)。本例においてサーバ10Zは、日本語テキストに所定言語としての英語に属する文字が含まれる場合、その文字を英字単位で分割し、分割した英字をトークンとして扱う。また、本例においてサーバ10Zは、特定した予約語を予約語用トークンに変換する。
【0101】
サーバ10Zは、所定言語に属する文字をトークンに変換すると、所定言語に属さない文字を所定規則に従って数値に変換する(ステップS303)。本例においてサーバ10Zは、日本語テキストにおける平仮名、片仮名および漢字をASCIIの文字コードに変換する。
【0102】
サーバ10Zは、所定言語に属さない文字を所定規則に従って数値に変換すると、変換したトークン及び数値から音声特徴量に変換する(ステップS304)。本例においてサーバ10Zは、Tacotron2を利用して、トークン及び数値からメルスペクトログラムに変換する。
【0103】
サーバ10Zは、トークン及び数値から音声特徴量に変換すると、その音声特徴量から音声を合成する(ステップS305)。本例においてサーバ10Zは、Wavenetボコーダを利用してメルスペクトログラムから音声を合成する。
【0104】
サーバ10Zは、音声特徴量から音声を合成すると、その音声のうち予約語に対応する部分を、予約語に対応する音声に変更する(ステップS306)。本例においてサーバ10Zは、予約語用トークンに基づいて生成された音声を、予約語に対応する音声に変更する。
【0105】
サーバ10Zは、サーバ10Zから音声情報を受信すると、音声を出力するために必要な情報を送信し(ステップS307)、ここでの処理は終了する。本例においてサーバ10Zは、音声を出力するために必要な情報を端末20に送信する。なお、端末20における音声の出力方法は特に限定されないが、出力される音声が架空言語として聴き取られる構成であることが好ましい。このような構成の例には、ゲームのキャラクタの口の動きに出力音声が合うように出力する構成がある。また、入力テキストと架空言語として扱う音声との関係をユーザが把握できるよう、入力テキストを文頭から順に表示し、当該表示に合わせて音声を出力する。
【0106】
以上に説明したように、第4の実施形態の一側面として、テキストから音声を生成するサーバ10Zが、変換部11Zと、合成部12Zと、特定部13Zとを備える構成としているので、所定言語(例えば、英語)のテキストから音声特徴量に変換することについて予め学習が行われた学習済変換モデル(例えば、英語モデル)に、所定言語とは異なる言語(例えば、日本語)のテキストを入力することで、そのテキストから音声特徴量に変換し、変換した音声特徴量から音声(例えば、英語風音声)を合成し、開発者の作業負担の増加を抑えつつ架空言語としての音声を生成することができるようになる。
【0107】
すなわち、学習済変換モデルに対応する言語(所定言語)とは異なる言語(異言語)のテキストから合成される音声は、そのテキストを異言語として発音する音声とはならず、所定言語として聞き取れる音声でもないため、現実には存在しない架空の言語としての音声であるかのようにユーザに聞こえる音声と評価できる。また、テキストから音声を生成するために架空言語用の辞書を必要としないため、架空言語音声を生成するためのテキストに含まれる可能性がある文字列の種類に応じた架空言語の文字列を用意する必要が無いので、従来に比べて架空言語音声を生成するための作業負担を抑えることができる。
【0108】
また、合成部12Zにより合成される架空言語としての音声の時間の長さ(音声長)は、その音声が合成される基になった異言語テキストの文字数(文字長)が大きくなるに従って長くなる。そのため、翻訳後のテキストに基づいて架空言語としての音声が合成される場合、その音声の時間の長さは、翻訳後のテキストの文字数に応じたものになる。よって、翻訳後のテキストに基づいて架空言語としての音声が生成された場合に、架空言語についての音声出力に関係する処理(例えば、架空言語としての音声の出力に同期させた異言語テキストの表示やキャラクタの唇の動作)のタイミングがずれること等が防止される。
【0109】
また、ビデオゲームや映像作品等の製品で用いられるテキストが、ローカライズのために翻訳されるときでも、翻訳前と同じ学習済変換モデルを用いて、翻訳後のテキストから架空言語としての音声を生成することができる。そのため、架空言語としての音声を生成するために、変換前文字列と架空言語の文字列とを対応付けた辞書データを言語ごとに用意する作業を開発者が行わずに済むようになる。よって、開発者の作業負担の増加を抑えつつ架空言語についての音声を生成することが可能となる。
【0110】
また、上述した第4の実施形態の例では、サーバ10Zが、学習済変換モデルを用いて、入力したテキストのうち、所定言語に属する文字をトークン(例えば、英字)に変換し、所定言語に属さない文字を所定規則に従って数値(例えば、英字の文字コード)に変換し、変換したトークン及び数値から音声特徴量に変換し、TTS(Text to Speech)で用いられる学習済モデルに所定言語に属さない文字が入力された場合の処理をその学習済モデルに追加で規定するだけで、学習済モデルに所定言語に属さない文字が入力されたとしてもエラーになったり所定言語に属さない文字が無視されたりすることなく、異言語テキストが音声特徴量に変換されるようになる。このようにして、架空言語としての音声を生成することができるようになるため、架空言語の文字列を用意する作業を開発者が行わずに済むようになる。したがって、変換前のテキストに含まれる可能性がある文字列の種類が増加した分だけ変換後の文字列(架空言語の文字列)を用意する必要が無くなり、開発者に対する作業負担の増加を抑えることが可能となる。
【0111】
また、上述した第4の実施形態の例では、サーバ10Zが、予約語と、音声または音声の特定方法とが対応付けされた予約語情報を記憶する記憶手段を参照し、異言語テキストにおける予約語を特定し、音声特徴量から合成される音声のうち予約語に対応する部分を、その予約語に対応付けされた音声に変更し、架空言語としての音声の少なくとも一部の意味をユーザが理解できるようになる。そのため、架空言語としての音声の内容を推測することをユーザに促すことができるようになる。また、ビデオゲームや映像作品等の製品が複数言語に対応する(ローカライズされる)場合に、予約語を用いることで、架空言語の音声中に予約語だけを実在の音声で語ることが可能であるため、どの言語でビデオゲームプレイしても予約語はグローバルに統一することができるようになる。すなわち、例えば固有名詞を予約語とする場合、どの言語でローカライズする場合も対応する音声を統一する仕様とすることで、架空言語の中に含まれる既知の固有名詞をユーザに認識させることができる。
【0112】
また、上述した第4の実施形態の例では特に言及していないが、サーバ10Zが、予約語と、解放条件とを対応付けて記憶し、ユーザが解放条件を満たすか判定し、さらに、解放条件を満たした予約語のうち、異言語テキストに含まれる予約語を特定する構成としてもよい。
【0113】
ここで、解放条件とは、予約語に対応付けされた条件であって、その予約語が特定部13Zによって特定されるようになる条件を意味する。解放条件は特に限定されないが、複数の予約語それぞれについて満たされたか否かが判定される条件が好ましい。このような条件の例には、予約語ごとに対応付けされたフラグ情報がオンであることや、予約語ごとに対応付けされた理解度(以下、「必要理解度」という。)よりもユーザに対応する理解度(以下、「ユーザ理解度」という。)が高いこと、ユーザが予約語を指定することがある。なお、ユーザの例には、ビデオゲームのプレイヤや映像作品の視聴者、ビデオゲームや映像作品等の製作者がある。また、ユーザ理解度は、架空言語に対する理解度であって、所定の記憶手段にユーザに対応付けされた数値情報として記憶されるものである。ユーザ理解度の例には、ビデオゲームの進行や映像作品の視聴、ユーザによる設定に基づいて更新される数値情報がある。なお、ユーザ理解度を更新するための構成は特に限定されないが、ビデオゲームが進行することや映像作品の視聴時間が増加することに応じてユーザ理解度を上昇または下降させていく構成が好ましい。
【0114】
図12は、本発明の実施形態の少なくとも一つに対応する情報の格納状態の例について説明するための説明図である。図12は、サーバ10Zが備える記憶部(図示せず)に記憶される情報の格納状態の例について説明するための説明図である。図12に示すように、記憶部は、予約語と、音声または音声の特定方法と、必要理解度とを対応付けて予約語情報として記憶する。
【0115】
予約語と、音声または音声の特定方法と、必要理解度とを対応付けて管理することで、架空言語音声を生成する際に用いる理解度に対応する予約語を特定できる。なお、各要素の対応関係は1対1に限定されず、多対1でもよいし、1対多でもよい。すなわち、複数の予約語に1つの必要理解度が対応付けされていてもよいし、1つの予約語に複数の必要理解度が対応付けされていてもよい。
【0116】
上記の構成とすることで、例えば、ビデオゲームを進行させることでユーザが解放条件を満たしていくほど、架空言語として発音される言語を減少させることができるようになるため、ビデオゲームの進行に応じて理解できる単語が増加する体験をユーザに提供することができるようになる。
【0117】
また、上述した第4の実施形態の例では特に言及していないが、サーバ10Zが、予約語と、変更条件とを対応付けて記憶し、ユーザが変更条件を満たすか判定し、さらに、音声特徴量から合成される音声のうち変更条件を満たした予約語に対応する部分を、その予約語に対応する音声に変更する機能を有する。
【0118】
ここで、変更条件とは、予約語に対応付けされた条件であって、音声特徴量から合成される音声のうち予約語に対応する部分がその予約語に対応する音声に変更されることが可能になる条件を意味する。変更条件は特に限定されないが、複数の予約語それぞれについて満たされたか否かが判定される条件が好ましい。このような条件の例には、予約語ごとに対応付けされたフラグ情報がオンであることや、必要理解度よりもユーザ理解度が高いこと、ユーザが予約語を指定することがある。
【0119】
上記の構成とすることで、例えば、ビデオゲームを進行させることでユーザが理解度を高めていくほど、架空言語として発音される言語を減少させることができるようになるため、ビデオゲームの進行に応じて理解できる単語が増加する体験をユーザに提供することができるようになる。
【0120】
また、上述した第4の実施形態の例では特に言及していないが、サーバ10Zが、学習済変換モデルが複数言語についてテキストから音声特徴量に変換することについて予め学習が行われたものである場合、その複数言語のうち何れかを学習済変換モデルに対応する(所定言語)として学習済変換モデルに指定し、所定言語として指定した言語とは異なる言語(異言語)のテキストから音声特徴量に変換することについて予め学習されていない状態に学習済変換モデルを設定する構成としてもよい。このような構成とすることで、複数言語に対応する学習済変換モデルを用いる場合に、複数言語のうち何れかの言語についてのテキストを学習済変換モデルに入力して架空言語としての音声を生成することが可能になる。
【0121】
また、上述した第4の実施形態の例では特に言及していないが、所定言語および異言語がアルファベットを用いる場合、所定言語に属するアルファベット文字の数は、異言語に属するアルファベット文字の数よりも少ないことが好ましい。これは、例えば、英語は26、フランス語は39、ドイツ語は30、スワヒリ語29、イタリア語は21、それぞれアルファベット文字が用いられるため、英語には存在しないアルファベット文字がフランス語には存在し、イタリア語には存在しないアルファベット文字が英語には存在すると考えられる。ここで、イタリア語に対応する学習済変換モデルを用いて英語テキストから架空言語を生成する場合、英語テキストにおけるアルファベット文字のうちイタリア語に存在しないものについては、所定規則に従って数値に変換される。一方、フランス語に対応する学習済変換モデルを用いて英語テキストから架空言語を生成する場合、所定規則に従った数値変換がされない。そのため、英語テキストから架空言語を生成しようとする場合、フランス語に対応する学習済変換モデルを利用すると、イタリア語に対応する学習済変換モデルを利用する場合と比べて、生成される架空言語としての音声が英語としての音声と近くなるものと思われる(非母国語人が英語を無理して話しているように聞こえる(訛っているように聞こえる))。これは、数値変換がされる方が、入力テキストと生成音声とのと違いが大きくなる傾向にあるためと考えられる。よって、学習済変換モデルに対応する言語(所定言語)に属するアルファベット文字の数が、入力されるテキストが属する言語(異言語)に属するアルファベット文字の数よりも少ない関係となるようにすることで、生成される音声を架空言語としてユーザにより強く感じさせることが可能になる。これは、対応するアルファベットが無い方が架空言語に聞こえやすいともいえる。なお、入力される言語が同一で、学習済変換モデルに対応する言語が異なる場合を例に説明したが、入力される言語が異なり、学習済変換モデルに対応する言語が同一である場合も同様のことがいえる。
【0122】
[第5の実施形態]
上述した各実施形態において、架空言語のバリエーションを増やすために、追加処理を設ける構成としてもよい。以下、追加処理として、TTSモデル追加可能な処理(あるいは、トリック)として、3つの処理(テキスト処理、ボイス処理、コンディション処理)について説明する。なお、追加処理は、学習を行わない手法で実現させてもよいし、学習ベースの手法で実現させてもよい。
【0123】
ここで、テキスト処理とは、入力文を TTS のシステムに入れる前に加えられる処理である。TTSに入力される前のテキストを所定規則に従って変換する構成とすることで、出力(すなわち、読み上げる内容)が変わるので、より架空の言語である印象を聞き手に与えることができるようになる。テキストを変換するための規則の例には、カナ入力されたテキストをローマ字に変換し、少なくとも一部のローマ字を入れ替える規則や、変換後のローマ字の語順を逆にする規則、変換後のローマ字をシーザー暗号で処理する規則がある。
【0124】
また、ボイス処理とは、TTSから出力された音声データがアウトプットされる前に加えられる処理である。TTSから出力された音声データを所定規則に従って変換する構成とすることで、人間以外の種族(例えば、いわゆるモンスタ)の話し言葉である印象を強めるなど、目的に応じた音声出力を実現することができるようになる。音声データを変換するための規則の例には、声の性質(例えば、周波数や高低)を変換する規則がある。
【0125】
また、コンディション処理とは、TTSに加える処理である。TTSに条件(すなわち、コンディション)を設定する構成とすることで、出力される音声に多様性を設けることができるようになる。TTSに設定するコンディションの例には、話者情報や、深層学習で得られた話者ベクトル(x-vectors)を使用する構成がある。種々のコンディションを設けることで、「(自然言語としては、喜びの感情が来るだろうタイミングで)よくわからんけど怒ってる」・「(自然言語としては、悲しみの感情が来るだろうタイミングで)なんだか嬉しそう」など、「その架空言語を使っているキャラクタたちは、我々と(根本的に)文化、感情の動きが異なる」という表現を実現可能にする。さらに、話者情報や、x-vectors を TTS のコンディションとして用いることに加え、コンディションに何らかの処理を加えてから TTS に適用する構成としてもよい。このような構成とすることで、一般的な TTS に適用した場合には「奇妙」になってしまう構成とすることが、架空の言語である印象をより聞き手に与えられるようになる。
【0126】
なお、複数の追加処理が組み合わさって用いられる構成としてもよい。また、あるテキストから追加処理(例えば、コンディション処理としての話者情報)が異なる複数の音声を生成する構成としてもよい。
【0127】
以上に説明したように、本願の各実施形態により1または2以上の不足が解決される。なお、夫々の実施形態による効果は、非限定的な効果または効果の一例である。
【0128】
なお、上述した各実施形態では、複数のユーザ端末20,201~20Nとサーバ10は、自己が備える記憶装置に記憶されている各種制御プログラム(例えば、音声生成プログラム)に従って、上述した各種の処理を実行する。
【0129】
また、システム100の構成は上述した各実施形態の例として説明した構成に限定されず、例えばユーザ端末20が実行する処理として説明した処理の一部または全部をサーバ10が実行する構成としてもよいし、サーバ10が実行する処理として説明した処理の一部または全部を複数のユーザ端末20,201~20Nの何れか(例えば、ユーザ端末20)が実行する構成としてもよい。また、サーバ10が備える記憶部の一部または全部を複数のユーザ端末20,201~20Nの何れかが備える構成としてもよい。すなわち、システム100におけるユーザ端末20とサーバ10のどちらか一方が備える機能の一部または全部を、他の一方が備える構成とされていてもよい。
【0130】
また、プログラムが、上述した各実施形態の例として説明した機能の一部または全部を、通信ネットワークを含まない装置単体に実現させる構成としてもよい。
【0131】
[付記]
上述した実施形態の説明は、少なくとも下記発明を、当該発明の属する分野における通常の知識を有する者がその実施をすることができるように記載した。
[1]
テキストから音声を生成する機能をサーバに実現させるための音声生成プログラムであって、
前記サーバに、
所定言語のテキストから音声特徴量に変換することについて予め学習が行われた学習済変換モデルに、前記所定言語とは異なる言語のテキストを入力することで、当該テキストから音声特徴量に変換する変換機能と、
変換された前記音声特徴量から音声を合成する合成機能とを
実現させるための音声生成プログラム。
[2]
前記変換機能では、
前記学習済変換モデルを用いて、入力したテキストのうち、前記所定言語に属する文字をトークンに変換し、前記所定言語に属さない文字を所定規則に従って数値に変換し、
前記トークン及び前記数値から前記音声特徴量に変換する機能を
実現させるための[1]記載の音声生成プログラム。
[3]
前記サーバに、所定の記憶領域に登録された語(以下、「予約語」という。)と、音声または音声の特定方法とが対応付けされた予約語情報を記憶する記憶手段を参照し、前記所定言語とは異なる言語のテキスト(以下、「異言語テキスト」という。)における予約語を特定する特定機能を実現させ、
前記合成機能では、前記音声特徴量から合成される音声のうち前記予約語に対応する部分を、当該予約語に対応する音声に変更する機能を
実現させるための[1]又は[2]記載の音声生成プログラム。
[3-1]
前記記憶手段は、前記予約語と、解放条件とを対応付けて記憶し、
前記サーバに、ユーザが前記解放条件を満たすか判定する解放判定機能を実現させ、
前記特定機能では、前記解放条件を満たした予約語のうち、前記異言語テキストに含まれる予約語を特定する機能を
実現させるための[3]記載の音声生成プログラム。
[3-2]
前記記憶手段は、前記予約語と、変更条件とを対応付けて記憶し、
前記サーバに、ユーザが前記変更条件を満たすか判定する変更判定機能を実現させ、
前記合成機能では、前記音声特徴量から合成される音声のうち前記変更条件を満たした予約語に対応する部分を、当該予約語に対応する音声に変更する機能を
実現させるための[3]又は[3-1]記載の音声生成プログラム。
[4]
[1]から[3]のうち何れかに記載の音声生成プログラムが前記サーバに実現させる機能のうち少なくとも1つの機能を、当該サーバと通信可能なユーザ端末に実現させる音声生成プログラム。
[5]
通信ネットワークと、サーバと、ユーザ端末とを備え、テキストから音声を生成する処理を行うための音声生成システムであって、
所定言語のテキストから音声特徴量に変換することについて予め学習が行われた学習済変換モデルに、前記所定言語とは異なる言語のテキストを入力することで、当該テキストから音声特徴量に変換する変換手段と、
変換された前記音声特徴量から音声を合成する合成手段と
を含む音声生成システム。
[6]
前記サーバが、前記変換手段と、前記合成手段とを含み、
前記ユーザ端末が、前記合成手段により合成された音声を出力装置から出力する出力手段を含む
[5]記載の音声生成システム。
[7]
テキストから音声を生成する機能をユーザ端末に実現させるための音声生成プログラムであって、
前記ユーザ端末に、
所定言語のテキストから音声特徴量に変換することについて予め学習が行われた学習済変換モデルに、前記所定言語とは異なる言語のテキストを入力することで、当該テキストから音声特徴量に変換する変換機能と、
変換された前記音声特徴量から音声を合成する合成機能とを
実現させるための音声生成プログラム。
[8]
テキストから音声を生成する音声生成方法であって、
所定言語のテキストから音声特徴量に変換することについて予め学習が行われた学習済変換モデルに、前記所定言語とは異なる言語のテキストを入力することで、当該テキストから音声特徴量に変換する変換処理と、
変換された前記音声特徴量から音声を合成する合成処理とを含む
ことを特徴とする音声生成方法。
[9]
通信ネットワークと、サーバと、ユーザ端末とを備える音声生成システムが、テキストから音声を生成する音声生成方法であって、
所定言語のテキストから音声特徴量に変換することについて予め学習が行われた学習済変換モデルに、前記所定言語とは異なる言語のテキストを入力することで、当該テキストから音声特徴量に変換する変換処理と、
変換された前記音声特徴量から音声を合成する合成処理とを含む
ことを特徴とする音声生成方法。
【産業上の利用可能性】
【0132】
本発明の実施形態の一つによれば、開発者の作業負担の増加を抑えつつ架空言語としての音声を生成するのに有用である。
【符号の説明】
【0133】
10 音声生成サーバ
20,201~20N ユーザ端末
11 変換部
12 合成部
13 特定部
30 通信ネットワーク
100 音声生成システム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12