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

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

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

特許7605302楽譜作成装置、訓練装置、楽譜作成方法および訓練方法
<>
  • 特許-楽譜作成装置、訓練装置、楽譜作成方法および訓練方法 図1
  • 特許-楽譜作成装置、訓練装置、楽譜作成方法および訓練方法 図2
  • 特許-楽譜作成装置、訓練装置、楽譜作成方法および訓練方法 図3
  • 特許-楽譜作成装置、訓練装置、楽譜作成方法および訓練方法 図4
  • 特許-楽譜作成装置、訓練装置、楽譜作成方法および訓練方法 図5
  • 特許-楽譜作成装置、訓練装置、楽譜作成方法および訓練方法 図6
  • 特許-楽譜作成装置、訓練装置、楽譜作成方法および訓練方法 図7
  • 特許-楽譜作成装置、訓練装置、楽譜作成方法および訓練方法 図8
  • 特許-楽譜作成装置、訓練装置、楽譜作成方法および訓練方法 図9
  • 特許-楽譜作成装置、訓練装置、楽譜作成方法および訓練方法 図10
  • 特許-楽譜作成装置、訓練装置、楽譜作成方法および訓練方法 図11
  • 特許-楽譜作成装置、訓練装置、楽譜作成方法および訓練方法 図12
  • 特許-楽譜作成装置、訓練装置、楽譜作成方法および訓練方法 図13
  • 特許-楽譜作成装置、訓練装置、楽譜作成方法および訓練方法 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-16
(45)【発行日】2024-12-24
(54)【発明の名称】楽譜作成装置、訓練装置、楽譜作成方法および訓練方法
(51)【国際特許分類】
   G10G 3/04 20060101AFI20241217BHJP
