(57)【要約】  コンピュータにより実現される音信号合成方法は、音信号の条件を示す制御データに応じて、音信号の音源スペクトルを示す第１データと、音信号のスペクトル包絡を示す第２データとを生成し、第１データが示す音源スペクトルと第２データが示すスペクトル包絡とに応じて、音信号を合成する。
2020171033.tif 000002
【特許請求の範囲】
【請求項１】
音信号の条件を示す制御データに応じて、前記音信号の音源スペクトルを示す第１データと、前記音信号のスペクトル包絡を示す第２データとを生成し、
前記第１データが示す音源スペクトルと前記第２データが示すスペクトル包絡とに応じて、前記音信号を合成する
コンピュータにより実現される音信号合成方法。
【請求項２】
前記生成においては、前記制御データを単一の生成モデルに入力することにより、前記第１データと前記第２データとを生成する
請求項１の音信号合成方法。
【請求項３】
前記生成モデルは、参照信号の条件を示す制御データと、前記参照信号の音源スペクトルを示す第１データおよび当該参照信号のスペクトル包絡を示す第２データと、の関係を学習した学習済モデルである
請求項２の音信号合成方法。
【請求項４】
前記生成においては、
前記制御データを第１モデルに入力することにより前記第１データを生成し、
前記制御データと前記生成された第１データとを第２モデルに入力することにより前記第２データを生成する
請求項１の音信号合成方法。
【請求項５】
前記第１モデルは、参照信号の条件を示す制御データと、前記参照信号の音源スペクトルを示す第１データと、の関係を学習した学習済モデルである
請求項４の音信号合成方法。
【請求項６】
前記第２モデルは、参照信号の条件を示す制御データと前記参照信号の音源スペクトルを示す第１データとに対する、前記参照信号のスペクトル包絡を示す第２データの関係を学習した学習済モデルである
請求項４または請求項５の音信号合成方法。
【請求項７】
前記音信号合成方法は、さらに、前記制御データに応じて、前記音信号のピッチを示すピッチデータを生成し、
前記第１データおよび前記第２データの生成においては、
前記制御データと前記生成されたピッチデータとを第１モデルに入力することにより前記第１データを生成し、
前記制御データと前記生成されたピッチデータと前記生成された第１データとを第２モデルに入力することにより前記第２データを生成する
請求項１の音信号合成方法。
【請求項８】
参照信号の波形スペクトルから、当該波形スペクトルの包絡を示すスペクトル包絡を求め、
前記スペクトル包絡を用いて前記波形スペクトルを白色化することで、音源スペクトルを求め、
前記参照信号の条件を示す制御データから、前記音源スペクトルを示す第１データと前記スペクトル包絡を示す第２データとを生成するように、少なくとも１つのニューラルネットワークを含む生成モデルを訓練する
コンピュータにより実現される生成モデルの訓練方法。
【請求項９】
前記生成される音源スペクトルは第１音高に対応し、
前記訓練方法は、さらに、
前記第１音高に対応する音源スペクトルを第２音高の音源スペクトルにピッチ変換し、第１制御データが示す前記第１音高を前記第２音高に変更することで第２制御データを生成し、
前記第２制御データから、前記第２音高の音源スペクトルを示す第１データを生成するように、前記生成モデルを訓練する
請求項８の生成モデルの訓練方法。
【請求項１０】
１以上のプロセッサを具備する音信号合成システムであって、
前記１以上のプロセッサは、プログラムを実行することで、
音信号の条件を示す制御データに応じて、前記音信号の音源スペクトルを示す第１データと、前記音信号のスペクトル包絡を示す第２データとを生成し、
前記第１データが示す音源スペクトルと前記第２データが示すスペクトル包絡とに応じて、前記音信号を合成する
音信号合成システム。
【請求項１１】
前記１以上のプロセッサは、前記生成において、前記制御データを単一の生成モデルに入力することにより、前記第１データと前記第２データとを生成する
請求項１０の音信号合成システム。
【請求項１２】
前記生成モデルは、参照信号の条件を示す制御データと、前記参照信号の音源スペクトルを示す第１データおよび当該参照信号のスペクトル包絡を示す第２データと、の関係を学習した学習済モデルである
請求項１１の音信号合成システム。
【請求項１３】
前記１以上のプロセッサは、前記生成において、
前記制御データを第１モデルに入力することにより前記第１データを生成し、
前記制御データと前記生成された第１データとを第２モデルに入力することにより前記第２データを生成する
請求項１０の音信号合成システム。
【請求項１４】
前記第１モデルは、参照信号の条件を示す制御データと、前記参照信号の音源スペクトルを示す第１データと、の関係を学習した学習済モデルである
請求項１３の音信号合成システム。
【請求項１５】
前記第２モデルは、参照信号の条件を示す制御データと前記参照信号の音源スペクトルを示す第１データとに対する、前記参照信号のスペクトル包絡を示す第２データの関係を学習した学習済モデルである
請求項１３または請求項１４の音信号合成システム。
【請求項１６】
前記制御データに応じて、前記音信号のピッチを示すピッチデータを生成し、
前記第１データおよび前記第２データの生成においては、
前記制御データと前記生成されたピッチデータとを第１モデルに入力することにより前記第１データを生成し、
前記制御データと前記生成されたピッチデータと前記生成された第１データとを第２モデルに入力することにより前記第２データを生成する
請求項１０の音信号合成システム。
【請求項１７】
音信号の条件を示す制御データに応じて、前記音信号の音源スペクトルを示す第１データと、前記音信号のスペクトル包絡を示す第２データとを生成する生成部、および、
前記第１データが示す音源スペクトルと前記第２データが示すスペクトル包絡とに応じて、前記音信号を合成する変換部
としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音信号を合成する音源技術に関する。
【背景技術】
【０００２】
ニューラルネットワークを用いて任意の音信号を合成する各種の音合成技術が従来から提案されている。例えば非特許文献１には音声を合成する技術が開示されている。非特許文献１の技術では、テキストの時系列をニューラルネットワーク（生成モデル）に入力することで、スペクトルの時系列が生成され、生成されたスペクトルの時系列を別のニューラルネットワーク（ニューラルボコーダ）に入力することで、そのテキストに対応する音声の音信号の時系列が合成される。また、非特許文献２には、歌唱音を合成する技術が開示されている。非特許文献２の技術では、楽曲における各音符の音高等を示す制御データの時系列をニューラルネットワーク（生成モデル）に入力することで、調波成分のスペクトル包絡の時系列と非調波成分のスペクトル包絡の時系列と、ピッチF0の時系列とが生成され、それらをボコーダに入力することで音信号が合成される。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Jonathan Shen、Ruoming Pang、Ron J. Weiss、他、” Natural TTS Synthesis by Conditioning WaveNet on Mel Spectrogram Predictions”、[online] 、2017年12月16日、arXiv、[2019年2月20日検索]、インターネット(URL：https://arxiv.org/abs/1712.05884)
【非特許文献２】Merlijn Blaauw、Jordi Bonada、“A Neural Parametric Singing Synthesizer Modeling Timbre and Expression from Natural Songs”、[online] 、2017年12月18日、Appl. Sci. 、[2019年2月20日検索]、インターネット(URL：https://www.mdpi.com/2076-3417/7/12/1313)
【発明の概要】
【発明が解決しようとする課題】
【０００４】
非特許文献１に開示の生成モデルを用いて、ある音高範囲にわたり高品質の音信号を生成するためには、予め、その生成モデルをその音高範囲の多様な音高のデータを含む訓練データを用いて訓練する必要がある。そのため、訓練には大量のデータが必要である。この課題を解決するためには、ある音高の訓練データを別の音高の訓練データをもとに作成して訓練データを増やす方法が考えられるが、公知の音信号処理方法を用いる場合、品質の劣化が避けられない。例えば、リサンプリングにより音信号をピッチ変換すると、音信号の時間長とスペクトル包絡の形状とが変化してしまう。音信号のピッチ変換にPSOLA（Pitch Synchronous Overlap and Add）等の音声処理を用いると、グロウル音声等にみられる音信号の変調の周期性が崩れる。【０００５】
非特許文献２に開示の生成モデルは、２つのスペクトル包絡とピッチF0とを生成する。スペクトル包絡は、一般に、音高が変化してもその形状が大きく変化しないため、訓練データの増量は容易である。例えば、訓練データ（スペクトル包絡）が無い音高について、隣りの音高の訓練データをそのまま用いたり、両隣の音高の訓練データを利用して補間しても、品質的な劣化は小さい。しかし、非特許文献２の技術には、ピッチF0と調波成分のスペクトル包絡から生成する調波成分は比較的高品質に生成できるが、非調波成分のスペクトル包絡から生成する非調波成分の品質を上げることが難しいという問題がある。
【課題を解決するための手段】
【０００６】
本開示のひとつの態様に係る音信号合成方法は、音信号の条件を示す制御データに応じて、前記音信号の音源スペクトルを示す第１データと、前記音信号のスペクトル包絡を示す第２データとを生成し、前記第１データが示す音源スペクトルと前記第２データが示すスペクトル包絡とに応じて、前記音信号を合成する。【０００７】
本開示のひとつの態様に係る生成モデルの訓練方法は、音信号の波形スペクトルから、当該波形スペクトルの包絡を示すスペクトル包絡を求め、前記スペクトル包絡を用いて前記波形スペクトルを白色化することで、音源スペクトルを求め、前記音信号の条件を示す制御データから、前記音源スペクトルを示す第１データと前記スペクトルを示す第２データとを生成するように、少なくとも１つのニューラルネットワークを含む生成モデルを訓練する。【０００８】
本開示のひとつの態様に係る音信号合成システムは、１以上のプロセッサを具備する音信号合成システムであって、前記１以上のプロセッサは、プログラムを実行することで、音信号の条件を示す制御データに応じて、前記音信号の音源スペクトルを示す第１データと、前記音信号のスペクトル包絡を示す第２データとを生成し、前記第１データが示す音源スペクトルと前記第２データが示すスペクトル包絡とに応じて、前記音信号を合成する。【０００９】
本開示のひとつの態様に係るプログラムは、音信号の条件を示す制御データに応じて、前記音信号の音源スペクトルを示す第１データと、前記音信号のスペクトル包絡を示す第２データとを生成する生成部、および、前記第１データが示す音源スペクトルと前記第２データが示すスペクトル包絡とに応じて、音信号を合成する変換部としてコンピュータを機能させる。
【図面の簡単な説明】
【００１０】
【図１】音信号合成システムの構成を示すブロック図である。
【図２】音信号合成システムの機能的な構成を示すブロック図である。
【図３】準備処理のフローチャートである。
【図４】白色化処理の説明図である。
【図５】ある音高の音信号の波形スペクトルの例である。
【図６】その音信号のST表現の例である。
【図７】訓練部と生成部の処理の説明図である。
【図８】作成された別の音高の音信号のST表現の例である。
【図９】音信号合成処理のフローチャートである。
【図１０】変換部の一例の説明部である。
【図１１】変換部の別の例の説明図である。
【図１２】訓練部と生成部の処理の説明図である。
【図１３】訓練部と生成部の処理の説明図である。
【発明を実施するための形態】
【００１１】
Ａ：第１実施形態
図１は、本開示の音信号合成システム１００の構成を例示するブロック図である。音信号合成システム１００は、制御装置１１と記憶装置１２と表示装置１３と入力装置１４と放音装置１５とを具備するコンピュータシステムで実現される。音信号合成システム１００は、例えば携帯電話機、スマートフォンまたはパーソナルコンピュータ等の情報端末である。音信号合成システム１００は、単体の装置で実現されるほか、相互に別体で構成された複数の装置（例えばサーバ−クライアントシステム）でも実現される。
【００１２】
制御装置１１は、音信号合成システム１００を構成する各要素を制御する単数または複数のプロセッサである。具体的には、例えばＣＰＵ（Central Processing Unit）、ＳＰＵ（Sound Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＦＰＧＡ（Field Programmable Gate Array）、またはＡＳＩＣ（Application Specific Integrated Circuit）等の１種類以上のプロセッサにより、制御装置１１が構成される。制御装置１１は、合成音の波形を表す時間領域の音信号Vを生成する。
【００１３】
記憶装置１２は、制御装置１１が実行するプログラムと制御装置１１が使用する各種のデータとを記憶する単数または複数のメモリである。記憶装置１２は、例えば磁気記録媒体もしくは半導体記録媒体等の公知の記録媒体、または、複数種の記録媒体の組合せで構成される。なお、音信号合成システム１００とは別体の記憶装置１２（例えばクラウドストレージ）を用意し、移動体通信網またはインターネット等の通信網を介して制御装置１１が記憶装置１２に対する書込および読出を実行してもよい。すなわち、記憶装置１２は音信号合成システム１００から省略されてもよい。
【００１４】
表示装置１３は、制御装置１１が実行したプログラムの演算結果を表示する。表示装置１３は、例えばディスプレイである。表示装置１３は音信号合成システム１００から省略されてもよい。
【００１５】
入力装置１４は、ユーザの入力を受け付ける。入力装置１４は、例えばタッチパネルである。入力装置１４は音信号合成システム１００から省略されてもよい。
【００１６】
放音装置１５は、制御装置１１が生成した音信号Vが表す音声を再生する。放音装置１５は、例えばスピーカまたはヘッドホンである。なお、制御装置１１が生成した音信号Vをデジタルからアナログに変換するＤ/Ａ変換器と音信号Vを増幅する増幅器とについては図示を便宜的に省略した。また、図１では、放音装置１５を音信号合成システム１００に搭載した構成を例示したが、音信号合成システム１００とは別体の放音装置１５を音信号合成システム１００に有線または無線で接続してもよい。
【００１７】
図２は、制御装置１１の機能構成を例示するブロック図である。制御装置１１は、記憶装置１２に記憶されたプログラムを実行することで、生成モデルを用いて、歌手の歌唱音または楽器の演奏音などの音波形を表す時間領域の音信号Vを生成する生成機能（生成制御部１２１、生成部１２２，および加算部）を実現する。また、制御装置１１は、記憶装置１２に記憶されたプログラムを実行することで、音信号Vの生成に用いる生成モデルの準備を行う準備機能（解析部１１１、条件付け部１１３、時間合せ部１１２、抽出部１１１２、減算部、および訓練部１１５）を実現する。なお、複数の装置の集合（すなわちシステム）で制御装置１１の機能を実現してもよいし、制御装置１１の機能の一部または全部を専用の電子回路（例えば信号処理回路）で実現してもよい。
【００１８】
まず、音源音色表現と、その音源音色表現を生成する生成モデルと、当該生成モデルの訓練に用いられる参照信号Rとについて説明する。音源音色表現（Source Timbre Representation、以下、ST表現と呼ぶ）は、音信号Vの周波数特性を表現する特徴量であり、音源スペクトル（source）とスペクトル包絡（timbre）との組からなる。音源から発生する音に特定の音色が付加される場面を想定すると、音源スペクトルは、音源から発生する音の周波数特性であり、スペクトル包絡は、当該音に付加される音色を表す周波数特性（当該音に作用するフィルタの応答特性）である。音信号からST表現を生成する方法は、後の解析部１１１の説明のなかで詳述する。
【００１９】
生成モデルは、合成されるべき音信号Vの条件を指定する制御データXに応じて、音信号VのST表現（音源スペクトルSとスペクトル包絡T）の時系列を生成するための統計的モデルであり、その生成特性は記憶装置１に記憶された複数の変数（係数およびバイアスなど）により規定される。統計的モデルは、音源スペクトルSを示す第１データとスペクトル包絡Tを示す第２データとを生成（推定）するニューラルネットワークである。そのニューラルネットワークは、例えば、WaveNet(TM)のような、音信号Vの過去の複数のサンプルに基づいて、現在のサンプルの確率密度分布を生成する回帰的なタイプでもよい。また、そのアルゴリズムも任意であり、例えば、CNN（Convolutional Neural Network）タイプでもRNN（Recurrent Neural Network）タイプでよいし、その組み合わせでもよい。さらに、LSTM（Long Short-Term Memory）またはATTENTIONなどの付加的要素を備えるタイプでもよい。生成モデルの複数の変数は、後述する準備機能による訓練データを用いた訓練により確立されて、複数の変数が確立された生成モデルは、後述する生成機能で音信号VのST表現の生成に使用される。以上の例示の通り、第１実施形態の生成モデルは、制御データXと第１データおよび第２データとの関係を学習した単一の学習済モデルである。
【００２０】
記憶装置１２は、生成モデルの訓練のために、複数の楽譜データと、それら楽譜データが示す楽譜をプレイヤーが演奏した時間領域の波形を示す複数の音信号（以下、「参照信号」と呼ぶ）Rとを記憶する。各楽譜データは音符の時系列を含む。各楽譜データに対応する参照信号Rは、当該楽譜データが表す楽譜の音符の系列に対応する部分波形の時系列を含む。各参照信号Rは、音波形を表す時間領域の信号であり、サンプリング周期（例えば、48kHz）ごとのサンプルの時系列で構成される。演奏は、人間による楽器の演奏に限らず、歌手による歌唱、または楽器の自動演奏であってもよい。機械学習で良い音を生成するためには、一般的に十分な個数の訓練データが要求されるので、ターゲットとする楽器またはプレイヤーなどについて、多数の演奏の音信号を事前に収録し、参照信号Rとして記憶装置１２に記憶しておくのが良い。
【００２１】
次に、図２に例示される、生成モデルを訓練する準備機能について説明する。準備機能は、制御装置１１が、図３のフローチャートに例示される準備処理を実行することで実現される。準備処理は、例えば音信号合成システム１００の利用者からの指示を契機として開始される。
【００２２】
準備処理が開始されると、制御装置１１（解析部１１１）は、複数の参照信号Rの各々から周波数領域のスペクトル（以下、波形スペクトルと呼ぶ）を生成する（Sa1）。波形スペクトルは、例えば参照信号Rの振幅スペクトルである。制御装置１１（解析部１１１）は、波形スペクトルからスペクトル包絡を生成する（Sa2）。また、制御装置１１（解析部１１１）は、そのスペクトル包絡を用いて波形スペクトルを白色化する（Sa3）。白色化は、波形スペクトルにおける周波数ごとの強度の相違を低減する処理である。次に、制御装置１１（条件付け部１１３および拡張部１１４）は、その参照信号Rに対応する楽譜データから生成した制御データXに基づき、データが足りない音高について、解析部１１１からの音源スペクトルとスペクトル包絡をデータ拡張する（Sa4）。次に、制御装置１１（条件付け部１１３、訓練部１１５）は、制御データXと音源スペクトルとスペクトル包絡とを用いて生成モデルを訓練し、生成モデルの複数の変数を確立する（Sa5）。続いて、準備処理の各機能の詳細を説明する。
【００２３】
図２の解析部１１１は、抽出部１１１２と白色化部１１１１とを含み、相異なる楽譜に対応する複数の参照信号Rの各々について、時間軸上のフレームごとに波形スペクトルを算定し、波形スペクトルの時系列からST表現（音源スペクトルとスペクトル包絡）を算定する。図４には、ある波形スペクトルと、その波形スペクトルから算出されるスペクトル包絡および音源スペクトルとが例示されている。波形スペクトルの算定には、例えば離散フーリエ変換等の公知の周波数解析が用いられる。
【００２４】
抽出部１１１２は、参照信号Rの波形スペクトルからスペクトル包絡を抽出する。スペクトル包絡の抽出には公知の技術が任意に採用される。例えば、抽出部１１１２は、短時間フーリエ変換で得られた振幅スペクトル（波形スペクトル）から調波成分のピークを抽出し、そのピーク振幅をスプライン補間することで、参照信号Rのスペクトル包絡を算出する。或いは、波形スペクトルをケプストラム係数に変換し、その低次成分を逆変換することで得られる振幅スペクトルをスペクトル包絡としてもよい。
【００２５】
白色化部１１１１は、そのスペクトル包絡に応じて、参照信号Rを白色化（フィルタリング）することで音源スペクトルを算出する。白色化の方法は種々あるが、最も簡単な方法として、対数スケールにおいて、参照信号Rの波形スペクトル（例えば振幅スペクトル）からそのスペクトル包絡を減算することで、音源スペクトルが算出される。なお、短時間フーリエ変換の窓幅は、例えば20ミリ秒程度であり、相前後するフレームの時間差は、例えば5ミリ秒程度である。
【００２６】
解析部１１１は、さらに、周波数軸にメル尺度またはバーク尺度などを用いて、音源スペクトルおよびスペクトル包絡の次元を削減してもよい。次元が削減された音源スペクトルおよびスペクトル包絡を訓練に用いることで、生成モデルの規模を小さくし、学習効率を上げられる。メル尺度におけるある音信号の波形スペクトルの時系列の例を図５に示し、メル尺度におけるその音信号のST表現の時系列の例を図６に示す。図６における上段が音源スペクトルの時系列であり、下段がスペクトル包絡の時系列である。なお、解析部１１１は、音源スペクトルとスペクトル包絡を、相互に異なる尺度を用いて次元削減したり、何れか一方だけを次元削減してもよい。
【００２７】
図２の時間合せ部１１２は、解析部１１１で得られた波形スペクトル等の情報に基づき、各参照信号Rに対応する楽譜データにおける複数の発音単位の各々の開始時点と終了時点とを、参照信号Rにおけるその発音単位に対応する部分波形の開始時点と終了時点とに揃える。ここで、発音単位は、例えば、音高と発音期間とが指定された１つの音符である。なお、１つの音符を、音色等の波形の特徴が変化するポイントで分割して、複数の発音単位に分けてもよい。
【００２８】
条件付け部１１３は、各参照信号Rに時間が揃えられた楽譜データの各発音単位の情報に基づき、フレームを単位とする時刻ｔごとに、参照信号Rのうち当該時刻ｔに対応する部分波形に対応する制御データXを生成して訓練部１１５に出力する。制御データXは、前述の通り、合成されるべき音信号Vの条件を指定する。制御データXは、図７に例示される通り、音高データX1と開始停止データX2とコンテキストデータX3とを含む。音高データX1は対応する部分波形の音高を表し、開始停止データX2は各部分波形の開始期間（アタック）と終了期間（リリース）とを表す。音高データX1は、ピッチベンドまたはビブラートによる音高変化を含んでいてもよい。１個の音符に相当する部分波形内の１個のフレームのコンテキストデータX3は、当該音符と前後の音符との音高差など、前後の１または複数の発音単位との関係（すなわちコンテキスト）を表す。制御データXには、さらに、楽器、歌手または奏法など、その他の情報を含んでいてもよい。以上により、複数の参照信号Rと、相異なる参照信号Rに対応する複数の楽譜データとから、生成モデルの訓練に用いられるデータ（以下、発音単位データと呼ぶ）が発音単位ごとに得られる。発音単位データは、制御データXと音源スペクトルとスペクトル包絡とのセットである。
【００２９】
図２の拡張部１１４は、あるコンテキストの発音単位について、得られた発音単位データだけでは、音信号Vを生成する音高範囲の全音高をカバーできない場合に、参照信号Rを拡張することで、その欠けている音高の発音単位データを補充する。具体的には、ある音高の発音単位データが欠けている場合、拡張部１１４は、条件付け部１１３からの制御データXが示す既存の発音単位の中から、当該音高に近い１または複数の音高の発音単位を探す。そして、拡張部１１４は、見つけた発音単位に対応する部分波形と発音単位データとを用いて、当該音高の発音単位データの制御データXとST表現（音源スペクトルとスペクトル包絡）とを作成する。スペクトル包絡は音高に応じた変化が比較的小さいので、当該欠けている音高のスペクトル包絡については、当該音高に一番近い発音単位のスペクトル包絡をそのスペクトル包絡として用いても良いし、或いは、当該音高に近い音高を有する複数の発音単位を見つけた場合、拡張部１１４は、それらのスペクトル包絡間を補間またはモーフィングすることでスペクトル包絡を得てもよい。
【００３０】
なお、音源スペクトルはピッチ（音高）に応じて変化する。したがって、ある音高（以下、第１音高という）の発音単位データにおける音源スペクトルについてピッチ変換を実行することで他の音高（以下、第２音高という）の音源スペクトルを生成する必要がある。例えば、特許第5772739または米国特許第9286906に記載されたピッチ変換を用いれば、第１音高の音源スペクトルを各調波の周辺成分を保ったままピッチを変更することで第２音高の音源スペクトルを算出できる。この方法によれば、周波数変調あるいは振幅変調に伴いスペクトルの各調波成分の周辺に発生する側帯波スペクトル成分（サブハーモニクス）の周波数は、当該調波成分の周波数との差が第１音高の音源スペクトルのまま保持されるので、絶対的な変調周波数を維持したピッチ変換に相当する音源スペクトルを算出できる。或いは、拡張部１１４が次のようなピッチ変換でもよい。まず、拡張部１１４は、第１音高の部分波形をリサンプリングして第２音高の部分波形とし、その部分波形を短時間フーリエ変換してフレームごとのスペクトルを算出し、そのスペクトルにリサンプリングによる時間伸縮を打ち消す逆伸縮を行い、さらにそのスペクトル包絡を用いてスペクトルを白色化する。この場合、参照信号Rを合成時のサンプリング周波数より高いサンプリング周波数でサンプリングしておけば、リサンプリングによりピッチを下げても、高域の成分が無くならない。この方法によれば、ピッチ変換と同じ比率で変調周波数も変換されるため、ピッチ周期と変調周期とが定数倍の関係にある波形において、その倍数関係を維持したピッチ変換に相当する音源スペクトルを算出できる。
【００３１】
図８に、特定の音高（第１音高）のST表現（図６）から拡張部１１４が作成した、その音高より高い別の音高（第２音高）のST表現を示す。図８の上段の音源スペクトルは、図６の音源スペクトルをより高い第２音高にピッチ変換したものであり、図８の下段のスペクトル包絡は、図６のスペクトル包絡と同じものである。図８の上段のように、ピッチ変換後の音源スペクトルでは、各調波成分の近傍の側帯波スペクトル成分が保たれている。
【００３２】
制御データXについては、第２音高に近い制御データXの音高データX1の値を当該第２音高に相当する数値に変更することで、第２音高の制御データXが得られる。拡張部１１４は、以上のようにして、訓練に必要な発音単位データが欠けている第２音高について、当該第２音高の制御データXと、当該第２音高のST表現（音源スペクトルとスペクトル包絡）とを含む、第２音高の発音単位データを作成する。
【００３３】
ここまでの処理で、複数の参照信号Rと対応する複数の楽譜データとから、対象とする音高範囲内の相異なる音高（第２音高を含む）に対応する複数の発音単位データが準備される。各発音単位データは、制御データXとST表現のセットである。複数の発音単位データは、訓練部１１５による訓練に先立ち、生成モデルの訓練のための訓練データと、生成モデルのテストのためのテストデータとに分けられる。複数の発音単位データの大部分を訓練データとし、一部をテストデータにする。訓練データによる訓練は、複数の発音単位データをフレームの所定個ごとにバッチとして分割し、バッチ単位で全バッチにわたり順番に行われる。
【００３４】
訓練部１１５は、図７に例示するように、訓練データを受け取り、その各バッチの発音単位のST表現と制御データXとを順番に用いて生成モデルを訓練する。第１実施形態の生成モデルは、１つのニューラルネットワークで構成され、ST表現の音源スペクトルを示す第１データとスペクトル包絡を示す第２データとを、時刻tごとにパラレルに生成する。訓練部１１５は、１バッチ分の各発音単位データにおける制御データXを生成モデルに入力することで、その制御データXに対応する第１データの時系列と第２データの時系列とを生成する。訓練部１１５は、生成された第１データが示す音源スペクトルと訓練データのうち対応するST表現の音源スペクトル（すなわち正解値）とに基づいて損失関数LS（１バッチ分の累算値）を計算する。また、訓練部１１５は、生成された第２データが示すスペクトル包絡と訓練データのうち対応するST表現のスペクトル包絡（すなわち正解値）とに基づいて損失関数LT（１バッチ分の累算値）を計算する。そして、訓練部１１５は、損失関数LDと損失関数LSとを重み付け合成した損失関数Lが最小化されるように生成モデルの複数の変数を最適化する。例えば、損失関数LSおよび損失関数LTの各々としては、クロスエントロピー関数または二乗誤差関数などが使用される。訓練部１１５は、訓練データを使用した以上の訓練を、テストデータについて算出される損失関数Lの値が十分に小さくなるか、或いは、相前後する損失関数Lの変化が十分に小さくなるまで繰り返し行う。こうして確立された生成モデルは、複数の発音単位データにおける各制御データXと、対応するST表現との間に潜在する関係を学習している。この生成モデルを用いることで、生成部１２２は、未知の音信号Vの制御データX'についても、品質の良いST成分を生成できる。
【００３５】
次に、図２に例示される、生成モデルを用いて音信号Vを生成する音生成機能について説明する。音生成機能は、制御装置１１が、図９のフローチャートに例示される音生成処理を実行することで実現される。音生成処理は、例えば音信号合成システム１００の利用者からの指示を契機として開始される。
【００３６】
音生成処理が開始されると、制御装置１１（生成制御部１２１、生成部１２２）は、生成モデルを用いて、楽譜データから生成された制御データXに応じたST表現（音源スペクトルとスペクトル包絡）を生成する（Sb1）。次に、制御装置１１（変換部１２３）は、生成されたST表現に応じて、音信号Vを合成する（Sb2）。続いて、音生成処理のこれらの機能の詳細を説明する。
【００３７】
図２の生成制御部１２１は、再生すべき楽譜データの一連の発音単位の情報に基づき、時刻tごとの制御データX'を生成して生成部１２２に出力する。制御データX'は、楽譜データの各時刻tにおける発音単位の状態を示すデータであり、前述の制御データXと同様に、音高データX1'と開始停止データX2'とコンテキストデータX3'とを含む。
【００３８】
生成部１２２は、前述の準備処理で訓練された生成モデルを用いて、制御データXに応じた音源スペクトルの時系列とスペクトル包絡の時系列を生成する。図２に例示するように、生成部１２２は、生成モデルを用いて、フレームごと（時刻tごと）に、制御データXに応じた音源スペクトルを示す第１データと、当該制御データXに応じたスペクトル包絡を示す第２データとをパラレルに生成する。
【００３９】
変換部１２３は、生成部１２２により生成されたST表現（音源スペクトルとスペクトル包絡）の時系列を受け取り、時間領域の音信号Vに変換する。具体的には、図１０に示すように、変換部１２３は合成部１２３１とボコーダ１２３２とを具備する。合成部１２３１は、音源スペクトルとスペクトル包絡とを合成（対数スケールであれば加算）することで、波形スペクトルを生成する。ボコーダ１２３２は、その波形スペクトルと、最小位相によりその波形スペクトルから得られる位相スペクトルとを短時間逆フーリエ変換することで、時間領域の音信号Vを生成する。なお、一般的な構成のボコーダ１２３２の代わりに、図１１に例示される通り、ST表現と音信号Vの各サンプルとの関係を学習した生成モデル（例えばニューラルネットワーク）を利用した新型のボコーダ１２３３を利用してもよい。
【００４０】
Ｂ：第２実施形態
第２実施形態について説明する。なお、以下に例示する各態様において機能が第１実施形態と同様である要素については、第１実施形態の説明で使用した符号を流用して各々の詳細な説明を適宜に省略する。
【００４１】
第１実施形態においては、音源スペクトルとスペクトル包絡とを１つの生成モデルで生成する構成を例示したが、図１２に示す第２実施形態のように、音源スペクトルとスペクトル包絡とを相異なる２つの生成モデルで別々に生成してもよい。第２実施形態の機能的な構成は第１実施形態と同じ（図２）である。第２実施形態の生成モデルは、第１モデルと第２モデルとで構成される。第２実施形態の生成部１２２は、第１モデルを用いて、制御データXに応じて音源スペクトルを生成し、第２モデルを用いて、制御データXと音源スペクトルとに応じてスペクトル包絡を生成する。
【００４２】
図１２の上段に例示される準備処理において、訓練部１１５は、訓練データの各バッチの制御データXを第１モデルに入力して、その制御データXに応じた音源スペクトルを示す第１データを生成させる。そして、訓練部１１５は、生成された第１データが示す音源スペクトルと訓練データのうち対応する音源スペクトル（すなわち正解値）とに基づいてそのバッチの損失関数LSを計算し、その損失関数LSが最小化されるように第１モデルの複数の変数を最適化する。また、訓練部１１５は、訓練データの制御データXと訓練データの音源スペクトルとを第２モデルに入力し、その制御データXとその音源スペクトルに応じたスペクトル包絡を示す第２データを生成させる。そして、訓練部１１５は、生成された第２データが示すスペクトル包絡と訓練データのうち対応するスペクトル包絡（すなわち正解値）とに基づいてそのバッチの損失関数LTを計算し、その損失関数LTが最小化されるように第２モデルの複数の変数を最適化する。確立された第１モデルは、複数の発音単位データにおける各制御データXと、参照信号Rの音源スペクトルを表す第１データとの間に潜在する関係を学習している。また、確立された第２モデルは、複数の発音単位データにおける各制御データXおよび音源スペクトルを表す第１データと、参照信号Rのスペクトル包絡との間に潜在する関係を学習している。これらの生成モデルを用いることで、生成部１２２は、未知の制御データX'についても、その制御データX'に応じた音源スペクトルとスペクトル包絡とを生成できる。スペクトル包絡は、制御データX'に応じた形状であり、かつ、その音源スペクトルに同期する。
【００４３】
図１２の下段に例示される音生成処理において、条件付け部１１３は、第１実施形態と同様に、楽譜データに応じた制御データX'を生成する。生成部１２２は、第１モデルを用いて、制御データX'に応じた音源スペクトルを示す第１データを生成し、第２モデルを用いて、制御データX'と第１データが示す音源スペクトルとに応じたスペクトル包絡を示す第２データを生成する。すなわち、第１データと第２データとが表すST表現（音源スペクトルとスペクトル包絡）が生成される。変換部１２３は、第１実施形態と同様に、生成されたST表現を音信号Vに変換する。
【００４４】
なお、第２実施形態においては、第１モデルに供給する制御データXと、第２モデルに供給する制御データXとを、各モデルが生成するデータの特徴に応じて異ならせてもよい。例えば、音高に応じた変化はスペクトル包絡より音源スペクトルの方が大きいと想定される。したがって、第１モデルには分解能の高い音高データX1aを入力し、第２モデルには音高データX1aよりも分解能の低い音高データX1bを入力するとよい。また、コンテキストに応じた変化は音源スペクトルよりスペクトル包絡の方が大きいと想定される。したがって、第２モデルには分解能の高いコンテキストデータX3bを入力し、第１モデルにはコンテキストデータX3bよりも分解能の低いコンテキストデータX3aを入力するとよい。これにより、生成されるST表現の品質に余り影響を与えずに、第１モデルおよび第２モデルの規模を小さくすることができる。また、第２実施形態では音源スペクトルの生成とスペクトル包絡の生成が分かれている。ここで、音源スペクトルはスペクトル包絡と比較して音源に対する依存性が大きいという傾向がある。したがって、拡張部１１４は、音高に対する依存性が大きい音源スペクトルについてのみピッチ変換で足りないデータを補充し、音高に対する依存性が小さいスペクトル包絡については、足りないデータを補充しなくてもよい。すなわち、拡張部１１４の処理負荷が軽減される。
【００４５】
Ｃ：第３実施形態
図１３は、第３実施形態における音信号合成システム１００の機能的な構成を例示するブロック図である。第３実施形態の生成モデルは、音源スペクトルを生成するための第１モデルと、スペクトル包絡を生成するための第２モデルとに加えて、ピッチを生成するためのF0モデルを備える。F0モデルは、ピッチ（基本周波数）を表すピッチデータを制御データXに応じて生成する。第１モデルは、制御データXとピッチデータとに応じて音源スペクトルを生成する。第２モデルは、制御データXとピッチと音源スペクトルとに応じてスペクトル包絡を生成する。
【００４６】
図１３の上段に例示される準備処理において、訓練部１１５は、訓練データとテストデータとを用いて、制御データX'に応じたピッチF0を示すピッチデータを生成するようにF0モデルを訓練する。また、訓練部１１５は、制御データX'とピッチF0とに応じた音源スペクトルを生成するように第１モデルを訓練する。さらに、訓練部１１５は、制御データX'とピッチF0と音源スペクトルとに応じたスペクトル包絡を生成するように第２モデルを訓練する。準備処理により確立されたF0モデルは、複数の制御データXと複数のピッチF0との間に潜在する関係を学習している。第１モデルは、複数の制御データXおよびピッチF0と、複数の音源スペクトルとの間に潜在する関係を学習している。第２モデルは、複数の各制御データX、ピッチF0、および音源スペクトルと、複数のスペクトル包絡との間に潜在する関係を学習している。
【００４７】
図１３の下段に例示される音生成処理において、条件付け部１１３は、第１実施形態と同様に、楽譜データに応じた制御データX'を生成する。生成部１２２は、まず、F0モデルを用いて制御データX'に応じたピッチF0を生成する。生成部１２２は、次に、第１モデルを用いて制御データX'と生成されたピッチF0とに応じた音源スペクトルを生成する。さらに、生成部１２２は、第２モデルを用いて、制御データX'とピッチF0と生成された音源スペクトルとに応じたスペクトル包絡を生成する。変換部１２３は、生成された音源スペクトルとスペクトル包絡（つまり、ST表現）を音信号Vに変換する。
【００４８】
第３実施形態においては、第２実施形態と同様に、音源スペクトルとそれに同期したスペクトル包絡を含む高品質なST表現を生成できる。また、第１モデルと第２モデルにピッチを入力したことで、ピッチの動的な変化に応じたST表現の変化を再現できる。
【００４９】
Ｄ：第４実施形態
図２の第１実施形態においては、楽譜データの一連の発音単位の情報に基づいて音信号Vを生成する音生成機能を例示したが、鍵盤等から供給される発音単位の情報に基づいて、リアルタイムに音信号Vを生成するようにしてもよい。生成制御部１２１は、各時点の制御データXおよび制御データYを、その時点までに供給された発音単位の情報に基づいて生成する。その場合、制御データXに含まれるコンテキストデータX3には、基本的に、未来の発音単位の情報を含むことができないが、過去の情報から未来の発音単位の情報を予測して、未来の発音単位の情報を含めるようにしてもよい。
【００５０】
なお、音信号合成システム１００が合成する音信号Vは、楽器音または音声の合成に限らず、動物の鳴き声の合成、または、風音および波音のような自然界の音の合成など、その音の生成過程に確率的な要素が含まれるあらゆる音の合成に適用できる。
【００５１】
以上に例示した音信号合成システム１００の機能は、前述の通り、制御装置１１を構成する単数または複数のプロセッサと記憶装置１２に記憶されたプログラムとの協働により実現される。本開示に係るプログラムは、コンピュータが読取可能な記録媒体に格納された形態で提供されてコンピュータにインストールされてもよい。記録媒体は、例えば非一過性（non-transitory）の記録媒体であり、ＣＤ-ＲＯＭ等の光学式記録媒体（光ディスク）が好例であるが、半導体記録媒体または磁気記録媒体等の公知の任意の形式の記録媒体も包含される。なお、非一過性の記録媒体とは、一過性の伝搬信号（transitory, propagating signal）を除く任意の記録媒体を含み、揮発性の記録媒体も除外されない。また、配信装置が通信網を介してプログラムを配信する構成では、当該配信装置においてプログラムを記憶する記憶装置が、前述の非一過性の記録媒体に相当する。
【符号の説明】
【００５２】
１００…音信号合成システム、１１…制御装置、１２…記憶装置、１３…表示装置、１４…入力装置、１５…放音装置、１１１…解析部、１１１１…白色化部、１１１２…抽出部、１１２…時間合せ部、１１３…条件付け部、１１４…拡張部、１１５…訓練部、１２１…生成制御部、１２２…生成部、１２３…変換部。
【図１】
2020171033.tif 000003
【図２】
2020171033.tif 000004
【図３】
2020171033.tif 000005
【図４】
2020171033.tif 000006
【図５】
2020171033.tif 000007
【図６】
2020171033.tif 000008
【図７】
2020171033.tif 000009
【図８】
2020171033.tif 000010
【図９】
2020171033.tif 000011
【図１０】
2020171033.tif 000012
【図１１】
2020171033.tif 000013
【図１２】
2020171033.tif 000014
【図１３】
2020171033.tif 000015
【国際調査報告】
2020171033.tif 000016
2020171033.tif 000017
2020171033.tif 000018
2020171033.tif 000019