JP2024062724A - 楽音合成方法、楽音合成システムおよびプログラム - Google Patents

楽音合成方法、楽音合成システムおよびプログラム Download PDF

Info

Publication number
JP2024062724A
JP2024062724A JP2022170758A JP2022170758A JP2024062724A JP 2024062724 A JP2024062724 A JP 2024062724A JP 2022170758 A JP2022170758 A JP 2022170758A JP 2022170758 A JP2022170758 A JP 2022170758A JP 2024062724 A JP2024062724 A JP 2024062724A
Authority
JP
Japan
Prior art keywords
data
unit
control vector
control
time series
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022170758A
Other languages
English (en)
Inventor
慶二郎 才野
Keijiro Saino
ティ ジョセフ カーネル
T Colonel Joseph
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2022170758A priority Critical patent/JP2024062724A/ja
Priority to PCT/JP2023/030522 priority patent/WO2024089995A1/ja
Publication of JP2024062724A publication Critical patent/JP2024062724A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/033Voice editing, e.g. manipulating the voice of the synthesiser
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/06Elementary speech units used in speech synthesisers; Concatenation rules
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Signal Processing (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

【課題】利用者からの指示に応じた多様な部分音色を有する楽音を生成する。【解決手段】楽音合成システム100は、目標楽音の条件を表す制御データの時系列Xを取得する制御データ取得部21と、音色の時間的な変化の特徴を表す制御ベクトルVを利用者からの指示に応じて生成する制御ベクトル生成部24と、制御ベクトルVから第1パラメータセットPnを生成する制御ベクトル処理部25と、複数の基本層と1以上の中間層を含み、楽音の条件と当該楽音の音響特徴量との関係を学習した訓練済の第1生成モデル30により、制御データの時系列Xを処理することで、目標楽音の音響特徴量を表す音響データの時系列Zを生成する楽音合成部22と、を具備し、1以上の中間層のうちの第1中間層は、第1中間層に入力されるデータに対して第1パラメータセットPnを適用した処理を実行し、適用後のデータを次層に出力する。【選択図】図2

Description

本開示は、音を合成する技術に関する。
例えばニューラルネットワーク等の生成モデルを利用して所望の楽音を生成する技術が従来から提案されている。例えば特許文献1には、音声に関する多次元の楽譜特徴量の時系列を畳込ニューラルネットワークにより処理することで、音声波形の音響特徴量の時系列を生成する構成が開示されている。
特許第6552146号公報
生成モデルを利用する近年の音声合成においては、楽譜特徴量の時系列から画一的な楽音を合成するだけでなく、特定の楽音の一部の区間における音色の時間的な変化(以下「部分音色」という)を、利用者からの指示に応じて楽音に付与することが要求される。以上の事情を考慮して、本開示のひとつの態様は、利用者からの指示に応じた多様な部分音色を有する楽音を生成することを目的とする。
以上の課題を解決するために、本開示のひとつの態様に係る楽音合成方法は、目標楽音の条件を表す制御データの時系列を取得し、複数の基本層と1以上の中間層を含み、楽音の条件と当該楽音の音響特徴量との関係を学習した訓練済の生成モデルにより、前記制御データの時系列を処理することで、前記目標楽音の音響特徴量を表す音響データの時系列を生成する、コンピュータシステムにより実現される楽音合成方法であって、音色の時間的な変化の特徴を表す制御ベクトルを利用者からの指示に応じて生成し、前記制御ベクトルから第1パラメータセットを生成し、前記1以上の中間層のうちの第1中間層は、前記第1中間層に入力されるデータに対して前記第1パラメータセットを適用した処理を実行し、適用後のデータを次層に出力する。
本開示のひとつの態様に係る楽音合成システムは、目標楽音の条件を表す制御データの時系列を取得する制御データ取得部と、音色の時間的な変化の特徴を表す制御ベクトルを利用者からの指示に応じて生成する制御ベクトル生成部と、前記制御ベクトルから第1パラメータセットを生成する制御ベクトル処理部と、複数の基本層と1以上の中間層を含み、楽音の条件と当該楽音の音響特徴量との関係を学習した訓練済の生成モデルにより、前記制御データの時系列を処理することで、前記目標楽音の音響特徴量を表す音響データの時系列を生成する楽音合成部と、を具備し、前記1以上の中間層のうちの第1中間層は、前記第1中間層に入力されるデータに対して前記第1パラメータセットを適用した処理を実行し、適用後のデータを次層に出力する。
本開示のひとつの態様に係るプログラムは、目標楽音の条件を表す制御データの時系列を取得する制御データ取得部、音色の時間的な変化の特徴を表す制御ベクトルを利用者からの指示に応じて生成する制御ベクトル生成部、前記制御ベクトルから第1パラメータセットを生成する制御ベクトル処理部、および、複数の基本層と1以上の中間層を含み、楽音の条件と当該楽音の音響特徴量との関係を学習した訓練済の生成モデルにより、前記制御データの時系列を処理することで、前記目標楽音の音響特徴量を表す音響データの時系列を生成する楽音合成部、としてコンピュータシステムを機能させるプログラムであって、前記1以上の中間層のうちの第1中間層は、前記第1中間層に入力されるデータに対して前記第1パラメータセットを適用した処理を実行し、適用後のデータを次層に出力する。
第1実施形態における楽音合成システムの構成を例示するブロック図である。 楽音合成システムの機能的な構成を例示するブロック図である。 第1生成モデルの具体的な構成を例示するブロック図である。 変換処理の説明図である。 設定画面の模式図である。 第2生成モデルの具体的な構成を例示するブロック図である。 楽音合成処理のフローチャートである。 機械学習の説明図である。 訓練処理のフローチャートである。 第2実施形態における制御ベクトル生成部のブロック図である。 第2実施形態における設定画面の模式図である。 第2実施形態における楽音合成処理のフローチャートである。 各中間層Lが実行する変換処理の説明図である。 第4実施形態における第1生成モデルのブロック図である。 第4実施形態における単位処理部のブロック図である。 変形例における処理期間の説明図である。
A:第1実施形態
図1は、第1実施形態に係る楽音合成システム100の構成を例示するブロック図である。楽音合成システム100は、所望の楽音(以下「目標楽音」という)を合成するコンピュータシステムである。目標楽音は、楽音合成システム100により合成されるべき音楽的な音である。第1実施形態においては、特定の楽曲(以下「目標楽曲」という)の歌唱により発音されるべき歌唱音を目標楽音として例示する。
楽音合成システム100は、制御装置11と記憶装置12と表示装置13と操作装置14と放音装置15とを具備する。楽音合成システム100は、例えばスマートフォン、タブレット端末またはパーソナルコンピュータ等の情報装置で実現される。なお、楽音合成システム100は、単体の装置として実現されるほか、相互に別体で構成された複数の装置でも実現される。
制御装置11は、楽音合成システム100の各要素を制御する単数または複数のプロセッサである。具体的には、制御装置11は、例えばCPU(Central Processing Unit)、GPU(Graphics Processing Unit)、SPU(Sound Processing Unit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)、またはASIC(Application Specific Integrated Circuit)等の1種類以上のプロセッサにより構成される。
記憶装置12は、制御装置11が実行するプログラムと、制御装置11が使用する各種のデータとを記憶する単数または複数のメモリである。例えば半導体記録媒体および磁気記録媒体等の公知の記録媒体、または複数種の記録媒体の組合せが、記憶装置12として利用される。なお、例えば、楽音合成システム100に対して着脱される可搬型の記録媒体、または、制御装置11が通信網を介してアクセス可能な記録媒体(例えばクラウドストレージ)が、記憶装置12として利用されてもよい。第1実施形態の記憶装置12は、楽曲データMと参照信号Srとを記憶する。
楽曲データMは、目標楽曲の楽譜を表す。より詳細には、楽曲データMは、目標楽曲の複数の音符の各々について音高と発音期間と発音文字とを指定する。音高は、離散的に設定された複数の音階音の何れかである。発音期間は、例えば音符の始点と継続長とにより指定される。発音文字は、楽曲の歌詞を表す符号である。例えばMIDI(Musical Instrument Digital Interface)規格に準拠した音楽ファイルが、楽曲データMとして利用される。楽曲データMは、例えば配信装置から通信網を介して楽音合成システム100に提供される。
参照信号Srは、特定の楽音(以下「参照楽音」という)の波形を表す音響信号である。参照楽音は、例えば参照用の楽曲の歌唱により発音されるべき歌唱音である。参照信号Srは、配信装置から通信網を介して楽音合成システム100に提供される。なお、参照信号Srは、例えば光ディスク等の記録媒体を駆動する再生装置から提供されてもよいし、収音装置を利用した参照楽音の収音により生成されてもよい。また、参照信号Srは、歌唱合成または楽音合成等の公知の合成技術により合成された音響信号でもよい。なお、参照信号Srに対応する参照用の楽曲と目標楽曲とは、共通の楽曲でも別個の楽曲でもよい。また、目標楽音の歌唱者と参照楽音の歌唱者とは同じでも異なってもよい。
第1実施形態の目標楽音は、目標楽曲の歌唱音であり、かつ、参照楽音のうち特定の期間(以下「特定区間」という)内における音響特性の時間的な変化の特徴(以下「部分音色」という)が付与された楽音である。具体的には、利用者の所望の部分音色が付与された楽音が目標楽音として生成される。例えば、音量または音高等の音響特性の反復的な変動(ビブラート)、または音響特性の経時的な変化等、特定区間に存在する所望の特徴が、部分音色として想定される。以上の説明から理解される通り、参照楽音は、目標楽曲に付与されるべき部分音色の素材となる楽音である。制御装置11は、楽曲データMと参照信号Srとを利用して、目標楽音を表す音響信号Wを生成する。音響信号Wは、目標楽音の波形を表す時間領域の信号である。
表示装置13は、制御装置11による制御のもとで画像を表示する。表示装置13は、例えば、液晶表示パネルまたは有機EL(Electroluminescence)パネル等の表示パネルである。操作装置14は、利用者からの指示を受付ける入力機器である。操作装置14は、例えば、利用者が操作する操作子、または、利用者による接触を検知するタッチパネルである。なお、楽音合成システム100とは別体の表示装置13または操作装置14が、楽音合成システム100に有線または無線により接続されてもよい。
放音装置15は、制御装置11による制御のもとで音響を再生する。具体的には、放音装置15は、音響信号Wが表す目標楽音を再生する。例えばスピーカまたはヘッドホンが放音装置15として利用される。なお、音響信号Wをデジタルからアナログに変換するD/A変換器、および、音響信号Wを増幅する増幅器については、図示が便宜的に省略されている。楽音合成システム100とは別体の放音装置15が、楽音合成システム100に有線または無線により接続されてもよい。
図2は、楽音合成システム100の機能的な構成を例示するブロック図である。制御装置11は、記憶装置12に記憶されたプログラムを実行することで、目標楽音の音響信号Wを生成するための複数の機能(制御データ取得部21、楽音合成部22、波形合成部23、制御ベクトル生成部24、制御ベクトル処理部25および訓練処理部26)を実現する。
なお、以下の各図面においては、ひとつのデータのデータサイズ(次元数)bと、当該データの複数個で構成される時系列の時間長aとが、記号[a,b]により表記されている。時間長aは、時間軸上の所定長の期間(以下「単位期間」という)を単位とする個数で表現される。例えば図2における[800,134]は、134次元で構成されるデータを、単位期間の800個分だけ配列した時系列を意味する。単位期間は、例えば5ミリ秒程度の時間長の期間(フレーム)である。したがって、単位期間の800個は4秒分に相当する。なお、以上の数値は一例であり、任意に変更されてよい。各単位期間は、時刻により特定される。
制御データ取得部21は、目標楽音の条件を表す制御データDxを取得する。具体的には、制御データ取得部21は、各単位期間の制御データDxを取得する。第1実施形態の制御データ取得部21は、楽曲データMから各単位期間の制御データDxを生成する。すなわち、制御データDxの「生成」は、制御データDxの「取得」の一例である。
制御データDxは、目標楽曲の楽譜の特徴量(以下「楽譜特徴量」という)を表す。制御データDxが表す楽譜特徴量は、例えば、単位期間におけるピッチ(基本周波数)と、単位期間における有声/無声を表す情報と、単位期間における音素情報とを含む。
ピッチは、楽曲データMが指定する各音符に対応するピッチの時系列(ピッチ軌跡)のうち1個の単位期間における数値である。目標楽曲の各音符の音高は離散的であるのに対し、制御データDxに利用されるピッチ軌跡は、時間軸上におけるピッチの連続的な変化である。制御データ取得部21は、例えば各音符の音高とピッチ軌跡との関係を学習した推定モデルにより楽曲データMを処理することで、制御データDxにおけるピッチ軌跡を推定する。ただし、ピッチ軌跡の生成の方法は以上の例示に限定されない。また、制御データDxは、各音符の離散的な音高を含んでもよい。
音素情報は、目標楽曲の発音文字に対応する音素に関する情報である。具体的には、音素情報は、例えば、複数の音素のうち何れかの音素を例えばone-hot表現により指定する情報と、音素期間に対する単位期間の位置と、音素期間の先頭または末尾からの時間長と、音素の継続長とを含む。
処理期間B内における制御データDxの時系列は、制御データ列Xを構成する。処理期間Bは、時間軸上で連続する複数(具体的には800個)の単位期間により構成される所定長の期間である。以上の説明から理解される通り、第1実施形態の制御データ取得部21は、目標楽音の条件を表す制御データDxの時系列(すなわち制御データ列X)を、時間軸上の処理期間B毎に生成する。
楽音合成部22は、制御データ列Xを処理することで音響データ列Zを生成する。具体的には、楽音合成部22は、処理期間B毎に音響データ列Zを生成する。音響データ列Zは、処理期間Bにおける目標楽音の音響的な特徴を表す時系列データである。音響データ列Zは、処理期間B内の連続する単位期間に対応する複数(具体的には800個)の音響データDzにより構成される。すなわち、音響データ列Zは、処理期間B内における音響データDzの時系列である。楽音合成部22は、1個の処理期間Bに対応する制御データ列Xから当該処理期間Bの音響データ列Zを生成する。
音響データDzは、目標楽音の音響特徴量を表す。音響特徴量は、例えば、目標楽音の振幅スペクトル包絡である。具体的には、音響データDzは、目標楽音の調波成分の振幅スペクトル包絡と、目標楽音の非調波成分の振幅スペクトル包絡とを含む。振幅スペクトル包絡は、振幅スペクトルの概形である。調波成分および非調波成分の振幅スペクトル包絡は、例えばメルケプストラムまたはMFCC(Mel-Frequency Cepstrum Coefficients)等で表現される。以上の説明から理解される通り、第1実施形態の楽音合成部22は、目標楽音の音響特徴量を表す音響データDzの時系列(すなわち音響データ列Z)を処理期間B毎に生成する。なお、音響データDzは、目標楽音の振幅スペクトル包絡とピッチ軌跡とを含んでもよい。また、音響データDzは、目標楽音のスペクトル(振幅スペクトルまたはパワースペクトル)を含んでもよい。目標楽音のスペクトルは、例えばメルスペクトルとして表現されてもよい。また、振幅スペクトル包絡は、パワースペクトルの概形(パワースペクトル包絡)でもよい。
波形合成部23は、音響データ列Zから目標楽音の音響信号Wを生成する。具体的には、波形合成部23は、例えば離散逆フーリエ変換を含む演算により各単位期間の音響データDzから波形信号を生成し、時間軸上で連続する単位期間について波形信号を相互に連結することで音響信号Wを生成する。なお、音響データ列Zと波形信号との関係を学習した深層ニューラルネットワーク(いわゆるニューラルボコーダ)が、波形合成部23として利用されてもよい。波形合成部23が生成した音響信号Wが放音装置15に供給されることで、目標楽音が放音装置15から再生される。なお、波形合成部23による音響信号Wの生成には、制御データ取得部21が生成したピッチが適用されてもよい。
図2に例示される通り、楽音合成部22は、第1生成モデル30により制御データ列Xを処理することで音響データ列Zを生成する。第1生成モデル30は、目標楽音の楽譜上の条件(制御データ列X)と目標楽音の音響特徴量(音響データ列Z)との関係を機械学習により学習した訓練済の統計モデルである。すなわち、第1生成モデル30は、制御データ列Xの入力に応じて音響データ列Zを出力する。第1生成モデル30は、例えば深層ニューラルネットワークにより構成される。
第1生成モデル30は、制御データ列Xから音響データ列Zを生成する演算(アーキテクチャ)を制御装置11に実行させるプログラムと、当該演算に適用される複数の変数(加重値およびバイアス)との組合せで実現される。第1生成モデル30を実現するプログラムおよび複数の変数は、記憶装置12に記憶される。第1生成モデル30の複数の変数は、機械学習により事前に設定される。第1実施形態の第1生成モデル30は、第1符号化器31と復号化器32とを含む。
第1符号化器31は、制御データ列Xと中間データYとの関係を機械学習により学習した訓練済の統計モデルである。すなわち、第1符号化器31は、制御データ列Xの入力に応じて中間データYを出力する。楽音合成部22は、制御データ列Xを第1符号化器31により処理することで中間データYを生成する。中間データYは、制御データ列Xの特徴を表す。具体的には、中間データYが表す制御データ列Xの特徴に応じて、生成される音響データ列Zが変化する。すなわち、第1符号化器31は、制御データ列Xを中間データYに符号化する。
復号化器32は、中間データYと音響データ列Zとの関係を機械学習により学習した訓練済の統計モデルである。すなわち、復号化器32は、中間データYの入力に応じて音響データ列Zを出力する。楽音合成部22は、中間データYを復号化器32により処理することで音響データ列Zを生成する。すなわち、復号化器32は、中間データYを音響データ列Zに復号化する。以上の説明の通り、第1実施形態においては、第1符号化器31による符号化と復号化器32による復号化とにより音響データ列Zを生成できる。
図3は、第1生成モデル30の具体的な構成(アーキテクチャ)を例示するブロック図である。第1符号化器31は、前処理部311とN1個の畳込層312とN1個の符号中間層Leとを含む。具体的には、前処理部311の後段に、N1個の畳込層312とN1個の符号中間層Leとが交互に配置される。すなわち、畳込層312と符号中間層Leとで構成されるN1組が、前処理部311の後段に積層される。
前処理部311は、制御データ列Xを加工するための多層パーセプトロンで構成される。前処理部311は、制御データ列Xの相異なる制御データDxに対応する複数の演算部で構成される。各演算部は、複数段の全結合層の積層により構成される。各制御データDxが各全結合層により順次に処理される。例えば、制御データ列Xの各制御データDxに対して、同様の構成で同様の変数を適用したニューラルネットワークの処理が実行される。各演算部による処理後の制御データDxの配列(処理後の制御データ列X)が、初段の畳込層312に入力される。前処理部311により制御データDxを処理することで、目標楽曲(楽曲データM)の特徴をより明瞭に表現する制御データ列Xが生成される。ただし、前処理部311は省略されてもよい。
N1個の畳込層312のうち第1段目の畳込層312には前処理部311による処理後のデータが入力される。N1個の畳込層312のうち第2段目以降の各畳込層312には、前段の符号中間層Leによる処理後のデータが入力される。各畳込層312は、当該畳込層312に入力されるデータに対して演算処理を実行する。畳込層312による演算処理は、畳込演算を含む。また、畳込層312による演算処理は、プーリング演算を含んでもよい。
畳込演算は、畳込層312に入力されたデータに対してフィルタを畳込む処理である。複数の畳込層312は、時間圧縮を行う畳込層312と時間圧縮を行わない畳込層312とを含む。複数の畳込層312のうち、時間圧縮を行う畳込層312の畳込演算では、時間方向におけるフィルタの移動量(ストライド)が2以上に設定される。これにより、時間圧縮を行わない各畳込層312では、ストライドが1の畳込演算によりデータの時間長が維持され、時間圧縮を行う各畳込層312では、ストライドが2以上の畳込演算によりデータの時間長が短縮される。すなわち、第1符号化器31においては、時間軸上におけるデータの圧縮が実行される。換言すると、第1符号化器31による処理は、制御データ列Xのダウンサンプリングを含む。畳込演算のストライドを2以上にする代わりに、畳込演算のストライドを1にしたまま、続けてプーリング演算を行うことによりデータの圧縮(ダウンサンプリング)を行ってもよい。プーリング演算は、畳込演算後のデータに設定される各範囲内における代表値を選択する演算である。代表値は、例えば最大値、平均値、2乗平均等の統計値である。
つまり、制御データ列Xの圧縮は、畳込演算およびプーリング演算の一方または双方により実現される。なお、制御データ列Xの時間圧縮(ダウンサンプリング)は、N1個の畳込層312の一連の畳込演算のうちの一部についてのみにおいて実行されてもよい。各畳込層312による圧縮率は任意である。
N1個の符号中間層Leの各々は、前段の畳込層312から当該符号中間層Leに入力されるデータに対して変換処理を実行する。各符号中間層Leによる変換処理の具体的な内容については後述する。N1個の符号中間層Leのうち最終段の符号中間層Leによる処理後のデータが、中間データYとして復号化器32に入力される。なお、符号中間層Leは、N1個の畳込層312の全部の後段に設置される必要はない。すなわち、符号中間層Leの個数N1xはN1以下の任意の自然数である。ある畳込層312の後段に符号中間層Leがある場合は、その次の畳込層312には、当該符号中間層Leによる変換処理後のデータが入力され、ある畳込層312の後段に符号中間層Leがない場合は、その次の畳込層312には、当該畳込層312による畳込処理後のデータ(つまり、変換処理されていないデータ)が入力される。
復号化器32は、N2個の畳込層321とN2個の復号中間層Ldと後処理部322とを含む。具体的には、N2個の畳込層321とN2個の復号中間層Ldとが交互に配置され、最終段の復号中間層Ldの後段に後処理部322が積層される。すなわち、畳込層321と復号中間層Ldとで構成されるN2組が、後処理部322の前段に積層される。
N2個の畳込層321のうち第1段目の畳込層321には中間データYが入力される。N2個の畳込層321のうち第2段目以降の各畳込層321には、前段の復号中間層Ldによる処理後のデータが入力される。各畳込層321は、当該畳込層321に入力されるデータに対して演算処理を実行する。畳込層321による演算処理は、転置畳込演算(または逆畳込演算)を含む。
畳込層321による転置畳込演算(transposed convolution)は、符号化器の各畳込層312による畳込演算の逆の畳込演算である。複数の畳込層321のうち、時間伸張を行う畳込層321の畳込演算では、時間方向におけるフィルタの移動量(ストライド)が2以上に設定される。これにより、時間伸張を行わない各畳込層321では、ストライドが1の転置畳込演算によりデータの時間長が維持され、時間伸張を行う各畳込層321では、ストライドが2以上の転置畳込演算によりデータの時間長が伸張される。すなわち、復号化器32においては、時間軸上におけるデータの伸長が実行される。換言すると、復号化器32による処理は、中間データYのアップサンプリングを含む。
以上の説明の通り、第1実施形態においては、第1符号化器31による制御データ列Xの圧縮と復号化器32による中間データYの伸長とが実行される。したがって、制御データ列Xの特徴が適切に反映された中間データYが生成され、中間データYの特徴が適切に反映された音響データ列Zが生成される。
N2個の復号中間層Ldの各々は、前段の畳込層321から当該復号中間層Ldに入力されるデータに対して変換処理を実行する。各復号中間層Ldによる変換処理の具体的な内容については後述する。N2個の復号中間層Ldのうち最終段の復号中間層Ldによる処理後のデータが、音響データ列Zとして後処理部322に入力される。なお、復号中間層Ldは、N2個の畳込層321の全部の後段に設置される必要はない。すなわち、復号中間層Ldの個数N2xはN2以下の自然数である。ある畳込層321の後段に復号中間層Ldがある場合は、その次の畳込層321には、当該復号中間層Ldによる変換処理後のデータが入力され、ある畳込層321の後段に復号中間層Ldがない場合は、その次の畳込層321には、当該畳込層321による畳込処理後のデータ(つまり、変換処理されていないデータ)が入力される。
後処理部322は、音響データ列Zを加工するための多層パーセプトロンで構成される。後処理部322は、音響データ列Zの相異なる音響データDzに対応する複数の演算部で構成される。各演算部は、複数段の全結合層の積層により構成される。各音響データDzが各全結合層により順次に処理される。例えば、音響データ列Zの各音響データDzに対して、同様の構成で同様の変数を適用したニューラルネットワークの処理が実行される。各演算部による処理後の音響データDzの配列が、最終的な音響データ列Zとして波形合成部23に入力される。後処理部322により音響データDzを処理することで、目標楽音の特徴をより明瞭に表現する音響データ列Zが生成される。ただし、後処理部322は省略されてもよい。
以上の説明の通り、第1符号化器31はN1x個の符号中間層Leを含み、復号化器32はN2x個の復号中間層Ldを含む。符号中間層Leおよび復号中間層Ldを「中間層L」と総称すると、第1生成モデル30は、Nx個(Nx=N1x+N2x)の中間層Lを含む統計モデルと表現される。すなわち、第1符号化器31は、Nx個の中間層LのうちN1x個の符号中間層Leを含み、復号化器32は、Nx個の中間層LのうちN2x個の復号中間層Ldを含む。中間層Lの個数Nxは、1以上の自然数である。符号中間層Leの個数N1xと復号中間層Ldの個数N2xとは、相等しい数値でも相異なる数値でもよい。
第1生成モデル30のうち、前処理部311とN1個の畳込層312とN2個の畳込層321と後処理部322とは、音響データ列Zの生成に必要な基本層である。以下では、N1個の畳込層312とN2個の畳込層321との組を、N個(N=N1+N2)の基本畳込層と呼ぶ場合がある。他方、Nx個の中間層(N1x個の符号中間層LeおよびN2x個の復号中間層Ld)は、目標楽音における部分音色の制御のための層である。すなわち、第1生成モデル30は、N個の基本畳込層とNx個(N≧Nx≧1)の中間層Lとを含む。
N個の中間層Lの各々は、当該中間層Lに入力されるデータに対して変換処理を実行する。N個の中間層Lのうち第n段目の中間層Lによる変換処理には、パラメータセットPn(n=1~N)が適用される。すなわち、複数の中間層Lの各々による変換処理には、相異なるパラメータセットPnが適用される。N個のパラメータセットP1~PNの各々は、例えば、第1パラメータp1と第2パラメータp2とを含む。
図4は、変換処理の説明図である。図4の単位データ列Uは、中間層Lに入力されるデータである。単位データ列Uは、相異なる単位期間に対応する複数の単位データDuの時系列で構成される。各単位データDuはH次元(Hは2以上の自然数)のベクトルで表現される。第1パラメータp1は、H行H列の正方行列で表現される。第2パラメータp2は、H次元のベクトルで表現される。なお、第1パラメータp1は、H行H列の対角行列またはH次元のベクトルで表現されてもよい。
変換処理は、第1演算と第2演算とを含む。単位データ列Uを構成する複数の単位データDuの各々について第1演算と第2演算とが順次に実行される。第1演算は、第1パラメータp1を単位データDuに乗算する処理である。第2演算は、第1演算の結果(p1・Du)に対して第2パラメータp2を加算する処理である。以上の説明から理解される通り、中間層Lによる変換処理は、第1パラメータp1の乗算と前記第2パラメータp2の加算とを含む処理(すなわちアフィン変換)である。なお、第2パラメータp2を適用する第2演算は省略されてよい。その場合、第2パラメータp2の生成も省略される。つまり、変換処理は、少なくとも第1演算が含まれていればよい。
以上の説明から理解される通り、図3のN個の中間層Lの各々は、当該中間層Lに入力される単位データ列Uの各単位データDuに対してパラメータセットPnを適用した変換処理を実行し、変換処理後の単位データ列Uを出力する。第1実施形態においては、各中間層Lに入力される単位データ列Uの各単位データDuに対して、第1パラメータp1の乗算と第2パラメータp2の加算とを含む変換処理が実行される。したがって、制御ベクトルVが表す部分音色が適切に付与された目標楽音の音響データ列Zを生成できる。ここでは、中間層LをN個として説明しているが、中間層Lの数がN個より少ないNx個である場合も、基本的な動作は同様である。
いま、第1生成モデル30のN個の中間層Lのうち、第n1段目および第n2段目の2個の中間層Lに便宜的に着目する(n1=1~N,n2=1~N,n1≠n2)。各中間層Lは、符号中間層Leおよび復号中間層Ldの何れでもよい。N個の中間層Lのうち第n1段目の中間層Lは、当該中間層Lに入力される単位データ列Uの各単位データDuに対してパラメータセットPn1を適用した変換処理を実行し、適用後の単位データ列Uを次層に出力する。第n2段目の中間層Lは、当該中間層Lに入力される単位データ列Uの各単位データDuに対してパラメータセットPn2を適用した変換処理を実行し、適用後の単位データ列Uを次層に出力する。なお、第n1段目の中間層Lは「第1中間層」の一例であり、パラメータセットPn1は「第1パラメータセット」の一例である。また、第n2段目の中間層Lは「第2中間層」の一例であり、パラメータセットPn2は「第2パラメータセット」の一例である。
以上の説明の通り、第1実施形態においては、N個の中間層Lの各々に相異なるパラメータセットPnが適用されるから、多様な部分音色を有する目標楽音の音響データ列Zを生成できる。図2に例示された制御ベクトル生成部24および制御ベクトル処理部25は、参照信号Srを処理することでN個のパラメータセットP1~PNを生成する。
制御ベクトル生成部24は、特定区間の参照信号Srを処理することで制御ベクトルVを生成する。制御ベクトルVは、参照楽音の部分音色を表すK次元のベクトルである。すなわち、制御ベクトルVは、特定区間の参照信号Srにおける音響特性の時間的な変化の特徴(すなわち部分音色)を表すベクトルである。第1実施形態の制御ベクトル生成部24は、区間設定部241と特徴抽出部242と第2符号化器243とを具備する。
区間設定部241は、参照楽音における特定区間を設定する。具体的には、区間設定部241は、操作装置14に対する利用者からの第1指示Q1に応じて特定区間を設定する。特定区間の時間長は、1個の処理期間Bと同等の固定長である。
図5は、設定画面Gaの模式図である。設定画面Gaは、利用者が特定区間を指示するための画面である。区間設定部241は、設定画面Gaを表示装置13に表示する。設定画面Gaは、波形画像Ga1と区間画像Ga2とを含む。波形画像Ga1は、参照信号Srの波形を表す画像である。区間画像Ga2は、特定区間を表す画像である。
利用者は、参照楽音の波形画像Ga1を確認しながら操作装置14を操作することで(第1指示Q1)、区間画像Ga2を時間軸に沿って所望の位置に移動できる。例えば、参照楽音のうち音響特性が所望の条件で変化する区間を内包するように、利用者は区間画像Ga2を移動する。
区間設定部241は、参照信号Srのうち利用者による移動後の区間画像Ga2に対応する区間を、特定区間として確定する。以上の説明から理解される通り、第1指示Q1は、特定区間の時間軸上の位置を変更する指示である。すなわち、区間設定部241は、第1指示Q1に応じて時間軸上における特定区間の位置を変更する。
図2の特徴抽出部242は、特定区間の参照信号Srを処理することで1個の参照データ列Rを生成する。参照データ列Rは、参照楽音の特定区間における音響的な特徴を表す時系列データである。図6に例示される通り、参照データ列Rは、特定区間内の相異なる単位期間に対応する複数(例えば800個)の参照データDrにより構成される。すなわち、参照データ列Rは、音響データDzの時系列である。
参照データDrは、参照楽音の音響特徴量を表す。音響特徴量は、例えば、参照楽音の振幅スペクトル包絡である。具体的には、参照データDrは、参照楽音の調波成分の振幅スペクトル包絡と、参照楽音の非調波成分の振幅スペクトル包絡とを含む。調波成分および非調波成分の振幅スペクトル包絡は、例えばメルケプストラムまたはMFCC等で表現される。参照データDrのデータサイズは、音響データDzのデータサイズと同等である。したがって、1個の参照データ列Rのデータサイズは、1個の音響データ列Zのデータサイズと同等である。なお、参照データDrは、音響データDzとは別形式のデータでもよい。例えば、参照データDrが表す音響特徴量と音響データDzが表す音響特徴量とは別種の特徴量でもよい。
以上の説明から理解される通り、第1実施形態の特徴抽出部242は、参照楽音の音響特徴量を表す参照データDrの時系列(参照データ列R)を生成する。例えば、特徴抽出部242は、離散フーリエ変換を含む演算を特定区間の参照信号Srに対して実行することで、参照データ列Rを生成する。
第2符号化器243は、参照データ列Rと制御ベクトルVとの関係を機械学習により学習した訓練済の統計モデルである。すなわち、第2符号化器243は、参照データ列Rの入力に応じて制御ベクトルVを出力する。制御ベクトル生成部24は、参照データ列Rを第2符号化器243により処理することで制御ベクトルVを生成する。すなわち、第2符号化器243は、参照データ列Rを制御ベクトルVに符号化する。
制御ベクトルVは、前述の通り、特定区間の参照信号Srにおける音響特性の時間的な変化の特徴(すなわち部分音色)を表すベクトルである。部分音色は参照信号Srの位置に応じて変化するから、制御ベクトルVは、時間軸上における特定区間の位置に依存する。すなわち、制御ベクトルVは、特定区間を指定する利用者からの第1指示Q1に依存する。以上の説明から理解される通り、第1実施形態の制御ベクトル生成部24は、利用者からの第1指示Q1に応じて制御ベクトルVを生成する。
制御ベクトル処理部25は、制御ベクトルVからN個のパラメータセットP1~PNを生成する。制御ベクトルVは部分音色を表すから、各パラメータセットPnは部分音色に依存する。また、制御ベクトルVは第1指示Q1に依存するから、各パラメータセットPnも利用者からの第1指示Q1に依存する。
図6は、第2符号化器243および制御ベクトル処理部25の具体的な構成を例示するブロック図である。第2符号化器243は、複数の畳込層411と出力処理部412とを含む。複数の畳込層411うち最終段の畳込層411の後段に出力処理部412が積層される。
複数の畳込層411のうち第1段目の畳込層411には参照データ列Rが入力される。複数の畳込層411のうち第2段目以降の各畳込層411には、前段の畳込層411による処理後のデータが入力される。各畳込層411は、当該畳込層411に入力されるデータに対して演算処理を実行する。畳込層411による演算処理は、畳込層312による演算処理と同様に、畳込演算とオプションとしてのプーリング演算とを含む。最終段の畳込層411は、参照データ列Rの特徴を表す特徴データDvを出力する。
出力処理部412は、特徴データDvに応じて制御ベクトルVを生成する。第1実施形態の出力処理部412は、後処理部413とサンプリング部414とを含む。
後処理部413は、特徴データDvに応じてK個の確率分布F1~FKを決定する。K個の確率分布F1~FKの各々は、例えば正規分布である。後処理部413は、各確率分布Fk(k=1~K)について平均および分散を出力する。具体的には、後処理部413は、特徴データDvと各確率分布Fkとの関係を機械学習により学習した訓練済の統計モデルである。制御ベクトル生成部24は、特徴データDvを後処理部413により処理することでK個の確率分布F1~FKを決定する。
サンプリング部414は、K個の確率分布F1~FKに応じて制御ベクトルVを生成する。具体的には、サンプリング部414は、K個の確率分布F1~FKの各々から要素Ekをサンプリングする。要素Ekのサンプリングは、例えばランダムサンプリングである。すなわち、各要素Ekは、確率分布Fkからサンプリングされる潜在変数である。相異なる確率分布FkからサンプリングされたK個の要素E1~EKにより、制御ベクトルVが構成される。すなわち、制御ベクトルVは、K個の要素E1~EKを含む。以上の説明から理解される通り、制御ベクトルVは、特定区間の参照信号Srにおける音響特性の時間的な変化の特徴(すなわち部分音色)を表すK次元のベクトルである。
なお、出力処理部412が特徴データDvから制御ベクトルVを生成するための構成および処理は、以上の例示に限定されない。例えば、出力処理部412は、K個の確率分布F1~FKを生成せずに制御ベクトルVを生成してもよい。したがって、後処理部413およびサンプリング部414は省略されてもよい。
図6に例示される通り、制御ベクトル処理部25は、相異なる中間層Lに対応するN個の変換モデル28-1~28-Nを含む。各変換モデル28-nは、制御ベクトルVからパラメータセットPnを生成する。具体的には、各変換モデル28-nは、制御ベクトルVとパラメータセットPnとの関係を機械学習により学習した訓練済の統計モデルである。各変換モデル28-nは、パラメータセットPnを生成するための多層パーセプトロンで構成される。以上の説明から理解される通り、参照楽音の部分音色に応じたN個のパラメータセットP1~PNが、制御ベクトル処理部25により生成される。N個のパラメータセットP1~PNは共通の制御ベクトルVから生成される。
第2符号化器243と制御ベクトル処理部25とにより、第2生成モデル40が構成される。第2生成モデル40は、参照データ列RとN個のパラメータセットP1~PNとの関係を機械学習により学習した訓練済の統計モデルである。第2生成モデル40は、例えば深層ニューラルネットワークにより構成される。
第2生成モデル40は、参照データ列Rから制御ベクトルVを生成する演算を制御装置11に実行させるプログラムと、当該演算に適用される複数の変数(加重値およびバイアス)との組合せで実現される。第2生成モデル40を実現するプログラムおよび複数の変数は、記憶装置12に記憶される。第2生成モデル40の複数の変数は、機械学習により事前に設定される。
図7は、制御装置11が目標楽音の音響信号Wを生成する処理(以下「楽音合成処理Sa」という)のフローチャートである。例えば操作装置14に対する利用者からの指示を契機として楽音合成処理Saが開始される。楽音合成処理Saは、処理期間B毎に反復される。楽音合成処理Saは「楽音合成方法」の一例である。なお、楽音合成処理Saの開始前に、利用者からの第1指示Q1に応じた特定区間の設定が、区間設定部241により実行されている。特定区間を表すデータが記憶装置12に記憶される。
楽音合成処理Saが開始されると、制御装置11(制御ベクトル生成部24)は、部分音色を表す制御ベクトルVを利用者からの第1指示Q1に応じて生成する(Sa1)。制御ベクトルVを生成する具体的な手順(Sa11~Sa13)は以下の通りである。
まず、制御装置11(区間設定部241)は、特定区間を表すデータを記憶装置12から取得する(Sa11)。具体的には、区間設定部241は、操作装置14に対する利用者からの第1指示Q1に応じて特定区間を設定する。制御装置11(特徴抽出部242)は、特定区間の参照信号Srを処理することで1個の参照データ列Rを生成する(Sa12)。そして、制御装置11は、参照データ列Rを第2符号化器243により処理することで制御ベクトルVを生成する(Sa13)。
制御装置11(制御ベクトル処理部25)は、制御ベクトルVからN個のパラメータセットP1~PNを生成する(Sa2)。具体的には、制御装置11は、制御ベクトルVを各変換モデル28-nにより処理することでパラメータセットPnを生成する。
制御装置11(制御データ取得部21)は、楽曲データMを処理することで制御データ列Xを生成する(Sa3)。制御装置11(楽音合成部22)は、第1生成モデル30により制御データ列Xを処理することで音響データ列Zを生成する(Sa4)。具体的には、制御装置11は、制御データ列Xを第1符号化器31により処理することで中間データYを生成し、中間データYを復号化器32により処理することで音響データ列Zを生成する。第1生成モデル30の各中間層Lによる変換処理にはパラメータセットPnが適用される。
制御装置11(波形合成部23)は、音響データ列Zから目標楽音の音響信号Wを生成する(Sa5)。制御装置11は、音響信号Wを放音装置15に供給する(Sa6)。放音装置15は、音響信号Wが表す目標楽音を再生する。
以上に説明した通り、第1実施形態においては、参照楽音の部分音色を表す制御ベクトルVが利用者からの指示(第1指示Q1)に応じて生成され、制御ベクトルVからパラメータセットPnが生成され、各中間層Lに入力される単位データ列Uの各単位データDuに対してパラメータセットPnが適用される。したがって、利用者からの指示に応じた多様な部分音色を有する目標楽音の音響データ列Zを生成できる。
第1実施形態においては、参照楽音の特定区間が利用者からの第1指示Q1に応じて設定され、特定区間における部分音色を表す制御ベクトルVが生成される。したがって、参照楽音のうち利用者の所望の特定区間の部分音色を有する目標楽音を生成できる。第1実施形態においては特に、時間軸上における特定区間の位置が、第1指示Q1に応じて変更される。したがって、参照楽音のうち利用者の所望の位置の部分音色を有する目標楽音を生成できる。
図2の訓練処理部26は、複数の訓練データTを利用した機械学習により第1生成モデル30および第2生成モデル40を確立する。第1実施形態の訓練処理部26は、第1生成モデル30と第2生成モデル40とを一括的に確立する。確立後の第1生成モデル30および第2生成モデル40の各々は個別に訓練されてもよい。図8は、第1生成モデル30および第2生成モデル40を確立する機械学習に関する説明図である。
複数の訓練データTの各々は、訓練用の制御データ列Xtと訓練用の参照データ列Rtと訓練用の音響データ列Ztとの組合せで構成される。制御データ列Xtは、目標楽音の条件を表す時系列データである。具体的には、制御データ列Xtは、訓練用の楽曲のうち特定の区間(以下「訓練区間」という)における楽譜特徴量の時系列を表す。制御データ列Xtの形式は制御データ列Xと同様である。
参照データ列Rtは、訓練用の楽曲について事前に準備された楽音の音響的な特徴を表す時系列データである。参照データ列Rtが表す部分音色は、訓練用の楽曲の楽音のうち訓練区間における音響特性の時間的な変化の特徴である。参照データ列Rtの形式は参照データ列Rと同様である。
音響データ列Ztは、制御データ列Xtおよび参照データ列Rtから第1生成モデル30および第2生成モデル40が生成すべき楽音の音響的な特徴を表す時系列データである。すなわち、音響データ列Ztは、制御データ列Xtおよび参照データ列Rtに対する正解(Ground Truth)に相当する。音響データ列Ztの形式は音響データ列Zと同様である。
図9は、制御装置11が第1生成モデル30および第2生成モデル40を確立する処理(以下「訓練処理Sb」という)のフローチャートである。制御装置11が訓練処理Sbを実行することで、図8の訓練処理部26が実現される。
訓練処理Sbが開始されると、制御装置11は、第1暫定モデル51と第2暫定モデル52とを準備する(Sb1)。第1暫定モデル51は、機械学習により第1生成モデル30に更新される初期的または暫定的なモデルである。初期的な第1暫定モデル51は、第1生成モデル30と同様の構成であるが、複数の変数が例えば乱数に設定される。第2暫定モデル52は、機械学習により第2生成モデル40に更新される初期的または暫定的なモデルである。初期的な第2暫定モデル52は、第2生成モデル40と同様の構成であるが、複数の変数が例えば乱数に設定される。第1暫定モデル51および第2暫定モデル52の各々の構造は、設計者により任意に設計される。
制御装置11は、複数の訓練データTの何れか(以下「選択訓練データT」という)を選択する(Sb2)。図8に例示される通り、制御装置11は、第2暫定モデル52により選択訓練データTの参照データ列Rtを処理することでN個のパラメータセットP1~PNを生成する(Sb3)。具体的には、第2暫定モデル52は制御ベクトルVを生成し、制御ベクトル処理部25はN個のパラメータセットP1~PNを生成する。また、制御装置11は、第1暫定モデル51により選択訓練データTの制御データ列Xtを処理することで音響データ列Zを生成する(Sb4)。制御データ列Xtの処理には、第2暫定モデル52が生成したN個のパラメータセットP1~PNが適用される。
制御装置11は、第1暫定モデル51が生成した音響データ列Zと選択訓練データTの音響データ列Ztとの誤差を表す誤差関数を算定する(Sb5)。制御装置11は、損失関数が低減(理想的には最小化)されるように、第1暫定モデル51の複数の変数と第2暫定モデル52の複数の変数とを更新する(Sb6)。損失関数に応じた各変数の更新には、例えば誤差逆伝播法が利用される。
制御装置11は、所定の終了条件が成立したか否かを判定する(Sb7)。終了条件は、例えば、損失関数が所定の閾値を下回ること、または、損失関数の変化量が所定の閾値を下回ることである。終了条件が成立しない場合(Sb7:NO)、制御装置11は、未選択の訓練データTを新たな選択訓練データTとして選択する(Sb2)。すなわち、終了条件の成立(Sb7:YES)まで、第1暫定モデル51の複数の変数と第2暫定モデル52の複数の変数とを更新する処理(Sb2~Sb6)が反復される。なお、全部の訓練データTについて以上の処理が実行された場合、各訓練データTを未選択の状態に戻して同様の処理が反復される。すなわち、各訓練データTは反復的に利用される。
終了条件が成立した場合(Sb7:YES)、制御装置11は、訓練処理Sbを終了する。終了条件が成立した時点における第1暫定モデル51が、訓練済の第1生成モデル30として確定される。また、終了条件が成立した時点における第2暫定モデル52が、訓練済の第2生成モデル40として確定される。
以上の説明から理解される通り、第1生成モデル30は、参照データ列Rに応じたN個のパラメータセットP1~PNのもとで、制御データ列Xtと音響データ列Ztとの間に潜在する関係を学習する。したがって、訓練済の第1生成モデル30は、その関係のもとで未知の制御データ列Xに対して統計的に妥当な音響データ列Zを出力する。また、第2生成モデル40は、参照データ列RtとN個のパラメータセットP1~PNとの間に潜在する関係を学習する。具体的には、制御データ列Xtから適切な音響データ列Zを生成するために必要なN個のパラメータセットP1~PNと、参照データ列Rtとの関係を、第2生成モデル40は学習する。具体的には、第2符号化器243は、参照データ列Rtと制御ベクトルVとの間に潜在する関係を学習し、制御ベクトル処理部25は、制御ベクトルVとN個のパラメータセットP1~PNとの間に潜在する関係を学習する。したがって、第1生成モデル30および第2生成モデル40の利用により、参照楽音の所望の部分音色が付与された目標楽音の音響データ列Zが生成される。
B:第2実施形態
第2実施形態を説明する。なお、以下に例示する各形態において機能が第1実施形態と同様である要素については、第1実施形態の説明で使用したのと同様の符号を流用して各々の詳細な説明を適宜に省略する。
図10は、第2実施形態における制御ベクトル生成部24のブロック図である。図10に例示される通り、第2実施形態の制御ベクトル生成部24は、第1実施形態と同様の要素(区間設定部241,特徴抽出部242および第2符号化器243)に加えて制御ベクトル調整部244を含む。第2符号化器243は、第1実施形態と同様に制御ベクトルVを生成する。以下の説明においては、第2符号化器243が生成する初期的な制御ベクトルVを便宜的に「制御ベクトルV0」と表記する。
第2実施形態においても第1実施形態と同様に、区間設定部241は、利用者からの第1指示Q1に応じて参照楽音の特定区間を設定する。したがって、第2実施形態における制御ベクトルV0は、利用者からの第1指示Q1に応じて生成される。
なお、初期的な制御ベクトルV0は、第2符号化器243が生成するベクトルでなくてもよい。例えば、各要素Ekが所定値(例えばゼロ)に設定されたベクトル、または各要素Ekが乱数に設定されたベクトルが、初期的な制御ベクトルV0として利用されてもよい。また、前回の楽音合成処理Saが実行されたときの最終的な制御ベクトルVが、今回の初期的な制御ベクトルV0として採用されてもよい。以上の説明から理解される通り、制御ベクトルV0を生成するための要素(区間設定部241,特徴抽出部242および第2符号化器243)は、第2実施形態において省略されてもよい。
制御ベクトル調整部244は、初期的な制御ベクトルV0を調整することで制御ベクトルVを生成する。具体的には、制御ベクトル調整部244は、制御ベクトルV0のK個の要素E1~EKのうち1以上の要素Ekを、操作装置14に対する利用者からの第2指示Q2に応じて変更する。変更後のK個の要素E1~EKで構成されるK次元のベクトルが、制御ベクトルVとして制御ベクトル処理部25に供給される。以上の説明から理解される通り、第2実施形態の制御ベクトル生成部24は、利用者からの第1指示Q1および第2指示Q2に応じて制御ベクトルVを生成する。
図11は、設定画面Gbの模式図である。設定画面Gbは、利用者が各要素Ekの変更を指示するための画面である。制御ベクトル調整部244は、設定画面Gbを表示装置13に表示する。設定画面Gbは、制御ベクトルVの相異なる要素Ekに対応するK個の操作子Gb-1~Gb-Kを含む。K個の操作子Gb-1~GB-Kは、横方向に配列される。各要素Ekに対応する操作子Gb-kは、利用者による操作を受付ける画像である。具体的には、各操作子Gb-kは、例えば、利用者による操作に応じて上下に移動するスライダである。利用者による第2指示Q2は、例えば、K個の操作子Gb-1~Gb-Kの各々を移動させる操作である。すなわち、第2指示Q2は、各要素Ekの数値を個別に指定する利用者からの指示である。各操作子Gb-kの近傍には、要素Ekの数値が表示される。
上下方向における各操作子Gb-kの位置は、要素Ekの数値に対応する。すなわち、操作子Gb-kの上方の移動は要素Ekの増加を意味し、操作子Gb-kの下方の移動は要素Ekの減少を意味する。制御ベクトル調整部244は、制御ベクトルV0の各要素Ekの数値に応じて各操作子Gb-kの初期的な位置を設定する。そして、制御ベクトル調整部244は、各操作子Gb-kを移動させる利用者からの操作(すなわち第2指示Q2)に応じて、要素Ekの数値を変更する。すなわち、制御ベクトル調整部244は、K個の操作子Gb-1~Gb-Kのうち1以上の操作子Gb-kに対する利用者の操作に応じて、各操作子Gb-kに対応する要素Ekを設定する。
前述の通り、制御ベクトルVは部分音色を表す。したがって、制御ベクトル調整部244による各要素Ekの変更は、利用者からの第2指示Q2に応じて部分音色を変更する処理である。すなわち、目標楽音に付与される音響特性の時間的な変化(すなわち部分音色)が、利用者からの第2指示Q2に応じて変化する。制御ベクトル処理部25は、制御ベクトル調整部244による調整後の制御ベクトルVからN個のパラメータセットP1~PNを生成する。
図12は、第2実施形態における楽音合成処理Saのフローチャートである。第2実施形態における制御ベクトルVの生成(Sa1)は、第1実施形態と同様の手順(Sa11~Sa13)に加えて、制御ベクトルV0の調整(Sa14)を含む。制御ベクトルV0の調整(Sa14)において、制御装置11(制御ベクトル調整部244)は、初期的な制御ベクトルV0のK個の要素E1~EKのうち1以上の要素Ekを、利用者からの第2指示Q2に応じて変更することで、制御ベクトルVを生成する。制御ベクトルV0の調整(Sa14)以外の動作は第1実施形態と同様である。第2指示Q2は、楽音合成処理Saに並行した任意のタイミングで利用者により付与される。
第2実施形態においても第1実施形態と同様の効果が実現される。また、第2実施形態においては、制御ベクトルV0のK個の要素E1~EKのうち1以上の要素Ekが利用者からの第2指示Q2に応じて変更される。したがって、利用者からの第2指示Q2に応じた部分音色を有する多様な目標楽音を生成できる。第2実施形態においては特に、各操作子Gb-kに対する操作により、利用者は部分音色を簡便に調整できる。
C:第3実施形態
第3実施形態の制御ベクトル生成部24は、時間軸上の単位期間毎に制御ベクトルVを生成する。すなわち、制御ベクトル生成部24は、利用者からの指示(第1指示Q1,第2指示Q2)に応じて制御ベクトルVの時系列を生成する。なお、以下の説明においては、第1指示Q1および第2指示Q2に応じて制御ベクトルVを生成する形態を例示するが、第1指示Q1および第2指示Q2の一方に応じて制御ベクトルVが生成されてもよい。
第3実施形態の制御ベクトル生成部24は、第2実施形態と同様に、利用者からの第1指示Q1および第2指示Q2に応じて制御ベクトルVを生成する。前述の通り、第3実施形態においては単位期間毎に制御ベクトルVが生成されるから、1個の処理期間B内の単位期間毎に制御ベクトルVが変化する。したがって、目標楽音に付与される部分音色が処理期間Bの途中の時点で変化する。
例えば、利用者は、楽音合成処理Saの実行前に、目標楽曲の任意の時刻(単位期間)について第1指示Q1により特定区間を指定できる。特定区間が指定された単位期間については、前述の各形態と同様に制御ベクトルVが生成される。また、特定区間が指定されていない単位期間(以下「対象期間」という)については、対象期間の前方および後方の単位期間について生成された2個の制御ベクトルVの補間により、制御ベクトルVが生成される。例えば、制御ベクトル生成部24は、対象期間の直前(例えば1以上の単位期間だけ過去)に指定された特定区間に対応する制御ベクトルVと、対象期間の直後(例えば1以上の単位期間だけ未来)に指定された特定区間に対応する制御ベクトルVとの補間により、対象期間の制御ベクトルVを生成する。制御ベクトルVの補間の方法は任意であるが、例えば内挿補間が利用される。
また、制御ベクトル生成部24は、楽音合成処理Saに並行して利用者が付与した第2指示Q2を単位期間毎に検出することで、制御ベクトルVの時系列を生成する。なお、制御ベクトル生成部24は、単位期間よりも長い周期で第2指示Q2を検出することで制御ベクトルVの時系列を生成し、制御ベクトルVの時系列を時間軸上で平滑する処理(すなわちローパスフィルタ)により、単位期間毎の制御ベクトルVを生成してもよい。
第3実施形態の制御ベクトル処理部25は、各単位期間の制御ベクトルVからN個のパラメータセットP1~PNを生成する。制御ベクトル処理部25は、時間軸上の単位期間毎にN個のパラメータセットP1~PNを生成する。すなわち、制御ベクトル処理部25は、各パラメータセットPnの時系列を生成する。
前述の通り、制御ベクトルVは第1指示Q1または第2指示Q2に応じて変化する。したがって、第1指示Q1または第2指示Q2の直前の単位期間におけるN個のパラメータセットP1~PNと、直後の単位期間におけるN個のパラメータセットP1~PNとは相違する。すなわち、1個の処理期間B内においてパラメータセットPnが変化する。第1指示Q1または第2指示Q2が付与されない状態では、複数の単位期間にわたり同じパラメータセットPnが生成される。
図3に例示される通り、1個の単位データ列Uを構成する単位データDuの個数は、第1生成モデル30における処理の段階毎に変化する。1個の中間層Lによる変換処理には、当該中間層Lに供給される単位データDuの個数に対応する個数のパラメータセットPnが使用される。すなわち、変換モデル28-nは、第n段目の中間層Lが処理する単位データDuと同数のパラメータセットPnの時系列を生成する。
図13は、各中間層Lが実行する変換処理の説明図である。第1実施形態においては、単位データ列Uを構成する複数の単位データDuの各々に対して、共通のパラメータセットPnを適用した変換処理が実行される(図4)。第3実施形態においては、単位データ列Uを構成する複数の単位データDuの各々に対して、個別のパラメータセットPnを適用した変換処理が実行される。
図13には、単位データ列Uのうち、時刻t1に対する単位データDu(t1)と時刻t2(t2≠t1)に対応する単位データDu(t2)とが図示されている。単位データDu(t1)の変換処理にはパラメータセットPn(t1)が適用され、単位データDu(t2)の変換処理にはパラメータセットPn(t2)が適用される。パラメータセットPn(t1)とパラメータセットPn(t2)とは個別に生成される。具体的には、パラメータセットPn(t1)は、時刻t1に対応する制御ベクトルV(t1)から生成され、パラメータセットPn(t2)は、時刻t2に対応する制御ベクトルV(t2)から生成される。したがって、第1パラメータp1および第2パラメータp2の数値は、パラメータセットPn(t1)とパラメータセットPn(t2)との間で相違し得る。以上の例示の通り、単位データ列Uの途中の時点において、変換処理に適用されるパラメータセットPnが変化する。
第3実施形態においても第2実施形態と同様の効果が実現される。また、第3実施形態においては、利用者からの指示(第1指示Q1,第2指示Q2)に応じて制御ベクトルVの時系列が生成され、かつ、制御ベクトルVの時系列から各パラメータセットPnの時系列が生成される。したがって、制御データ列Xの途中の時点において音色が変化する多様な目標楽音を生成できる。
D:第4実施形態
図14は、第4実施形態における第1生成モデル30(楽音合成部22)の構成を例示するブロック図である。第4実施形態の第1生成モデル30は、変換処理部61と畳込層62とN個の単位処理部63-1~63-Nと合成処理部64とを含む自己回帰(AR:autoregressive)型の生成モデルである。後述するように第1生成モデル30は任意の個数(Nx個)の中間層を備えるが、全ての中間層を省くと、applied sciencesの2017年の論文” A Neural Parametric Singing Synthesizer Modeling Timbre and Expression from Natural Songs”, Merlijn Blaauw and Jordi Bonadaに開示された生成モデル(NPSS)と等価になる。第1生成モデル30以外の構成は第1実施形態と同様である。制御ベクトル処理部25(変換モデル28-n)が生成した各パラメータセットPnは、単位処理部63-nに供給される。
変換処理部61は、前処理部311と同様に、制御データ取得部21が単位期間毎に取得した制御データDxから潜在データdを生成する。潜在データdは、制御データDxの特徴を表す。例えば変換処理部61は、制御データDxを潜在データdに変換するための多層パーセプトロンで構成される。潜在データdは、N個の単位処理部63-1~63-Nに対して共通に供給しても、異なるデータを個別に供給してもよい。なお、制御データ取得部21が取得した制御データDxが潜在データdとして各単位処理部63-nに供給されてもよい。すなわち、変換処理部61は省略されてよい。
図15は、各単位処理部63-nのブロック図である。各単位処理部63-nは、入力データIと潜在データdとパラメータセットPnとを処理することで出力データOと処理データCnとを生成する生成モデルである。入力データIは、第1データIaと第2データIbとを含む。単位処理部63-nは、拡張畳込層65と中間層Lと処理層67とを具備する。
拡張畳込層65は、入力データI(第1データIaおよび第2データIb)に対して拡張畳込(dilated convolution)を実行することで単位データDu1を生成する。
中間層Lは、単位データDu1に対する変換処理により単位データDu2を生成する。変換処理の内容は第1実施形態と同様である。変換処理にはパラメータセットPnが適用される。なお、中間層Lは、N個の単位処理部63-1~63-Nの全部に設置される必要はない。すなわち、N個の単位処理部63-1~63-NのうちNx個(1個以上)の単位処理部63-nに中間層Lが設置される。ここでは、N個の単位処理部の全部に、中間層Lが設置されたものとして説明する。
処理層67は、単位データDu2と潜在データdとから出力データOと処理データCnとを生成する。具体的には、処理層67は、畳込層671と加算部672と活性化層673と活性化層674と乗算部675と畳込層676と畳込層677と加算部678とを含む。
畳込層671は、潜在データdに対して1×1の畳込演算を実行する。加算部672は、単位データDu2と畳込層671の出力データとを加算することで単位データDu3を生成する。単位データDu3は、第1部分と第2部分とに区分される。活性化層673は、単位データDu3の第1部分を活性化関数(例えばtanh関数)により処理する。活性化層674は、単位データDu3の第2部分を活性化関数(例えばシグモイド関数)により処理する。乗算部675は、活性化層673の出力データと活性化層674の出力データとの間で要素積を演算することで単位データDu4を生成する。単位データDu4は、拡張畳込層65の出力に、ゲートされた活性化関数(673―675)を適用して得られたデータである。ここでは、単位データDu1~Du3がそれぞれ第1部分と第2部分を含むが、一般的な活性化関数(シグモイド、tanh、ReLUなどの、ゲートされていない関数)を用いる場合は、単位データDu1~Du3は第1部分だけでよい。
畳込層676は、単位データDu4に対して1×1の畳込演算を実行することで処理データCnを生成する。畳込層677は、単位データDu4に対して1×1の畳込演算を実行する。加算部678は、第1データIaと畳込層677の出力データとを加算することで出力データOを生成する。出力データOは、記憶装置12に記憶される。
図14の合成処理部64は、相異なる単位処理部63-nが生成したN個の処理データC1~CNを処理することで音響データDzを生成する。例えば、合成処理部64は、N個の処理データC1~CNの加重和したデータに基づき音響データDzを生成する。合成処理部64による音響データDzの生成は単位期間毎に反復される。すなわち、合成処理部64は、音響データDzの時系列を生成する。合成処理部64が生成した音響データDzは、第1実施形態と同様に波形合成部23に供給されるほか、記憶装置12に記憶されて畳込層62に使用される。
畳込層62は、直前の複数の単位期間において生成された音響データDzに対する畳込演算(causal convolution)により、単位期間毎に単位データDu0を生成する。単位データDu0は、第1段目の単位処理部63-1に入力データIとして供給される。各単位期間に単位処理部63-1に供給される第1データIaは、現在の単位期間に生成された単位データDu0である。また、各単位期間に単位処理部63-1に供給される第2データIbは、直前(1個前)の単位期間に生成された単位データDu0である。以上に説明した通り、相異なる単位期間に対応する第1データIaと第2データIbとが、単位処理部63-1に供給される。
時間軸上の各単位期間において、第2段目以降の各単位処理部63-nには、前段の単位処理部63-n-1が相異なる単位期間について生成した複数の出力データOが、第1データIaおよび第2データIbとして供給される。例えば、単位処理部63-2には、単位処理部63-1が現在の単位期間に生成した出力データOが第1データIaとして供給され、かつ、単位処理部63-1が2個前(dilation=2)の単位期間に生成した出力データOが第2データIbとして供給される。単位処理部63-3には、単位処理部63-2が現在の単位期間に生成した出力データOが第1データIaとして供給され、かつ、単位処理部63-2が4個前(dilation=4)の単位期間に生成した出力データOが第2データIbとして供給される。
以上に説明した通り、第4実施形態の第1生成モデル30は、相異なる単位処理部63-nに対応するN個の中間層Lを含む。また、畳込層62と各単位処理部63-nの拡張畳込層65および処理層67とは、音響データDzの時系列の生成に必要な基本層である。すなわち、第4実施形態の第1生成モデル30は、第1実施形態と同様に、複数の基本層と1以上の中間層Lとを含む。したがって、第4実施形態においても第1実施形態と同様の効果が実現される。
E:第5実施形態
第1実施形態から第4実施形態においては、目標楽音が歌唱音である場合を例示した。第5実施形態の楽音合成システム100は、目標楽曲の演奏により発音されるべき楽器音を目標楽音として合成する。
第1実施形態から第4実施形態における制御データDxは、目標楽音のピッチ(基本周波数)と有声/無声を表す情報と音素情報とを含む。第5実施形態における制御データDxは、有声/無声の情報および音素情報に代えて、目標楽音の強度(音量)と演奏スタイルとを含む、楽器音用の楽譜特徴量である。演奏スタイルは、例えば楽器の演奏法を表す情報である。目標楽音が楽器音である場合、参照楽音としても楽器音が利用される。すなわち、部分音色は、楽器音の音響特性の時間的な変化の特徴である。
第5実施形態の第1生成モデル30および第2生成モデル40は、図8の機械学習において、楽器音用の訓練データT(制御データ列Xt、参照データ列Rt、音響データ列Zt)を用いた訓練により確立される。第1生成モデル30は、目標とする楽器音の楽譜上の条件(制御データ列X)と目標とする楽器音の音響特徴量(音響データ列Z)との関係を学習した訓練済みの統計モデルである。そして、楽音合成部22は、第1生成モデル30により楽器音用の制御データ列Xを処理することで楽器音の音響データ列Zを生成する。
第1実施形態から第4実施形態の各々を楽器音生成に応用した第5実施形態においても、第1実施形態から第4実施形態と同様の効果が実現される。以上の各形態の例示から理解される通り、本開示における「楽音」は、歌唱音または楽器音等の音楽的な音を意味する。
F:変形例
以上に例示した各態様に付加される具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2以上の態様を、相互に矛盾しない範囲で適宜に併合してもよい。
(1)第1実施形態から第3実施形態においては、第1符号化器31が前処理部311を含む形態を例示したが、前処理部311は省略されてもよい。例えば、制御データ取得部21から第1符号化器31の第1段目の畳込層321に直接的に制御データ列Xが供給されてもよい。また、前述の各形態においては、復号化器32が後処理部322を含む形態を例示したが、後処理部322は省略されてもよい。例えば、最終段の中間層Lが出力する音響データ列Zが、直接的に波形合成部23に供給されてもよい。
(2)前述の各形態においては、参照信号Srにおける特定区間の時間軸上の位置を、利用者からの第1指示Q1に応じて変更する形態を例示したが、制御ベクトルVに第1指示Q1を反映させるための構成は、以上の例示に限定されない。相異なる参照楽音を表す複数の参照信号Srが記憶装置12に記憶された構成において、制御装置11(区間設定部241)は、複数の参照信号Srの何れかを利用者からの第1指示Q1に応じて選択してもよい。制御装置11は、第1指示Q1に応じて選択した特定区間の参照信号Srから参照データ列Rを生成する。
(3)第2実施形態において、利用者からの第2指示Q2に応じて制御ベクトルVの各要素Ekを変更するための構成は、以上の例示に限定されない。
例えば、制御ベクトルV0の複数のプリセットデータが、記憶装置12に記憶されてもよい。各プリセットデータは、制御ベクトルV0のK個の要素E1~EKの各々を指定するデータである。利用者は、操作装置14に対する操作により、複数のプリセットデータの何れかを選択できる。制御ベクトル調整部244は、利用者が選択したプリセットデータを制御ベクトルV0として使用する。の調整に適用する。以上の形態においては、複数のプリセットデータの何れかを選択して呼び出す指示が、第2指示Q2に相当する。
また、前述の各形態においては、各操作子Gb-kの位置が各要素Ekの数値に対応する形態を例示したが、各操作子Gb-kの位置が、各要素Ekの変化量に対応してもよい。制御ベクトル調整部244は、要素Ekの数値を、制御ベクトルV0における初期値から、操作子Gb-kの位置に応じた変化量だけ変化させた数値に設定する。
(4)前述の各形態においては、楽音合成システム100が訓練処理部26を具備する形態を便宜的に例示したが、楽音合成システム100とは別個の機械学習システムに訓練処理部26が搭載されてもよい。機械学習システムにより確立された第1生成モデル30および第2生成モデル40が、楽音合成システム100に提供されて、楽音合成処理Saに利用される。
(5)前述の各形態においては、処理期間Bを時間的な単位として音響信号Wが生成される形態を例示した。各形態において、時間軸上で連続する複数の処理期間Bは、図16に例示される通り、時間軸上において部分的に相互に重複してもよい。なお、各処理期間Bの時間的な関係は、図16の例示に限定されない。
前述の各形態と同様に、時間軸上の処理期間B毎に音響信号Wが順次に生成される。各処理期間Bのうち有効期間b内の音響信号Wが、時間軸上で連続する処理期間Bの間で相互に加算(例えば加重平均)されることで、最終的な音響信号が生成される。有効期間bは、処理期間Bに内包される期間である。具体的には、有効期間bは、処理期間Bの始点を含む所定長の期間と、処理期間Bの終点を含む所定長の期間とを、当該処理期間Bから除外した期間である。図16の形態によれば、処理期間Bの端部(始点または周縁)における音響信号Wの波形の不連続性が低減され、結果的に波形が連続で聴感的に自然な音響信号を生成できる。
(6)前述の各形態においては、表示装置13に表示される仮想的な操作子Gb-kを例示したが、各要素Ekの変更の指示を受付ける操作子Gb-kは、利用者が実際に接触することが可能な現実的な操作子でもよい。
(7)各中間層Lが実行する変換処理は、前述の各形態において例示した処理に限定されない。例えば、第1パラメータp1の乗算と前記第2パラメータp2の加算との一方は省略されてもよい。変換処理が第2パラメータp2の加算を含まない形態において、パラメータセットPnは第1パラメータp1のみで構成される。変換処理が第1パラメータp1の乗算を含まない形態において、パラメータセットPnは第2パラメータp2のみで構成される。すなわち、パラメータセットPnは1以上のパラメータを含む変数として表現される。
(8)前述の各形態においては、第1符号化器31と復号化器32とを含む第1生成モデル30を例示したが、第1生成モデル30の構成は以上の例示に限定されない。第1生成モデル30は、目標楽音の条件(制御データ列X)と目標楽音の音響特徴量(音響データ列Z)との関係を学習したモデルとして包括的に表現される。したがって、変換処理を実行可能な1以上の中間層Lを含む任意の構造のモデルが、第1生成モデル30として利用される。
同様に、第2生成モデル40の構成は、前述の各形態における例示に限定されない。例えば、前述の各形態においては、サンプリング部414が制御ベクトルVの要素Ekを各確率分布Fkからサンプリングする構成を例示したが、複数の畳込層411により制御ベクトルVが生成されてもよい。すなわち、第2符号化器243における出力処理部412は省略されてよい。
(9)第2実施形態においては、第1指示Q1および第2指示Q2に応じて制御ベクトルVが生成される形態を例示したが、制御ベクトル調整部244を具備する構成において、第1指示Q1を受付ける構成は省略されてもよい。具体的には、区間設定部241は、利用者からの指示とは無関係に特定区間の参照信号Srを設定してもよい。例えば、区間設定部241は、参照信号Srの音響特性が特定の条件を充足する区間を特定区間として設定する。区間設定部241は、例えば音色等の音響特性が顕著に変動する区間を特定区間として設定する。また、参照信号Srの全体が特定区間として利用されてもよい。参照信号Srの全体が特定区間として利用される形態において、区間設定部241は省略されてもよい。
(10)第1実施形態から第3実施形態においては、第1生成モデル30がN1個の符号中間層LeとN2個の復号中間層Ldとを含む形態を例示したが、符号中間層Leまたは復号中間層Ldは省略されてもよい。例えば、第1生成モデル30の第1符号化器31が符号中間層Leを含まない形態、または、復号化器32が復号中間層Ldを含まない形態も想定される。前述の通り、各中間層Lは変換処理を実行する。したがって、第1符号化器31が変換処理を実行しない形態、または、復号化器32が変換処理を実行しない形態も想定される。
符号中間層Leが省略された形態において、第1生成モデル30はN2x個の復号中間層Ldを含む。前述の通り、復号中間層Ldの個数N2xはN2以下の自然数である。また、復号中間層Ldが省略された形態において、第1生成モデル30はN1x個の符号中間層Leを含む。前述の通り、符号中間層Leの個数N1xはN1以下の自然数である。
以上の例示から理解される通り、第1実施形態から第4実施形態の第1生成モデル30における中間層Lの個数Nxは、1以上のN以下の自然数である。すなわち、第1生成モデル30は、複数の基本層と1以上の中間層Lとを含むモデルとして包括的に表現される。中間層Lは、第1符号化器31および復号化器32の一方または双方に含まれる。すなわち、変換処理は、第1生成モデル30のうち少なくとも1箇所において実行される。
(11)例えばスマートフォンまたはタブレット端末等の情報装置との間で通信するサーバ装置により楽音合成システム100を実現してもよい。例えば、楽音合成システム100は、情報装置から受信した楽曲データMおよび参照信号Srから音響信号Wを生成し、音響信号Wを情報装置に送信する。なお、楽音合成部22が生成する音響データ列Zが楽音合成システム100から情報装置に送信される形態においては、楽音合成システム100から波形合成部23は省略されてよい。情報装置は、楽音合成システム100から受信した音響データ列Zから音響信号を生成する。
また、楽曲データMの代わりに制御データ列Xが情報装置から楽音合成システム100に送信されてもよい。制御データ取得部21は、情報装置から送信された制御データ列Xを受信する。制御データDx(制御データ列X)の「受信」は、制御データDxの「取得」の一例である。
(12)以上に例示した楽音合成システム100の機能は、前述の通り、制御装置11を構成する単数または複数のプロセッサと、記憶装置12に記憶されたプログラムとの協働により実現される。本開示に係るプログラムは、コンピュータが読取可能な記録媒体に格納された形態で提供されてコンピュータにインストールされ得る。記録媒体は、例えば非一過性(non-transitory)の記録媒体であり、CD-ROM等の光学式記録媒体(光ディスク)が好例であるが、半導体記録媒体または磁気記録媒体等の公知の任意の形式の記録媒体も包含される。なお、非一過性の記録媒体とは、一過性の伝搬信号(transitory, propagating signal)を除く任意の記録媒体を含み、揮発性の記録媒体も除外されない。また、配信装置が通信網を介してプログラムを配信する構成では、当該配信装置においてプログラムを記憶する記憶装置が、前述の非一過性の記録媒体に相当する。
G:付記
以上に例示した形態から、例えば以下の構成が把握される。
本開示のひとつの態様(態様1)に係る楽音合成方法は、目標楽音の条件を表す制御データの時系列を取得し、複数の基本層と1以上の中間層を含み、楽音の条件と当該楽音の音響特徴量との関係を学習した訓練済の生成モデルにより、前記制御データの時系列を処理することで、前記目標楽音の音響特徴量を表す音響データの時系列を生成する、コンピュータシステムにより実現される楽音合成方法であって、音色の時間的な変化の特徴を表す制御ベクトルを利用者からの指示に応じて生成し、前記制御ベクトルから第1パラメータセットを生成し、前記1以上の中間層のうちの第1中間層は、前記第1中間層に入力されるデータに対して前記第1パラメータセットを適用した処理を実行し、適用後のデータを次層に出力する。
以上の態様においては、音色の時間的な変化の特徴(部分音色)を表す制御ベクトルが利用者からの指示に応じて生成され、制御ベクトルから第1パラメータセットが生成され、第1中間層に入力されるデータに対して第1パラメータセットが適用される。したがって、利用者からの指示に応じた多様な部分音色を有する目標楽音の音響データの時系列を生成できる。
「目標楽音」は、合成されるべき目標となる楽音である。「楽音」は、音楽に関する音響である。例えば、歌唱者による歌唱音または楽器の演奏音等の音楽的な音響が、「楽音」の一例である。
「制御データ」は、目標楽音の条件を表す任意の形式のデータである。例えば、楽音の楽譜(すなわち音符列)を表す楽曲データの特徴量(楽譜特徴量)を表すデータが「制御データ」の一例である。制御データが表す楽譜特徴量の種類は任意である。例えば、特許文献1と同様の楽譜特徴量が利用される。
態様1の具体例(態様2)において、前記制御ベクトルの生成においては、前記利用者からの指示に応じて前記制御ベクトルの時系列を生成し、前記第1パラメータセットの生成においては、前記制御ベクトルの時系列から前記第1パラメータセットの時系列を生成する。以上の態様においては、利用者からの指示に応じて制御ベクトルの時系列が生成され、かつ、制御ベクトルの時系列から第1パラメータセットの時系列が生成される。したがって、制御データの時系列の途中の時点において音色が変化する多様な目標楽音を生成できる。
態様1または態様2の具体例(態様3)において、さらに、前記制御ベクトルから第2パラメータセットを生成し、前記1以上の中間層のうちの第2中間層は、前記第2中間層に入力されるデータに対して前記第2パラメータセットを適用した処理を実行し、適用後のデータを次層に出力する。以上の態様においては、第1中間層に入力されるデータに第1パラメータセットが適用されるほか、第2中間層に入力されるデータに第2パラメータセットが適用される。したがって、多様な部分音色を有する目標楽音の音響データの時系列を生成できる。
態様1から態様3の何れかの具体例(態様4)において、前記1以上の中間層は、複数の中間層であり、前記生成モデルは、前記1以上の中間層のうち複数の符号中間層を含む第1符号化器と、前記1以上の中間層のうち複数の復号中間層を含む復号化器とを含み、前記音響データの時系列の生成においては、前記制御データの時系列を前記第1符号化器により処理することで、前記制御データの時系列の特徴を表す中間データを生成し、前記中間データを前記復号化器により処理することで、前記音響データの時系列を生成する。以上の態様によれば、第1符号化器による符号化と復号化器による復号化とにより音響データの時系列を生成できる。
「第1符号化器」は、制御データの時系列の特徴を表す中間データを生成する統計モデルである。他方、復号化器は、中間データから音響データの時系列を生成する統計モデルである。「第1中間層」および「第2中間層」の各々は、符号中間層および復号中間層の何れでもよい。
態様4の具体例(態様5)において、前記第1符号化器において、時間軸上におけるデータの圧縮が実行され、前記復号化器において、時間軸上におけるデータの伸長が実行される。以上の態様においては、制御データの時系列の特徴が適切に反映された中間データが生成され、中間データの特徴が適切に反映された音響データの時系列が生成される。
態様1から態様5の何れかの具体例(態様6)において、前記制御ベクトルの生成においては、参照楽音における特定区間を前記利用者からの第1指示に応じて設定し、前記特定区間における前記参照楽音の音響特徴量を表す参照データの時系列を第2符号化器により処理することで、前記参照楽音のうち前記特定区間における音色の時間的な変化の特徴を表す前記制御ベクトルを生成する。以上の態様においては、参照楽音の特定区間が利用者からの第1指示に応じて設定され、特定区間における音色の時間的な変化の特徴(部分音色)を表す制御ベクトルが生成される。したがって、参照楽音のうち第1指示に応じた特定区間の部分音色を有する目標楽音を生成できる。
態様6の具体例(態様7)において、さらに、前記第1指示に応じて時間軸上における前記特定区間の位置を変更する。以上の態様においては、参照楽音における特定区間の時間軸上の位置が利用者からの第1指示に応じて変更される。したがって、参照楽音のうち利用者の所望の位置の部分音色を有する目標楽音を生成できる。
態様1から態様7の何れかの具体例(態様8)において、前記制御ベクトルは、複数の要素を含み、前記制御ベクトルの生成においては、前記利用者からの第2指示に応じて前記複数の要素のうち1以上の要素を変更する。以上の態様においては、制御ベクトルの複数の要素のうち1以上の要素が利用者からの第2指示に応じて変更される。したがって、利用者からの第2指示に応じた部分音色を有する多様な目標楽音を生成できる。
態様8の具体例(態様9)において、前記第2指示は、前記複数の要素にそれぞれ対応する複数の操作子に対する操作であり、前記1以上の要素の変更においては、前記複数の操作子のうち前記1以上の要素に対応する1以上の操作子に対する操作に応じて、前記1以上の要素を設定する。以上の態様においては、利用者は、各操作子に対する操作により、部分音色を簡便に調整できる。
なお、「操作子」の形態は任意である。例えば、特定の範囲で直線的に移動可能な往復型の操作子(スライダ)、または、回転可能な回転型の操作子(ツマミ)が、「操作子」として例示される。「操作子」は、利用者が接触可能な現実的な操作子でもよいし、表示装置により表示される仮想的な操作子でもよい。
態様1から態様9の何れかの具体例(態様10)において、前記第1中間層は、当該第1中間層に入力されるデータに対して、前記第1パラメータセットを適用した変換処理を実行する。
態様10の具体例(態様11)において、前記第1パラメータセットは、第1パラメータと第2パラメータとを含み、前記変換処理は、前記第1パラメータの乗算と前記第2パラメータの加算とを含む。以上の態様においては、第1中間層に入力されるデータに対して、第1パラメータの乗算と第2パラメータの加算とを含む変換処理が実行される。したがって、制御ベクトルが表す部分音色が適切に付与された目標楽音の音響データを生成できる。
本開示のひとつの態様(態様12)に係る楽音合成システムは、目標楽音の条件を表す制御データの時系列を取得する制御データ取得部と、音色の時間的な変化の特徴を表す制御ベクトルを利用者からの指示に応じて生成する制御ベクトル生成部と、前記制御ベクトルから第1パラメータセットを生成する制御ベクトル処理部と、複数の基本層と1以上の中間層を含み、楽音の条件と当該楽音の音響特徴量との関係を学習した訓練済の生成モデルにより、前記制御データの時系列を処理することで、前記目標楽音の音響特徴量を表す音響データの時系列を生成する楽音合成部と、を具備し、前記1以上の中間層のうちの第1中間層は、前記第1中間層に入力されるデータに対して前記第1パラメータセットを適用した処理を実行し、適用後のデータを次層に出力する。
本開示のひとつの態様に係るプログラムは、目標楽音の条件を表す制御データの時系列を取得する制御データ取得部、音色の時間的な変化の特徴を表す制御ベクトルを利用者からの指示に応じて生成する制御ベクトル生成部、前記制御ベクトルから第1パラメータセットを生成する制御ベクトル処理部、および、複数の基本層と1以上の中間層を含み、楽音の条件と当該楽音の音響特徴量との関係を学習した訓練済の生成モデルにより、前記制御データの時系列を処理することで、前記目標楽音の音響特徴量を表す音響データの時系列を生成する楽音合成部、としてコンピュータシステムを機能させるプログラムであって、前記1以上の中間層のうちの第1中間層は、前記第1中間層に入力されるデータに対して前記第1パラメータセットを適用した処理を実行し、適用後のデータを次層に出力する。
100…楽音合成システム、11…制御装置、12…記憶装置、13…表示装置、14…操作装置、15…放音装置、21…制御データ取得部、22…楽音合成部、23…波形合成部、24…制御ベクトル生成部、241…区間設定部、242…特徴抽出部、243…第2符号化器、25…制御ベクトル処理部、28-n…変換モデル、26…訓練処理部、30…第1生成モデル、31…第1符号化器、311…前処理部、312…畳込層、Le…符号中間層、32…復号化器、321…畳込層、Ld…復号中間層、322…後処理部、40…第2生成モデル、411…畳込層、412…出力処理部、413…後処理部、414…サンプリング部、51…第1暫定モデル、52…第2暫定モデル、61…変換処理部、62…畳込層、63-n…単位処理部、64…合成処理部、65…拡張畳込層、67…処理層。

Claims (13)

  1. 目標楽音の条件を表す制御データの時系列を取得し、
    複数の基本層と1以上の中間層を含み、楽音の条件と当該楽音の音響特徴量との関係を学習した訓練済の生成モデルにより、前記制御データの時系列を処理することで、前記目標楽音の音響特徴量を表す音響データの時系列を生成する、
    コンピュータシステムにより実現される楽音合成方法であって、
    音色の時間的な変化の特徴を表す制御ベクトルを利用者からの指示に応じて生成し、
    前記制御ベクトルから第1パラメータセットを生成し、
    前記1以上の中間層のうちの第1中間層は、前記第1中間層に入力されるデータに対して前記第1パラメータセットを適用した処理を実行し、適用後のデータを次層に出力する
    楽音合成方法。
  2. 前記制御ベクトルの生成においては、前記利用者からの指示に応じて前記制御ベクトルの時系列を生成し、
    前記第1パラメータセットの生成においては、前記制御ベクトルの時系列から前記第1パラメータセットの時系列を生成する
    請求項1の楽音合成方法。
  3. さらに、前記制御ベクトルから第2パラメータセットを生成し、
    前記1以上の中間層のうちの第2中間層は、前記第2中間層に入力されるデータに対して前記第2パラメータセットを適用した処理を実行し、適用後のデータを次層に出力する
    請求項1の楽音合成方法。
  4. 前記1以上の中間層は、複数の中間層であり、
    前記生成モデルは、
    前記複数の中間層のうち複数の符号中間層を含む第1符号化器と、
    前記複数の中間層のうち複数の復号中間層を含む復号化器とを含み、
    前記音響データの時系列の生成においては、
    前記制御データの時系列を前記第1符号化器により処理することで、前記制御データの時系列の特徴を表す中間データを生成し、
    前記中間データを前記復号化器により処理することで、前記音響データの時系列を生成する
    請求項1の楽音合成方法。
  5. 前記第1符号化器において、時間軸上におけるデータの圧縮が実行され、
    前記復号化器において、時間軸上におけるデータの伸長が実行される
    請求項4の楽音合成方法。
  6. 前記制御ベクトルの生成においては、
    参照楽音における特定区間を前記利用者からの第1指示に応じて設定し、
    前記特定区間における前記参照楽音の音響特徴量を表す参照データの時系列を第2符号化器により処理することで、前記参照楽音のうち前記特定区間における音色の時間的な変化の特徴を表す前記制御ベクトルを生成する
    請求項1の楽音合成方法。
  7. さらに、
    前記第1指示に応じて時間軸上における前記特定区間の位置を変更する
    請求項6の楽音合成方法。
  8. 前記制御ベクトルは、複数の要素を含み、
    前記制御ベクトルの生成においては、
    前記利用者からの第2指示に応じて前記複数の要素のうち1以上の要素を変更する
    請求項1の楽音合成方法。
  9. 前記第2指示は、前記複数の要素にそれぞれ対応する複数の操作子に対する操作であり、
    前記1以上の要素の変更においては、前記複数の操作子のうち前記1以上の要素に対応する1以上の操作子に対する操作に応じて、前記1以上の要素を設定する
    請求項8の楽音合成方法。
  10. 前記第1中間層は、当該第1中間層に入力されるデータに対して、前記第1パラメータセットを適用した変換処理を実行する
    請求項1の楽音合成方法。
  11. 前記第1パラメータセットは、第1パラメータと第2パラメータとを含み、
    前記変換処理は、前記第1パラメータの乗算と前記第2パラメータの加算とを含む
    請求項10の楽音合成方法。
  12. 目標楽音の条件を表す制御データの時系列を取得する制御データ取得部と、
    音色の時間的な変化の特徴を表す制御ベクトルを利用者からの指示に応じて生成する制御ベクトル生成部と、
    前記制御ベクトルから第1パラメータセットを生成する制御ベクトル処理部と、
    複数の基本層と1以上の中間層を含み、楽音の条件と当該楽音の音響特徴量との関係を学習した訓練済の生成モデルにより、前記制御データの時系列を処理することで、前記目標楽音の音響特徴量を表す音響データの時系列を生成する楽音合成部と、を具備し、
    前記1以上の中間層のうちの第1中間層は、前記第1中間層に入力されるデータに対して前記第1パラメータセットを適用した処理を実行し、適用後のデータを次層に出力する
    楽音合成システム。
  13. 目標楽音の条件を表す制御データの時系列を取得する制御データ取得部、
    音色の時間的な変化の特徴を表す制御ベクトルを利用者からの指示に応じて生成する制御ベクトル生成部、
    前記制御ベクトルから第1パラメータセットを生成する制御ベクトル処理部、および、
    複数の基本層と1以上の中間層を含み、楽音の条件と当該楽音の音響特徴量との関係を学習した訓練済の生成モデルにより、前記制御データの時系列を処理することで、前記目標楽音の音響特徴量を表す音響データの時系列を生成する楽音合成部、
    としてコンピュータシステムを機能させるプログラムであって、
    前記1以上の中間層のうちの第1中間層は、前記第1中間層に入力されるデータに対して前記第1パラメータセットを適用した処理を実行し、適用後のデータを次層に出力する
    プログラム。
JP2022170758A 2022-10-25 2022-10-25 楽音合成方法、楽音合成システムおよびプログラム Pending JP2024062724A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022170758A JP2024062724A (ja) 2022-10-25 2022-10-25 楽音合成方法、楽音合成システムおよびプログラム
PCT/JP2023/030522 WO2024089995A1 (ja) 2022-10-25 2023-08-24 楽音合成方法、楽音合成システムおよびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022170758A JP2024062724A (ja) 2022-10-25 2022-10-25 楽音合成方法、楽音合成システムおよびプログラム

Publications (1)

Publication Number Publication Date
JP2024062724A true JP2024062724A (ja) 2024-05-10

Family

ID=90830448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022170758A Pending JP2024062724A (ja) 2022-10-25 2022-10-25 楽音合成方法、楽音合成システムおよびプログラム

Country Status (2)

Country Link
JP (1) JP2024062724A (ja)
WO (1) WO2024089995A1 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022065566A (ja) * 2020-10-15 2022-04-27 ヤマハ株式会社 音声合成方法およびプログラム
JP2022122706A (ja) * 2021-02-10 2022-08-23 ヤマハ株式会社 機械学習モデルを用いた音生成方法、機械学習モデルの訓練方法、音生成装置、訓練装置、音生成プログラムおよび訓練プログラム

Also Published As

Publication number Publication date
WO2024089995A1 (ja) 2024-05-02

Similar Documents

Publication Publication Date Title
JP6547878B1 (ja) 電子楽器、電子楽器の制御方法、及びプログラム
JP6791258B2 (ja) 音声合成方法、音声合成装置およびプログラム
KR20150016225A (ko) 타겟 운율 또는 리듬이 있는 노래, 랩 또는 다른 가청 표현으로의 스피치 자동 변환
WO2020095950A1 (ja) 情報処理方法および情報処理システム
Lindemann Music synthesis with reconstructive phrase modeling
WO2019107378A1 (ja) 音声合成方法、音声合成装置およびプログラム
WO2020171033A1 (ja) 音信号合成方法、生成モデルの訓練方法、音信号合成システムおよびプログラム
JP6821970B2 (ja) 音声合成装置および音声合成方法
JP6737320B2 (ja) 音響処理方法、音響処理システムおよびプログラム
CN111696498A (zh) 键盘乐器以及键盘乐器的计算机执行的方法
JP2016509384A (ja) コーディネートされた、ユーザ選択可能な音響及びビデオ効果フィルタを有する音響視覚取得及び共有フレームワーク
JP2018077283A (ja) 音声合成方法
WO2024089995A1 (ja) 楽音合成方法、楽音合成システムおよびプログラム
JP2003345400A (ja) ピッチ変換装置、ピッチ変換方法及びプログラム
EP2634769B1 (en) Sound synthesizing apparatus and sound synthesizing method
JP6834370B2 (ja) 音声合成方法
JP7509221B2 (ja) 情報処理方法、情報処理システムおよびプログラム
JP6372066B2 (ja) 合成情報管理装置および音声合成装置
WO2022074754A1 (ja) 情報処理方法、情報処理システムおよびプログラム
WO2023171522A1 (ja) 音響生成方法、音響生成システムおよびプログラム
JP2018077280A (ja) 音声合成方法
JP6822075B2 (ja) 音声合成方法
US20230260493A1 (en) Sound synthesizing method and program
WO2020171035A1 (ja) 音信号合成方法、生成モデルの訓練方法、音信号合成システムおよびプログラム
Jayasinghe Machine Singing Generation Through Deep Learning