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

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

▶ ヤマハ株式会社の特許一覧

<>
  • 特開-音響モデルの訓練方法 図1
  • 特開-音響モデルの訓練方法 図2
  • 特開-音響モデルの訓練方法 図3
  • 特開-音響モデルの訓練方法 図4
  • 特開-音響モデルの訓練方法 図5
  • 特開-音響モデルの訓練方法 図6
  • 特開-音響モデルの訓練方法 図7
  • 特開-音響モデルの訓練方法 図8
  • 特開-音響モデルの訓練方法 図9
  • 特開-音響モデルの訓練方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024054052
(43)【公開日】2024-04-16
(54)【発明の名称】音響モデルの訓練方法
(51)【国際特許分類】
   G10L 13/06 20130101AFI20240409BHJP
   G10L 13/00 20060101ALI20240409BHJP
【FI】
G10L13/06 220Z
G10L13/00 100Y
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022212414
(22)【出願日】2022-12-28
(31)【優先権主張番号】63/412,887
(32)【優先日】2022-10-04
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】000004075
【氏名又は名称】ヤマハ株式会社
(74)【代理人】
【識別番号】110000408
【氏名又は名称】弁理士法人高橋・林アンドパートナーズ
(72)【発明者】
【氏名】大道 竜之介
(72)【発明者】
【氏名】才野 慶二郎
(72)【発明者】
【氏名】西村 方成
(57)【要約】
【課題】訓練に用いる音波形のうち、ユーザが希望する部分だけを訓練に用いることで、効率良く音響モデルの訓練を実行すること。
【解決手段】音響モデルの訓練方法は、1以上のコンピュータで実現される、楽曲の特徴量の入力に応じて合成音波形を合成するための音響特徴量を生成する音響モデルの訓練方法であって、訓練用に選択された音波形の全区間から、時間軸に沿って、その音波形の音色が特定範囲に含まれる特定区間を複数検出し、前記検出された複数の特定区間の前記音波形を用いて前記音響モデルを訓練する。
【選択図】図5
【特許請求の範囲】
【請求項1】
1以上のコンピュータで実現される、楽曲の特徴量の入力に応じて合成音波形を合成するための音響特徴量を生成する音響モデルの訓練方法であって、
訓練用に選択された音波形の全区間から、時間軸に沿って、その音波形の音色が特定範囲に含まれる特定区間を複数検出し、
前記検出された複数の特定区間の前記音波形を用いて前記音響モデルを訓練する方法。
【請求項2】
前記複数の特定区間を表示し、少なくとも1つの特定区間をユーザの編集操作に応じて変更し、前記変更された特定区間を含む前記複数の特定区間が、前記訓練に使用される請求項1に記載の方法。
【請求項3】
前記調整は、前記少なくとも1つの特定区間の境界の変更、削除、又は追加である、請求項2に記載の方法。
【請求項4】
前記調整された特定区間の音波形に基づいて音を再生する、請求項2に記載の方法。
【請求項5】
前記特定区間を検出することは、
前記時間軸に沿って、前記選択された音波形における有音区間を検出し、
前記検出された有音区間における前記訓練用音波形の第1音色を判定し、
前記判定された第1音色が前記特定範囲に含まれるか否かに基づいて前記特定区間を検出することを含む、請求項1に記載の方法。
【請求項6】
前記特定区間を検出した後に、前記特定区間の音波形から、特定音色の成分波形を分離し、前記音響モデルの訓練は、前記特定区間の音波形に代えて、前記分離された成分波形を用いて実行される、請求項1に記載の方法。
【請求項7】
前記成分波形を分離することは、前記特定区間の音波形から伴奏音、残響音、及び雑音のうち少なくとも1の不要成分を除去することで、前記成分波形を分離する、請求項6に記載の方法。
【請求項8】
前記特定区間を検出することは、
前記選択された音波形から、未許可コンテンツが含まれる未許可区間を検出し、
前記特定から前記検出された未許可区間を除外することを含む、請求項1に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の一実施形態は、音響モデルの訓練方法に関する。
【背景技術】
【0002】
特定の歌手の声音及び特定の楽器の演奏音を合成する音声合成(Sound Synthesis)技術が知られている。特に、機械学習を利用した音声合成技術(例えば、特許文献1)では、ユーザによって入力された楽譜データ及び音響データに基づいて当該特定の音声及び演奏音で自然な発音の合成音声を出力するために、十分に訓練された音響モデルが要求される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】国際公開第2022/080395号
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、音響モデルを十分に訓練するためには、膨大な量の声音及び演奏音について言語特徴量をラベル付けする必要があり、莫大な時間と費用を要していた。そのため、資金を十分に有する企業しか音響モデルの訓練を実行することができず、音響モデルの種類が限られていた。また、音響モデルを訓練する際に訓練用に用いられる音源に雑音や不要な音が含まれる場合があり、訓練の質が低下するなどの問題があった。
【0005】
本発明の一実施形態の目的の一つは、訓練に用いる音波形のうち、ユーザが希望する部分だけを訓練に用いることで、効率良く音響モデルの訓練を行うことである。
【課題を解決するための手段】
【0006】
本発明の一実施形態による音響モデルの訓練方法は、1以上のコンピュータで実現される、楽曲の特徴量の入力に応じて合成音波形を合成するための音響特徴量を生成する音響モデルの訓練方法であって、訓練用に選択された音波形の全区間から、時間軸に沿って、その音波形の音色が特定範囲に含まれる特定区間を複数検出し、前記検出された複数の特定区間の前記音波形を用いて前記音響モデルを訓練する。
【発明の効果】
【0007】
本発明の一実施形態によれば、訓練に用いる音波形のうち、ユーザが希望する部分だけを訓練に用いることで、効率良く音響モデルの訓練を実行することができる。
【図面の簡単な説明】
【0008】
図1】音響モデルの訓練システムの全体構成図である。
図2】サーバの構成図である。
図3】音響モデルの説明図である。
図4】音響モデルの訓練方法を例示するシーケンス図である。
図5】音響モデルの訓練方法を例示するフローチャートである。
図6】音響モデルの訓練に用いる音波形を選択するグラフィカルユーザインターフェース(GUI)の一例を示す図である。
図7】音響モデルの訓練に用いる音波形の特定区間を編集するGUIの一例を示す図である。
図8】特定区間の境界を移動する編集例を示す図である。
図9】特定区間の境界を削除し追加する編集例を示す図である。
図10】第2実施形態の訓練方法において、ステップS502で実行される処理を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明の一実施形態における音響モデルの訓練方法について、図面を参照しながら詳細に説明する。以下に示す実施形態は本発明を実施する形態の一例であって、本発明はこれらの実施形態に限定して解釈されない。本実施形態で参照する図面において、同一部分又は同様の機能を有する部分には同一の符号又は類似の符号(数字の後にA、B等を付しただけの符号)が付されており、それらの繰り返しの説明は省略される場合がある。
【0010】
以下の実施形態において、「楽譜データ」は、音符の音高及び強度に関する情報、音符における音韻に関する情報、音符の発音期間に関する情報、及び演奏記号に関する情報を含むデータである。例えば、楽譜データは、楽曲の楽譜及び歌詞の少なくとも一方を示すデータである。楽譜データは、当該楽曲を構成する音符の時系列を示すデータであってもよく、当該楽曲を構成する言語の時系列を示すデータであってもよい。
【0011】
「音波形」は、音声の波形データであり、その音声を発する音源は、音源IDで特定される。例えば、音波形は、歌唱の波形データ及び楽器音の波形データの少なくとも一方である。例えば、音波形は、マイク等の入力装置を介して取り込まれた歌手の歌声及び楽器の演奏音の波形データを含む。音源IDは、その歌手の歌唱の音色、又はその楽器の演奏音の音色を特定する。音波形のうち、音響モデルを用いて合成音波形を生成するために入力される音波形を「合成用音波形」といい、音響モデルを訓練するために用いられる音波形を「訓練用音波形」という。合成用音波形と訓練用音波形とを区別する必要がない場合、これらを併せて、単に「音波形」という。
【0012】
「音響モデル」は、楽譜データの楽譜特徴量の入力と、音波形の音響特徴量の入力とを有する。音響モデルとして、例えば、国際公開第2022/080395号に記載された、楽譜エンコーダ111、音響エンコーダ121、切換部131、及び音響デコーダ133を有する音響モデルを用いる。この音響モデルは、入力された楽譜データの楽譜特徴量又は音波形の音響特徴量と音源IDとを処理することで、その音源IDが示す音色を有する、目的とする音波形の音響特徴量を生成する機能を有し、新たな合成音波形を生成するための音声合成プログラムによって使用される音声合成モデルである。音声合成プログラムは、ある楽曲の楽譜データから生成した楽譜特徴量と音源IDとを音響モデルに供給することで、その音源IDが示す音色で、かつその楽曲の音響特徴量を得て、その音響特徴量を音波形に変換する。或いは、音声合成プログラムは、ある楽曲の音波形から生成した音響特徴量と音源IDとを音響モデルに供給することで、その音源IDが示す音色で、かつその楽曲の新たな音響特徴量を得て、その新たな音響特徴量を音波形に変換する。音響モデル毎に、所定数の音源IDが用意される。つまり、各音響モデルは、所定数の音色のうちの、音源IDが示す音色の音響特徴量を選択的に生成する。
【0013】
音響モデルは、機械学習を利用した、例えば、畳み込みニューラルネットワーク(CNN)又はリカレントニューラルネットワーク(RNN)などを利用した所定のアーキテクチャの生成モデルである。音響特徴量は、自然音や合成音の波形の周波数スペクトルにおける発音の特徴を表すものであり、音響特徴量が近いことは歌声又は演奏音の音色やその時間変化が似ていることを意味する。
【0014】
音響モデルの訓練においては、音響モデルによって、参照した音波形の音響特徴量と類似する音響特徴量が生成されるように、音響モデルの変数が変更される。訓練には、例えば、国際公開第2022/080395号に記載された訓練プログラムP2、楽譜データD1(訓練用楽譜データ)、及び学習用音響データD2(訓練用音波形)を用いる。複数の音源IDに対応する複数の音声の波形を用いた基本訓練によって、複数の音源IDに対応する複数の音色の合成音の音響特徴量を生成できるように、音響モデル(楽譜エンコーダ、音響エンコーダ、及び音響デコーダ)の変数が変更される。さらに、その訓練済の音響モデルを、(未使用の)新たな音源IDに対応する別の音色の音波形を用いて補助訓練することで、その音響モデルは、新たな音源IDの示す音色の音響特徴量を生成できるようになる。具体的には、XXXさん(複数人)の声の音波形で訓練済の音響モデルに対して、さらに、新たな音源IDを用いて、YYYさん(一人)の声音の音波形で補助訓練を行うことにより、YYYさんの声音の音響特徴量を生成できる音響モデルになるように、音響モデル(少なくとも、音響デコーダ)の変数が変更される。音響モデルに対する、上記のような、新たな音源IDに対応する訓練の単位を「訓練ジョブ」という。つまり、訓練ジョブとは、訓練のプログラムによって実行される一連の訓練プロセスを意味する。
【0015】
「プログラム」とは、プロセッサ及びメモリを備えたコンピュータにおいてプロセッサより実行される命令又は命令群を指す。「コンピュータ」は、プログラムの実行主体を指す総称である。例えば、サーバ(又はクライアント)によりプログラムが実行される場合、「コンピュータ」は、サーバ(又はクライアント)を指す。また、サーバとクライアントとの間の分散処理により「プログラム」が実行される場合、「コンピュータ」は、サーバ及びクライアントの両方を含む。この場合、「プログラム」は、「サーバで実行されるプログラム」及び「クライアントで実行されるプログラム」を含む。「プログラム」が、複数のサーバ間で分散処理される場合も同様に、「コンピュータ」は、複数のサーバを含み、「プログラム」は、各サーバで実行される各プログラムを含む。
【0016】
本実施形態は、クライアントサーバシステムで構成されるが、本発明はそれ以外の構成でも実施できる。例えば、パーソナルコンピュータ(PC)、タブレット端末、スマートフォン、電子楽器、音響機器などの、コンピュータを備えた電子機器が、単独システムとして実施してもよい。或いは、ネットワークに接続された複数の電子機器が、分散システムとして実施してもよい。
【0017】
例えば、PCで音響モデルの訓練アプリを実行し、ローカル又はクラウドに記憶された音波形を用いて、ローカル又はクラウドに記憶された音響モデルを訓練してもよい。この場合、訓練ジョブは、他のタスクの空き時間を利用して、バックグラウンドで実行してもよい。
【0018】
[1.第1実施形態]
[1-1.システムの全体構成]
図1は、本発明の一実施形態における音響モデル訓練システムの全体構成を示す図である。図1に示すように、音響モデル訓練システム10は、サーバ100(Server)、通信端末200(TM1)、及び通信端末300(TM2)を含む。サーバ100及び通信端末200、300は、それぞれネットワーク400に接続可能である。通信端末200及び通信端末300は、それぞれネットワーク400を介してサーバ100と通信できる。
【0019】
本実施形態において、サーバ100は、音声合成器として機能し、音響モデルの訓練を実施するコンピュータである。サーバ100は、ストレージ110を備えている。図1では、ストレージ110がサーバ100に直接接続された構成が例示されているが、この構成に限定されない。例えば、ストレージ110が直接又は他のコンピュータを介してネットワーク400に接続され、サーバ100とストレージ110との間のデータの送受信がネットワーク400を介して行われていてもよい。
【0020】
通信端末200は、音響モデルを訓練するための訓練用音波形を選択し、サーバ100に訓練を実行する指示を送信する端末である。通信端末300は、通信端末200とは異なる端末であり、サーバ100にアクセス可能な端末である。例えば、通信端末300は、合成用音波形を提供してサーバ100に対して合成音波形の生成を要求する端末である。通信端末200、300は、例えばスマートフォン若しくはタブレット端末などのモバイル用の通信端末、又は、デスクトップ型パソコンなどの据え置き用の通信端末を含む。
【0021】
ネットワーク400は一般的なWorld Wide Web(WWW)サービスによって提供されるインターネット、WAN(Wide Area Network)、又は社内LANなどのLAN(Local Area Network)である。
【0022】
[1-2.音声合成に用いられるサーバの構成]
図2は、本発明の一実施形態におけるサーバの構成を示すブロック図である。図2に示すように、サーバ100は、制御部101、RAM(Random Access Memory)102、ROM(Read Only Memory)103、ユーザインタフェース(UI)104、通信インタフェース105、及びストレージ110を備える。サーバ100の各機能部が協働することによって、本実施形態の音声合成技術が実現される。
【0023】
制御部101は、中央演算処理装置(CPU:Central Processing Unit)、画像処理装置(GPU:Graphics Processing Unit)などの1以上のプロセッサ、当該プロセッサに接続されたレジスタやメモリなどの記憶装置を含む。制御部101は、メモリに一時的に記憶されたプログラムをCPU及びGPUによって実行し、サーバ100に備えられた各機能を実現させる。具体的には、制御部101は、通信端末200からの各種要求信号に応じて演算処理を行い、通信端末200、300にコンテンツデータを提供する。
【0024】
RAM102は、演算処理に必要な制御プログラム、音響モデル(アーキテクチャと変数で構成される)及びコンテンツデータなどを一時的に記憶する。また、RAM102は、例えばデータバッファとして使用され、通信端末200など、外部機器から受信した各種データを、ストレージ110に記憶させるまでの間、一時的に保持する。RAM102として、例えば、SRAM(Static Random Access Memory)又はDRAM(Dynamic Random Access Memory)などの汎用メモリを用いてもよい。
【0025】
ROM103は、サーバ100の機能を実現させるための各種プログラム、各種音響モデル、及びパラメータ等を記憶する。ROM103に記憶されているプログラム、音響モデル、及びパラメータ等は、必要に応じて制御部101によって読み出され、実行ないし利用される。
【0026】
ユーザインタフェース104は、制御部101の制御によって、その表示器にグラフィカルユーザインタフェース(GUI)などの各種の表示画像を表示し、サーバ100のユーザからの入力を受け付ける。
【0027】
通信インタフェース105は、制御部101の制御によって、ネットワーク400に接続して、ネットワーク400に接続された通信端末200、300などの他の通信装置との間で、情報の送信及び受信を行うインタフェースである。
【0028】
ストレージ110は、不揮発性メモリ、ハードディスクドライブなどの恒久的な情報の保持及び書き換えが可能な記録装置(記録媒体)である。ストレージ110は、プログラム、音響モデル、及び当該プログラムの実行に必要となるパラメータ等の情報を記憶する。図2に示すように、ストレージ110には、例えば音声合成プログラム111、訓練ジョブ112、楽譜データ113、及び音波形114が記憶されている。これらのプログラム及びデータは一般的な音声合成に係るものを使用することができ、例えば、国際公開第2022/080395号に記載された音声合成プログラムP1、訓練プログラムP2、楽譜データD1、及び音響データD2をそれぞれ用いてもよい。
【0029】
上記のように、音声合成プログラム111は、楽譜データや音波形から合成音波形を生成するためのプログラムである。制御部101が音声合成プログラム111を実行するとき、制御部101は音響モデル120を使用して合成音波形を生成する。なお、当該合成音波形は、国際公開第2022/080395号に記載された音響データD3に対応する。訓練ジョブ112で制御部101により実行される音響モデル120の訓練プログラムは、例えば国際公開第2022/080395号に記載されたエンコーダ及び音響デコーダを訓練するプログラムである。楽譜データは、楽曲を規定するデータである。音波形は、音声又は演奏音の波形データであり、例えば歌手の歌声又は楽器の演奏音を示す波形データである。
【0030】
[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を合成して出力する。
【0031】
音響モデル120は、機械学習を利用した生成モデルであり、訓練プログラムを実行している(つまり、訓練ジョブ112を実行中の)制御部101によって訓練される。制御部101は、(未使用の)新たな音源IDと訓練用音波形を用いて音響モデル120を訓練し、音響モデル120(少なくとも音響デコーダ)の変数を決定する。具体的には、制御部101は、訓練用音波形から訓練用の音響特徴量を生成し、音響モデル120に新たな音源IDと訓練用の音響特徴量が入力された場合に、合成音波形130を生成する音響特徴量が訓練用の音響特徴量に近づくように、上記の変数を徐々に繰り返し変更する。訓練用音波形は、例えば、通信端末200又は通信端末300からサーバ100にアップロード(送信)され、ストレージ110にユーザデータとして保存されてもよく、参考データとしてサーバ100の管理者が予めストレージ110に保存したものでもよい。以下の説明において、ストレージ110に保存することをサーバ100に保存する、という場合がある。
【0032】
[1-4.音声合成方法]
図4は、本発明の一実施形態における音響モデルの訓練方法及び音声合成方法を示すシーケンス図である。図4に示す音響モデルの訓練方法では、通信端末200が、サーバ100に訓練用音波形をアップロードし、訓練ジョブ及び音声合成を指示する例を示す。ただし、上記のように、訓練用音波形はその他の方法でサーバ100に予め保存されていてもよい。図4に示すシーケンスにおける訓練ジョブを「第1訓練ジョブ」という場合がある。通信端末200側の処理TM1の各ステップおよびサーバ100側の処理Serverの各ステップは、実際には、通信端末200の制御部およびサーバ100の制御部101がそれぞれ実行するが、ここでは説明を単純にするため、通信端末200およびサーバ100を各ステップの実行主体として表現する。特に断らない限り、以降のシーケンス図の説明やフローチャートの説明も同様である。
【0033】
図4に示すように、まず、通信端末200は、サーバ100の第1ユーザのアカウントにログインした第1ユーザの指示に基づいて、サーバ100に、1又は複数の訓練用音波形をアップロード(送信)する(ステップS401)。サーバ100は、S401で送信された訓練用音波形を、第1ユーザの記憶領域に記憶する(ステップS411)。サーバ100にアップロードされる音波形は1つでも、複数でもよく、複数の音波形は第1ユーザの記憶領域の複数のフォルダに分けて記憶されてもよい。上記のステップS401、411は、以下の訓練ジョブを実行するための準備に係るステップである。
【0034】
続いて、以下に訓練ジョブを実行するためのステップを説明する。通信端末200は、サーバ100に訓練ジョブの実行を要求する(ステップS402)。S402の要求に対して、サーバ100は、通信端末200に対して、予め保存された音波形(及び保存される予定の音波形)のうち訓練ジョブに使用する音波形を選択するためのグラフィカルユーザインタフェース(GUI)を提供する(ステップS412)。
【0035】
通信端末200は、その表示器にS412で提供されたGUIを表示し、第1ユーザは、そのGUIを用いて、記憶領域(乃至所望のフォルダ)にアップロードされた複数の音波形から一以上の訓練用音波形を波形セット149(図5参照)として選択する(ステップS403)。S403で波形セット149(訓練用音波形)が選択された後に、第1ユーザからの指示に応じて、通信端末200は、訓練ジョブの実行開始を指示する(ステップS404)。
【0036】
S404における通信端末200からの指示に基づいて、サーバ100は、選択された波形セット149を用いて訓練ジョブの実行を開始する(ステップS413)。換言すると、S413において、S412で提供されたGUIを介した第1ユーザの指示に基づいて訓練ジョブが実行される。
【0037】
訓練には、選択された波形セット149中の各波形が全部使用されるのではなく、無音区間やノイズ区間などを除いた有用区間のみを含む前処理済み波形セットが使用される。また、訓練される音響モデル120(ベース音響モデル)として、音響デコーダが未訓練の音響モデル120を用いてもよいが、複数の基本訓練済みの音響モデル120のうち、波形セット149の波形の音響特徴量に近い音響特徴量の生成を学習した音響デコーダを含む音響モデル120を選択して用いれば、訓練ジョブにかかる時間やコストを低減できる。何れの音響モデル120を選ぶとしても、楽譜エンコーダと音響エンコーダは、基本訓練済みのものを用いる。
【0038】
ベース音響モデルは、第1ユーザが選択した波形セット149に基づいて、サーバ100が決定してもよい。又は、第1ユーザが、複数の訓練済み音響モデルのいずれかをベース音響モデルとして選択して、第1実行指示にそのベース音響モデルを示す指定データを含めてもよい。音響デコーダに供給する音源ID(例えば、歌手ID、楽器IDなど)としては、未使用の新たな音源IDを用いる。ここで、新たな音源IDとしてどの音源IDを使用されたかを、ユーザは必ずしも知らなくてよい。ただ、訓練済みモデルを使用して音声合成する際には、自動的に、その新たな音源IDが用いられる。
【0039】
訓練ジョブでは、前処理済み波形セットから一部の短波形を少しずつ取り出し、取り出した短波形を用いて音響モデル(少なくとも音響デコーダ)を訓練する、という単位訓練を繰り返す。単位訓練では、前記新たな音源IDと短波形の音響特徴量とを音響モデル120に入力し、それに応じて音響モデル120が出力する音響特徴量と入力した音響特徴量の間の差分が小さくなるよう、音響モデルの変数を調整する。変数の調整には、例えば、誤差逆伝搬法を用いる。単位訓練を繰り返すことで、前処理済み波形セットによる訓練が一通り終わったら、音響モデル120が生成する音響特徴量の品質を評価して、当該品質が所定の基準に達していなければ、その前処理済み波形セットを用いて、再び音響モデルの訓練を行う。音響モデル120が生成する音響特徴量の品質が所定の基準に達していれば、訓練ジョブは完了し、その時点の音響モデル120が訓練済み音響モデル120となる。
【0040】
S413で訓練ジョブが完了することで、訓練済み音響モデル120が確立される(ステップS414)。サーバ100は、通信端末200に、訓練済み音響モデル120が確立されたことを通知する(ステップS415)。上記のS403~S415のステップが、音響モデル120の訓練ジョブである。
【0041】
S415の通知の後に、第1ユーザからの指示に応じて、通信端末200が、所望の楽曲の楽譜データを含む音声合成の指示をサーバ100に送信する(ステップS405)。それに応じて、サーバ100は音声合成プログラムを実行して、その楽譜データに基づいて、S414で完成した訓練済み音響モデル120を用いた音声合成を実行する(ステップS416)。S416で生成された合成音波形130を通信端末200に送信する(ステップS417)。この音声合成では、前記新たな音源IDが用いられる。
【0042】
S416及びS417を併せて、訓練ジョブによって訓練された訓練済み音響モデル120(音声合成機能)を、通信端末200ないしユーザに提供する、ということができる。ステップS416の音声合成プログラムの実行を、サーバ100の代わりに、通信端末200で行ってもよい。その場合、サーバ100は、当該訓練済み音響モデル120を通信端末200に送信し、通信端末200は、受け取った訓練済み音響モデル120を用いて、前記新たな音源IDで、所望の楽曲の楽譜データに基づく音声合成処理を実行し、合成音波形130を取得する。
【0043】
本実施形態では、S402で訓練ジョブの実行を要求する前に、S401で訓練用音波形をアップロードしたが、この構成に限定されない。例えば、訓練用音波形のアップロードが、S404で訓練ジョブの実行を指示した後に行われてもよい。この場合、S403において、通信端末200に記憶された複数の音波形(未アップロードの音波形を含む)から、波形セット149として一以上の音波形が選択され、訓練ジョブの実行指示に応じて、選択された音波形のうちの未アップロードの音波形が、アップロードされてもよい。
【0044】
[1-5.音波形の前処理および音響モデルの訓練方法]
図5は、本発明の一実施形態における音響モデルの訓練方法を示すフローチャートである。図5に示すフローチャートは、図4のS402~S404、及び、S412~S414において、通信端末200とサーバ100とが協働で実行する訓練処理を示す。上述したように、本実施形態のシステムは、クライアントサーバの構成に限らず、単独システムや分散システムでもよい。従って、以下の説明では、それらの上位概念としてのシステム(システムの1以上のプロセッサ)が、各種処理を実行する、と表現する。S404で指示される訓練ジョブでは、図3の音響モデル120の訓練に、複数の音波形114が使用される。図5に示す動作によって、システムは、GUIを介したユーザの操作に基づいて、訓練に用いる音波形を選択し、自動検出された特定区間を必要に応じて編集し、特定区間の音波形を用いて音響モデルを訓練する。
【0045】
ユーザが訓練ジョブを要求するとき(図4のS402)、ユーザは、訓練済みの複数の音響モデルの中から訓練する1の音響モデルを指定する。その要求に応じて、図5に示す訓練処理が起動され、システムは、ユーザの指定した音響モデルを特定し、その音響モデルの訓練に用いた音波形と同傾向の音色(つまり、特定範囲内に入る音色)を検出するための特定範囲を初期設定する(ステップS501)。例えば、男声4の声で訓練された音響モデルが特定されると、男声4と同傾向の音色の音を識別するよう、その特定範囲が初期設定される。
【0046】
次に、システムは、(例えば、サーバ100に)記憶された複数の音波形の各々から、所定レベルを超える音を含む区間(有音区間)を検出し、検出された複数の有音区間から、音色識別器を用いて種々の音色とノイズとを検出し、その検出結果に基づき、訓練に用いられる特定区間を含む各種区間を検出して、その検出結果に基づき、表示器(例えば、通信端末200の表示器)に波形選択用のグラフィカルユーザインタフェース(GUI)600を表示する(ステップS502)。
【0047】
GUI600は、ユーザから音響モデルの訓練に用いる音波形の選択を受け付けるインタフェースである。このGUI600には、システムの特定のフォルダに記憶された各音波形の名称と、音色識別器による検出結果に基づく各種情報とが表示される。例えば図6では、各音波形の名前に関連付けて、その音波形から判別された主要成分の音色(「男声5」など)と、その音波形における異音色含有区間の存在(「異音色」)と、ノイズ含有区間の存在(「ノイズ」)と、伴奏音含有区間の存在(「伴奏」)とが表示される。
【0048】
ステップS502において、音色識別器は、複数の種別の複数の各音色とノイズとについて、音波形がそれに該当する可能性を、時間軸に沿って推定するのに用いられる。識別される音色の種別は、男声、女声、金管、木管、弦楽器、撥弦楽器、打楽器などである。システムは、前記複数の音色中で、前記推定された可能性が最も高い音色を、「主要音色」として検出する。ステップS501で設定される音色範囲は、音色識別器が識別できる1以上の音色を含む。
【0049】
ステップS502において、システムは、ある区間の音信号の主要音色が特定範囲に含まれるとき、さらに、特定範囲外の音色やノイズの可能性が閾値より低ければ、その区間を「特定区間」として判定する。そこで、特定範囲外の音色の可能性が所定の閾値より高ければ、その特定範囲外の音色の種別が特定範囲内の音色と同種か否か判別し、同種であればその区間を「異音色含有区間」として、異種であれば「伴奏含有区間」として判定する。また、ノイズの可能性が所定の閾値より高ければ「ノイズ含有区間」として判定する。
【0050】
GUI600において、ユーザが、所望の音波形の名称の横のチェックボックスをチェックすると(ユーザによる選択操作)、システムは、訓練に用いる音波形として、そのチェックされた音波形を選択する(ステップS503)。例えば図6では、音波形1、3、及び4が選択されている。また、ユーザが、所望の音波形にカーソルを置いて画面の「再生(Play)」ボタン610を操作すると(ステップS504の「YES」)、システムは、そのカーソルで指定された音波形の音を再生する(ステップS505)。ユーザは、その音を耳で確認しながら、音波形を選択できる。ユーザにより「音波形の編集」ないし「訓練の開始」が指示されるまで、以上の音波形の選択と再生の処理が継続される(ステップS503~S506の繰り返し)。
【0051】
GUI600において、ユーザが、「訓練(Train)」ボタン620を操作して、訓練開始を指示すると(ステップS506の「訓練開始」)、システムは、選択された音波形のうちの特定区間の音波形を用いて、特定された音響モデルの訓練ジョブ(ステップS507)を開始する。クライアントサーバ構成であれば、このとき、訓練ジョブの実行指示が、通信端末200からサーバ100に送信される。図4に関連して説明したとおり、この訓練ジョブにより、訓練に用いた音波形に類似する特性を有する音波形を生成する能力を有する音響モデルが確立される。本発明では、用意した音波形のうちの、音色が特定範囲に入る特定区間の音波形を用いて訓練を行うため、訓練に要する時間が短縮され、かつ、確立される音響モデルの品質が向上する。
【0052】
ユーザによる「編集(Edit)」ボタン630の操作(S506の「編集」)に応じて、システムは、カーソルで指定された音波形(例えば、音波形3)の特定区間を編集する処理(ステップS508~S518)を開始する。システムは、図7に例示されるように、音響モデルの訓練処理に用いる音波形の区間をユーザが編集するためのGUI(図7)を表示する(ステップS508)。
【0053】
図7に示すように、GUI700には、音波形をグラフ表示する波形表示部710と、境界の移動のためのグリッド720と、7つの操作ボタン730~790と、が設けられている。波形表示部710の横軸は時間であり、縦軸は音波形のサンプル値を示す。図7の波形表示部710には、例えば、音波形3の一部の1分程度の範囲が、時間方向に圧縮して表示されている。波形表示部710は小縮尺なので、波形表示部710には、音波形の各サンプルは視認できず、音波形の振幅包絡が視認できる。波形表示部710の上部には、ステップS502において音波形から検出された各種区間を示す帯が、時間軸に沿って表示される。
【0054】
例えば図7では、特定区間S3~S6、異音色区間O1、雑音含有区間N1、及び伴奏含有区間A1を示す帯が表示される。特定区間、雑音含有区間、及び伴奏含有区間は、音波形の主要音色が特定範囲に入るとシステムが判定した区間であり、異音色区間O1は、主要音色が特定範囲に入らないとシステムが判定した区間である。特定区間S3~S6は、主要音色が特定範囲に入ると判定された区間から、雑音が含有される雑音含有区間N1と、伴奏が含有される伴奏含有区間A1とを除外した区間である。なお、音波形の時間軸のうち、何れの帯も表示されていない区間は、音のレベルが所定レベルを下回る、無音区間である。
【0055】
図7の波形表示部710では、各区間S3~S6、O1、N1、及びA1の始点と終点を示す境界が表示されている。例えば、境界L1とL2は、特定区間S1の始点と終点である。境界L2とL3は、異音色区間O1の始点と終点である。これらの境界は、ユーザの編集操作によって、移動、追加、乃至削除できる。
【0056】
GUI700において、ユーザが、何れかの境界に対して編集操作すると(ステップS509の「YES」)、システムは、そのユーザ操作に応じて、その境界を編集する(ステップS510)。
【0057】
図8は、境界L2の移動操作が行われた場合である。例えば、境界L2のグリッド720-2を、ユーザが右方向にドラッグ(右方向への移動操作)すると、システムは、そのグリッド720-2と共に境界L2を右方向に移動する。結果として、特定領域S3が右方向に拡大し、異音色領域O1が右方向に縮小する。
【0058】
図9は、「削除(Del)」ボタン730を用いた削除操作の後、「追加(Add)」ボタン740を用いた追加操作が行われた場合である。ユーザが、カーソルで異音色区間O1を指定し、「削除」ボタン730を押すと、システムは、境界L2を削除して、特定区間S3(図9の(a))を、境界L1から境界L3までの区間に拡大するとともに、異音色区間O1を消去する(図9の(b))。
【0059】
続けて、特定区間S3にカーソルがある状態で、ユーザが「追加」ボタン740を押すと、システムは、特定区間S3(図9の(b))内に2つの境界L2a、L2bを追加して、その特定区間S3を特定区間S3a、異音色区間O1’、及び特定区間S3bに分割する(図9の(c))。これにより、既存の特定区間S3の中間部が、訓練から除外される異音色区間O1に変わる。なお、追加する境界として、ユーザがL2aとL2bの何れか一方を指定し、特定区間S3の前部又は後部を異音色区間O1に変えるようにしてもよい。境界L2aだけ追加する場合は、特定区間S3が、特定区間S3aと異音色区間O1’とに分割される。境界L2bだけが追加する場合は、特定区間S3が、異音色区間O1’と特定区間S3bとに分割される。
【0060】
ステップS510の境界編集によって、音波形のある個所では特定区間が拡大され(図8図9の(b))、また、別の個所では特定区間が縮小される(図9の(c))。特定区間の拡大部分の音波形の音色を、特定範囲に含めたいとユーザが希望する場合、または、特定区間の一部(特定区間の縮小部分)の音波形の音色を、特定範囲から除外したいとユーザが希望する場合、ユーザはシステムに対して「反映要」を指示する。「反映要」が指示された場合、システムは、特定範囲を、拡大部分の音色を含めるよう拡大する、又は、縮小部分の音色を除外するよう縮小する(ステップS511)。これにより、ステップS502で説明した、複数の音波形の複数の有音区間からの、特定区間を含む各種区間の検出が再実行され、その識別結果に基づいて、複数の特定区間の複数の境界のうち、ユーザが手動で設定した境界を除く、識別器を用いて自動設定された境界が自動更新される。ユーザは、所望の音波形の音色が含まれるよう、特定範囲を変更できる。
【0061】
GUI700において、ユーザが、カーソルで何れかの区間を指定して、「DeNoise」ボタン750を操作すると(ステップS512の「YES」)、システムは、指定された区間(対象区間)の音波形に対し、雑音除去処理を施して、ノイズが抑圧された新たな音波形を生成する(ステップS513)。雑音除去には、公知の如何なる手法を用いてもよい。また、雑音除去処理に用いる何れかのパラメータを、ユーザが設定してもよい。雑音除去された新たな音波形は、再生処理や訓練処理において、対象区間の元の音波形の代わりに使用される。対象区間が雑音含有区間の場合、雑音除去処理によりノイズの抑圧された新たな音波形は、システムにより「特定区間」と判定し直されてもよい。
【0062】
GUI700において、ユーザが、カーソルで何れかの区間を指定して、「DeMix」ボタン760を操作すると(ステップS514の「YES」)、システムは、指定された区間(対象区間)の音波形に対し、音源分離処理を施して、特定範囲に入る音色以外の成分が抑圧された新たな音波形を生成する(ステップS515)。音源分離には、公知の如何なる手法を用いてもよい。また、音源分離処理に用いる何れかのパラメータを、ユーザが設定してもよい。音源分離された新たな音波形は、再生処理や訓練処理において、対象区間の元の音波形の代わりに使用される。対象区間が伴奏含有区間の場合、雑音除去処理により他の楽器音が抑圧された新たな音波形は、システムにより「特定区間」と判定され直されてもよい。
【0063】
GUI700において、ユーザが、カーソルで何れかの区間を指定して、「再生(Play)」ボタン770を操作すると(ステップS516の「YES」)、システムは、指定された区間(対象区間)の音波形を再生する(ステップS517)。例えば、ユーザは、編集(境界編集、雑音除去、又は音源分離)の前及び後の対象区間の音波形の音を、耳で確認できる。ユーザにより「別の音波形の編集」ないし「訓練の開始」が指示されるまで、以上の音波形の区間編集の処理が継続される(ステップS509~S518の繰り返し)。
【0064】
GUI700において、ユーザにより、「別波形(Other W)」ボタン780が操作され、別の音波形の編集が指示されると(ステップS518の「別波形を編集」)、システムは、ユーザが新たに指定した音波形について、図7の区間編集GUIを表示し(ステップS508)、その音波形の区間編集を行う(ステップS509~S518)。その音波形は、ステップS503で選択された音波形の中から新たに指定される。
【0065】
GUI700において、ユーザが、「訓練(Train)」ボタン790を操作して、訓練開始を指示すると(ステップS518の「訓練開始」)、訓練ジョブの実行指示が、通信端末200からサーバ100に送信され、システム(サーバ100)は、選択された音波形のうちの特定区間の音波形を用いて、特定された音響モデルの訓練ジョブ(ステップS507)を開始する。区間編集により、ユーザが所望する音色の区間を含み、所望しない音色の区間を除外した、特定区間の音波形を用いて、音響モデルを訓練できる。
【0066】
上述した雑音や伴奏音の除去の他に、残響音を除去してもよい。残響音は、反射音を含み、例えば、初期反射音及び後部残響音を含む。
【0067】
[2.第2実施形態]
図10を用いて、第2実施形態に係る音響モデル訓練システム10について説明する。音響モデル訓練システム10の全体構成及びサーバに関するブロック図は第1実施形態に係る音響モデル訓練システム10と同じなので、説明を省略する。以下の説明において、第1実施形態と同じ構成については説明を省略し、主に第1実施形態と相違する点について説明する。
【0068】
[2-1.訓練用音波形の調整方法]
第2実施形態は、基本的には、第1実施形態の図5に示される訓練方法のフローチャートに準ずるが、システムは、ステップS502の処理の代わりに、図10のフローチャートに示す処理を実行する。
【0069】
この処理において、システムは、まず音色識別器と、音響モデルに応じて特定区間が初期設定された特定範囲とを用いて、用意された各音波形の複数の有音区間から、音波形の音色が特定範囲に入る有音区間を特定区間として検出する(ステップS1001)。次に、システムは、未許可コンテンツを識別するよう設定されたコンテンツ識別器を用いて、前記各音波形の複数の有音区間から、著作権者の許可を得ていない音楽コンテンツを検出する(ステップS1002)。当該識別器によって、音波形の楽曲及び演奏者(楽器の演奏者だけでなく、歌手や歌唱合成ソフトを含む)が特定される。
【0070】
システムは、S1002で、音波形が未許可コンテンツを含むと判断された区間を、未許可区間として設定し、S1001で検出された特定区間から除外する(ステップS1003)。システムは、未許可区間が除外された特定区間に基づき、図6の波形選択GUIを表示し(S1004)、図10の処理を終了する。なお、システムは、その波形選択GUIに、各音波形に対応付けて、未許可コンテンツの含有(「未許可」)を表示してもよい。なお、ステップS507において、ここで設定された未許可区間を含むよう特定区間を編集することは禁じられており、ユーザがその種の編集操作を行ったとしても、システムはその編集操作を受け付けない。
【0071】
以上のように、本実施形態に係る音響モデルの訓練方法によると、例えばユーザが訓練に使用しようとしている音波形に、著作権や商標権の権利者の許諾を得ていない楽曲又は演奏者のコンテンツが含まれているような場合であっても、音響モデルの訓練にそのような未許可コンテンツを使用される事態を回避できる。
【0072】
なお、本発明は上記の実施形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【0073】
10:音響モデル訓練システム、 100:サーバ、 101:制御部、 102:RAM、 103:ROM、 104:表示部、 105:通信インタフェース、 106:デバイスインタフェース、 107:サウンドシステム、 110:ストレージ、 111:音声合成プログラム、 112:訓練ジョブ、 113:楽譜データ、 114:音波形、 120:音響モデル、 130:合成音波形、 200、300:通信端末、 400:ネットワーク、 500:インタフェース、 510:音波形表示部、 520:無音区間検出ボタン、 530:削除ボタン、 540:再生ボタン、 550:雑音設定ボタン、 551:調整ボタン、 552:削除ボタン、 553:終了ボタン、 560:訓練実行ボタン、 L12、L23、L34、L45、La1、La2、Lb1、Lb2:境界、 N1、N2:ピーク
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10