【FI】
G10G3/04
【請求項の数】 14
(21)【出願番号】P 2023522256
(86)(22)【出願日】2022-03-08
(86)【国際出願番号】 JP2022010125
(87)【国際公開番号】W WO2022244403
(87)【国際公開日】2022-11-24
【審査請求日】2023-11-10
(31)【優先権主張番号】P 2021084905
(32)【優先日】2021-05-19
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000004075
【氏名又は名称】ヤマハ株式会社
(74)【代理人】
【識別番号】100108523
【弁理士】
【氏名又は名称】中川 雅博
(74)【代理人】
【識別番号】100125704
【弁理士】
【氏名又は名称】坂根 剛
(74)【代理人】
【識別番号】100187931
【弁理士】
【氏名又は名称】澤村 英幸
(72)【発明者】
【氏名】鈴木 正博
【審査官】大野 弘
(56)【参考文献】
【文献】特開2016-136251(JP,A)
【文献】特開2020-003536(JP,A)
【文献】新村祐加 他,"弦楽器練習支援のための音符からの運指指定”,FIT2019 第18回情報科学技術フォーラム 講演論文集 第2分冊,2019年08月20日,pp.207-208
(58)【調査した分野】(Int.Cl.,DB名)
G10G 3/04
(57)【特許請求の範囲】
【請求項1】
複数の音符からなる音符列を受け付ける受付部と、
訓練済モデルを用いて、楽譜を作成するための各音符および属性情報を推定する推定部とを備え、
前記訓練済モデルは、複数の参照音符からなる参照音符列と、楽譜を作成するための各参照音符および参照属性情報との間の入出力関係を習得した機械学習モデルである、楽譜作成装置。
【請求項2】
推定された前記各音符および前記属性情報が記載された楽譜を示す楽譜情報を生成する生成部をさらに備える、請求項1記載の楽譜作成装置。
【請求項3】
前記推定部は、前記属性情報として調号を推定する、請求項1または2記載の楽譜作成装置。
【請求項4】
前記推定部は、前記属性情報として音価の分割および結合を推定する、請求項1~3のいずれか一項に記載の楽譜作成装置。
【請求項5】
前記推定部は、前記属性情報として音部を推定する、請求項1~4のいずれか一項に記載の楽譜作成装置。
【請求項6】
前記推定部は、前記属性情報として声部を推定する、請求項1~5のいずれか一項に記載の楽譜作成装置。
【請求項7】
推定された前記各音符および前記属性情報に基づいて臨時記号を判定する第1の判定部をさらに備える、請求項1~6のいずれか一項に記載の楽譜作成装置。
【請求項8】
推定された前記各音符および前記属性情報に基づいて拍子記号を判定する第2の判定部をさらに備える、請求項1~7のいずれか一項に記載の楽譜作成装置。
【請求項9】
音符、パートおよび拍節の情報を含む演奏用のデータである入力音符トークン列を受け付ける受付部と、
画像楽譜を音符描画、属性および小節の情報を含む楽譜要素トークン列にし、前記楽譜要素トークン列から学習用音符トークン列を作成し、前記学習用音符トークン列を入力として、楽譜トークンを出力とする学習を行わせた訓練済モデルを用いて前記入力音符トークン列から楽譜トークン列を推定する推定部と、
前記楽譜トークン列から画像楽譜を作成する作成部とを備える、楽譜作成装置。
【請求項10】
複数の参照音符からなる参照音符列を取得する第1の取得部と、
楽譜を作成するための各参照音符および参照属性情報を取得する第2の取得部と、
前記参照音符列と前記各参照音符および前記参照属性情報との間の入出力関係を習得した訓練済モデルを構築する構築部とを備える、訓練装置。
【請求項11】
複数の音符からなる音符列を受け付け、
訓練済モデルを用いて、楽譜を作成するための各音符および属性情報を推定し、
前記訓練済モデルは、複数の参照音符からなる参照音符列と、楽譜を作成するための各参照音符および参照属性情報との間の入出力関係を習得した機械学習モデルである、
コンピュータにより実行される、楽譜作成方法。
【請求項12】
複数の参照音符からなる参照音符列を取得し、
楽譜を作成するための各参照音符および参照属性情報を取得し、
前記参照音符列と前記各参照音符および前記参照属性情報との間の入出力関係を習得した訓練済モデルを構築する、
コンピュータにより実行される、訓練方法。
【請求項13】
コンピュータに楽譜作成方法を実行させるプログラムであって、
複数の音符からなる音符列を受け付ける処理と、
訓練済モデルを用いて、楽譜を作成するための各音符および属性情報を推定する処理とを、
前記コンピュータにより実行させ、
前記訓練済モデルは、複数の参照音符からなる参照音符列と、楽譜を作成するための各参照音符および参照属性情報との間の入出力関係を習得した機械学習モデルである、プログラム。
【請求項14】
コンピュータに訓練方法を実行させるプログラムであって、
複数の参照音符からなる参照音符列を取得する処理と、
楽譜を作成するための各参照音符および参照属性情報を取得する処理と、
前記参照音符列と前記各参照音符および前記参照属性情報との間の入出力関係を習得した訓練済モデルを構築する処理とを、
前記コンピュータに実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、楽譜を作成するための楽譜作成装置、訓練装置、楽譜作成方法および訓練方法に関する。
【背景技術】
【0002】
楽譜を作成する技術として、例えば特許文献1または特許文献2が知られている。特許文献1には、MIDI(Musical Instrument Digital Interface)形式の自動演奏データを分析して楽譜表示データを生成することが記載されている。特許文献2には、スタンダードMIDIファイル等の音楽データオブジェクトから音符の特性を抽出し、音符の特性に基づいて関連する音符の音節を判断し、音符の特性に従って、視覚的な楽譜を生成することが記載されている。
【0003】
【文献】特開2005-195827号公報
【文献】特表2018-533076号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
実用的な楽譜には、音符だけでなく、音符の種々の属性情報が記載される。しかしながら、特許文献1または特許文献2の技術では、MIDIデータから属性情報を推定することができない。したがって、実用的な楽譜を作成することは困難である。
【0005】
本発明の目的は、実用的な楽譜を作成することが可能な楽譜作成装置、訓練装置、楽譜作成方法および訓練方法を提供することである。
【課題を解決するための手段】
【0006】
本発明の一局面に従う楽譜作成装置は、複数の音符からなる音符列を受け付ける受付部と、訓練済モデルを用いて、楽譜を作成するための各音符および属性情報を推定する推定部とを備え、訓練済モデルは、複数の参照音符からなる参照音符列と、楽譜を作成するための各参照音符および参照属性情報との間の入出力関係を習得した機械学習モデルである。
【0007】
本発明の他の局面に従う楽譜作成装置は、音符、パートおよび拍節の情報を含む演奏用のデータである入力音符トークン列を受け付ける受付部と、画像楽譜を音符描画、属性および小節の情報を含む楽譜要素トークン列にし、楽譜要素トークン列から学習用音符トークン列を作成し、学習用音符トークン列を入力として、楽譜トークンを出力とする学習を行わせた訓練済モデルを用いて入力音符トークン列から楽譜トークン列を推定する推定部と、楽譜トークン列から画像楽譜を作成する作成部とを備える。
【0008】
本発明のさらに他の局面に従う訓練装置は、複数の参照音符からなる参照音符列を取得する第1の取得部と、楽譜を作成するための各参照音符および参照属性情報を取得する第2の取得部と、参照音符列と各参照音符および参照属性情報との間の入出力関係を習得した訓練済モデルを構築する構築部とを備える。
【0009】
本発明のさらに他の局面に従う楽譜作成方法は、複数の音符からなる音符列を受け付け、訓練済モデルを用いて、楽譜を作成するための各音符および属性情報を推定し、訓練済モデルは、複数の参照音符からなる参照音符列と、楽譜を作成するための各参照音符および参照属性情報との間の入出力関係を習得した機械学習モデルであり、コンピュータにより実行される。
【0010】
本発明のさらに他の局面に従う訓練方法は、複数の参照音符からなる参照音符列を取得し、楽譜を作成するための各参照音符および参照属性情報を取得し、参照音符列と各参照音符および参照属性情報との間の入出力関係を習得した訓練済モデルを構築し、コンピュータにより実行される。
本発明のさらに他の局面に従うプログラムは、コンピュータに楽譜作成方法を実行させるプログラムであって、複数の音符からなる音符列を受け付ける処理と、訓練済モデルを用いて、楽譜を作成するための各音符および属性情報を推定する処理とを、コンピュータにより実行させ、訓練済モデルは、複数の参照音符からなる参照音符列と、楽譜を作成するための各参照音符および参照属性情報との間の入出力関係を習得した機械学習モデルである。
本発明のさらに他の局面に従うプログラムは、コンピュータに訓練方法を実行させるプログラムであって、複数の参照音符からなる参照音符列を取得する処理と、楽譜を作成するための各参照音符および参照属性情報を取得する処理と、参照音符列と各参照音符および参照属性情報との間の入出力関係を習得した訓練済モデルを構築する処理とを、コンピュータに実行させる。
【発明の効果】
【0011】
本発明によれば、実用的な楽譜を作成することができる。
【図面の簡単な説明】
【0012】
図1図1は本発明の一実施の形態に係る楽譜作成装置および訓練装置を含む処理システムの構成を示すブロック図である。
図2図2は各訓練データにおける学習用音符トークン列の一例を示す図である。
図3図3図2の学習用音符トークン列により示されるピアノロールである。
図4図4は各訓練データにおける楽譜要素トークン列の一例を示す図である。
図5図5図4の楽譜要素トークン列により示される楽譜である。
図6図6は各訓練データにおける楽譜要素トークン列の他の例を示す図である。
図7図7は音部を記述する楽譜要素トークン列の他の例を示す図である。
図8図8は音部を記述する楽譜要素トークン列の他の例を示す図である。
図9図9は声部を記述する楽譜要素トークン列の一例を示す図である。
図10図10は訓練装置および楽譜作成装置の構成を示すブロック図である。
図11図11は画像楽譜の一例を示す図である。
図12図12図10の訓練装置による訓練処理の一例を示すフローチャートである。
図13図13図10の楽譜作成装置による楽譜作成処理の一例を示すフローチャートである。
図14図14は他の実施の形態における受付部の動作を説明するための図である。
【発明を実施するための形態】
【0013】
(1)処理システムの構成
以下、本発明の実施の形態に係る楽譜作成装置、訓練装置、楽譜作成方法および訓練方法について図面を用いて詳細に説明する。図1は、本発明の一実施の形態に係る楽譜作成装置および訓練装置を含む処理システムの構成を示すブロック図である。図1に示すように、処理システム100は、RAM(ランダムアクセスメモリ)110、ROM(リードオンリメモリ)120、CPU(中央演算処理装置)130、記憶部140、操作部150および表示部160を備える。
【0014】
処理システム100は、パーソナルコンピュータ、タブレット端末またはスマートフォン等のコンピュータにより実現される。あるいは、処理システム100は、イーサネット等の通信路により接続された複数のコンピュータの共同動作により実現されてもよいし、電子ピアノ等の演奏機能を備えた電子楽器により実現されてもよい。
【0015】
RAM110、ROM120、CPU130、記憶部140、操作部150および表示部160は、バス170に接続される。RAM110、ROM120およびCPU130により訓練装置10および楽譜作成装置20が構成される。本実施の形態では、訓練装置10と楽譜作成装置20とは共通の処理システム100により構成されるが、別個の処理システムにより構成されてもよい。
【0016】
RAM110は、例えば揮発性メモリからなり、CPU130の作業領域として用いられる。ROM120は、例えば不揮発性メモリからなり、訓練プログラムおよび楽譜作成プログラムを記憶する。CPU130は、ROM120に記憶された訓練プログラムをRAM110上で実行することにより訓練処理を行う。また、CPU130は、ROM120に記憶された楽譜作成プログラムをRAM110上で実行することにより楽譜作成処理を行う。訓練処理および楽譜作成処理の詳細については後述する。
【0017】
訓練プログラムまたは楽譜作成プログラムは、ROM120ではなく記憶部140に記憶されてもよい。あるいは、訓練プログラムまたは楽譜作成プログラムは、コンピュータが読み取り可能な記憶媒体に記憶された形態で提供され、ROM120または記憶部140にインストールされてもよい。あるいは、処理システム100がインターネット等のネットワークに接続されている場合には、当該ネットワーク上のサーバ(クラウドサーバを含む。)から配信された訓練プログラムまたは楽譜作成プログラムがROM120または記憶部140にインストールされてもよい。
【0018】
記憶部140は、ハードディスク、光学ディスク、磁気ディスクまたはメモリカード等の記憶媒体を含み、訓練済モデルMおよび複数の訓練データDを記憶する。訓練済モデルMまたは各訓練データDは、記憶部140に記憶されず、コンピュータが読み取り可能な記憶媒体に記憶されていてもよい。あるいは、処理システム100がネットワークに接続されている場合には、訓練済モデルMまたは各訓練データDは、当該ネットワーク上のサーバに記憶されていてもよい。
【0019】
訓練済モデルMは、楽譜を作成するための各音符および属性情報を推定するために訓練された機械学習モデルであり、複数の訓練データDを用いて構築される。訓練データDは、参照音符列と、各参照音符および参照属性情報との組を示す。参照音符列は、例えばMIDIから生成可能な複数の参照音符からなる学習用音符トークン列として示される。各参照音符および参照属性情報は、楽譜要素トークン列として示される。
【0020】
訓練データDは、後述する図5の画像楽譜を示す画像データであってもよい。この場合、訓練データDが示す画像楽譜から学習用音符トークン列および楽譜要素トークン列が作成される。訓練済モデルMは、学習用音符トークン列と、楽譜要素トークン列との間の入出力関係を習得することにより構築される。以下、学習用音符トークン列および楽譜要素トークン列の詳細について説明する。
【0021】
(2)学習用音符トークン列
本実施の形態においては、学習用音符トークン列には、参照音符列に加えて、パートおよび拍節構造が含まれる。図2は、各訓練データDにおける学習用音符トークン列の一例を示す図である。図3は、図2の学習用音符トークン列Aにより示されるピアノロールである。
【0022】
図2に示すように、学習用音符トークン列Aは、基本的に時系列順に配列されたトークンA0~A24を含む複数のトークンにより記述される。各トークンは、音楽要素を記号化したものであり、一部のトークンは属性を有する。トークンの属性は、当該トークンの後半(アンダーバーの後)に記述される。図2の学習用音符トークン列Aは、曲の先頭の2小節分を抜粋したデータである。
【0023】
トークンA0はパートを示す。トークンA0として、“R”および“L”は、それぞれ右手および左手のパートを示す。本例では、“R”の後に右手のトークン列が配置される。その後に“L”が配置され、“L”の後に左手のトークン列が配置される。“R”および右手のトークン列は、左手のトークン列の後に配置されてもよい。また、トークンA0は学習用音符トークン列Aにおける先頭、すなわち参照音符列(トークンA1~A24)の前に配置されるが、学習用音符トークン列Aにおける任意の位置に配置されてもよい。パートの区別がない場合、学習用音符トークン列AはトークンA0を含まない。
【0024】
トークンA1~A24は、参照音符列に対応する。参照音符列における参照音符は、音高と音価との組により示される。音高は、トークンA1,A3等における“note”の属性により記述される。音価は、トークンA2,A4等における“len”の属性により記述される。図2の例では、音高が“73”で36単位時間の参照音符がトークンA1,A2の組により示され、音高が“69”で36単位時間の参照音符がトークンA3,A4の組により示される。なお、図3のピアノロールにおいては、鍵“C5”が音高“72”に対応する。
【0025】
“bar”、“beat”および“pos”は、拍節構造を示すトークンである。学習用音符トークン列Aにおいては、“bar”により小節が区切られ、“beat”により拍が区切られる。また、参照音符の拍内の位置が“pos”の属性により記述される。図2の例では、1小節は4拍である。また、1拍の長さは12単位である。
【0026】
トークンA1からトークンA12の一部(トークンA12の6単位長分)は、第1小節の参照音符列を示す。したがって、トークンA1~A12は、トークンA1の前の“bar”と、トークンA12の後の“bar”とにより小節に区切られる。また、第1小節は、トークンA4の後の3つの“beat”により拍に区切られる。同様に、トークンA12の残りの部分からトークンA24の一部(トークンA24の6単位長分)は、第2小節の参照音符列を示す。
【0027】
(3)楽譜要素トークン列
本実施の形態においては、楽譜要素トークン列には、画像楽譜を作成するための音符描画、属性および小節の情報が含まれる。図4は、各訓練データDにおける楽譜要素トークン列の一例を示す図である。図5は、図4の楽譜要素トークン列Bにより示される楽譜である。
【0028】
図4に示すように、楽譜要素トークン列Bは、基本的に時系列順に配列されたトークンB1~B38を含む複数のトークンにより記述される。学習用音符トークン列Aのトークンと同様に、一部のトークンは属性を有する。トークンの属性は、当該トークンの後半に記述される。また、学習用音符トークン列Aと同様に、楽譜要素トークン列Bは、パートを示す“R”および“L”のトークンを含んでもよい。
【0029】
楽譜要素トークン列Bにおいても、“bar”により小節が区切られる。図4の例では、トークンB1の前の“bar”およびトークンB15の後の“bar”により区切られた範囲が第1小節に対応する。したがって、トークンB1~B15は、図2の学習用音符トークン列Aの第1小節に対応する。同様に、トークンB16の前の“bar”およびトークンB38の後の“bar”により区切られた範囲が第2小節に対応する。したがって、トークンB16~B38は、学習用音符トークン列Aの第2小節に対応する。
【0030】
楽譜要素トークン列Bにおいても、参照音符列における参照音符は、音高と音価との組により示される。音高は“note”の属性により記述され、音価は“len”の属性により記述される。なお、学習用音符トークン列Aにおいては、“len_12”が1拍に相当するが、楽譜要素トークン列Bにおいては、“len_1”が1拍に相当する。参照音符の符幹の方向は、“stem”の属性により記述される。“stem”の属性が“down”の場合には、符幹は符頭から下に延びるように描画される。一方、“stem”の属性が“up”の場合には、符幹は符頭から上に延びるように描画される。
【0031】
図4の例では、トークンB3~B6は図5の参照音符N1を示し、トークンB7~B10は参照音符N2を示し、トークンB11~B14は参照音符N3を示し、トークンB16~B19は参照音符N4を示す。トークンB21~B24は参照音符N5を示し、トークンB26~B29は参照音符N6を示し、トークンB30~B33は参照音符N7を示し、トークンB34~B37は、参照音符N8を示す。トークンB9,B13等において、“len”の属性は1/2等の分数により記述されるが、0.5等の小数により記述されてもよい。
【0032】
参照音符列における参照休符は、“rest”のトークンにより記述される。参照休符の音価は、参照音符と同様に“len”の属性により記述される。“beam”のトークンを用いることにより、8分音符または16分音符等の複数の参照音符を連桁によりつなげることができる。連桁の開始位置および終了位置は、“beam”の属性“start”および“stop”によりそれぞれ記述される。
【0033】
図6は、各訓練データDにおける楽譜要素トークン列Bの他の例を示す図である。図6の上段には、楽譜要素トークン列Bの一部が示され、下段には、上段の楽譜要素トークン列Bに相当する画像楽譜が示される。後述する図7図9においても同様である。図6の楽譜要素トークン列BにおけるトークンB7~B14は、図4の楽譜要素トークン列BのトークンB7~B14と同じである。
【0034】
図6に示すように、トークンB7の前に“beam_start”が配置され、トークンB14の後に“beam_stop”が配置される。すなわち、参照音符N2に対応するトークンB7~B10と、参照音符N3に対応するトークンB11~B14とが、“beam_start”と“beam_stop”とにより挟まれる。これにより、図6の一点鎖線で示すように、画像楽譜において、参照音符N2と参照音符N3とが連桁によりつながれる。
【0035】
(4)参照属性情報
楽譜要素トークン列Bは、上記の音符描画および休符描画のためのトークンに加えて、調号、音価の分割および結合、音部または声部を参照属性情報として記述するトークンを含む。以下、楽譜要素トークン列Bにおける参照属性情報の具体例を説明する。調号、音価の分割および結合、ならびに音部を記述する楽譜要素トークン列Bの説明として、図4および図5を参照する。
【0036】
図4のトークンB2で示すように、調号は、“key”のトークンにより記述される。調号の種類は、“key”の属性により記述される。例えば、シャープおよびナチュラルは、“key”の属性“sharp”および“natural”によりそれぞれ記述される。また、調号の数は、“key”のさらなる属性により記述される。したがって、トークンB2により、図5の一点鎖線で囲まれた3つのシャープが記述される。調号を記述するトークンは、画像楽譜における段の先頭および調号の変更位置に出現する。
【0037】
音価の分割および結合は、図5の二点鎖線で囲まれた演奏記号タイにより示される。図4のトークンB15,B20,B25,B38で示すように、演奏記号タイは、“tie”のトークンにより記述される。演奏記号タイの開始位置および終了位置は、“tie”の属性“start”および“stop”によりそれぞれ記述される。
【0038】
図4のトークンB1で示すように、音部記号は、“clef”のトークンにより記述される。音部記号の種類は、“clef”の属性により記述される。例えば、ト音記号およびヘ音記号は、“clef”の属性“treble”および“bass”によりそれぞれ記述される。したがって、トークンB1により、図5の音部記号Cとしてト音記号が記述される。音部記号を記述するトークンは、画像楽譜における段の先頭および音部記号の変更位置に出現する。
【0039】
図7および図8は、音部を記述する楽譜要素トークン列Bの他の例を示す図である。図7の一点鎖線で囲まれた1オクターブ上のオクターブ線は、“8va”のトークンにより記述される。図8の一点鎖線で囲まれた1オクターブ下のオクターブ線は、“8vb”のトークンにより記述される。オクターブ線の開始位置および終了位置は、“8va”または“8vb”の属性“start”および“stop”によりそれぞれ記述される。
【0040】
図9は、声部を記述する楽譜要素トークン列Bの一例を示す図である。図9の一点鎖線で囲まれた一方の声部の開始位置および終了位置は、一組の“voice”および“/voice”のトークンによりそれぞれ記述される。図9の二点鎖線で囲まれた他方の声部の開始位置および終了位置は、上記の一組の“voice”および“/voice”の後に配置された他の一組の“voice”および“/voice”のトークンによりそれぞれ記述される。
【0041】
(5)訓練装置
図10は、訓練装置10および楽譜作成装置20の構成を示すブロック図である。図10に示すように、訓練装置10は、機能部として、第1の取得部11、第2の取得部12および構築部13を含む。図1のCPU130が訓練プログラムを実行することにより、訓練装置10の機能部が実現される。訓練装置10の機能部の少なくとも一部は、電子回路等のハードウエアにより実現されてもよい。
【0042】
第1の取得部11は、記憶部140等に記憶された各訓練データDに基づいて、参照音符列、パートおよび拍節構造を含む学習用音符トークン列Aを取得する。本例では、後述する第2の取得部12により取得された楽譜要素トークン列Bから一部のトークン列が抽出されることにより学習用音符トークン列Aが取得される。
【0043】
第2の取得部12は、記憶部140等に記憶された各訓練データDに基づいて、音符描画、属性および小節の情報を含む楽譜要素トークン列Bを取得する。本例では、画像楽譜が解析されることにより、画像楽譜に含まれる音符描画、属性および小節が時系列順に抽出される。また、時系列順に抽出された音符描画、属性および小節の各々が予め定められた変換テーブルに従ってトークンに変換される。これにより、楽譜要素トークン列Bが取得される。
【0044】
構築部13は、各訓練データDについて、第1の取得部11により取得された学習用音符トークン列Aを入力とし、第2の取得部12により取得された楽譜要素トークン列Bを出力とする学習を機械学習モデルに行わせる。複数の訓練データDについて機械学習を繰り返すことにより、構築部13は、学習用音符トークン列Aと楽譜要素トークン列Bとの間の入出力関係を示す訓練済モデルMを構築する。
【0045】
本例では、構築部13はTransformerを訓練することにより訓練済モデルMを構築するが、実施の形態はこれに限定されない。構築部13は、時系列を扱う他の方式の機械学習モデルを訓練することにより訓練済モデルMを構築してもよい。構築部13により構築された訓練済モデルMは、例えば記憶部140に記憶される。構築部13により構築された訓練済モデルMは、ネットワーク上のサーバ等に記憶されてもよい。
【0046】
楽譜作成装置20は、機能部として、受付部21、推定部22、第1の判定部23、第2の判定部24および生成部25を含む。図1のCPU130が楽譜作成プログラムを実行することにより、楽譜作成装置20の機能部が実現される。楽譜作成装置20の機能部の少なくとも一部は、電子回路等のハードウエアにより実現されてもよい。また、楽譜作成装置20は、楽譜浄書ソフトウエアまたはデジタル・オーディオ・ワークステーション(DAW)に組み込まれてもよい。
【0047】
受付部21は、複数の音符からなる音符列を含む入力音符トークン列を受け付ける。使用者は、操作部150を操作することにより入力音符トークン列を生成し、受付部21に与えることができる。入力音符トークン列は、図2の学習用音符トークン列Aと同様の構成を有する。つまり、入力音符トークン列は、音符列に加えて、パートおよび拍節構造を有する。
【0048】
推定部22は、記憶部140等に記憶された訓練済モデルMを用いて、入力音符トークン列から楽譜を作成するための音符および属性情報を含む楽譜トークン列を推定する。楽譜トークン列は、受付部21により受け付けられた入力音符トークン列に対応するトークン列を示し、音符列、パートおよび拍節構造に基づいて推定される。入力音符トークン列が学習用音符トークン列Aと同様の構成を有することにより、楽譜トークン列は楽譜要素トークン列Bと同様の構成を有する。
【0049】
第1の判定部23は、推定部22により推定された楽譜トークン列に基づいて、臨時記号を判定する。臨時記号は、例えば楽譜トークン列における調号および音高から判定される。後続の臨時記号の判定には、先行音符の臨時記号がさらに用いられてもよい。第2の判定部24は、推定部22により推定された楽譜トークン列に基づいて拍子記号を判定する。拍子記号は、例えば楽譜トークン列における各小節の拍数から判定される。
【0050】
生成部25は、推定部22により推定された楽譜トークン列から各音符および属性情報が記載された楽譜を示す楽譜情報を生成する。すなわち、生成部25は、作成部として機能し、楽譜トークン列から楽譜フォーマットで楽譜情報を生成する。楽譜情報は、MusicXML形式等のテキストデータであってもよい。表示部160には、生成部25により生成された楽譜情報が示す画像楽譜が表示される。
【0051】
図11は、画像楽譜の一例を示す図である。図11に示すように、画像楽譜には、第1の判定部23により判定された臨時記号Xがさらに記載されてもよい。また、画像楽譜には、第2の判定部24により判定された拍子記号Yがさらに記載されてもよい。ここで、拍子に変更がない限り、拍子記号Yは楽譜の先頭にのみ記載されてもよい。
【0052】
(6)訓練処理および楽譜作成処理
図12は、図10の訓練装置10による訓練処理の一例を示すフローチャートである。図12の訓練処理は、図1のCPU130が訓練プログラムを実行することにより行われる。まず、第2の取得部12は、各訓練データDから楽譜要素トークン列Bを取得する(ステップS1)。第1の取得部11は、ステップS1で取得された楽譜要素トークン列Bから、当該楽譜要素トークン列Bに対応する学習用音符トークン列Aを取得する(ステップS2)。
【0053】
次に、構築部13は、各訓練データDについて、ステップS1で取得された楽譜要素トークン列Bを出力トークンとし、ステップS2で取得された学習用音符トークン列Aを入力トークンとする機械学習を行う(ステップS3)。続いて、構築部13は、十分な機械学習が実行されたか否かを判定する(ステップS4)。機械学習が不十分な場合、構築部13はステップS3に戻る。十分な機械学習が実行されるまで、パラメータが変化されつつステップS3,S4が繰り返される。機械学習の繰り返し回数は、構築される訓練済モデルMが満たすべき品質条件に応じて変化する。
【0054】
十分な機械学習が実行された場合、構築部13は、ステップS3の機械学習により習得した学習用音符トークン列Aと楽譜要素トークン列Bとの間の入出力関係を訓練済モデルMとして保存する(ステップS5)。これにより、訓練処理が終了する。
【0055】
図13は、図10の楽譜作成装置20による楽譜作成処理の一例を示すフローチャートである。図13の楽譜作成処理は、図1のCPU130が楽譜作成プログラムを実行することにより行われる。まず、受付部21は、入力音符トークン列を受け付ける(ステップS11)。次に、推定部22は、訓練処理のステップS5で保存された訓練済モデルMを用いて、ステップS11で受け付けられた入力音符トークン列から楽譜トークン列を推定する(ステップS12)。
【0056】
続いて、第1の判定部23は、ステップS12で推定された楽譜トークン列に基づいて、臨時記号を判定する(ステップS13)。また、第2の判定部24は、ステップS12で推定された楽譜トークン列に基づいて、拍子記号を判定する(ステップS14)。ステップS13,S14は、いずれが先に実行されてもよいし、同時に実行されてもよい。
【0057】
その後、生成部25は、ステップS12で推定された楽譜トークン列、ステップS13で判定された臨時記号およびステップS14で判定された拍子記号に基づいて楽譜情報を生成する(ステップS15)。生成された楽譜情報に基づいて、画像楽譜が表示部160に表示されてもよい。これにより、楽譜作成処理が終了する。
【0058】
(7)実施の形態の効果
以上説明したように、本実施の形態に係る楽譜作成装置20は、複数の音符からなる音符列を受け付ける受付部21と、訓練済モデルMを用いて、楽譜を作成するための各音符および属性情報を推定する推定部22とを備える。訓練済モデルMは、複数の参照音符からなる参照音符列と、楽譜を作成するための各参照音符および参照属性情報との間の入出力関係を習得した機械学習モデルである。
【0059】
この構成によれば、訓練済モデルMを用いて、音符列に対応する各音符および属性情報が推定されるので、楽譜に音符だけでなく、属性情報を記載することが可能となる。これにより、実用的な楽譜を作成することができる。
【0060】
楽譜作成装置20は、推定された各音符および属性情報が記載された楽譜を示す楽譜情報を生成する生成部25をさらに備えてもよい。この場合、使用者は、各音符および属性情報から楽譜情報を生成する必要がないので、ユーザビリティが向上する。
【0061】
すなわち、本実施の形態に係る楽譜作成装置20は、音符、パートおよび拍節の情報を含む演奏用のデータである入力音符トークン列を受け付ける受付部21と、画像楽譜を音符描画、属性および小節の情報を含む楽譜要素トークン列にし、楽譜要素トークン列から学習用音符トークン列を作成し、学習用音符トークン列を入力として、楽譜トークンを出力とする学習を行わせた訓練済モデルMを用いて入力音符トークン列から楽譜トークン列を推定する推定部22と、楽譜トークン列から画像楽譜を作成する作成部とを備えてもよい。
【0062】
推定部22は、属性情報として調号を推定してもよい。推定部22は、属性情報として音価の分割および結合を推定してもよい。推定部22は、属性情報として音部を推定してもよい。推定部22は、属性情報として声部を推定してもよい。楽譜作成装置20は、推定された各音符および属性情報に基づいて臨時記号を判定する第1の判定部23をさらに備えてもよい。楽譜作成装置20は、推定された各音符および属性情報に基づいて拍子記号を判定する第2の判定部24をさらに備えてもよい。これらの場合、より実用的な楽譜を作成することができる。
【0063】
本実施の形態に係る訓練装置10は、複数の参照音符からなる参照音符列を取得する第1の取得部11と、楽譜を作成するための各参照音符および参照属性情報を取得する第2の取得部12と、参照音符列と各参照音符および参照属性情報との間の入出力関係を習得した訓練済モデルMを構築する構築部13とを備える。この構成によれば、参照音符列と各参照音符および参照属性情報との間の入出力関係を習得した訓練済モデルMを容易に構築することができる。
【0064】
(8)他の実施の形態
上記実施の形態において、学習用音符トークン列Aはパートおよび拍節構造を含むが、実施の形態はこれに限定されない。学習用音符トークン列Aは、参照音符列を含めばよく、パートおよび拍節構造を含まなくてもよい。入力音符トークン列についても同様である。また、楽譜要素トークン列Bは小節の情報を含むが、実施の形態はこれに限定されない。楽譜要素トークン列Bは、参照音符および参照属性情報を含めばよく、小節の情報を含まなくてもよい。楽譜トークン列についても同様である。
【0065】
上記実施の形態において、楽譜作成装置20は生成部25を含むが、実施の形態はこれに限定されない。使用者は、推定部22により推定された楽譜トークン列に基づいて楽譜を作成することができる。そのため、楽譜作成装置20は、生成部25を含まなくてもよい。
【0066】
上記実施の形態において、楽譜作成装置20は第1の判定部23および第2の判定部24を含むが、実施の形態はこれに限定されない。楽譜に臨時記号が記載されなくてもよい場合には、楽譜作成装置20は第1の判定部23を含まなくてもよい。楽譜に拍子記号が記載されなくてもよい場合には、楽譜作成装置20は第2の判定部24を含まなくてもよい。
【0067】
上記実施の形態において、使用者は操作部150を操作することにより入力音符トークン列を生成して受付部21に与えるが、実施の形態はこれに限定されない。図14は、他の実施の形態における受付部21の動作を説明するための図である。図14の上段に示すように、使用者は、ピアノ演奏等により生成された波形データを受付部21に与えてもよい。
【0068】
この場合、図14の下段に示すように、受付部21は、与えられた波形データをMIDIデータに変換し、変換されたMIDIデータから入力音符トークン列を取得する。したがって、受付部21は、波形データの形式で入力音符トークン列を受け付ける。この構成によれば、演奏による波形データから、当該演奏を記述する楽譜を生成することができる。
【0069】
上記実施の形態において、受付部21は、右手のパートのトークンと左手のパートのトークンとが混合された入力音符トークン列を受け付けてもよい。この場合でも、適切に訓練された訓練済モデルMを用いることにより、右手のパートのトークンと左手のパートのトークンとを分離した楽譜トークン列を推定することができる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14