(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024054051
(43)【公開日】2024-04-16
(54)【発明の名称】音響モデルの訓練システム及び方法
(51)【国際特許分類】
G10L 13/06 20130101AFI20240409BHJP
【FI】
G10L13/06 230Z
【審査請求】未請求
【請求項の数】19
【出願形態】OL
(21)【出願番号】P 2022192811
(22)【出願日】2022-12-01
(31)【優先権主張番号】63/412,887
(32)【優先日】2022-10-04
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】000004075
【氏名又は名称】ヤマハ株式会社
(74)【代理人】
【識別番号】110000408
【氏名又は名称】弁理士法人高橋・林アンドパートナーズ
(72)【発明者】
【氏名】大道 竜之介
(72)【発明者】
【氏名】才野 慶二郎
(72)【発明者】
【氏名】西村 方成
(57)【要約】
【課題】複数の訓練用データから音響モデルの訓練に使用するデータを選択可能にすることで、様々な訓練を容易に実行可能にすること。
【解決手段】音響モデルの訓練システムは、ネットワークに接続可能な、第1ユーザが使用する第1デバイスと、前記ネットワークに接続可能なサーバと、を含む。前記第1デバイスは、前記第1ユーザによる制御の下で、前記サーバに複数の音波形をアップロードし、既にアップロードされた、又は、これからアップロードされる前記複数の音波形から第1波形セットとして一以上の音波形を選択し、音響特徴量を生成する音響モデルに対する第1訓練ジョブの第1実行指示を前記サーバに送信する。前記サーバは、前記第1デバイスからの前記第1実行指示に基づいて、選択された前記第1波形セットを用いて前記第1訓練ジョブの実行を開始し、前記第1訓練ジョブによって訓練された訓練済み音響モデルを前記第1デバイスに提供する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
ネットワークに接続可能な、第1ユーザが使用する第1デバイスと、
前記ネットワークに接続可能なサーバと、を含み、
前記第1デバイスは、前記第1ユーザによる制御の下で、
前記サーバに複数の音波形をアップロードし、
既にアップロードされた、又は、これからアップロードされる前記複数の音波形から第1波形セットとして一以上の音波形を選択し、
音響特徴量を生成する音響モデルに対する第1訓練ジョブの第1実行指示を前記サーバに送信し、
前記サーバは、前記第1デバイスからの前記第1実行指示に基づいて、
選択された前記第1波形セットを用いて前記第1訓練ジョブの実行を開始し、
前記第1訓練ジョブによって訓練された訓練済み音響モデルを前記第1デバイスに提供する音響モデルの訓練システム。
【請求項2】
予め保存された複数の音波形から、音響特徴量を生成する音響モデルに対する第1訓練ジョブで用いる一以上の音波形を選択させるインターフェースを第1ユーザに提供する、1以上のコンピュータにより実現される音響モデルの訓練方法。
【請求項3】
前記インターフェースを用いて前記第1ユーザが選択した一以上の波形を第1波形セットとして受け取り、
前記インターフェースを介した前記第1ユーザによる第1実行指示に基づいて、前記第1波形セットを用いて前記第1訓練ジョブの実行を開始し、
前記第1訓練ジョブによって訓練された音響モデルを、第1音響モデルとして前記第1ユーザに提供する、ことをさらに含む請求項2に記載の訓練方法。
【請求項4】
前記第1ユーザによる第1公開指示に基づいて、前記第1訓練ジョブの状態を示す第1状態情報を、前記第1ユーザとは異なる第2ユーザに提供する、ことをさらに含む請求項3に記載の訓練方法。
【請求項5】
前記第1状態情報を、前記第1ユーザの使用する第1デバイスに表示し、
前記第1公開指示に基づいて、前記第1状態情報を、前記第2ユーザが使用する第2デバイスに表示する、ことをさらに含む請求項4に記載の訓練方法。
【請求項6】
前記第1訓練ジョブの状態は、時間経過に応じて変化し、
前記第2ユーザが使用する第2デバイスに表示される前記第1状態情報が繰り返し更新される、請求項4に記載の訓練方法。
【請求項7】
前記第1訓練ジョブの状態の進行度が前記第1状態情報として表示される、請求項4に記載の訓練方法。
【請求項8】
前記第2ユーザによる公開要求に基づいて、前記公開要求のタイミングの前記第1状態情報が、前記第2ユーザが使用する第2デバイスに表示される、請求項4に記載の訓練方法。
【請求項9】
前記インターフェースを用いて前記第1ユーザが新たに選択した一以上の波形を第2波形セットとして受け取り、
前記第1ユーザによる第2実行指示に基づいて、前記第2波形セットを用いた第2訓練ジョブの実行を開始する、ことをさらに含み、
前記第1訓練ジョブ及び前記第2訓練ジョブは並行して実行される、請求項3に記載の訓練方法。
【請求項10】
前記第1ユーザによる公開指示に基づいて、前記第1訓練ジョブに関する第1状態情報及び前記第2訓練ジョブに関する第2状態情報の少なくとも一方を、前記第1ユーザとは異なる第2ユーザの第2デバイスに提供する、ことをさらに含む請求項9に記載の訓練方法。
【請求項11】
前記第1ユーザの第1実行指示に応じて、前記第1ユーザに対して課金し、
前記課金に対する支払いが確認された場合に、前記第1訓練ジョブの実行を開始する、請求項2に記載の訓練方法。
【請求項12】
実空間を特定する空間IDを受信し、
前記訓練方法を提供するサービスに対する前記第1ユーザのアカウント情報と、前記空間IDとをリンクさせる、請求項2に記載の訓練方法。
【請求項13】
前記空間IDにリンクした前記アカウント情報を有する前記第1ユーザに対して課金をする、請求項12に記載の訓練方法。
【請求項14】
前記実空間において再生された、楽曲を構成する音を示す楽譜データを、前記楽曲の再生期間の少なくとも一部における歌唱又は演奏音が収録された音声データとともに受信し、
前記音声データを予め保存された音波形として、前記楽譜データとリンクして記憶する、請求項12に記載の訓練方法。
【請求項15】
前記第1ユーザの録音指示に基づいて、前記再生期間のうち指定された期間の前記音声データを収録する、請求項14に記載の訓練方法。
【請求項16】
前記第1ユーザの再生指示に基づいて、前記音声データを前記実空間において再生し、
前記再生指示によって再生された前記音声データを、前記第1ユーザに提供される前記予め保存された複数の音波形の一つとして保存するか否かを、前記第1ユーザに問い合わせる、請求項14に記載の訓練方法。
【請求項17】
予め保存された音波形を分析し、
前記分析によって得られた分析結果に基づいて、前記第1ユーザに推薦する楽曲を特定し、
特定された前記楽曲を示す情報を前記第1ユーザに提供する、請求項2に記載の訓練方法。
【請求項18】
前記分析結果は、歌唱スタイル、演奏スタイル、歌唱音域、及び演奏音域の少なくともいずれか一を示す、請求項17に記載の訓練方法。
【請求項19】
前記分析結果は、演奏スキルを示す、請求項17に記載の訓練方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の一実施形態は、音響モデルの訓練システム及び方法に関する。
【背景技術】
【0002】
特定の歌手の声音及び特定の楽器の演奏音を合成する音声合成(Sound Synthesis)技術が知られている。特に、機械学習を利用した音声合成技術(例えば、特許文献1、2)では、ユーザによって入力された楽譜データ及び音響データに基づいて当該特定の音声及び演奏音で自然な発音の合成音声を出力するために、十分に訓練された音響モデルが要求される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020-076843号公報
【特許文献2】国際公開第2022/080395号
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、音響モデルを十分に訓練するためには、膨大な量の声音及び演奏音について言語特徴量をラベル付けする必要があり、莫大な時間と費用を要していた。そのため、資金を十分に有する企業しか音響モデルの訓練を実行することができず、音響モデルの種類が限られていた。
【0005】
本発明の一実施形態の目的の一つは、複数の訓練用データから音響モデルの訓練に使用するデータを選択可能にすることで、様々な訓練を容易に実行可能にすることである。
【課題を解決するための手段】
【0006】
本発明の一実施形態による音響モデルの訓練システムは、ネットワークに接続可能な、第1ユーザが使用する第1デバイスと、前記ネットワークに接続可能なサーバと、を含む。前記第1デバイスは、前記第1ユーザによる制御の下で、前記サーバに複数の音波形をアップロードし、既にアップロードされた、又は、これからアップロードされる前記複数の音波形から第1波形セットとして一以上の音波形を選択し、音響特徴量を生成する音響モデルに対する第1訓練ジョブの第1実行指示を前記サーバに送信する。前記サーバは、前記第1デバイスからの前記第1実行指示に基づいて、選択された前記第1波形セットを用いて前記第1訓練ジョブの実行を開始し、前記第1訓練ジョブによって訓練された訓練済み音響モデルを前記第1デバイスに提供する。
【0007】
本発明の一実施形態による音響モデルの訓練方法は、予め保存された複数の音波形から、音響特徴量を生成する音響モデルに対する第1訓練ジョブを実行させるための一以上の音波形を選択させるインターフェースを第1ユーザに提供することを1以上のコンピュータにより実現させる。
【発明の効果】
【0008】
本発明の一実施形態によれば、複数の訓練用データから音響モデルの訓練に使用するデータを選択可能にすることで、様々な訓練を容易に実行可能にできる。
【図面の簡単な説明】
【0009】
【
図1】本発明の一実施形態における音響モデル訓練システムの全体構成を示す図である。
【
図2】本発明の一実施形態におけるサーバの構成を示すブロック図である。
【
図3】本発明の一実施形態における音響モデルの概念を示すブロック図である。
【
図4】本発明の一実施形態における音響モデルの訓練方法及び音声合成方法を示すシーケンス図である。
【
図5】本発明の一実施形態における音響モデルの訓練方法におけるGUIの一例を示す図である。
【
図6】本発明の一実施形態における音響モデルの訓練方法及び音声合成方法を示すシーケンス図である。
【
図7】本発明の一実施形態における音響モデルの情報公開及び試聴要求に係るGUIの一例を示す図である。
【
図8】本発明の一実施形態における音響モデルの訓練方法及び音声合成方法を示すシーケンス図である。
【
図9】本発明の一実施形態における音響モデルの訓練時に公開情報を設定するときのGUIの一例を示す図である。
【
図10】本発明の一実施形態における音響モデルの訓練方法を示すフローチャートである。
【
図11】本発明の一実施形態における音響モデルの訓練に用いる音波形の収録方法を示すシーケンス図である。
【
図12】本発明の一実施形態において、サーバによって管理されるデータ構成を示す図である。
【
図13】本発明の一実施形態における音響モデルの訓練においてサーバに送信されるデータを示す図である。
【
図14】本発明の一実施形態における音響モデルの訓練方法を示すフローチャートである。
【
図15】本発明の一実施形態における音響モデルの訓練に適した楽曲の推薦方法を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明の一実施形態における音響モデルの訓練システム及び方法について、図面を参照しながら詳細に説明する。以下に示す実施形態は本発明を実施する形態の一例であって、本発明はこれらの実施形態に限定して解釈されない。本実施形態で参照する図面において、同一部分又は同様の機能を有する部分には同一の符号又は類似の符号(数字の後にA、B等を付しただけの符号)が付されており、それらの繰り返しの説明は省略される場合がある。
【0011】
以下の実施形態において、「楽譜データ」は、音符の音高及び強度に関する情報、音符における音韻に関する情報、音符の発音期間に関する情報、及び演奏記号に関する情報を含むデータである。例えば、楽譜データは、楽曲の楽譜及び歌詞の少なくとも一方を示すデータである。楽譜データは、当該楽曲を構成する音符の時系列を示すデータであってもよく、当該楽曲を構成する言語の時系列を示すデータであってもよい。
【0012】
「音波形」は、音声の波形データであり、その音声を発する音源は、音源IDで特定される。例えば、音波形は、歌唱の波形データ及び楽器音の波形データの少なくとも一方である。例えば、音波形は、マイク等の入力装置を介して取り込まれた歌手の歌声及び楽器の演奏音の波形データを含む。音源IDは、その歌手の歌唱の音色、又はその楽器の演奏音の音色を特定する。音波形のうち、音響モデルを用いて合成音波形を生成するために入力される音波形を「合成用音波形」といい、音響モデルを訓練するために用いられる音波形を「訓練用音波形」という。合成用音波形と訓練用音波形とを区別する必要がない場合、これらを併せて、単に「音波形」という。
【0013】
「音響モデル」は、楽譜データの楽譜特徴量の入力と、音波形の音響特徴量の入力とを有する。音響モデルとして、例えば、国際公開第2022/080395号に記載された、楽譜エンコーダ111、音響エンコーダ121、切換部131、及び音響デコーダ133を有する音響モデルを用いる。この音響モデルは、入力された楽譜データの楽譜特徴量又は音波形の音響特徴量と音源IDとを処理することで、その音源IDが示す音色を有する、目的とする音波形の音響特徴量を生成する機能を有し、新たな合成音波形を生成するための音声合成プログラムによって使用される音声合成モデルである。音声合成プログラムは、ある楽曲の楽譜データから生成した楽譜特徴量と音源IDとを音響モデルに供給することで、その音源IDが示す音色で、かつその楽曲の音響特徴量を得て、その音響特徴量を音波形に変換する。或いは、音声合成プログラムは、ある楽曲の音波形から生成した音響特徴量と音源IDとを音響モデルに供給することで、その音源IDが示す音色で、かつその楽曲の新たな音響特徴量を得て、その新たな音響特徴量を音波形に変換する。音響モデル毎に、所定数の音源IDが用意される。つまり、各音響モデルは、所定数の音色のうちの、音源IDが示す音色の音響特徴量を選択的に生成する。
【0014】
音響モデルは、機械学習を利用した、例えば、畳み込みニューラルネットワーク(CNN)又はリカレントニューラルネットワーク(RNN)などを利用した所定のアーキテクチャの生成モデルである。音響特徴量は、自然音や合成音の波形の周波数スペクトルにおける発音の特徴を表すものであり、音響特徴量が近いことは歌声又は演奏音の音色やその時間変化が似ていることを意味する。
【0015】
音響モデルの訓練においては、音響モデルによって、参照した音波形の音響特徴量と類似する音響特徴量が生成されるように、音響モデルの変数が変更される。訓練には、例えば、国際公開第2022/080395号に記載された訓練プログラムP2、楽譜データD1(訓練用楽譜データ)、及び学習用音響データD2(訓練用音波形)を用いる。複数の音源IDに対応する複数の音声の波形を用いた基本訓練によって、複数の音源IDに対応する複数の音色の合成音の音響特徴量を生成できるように、音響モデル(楽譜エンコーダ、音響エンコーダ、及び音響デコーダ)の変数が変更される。さらに、その訓練済の音響モデルを、(未使用の)新たな音源IDに対応する別の音色の音波形を用いて補助訓練することで、その音響モデルは、新たな音源IDの示す音色の音響特徴量を生成できるようになる。具体的には、XXXさん(複数人)の声の音波形で訓練済の音響モデルに対して、さらに、新たな音源IDを用いて、YYYさん(一人)の声音の音波形で補助訓練を行うことにより、YYYさんの声音の音響特徴量を生成できる音響モデルになるように、音響モデル(少なくとも、音響デコーダ)の変数が変更される。音響モデルに対する、上記のような、新たな音源IDに対応する訓練の単位を「訓練ジョブ」という。つまり、訓練ジョブとは、訓練のプログラムによって実行される一連の訓練プロセスを意味する。
【0016】
「プログラム」とは、プロセッサ及びメモリを備えたコンピュータにおいてプロセッサより実行される命令又は命令群を指す。「コンピュータ」は、プログラムの実行主体を指す総称である。例えば、サーバ(又はクライアント)によりプログラムが実行される場合、「コンピュータ」は、サーバ(又はクライアント)を指す。また、サーバとクライアントとの間の分散処理により「プログラム」が実行される場合、「コンピュータ」は、サーバ及びクライアントの両方を含む。この場合、「プログラム」は、「サーバで実行されるプログラム」及び「クライアントで実行されるプログラム」を含む。「プログラム」が、複数のサーバ間で分散処理される場合も同様に、「コンピュータ」は、複数のサーバを含み、「プログラム」は、各サーバで実行される各プログラムを含む。
【0017】
[1.第1実施形態]
[1-1.システムの全体構成]
図1は、本発明の一実施形態における音響モデル訓練システムの全体構成を示す図である。
図1に示すように、音響モデル訓練システム10は、サーバ100(Server)、通信端末200(TM1)、及び通信端末300(TM2)を含む。サーバ100及び通信端末200、300は、それぞれネットワーク400に接続可能である。通信端末200及び通信端末300は、それぞれネットワーク400を介してサーバ100と通信できる。通信端末200を「第1デバイス」という場合がある。通信端末200を使用するユーザを「第1ユーザ」という場合がある。
【0018】
本実施形態において、サーバ100は、音声合成器として機能し、音響モデルの訓練を実施するコンピュータである。サーバ100は、ストレージ110を備えている。
図1では、ストレージ110がサーバ100に直接接続された構成が例示されているが、この構成に限定されない。例えば、ストレージ110が直接又は他のコンピュータを介してネットワーク400に接続され、サーバ100とストレージ110との間のデータの送受信がネットワーク400を介して行われていてもよい。
【0019】
通信端末200は、音響モデルを訓練するための訓練用音波形を選択し、サーバ100に訓練を実行する指示を送信する端末である。通信端末300は、通信端末200とは異なる端末であり、サーバ100にアクセス可能な端末である。詳細は後述するが、通信端末300は、訓練中の音響モデルに関する公開情報を閲覧又は試聴する端末である。通信端末200、300は、例えばスマートフォン若しくはタブレット端末などのモバイル用の通信端末、又は、デスクトップ型パソコンなどの据え置き用の通信端末を含む。
【0020】
ネットワーク400は一般的なWorld Wide Web(WWW)サービスによって提供されるインターネット、WAN(Wide Area Network)、又は社内LANなどのLAN(Local Area Network)である。
【0021】
[1-2.音声合成に用いられるサーバの構成]
図2は、本発明の一実施形態におけるサーバの構成を示すブロック図である。
図2に示すように、サーバ100は、制御部101、RAM(Random Access Memory)102、ROM(Read Only Memory)103、ユーザインタフェース(UI)104、通信インターフェース105、及びストレージ110を備える。サーバ100の各機能部が協働することによって、本実施形態の音声合成技術が実現される。
【0022】
制御部101は、中央演算処理装置(CPU:Central Processing Unit)、画像処理装置(GPU:Graphics Processing Unit)、当該CPU及びGPUに接続されたレジスタやメモリなどの記憶装置を含む。制御部101は、メモリに一時的に記憶されたプログラムをCPU及びGPUによって実行し、サーバ100に備えられた各機能を実現させる。具体的には、制御部101は、通信端末200からの各種要求信号に応じて演算処理を行い、通信端末200、300にコンテンツデータを提供する。
【0023】
RAM102は、演算処理に必要な制御プログラム、音響モデル(アーキテクチャと変数で構成される)及びコンテンツデータなどを一時的に記憶する。また、RAM102は、例えばデータバッファとして使用され、通信端末200など、外部機器から受信した各種データを、ストレージ110に記憶させるまでの間、一時的に保持する。RAM12として、例えば、SRAM(Static Random Access Memory)又はDRAM(Dynamic Random Access Memory)などの汎用メモリを用いてもよい。
【0024】
ROM103は、サーバ100の機能を実現させるための各種プログラム、各種音響モデル、及びパラメータ等を記憶する。ROM103に記憶されているプログラム、音響モデル、及びパラメータ等は、必要に応じて制御部101によって読み出され、実行ないし利用される。
【0025】
ユーザインタフェース104は、制御部101の制御によって、その表示器にグラフィカルユーザインタフェース(GUI)などの各種の表示画像を表示し、サーバ100のユーザからの入力を受け付ける。
【0026】
通信インターフェース105は、制御部101の制御によって、ネットワーク400に接続して、ネットワーク400に接続された通信端末200、300などの他の通信装置との間で、情報の送信及び受信を行うインターフェースである。
【0027】
ストレージ110は、不揮発性メモリ、ハードディスクドライブなどの恒久的な情報の保持及び書き換えが可能な記録装置(記録媒体)である。ストレージ110は、プログラム、音響モデル、及び当該プログラムの実行に必要となるパラメータ等の情報を記憶する。
図2に示すように、ストレージ110には、例えば音声合成プログラム111、訓練ジョブ112、楽譜データ113、及び音波形114が記憶されている。これらのプログラム及びデータは一般的な音声合成に係るものを使用することができ、例えば、国際公開第2022/080395号に記載された音声合成プログラムP1、訓練プログラムP2、楽譜データD1、及び音響データD2をそれぞれ用いてもよい。
【0028】
上記のように、音声合成プログラム111は、楽譜データや音波形から合成音波形を生成するためのプログラムである。制御部101が音声合成プログラム111を実行するとき、制御部101は音響モデル120を使用して合成音波形を生成する。なお、当該合成音波形は、国際公開第2022/080395号に記載された音響データD3に対応する。訓練ジョブ112で制御部101により実行される音響モデル120の訓練プログラムは、例えば国際公開第2022/080395号に記載されたエンコーダ及び音響デコーダを訓練するプログラムである。楽譜データは、楽曲を規定するデータである。音波形は、音声又は演奏音の波形データであり、例えば歌手の歌声又は楽器の演奏音を示す波形データである。
【0029】
[1-3.音声合成に用いられるサーバの機能構成]
図3は、本発明の一実施形態における音響モデルの概念を示すブロック図である。上記のように、音響モデル120は、
図2の制御部101が音声合成プログラム111を読み出して実行するとき、その制御部101が実行する音声合成技術において使用される機械学習モデルである。音響モデル120は、音響特徴量を生成する。音響モデル120には、制御部101により、入力信号として所望の楽曲の楽譜データ113の楽譜特徴量123又は音波形114の音響特徴量124が入力される。音響モデル120を用いて、音源IDと当該楽譜特徴量123とを処理することにより、当該楽曲の合成音の音響特徴量129が生成される。制御部101は、その音響特徴量129に基づいて、当該楽曲を音源IDで特定される歌手が歌唱した又は楽器で演奏した合成音波形130を合成して出力する。又は、音響モデル120を用いて、音源IDと当該音響特徴量124とを処理することにより、当該楽曲の合成音の音響特徴量129を生成する。制御部101は、その音響特徴量129に基づいて、当該楽曲の音波形を音源IDで特定される歌手の歌声又は楽器の演奏音の音色に変換した合成音波形130を合成して出力する。
【0030】
音響モデル120は、機械学習を利用した生成モデルであり、訓練プログラムを実行している(つまり、訓練ジョブ112を実行中の)制御部101によって訓練される。制御部101は、(未使用の)新たな音源IDと訓練用音波形を用いて音響モデル120を訓練し、音響モデル120(少なくとも音響デコーダ)の変数を決定する。具体的には、制御部101は、訓練用音波形から訓練用の音響特徴量を生成し、音響モデル120に新たな音源IDと訓練用の音響特徴量が入力された場合に、合成音波形130を生成する音響特徴量が訓練用の音響特徴量に近づくように、上記の変数を徐々に繰り返し変更する。訓練用音波形は、例えば、通信端末200又は通信端末300からサーバ100にアップロード(送信)され、ストレージ110にユーザデータとして保存されてもよく、参考データとしてサーバ100の管理者が予めストレージ110に保存したものでもよい。以下の説明において、ストレージ110に保存することをサーバ100に保存する、という場合がある。
【0031】
[1-4.音声合成方法]
図4は、本発明の一実施形態における音響モデルの訓練方法及び音声合成方法を示すシーケンス図である。
図4に示す音響モデルの訓練方法では、通信端末200がサーバ100に訓練用音波形をアップロードする例を示す。ただし、上記のように、訓練用音波形はその他の方法でサーバ100に予め保存されていてもよい。
図4に示すシーケンスにおける訓練ジョブを「第1訓練ジョブ」という場合がある。通信端末200側の処理TM1の各ステップおよびサーバ100側の処理Serverの各ステップは、実際には、通信端末200の制御部およびサーバ100の制御部101がそれぞれ実行するが、ここでは説明を単純にするため、通信端末200およびサーバ100を各ステップの実行主体として表現する。特に断らない限り、以降のシーケンス図の説明やフローチャートの説明も同様である。
【0032】
図4に示すように、まず、通信端末200(第1デバイス)は、サーバ100の第1ユーザのアカウントにログインした第1ユーザの指示に基づいて、サーバ100に、1又は複数の訓練用音波形をアップロード(送信)する(ステップS401)。サーバ100は、S401で送信された訓練用音波形を、第1ユーザの記憶領域に記憶する(ステップS411)。サーバ100にアップロードされる音波形は1つでも、複数でもよく、複数の音波形は第1ユーザの記憶領域の複数のフォルダに分けて記憶されてもよい。上記のステップS401、411は、以下の訓練ジョブを実行するための準備に係るステップである。
【0033】
続いて、以下に訓練ジョブを実行するためのステップを説明する。通信端末200は、サーバ100に訓練ジョブの実行を要求する(ステップS402)。S402の要求に対して、サーバ100は、通信端末200に対して、予め保存された音波形(及び保存される予定の音波形)のうち訓練ジョブに使用する音波形を選択するためのグラフィカルユーザインターフェース(GUI)を提供する(ステップS412)。
【0034】
通信端末200は、その表示器にS412で提供されたGUIを表示し、第1ユーザは、そのGUIを用いて、記憶領域(乃至所望のフォルダ)にアップロードされた複数の音波形から一以上の訓練用音波形を波形セット149(
図5参照)として選択する(ステップS403)。S403で波形セット149(訓練用音波形)が選択された後に、第1ユーザからの指示に応じて、通信端末200は、訓練ジョブの実行開始を指示する(ステップS404)。
【0035】
S404における通信端末200(第1デバイス)からの指示に基づいて、サーバ100は、選択された波形セット149を用いて訓練ジョブの実行を開始する(ステップS413)。換言すると、S413において、S412で提供されたGUIを介した第1ユーザの指示に基づいて訓練ジョブが実行される。
【0036】
訓練には、選択された波形セット149中の各波形が全部使用されるのではなく、無音区間やノイズ区間などを除いた有用区間のみを含む前処理済み波形セットが使用される。また、訓練される音響モデル120(ベース音響モデル)として、音響デコーダが未訓練の音響モデル120を用いてもよいが、複数の基本訓練済みの音響モデル120のうち、波形セット149の波形の音響特徴量に近い音響特徴量の生成を学習した音響デコーダを含む音響モデル120を選択して用いれば、訓練ジョブにかかる時間やコストを低減できる。何れの音響モデル120を選ぶとしても、楽譜エンコーダと音響エンコーダは、基本訓練済みのものを用いる。
【0037】
ベース音響モデルは、第1ユーザが選択した波形セット149に基づいて、サーバ100が決定してもよい。又は、第1ユーザが、複数の訓練済み音響モデルのいずれかをベース音響モデルとして選択して、第1実行指示にそのベース音響モデルを示す指定データを含めてもよい。音響デコーダに供給する音源ID(例えば、歌手ID、楽器IDなど)としては、未使用の新たな音源IDを用いる。ここで、新たな音源IDとしてどの音源IDを使用されたかを、ユーザは必ずしも知らなくてよい。ただ、訓練済みモデルを使用して音声合成する際には、自動的に、その新たな音源IDが用いられる。
【0038】
訓練ジョブでは、前処理済み波形セットから一部の短波形を少しずつ取り出し、取り出した短波形を用いて音響モデル(少なくとも音響デコーダ)を訓練する、という単位訓練を繰り返す。単位訓練では、前記新たな音源IDと短波形の音響特徴量とを音響モデル120に入力し、それに応じて音響モデル120が出力する音響特徴量と入力した音響特徴量の間の差分が小さくなるよう、音響モデルの変数を調整する。変数の調整には、例えば、誤差逆伝搬法を用いる。単位訓練を繰り返すことで、前処理済み波形セットによる訓練が一通り終わったら、音響モデル120が生成する音響特徴量の品質を評価して、当該品質が所定の基準に達していなければ、その前処理済み波形セットを用いて、再び音響モデルの訓練を行う。音響モデル120が生成する音響特徴量の品質が所定の基準に達していれば、訓練ジョブは完了し、その時点の音響モデル120が訓練済み音響モデル120となる。
【0039】
S413で訓練ジョブが完了することで、訓練済み音響モデル120が確立される(ステップS414)。この訓練済み音響モデル120を「第1音響モデル」という場合がある。サーバ100は、通信端末200に、訓練済み音響モデル120が確立されたことを通知する(ステップS415)。上記のS403~S415のステップが、音響モデル120の訓練ジョブである。
【0040】
S415の通知の後に、第1ユーザからの指示に応じて、通信端末200が、所望の楽曲の楽譜データを含む音声合成の指示をサーバ100に送信する(ステップS405)。それに応じて、サーバ100は、音声合成プログラムを実行して、その楽譜データに基づいて、S414で完成した訓練済み音響モデル120を用いた音声合成を実行する(ステップS416)。S416で生成された合成音波形130を通信端末200に送信する(ステップS417)。この音声合成では、前記新たな音源IDが用いられる。
【0041】
S416及びS417を併せて、訓練ジョブによって訓練された訓練済み音響モデル120(音声合成機能)を、通信端末200(第1デバイス)ないし第1ユーザに提供する、ということができる。ステップS416の音声合成プログラムの実行を、サーバ100の代わりに、通信端末200で行ってもよい。その場合、サーバ100は、当該訓練済み音響モデル120を通信端末200に送信し、通信端末200は、受け取った訓練済み音響モデル120を用いて、前記新たな音源IDで、所望の楽曲の楽譜データに基づく音声合成処理を実行し、合成音波形130を取得する。
【0042】
本実施形態では、S402で訓練ジョブの実行を要求する前に、S401で訓練用音波形をアップロードしたが、この構成に限定されない。例えば、訓練用音波形のアップロードが、S404で訓練ジョブの実行を指示した後に行われてもよい。この場合、S403において、通信端末200に記憶された複数の音波形(未アップロードの音波形を含む)から、波形セット149として一以上の音波形が選択され、訓練ジョブの実行指示に応じて、選択された音波形のうちの未アップロードの音波形が、アップロードされてもよい。
【0043】
[1-5.GUI140]
ここで、S412で提供されるGUIの一例について説明する。
図5は、本発明の一実施形態における音響モデルの訓練方法における第1GUIの一例を示す図である。
図5に示すGUI140は、通信端末200のユーザインタフェースに含まれる表示器に表示される。
図5に示すように、GUI140には、訓練用音波形の候補として、音波形A、音波形B、・・・、音波形Z(例えば、特定のフォルダにアップロード済みの音波形)が表示される。それぞれの音波形の隣には、チェックボックス141、142、・・・、143が表示されている。上記のように訓練用音波形の候補として表示された音波形A、音波形B、・・・、音波形Zは、例えば、同一人による歌声に係る音波形であり、それぞれ楽曲や歌い方が異なっていてもよい。音波形は、同一の楽器の種々の演奏音であってもよい。
【0044】
上記の構成を換言すると、S412において、サーバ100は、予め保存された複数の音波形(及び保存される予定の音波形)から、音響モデル120に対する訓練ジョブを実行させるための一以上の音波形を、波形セット149として第1ユーザに選択させるGUIを、通信端末200に提供する。
【0045】
上記S403において、通信端末200の第1ユーザによって、
図5に示すチェックボックス141、142、・・・、143がチェックされることで、訓練用音波形が選択される。
図5では、訓練用音波形として、チェックボックス141、142がチェックされ、音波形A及び音波形Bが波形セット149として選択された例を示す。波形セット149として選択する波形は1つでも複数でもよい。
【0046】
上記S404において、チェックボックス141、142が選択された状態で、実行ボタン144が押されたのに応じて、通信端末200は、S404の訓練ジョブの指示を実行する。当該訓練ジョブの指示に応じて、サーバ100は、音波形A及び音波形Bからなる波形セット149を用いた音響モデル120の訓練を開始する。実行ボタン144が押されるとは、実行ボタン144がクリック又はタップされることを含む。
【0047】
以上のように、本実施形態に係る音響モデル訓練システム10は、予めストレージ110に保存された複数の音波形(及び保存される予定の音波形)から一以上の音波形を選択して、選択された音波形を訓練用音波形として音響モデル120に対する訓練ジョブを実行する。上記の構成によって、通信端末200の第1ユーザは、未訓練の又は訓練済の音響モデル120を訓練することで、所望の音響モデル120を得る。なお、音波形のサーバ100へのアップロードは、波形セット149の選択や訓練ジョブの実行指示より後でもよい。つまり、訓練ジョブに使用する音波形は、訓練ジョブが開始されるより前の任意の時点で、通信端末200からサーバ100にアップロードされてもよい。また、音響デコーダが訓練済み音響モデルの補助訓練ならば、従来の音響モデル120に比べて、短時間かつ低コストで、訓練済み音響モデル120を得られる。
【0048】
[2.第2実施形態]
図6及び
図7を用いて、第2実施形態に係る音響モデル訓練システム10Aについて説明する。音響モデル訓練システム10Aの全体構成及びサーバに関するブロック図は第1実施形態に係る音響モデル訓練システム10と同じなので、説明を省略する。以下の説明において、第1実施形態と同じ構成については説明を省略し、主に第1実施形態と相違する点について説明する。以下の説明において、第1実施形態と同様の構成について説明をする場合、
図1~
図5を参照し、これらの図に示された符号の後にアルファベット“A”を付して説明する。
【0049】
[2-1.音声合成方法]
図6は、本発明の一実施形態における音響モデルの訓練方法及び音声合成方法を示すシーケンス図である。
図6に示す音響モデルの訓練方法では、ユーザの指示で訓練ジョブの実行が開始されてから訓練済み音響モデルが完成するまでの間に、その訓練ジョブの進行状態を示す情報を、第3者に公開する構成について説明する。
図6のステップS601以前のステップは、
図4のS401~S403と同様なので、説明を省略する。
図6のS601は
図4のS404と同じである。以下の説明において、通信端末300Aを使用する、上記第3者に該当するユーザを「第2ユーザ」という場合がある。
【0050】
S601における通信端末200Aからの第1ユーザによる実行指示に基づいて、サーバ100Aは、新たな音源IDと選択された波形セット149Aを用いて、ベース音響モデルの訓練ジョブの実行を開始する(ステップS611)。訓練ジョブの完了時には、その成果として、この波形セット149Aで訓練された訓練済み音響モデル120Aが得られる。S611において、訓練ジョブが開始されると、サーバ100Aは、通信端末200Aに対して訓練ジョブを開始したことを通知し、訓練ジョブの状態を示す状態情報を第3者への公開すること、つまり第3者による閲覧を許すことについて、その可否を通信端末200Aに問い合わせる(ステップS612)。通信端末200Aは、S612の問い合わせに対して、第1ユーザが訓練ジョブの状態を示す状態情報を公開する旨の公開指示を行なえば、その公開指示をサーバ100Aに送信する(ステップS602)。第1ユーザが公開指示を行わなければ、通信端末200Aは、公開指示を送信しない。この状態情報は、その公開指示の有無に関係なく通信端末200Aに送信され、その表示器に表示されて、第1ユーザにより閲覧される。
【0051】
S602において、上記のように第1ユーザによる公開指示に基づいて、サーバ100Aは、S611で実行開始された第1ユーザの訓練ジョブの状態を示す状態情報を、通信端末300Aに対して公開する(ステップS613)。これにより、第3者は、通信端末300Aの表示器に表示されたその状態情報を閲覧できる。
【0052】
なお、第1ユーザが、訓練ジョブの状態を示す状態情報を公開することに予め同意して公開指示が行われている場合は、S612、S602のステップを省略できる。つまり、その予め行われた第1ユーザの公開指示に基づいて、第1ユーザの訓練ジョブの状態を示す状態情報が第2ユーザに公開されてもよい。
【0053】
S622以降のS615~S618のステップは、
図4のS414~S417のステップと同様なので、説明を省略する。
【0054】
図6では、訓練ジョブを実行する指示を出した通信端末200Aとは異なる通信端末300Aが、試聴要求を実行する主体である構成を例示したが、この構成に限定されない。例えば、訓練ジョブの実行を指示した通信端末200A(第1ユーザ)が、自ら訓練ジョブの進行度を確認するために、試聴要求を実行してもよい。例えば、通信端末200Aが試聴要求をすることで、進行度が100%に達していなくても、第1ユーザが試聴用の合成音波形に満足するタイミングで訓練ジョブを終了できる。
【0055】
[2-2.GUI150A]
ここで、S613で提供されるGUIの一例について説明する。
図7は、本発明の一実施形態における音響モデルの情報公開及び試聴要求に係るGUIの一例を示す図である。
図7に示すGUI150Aは、通信端末200A、300Aの表示器に表示される。
【0056】
図7に示すように、GUI150Aには、状態情報に応じた進行度を示す項目151A及び詳細情報を示す項目152Aと、試聴を要求する試聴ボタン157Aとが表示されている。本実施形態では、進行度を示す項目151Aは、音響モデル120Aの訓練ジョブの進行度を示している。ただし、当該項目151Aは、例えば完了予想を100%とする経過時間、及び音響モデル120Aの変数の変化の程度など、完成度以外の項目であってもよい。
【0057】
項目151Aは、訓練ジョブの進行度をパーセント表示するプログレスバーである。項目151Aにおいて、進行度が示す現在の状態は、訓練ジョブの開始時に見積もられた総訓練量に対する現在の訓練量であってもよく、訓練ジョブの実行中における音響モデル120Aの変数の変化の様子から見積もられた総訓練量に対する現在の訓練量であってもよい。つまり、訓練ジョブの状態は時間経過に応じて変化し、サーバ100Aは、当該訓練ジョブの状態の経時変化を示す進行度を、項目151Aとして通信端末に提供して表示する。訓練ジョブの状態は時間経過に応じて変化するため、サーバ100Aは、訓練ジョブの状態を示す状態情報を、その情報が変化したときに、或いは、一定時間ごとに、繰り返し更新し、通信端末200A、300Aに対して繰り返し提供する。
【0058】
本実施形態では、訓練ジョブの状態を示す状態情報が、通信端末200A、300Aに対して繰り返しリアルタイムに提供する構成を例示したが、この構成に限定されない。例えば、当該状態情報は、通信端末200A、300Aの各々に対して1回だけ提供可能な構成であってもよい。又は、当該状態情報は、通信端末300Aを用いた第2ユーザによる公開要求に基づいて、当該公開要求のタイミングの上記状態情報が通信端末300A(第2デバイス)に表示されてもよい。
【0059】
図7では、進行度を示す項目151Aとして、プログレスバーが表示された構成を例示したが、この構成に限定されない。例えば、進行度を数値でパーセント表示をしてもよい。
【0060】
項目152Aは、訓練ジョブの詳細を示す情報である。
図7では、項目152Aの詳細情報の一例として、音響モデル名称153A、訓練用音波形154A、完了予想155A、及び訓練実行者156Aが表示されている。音響モデル名称153Aは、第1ユーザが設定した名称である。例えば、「音声X→Y」は、X(一人若しくは複数人の歌手X、または1つ若しくは複数の楽器X)の音声を合成する訓練前の音響モデル120A(ベース音響モデル)を、実行中の訓練ジョブによって、Y(新たな歌手Yまたは楽器Y)の音声を合成する訓練済み音響モデル120Aに変化させることを意味する。訓練用音波形154Aは、実行中の訓練ジョブにおいて、音響モデル120Aの訓練に使用される音波形を示す。
図7の例は、音響モデル120Aのために音波形Bが使用されることを意味する。完了予想155Aは、実行中の訓練ジョブの進行度が100%に達すると予想される日時を示す。訓練実行者156Aは、実行中の訓練ジョブを実行したユーザ名を示す。当該ユーザ名は、アカウント名であってもよく、ニックネームであってもよい。
図7では、訓練実行者156Aは「U1」である。U1はYに係る歌手又は演奏者と同一でもよく、異なってもよい。
【0061】
試聴ボタン157Aは、後述する試聴要求を実行するボタンである。例えば、
図6において、S613における情報公開の後に、第2ユーザが試聴ボタン157Aを押すことによって、通信端末300Aがサーバ100Aに対して合成音声の試聴を要求する(ステップS621)。S621において試聴要求が実行されると、サーバ100Aは、当該試聴要求が実行された時点における進行度の音響モデル120Aを用いた試聴用の音声合成を、前記新たな音源IDを用いて実行し、試聴用の合成音波形を提供する(ステップS614)。当該試聴用の合成音波形の提供によって、通信端末300Aは、上記の時点における音響モデル120Aによって生成された合成音声を試聴できる(ステップS622)。当然ながら、この試聴は、通信端末200Aでも行える。
【0062】
訓練ジョブは、ある一群の処理(バッチ)を単位として、バッチ単位でまとめて実行される。上記の試聴要求が実行された時点で、音響モデル120Aが1つのバッチ処理の最中である場合、直前のバッチ処理で得られた音響モデル120Aで生成した試聴用の合成音波形を提供してもよいし、その時点以後で、実行中のバッチ処理が完了したタイミングで、得られた音響モデル120Aで生成した試聴用の合成音波形の提供を行ってもよい。つまり、サーバ100Aは、通信端末200A、300Aからの試聴要求に基づいて、当該試聴要求のタイミングに応じた音響モデル120Aによる試聴用の合成音波形を、第1および第2ユーザに提供する。
【0063】
以上のように、本実施形態に係る音響モデル訓練システム10Aによると、通信端末300Aの第2ユーザは、訓練ジョブによって音響モデル120Aが訓練され、確立されていく過程を閲覧できる。又は、通信端末200Aの第1ユーザは、上記のように、進行度が100%に達していなくても、満足するタイミングで訓練ジョブを終了できる。
【0064】
[3.第3実施形態]
図8及び
図9を用いて、第3実施形態に係る音響モデル訓練システム10Bについて説明する。音響モデル訓練システム10Bの全体構成及びサーバに関するブロック図は第1実施形態に係る音響モデル訓練システム10と同じなので、説明を省略する。以下の説明において、第1実施形態と同じ構成については説明を省略し、主に第1実施形態と相違する点について説明する。以下の説明において、第1実施形態と同様の構成について説明をする場合、
図1~
図5を参照し、これらの図に示された符号の後にアルファベット“B”を付して説明する。
【0065】
[3-1.音声合成方法]
図8は、本発明の一実施形態における音響モデルの訓練方法及び音声合成方法を示すシーケンス図である。
図8に示す音響モデルの訓練方法では、第1訓練ジョブ及び第2訓練ジョブが並行して実行されており、各々の訓練ジョブに関する状態情報を第3者に対して選択的に公開する構成について説明する。
図8のステップS801以前のステップは、
図4のS401~S403と同様なので、説明を省略する。
図8のS801は
図4のS404と同じである。
【0066】
S801における通信端末200Bからの第1実行指示に基づいて、サーバ100Bは、新たな音源IDと第1ユーザの選択した第1波形セットを用いて、第1ベース音響モデルの第1訓練ジョブを実行する(ステップS811)。S811において、第1訓練ジョブが開始されると、サーバ100Bは、通信端末200Bに対して第1訓練ジョブを開始したことを通知し、第1訓練ジョブに関する第1状態情報を第3者に公開することについて、可否を通信端末200Bに問い合わせる(ステップS812)。本実施形態において、上記の「第3者」は第2ユーザに該当する。通信端末200Bは、S812の問い合わせに対して、第1状態情報を公開する旨の公開指示をサーバ100Bに送信する(ステップS802)。
【0067】
S802において、上記のように第1ユーザによる第1公開指示に基づいて、サーバ100Bは、S811で実行された第1訓練ジョブに関する第1状態情報を、通信端末300B(第2ユーザ)に対して公開する(ステップS813)。第1ユーザが第1公開指示をしなかった場合は、サーバ100Bは、第2ユーザに第1状態情報を公開しない。
【0068】
続いて、S803における通信端末200Bからの第2実行指示に基づいて、サーバ100Bは、新たな音源IDと第1ユーザが選択した第2波形セットを用いて、第2ベース音響モデルの第2訓練ジョブを実行する(ステップS814)。S811、S814によって、第1訓練ジョブ及び第2訓練ジョブが並行して実行される。第1ベース音響モデルと第2ベース音響モデルとは相互に独立であり、両者の用いる音源ID間には何の関連性もない。例えば、n個の訓練ジョブを並行処理する場合は、n個の仮想マシンを起動することによって実現される。第2訓練ジョブに用いられる第2波形セットは第1訓練ジョブに用いられる第1波形セットと異なるが、第2訓練ジョブの訓練プログラムは第1訓練ジョブの訓練プログラムと同じである。第1訓練ジョブの完了時には、その成果として、第1波形セットで訓練された第1訓練済み音響モデルが得られ、また、第2訓練ジョブの完了時には、その成果として、第2波形セットで訓練された第2訓練済み音響モデルが得られる。
【0069】
第2訓練ジョブを実行する方法は第1訓練ジョブを実行する方法と同様である。第2訓練ジョブでは、第1ユーザが、予め保存された複数の音波形(及び保存される予定の音波形)から選択した一以上の音波形である第2波形セットが使用される。
【0070】
S814において、第2訓練ジョブが開始されると、サーバ100Bは、通信端末200Bに対して第2訓練ジョブを開始したことを通知し、第2訓練ジョブに関する第2状態情報の公開可否を通信端末200Bに問い合わせる(ステップS815)。通信端末200Bは、この問い合わせに対して、第2訓練ジョブに関する第2状態情報を公開する旨の第2公開指示をサーバ100Bに送信する(ステップS804)。第2公開指示を受信したサーバ100Bは、S814で実行された第2訓練ジョブに関する第2状態情報を、通信端末300B(第2ユーザ)に対して公開する(ステップS816)。第1ユーザが第2公開指示をしなかった場合は、サーバ100Bは、第2ユーザに第2状態情報を公開しない。
【0071】
なお、第1ユーザが、第1訓練ジョブ又は第2訓練ジョブに関する状態情報を公開することに予め同意して公開指示が行われている場合は、S812、S802、S815、S804のステップを省略できる。つまり、その予め行われた第1ユーザの公開指示に基づいて、第1訓練ジョブ又は第2訓練ジョブに関する状態情報が第2ユーザに公開されてもよい。
【0072】
S816以降のS831~S821のステップは、基本的には、
図6のS621~S618のステップと同様であるが、第1訓練ジョブと第2訓練ジョブの各々について、個別に実行される。
【0073】
[3-2.GUI160B]
ここで、S815で第1ユーザに対して提供されるGUIの一例について説明する。
図9は、本発明の一実施形態における音響モデルの訓練時に公開情報を設定するときの公開設定用GUIの一例を示す図である。
図9に示すGUI160Bは、第1ユーザの通信端末200B表示器に表示される。
【0074】
図9に示すように、GUI160Bは、訓練ジョブの状態情報を公開する際に、どのような情報を公開するか設定する画面である。本実施形態では、公開設定項目161Bには、第1訓練ジョブの項目162B及び第2訓練ジョブの項目167Bがある。第1訓練ジョブ162Bには、詳細設定の一例として、音響モデル名称163B、訓練用音波形164B、完了予想165B、及び訓練実行者166Bの項目が表示されている。第2訓練ジョブ167Bには、詳細設定の一例として、音響モデル名称168B、訓練用音波形169B、完了予想170B、及び訓練実行者171Bの項目が表示されている。上記の各項目は
図7に示す各項目と同じなので、説明を省略する。
【0075】
図9のGUI160Bにおいて、ユーザによって選択された項目は『黒塗りの四角形(■)』で表示されており、ユーザ選択されていない項目は『白抜きの四角形(□)』で表示されている。第1ユーザによって第1訓練ジョブ162Bの項目が選択されると、第1訓練ジョブに係る詳細項目は、全て自動的に選択される。この場合、第1訓練ジョブに係る全ての項目が公開対象となる。第2訓練ジョブ167Bの項目が非選択の場合、第1ユーザは、第2訓練ジョブに係る詳細項目を個別に選択できる。
図9の場合、音響モデル名称168B及び訓練用音波形169Bの項目のみが選択されている。この場合、第2訓練ジョブについて、選択された詳細項目のみが公開対象となる。第1通信端末は、第1訓練ジョブの第1状態情報のうち、第1ユーザにより公開対象として選択された範囲の情報について、サーバ100Bに第1公開指示を送信し(S802およびS804)、第2訓練ジョブの第2状態情報のうち、第1ユーザにより公開対象として選択された範囲の情報について、第2公開指示を送信する(S804)。つまり、サーバ100Bは、第1ユーザによる公開指示に基づいて、第1状態情報及び第2状態情報の少なくとも一方を、個別にかつ選択的に、第2ユーザに公開する(通信端末300Bに提供する)。第1訓練ジョブ及び第2訓練ジョブの複数の項目のうち、公開指示を受け取らなかった項目については、対応する状態情報を第2ユーザに公開しない。
【0076】
なお、S812においても上記と同様のGUIが提供されるが、そのGUIでは、第1訓練ジョブ162Bに関係する項目のみが表示される。
【0077】
公開ボタン172Bは、訓練中の音響モデルに関する情報公開を指示するボタンである。
図8のS804において、第1ユーザが公開ボタン172Bを押すことによって、第1訓練ジョブ及び第2訓練ジョブの状態情報のうち、ユーザによって選択された公開対象項目の公開指示が、通信端末200Bからサーバ100Bに送信され、その公開対象項目の状態情報が
図7と同様の形式で第3者に公開される(ステップS816)。
【0078】
以上のように、本実施形態に係る音響モデル訓練システム10Bによると、第1ユーザは、自身が起動した複数の訓練ジョブを、第3者に対して個別に公開できる。また、第1ユーザは、訓練ジョブの詳細項目ごとに、公開する項目と公開しない項目とを自由に設定できる。
【0079】
[4.第4実施形態]
図10を用いて、第4実施形態に係る音響モデル訓練システム10Cについて説明する。音響モデル訓練システム10Cの全体構成及びサーバに関するブロック図は第1実施形態に係る音響モデル訓練システム10と同じなので、説明を省略する。以下の説明において、第1実施形態と同じ構成については説明を省略し、主に第1実施形態と相違する点について説明する。以下の説明において、第1実施形態と同様の構成について説明をする場合、
図1~
図5を参照し、これらの図に示された符号の後にアルファベット“C”を付して説明する。
【0080】
[4-1.音声合成方法]
図10は、本発明の一実施形態における音響モデルの訓練方法を示すフローチャートである。
図10に示す音響モデルの訓練方法では、ユーザにより課金に対する支払いが実行されたことを条件に、そのユーザが実行指示した訓練ジョブを実行する。
図10では、
図4のS404の訓練ジョブ指示からS413の訓練ジョブ実行までの間に行われる動作について説明する。
図10のステップS1001、S1004は、それぞれ
図4のS404、S413と同じである。
【0081】
図10に示すように、S1001で通信端末200Cによって、訓練ジョブの実行指示(第1実行指示)がサーバ100Cに送信される。続いて、その実行指示を受け取ったサーバ100Cによって、訓練ジョブの実行を指示した第1ユーザに対する課金が実行され、通信端末200Cに課金に係る情報が通知される(ステップS1002)。当該通知の後に、サーバ100Cによって、通信端末200Cがサーバ100Cの運営者に対してその課金の支払いを実行したか否かの判断が行われる(ステップS1003)。通信端末200Cがその支払いを実行すると(S1003の「Yes」)、サーバ100Cによって、選択された波形セットを用いて、その課金の範囲で、ベース音響モデルに対し、その実行指示された訓練ジョブが実行される(ステップS1004)。一方、通信端末200Cがその支払いを実行しないと(S1003の「No」)、サーバ100Cによる訓練ジョブは実行されず、通信端末200Cに対してエラー(訓練ジョブの不実行)が通知される(ステップS1005)。サーバ100Cは、S1002の課金処理を、サーバ100Cの制御部が単位時間の訓練ジョブを行う(S1004)ごとに実行し、第1ユーザからの支払いを得れば(S1003)、訓練中の音響モデルに対して、次の単位時間の訓練ジョブを実行(S1004)してもよい。
【0082】
以上のように、本実施形態に係る音響モデル訓練システム10Cによると、第1ユーザは、支払った分に見合う訓練ジョブを、サーバ100Cに実行させることができる。
【0083】
[5.第5実施形態]
図11~
図14を用いて、第5実施形態に係る音響モデル訓練システム10Dについて説明する。音響モデル訓練システム10Dの全体構成及びサーバに関するブロック図は第1実施形態に係る音響モデル訓練システム10と同じなので、説明を省略する。以下の説明において、第1実施形態と同じ構成については説明を省略し、主に第1実施形態と相違する点について説明する。以下の説明において、第1実施形態と同様の構成について説明をする場合、
図1~
図5を参照し、これらの図に示された符号の後にアルファベット“D”を付して説明する。
【0084】
[5-1.音声合成方法]
図11は、本発明の一実施形態における音響モデルの訓練に用いる音波形の収録方法を示すシーケンス図である。
図11に示す収録方法では、例えばカラオケボックスなどの録音用空間で訓練用音波形の録音及びサーバへのアップロードを実行する構成について説明する。録音用空間は実空間である。以下の説明において、録音用空間としてレンタル空間を例示する。
【0085】
図11に示すカラオケサーバ500Dは、例えば、カラオケボックス及びカラオケブース等の貸出を統括するサーバ又はコンピュータである。カラオケサーバ500Dは、例えば一店舗に備えられたカラオケボックス及びカラオケブースなどの複数のレンタル空間の何れか1つのレンタル空間を特定する空間ID、及び各レンタル空間が利用可能か否かを示す利用可能性を管理する。レンタル空間は、カラオケボックスなどの完全に閉じられた空間でもよいし、カラオケブースなどのように、一部が外部に開放された空間でもよい。各レンタル空間には、録音機能とカラオケサーバ500Dとの通信機能とを備えたカラオケ機器が設置されている。カラオケサーバ500Dは、ネットワーク400Dに接続可能であり、ネットワーク400Dを介してサーバ100Dと通信できる。本実施形態において、サーバ100Dは、カラオケサーバ500Dに対するレンタル空間の利用予約業務を代行する。ただし、詳細は後述するが、この構成に限定されない。
【0086】
まず、通信端末200Dは、サーバ100Dが提供する音響モデル訓練サービスに対してログインをする(ステップS1101)。S1101において、通信端末200Dは、サーバ100Dに対して、当該サービスを利用する第1ユーザが入力したアカウント情報(例えば、ユーザIDとパスワード)を送信する。サーバ100Dは、通信端末200Dから受信したアカウント情報に基づいてユーザ認証を行い、第1ユーザのそのユーザIDのアカウントへのログインを承認する(ステップS1111)。ユーザ認証は、サーバ100Dではなく、外部の認証サーバで行ってもよい。
【0087】
通信端末200Dは、S1111でログインしたユーザIDにおいて、当該サービスの利用を含む所望の日時における所望の空間IDのレンタル空間の予約を要求する(ステップS1102)。サーバ100Dは、S1102の予約要求を受けると、カラオケサーバ500Dに対して当該日時における当該空間IDのレンタル空間の利用状況又は空き状況を確認する(ステップS1112)。カラオケサーバ500Dは、当該レンタル空間が利用可能であれば、予約を行い(ステップS1121)、当該日時における当該空間IDのレンタル空間の予約が完了した旨の予約完了情報をサーバ100Dに送信する。前記予約要求で、第1ユーザが前払いを指定している場合は、ステップS1121で、レンタル料と当該サービスの利用料の課金を行う。当該サービスの利用料は、レンタル空間の利用後に実行される、そこでの収録波形を用いた基本的な訓練ジョブの対価である。通信端末200Dは、レンタル空間の予約要求をカラオケサーバに対して行い、その予約要求に応じて予約を行ったカラオケサーバ500Dからサーバ100Dに、その予約に係るユーザIDと空間IDを含む予約完了情報を送信してもよい。
【0088】
サーバ100Dは、カラオケサーバ500Dから予約完了情報を受信すると(ステップS1113)、当該予約完了情報に係る空間IDと第1ユーザのユーザIDとをリンクさせる(ステップS1114)。そして、予約が完了したことを通信端末200Dに通知する(ステップS1115)。予約完了通知は、カラオケサーバ500Dから通信端末200Dに送られてもよい。
【0089】
通信端末200Dが予約完了通知を受けると、通信端末200Dは第1ユーザに対して、予約が完了したこと、並びに、予約されたレンタル空間及び日時を特定する情報を表示する。上記のレンタル空間を特定する情報は、例えば空間IDで特定されるカラオケボックスの部屋番号である。第1ユーザが、予約した日時に、予約されたレンタル空間に移動し、レンタル空間に備えられたカラオケ機器を操作して所望の楽曲を選択することで、その楽曲の伴奏が当該レンタル空間で再生される。第1ユーザはカラオケ機器を用いて録音開始指示及び録音終了指示を実行する。これらの指示に伴い、カラオケサーバ500Dでは、第1ユーザの歌声又は楽器の演奏音を録音する(ステップS1122)。
【0090】
レンタル空間の利用時間が終了したとき(録音完了)、カラオケサーバ500D(レンタル業者)は、レンタル空間と訓練ジョブの利用料が先払いされていなければ、その利用料を第1ユーザに課金し、第1ユーザは、カラオケサーバ500Dの端末にて、その利用料金を支払う。レンタル料金とセットなので、訓練ジョブの利用料は、その分だけS1002での課金よりディスカウントしてもよい。第1ユーザは、録音完了した音波形(波形データ)から、サーバ100Dにアップロードする音波形を選択し、さらに、訓練ジョブの利用料が支払われた場合、アップロードする音波形の中からその訓練ジョブに使用する波形セットを選択する。カラオケサーバ500Dは、選択された音波形及び録音が行われた空間IDをサーバ100Dの第1ユーザのユーザIDで特定される、第1ユーザの記憶領域にアップロードする(ステップS1123)。
【0091】
サーバ100Dは、アップロードされた音波形及び空間IDを、第1ユーザの記憶領域に互いにリンクさせて記憶する(ステップS1116)。サーバ100Dにアップロードされ、記憶される音波形は1つであってもよく、複数であってもよい。
【0092】
S1114で、空間IDと第1ユーザのユーザIDとがリンクし、S1116で、アップロードされた音波形と空間IDとがリンクする。したがって、サーバ100Dは、
図12に示すように、第1ユーザのユーザID180D、空間ID181D、及びアップロードされた音波形182Dをリンクして記憶する。
図12は、本発明の一実施形態において、サーバによって管理されるデータの例である。ユーザID180Dは、
図11のS1111でログインしたアカウントのユーザIDであり、後述する
図13の各データは、ユーザIDに対応した記憶領域に記憶される。空間ID181Dは、
図11のS1122で録音が行われた空間の空間IDである。音波形182Dは、
図11のS1122で録音され、S1123でサーバ100Dに送信された音波形である。
【0093】
サーバ100Dは、S1123で音波形がアップロードされた記憶領域から、当該音波形をアップロードした第1ユーザのユーザIDを特定する(ステップS1117)。その後、第1ユーザからの指示に基づいて、サーバ100Dは、新たな音源IDとアップロードされた音波形を用いて、ベース音響モデルの訓練ジョブを実行する(ステップS1118)。
【0094】
ここで、S1123でカラオケサーバ500Dからサーバ100Dにアップロードされるデータについて
図13を用いて説明する。
図11の説明では、S1123で第1ユーザの歌声又は演奏音を示す音波形だけがサーバ100Dにアップロードされる構成を例示したが、この構成に限定されない。例えば、歌声の場合、
図13に示すように、カラオケ機器によってレンタル空間に供給される楽曲のガイドメロディを構成する音を示す音高データ503D及び楽曲の歌詞を示すテキストデータ502Dが、当該音波形501Dとともにサーバ100Dにアップロードされてもよい。演奏音の場合は、テキストデータ502Dはアップロードされない。
【0095】
カラオケサーバ500Dが、S1122で録音されたデータを、S1123でサーバ100Dにアップロードするステップについて
図14を用いて説明する。
図11の説明では、S1122で録音された音波形が、特段のステップを経ることなく、S1123でサーバ100Dにアップロードされる構成を例示したが、この構成に限定されない。例えば、
図14に示すように、録音された音波形に係る音声データを再生したうえで、第1ユーザが、その音波形のアップロードの要否を判断してもよい。
図14の例では、カラオケ機器又は通信端末200Dを使用して、第1ユーザに対して、録音された音波形の再生要否、当該音波形のアップロード要否、再録音の要否、及び動作終了の要否を問い合わせる。これらの4つの問い合わせは、一つのGUIで順番に表示されてもよく、再生ボタン、アップロードボタン、再録音ボタン、及び終了ボタンとして並列にGUI上に表示されてもよい。
【0096】
図11のS1122で音声データの録音が完了した後に、
図14に示すように、カラオケサーバ500Dは、第1ユーザによる再生指示の有無を判断する(ステップS1401)。S1401で再生指示があった場合(S1401の「Yes」)、カラオケサーバ500Dは、カラオケ機器を使用して、
図11のS1122で録音された音声データを、録音が行われたレンタル空間で再生する(ステップS1402)。当該再生の際に、当該音声データのみを再生してもよく、当該音声データをガイドメロディとともに再生してもよい。S1402で再生が行われた後、再びS1401のステップに戻る。S1401で再生指示がない場合(S1401の「No」)、S1402の再生を実行せずに次のステップに進む。
【0097】
続いて、
図11のS1122で録音された音声データについて、アップロードの要否が判断される(ステップS1403)。例えば、カラオケサーバ500Dは、第1ユーザに対して、録音された音声データをアップロードするか否かを選択するGUIを提供し、第1ユーザによる選択に従ってアップロードの要否を判断する。
【0098】
S1403でアップロードが必要であると判断された場合(S1403の「Yes」)、
図11のS1123のアップロードが実行され、上記の動作が終了する。一方、S1403でアップロードを実行する指示がない場合(S1403の「No」)、再録音の要否が判断される(ステップS1404)。例えば、カラオケサーバ500Dは、第1ユーザに対して、再録音を行うか否かを選択するGUIを提供し、第1ユーザによる選択に従って再録音の要否を判断する。
【0099】
S1404で再録音が必要であると判断された場合(S1404の「Yes」)、カラオケサーバ500Dは、
図11のS1122と同様の方法で再録音を行う(ステップS1405)。S1405の再録音が終了すると、再度、S1401で再生指示の有無が判断される。S1404で再録音を開始する指示がない場合(S1404の「No」)、動作終了の可否が判断される(ステップS1406)。S1406で動作を終了していいと判断された場合(S1406の「Yes」)、上記の動作が終了する。一方、S1406で動作終了の指示がない場合(S1406の「No」)、S1401のステップに戻る。S1401における再生指示、S1403におけるアップロード実行指示、S1404における再録音の開始指示、及びS1406の終了指示がない場合、カラオケサーバ500Dは、これらの判断ステップを繰り返し実行する。
【0100】
本実施形態では、サーバ100Dが、カラオケサーバ500Dに対するレンタル空間の利用予約業務を代行する構成を例示したが、この構成に限定されない。例えば、カラオケサーバ500Dが、レンタル空間の利用予約業務を行ってもよい。その場合、サーバ100Dとカラオケサーバ500Dは、第1ユーザの第1アカウント情報を共有する。さらに、サーバ100Dは、カラオケサーバ500Dから受信した空間IDと音波形を、第1ユーザのユーザID(第1アカウント情報)にリンクして記憶する。その後のステップは、
図11のS1122以降と同様である。
【0101】
図11のS1122における録音開始指示及び録音終了指示は、楽曲の開始及び終了によって実行されてもよく、第1ユーザの任意の操作によって実行されてもよい。つまり、第1ユーザの録音指示に基づいて、楽曲の再生期間のうち指定された期間の音声データのみを収録してもよい。録音開始指示及び録音終了指示は、カラオケ機器を用いて実行されてもよく、通信端末200Dを用いて実行されてもよい。つまり、S1122の録音は、楽曲の再生期間の少なくとも一部の期間だけ実行されてもよい。上記の構成を換言すると、
図13に示すように、サーバ100Dは、レンタル空間において提供された、楽曲の第1ユーザが歌唱ないし演奏するパートの音を示す音高データ503Dや楽曲の歌詞を示すテキストデータ502Dを、楽曲の再生期間の少なくとも一部の期間における歌唱が収録された音声データである音波形501Dとともに、カラオケサーバ500Dから受信してもよい。そして、サーバ100Dは、当該歌唱ないし演奏音の音波形501Dを訓練用音波形として、楽譜データとリンクして記憶する。
【0102】
以上のように、本実施形態に係る音響モデル訓練システム10Dによると、カラオケボックス等を利用して音声データを録音し、サーバ100Dにアップロードできるため、第1ユーザが音声データを録音するための環境を準備する労力を軽減できる。
【0103】
[6.第6実施形態]
図15を用いて、第6実施形態に係る音響モデル訓練システム10Eについて説明する。音響モデル訓練システム10Eの全体構成及びサーバに関するブロック図は第1実施形態に係る音響モデル訓練システム10と同じなので、説明を省略する。以下の説明において、第1実施形態と同じ構成については説明を省略し、主に第1実施形態と相違する点について説明する。以下の説明において、第1実施形態と同様の構成について説明をする場合、
図1~
図5を参照し、これらの図に示された符号の後にアルファベット“E”を付して説明する。
【0104】
[6-1.音声合成方法]
図15は、本発明の一実施形態における目的とする音響モデルの訓練に適した楽曲の推薦方法を示すフローチャートである。
図15に示す推薦方法では、訓練用音波形としてサーバ100Eに予め保存された音波形の全部、又はその一部、又は、ユーザの選択した波形セットに基づいて、当該音波形に適した楽曲を第1ユーザに推薦する構成について説明する。通信端末100Eは、予め、第1ユーザが想定している音高又は音響特徴量に関しての当該音響モデルの使用範囲を示す情報を、第1ユーザから受け取っている。
【0105】
まず、サーバ100Eは、予め保存された訓練用音波形又は選択された波形セットの分析を行う(ステップS1501)。分析される訓練用音波形は、保存された訓練用音波形の全部ではなく、その一部の特定の音源(特定の歌唱者又は特定の楽器)の音波形である。例えば、サーバ100Eの第1ユーザの記憶領域に歌唱者別又は楽器別のフォルダを設け、訓練用音波形を、それぞれ対応する歌唱者ないし楽器のフォルダに分けて保存しておき、各フォルダに記憶されている音波形について、当該分析を個別に行うとよい。波形セットは、第1ユーザが特定の歌唱者又は特定の楽器の音響モデルを訓練するために選択した、特定の歌唱者又は特定の楽器の音波形のセットである。当該分析は、例えば音波形の音高又は音響特徴量に基づいて行われる。さらに、分析を行った音波形の楽曲が判っている場合、その音波形をその楽曲の歌唱又は演奏音の楽譜データと対比することによって、音高、音色、強弱等に関して、歌唱スキル又は演奏スキルを判定できる。又は、当該分析によって、歌唱スタイル、演奏スタイル、歌唱音域、又は演奏音域を判定できる。
【0106】
歌唱スタイルは歌い方であり、演奏スタイルは演奏の仕方である。具体的には、歌唱スタイルとして、ニュートラル、ビブラート、ハスキー、フライ、及びグロウル等が挙げられる。演奏スタイルとして、擦弦楽器であれば、ニュートラル、ビブラート、ピチカート、スピカート、フラジョレット、及びトレモロ等が挙げられ、撥弦楽器であれば、ニュートラル、ポジション、レガート、スライド、及びスラップ/ミュート等が挙げられる。クラリネットであれば、ニュートラル、スタカート、ビブラート、及びトリル等が挙げられる。なお、例えば、上記のビブラートは、ビブラートを多用する歌唱スタイル又は演奏スタイルを意味する。歌唱又は演奏におけるピッチ、音量、音色、及びこれらの動的挙動は、全体的にスタイルによって変わる。訓練ジョブにおいて、サーバ100Eは、新たな音色IDと波形セットとに加えて、その波形セットの分析で得られる歌唱スタイル又は演奏スタイルを入力としつつ、ベース音響モデル120Eを訓練してもよい。
【0107】
訓練用音波形の歌唱音域及び演奏音域は、特定の歌唱者の歌唱及び特定の楽器の演奏音の複数の音波形における音高の分布から判断され、その歌唱者ないし楽器の音波形の音域を示す。
【0108】
特定の音源の音色に関して、音高データ及び音響特徴量の使用予定範囲が網羅されていない場合に、サーバ100Eは、用意した訓練用音波形では音響モデルの訓練が十分にできていないと判断する。S1501の分析を行うことで、サーバ100Eは、特定の音源の音色を使用予定の全音域のうちで、音波形が全くない又は少ない音域を検出する。そして、サーバ100Eは、データが不十分な音域を補充するために、第1ユーザに推薦するための1以上の楽曲を特定する(ステップS1502)。そして、S1502で特定された楽曲を示す情報を通信端末200E(第1ユーザ)に提供し、通信端末200Eは、受信したその情報をその表示器に表示する。
【0109】
以上のように、本実施形態に係る音響モデル訓練システム10Eによると、訓練用音波形として用意された音波形では使用予定範囲をカバーしない場合に、それを第1ユーザに知らせられるため、第1ユーザは使用予定範囲を網羅する訓練用音波形を準備できる。
【0110】
なお、本発明は上記の実施形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。各実施形態は、技術的な矛盾を生じない限り、互いに組み合わせることができる。
【符号の説明】
【0111】
10:音響モデル訓練システム、 100:サーバ、 101:制御部、 102:RAM、 103:ROM、 104:ユーザインタフェース、 105:通信インターフェース、 110:ストレージ、 111:音声合成プログラム、 112:訓練ジョブ、 113:楽譜データ、 114:音波形、 120:音響モデル、 130:合成音波形、 140:GUI、 141、142、143:チェックボックス、 144:実行ボタン、 150A:GUI、 151A、152A:進行度を示す項目、 153A:音響モデル名称、 154A:訓練用音波形、 155A:完了予想、 156A:訓練実行者、 157A:試聴ボタン、 160B:GUI、 161B:公開設定項目、 162B:第1訓練ジョブ、 163B、168B:音響モデル名称、 164B、169B:訓練用音波形、 165B、170B:完了予想、 166B、171B:訓練実行者、 167B:第2訓練ジョブ、 172B:公開ボタン、 180D:アカウント情報、 182D:音波形、 200、300:通信端末、 400:ネットワーク、 411:ステップ、 500D:カラオケサーバ、 501D:音波形、 502D:テキストデータ、 503D:音高データ