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

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

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

<>
  • 特開-音声合成方法およびプログラム 図1
  • 特開-音声合成方法およびプログラム 図2
  • 特開-音声合成方法およびプログラム 図3
  • 特開-音声合成方法およびプログラム 図4
  • 特開-音声合成方法およびプログラム 図5
  • 特開-音声合成方法およびプログラム 図6
  • 特開-音声合成方法およびプログラム 図7
  • 特開-音声合成方法およびプログラム 図8
  • 特開-音声合成方法およびプログラム 図9
  • 特開-音声合成方法およびプログラム 図10
  • 特開-音声合成方法およびプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022065566
(43)【公開日】2022-04-27
(54)【発明の名称】音声合成方法およびプログラム
(51)【国際特許分類】
   G10L 13/10 20130101AFI20220420BHJP
   G10L 13/00 20060101ALI20220420BHJP
   G10L 13/033 20130101ALI20220420BHJP
【FI】
G10L13/10 114
G10L13/00 100Y
G10L13/033 102B
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2020174248
(22)【出願日】2020-10-15
(71)【出願人】
【識別番号】000004075
【氏名又は名称】ヤマハ株式会社
(74)【代理人】
【識別番号】100108523
【弁理士】
【氏名又は名称】中川 雅博
(74)【代理人】
【識別番号】100098305
【弁理士】
【氏名又は名称】福島 祥人
(74)【代理人】
【識別番号】100125704
【弁理士】
【氏名又は名称】坂根 剛
(74)【代理人】
【識別番号】100187931
【弁理士】
【氏名又は名称】澤村 英幸
(72)【発明者】
【氏名】大道 竜之介
(72)【発明者】
【氏名】才野 慶二郎
(57)【要約】
【課題】特定の音質の音響データに、同じ音質の音響データを追加することなどが容易に行える音声合成方法を提供することを課題とする。
【解決手段】音声合成方法は楽譜データD1の楽譜特徴量から中間特徴量MF1を生成する楽譜エンコーダ111、音響データD2の音響特徴量から中間特徴量MF2を生成する音響エンコーダ121およびMF1,MF2に基づいて音響特徴量AFSを生成する音響デコーダ133を準備し、補助学習用音響データD2_Tを受け取り、音響エンコーダを用いてD2_Tの音響特徴量から生成されるMF2と、D2_Tの音響特徴量とを用いて、D2_Tの音響特徴量に近い音響特徴量AFSを生成するよう音響デコーダ133を訓練し、楽譜エンコーダを用いて、D2_Tの時間軸上に配置された楽譜データD1から生成されるMF1を、訓練済みの音響デコーダ133で処理することにより、音響特徴量AFSを生成する。
【選択図】図2
【特許請求の範囲】
【請求項1】
コンピュータにより実現される音声合成方法であって、
楽譜データの楽譜特徴量から第1中間特徴量を生成する楽譜エンコーダ、音響データの音響特徴量から第2中間特徴量を生成する音響エンコーダ、および、前記第1中間特徴量または前記第2中間特徴量に基づいて音響特徴量を生成する音響デコーダを準備し、
補助学習用音響データを受け取り、
前記音響エンコーダを用いて前記補助学習用音響データの音響特徴量から生成される前記第2中間特徴量と、前記補助学習用音響データの音響特徴量とを用いて、前記補助学習用音響データの音響特徴量に近い音響特徴量を生成するよう、前記音響デコーダを補助訓練し、
ユーザインタフェースを介して、前記補助学習用音響データの時間軸上に配置された楽譜データを受け取り、
前記楽譜エンコーダを用いて前記配置された楽譜データから生成される前記第1中間特徴量を、前記補助訓練済みの前記音響デコーダで処理することにより、音響特徴量を生成する、音声合成方法。
【請求項2】
前記準備することは、
前記楽譜エンコーダが基本学習用楽譜データに基づいて生成する前記第1中間特徴量および前記音響エンコーダが基本学習用音響データに基づいて生成する前記第2中間特徴量が近づくように、かつ、前記音響デコーダにより生成される前記音響特徴量が、前記基本学習用音響データから取得される音響特徴量に近づくように、前記楽譜エンコーダ、前記音響エンコーダおよび前記音響デコーダを訓練すること、
を含む、請求項1に記載の音声合成方法。
【請求項3】
音色を指定する第1識別子に基づいて前記音響デコーダが訓練される、請求項1または請求項2に記載の音声合成方法。
【請求項4】
音色を指定する第2識別子に基づいて、前記音響デコーダが前記第1識別子で指定される音色とは異なる音色で訓練される、請求項3に記載の音声合成方法。
【請求項5】
コンピュータに音声合成方法を実行させるプログラムであって、当該プログラムに基づきコンピュータは、
楽譜データの楽譜特徴量から第1中間特徴量を生成する楽譜エンコーダ、音響データの楽譜特徴量から第2中間特徴量を生成する音響エンコーダ、および、前記第1中間特徴量または前記第2中間特徴量に基づいて音響特徴量を生成する音響デコーダを準備し、
補助学習用音響データを受け取り、
前記音響エンコーダを用いて前記補助学習用音響データの音響特徴量から生成される前記第2中間特徴量と、前記補助学習用音響データの音響特徴量とを用いて、前記補助学習用音響データの音響特徴量に近い音響特徴量を生成するよう、前記音響デコーダを補助訓練し、
ユーザインタフェースを介して、前記補助学習用音響データの時間軸上に配置された楽譜データを受け取り、
前記楽譜エンコーダを用いて前記配置された楽譜データから生成される前記第1中間特徴量を、前記補助訓練済みの前記音響デコーダで処理することにより、音響特徴量を生成する、音声合成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声合成方法およびプログラムに関する。本明細書の「音声」は、一般の「音(サウンド)」を意味しており、「人の声(ボイス)」には限定されない。
【背景技術】
【0002】
特定の歌手の歌声や特定の楽器の演奏音を合成する音声合成器が知られている。機械学習を利用した音声合成器は、特定の歌手や楽器の楽譜データ付きの音響データを教師データとして学習する。特定の歌手や楽器の音響データを学習した音声合成器は、ユーザによって楽譜データが与えられることにより、特定の歌手の歌声や特定の楽器の演奏音を合成して出力する。下記特許文献1において、機械学習を利用した歌声の合成技術が開示されている。また、歌声の合成技術を利用することで、歌声の声質を変換する技術が知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2019-101094号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ある歌手の歌声が録音されたトラックにその歌手と同じ音質の歌声やセリフを少し追加したり、そのトラックの歌声を少し修正したい場合がある。また、楽器の演奏音が録音されたトラックに、その楽器音と同じ音質の演奏音を少し追加したり、そのトラックの演奏音を少し修正したい場合がある。それらの場合、そのトラックのその箇所について、その歌手の歌唱やその楽器の演奏音を録音し直す必要があった。
【0005】
機械学習を利用した音声合成器は、所望の歌手の歌声や楽器の演奏音を学習させて合成することができる。しかし、その学習のためには、特定の歌手の歌唱や楽器の演奏音の音響データに加えて、ラベリング作業を行い、その音響データに対応する楽譜データを準備する必要がある。
【0006】
本発明の目的は、録音された特定の音質の音響データに対して、同じ音質の音響データを追加することや、その音質を保ったまま音響データを部分的に修正することが容易に行える音声合成方法を提供することである。
【課題を解決するための手段】
【0007】
本発明の一局面に従う音声合成方法は、コンピュータにより実現される音声合成方法であって、楽譜データの楽譜特徴量から第1中間特徴量を生成する楽譜エンコーダ、音響データの音響特徴量から第2中間特徴量を生成する音響エンコーダ、および、第1中間特徴量または第2中間特徴量に基づいて音響特徴量を生成する音響デコーダを準備し、補助学習用音響データを受け取り、音響エンコーダを用いて補助学習用音響データの音響特徴量から生成される第2中間特徴量と、補助学習用音響データの音響特徴量とを用いて、補助学習用音響データの音響特徴量に近い音響特徴量を生成するよう、音響デコーダを補助訓練し、ユーザインタフェースを介して、補助学習用音響データの時間軸上に配置された楽譜データを受け取り、楽譜エンコーダを用いて配置された楽譜データから生成される第1中間特徴量を、補助訓練済みの音響デコーダで処理することにより、音響特徴量を生成する。
【0008】
本発明の他の局面に従う音声合成プログラムは、コンピュータに音声合成方法を実行させるプログラムであって、当該プログラムに基づきコンピュータは、楽譜データの楽譜特徴量から第1中間特徴量を生成する楽譜エンコーダ、音響データの楽譜特徴量から第2中間特徴量を生成する音響エンコーダ、および、第1中間特徴量または第2中間特徴量に基づいて音響特徴量を生成する音響デコーダを準備し、補助学習用音響データを受け取り、音響エンコーダを用いて補助学習用音響データの音響特徴量から生成される第2中間特徴量と、補助学習用音響データの音響特徴量とを用いて、補助学習用音響データの音響特徴量に近い音響特徴量を生成するよう、音響デコーダを補助訓練し、ユーザインタフェースを介して、補助学習用音響データの時間軸上に配置された楽譜データを受け取り、楽譜エンコーダを用いて配置された楽譜データから生成される第1中間特徴量を、補助訓練済みの音響デコーダで処理することにより、音響特徴量を生成する。
【発明の効果】
【0009】
本発明は、録音された特定の音質の音響データに対して、同じ音質の音響データを追加することや、その音質を保ったまま音響データを部分的に修正することが容易に行える音声合成方法を提供する。
【図面の簡単な説明】
【0010】
図1】実施の形態に係る音声合成器の構成図である。
図2】実施の形態に係る音声合成器の機能ブロック図である。
図3】音声合成器が利用するデータを示す図である。
図4】実施の形態に係る基本訓練方法を示すフローチャートである。
図5】実施の形態に係る音声合成方法を示すフローチャートである。
図6】音声合成器のユーザインタフェースを示す図である。
図7】音声合成器のユーザインタフェースを示す図である。
図8】実施の形態に係る音響デコーダ訓練方法を示すフローチャートである。
図9】音声合成器のユーザインタフェースを示す図である。
図10】音声合成器のユーザインタフェースを示す図である。
図11】音声合成器のユーザインタフェースを示す図である。
【発明を実施するための形態】
【0011】
(1)音声合成器の構成
以下、本発明の実施の形態に係る音声合成器について図面を用いて詳細に説明する。図1は、実施の形態に係る音声合成器1を示す構成図である。図1に示すように、音声合成器1は、CPU(Central Processing Unit)11、RAM(Random Access Memory)12、ROM(Read Only Memory)13、操作部14、表示部15、記憶装置16、サウンドシステム17、デバイスインタフェース18および通信インタフェース19を備える。音声合成器1は、例えば、パーソナルコンピュータ、タブレット端末またはスマートフォンなどが利用される。
【0012】
CPU11は、1又は複数のプロセッサにより構成されており、音声合成器1の全体制御を行う。RAM12は、CPU11がプログラムを実行するときに作業エリアとして利用される。ROM13は、制御プログラムなどが記憶される。操作部14は、音声合成器1に対するユーザの操作を入力する。操作部14は、例えば、マウスやキーボードなどである。表示部15は、音声合成器1のユーザインタフェースを表示する。操作部14および表示部15が、タッチパネル式ディスプレイとして構成されていてもよい。サウンドシステム17は、音源、音声信号をD/A変換および増幅する機能、アナログ変換された音声信号を出力するスピーカなどを含む。デバイスインタフェース18は、CPU11がCD-ROM、半導体メモリなどの記憶媒体RMにアクセスするためのインタフェースである。通信インタフェース19は、CPU11が、インターネットなどのネットワークに接続するためのインタフェースである。
【0013】
記憶装置16には、音声合成プログラムP1、訓練プログラムP2、楽譜データD1および音響データD2が記憶されている。音声合成プログラムP1は、音声合成された音響データまたは音質変換された音響データを生成するためのプログラムである。訓練プログラムP2は、音声合成または音質変換に利用されるエンコーダおよび音響デコーダを訓練するためのプログラムである。
【0014】
楽譜データD1は、楽曲を規定するデータである。楽譜データD1は、各音符の音高や強度に関する情報、各音符内での音韻に関する情報(歌唱の場合のみ)、各音符の発音期間に関する情報、演奏記号に関する情報などを含んでいる。音響データD2は、音声の波形データである。音響データD2は、例えば、歌唱の波形データや、楽器音の波形データなどである。音声合成器1では、楽譜データD1と音響データD2を用いて、1曲のコンテンツが生成される。
【0015】
(2)音声合成器の機能構成
図2は、音声合成器1の機能ブロック図である。図2に示すように、音声合成器1は、制御部100を備える。制御部100は、変換部110、楽譜エンコーダ111、ピッチモデル112、分析部120、音響エンコーダ121、切換部131、切換部132、音響デコーダ133およびボコーダ134を備える。図2において、制御部100は、音声合成プログラムP1を、RAM12を作業領域として利用しつつ、CPU11が実行することにより実現される機能部である。つまり、変換部110、楽譜エンコーダ111、ピッチモデル112、分析部120、音響エンコーダ121、切換部131、切換部132、音響デコーダ133およびボコーダ134は、音声合成プログラムP1がCPU11により実行されることにより実現される機能部である。また、楽譜エンコーダ111、音響エンコーダ121および音響デコーダ133は、訓練プログラムP2が、RAM12を作業領域として利用しつつ、CPU11により実行されることによりその機能を学習する。
【0016】
変換部110は、楽譜データD1を読み込み、楽譜データD1から種々の楽譜特徴データSFを生成する。変換部110は、その楽譜特徴データSFを楽譜エンコーダ111およびピッチモデル112に出力する。楽譜エンコーダ111が変換部110から取得する楽譜特徴データSFは各時点の音質を制御する因子であり、例えば、音高や強度や音素ラベルなどのコンテキストである。ピッチモデル112が変換部110から取得する楽譜特徴データSFは各時点の音高を制御する因子であり、例えば、音高および発音期間で特定される音符のコンテキストである。コンテキストは、各時点のデータに加えて、その前と後の少なくとも一方のデータを含む。
【0017】
楽譜エンコーダ111は、楽譜特徴データSFから中間特徴データMF1を生成する。訓練済みの楽譜エンコーダ111は、楽譜特徴データSFから中間特徴データMF1を生成する統計的モデルであり、記憶装置16に記憶された複数の変数111_Pにより規定される。楽譜エンコーダ111は、本実施の形態においては、楽譜特徴データSFに応じた中間特徴データMF1を出力する生成モデルが利用される。楽譜エンコーダ111を構成する生成モデルとしては、例えば、畳み込みニューラルネットワーク(CNN)、リカレントニューラルネットワーク(RNN)、それらの組合せなどが利用される。自己回帰モデルや、アテンション付きモデルでもよい。
【0018】
ピッチモデル112は、楽譜特徴データSFを読み込み、楽譜特徴データSFから楽曲中の音の基本周波数F0を生成する。ピッチモデル112は、取得した基本周波数F0を切換部132に出力する。訓練済みのピッチモデル112は、楽譜特徴データSFから楽曲中の音の基本周波数F0を生成する統計的モデルであり、記憶装置16に記憶された複数の変数112_Pにより規定される。ピッチモデル112は、本実施の形態においては、楽譜特徴データSFに応じた基本周波数F0を出力する生成モデルが利用される。ピッチモデル112を構成する生成モデルとしては、例えば、CNN、RNN、それらの組合せなどが利用される。自己回帰モデルや、アテンション付きモデルでもよい。逆に、もっとシンプルな隠れマルコフや、ランダムフォレストのモデルを用いてもよい。
【0019】
分析部120は、音響データD2を読み込み、音響データD2に対して周波数分析を行う。分析部120は、音響データD2に対して周波数分析を行うことにより、音響データD2の示す音の基本周波数F0および音響特徴データAFを生成する。音響特徴データAFは音響データD2の示す音の周波数スペクトルを示し、例えば、メル周波数対数スペクトル(MSLS:Mel-Scale Log-Spectrum)である。分析部120は、その基本周波数F0を切換部132に出力する。分析部120は、その音響特徴データAFを音響エンコーダ121に出力する。
【0020】
音響エンコーダ121は、音響特徴データAFから中間特徴データMF2を生成する。訓練済みの音響エンコーダ121は、音響特徴データAFから中間特徴データMF2を生成する統計的モデルであり、記憶装置16に記憶された複数の変数121_Pにより規定される。音響エンコーダ121は、本実施の形態においては、音響特徴データAFに応じた中間特徴データMF2を出力する生成モデルが利用される。音響エンコーダ121を構成する生成モデルとしては、例えば、CNN、RNN、それらの組合せなどが利用される。
【0021】
切換部131は、楽譜エンコーダ111から中間特徴データMF1を受け取る。切換部131は、音響エンコーダ121から中間特徴データMF2を受け取る。切換部131は、楽譜エンコーダ111からの中間特徴データMF1、または、音響エンコーダ121からの中間特徴データMF2のいずれかを選択的に音響デコーダ133に出力する。
【0022】
切換部132は、ピッチモデル112から基本周波数F0を受け取る。切換部132は、分析部120から基本周波数F0を受け取る。切換部132は、ピッチモデル112からの基本周波数F0、または、分析部120からの基本周波数F0のいずれかを選択的に音響デコーダ133に出力する。
【0023】
音響デコーダ133は、中間特徴データMF1または中間特徴データMF2に基づいて、音響特徴データAFSを生成する。音響特徴データAFSは周波数振幅スペクトルであり、例えば、メル周波数対数スペクトルである。音響デコーダ133は、音響特徴データAFSを生成する統計的モデルであり、記憶装置16に記憶された複数の変数133_Pにより規定される。音響デコーダ133は、本実施の形態においては、中間特徴データMF1または中間特徴データMF2に応じた音響特徴データAFSを出力するモデルが利用される。音響デコーダ133を構成するモデルとしては、例えば、CNN、RNN、それらの組合せなどが利用される。自己回帰モデルや、アテンション付きモデルでもよい。
【0024】
ボコーダ134は、音響エンコーダ121から入力した音響特徴データAFSに基づいて合成音響データD3を生成する。音響特徴データAFSがメル周波数対数スペクトルである場合であれば、ボコーダ134は、音響エンコーダ121から入力したメル周波数対数スペクトルを時間領域の音響信号に変換し、合成音響データD3を生成する。
【0025】
(3)音声合成器が使用する情報
図3は、音声合成器1が使用するデータを示す。音声合成器1は、音声合成に関わるデータとして、楽譜データD1および音響データD2を使用する。楽譜データD1は、上述したように、楽曲を規定するデータである。楽譜データD1は、各音符の音高などに関する情報、各音符内の音韻に関する情報(歌唱の場合のみ)、各音符の発音期間に関する情報、演奏記号に関する情報などを含んでいる。音響データD2は、上述したように、音声の波形データである。音響データD2は、例えば、歌唱の波形データや、楽器音の波形データなどである。各歌唱の波形データには、その歌唱を行った歌唱者を示す音源IDが付与されており、各楽器音の波形データには、その楽器を示す音源IDが付与されている。音源IDは、その波形データ示す音の生成源を示す。
【0026】
音声合成器1が使用する楽譜データD1には、基本学習用楽譜データD1_Rおよび合成用楽譜データD1_Sがある。音声合成器1が使用する音響データD2には、それらに対応する基本学習用音響データD2_R、合成用音響データD2_Sおよび補助学習用音響データD2_Tがある。基本学習用音響データD2_Rに対応する基本学習用楽譜データD1_Rは、基本学習用音響データD2_Rにおける演奏に対応する楽譜(音符列等)を示す。合成用音響データD2_Sに対応する合成用楽譜データD1_Sは、合成用音響データD2_Sにおける演奏に対応する楽譜(音符列等)を示す。図1および図2の記憶装置16には、楽譜データD1および音響データD2を図示しているが、実際には、楽譜データD1としては、基本学習用楽譜データD1_Rおよび合成用楽譜データD1_Sが記憶され、音響データD2としては、基本学習用音響データD2_R、合成用音響データD2_Sおよび補助学習用音響データD2_Tが記憶される。
【0027】
基本学習用楽譜データD1_Rは、楽譜エンコーダ111、音響エンコーダ121および音響デコーダ133の訓練に用いられるデータである。基本学習用音響データD2_Rは、楽譜エンコーダ111、音響エンコーダ121および音響デコーダ133の訓練に用いられるデータである。基本学習用楽譜データD1_Rおよび基本学習用音響データD2_Rを用いて、楽譜エンコーダ111、音響エンコーダ121および音響デコーダ133が学習することにより、音声合成器1は、音源IDで特定される音質の音声を合成可能な状態に設定される。
【0028】
合成用楽譜データD1_Sは、特定の音質の音声を合成可能な状態となった音声合成器1に与えられるデータである。音声合成器1は、合成用楽譜データD1_Sに基づいて音源IDで特定される音質の音声の合成音響データD3を生成する。例えば、歌唱合成の場合、音声合成器1は、歌詞(音韻)およびメロディー(音符列)が与えられることにより、音源IDで特定される歌手の歌声を合成出力できる。楽器音合成の場合、メロディ(音符列)を与えることにより、音源IDで特定される楽器の演奏音を合成出力できる。
【0029】
合成用音響データD2_Sは、特定の音質の音声を合成可能な状態となった音声合成器1に与えられるデータである。音声合成器1は、合成用音響データD2_Sに基づいて音源IDで特定される音質の音声の合成音響データD3を生成する。例えば、音声合成器1は、任意の音源IDの歌手または楽器音の合成用音響データD2_Sが与えられることにより、それとは異なる音源IDで特定される歌手の歌声や楽器の演奏音を合成出力する。この機能を利用することにより、音声合成器1は、ある種の音質変換器として機能する。
【0030】
補助学習用音響データD2_Tは、音響デコーダ133の訓練に用いられるデータである。補助学習用音響データD2_Tは、音響デコーダ133により合成される音質を変更するための学習データである。補助学習用音響データD2_Tを用いて、音響デコーダ133が学習することにより、音声合成器1は、新たな別の歌手の歌声を合成可能な状態に設定される。
【0031】
(4)基本訓練方法
次に、本実施の形態に係る音声合成器1の基本訓練方法について説明する。図4は、本実施の形態に係る音声合成器1の基本訓練方法を示すフローチャートである。基本訓練では、音声合成器1が備える楽譜エンコーダ111、音響エンコーダ121および音響デコーダ133が訓練される。図4で示される基本訓練方法は、機械学習の処理ステップ毎に、訓練プログラムP2がCPU11により実行されることにより実現される。1回の処理ステップでは、周波数分析の複数フレーム分に相当する音響データが処理される。
【0032】
図4の基本訓練方法を実行する前に、教師データとして、音源ID毎に、基本学習用楽譜データD1_Rおよび対応する基本学習用音響データD2_Rが複数セット準備され、記憶装置16に記憶される。教師データとして準備される基本学習用楽譜データD1_Rおよび基本学習用音響データD2_Rは、各音源IDで特定される音質の楽曲を基本訓練するために準備されたデータである。ここでは、基本学習用楽譜データD1_Rおよび基本学習用音響データD2_Rが、複数の音源IDで特定される複数の歌手の歌声を基本訓練するために準備されたデータである場合を例に説明する。
【0033】
ステップS101において、変換部110としてのCPU11が、基本学習用楽譜データD1_Rに基づいて楽譜特徴データSFを生成する。本実施の形態においては、音響特徴の生成のための楽譜の特徴を示す楽譜特徴データSFとして、例えば、音素ラベルを示すデータが用いられる。次に、ステップS102において、分析部120としてのCPU11が、音源IDで音質が特定される基本学習用音響データD2_Rに基づいて周波数スペクトルを示す音響特徴データAFを生成する。本実施の形態においては、音響特徴データAFとして、例えば、メル周波数対数スペクトルが用いられる。なお、ステップS102の処理をステップS101の処理の前に実行してもよい。
【0034】
次に、ステップS103において、CPU11が、楽譜エンコーダ111を用いて、楽譜特徴データSFを処理して、中間特徴データMF1を生成する。次に、ステップS104において、CPU11が、音響エンコーダ121を用いて、音響特徴データAFを処理して、中間特徴データMF2を生成する。なお、ステップS104の処理をステップS103の処理の前に実行してもよい。
【0035】
次に、ステップS105において、CPU11が、音響デコーダ133を用いて、基本学習用音響データD2_Rの音源IDと基本周波数F0と中間特徴データMF1とを処理して音響特徴データAFS1を生成し、また、その音源IDと基本周波数F0と中間特徴データMF2とを処理して音響特徴データAFS2を生成する。本実施の形態においては、周波数スペクトルを示す音響特徴データAFSとして、例えば、メル周波数対数スペクトルが用いられる。なお、音響デコーダ133は、音響デコードを実行するときに、切換部132から基本周波数F0を入力する。基本周波数F0は、入力データが基本学習用楽譜データD1_Rである場合には、ピッチモデル112により生成され、入力データが基本学習用音響データD2_Rである場合には、分析部120により生成される。また、音響デコーダ133は、音響デコードを実行するときに、歌手を特定する識別しとして音源IDを入力する。これら基本周波数F0および音源IDは、中間特徴データMF1,MF2とともに、音響デコーダ133を構成する生成モデルへの入力値となる。
【0036】
次に、ステップS106において、CPU11が、中間特徴データMF1および中間特徴データMF2が相互に近づくように、かつ、音響特徴データAFSが正解である音響特徴データAFに近づくように、楽譜エンコーダ111、音響エンコーダ121および音響デコーダ133を訓練する。つまり、中間特徴データMF1は楽譜特徴データSF(例えば、音素ラベルを示す)から生成され、中間特徴データMF2は周波数スペクトル(例えば、メル周波数対数スペクトル)から生成されるが、これら2つの中間特徴データMF1,MF2の距離が相互に近づくように、楽譜エンコーダ111の生成モデルおよび音響エンコーダ121の生成モデルが訓練される。
【0037】
具体的には、中間特徴データMF1と中間特徴データMF2の間の差を減らすように、その差のバックプロバケーションが実行され、楽譜エンコーダ111の変数111_Pおよび音響エンコーダ121の変数121_Pが更新される。中間特徴データMF1および中間特徴データMF2の差としては、例えば、これら2つのデータを表すベクトルのユークリッド距離が用いられる。並行して、音響デコーダ133から生成された音響特徴データAFSが教師データである基本学習用音響データD2_Rから生成された音響特徴データAFに近づくように、誤差のバックプロバケーションが実行され、楽譜エンコーダ111の変数111_P、音響エンコーダ121の変数121_Pおよび音響デコーダ133の変数133_Pが更新される。
【0038】
1つの処理ステップ(ステップS101~S106)の学習処理を、複数の教師データである基本学習用楽譜データD1_Rおよび基本学習用音響データD2_Rについて、繰り返し実行することにより、楽譜エンコーダ111、音響エンコーダ121および音響デコーダ133が、各音源IDで特定される特定の音質であり、楽譜特徴量に応じて音質が変化する音響データ(歌手の歌声や、楽器の演奏音に対応)を合成可能な状態に訓練される。具体的には、訓練済みの音声合成器1は、楽譜データD1に基づいて、楽譜エンコーダ111および音響デコーダ133を用いて、訓練済みの特定の音質の音声(歌声や楽器音)を合成可能である。また、訓練済みの音声合成器1は、音響データD2に基づいて、音響エンコーダ121および音響デコーダ133を用いて、訓練済みの特定の音質の音声(歌声や楽器音)を合成可能である。
【0039】
上述したように、音響デコーダ133の訓練では、各基本学習用音響データD2_Rに付与された音源IDを入力値として利用する。したがって、音響デコーダ133は、複数の音源IDの基本学習用音響データD2_Rを利用することにより、複数の歌手の歌声や複数の楽器の演奏音を相互に区別して学習可能である。
【0040】
(5)音声合成方法
次に、本実施の形態に係る音声合成器1による、指定された音源IDの音質の音声を合成する方法について説明する。図5は、本実施の形態に係る音声合成器1による音声合成方法を示すフローチャートである。図5で示される音声合成方法は、周波数分析のフレームに相当する時間ごとに、音声合成プログラムP1がCPU11により実行されることにより実現される。説明の簡略化のため、ここでは合成用楽譜データD1_Sからの基本周波数F0の生成と、合成用音響データD2_Sからの基本周波数F0の生成とが、予め完了しているものとする。なお、それら基本周波数F0の生成を、図5の処理とパラレルに実行してもよい。
【0041】
ステップS201において、変換部110としてのCPU11が、ユーザインタフェースの時間軸上の当該フレームの時刻の前後に配置された合成用楽譜データD1_Sを取得する。または、分析部120が、ユーザインタフェースの時間軸上の当該フレームの時刻の前後に配置された合成用音響データD2_Sを取得する。図6は、音声合成プログラムP1が表示部15に表示するユーザインタフェース200を示す図である。本実施の形態においては、ユーザインタフェース200として、例えば、時間軸と音高軸とを有するピアノロールが用いられる。図6に示すように、ユーザは、操作部14を操作して、ピアノロールにおいて、所望の時刻および音高に対応する位置に、合成用楽譜データD1_S(音符またはテキスト)および合成用音響データD2_S(波形データ)を配置する。図の期間T1,T2およびT4においては、ユーザによって、合成用楽譜データD1_Sが、ピアノロールに配置されている。期間T1において、ユーザは、音高を伴わないテキスト(曲中の語り)のみを配置している(TTS機能)。期間T2およびT4において、ユーザは、音符(音高および発音期間)の時系列と、各音符で歌われる歌詞とを配置している(歌声合成機能)。図において、ブロック201は、音符の音高および発音期間を表している。また、ブロック201の下に、その音符で歌われる歌詞(音韻)が表示される。また、期間T3およびT5において、ユーザは、合成用音響データD2_Sを、ピアノロールの所望の時刻位置に配置している(音質変換機能)。図において、波形202は、合成用音響データD2_S(波形データ)の示す波形であり、音高軸方向の位置は任意である。或いは、波形202を、合成用音響データD2_Sの基本周波数F0に対応する位置に自動配置してもよい。また、図では歌唱合成のために音符に加えて歌詞が配置されているが、楽器音合成では、歌詞やテキストの配置は必要ない。
【0042】
次に、ステップS202において、制御部100であるCPU11は、現時刻に取得したデータが合成用楽譜データD1_Sであるか否かを判定する。取得したデータが合成用楽譜データD1_S(音符)である場合、処理はステップS203に進む。ステップS203において、CPU11は、その合成用楽譜データD1_Sから楽譜特徴データSFを生成し、楽譜エンコーダ111を用いて、その楽譜特徴データSFを処理して中間特徴データMF1を生成する。楽譜特徴データSFは、歌唱合成なら音韻の特徴を示し、生成される歌唱の音質がその音韻に応じて制御される。また、楽器音合成なら、楽譜特徴データSFは音符の音高や強度を示し、生成される楽器音の音質がその音高や強度に応じて制御される。
【0043】
次に、ステップS204において、制御部100としてのCPU11は、現時刻に取得したデータが合成用音響データD2_Sであるか否かを判定する。取得したデータが合成用音響データD2_S(波形データ)である場合、処理はステップS205に進む。ステップS205において、CPU11は、その合成用音響データD2_Sから音響特徴量AF(周波数スペクトル)を生成し、音響エンコーダ121を用いて、その音響特徴量AFを処理して中間特徴データMF2を生成する。
【0044】
ステップS203またはステップS205を実行した後、処理はステップS206に進む。ステップS206において、CPU11は、音響デコーダ133を用いて、その時点で指定されている音源IDと、その時点の基本周波数F0と、その時点で生成された中間特徴データMF1または中間特徴データMF2とを処理して音響特徴データAFSを生成する。基本訓練で生成される2つの中間特徴データが相互に近づくよう訓練されるので、音響特徴データAFから生成される中間特徴データMF2は、楽譜特徴データから生成される中間特徴データMF1と同様に、対応する楽譜の特徴を反映する。本実施の形態においては、音響デコーダ133は、順次生成される中間特徴データMF1および中間特徴データMF2を時間軸上で結合した上でデコード処理を実行し、音響特徴データAFSを生成する。
【0045】
次に、ステップS207において、ボコーダ134としてのCPU11が、周波数スペクトルを示す音響特徴データAFSに基づいて、基本的に音源IDが示す音質で、さらに、その音質が音韻や音高に応じて変化する波形データである合成音響データD3を生成する。中間特徴データMF1および中間特徴データMF2が時間軸上で結合された上で音響特徴データAFSが生成されているため、曲中のつなぎが自然な合成音響データD3のコンテンツが生成される。図7は、音声合成処理結果を表示するユーザインタフェース200を示す図である。図7において、期間T1~T5の全体において、生成された基本周波数(F0)211が表示されている。期間T1においては、合成音響データD3の波形212が基本周波数に重ねて表示されている。期間T3,T5においては、合成音響データD3の波形213が基本周波数に重ねて表示されている。
【0046】
(6)音響デコーダ訓練方法
図8は、本実施の形態に係る音声合成器1の補助訓練方法を示すフローチャートである。補助訓練では、音声合成器1が備える音響デコーダ133が訓練される。図8で示される補助訓練方法は、訓練プログラムP2が実行されることにより実現される。図8の補助訓練方法を実行する前に、教師データとして、所定の音源IDで特定される新たな音質の補助学習用音響データD2_Tが準備され、記憶装置16に記憶される。教師データとして準備される補助学習用音響データD2_Tは、基本訓練された音響デコーダ133の音質を変更するために準備されたデータである。補助学習用音響データD2_Tは、通常、基本訓練に用いた基本学習用音響データD2_Rとは異なる音響データであるが、その音響データの音源IDは基本学習用音響データD2_Rと同じ、つまり同じ歌手や同じ楽器の音響データであってもよい。つまり、音響デコーダ133に、新たな歌手や楽器の音質を学習させることも、既に学習済の歌手や楽器の音質を改善させることもできる。
【0047】
まず、ステップS301において、分析部120であるCPU11が、補助学習用音響データD2_Tに基づいて基本周波数F0と音響特徴データAFとを生成する。本実施の形態においては、補助学習用音響データD2_Tの周波数スペクトルを示す音響特徴データAFとして、例えば、メル周波数対数スペクトルが用いられる。この音響デコーダ訓練では、補助学習用音響データD2_Tだけを用いて、別の音質(例えば、新たな歌手の歌声)を生成モデルに学習させる。したがって、音響デコーダ訓練において楽譜データD1は不要である。つまり、CPU11は、音素ラベルのない補助学習用音響データD2_Tを用いて音響デコーダ133を訓練する。
【0048】
次に、ステップS302において、CPU11は、音響エンコーダ121を用いて、音響特徴データAFを処理して、中間特徴データMF2を生成する。続いて、ステップS303において、CPU11が、音響デコーダ133を用いて、補助学習用音響データD2_Tの音源IDと基本周波数F0と中間特徴データMF2とを処理して、音響特徴データAFSを生成する。続いて、ステップS304において、CPU11が、音響特徴データAFSが補助学習用音響データD2_Tから生成された音響特徴データAFに近づくように、音響デコーダ133を訓練する。つまり、楽譜エンコーダ111および音響エンコーダ121は訓練せず、音響デコーダ133のみを訓練する。このように、本実施の形態の補助訓練方法によれば、訓練に音素ラベルのない補助学習用音響データD2_Tを使えるので、教師データを準備する手間とコストをかけずに音響デコーダ133を訓練できる。
【0049】
図9は、音響デコーダの訓練方法に係るユーザインタフェース200を示す図である。ユーザの録音指示に応じて、CPU11は、例えば1曲分の歌手の歌声や楽器の演奏音を新たに録音し音源IDを付与する。その音源が学習済であれば、それと同じ音源IDを付与し、未学習であれば新たな音源IDを付与する。録音された1トラック分の波形データが補助学習用音響データD2_Tである。この録音は、伴奏トラックを再生しながら行われても良い。図9において波形221は、補助学習用音響データD2_Tの示す波形である。音響デコーダの補助訓練後であれば、ユーザが歌唱した音声や演奏した楽器音を、音声合成器1に接続されたマイクを介して直接取り込んでリアルタイムに音質変換処理してもよい。CPU11が、その補助学習用音響データD2_Tを用いて図8の補助訓練処理を行うことで、音響デコーダ133は、新たな歌声や楽器音の性質を例えば1曲分学習し、その声質の歌声や楽器音を合成可能となる。図9は、さらに、ユーザの音符配置指示に応じて、CPU11が、録音された波形データの時間軸上の期間T12に3つの音符(合成用楽譜データD1_S)を配置した様子を示す。図では歌唱合成のために各音符の歌詞が入力されているが、楽器音合成であれば、歌詞は不要である。CPU11は、期間T12について、補助訓練された音声合成器1を用いて、その合成用楽譜データD1_Sを処理し、補助学習用音響データD2_Tの音源IDの示す音質の音声合成を行う。CPU11は、期間T12は、音源IDの示す音質で音声合成された合成音響データD3であり、区間T11は、補助学習用音響データD2_Tであるコンテンツを生成する。或いは、期間T12は、音源IDの示す音質で音声合成された合成音響データD3であり、区間T11は、補助学習用音響データD2_Tを入力として音声合成器1により合成されたその音源IDの音質の合成音響データD3であるコンテンツを生成してもよい。
【0050】
(7)他の実施の形態
上述した本実施の形態の音声合成器1を用いることで、合成用楽譜データD1_Sに基づいて音声合成された曲中に、ユーザの歌声や演奏した楽器音を挿入することも可能である。図10は、音声合成器1において音声合成された曲を再生するユーザインタフェース200を示している。期間T21およびT23は、ユーザにより合成用楽譜データD1_Sが配置されており、CPU11によって、ユーザの指定した音源IDの示す音質で歌唱合成が実行される。図10に示すユーザインタフェース200を表示させた状態で、ユーザがオーバーダビングの開始を指示すると、CPU11は、音声合成プログラムP1を実行して、その音源IDの示す音質の合成音響データD3の再生を行う。このとき、ユーザインタフェース200において現在時刻位置がタイムバー214によって示される。ユーザは、タイムバー214の位置を見ながら歌唱を行う。ユーザが歌唱した音声は、音声合成器1に接続されたマイクを介して収音され、合成用音響データD2_Sとして記録される。図において、波形202は、合成用音響データD2_Sの波形を示す。CPU11は、音響エンコーダ121および音響デコーダ133を用いて、合成用音響データD2_Sを処理し、その音源IDが示す音質の合成音響データD3を生成する。図11は、合成音響データD3の波形215が結合されたユーザインタフェース200を示す。CPU11は、期間T21およびT23は、合成用楽譜データD1_Sから歌唱合成された音源IDの示す音質の合成音響データD3であり、期間T22は、ユーザ歌唱から歌唱合成されたその音源IDの示す音質の合成音響データD3であるコンテンツを生成する。
【0051】
上述した実施の形態においては、音声合成器1が音源IDで特定される歌手の歌声を合成する場合を例に説明した。本実施の形態の音声合成器1は、特定の歌手の歌声を合成する以外にも、様々な音質の音声を合成する用途に利用可能である。例えば、音声合成器1は、音源IDで特定される楽器の演奏音を合成する用途に利用可能である。
【0052】
上述した実施の形態においては、合成用楽譜データD1_Sに基づいて生成された中間特徴データMF1と、合成用音響データD2_Sに基づいて生成された中間特徴データMF2とを時間軸上で結合した上で、音響特徴データAFSを生成した。別の実施の形態として、中間特徴データMF1に基づいて生成される音響特徴データAFSと、中間特徴データMF2に基づいて生成される音響特徴データAFSとを結合した上で、合成音響データD3を生成してもよい。あるいは、別の実施の形態として、中間特徴データMF1に基づいて生成される音響特徴データAFSから合成音響データD3を生成し、中間特徴データMF2に基づいて生成される音響特徴データAFSから合成音響データD3を生成し、これら2つの合成音響データD3を結合してもよい。
【0053】
本実施の形態の音声合成器1は、音素ラベルなしの合成用音響データD2_Sを利用してある音源IDで特定される歌手の歌声を合成することができる。これにより、音声合成器1を、クロス言語合成器として利用することが可能である。つまり、音響デコーダ133が、当該音源IDについて日本語の音響データでのみ訓練されている場合であっても、別の音源IDで英語の音響データで訓練されていれば、英語の歌詞の合成用音響データD2_Sを与えることによって、当該音源IDの音質での英語言語による歌唱を生成することが可能である。
【0054】
上記の実施の形態においては音声合成プログラムP1および訓練プログラムP2は、記憶装置16に記憶されている場合を例に説明した。音声合成プログラムP1および訓練プログラムP2は、コンピュータが読み取り可能な記録媒体RMに格納された形態で提供され、記憶装置16またはROM13にインストールされてもよい。また、音声合成器1が通信インタフェース19を介してネットワークに接続されている場合、ネットワークに接続されたサーバから配信された音声合成プログラムP1または訓練プログラムP2が記憶装置16またはROM13にインストールされてもよい。あるいは、CPU11が記憶媒体RMにデバイスインタフェース18を介してアクセスし、記憶媒体RMFに記憶されている音声合成プログラムP1または訓練プログラムP2を実行してもよい。
【0055】
(8)実施の形態の効果
以上説明したように、本実施の形態に係る音声合成方法は、コンピュータにより実現される音声合成方法であって、楽譜データD1の楽譜特徴量から第1中間特徴量(中間特徴データMF1)を生成する楽譜エンコーダ111、音響データD2の音響特徴量から第2中間特徴量(中間特徴データMF2)を生成する音響エンコーダ121、および、第1中間特徴量(中間特徴データMF1)または第2中間特徴量(中間特徴データMF2)に基づいて音響特徴量(音響特徴データAFS)を生成する音響デコーダ133を準備し、補助学習用音響データD2_Tを受け取り、音響エンコーダ121を用いて補助学習用音響データD2_Tの音響特徴量から生成される第2中間特徴量(中間特徴データMF2)と、補助学習用音響データD2_Tの音響特徴量とを用いて、前記補助学習用音響データD2_Tの音響特徴量に近い音響特徴量(音響特徴データAFS)を生成するよう、音響デコーダ133を補助訓練し、ユーザインタフェース200を介して、補助学習用音響データD2_Tの時間軸上に配置された楽譜データD1を受け取り、楽譜エンコーダ111を用いて配置された楽譜データD1から生成される第1中間特徴量(中間特徴データMF1)を、補助訓練済みの音響デコーダ133で処理することにより、音響特徴量(音響特徴データAFS)を生成する。これにより、録音された特定の音質の音響データに対して、同じ音質の音響データを追加することや、その音質を保ったまま音響データを部分的に修正することが容易に行える。
【0056】
準備することは、楽譜エンコーダ111が基本学習用楽譜データD1_Rに基づいて生成する第1中間特徴量(中間特徴データMF1)および音響エンコーダ121が基本学習用音響データD2_Rに基づいて生成する第2中間特徴量(中間特徴データMF2)が近づくように、かつ、音響デコーダ133により生成される音響特徴量(音響特徴データAFS)が、基本学習用音響データD2_Rから取得される音響特徴量に近づくように、楽譜エンコーダ111、音響エンコーダ121および音響デコーダ133を訓練することを含んでもよい。音響デコーダ133は、楽譜データD1に基づいて生成された中間特徴データMF1、または、音響データD2に基づいて生成された中間特徴データMF2のいずれに対しても音響特徴データAFSを生成可能である。
【0057】
音色を指定する第1識別子に基づいて音響デコーダ133が訓練されてもよい。識別子に応じた音質の合成音声を生成することが可能である。
【0058】
音色を指定する第2識別子に基づいて、音響デコーダ133が第1識別子で指定される音色とは異なる音色で訓練されてもよい。識別子に応じて異なる音質の合成音声を生成することが可能である。
【0059】
本実施の形態に係る音響デコーダの音声合成プログラムは、コンピュータに音声合成方法を実行させるプログラムであって、当該プログラムに基づきコンピュータは、楽譜データD1の楽譜特徴量から第1中間特徴量(中間特徴データMF1)を生成する楽譜エンコーダ111、音響データD2の楽譜特徴量から第2中間特徴量(中間特徴データMF2)を生成する音響エンコーダ121、および、第1中間特徴量(中間特徴データMF1)または第2中間特徴量(中間特徴データMF2)に基づいて音響特徴量(音響特徴データAFS)を生成する音響デコーダ133を準備し、補助学習用音響データD2_Tを受け取り、音響エンコーダ121を用いて補助学習用音響データD2_Tの音響特徴量から生成される第2中間特徴量(中間特徴データMF2)と、補助学習用音響データD2_Tの音響特徴量とを用いて、補助学習用音響データD2_Tの音響特徴量に近い音響特徴量(音響特徴データAFS)を生成するよう、音響デコーダ133を補助訓練し、ユーザインタフェース200を介して、補助学習用音響データD2_Tの時間軸上に配置された楽譜データD1を受け取り、楽譜エンコーダ111を用いて配置された楽譜データD1から生成される第1中間特徴量(中間特徴データMF1)を、補助訓練済みの音響デコーダ133で処理することにより、音響特徴量(音響特徴データAFS)を生成する。これにより、録音された特定の音質の音響データに対して、同じ音質の音響データを追加することや、その音質を保ったまま音響データを部分的に修正することが容易に行える。
【符号の説明】
【0060】
100…制御部、110…変換部、111…楽譜エンコーダ、120…分析部、121…音響エンコーダ、131…切換部、133…音響デコーダ、134…ボコーダ、D1…楽譜データ、D2…音響データ、D3…合成音響データ、SF…楽譜特徴データ、AF…音響特徴データ、MF1,MF2…中間特徴データ、AFS…音響特徴データ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11