特開2016-212205(P2016-212205A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 田中 衞の特許一覧

<>
  • 特開2016212205-行列楽譜処理法 図000013
  • 特開2016212205-行列楽譜処理法 図000014
  • 特開2016212205-行列楽譜処理法 図000015
  • 特開2016212205-行列楽譜処理法 図000016
  • 特開2016212205-行列楽譜処理法 図000017
  • 特開2016212205-行列楽譜処理法 図000018
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2016-212205(P2016-212205A)
(43)【公開日】2016年12月15日
(54)【発明の名称】行列楽譜処理法
(51)【国際特許分類】
   G10G 3/04 20060101AFI20161118BHJP
   G10H 1/00 20060101ALI20161118BHJP
【FI】
   G10G3/04
   G10H1/00 102Z
【審査請求】未請求
【請求項の数】7
【出願形態】OL
【全頁数】39
(21)【出願番号】特願2015-94578(P2015-94578)
(22)【出願日】2015年5月7日
(71)【出願人】
【識別番号】715004003
【氏名又は名称】田中 衞
(74)【代理人】
【識別番号】100074099
【弁理士】
【氏名又は名称】大菅 義之
(72)【発明者】
【氏名】田中 衞
【テーマコード(参考)】
5D182
5D378
5D478
【Fターム(参考)】
5D182AA11
5D182AA12
5D182AA13
5D182AD01
5D378MM05
5D478EB03
(57)【要約】      (修正有)
【課題】音楽の同音符長の音符粒子集合への展開により、小区間同期条件を満足する複数チャネルの行列を自動生成する行列楽譜処理法を提供する。
【解決手段】共通な音符粒子長を求める抽出処理と、音楽の時系列集合を時間周波数変換することによって生成される複数チャネルの周波数集合から等価な音符長を有する音符粒子集合を抽出し、要求されたチャネル数に分類する、音符粒子集合のクラスタリング処理と、小区間内の行数と音符粒子数が等価になるように生成される音符粒子の行列を生成する行列化処理と、隣接する時系列行間の同音程音符粒子の音符長を結合する処理を含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
複鍵チャネルを含む複数チャネルの採譜処理であって、
計算機が、
音符時系列のすべての音符粒子に共通な音符粒子長を求める抽出処理と、
音楽の音の波の時系列集合を時間周波数変換し、得られた複数チャネルの周波数集合から音符粒子集合を抽出し、要求されたチャネル数に分類する音符粒子集合のクラスタリング処理と、
前記抽出処理と前記クラスタリング処理に基づいて、前記音符粒子長単位ごとの複数チャネルの音符粒子集合の各行を行、各チャネルが、少なくとも、MIDI記号と前記音符粒子長の要素を含む前記複数チャネルを列とする行列であって、小区間内の行数と音符粒子数が等価となる行列を生成する行列化処理を含み、
前記音符粒子集合が前記小区間同期の条件を満たす行列となることを特徴とする行列楽譜処理法。
【請求項2】
計算機が、
前記行列の行方向に隣接する時系列行間の同音程音符粒子の音符長を結合して、前記小区間同期の範囲で、音符の長さを変更することにより、前記音符粒子集合から音符集合を生成する音符長変換処理を有し、
前記音符集合が前記小区間同期の条件を満たす行列となることを特徴とする、
請求項1記載の行列楽譜処理法。
【請求項3】
計算機が、
前記行列を表セル集合の展開型エクセル楽譜として生成することを特徴とする請求項1または請求項2記載の行列楽譜処理法。
【請求項4】
5線楽譜に対応する圧縮型エクセル楽譜の展開法であって、
計算機が、
列方向に、メロディ領域、和音領域、そして、繰り返し制御領域に区分する機能部と、
前記和音領域にある各和音記号を対応する4つの音符列に展開する和音展開処理部と、
前記繰り返し制御領域に存在する各繰り返し記号を分岐行記号と分岐先行記号の対に分類し、前記メロディ領域と前記和音領域に存在する音符集合において、展開処理のポインタが前記分岐行記号に対応する分岐行の位置にあるとき、前記ポインタが前記分岐先行記号に対応する分岐先行の位置に遷移したとき、前記ポインタの遷移に従って、遷移後に、読み出される部分音符集合を、前記分岐行の現在位置までに生成された累積部分音符集合に、追加するアペンド展開処理部と、
前記展開処理時において、複数チャネルの小区間で音符長の累積長が等価、そして、前記小区間にある行数と音符数が等価となるように、音符長0のダミー音符を小区間にある行に挿入するダミー音符の挿入処理部とを有し、
前記小区間同期の条件を満足しながら前記圧縮型エクセル楽譜を展開型エクセル楽譜に展開することを特徴とする行列楽譜処理法。
【請求項5】
前記展開型エクセル楽譜の生成時に、チャネル間に渡る列方向の書き込み処理を含み、前記展開型エクセル楽譜の読み出し時には、チャネルごとの行方向の読み出し処理を含むことを特徴とする請求項3または請求項4記載の行列楽譜処理法。
【請求項6】
計算機が、
前記展開型エクセル楽譜を標準のMIDI.csvに変換する変換部と、
前記計算機のデスプレィ上で、トラックリスト表示、イベントリスト表示、ピアノロール表示、自動5線楽譜表示のうち少なくとも1つを画面表示する処理部を含み、
前記展開型エクセル楽譜に従った音楽を演奏することを特徴とする請求項3または請求項4記載の行列楽譜処理法。
【請求項7】
計算機が、
回路ネットリストの記述に対応する発振器の回路変数を音の波として生成する回路シミュレーション部と、
自動採譜された前記展開型エクセル楽譜に記述された複数チャネルのMIDI情報と前記回路変数からの音の波とを結合してWavファイルを生成する生成部を有し、
前記展開型エクセル楽譜に従った音楽を演奏することを特徴とする請求項3の行列楽譜処理法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタル音楽、特に、音楽理解に関するものである。
【背景技術】
【0002】
音楽の音は、楽譜が作曲され、演奏され、そして、流される。音学は工学を含む。表現のための工学である。特に、混合された多重音の理解には、統計確率、時空間の構造、時間周波数の構造、同期、機械学習、調波、最適化、回路、ニューロ、通信、認識、歌唱言語の韻律、音素、知覚、発声など、いわば、非線形情報処理の解析を必要とする。楽譜は、時系列の音符集合である。音符集合の各音符は、音程、長さ、そして、大きさを有する要素である。音符の音程の周波数は一つであって、MIDI(Musical Instrument Digital Interface)番号に対応するが、楽器が奏でる音楽の音の波は、非線形で、ひとつの正弦波の基本周波数成分に加えて、可聴できる程の大きさの高調波成分を多く含む。いわば、音楽の音は、正弦波の混合波である。混ぜることは簡単であるが、混ぜた波から元の正弦波、すなわち、音符の音程、長さ、そして大きさを再現することはむつかしい。音源分離、混合音理解の難しさである。チャネル数が多くなればなるほどむつかしい。音楽の音の波から音符に対応する音程、長さ、大きさを検出する、いわば、多重周波数推定、楽譜自動生成(自動採譜)のむつかしさへの克服は技術の挑戦でもある。歌唱の言語理解、音素分解とも関係する、いわば、インタラクション性の高い音楽理解への挑戦である。
従来、楽譜が1チャネル(楽器音)のみである場合には、音楽の音の波、すなわち、音符集合の時系列をフレームごとに時間周波数変換し、フレーム内の基本周波数スペクトルをひとつ検出し、対応するMIDI周波数に変換する方法等が有効に利用されてきた。口笛、鼻歌、楽器の演奏から自動で楽譜を作成するソフト、ScoreCloudや、複数の楽器音を独立にそれぞれ複数のMIDIトラックに表示し演奏するソフト、Intelliscope、周波数の連続性を持つ音の集合からクラスタリングでひとつのMIDI周波数を生成するEasy Music Analysisなどが活用されている。また、複数トラックのMIDIの音符表現媒体として、制御記号の多いMIDI.csv、MIDI.mid(バイナリ)が汎用的に利用されている。従来、音楽の音の波に対応するひとつのチャネルに関する楽譜生成の技術は多く存在する。ひとつのチャネルである場合には、チャネル間の同期、特に小区間の同期取得の処理が不必要で、不完全ではあるが、音程と音符長を再現できる。テンポ処理は、一拍の長さ、すなわち、ビート(発音時刻)間隔の時間長を求める処理である。音量の時間変化のピークからビートあるいはテンポを検出する技術(非特許文献1)、音量変化のエネルギーから発音時刻を検出する技術(非特許文献1、3)が開示されている。音量変化の周期性により、その自己相関のピークを与える時間差から、テンポを統計的に探索する技術(非特許文献2)が開示されている。自動楽譜作成技術の特許文献として、基本周波数抽出、位相抽出、調波解析、最適化手法、誤り訂正法を組み合わせた方法(特許文献1)が開示されている。音楽データと楽譜記号データとを対応化させる技術(特許文献2)、楽譜音符を基準単位の音符に結合する結合処理の技術(特許文献3)が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許公開 US 2009―186818
【特許文献2】特許公開 2008−129508号広報
【特許文献3】特許公開 2002−258837号広報
【非特許文献】
【0004】
【非特許文献1】J. Bello, L. Daudet, S. Abdallah, C. Duxbury, M. Davies, and M. Sandler, “A tutorial on onset detection in music signals,” IEEE Trans. Speech Audio Process., vol. 13, pp. 1035 &#8211; 1047, 2005.
【非特許文献2】M. Goto, “An audio-based real-time beat tracking system for music with or without drum-sounds,” J. New Music Res., vol. 30, no. 2, pp.159&#8211;171, 2001.
【非特許文献3】Federic Patin, ”Beat Detection Algorithms”, Jun 07 2003, Math and Phisics.
【発明の概要】
【発明が解決しようとする課題】
【0005】
音楽の音の波は、時刻ごとの周波数成分集合の中に複数の音程成分、いわば、ピアノロール空間の複鍵チャネルを含み、その複鍵チャネル数は時刻ごとに異なる。単鍵チャネルは、一本指による鍵盤演奏に対応する単チャネルと定義され、複鍵チャネルは、複数本の指による同時鍵盤演奏に対応する複数チャネルと定義される。従来、1チャネルは、1楽器に対応する場合が多く、複鍵チャネルを含む複数チャネルのMIDI音符集合の行列楽譜を、小区間(小節を含む)同期条件下で、自動生成する処理はなかった。また、小区間の同期条件を満足させながら、複数チャネルの同音符長の音符粒子集合を生成し、それを異音符長の音符集合に変換する処理もなかった。理由は、音程粒子、音符長粒子の概念はなく、標準MIDIファイル(SFM)には、複数チャネルの小区間の同期イベントの概念、小区間の累積音符長の等価管理の概念がないため、そして、小区間の行数等価と音符数等価を条件とする同期記述による行列化処理の概念もなかったからである。そのため、採譜結果において、小区間同期記述を満足する複鍵チャネルをエクセル楽譜として展開できず、楽器音が内包する同時音程数の減少化現象が起きるという問題がある。さらに、汎用のMIDI.csvは、ONとOFFの音符イベント表現以外の多くの制御記号を含み、同期記述化される複数チャネルの同時列書き込み処理の概念がなく、同期記述のMIDI記憶媒体として活用されていないという問題がある。
【0006】
1つの側面において、本発明は、チャネル間秩序のある小区間同期記述を必要とする複鍵チャネルの採譜技術であって、音楽の同音符長の音符粒子集合への分解かつ展開により、同期記述の条件を満足する複数チャネルの行列、すなわち、空でない有効要素(セル)からなるエクセル表現として、音譜を自動生成する。
【課題を解決するための手段】
【0007】
複鍵チャネルを含む複数チャネルの採譜処理であって、
計算機が、
音符時系列のすべての音符粒子に共通な音符粒子長を求める抽出処理と、
音楽の音の波の時系列集合を時間周波数変換し、得られた複数チャネルの周波数集合から音符粒子集合を抽出し、要求されたチャネル数に分類する音符粒子集合のクラスタリング処理と、
前記抽出処理と前記クラスタリング処理に基づいて、前記音符粒子長単位ごとの複数チャネルの音符粒子集合の各行を行、各チャネルが、少なくとも、MIDI記号と前記音符粒子長の要素を含む前記複数チャネルを列とする行列であって、小区間内の行数と音符粒子数が等価となる行列を生成する行列化処理と、
前記行列の行方向に隣接する時系列行間の同音程音符粒子の音符長を結合して、前記小区間同期の範囲で、音符の長さを変更することにより、前記音符粒子集合から音符集合を生成する音符長変換処理と、
を有し、
本発明は、前記音符集合が小区間同期の条件を満たす行列となることを特徴とする行列楽譜処理法を構成している。
【発明の効果】
【0008】
本発明では、圧縮型エクセル楽譜は、小区間にて同期記述された5線対応の媒体で、PC演奏、PC保存、インターネット通信の容易なITC媒体となり、展開型エクセル楽譜は、複数チャネルの時系列音符集合の各チャネルの音符の音程、音符長、大きさが列方向に展開されたICT媒体であって、しかも、音楽の音の波からチャネル間秩序のある小区間同期の条件を満たす行列楽譜として自動生成され、複鍵チャネルを含む複数チャネルが採譜されるという効果がある。
【図面の簡単な説明】
【0009】
図1図1は、本発明の行列楽譜処理法の処理の流れを示す図である。
図2図2は、本発明の行列楽譜処理法の処理を実行する計算機(PC)のハードウェア構成を示す図である。
図3図3は、本発明の行列楽譜処理法の処理を実行する音楽プログラムの実行画像表示を示す図である。
図4図4は、従来の5線楽譜に使用されている一部の繰り返し記号の図である。
図5図5は、従来の5線楽譜に使用されている一部の繰り返し記号の図である。
図6図6は、従来の5線楽譜に使用されている一部の繰り返し記号の図である。
【発明を実施するための最良の形態】
【0010】
楽器を奏でることによって混合された音楽の音の波は、耳の蝸牛部分にある周波数振動子(有毛細胞)アレイの共鳴現象によって、基本振動波に分解され、脳に伝達され、認識される。脳は、楽譜情報を感覚的に復元している。計算機(マシン)は、音楽の音の波から楽譜情報をどこまで理解し再現できるだろうか? 音楽の音の波は、正弦波ひとつの基本周波数成分に可聴できる程の大きさを有する高調波成分が混合されている。音源生成の最も簡単な方法は周波数成分を多く持ち、様々な音色に使用される鋸波形、鋸波形よりも周波数成分が少なく丸い音がする三角波、Duty比の調整可能なパルス状の矩形波、非周期的なノイズ波形などを数学方程式によって生成することである。すでに確立された方法である。この方法は、自由度が小さく、生成できる種類と音色が制限される。制限されないほどの自由度を上げる方法は多く考えられる。例えば、多くのオシレータの回路構成を回路シミュレーションにて記述し、内包する回路の微分方程式を数値積分することにより複数の波形を生成する。この回路解析法は、ネットリスト設計による自由度が高く、複数の波形を混合するだけでなく、オシレータを複雑組み合わせることにより、様々な音をつくることができる。回路によるSound Dynamical ProgramをPC上で実行することになる。複数の線スペクトルを生成するコムフィルタ(Comb Filter)を回路で表現できる。カオス現象や概周期現象などを表現するアトラクタの形は音色に対応しないが、アトラクタに対する演算処理を使って可聴できる程の大きさのスペクトルに対応する音を生成する非線形情報処理も有効となる。音源によって生成された音の波は、楽譜に表現された各音符の音程、音符長、そして大きさの情報を含むMIDI情報と結合することにより、音符集合の音の波に変換される。
【0011】
MIDI情報のうち、音程に対応するMIDI番号(例えば、69)、MIDIアルファベット(MIDI番号69に対応するA音)あるいはドレミ表記は、総称してMIDI記号と呼ぶ。音符は、MIDI記号、音符長、大きさの集合である。MIDI記号は、ピアノ鍵盤番号に対応し、音符の音程(例えば、A音なら周波数は440Hz)に対応する。本発明のチャネルは、行(下)方向に展開する音符の時系列の集合として定義される。音程は、MIDI番号に対応するひとつの周波数であるので、ひとつのチャネルは、ひとつの音程変化に依存した単音に対応し、鍵盤よるピアノ演奏では、1指演奏、すなわち、単鍵チャネルとして定義される。10指演奏は、10チャネル演奏、すなわち、複鍵チャネルとして定義される。複数チャネルは、複鍵チャネルを含む。和音は、展開すると最大4つの音符から構成されるので4チャネルの複数チャネルである。また、メロディチャネルは、ピアノでは、単鍵チャネルに対応する独立したひとつのチャネルとして定義される。間欠に演奏されるメロディチャネルも休符の多い独立したひとつの単鍵チャネルとして定義される。どんな楽器でも、その音の波を採譜する場合、本発明では、音楽の音の波は同期記述の複鍵チャネルからなるピアノロールに写像される。どんな音でも、採譜先をピアノ楽譜と仮定すれば、複数チャネルという言葉は複鍵チャネルを含む意味で使われる。本発明の基本概念は、異種音程を有し、同期かつ等価な長さを有する音符粒子集合から音楽が生成されることである。
【0012】
展開型エクセル楽譜の生成時には、行列の複数チャネルは、チャネル間に渡る列方向に書き込まれ、生成された複数チャネルの行列は、チャネルごとに行方向に読み出される。
【0013】
図1は、本発明を実施するための行列楽譜処理法の処理、すなわち、図2の計算機10が実行する処理の流れである。本発明の主たる部分は、処理の流れ1の部分である。MIDI空間における圧縮型と展開型のエクセル楽譜の生成処理法を供給する。エクセル(主に、マイクロソフト・エクセルの表計算ソフトを想定)は、セル要素からなる表集合である。ここで、空でない有効セルを要素とする表、すなわち、空セルの要素を含まない行と列からなる2次元のセル集合を行列と定義する。有効な空セルを含めたセル集合を行列と定義することもできるが、容易性の範疇である。
【0014】
5線楽譜認識部100によって5線楽譜が認識される。その5線楽譜に対応する圧縮型エクセル楽譜は、生成処理部101にて、列方向に、メロディ領域、和音領域、そして、繰り返し制御領域に区分される。圧縮型エクセル楽譜の音符集合は、展開部102において、メロディ領域と和音領域に関し、繰り返し制御領域の各繰り返し記号の意味解析に従ったアペンド処理による展開と和音展開とによって展開される。結果として、繰り返し制御領域は削除され、展開型エクセル生成処理部108において、メロディ領域と和音領域は、行列表現、すなわち、展開型エクセル楽譜となる。展開は、ダミー音符Dによる同期記述の処理を含む。ここで、ダミー音符D(DはMIDI記号で代表されるが、MIDI記号、0の音符長、大きさから成る音符)のセルは、エクセル上では、空セルでない有効セルであって、音符長が0である無長無音を表現する。
【0015】
別な処理の流れとして、処理部103、104、105、106がある。展開型エクセル楽譜は、音楽の音の波から自動的に生成される。展開型エクセル楽譜は、音符時系列の複数チャネルの行列表現となる。この自動生成では、まず、Wavファイルとして入力された音楽の音の波の時系列集合は、時間周波数変換部103にて、周波数集合に変換される。Wavファイルは、ステレオである場合、左音L(t)と右音R(t)に分けてダンプ化され、それぞれが周波数変換TによってF(L(t))とF(R(t))となる。これらが処理対象となる。場合によっては、演算を記号**としたとき、時間域演算L(t)=L(t)**R(t)後の周波数変換F(L(t))、あるいは、周波域演算F(L(t))=F(L(t))**F(R(t))の結果を処理対象としてもよい。テンポ解析部104にて、周波数集合から、音符時系列の平均的周期性の仮定により、すべての音符に共通な音符長を求める解析が実行される。共通な音符長を有する音符粒子集合は、複数チャネルの音符粒子の音符長が等価であるから、同期条件が満される集合である。複数チャネルの各音符の音符長が等価、または、各チャネルの行方向の小区間内の累積音符長が等価となるとき、それぞれ、行の同期、あるいは小区間の同期といい、書き込まれた結果を同期記述という。小区間は、5線楽譜の小節に相当する同期区間であるが、本発明では、始点と終点において時間同期する音符部分集合の時間小区域と定義される。そして、クラスタリング部105にて、音符の音程集合を抽出し、要求されたチャネル数の音符粒子集合に分類する、音符粒子集合のクラスタリング処理(k−means法等)が実行される。すなわち、音符時系列行と複数チャネル列からなる行列の音符粒子集合106を求める。各チャネルは、MIDI番号、音符粒子長の2列を必須とし、必要であれば、さらに、大きさの要素からなる3列で表現される。複数チャネルの基本的なエクセル楽譜が生成される。そして、音符長結合部107にて、行方向に隣接する時系列行間の同音程音符粒子の音符長を結合することにより、音符の長さを変更する。音符粒子集合から音符集合への変換である。音符集合は、小区間同期記述の条件を満たす行列として生成され、展開型エクセル楽譜108となって、記憶部11に保存される。これが複数チャネルの自動楽譜生成、自動採譜である。計算機10が自動採譜された展開型エクセル楽譜108を5線楽譜に変換するのは容易である。
【0016】
流れ101と102の処理によって、圧縮型エクセル楽譜、あるいは、そえを展開してできる展開型エクセル楽譜は、5線楽譜の音符集合を完全に包含する。流れ103、104、105、106、107の処理によって、音楽の音の波から自動生成される展開型エクセル楽譜は、5線楽譜の音符集合を不完全に包含する。複数チャネルは不完全な包含となるが、自動採譜による生成音は、小区間の同期記述、すなわち、秩序ある、非同期雑音がない、5線上に音符混じりがない、低音高音域が明確に分離された、編曲音楽として、ジャズ的音色価値を有する。
【0017】
音楽の音は、MIDIシステムを使って生成できる。展開型エクセル楽譜108がMIDI.csv化部110にてチャネルの行方向展開型MIDI.csv(Format 0)に変換される。そして、複数チャネルの音源付き演奏が、処理部114にて、メロディのトラックリスト表示、ピアノロール表示、イベントリスト表示、5線楽譜自動表示され、音の再生部115にて演奏される。MIDI.mid(バイナリ)への変換部113を介して演奏される場合もある。複数チャネルの数は、音符粒子集合のクラスタリング処理のクラスタ数によって決まる。ステレオの左音と右音は、それぞれが複数チャネルとなる。MIDI楽器の音が入力される場合、例えば、1ポート、楽器数に対応する16チャネルのMIDI入力端子のひとつのチャネルからその音が入力される場合でも、その音は、本発明では、複数チャネル(複数音程、複鍵チャネル)への採譜処理対象となる。
【0018】
また、生成部108にて生成された展開型エクセル楽譜の複数チャネルの各MIDI情報は、MIDItoWav部109にてWavファイルに変換される。そのためには、各MIDI情報と回路シミュレータ(SDP)111から生成される回路変数とがWav音源生成部112にて結合される。再生可能なWavファイルとなる。以上の処理の流れは、図2の計算機10によって実行される。
【0019】
図2の計算機10は汎用PCである。記憶部11に命令とデータが記憶される。逐次、分岐、読み出し、書き込み等の命令に従って制御部13が制御し、演算部12がその命令に関する算術論理演算を実行する。制御部13の制御によって、記憶部11内のデータは入力部14から入力され、出力部15から出力される。無線を含むネットワーク関係の処理も入力部14と出力部15に含まれる。複数PCによる無線同期された多重音演奏も可能となる。
【0020】
本発明の行列楽譜処理法は、主として、C言語とC++言語をコンパイルして実行できる環境、例えば、マイクロソフト社が開発したVisual Studio の環境下で開発され、任意のユーザが任意の場所にて実行できる実行形式のファイルとしてまとめられる。
【0021】
「生成」「記述」「表現」なる言葉は、計算機10が記憶部11のデータ構造、すなわち、エクセルのセル行列として情報を書き込み、保持し、その情報を読み出す場合の計算機処理を意味し、「自動」は、人間の行為を除外する処理を意味する。「演奏」も計算機10が実行する。
【実施例1】
【0022】
5線楽譜から変換してできる圧縮型エクセル楽譜の処理法について述べる。圧縮型エクセル楽譜の生成と展開はそれぞれ生成処理部101と展開部102において実行される。本発明は、計算機10の5線楽譜の認識処理を介して得られるが、人手による認識入力に対するエクセル支援を計算機10が行う方式でもよい。この場合、5線楽譜は、入力されないが、エクセルのデータ構造を含むエクセル支援情報が処理部101に入力される。計算機10の処理によって、圧縮型エクセル楽譜のフォーマットに対応するデータ構造が計算機10の記憶部11に格納され、その後、展開型エクセル楽譜に展開されることが重要である。また、定義された圧縮型エクセル楽譜は、計算機(PC)の保存媒体、インターネット等の通信媒体となる、そのことが重要である。
【0023】
5線楽譜は縦(行)方向に同時に演奏される複数のチャネル(トラック)を有し、人間、あるいは、計算機などの機器(マシン)が、横(列)方向に並んだ音符列を読むことにより、時系列音符集合が演奏される。本発明のエクセル楽譜は列(横)方向に複数チャネルが構成され、行(縦)方向にセルを読むことにより、時系列音符集合が演奏される。5線楽譜は、音符記号の5線上位置の情報による音程とq分音符(例えば、4分音符)による音符長を表現する。演奏者(人間)にとってたいへん読みやすい視覚的データ構造となっている。5線、音符記号、そのものが視覚的記号であるが、繰り返し記号も視覚的記号となっている。5線楽譜の特徴として、多種多様な繰り返し記号の記述があり、時系列な音符集合の特定部分集合に対する重複表現が最小化されている点がある。その特定部分集合の繰り返し処理あるいはスキップ処理は、主に、演奏者(人間)の行為となる。計算機が情報の読み書きを行う場合は、視覚的データ構造である必要性はなく、むしろ、記憶の内容を指定するポインタ(アドレス)によって指定される文字数値要素による行列型データ構造を必要とする。本発明の圧縮型エクセル楽譜は、行列型データ構造であり、メロディ領域M、和音領域Wからなる行列と、空セルを含む繰り返し制御領域Rのセル集合からなる5線楽譜に対応するデータ構造である。
【0024】
圧縮型エクセル楽譜は、音楽セル集合MTであって、そのi行目は音楽行ベクトルMiを形成する。音楽行ベクトルMiは、メロディ領域M、和音領域Wおよび繰り返し制御領域Rの3つの部分ベクトルに分割される。メロディ領域Mと和音領域Wは、有効セルのみからなる行列であるが、繰り返し制御領域Rには、繰り返し記号のあるセル以外はすべて空(NULL)セルとなる。
【0025】
音楽セル集合MTのメロディ領域Mにおいて、i行目にあるj番目のメロディ音符はM(i,j)と表現され、音符M(i,j)の音程(MIDI記号)をm(i,j)、音符長l(i,j+1))に対応するq分音符をq(i,j+1)、正規化された音の大きさ(振幅)をa(i,j+2)とすれば、音符M(i,j)は
M(i,j)= M(m(i,j),q(i,j+1),a(i,j+2));
j=1,4,7,・・・,3mm+1
として表現される。ここで、mmはメロディ数である。j=3mm+2の列には領域デリミタのセミコロン;が記述される。和音領域Wにおいて、和音(例えば、Am)のコード記号C(i,j)と音符長l(i,j+1)、 正規化された音の大きさをa(i,j+2)とすれば、
和音W(i,j)は、
W(i,j)= W(C(i,j),l(i,j+1),a(i,j+2));
j=3mm+3,3mm+4,3mm+5
として3列で表現される。決められた大きさaである場合には、
a(i,j+2)=a
が自動挿入されるので、表面的には、和音記号列C(i,j)とその音符長列l(i,j+1)の2列となる。2列の場合、j=3mm+5の列には領域デリミタのセミコロン;が記述される。3列表現の場合は、j=3mm+6の列にセミコロン;が記述される。和音が展開されると、和音領域Wは、メロディ領域Mに変更され、4つの音符列{M(i,j)}で表現されるので、チャネル数cは、c=mm(メロディ数)+4となる。
【0026】
繰り返し制御領域Rにおいて、繰り返し記号をR(i,j)とすれば、
R(i,j) ; j>3mm+5 または、j>=3mm+5
として表現される。繰り返し記号R(i,j)が存在しない行は、空セルとするので、繰り返し制御領域Rにおけるほとんどの行が空白R(i,j)=NULLとなる。また、i行目に存在する繰り返し記号R(i,j)は制御領域Rであれば、i行目のどこでもよい。
【0027】
以上の定義により、音楽行ベクトルMiを形成するi番目の行は、領域区別のデリミタ記号のセミコロン;を使用して
Mi={M(i,j1);W(i,j2);R(i,j3)}
と表現される。j1,j2,j3は、列番号である。
【0028】
圧縮型エクセル楽譜の空間では、音楽セル集合MTは、小区間の同期記述によるダミー音符D(音符長0,T0の表記)の挿入処理と行列化処理を必要とする。例えば、音楽セル集合MTを具体的に圧縮型エクセル楽譜として表現すると、小区間すなわち小節の区間において、表1のようになる。
【表1】
チャネル数cは、メロディが2、和音は展開されれば4なので、6である。1列目はメロディ1のMIDI番号に対応するアルファベット記述で、ピアノ鍵盤のオクターブ番号(C4の4)が付加される。オクターブ番号なしはデフォルトの3を意味する。1列目は、ドレミ表記またはMIDI番号表記(Aはラ音で、69)でもよい。2列目はq分音符の番号qである。音符長の時間表記の場合、Tの接頭字が付加され秒表現となる。3列目は正規化された音の大きさの表現である。4、5、6列はメロディ2であって、同様に表現されるが、HHは休み記号となっている。休み音符HHは、音符長は0でない場合が多いが、この例では、音符長0であるので、ダミー音符Dとなる。すなわち、音符長0の音符HHは、行数の数と音符数の数が等価になるように挿入される。また、音符長T0となっているE4もダミー音符Dである。ダミー音符Dをセルに挿入することによって、行列化される。行数と音符数の数が等価になることによって、メロディ領域Mと和音領域Wが行列化される。7行目はセミコロンであって、メロディ領域Mの終わりと和音領域Wの始まりを意味する。8行目は和音のアルファベット記述(例えば、Am)である。9行目は、和音の大きさ、10行目はセミコロンであって、和音領域Wの終わりと繰り返し制御領域Rの始まりを意味する。GE(Go End)が繰り返し記号で、それ以外のセルは空セルである。メロディ領域Mと和音領域Wは、有効セルからなり、無効セル(NULL)のない行列表現となる。
【0029】
ダミー音符Dの挿入による同期記述と行列化処理を実行することにより、音楽セル集合MTは、時系列の音楽行ベクトルMiの集合
MT={Mi|i=1,2,・・・,N}
として定義される。メロディ領域Mと和音領域Wは、ダミー音符Dを含む行列、すなわち、小区間において、行数の数と音符数が等価なセル集合として表現される。Nは、チャネルの音符数である。
【0030】
小区間同期記述と行列化処理の必要性は、エクセル、すなわち、セル集合体によって、複数チャネルの5線楽譜と等価な論理動作(小節間同期のある複数行音符時系列)を表現し、認識処理を除き、人間が5線楽譜を読む動作と計算機がエクセル楽譜を読む動作を等価にするところにある。逆に、例えば、各チャネルの音符を上方向に詰めたエクセル表現であるとすると、特定な行の列方向に記述された音符集合は、5線楽譜表現と異なり、無相関、無秩序な音情報となる。有効セルのセル集合を行列としているので、領域MとWは、要素(セル)がすべて空(NULL)でない行列となり、どのチャネルも同じ行数Nとなる。
【0031】
音符長l(i,j)がチャネル間で異なる場合、同期記述と行列化処理のために、ダミー音符Dが挿入される。音符M(i,j)=M((m(i,j),q(i,j+1),a(i,j+2))の同期記述は、計算機10による記憶部11への書き込み処理である。同期記述は、各チャネル間において、同時読み出し(演奏)される小区間内音符集合の音符長の累積時間長が等価、音符数が等価、行数が等価、そして、各小区間の始点終点時刻が同期するように音符長0のダミー音符Dを書き込む(記述する)ことである。
【0032】
今、エクセルの小区間内セルの要求行数をTqとする。Tqは小区間音符数が最大となるチャネルのその行数である。これを音符数最大小区間と呼ぶ。音符数最大小区間以外の特定なチャネルのその小区間内における音符数をsとするとき、s<=Tqとなる。s個のq分音符q(i,j)の部分行集合に対して、
Tq−s
個のダミー音符D(音符長0)をそのチャネル小区間に挿入すれば、小区間内音符集合の行数はどのチャネルもTqに統一される。ダミー音符Dは任意のMIDI記号と音符長T0を含む無長音符である。ダミー音符Dは音符長0の休み音符(MIDI記号が0またはHH(非標準)でもよい。同期小区間内であれば、どの行に挿入されてもよい。すべての小区間に対してこの同期記述のルールを適用すれば、音楽セル集合MTのメロディ領域Mと和音領域Wは,エクセル上でセル表現可能な行列として表現できる。すべてのチャネルの音符数は統一されNとなる。
【0033】
例えば、表2の圧縮型エクセル楽譜を使って同期記述を説明する。
【表2】
1列目は、メロディ1のMIDIアルファベット記号列である。2行目が音符長列であって、最後の2行が音符長0(すなわち、時間表現T0)のダミー音符Dが存在する行となっている。4列目はメロディ2のMIDIアルファベット記号列である。5列目が音符数最大小区間の音符数Tq=6の行表現であって、2分音符、16、16、8による合計4分音符分、次の8、8による合計4分音符分で、合計すれば、全音符分の4s(4分音符が1秒とする)の累積音符長4sに対応する。1小区間の累積音符長となっている。1列目は、最初の4行で、1小区間の累積音符長4sを満たすが、最大音符数はTq=6なので、s=6−4=2の2行分をダミー音符DのMIDIアルファベット記号=G4、HHを挿入し、音符長T0としている。大きさは、それぞれ、0.7、0.6となっているが、音符長はT0であるから無音となる。8列目の和音Emの音符長はすでに全音符に対応する4sとなっているので、2行目以降のHH(休み記号)が音符長0(T0と等価)のダミー音符Dとして挿入されている。
【0034】
今、小区間内の要求累積音符長(時間)をLとする。エクセルの小区間内セルの要求行数をTqとすれば、Tqは音符数最大小区間の音符数であるが、一般的には、それ以上であればよい。特定なチャネルのその小区間内における音符数をsとするとき、s<=Tqとなるs個のq分音符q(i,j)を選択する。そのとき、s個の累積音符長をΣl(i,j)で表現すると、
Σl(i,j)+0*(Tq−s)=L
を満足する。累積音符長が0*(Tq−s)になるように、ダミー音符D(音符長0)を(Tq−s)個、チャネルの小区間に挿入する。小区間内音符集合の行数はどのチャネルもTqに統一される。ダミー音符Dは休み音符(HH)でもよいが音符長は0である。小区間内であれば、どの行に挿入してもよい。すべての小区間に対して同期記述を適用すれば、領域MとWは、エクセル上でセル表現可能な行列で表現できる。
【0035】
圧縮型エクセル楽譜は、繰り返し制御に従った部分音符集合のアペンド処理とスキップ処理により,展開型エクセル楽譜に展開される。エクセルの音符セル集合、あるいは、その部分集合の行番号iに対応するポインタがある。そのポインタによって、各チャネルの音符Miの時系列位置(行番号)が指定される。繰り返し制御領域Rにある繰り返し記号として、曲の始点から終点方向に、始点記号Sと終点記号Eが定義される。その記号は、方向の意味も含めて、予め定義されている。終点記号Eの行(分岐行)にある音符から始点記号Sの行(分岐先行)にある音符に、すなわち、Backward方向に、ポインタが戻る(無条件ジャンプ命令の)場合には、終点記号Eの行(分岐行)までの途中に他の制御記号Conがなければ、始点記号Sの行(分岐先行)にある音符から、終点記号Eの行(分岐行)にある音符までの遷移後の部分音符集合が,現在のポインタP(E)の行(分岐行)にある音符までの累積時系列音符集合に、アペンドされる。制御記号Conがあれば、始点記号Sの行(分岐先行が分岐行に変化)にある音符から、制御記号Conの行(分岐先行)にある音符までの部分音符集合が,現在のポインタP(E)の行(分岐行)にある音符までの累積時系列音符集合に、アペンドされ、その後は、制御記号Conの意味定義に従うことになる。始点記号Sの行(分岐行)にある音符から終点記号Eの行(分岐先行)にある音符に、すなわち、Foreward方向に、ポインタが進む(無条件ジャンプ命令の)場合には、始点記号Sの行(分岐行)にある音符の次の音符から終点記号Eの行(分岐先行)にある音符の前の音符までの部分音符集合は、現在のポインタP(S)の行(分岐行)にある音符までの累積時系列音符集合に、アペンドされずに、スキップされる。すなわち、終点記号Eの行(分岐先行)にある音符のそれ以降の時系列音符集合の始点Eに、ポインタが遷移される。繰り返し制御領域Rに存在する各繰り返し記号は、分岐行記号のある分岐行Aと分岐先行記号Bのある分岐先行Bの対に、分類される。このとき、メロディ領域Mと和音領域Wに存在する音符集合において、展開処理のポインタが、分岐行記号のある分岐行Aの位置にあるとき、そのポインタが、分岐先行記号のある分岐先行Bの位置に、遷移する。AからBへの遷移である。アペンド処理は、そのポインタ遷移に従って、AからBへの遷移後に読み出される部分音符集合を、分岐行記号のある分岐行Aの現在位置までに生成された累積部分音符集合に、追加する処理となる。なお、スキップ処理は、ポインタ(アドレス)のAからBへの遷移処理と等価であるから、読み書き処理はない。
【0036】
多種多様な繰り返し制御記号の始点記号Sと始点記号Eは、ペアになっている場合が多い。5線楽譜の標準ペアとして、2重線||とコロン:と、コロン:と2重線||がある。それらに対応する始点記号Sと終点記号Eがある。そのコロン:と2重線||に対応する終点記号Eの曲始点方向に部分音符集合の始点位置に、F1(制御記号)があって、その2重線||の直後に、F2(制御記号)がある場合、コロン:と2重線||に対応する終点記号Eの行から2重線||とコロン:に対応する始点記号Sのある行に戻って繰り返される。このとき、F1からF2の音符の前音符までの領域に含まれるその部分音符集合をスキップし、F2のある行の音符にジャンプする制御となる。この場合は、2重線||とコロン:に対応する制御記号Sの行にある音符からF1の行の直前にある行の音符までをアペンドし、その後、F2(制御記号E)の行にある音符にジャンプする制御となる。また、5線楽譜を使って説明すれば、例えば、D.C.(制御記号E)は、da Capo(最初から)の略で、曲の最初(制御記号S)に戻って再度処理され、「終わり」の意味の繰り返し記号Fine(制御記号E)まで処理される。Fineのかわりに図4の記号を使うこともある。D.S.(制御記号E)は、dal segnoの略で、図5の記号(制御記号S)に戻って再度処理される。そして、To Coda記号(制御記号S)から図6の記号(制御記号E)に分岐するように処理される。この記号は、VIDE「見よ」の意味で、これがあるときは、時として、その記号(制御記号S)から次の同じ記号(制御記号E)までを飛ばして、遷移後の部分音符集合がアペンドされる場合がある。このような場合でも、本発明では、5線楽譜のそれらの繰り返し記号に対応する制御記号SとEが定義され、エクセルの制御領域Rの適当なセルに挿入される。それらの記号の意味解析に従った無条件ジャンプ命令によるポインタの遷移処理を実行すれば、音符集合のアペンド処理(または、スキップ処理)によって、圧縮型エクセル楽譜は展開型エクセル楽譜に連続した時系列音符集合として展開される。
【0037】
方向制御は、多種多様で、その数は膨大である。方向制御のすべてを表現した方向タイプをデータ構造として記憶することはできない。本発明では、ポインタの現在位置までに集計された累積部分音符集合に、その時点に現れた制御記号の意味に従って、ポインタ遷移後の次の部分音符集合を、アペンドし、再び現在位置のポインタとする。いわば、本発明の処理体は、部分音符集合の再帰機能的アペンド方式に従う制御プログラムである。展開時は、常に、ダミー音符Dの挿入処理により、同期記述の条件は満たされる。
【0038】
繰り返し制御による展開時には、和音の同時音符集合への展開も実行される。基本的には、記憶部11にある各和音記号(例えば、Am)の文字と圧縮型エクセル楽譜上の和音領域Wにある和音記号(Am)との一致処理で、特定された和音を構成する4個の音符列が4列として展開される。
【0039】
圧縮型エクセル楽譜における各行ベクトルMiは展開処理、すなわち、繰り返し展開と和音展開が実行されると、結果として、展開型エクセル楽譜の音符集合は、同期記述を満足し、
Mi={M(i,j)|j=1,4,7,・・・,3*(c−1)+1};
i=1,2,・・・,N
と表現され、N*(3*c)の行列に変換される。以降、この3列表現が代表として使われる。ここで、
M(i,j)=M(m(i,j),q(i,j+1),a(i,j+2));
j=1,4,7,・・・,3*(c−1)+1
である。cはチャネル数、Nはチャネルの音符数である。
【0040】
すなわち、展開型エクセル楽譜は、2次元集合
MT={M(i,j)|i=1,2,・・・,N;
j=1,4,7,・・・,3*(c−1)+1

として行列表現される。和音領域Wの展開後の和音チャネルの各行は音符長および大きさは同じ値となる。同時演奏により和音として聞こえることになる。デフォルトの展開型エクセル表現では、メロディの2チャネル、和音の4チャネルとし、合計6チャネルで構成される。生成された展開型エクセル楽譜を読み出し(演奏)する場合は、各チャネルは縦読み、すなわち、行方向処理を基本とする。
【0041】
同期記述を含む圧縮型エクセル楽譜の生成処理は、5線楽譜からの変換処理によって行われる。重要なことは、演奏の読み出しはチャネルごとの行方向であるが、生成の書き込みは、複数チャネルに渡って列方向であるということである。本発明では、複数チャネルの小区間の同期イベントの概念、小区間の累積音符長の等価管理の概念がある。小区間の行数等価と音符数等価を条件とする行列化処理の概念がある。
【0042】
計算機10を使って複数チャネルを同時演奏し、これを人間の耳で聞いたとき、同時音が正しく聞こえるためには、同期した始点行から終点行までの音符が、同時に読み出される必要がある。同期音符集合として保障されるべきものは、小節を含む小区間とチャネル全体である。読み出し処理は、展開型エクセル楽譜における各チャネルの1行目からN行目までを行方向(縦)に読むことを基本とし、それをチャネル数cだけ列方向に繰り返ことを基本とする。すなわち、各チャネルの読み出しは縦読み原則である。読み出した音符集合M(m(i,j),l(i,j+1),a(i,j+2))は、音源生成時には、サンプリング周波数fcの離散時刻tの各音符の波形関数
F(t, M(m(i,j),l(i,j+1),a(i,j+2)),x(i,t))
に変換される。ここで、x(i,t)は音源の波形変数である。
【0043】
波形変数x(i,t)は、回路シミュレーション上で設計されるオシレータ(発振器)の内部に内包する回路方程式から生成される変数である。回路シミュレーションによる音源生成である。x(i,t)は、オシレータの発音構造や共鳴構造を含む非線形現象の固有的な音色の波、すなわち、物理モデル音源からの変数である。回路シミュレーションによる音源生成は生の楽器だけでなく、実在しない楽器の音も作成することが可能である。例えば、回路として構成されたコムフィルタ(Comb Filter)は、その周波数特性が一定間隔のスパイク状になるフィルタで、多様な音色を生成する。周期倍周期によるカオス発振器では、そのアトラクタの周波数成分の振幅は複数のスペクトル状にはならないことが多い。しかし、例えば、回路変数の差分を複数回実行すると、周波数領域において、スパイク状の振幅が複数個生成でき、多様な音色を生成する。標準MIDIシステムに内蔵されているデフォルト音源を利用する場合には、展開型エクセル楽譜を標準のMIDI.csv,MIDI.midファイルに変換する処理が必要となる。
【0044】
圧縮型エクセル楽譜を展開した展開型エクセル楽譜は、複数チャネルの各チャネルに含まれる音符数Nが等価になる。小区間同期記述を満足する行列である。複数チャネルは、5線楽譜の音符集合を完全に包含する行列となる。
【0045】
展開型エクセル生成処理部108において、5線楽譜の音符集合を完全に包含する行列の展開型エクセル楽譜を直接自動で生成する場合もある。このとき、各チャネルの各小区間の行数と音符数が等価になるように、必要ならば、特定なチャネルの小区間にダミー音符Dが挿入される。この挿入処理によって小区間同期記述が確立する。小区間同期記述によって、各チャネルの音符数Nはどのチャネルも等価となる。結果として、音楽セル集合MTはN*(3*c)の音符行列で表現されることになる。
【実施例2】
【0046】
展開型エクセル楽譜は、音楽の音の波から自動的に生成される。自動採譜である。自動生成では、まず、音楽の音の波の時系列集合Wavファイルを時間周波数変換部103にて周波数変換すれば、時系列化された周波数集合が生成される。テンポ解析処理104は、周波数の音符時系列の平均により、すべての音符に共通かつ等価な音符長を求める。クラスタリング処理105は、音符の音程集合を抽出し分類する。それらの結果を使って、音符粒子の時系列行と複数チャネル列からなる行列、すなわち、音符粒子集合を音符粒子集合部106にて求める。各チャネルは、MIDI番号、音符粒子長、および大きさの要素からなる3列で表現される。そして、音符長結合部107にて行方向に隣接する(行間に休止無音がない)時系列行間の同音程音符粒子の音符長を結合することにより音符の長さを変更する。音符粒子集合から音符集合への変換である。行方向に近接する(行間に有長休止無音がある)時系列行間の同音程音符粒子の音符長は連結されない。抽出された音符集合は、展開型エクセル生成処理部108にて小区間同期の条件を満たす行列として展開型エクセル楽譜となる。小区間は、元の作曲楽譜にある小節とは異なる。小区間の同期記述の概念は満たされる。ダミー音符Dの挿入処理は不必要で、常に、チャネル間秩序のある小区間同期記述を満たす空間での変換処理となる。これが本発明の自動楽譜生成、自動採譜である。
【0047】
展開型エクセル楽譜の自動生成について詳細に述べる。アナログ空間Saにおける1つの音の波をRMaとする。RMaをAD変換してできるデジタル空間Sdにおける音をRMdとする。すなわち、音の波形RMaを実サンプリング周波数fRでサンプリングしたとき、離散時刻tdごとに生成された音要素の集合がRMdとして定義される。音の波形RMaに対するAD変換あるいは音の物理現象に対する数値積分時に使われる実サンプリング周波数fRは、例えば、音楽サンプリング周波数fc=44,100Hz(あるいはそれよりも高いHigh Resolutionの周波数)よりも大きい高周波数あるいは小さい低周波数である。しかし、音楽で利用される時間tは音楽サンプリング周波数fcで離散化したときの離散時刻である。実サンプリング周波数fRの離散時刻は、音楽サンプリングfcの離散時刻tに写像される。音楽サンプリング周波数fcによって定義されるデジタル空間Mdにおいて、離散時刻tの音楽データの集合、すなわち、時間周波数変換部103に入力されるWavファイルは、デジタル空間Mdにおける音楽である。音楽サンプリング周波数fcのサンプリングによって得られた時間域Tの音楽である。その音楽は、ステレオ音楽のWavファイルとして、左音と右音の各ダンプ情報として記憶部11に格納され、採譜処理される。
【0048】
音楽のWavファイルの各ダンプ情報に対して、時間周波数変換部103にて時間周波数変換Tを実行する。得られる周波数の時系列集合をFMdとする。FMdの各要素の周波数成分は必ずしもMIDI音符の音程に対応するとは限らず、むしろかなり異なるものである。FMdは1個の周波数時系列であるが、離散時刻tにおける振幅が大きい周波数成分は複数ある。その周波数成分数に等しい数の音程(その周波数成分に最も近いMIDI周波数(音程))があると考えれば、音程に対応する音符もその数に等しい数だけ存在することになる。すなわち、採譜のための処理103、104、105、106、107の目的は、時間周波数変換Tにより生成されたFMdの各要素を、最も確からしい音符M(i,j)の音符集合
Mi={M(i,j)|j=1,4,7,・・・,3*(c−1)+1}
に変換することである。ここで、音符M(i,j)の音程m(i,j)に近い周波数成分は、時間周波数変換処理Tにより導出されるが、周波数音程変換を必要とする。音符M(i,j)の大きさa(i,j)は、時間周波数変換処理Tにより導出される。大きさa(i,j)は、変換処理Tによる周波数成分の複素数における実部と虚部の2乗和の平方根である。音符M(i,j)の音符長l(i,j)は、音楽サンプリング周波数fcによってサンプリングされた離散時刻tの数によって定義される秒単位の長さである。チャネルの定義は、単鍵チャネルである。各離散時刻にc個の音程があると仮定して、本発明は、c個の複鍵チャネルを同期記述の条件下で生成する。採譜処理の問題は、チャネルの音符集合Miが未知、特に、音程m(i,j)が未知、チャネル数cの数が未知、チャネル内の音符の音符長l(i,j)が未知であることである。
【0049】
今、チャネル数cは、クラスタリング部105によるクラスタリング処理において、クラス数と等価にする。例えば、6と決める。音符番号iは音符時系列のi番目の音符を特定するインデックスである。音符番号iの成分Miの要素M(i,j)は、音符番号iのj列目の音符である。本発明では、さらに、音楽
MT={M(i,j)|i=1,2,・・・,N;
j=1,4,7,・・・,3*(c−1)+1

内の音符M(i,j)の音符長l(i,j)も固定とする。音符長l(i,j)はテンポ解析部104で求められる。音符粒子集合部106が、音符粒子の時系列行と複数チャネル列からなる行列、すなわち、音符長が等しい音符粒子集合を求める。すべての音符粒子の長さは等価である。音符長結合部107の処理によって、小区間の同期記述を満足しながら音符粒子の長さが変更され、各チャネルの音符数はNとして固定化される。
【0050】
音符M(i,j)のMIDI番号をm(i,j)、音程周波数をf(i,j)、音符長をl(i,j+1)、 正規化された音の大きさをa(i,j+2)とすれば、音符M(i,j)は、
M(i,j)=M(m(i,j),l(i,j+1),a(i,j+2))
として表現される。音程周波数f(i,j)とMIDI番号m(i、j)との対応関係は、次式で定義される。
【数1】
ここで、基準となる69はデフォルトのA音のMIDI番号で、440は、A音の周波数(Hz)である。音符M(i,j)のMIDI番号m(i,j)に対応する音程周波数f(i,j)は、単位時間の音符波形の繰り返し数に対応する。音程周波数f(i,j)はひとつなので、逆フーリエ変換(IFFT)を実行すれば、音符M(i,j)は、周波数f(i、j)の正弦波となるが、音符M(i,j)そのものは、音符パルス波であるので、その時間域Tにおける陽的表現は複雑である。また、音符M(i,j)の正規化された音の大きさa(i,j+2)は、FFT変換Tの複素数における実部と虚部の2乗和の平方根に対応する。音符長l(i,j+1)は音符M(i,j)の始点時刻から終点時刻までのサンプリング点数に(1/fc)を掛けた長さであるが、個々の音符M(i,j)の音符長l(i,j+1)を混合波から求めることは非常に難しい。そこで、複鍵チャネルにおける音符粒子の音程(MIDI周波数)の音符長(平均時間)をテンポ解析部104にて求めることが重要となる。
【0051】
FFT処理を含むテンポ解析について説明する。テンポ解析部104のテンポ解析によって、楽譜の音符粒子集合のすべての音符粒子に共通な音符長を求める。解析は、抽出、すなわち、1分間の拍数BPM(Beats Per Minute)をWavファイルから抽出することである。抽出は、時系列情報の統計処理、FFT、畳み込み、相関などの信号処理を必要とする。人間は、リズムを理解するが、計算機10は、音のエネルギー(音量、振幅値の2乗)の差分情報から生成する。この差分情報は、周波数サブバンドの帯域分割ごとに生成されるべきである。各音源(楽器)の周波数帯域が異なるからである。そして、ステレオ音楽であれば、左音と右音ごとに生成される。次の解析は、帯域の分割数分実行される。
【0052】
各サブバンド帯域において、先ず、サンプリング周波数をfc=44,100Hzとし、Wavファイル(例えば、Data Size = 43,057,152)をフレーム数DN(例えば、4096*2)に分割し、フレームごとの音量(平均エネルギー)を次式に従って求める。
【数2】
ここで、D(n)は フレーム内のn番目のデータの振幅値である。また、例えば、sizeof(short)=8とし、 Nf=Data Size/sizeof(short)/2/DNは、フレーム数(例えば、1314)とする。音量
【数3】
は、m=0,1,・・・,Nf−1番目の各フレームの音量(平均エネルギー)である。解析時間は、フレーム数Nf(1,314)*フレーム内サンプル数(DN*(1/fc))=244,088,163である。DNは各フレームのサンプリング数に対応するので、フレームの長さLfは
Lf=DN/fc(0.1857s)
で一定とする。
【0053】
次に、隣接するフレームの音量増加量を求める。m番目のフレームの音量をX(m)としたとき、減少する場合は0とし、増加差分、
DX(m)= X(m) &#8211; X(m−1)
を求める。その増加差分DXの周波数成分をテンポ解析部104内にて求める。m番目のフレームの音量の増加差分DX(m)が時間域のデータである。また、フレームのサンプリング周波数をfsとしたとき、BPM(Beats Per Minute)、すなわち、1分間(60s)に刻む拍数がテンポ解析における周波数の定義となる。周波数域の定義は、BPM空間域となる。すなわち、BMP値を60から240まで変化させる。そして、各BPM空間の関数DX(m)対するFFTの実部Rと虚部Qを次式から導出する。
【数4】
ここで、fbはBPM値/60、fs=(1/Lf)はサンプリング周波数fc/(フレームのサンプル数DN)である。実際は、窓関数による波形端部の補正処理を含む。
【0054】
音符粒子の音符長解析は、BPM空間の周波数R(fb)、Q(fb)から求める方法となる。生のWav波形は、各音符区域の開始位置で音量が増加する特性があり、しかも、その音量の増加量は周期的現象となる。BPM空間において、各振幅値Aの最大値を検出する。音符長は、最大値の周波数BPMmの逆数として定義され、抽出される。すなわち、解析の処理の流れは、Wavファイルのフレーム分割、隣接フレームの音量変化の取得、その時間変化分のFFT、振幅最大の周波数成分の検出、振幅最大の周波数成分の逆数の算出、となる。以上により、BPM空間におけるFFTを使って、音符粒子時系列の周期,すなわち、ひとつの平均音符長Lを求めることができる。音符粒子の平均音符長L(s)は、例えば、64分音符の長さに固定される場合もあるが、曲依存値として、
L =60/BPMm
となる。以上の手続きをサイドバンド帯域ごとに実行する。
【0055】
他の方法として、時間t、遅延変数Tiとする学習インパルス信号I(t−Ti)を使う方法(非特許文献3)がある。学習インパルス信号I(t−Ti)は、インデックスmを1からNfまでインクリメントするFor文
For(m=0;m<Nf;m++){
if ((m%Ti)=0)
I[m](実部) = Amp;
else
I[m](実部) =J[m](虚部) =0;

となるC言語で記述される。記述は、m%Ti=0,すなわち、離散時刻Tiのみ関数値が一定値Ampをもち、それ以外の時間区域では0となる関数である。非常に簡単に生成できる。時間域において、信号DX(m)と学習インパルス信号I(m−Ti)との離散畳み込み積分は、いわば、2信号の類似性を表現する。BMPの周波数域において、FFT(DX(m))とFFT((I(m−Ti))との積からエネルギーEが計算できる。周波数域において、エネルギーEの大きさ|E|が最大Emaxとなる学習インパルス信号I(m−Ti)の周期Tmaxを求めることができる。すなわち、BPM値を、例えば、60から240までを適当なステップごとに変化させて、大きさ|E|が最大となるBPMmを値とする。音符粒子の音符長は、
L=60/BPMm
として導出できる。以上の手続きをサイドバンド帯域ごとに実行する。
【0056】
次に、クラスタリング部105において、音符粒子の音程(MIDI番号)の集合を求める。ステレオWavファイルの左音と右音を分けて実行する。時間域と周波数域におけるサンプリング周波数を同じfc(=44,100)、フレームのサンプリング数をDN(4096*2)とする。フレーム周期(時間)はLf=DN/fcである。変換部103における時間周波数変換FFTの結果を周波数f(t)とする。周波数f(t)と離散時刻t、すなわち、周期Lfごとの時刻には関係がある。離散時刻tの周波数f(t)は,
帯域0<f(t)<DN/2において,
f(t)=t*(1/Lf)
帯域DN/2<=f(t)<DNにおいて,
f(t)=(DN−t)/Lf
となる。これは時間周波数の変換基本式であって、積パラメータあるいはオフセットパラメータで補正され、それをf(t)とする。
【0057】
周波数f(t)に対応するMIDI番号(音程周波数)は、intの整数化を使って
[数1]の逆関数として、
MIDI番号=(int)(69.0+12.0*log2(f(t)/440.0))
となる。MIDI番号は,各フレームDN内のスペクトルf(t)に対応するので、その抽出数はDN個存在する。多数である。そこで、正規化された最大振幅値Amaxを有する線スペクトルfmax(t)を基準として,倍率パラメータbaiに対する下限振幅値bai*Amaxから上限振幅値AmaxまでのR個の線スペクトル
F={fk(t)|k=0,1,2,・・・,R}
に限定して抽出する。抽出数Rは各フレーム m=0,1,2,・・・,Nf−1ごとに異なるので、Rをチャネル数cに固定する処理、すなわち、c個のクラスタのクラスタリング処理をクラスタリング部105にて実行する。
【0058】
音符粒子集合のクラスタリング処理を説明する。R<cのときは、抽出されたR個のMIDI番号中から適切なMIDI番号を(c−R)個複写する。チャネル数は必ずcとなる。R>cのときは、抽出されたR個の中からk−means法によりクラスタリングすることになる。k−means法は、MIDI番号集合において、c個のクラスタ重心(MIDI番号)に距離が近く、かつ、c個のクラスタ重心間の距離が大きくなるようにクラスタ重心を見つけるアルゴリズムである。c個のクラスタ重心に対応するc個のMIDI番号のみを選択することになる。デフォルトは、c=6、Bai=0.4である。抽出数Rが大きすぎる場合もあるので、曲依存で倍率Baiを選択する必要がある。k−meansの真の解を求める問題はNP困難となるが、6チャネル程度の音符粒子の集合を求めるk−means法は高速である。k−means法は初期値依存性などの欠点もある。他のクラスタリング手法、例えば、アフィニティマトリックス法、行列クラスタリング法、隣接行列クラスタリング法、相関行列クラスタリング法などを使ってもよい。例えば、クラスタリング処理後の音符粒子集合の展開型エクセル楽譜を表3に示す。
【表3】
【0059】
1列目は、メロディ1の音符粒子のMIDI番号である。2行目が音符粒子の音符長列で、すべて、0.253165と等価である。3行目は、メロディ1の音符粒子の大きさである。4行目はメロディ2の音符粒子のMIDI番号である。5行目がメロディ2の音符粒子の音符長列で、すべて等価である。6行目は、メロディ2の音符粒子の大きさである。7行目はメロディ3の音符粒子のMIDI番号である。8行目がメロディ3の音符粒子の音符長列で、すべて等価である。9行目は、メロディ4の音符粒子のMIDI番号である。10行目がメロディ4の音符粒子の音符長列で、すべて等価である。11行目は、メロディ5の音符粒子のMIDI番号である。12行目は、メロディ5の音符粒子の音符長で、すべて等価である。13行目は、メロディ6の音符粒子のMIDI番号である。14行目は、メロディ6の音符粒子の音符長で、すべて等価である。なお、メロディ3,4,5,6は、大きさが予め決められた和音扱いとなっている。すべての音符粒子の音符長は、テンポ解析結果として導出された値で、L=0.253165ですべて同じ値である。このように、各チャネルは、MIDI番号、音符粒子長、および大きさの要素からなる3列で表現されるが、大きさの要素は予め決められているならば削除される。
【0060】
音符長が等価な音符粒子集合の展開型エクセル楽譜に従って演奏すると、同期性と秩序性は高いが、当然、複数音が情緒性のない機械的な音楽になる。そこで、音符長結合部107における音符長結合処理を説明する。音符長が等価な音符粒子集合の展開型エクセル楽譜において、各チャネルは、MIDI番号、音符粒子長、および大きさの要素からなる3列、または、和音展開列の2列で表現される。ただし、自動採譜であるので、和音の再現は不完全となる。音符長結合部107では、行方向に隣接する(行間に休止無音がない)時系列行間の同音程音符粒子の音符長を結合することにより音符の長さを変更する。行方向に近接する(行間に有長休止無音がある)時系列行間の同音程音符粒子の音符長は連結されない。小区間内の時系列行間の同音程音符粒子の音符長は累積され、その小区間の最後の行にある音符長が累積長に変更され、小区間内の他の行は削除される。音符粒子集合から音符集合への変換である。抽出された音符集合は、同期記述、すなわち、小区間同期の条件を満たす行列として展開型エクセル楽譜となる。
【0061】
音符集合からなる展開型エクセル楽譜を表4に示す。
【表4】
例えば、結合前の状態が表3の展開型エクセル楽譜であるが、音符長結合処理後は、表4の展開型エクセル楽譜となる。表3において、1列目の2行目にあるMIDI番号79は、3行目、4行目、さらに、5行目に連続して存在する。小区間は、4行分である。小区間内の各行の音符粒子の音符長は、それぞれ、0.253165ですべて同じ値である。音符長結合処理後の表4の展開型エクセル楽譜では、MIDI番号79は、表3の5行目にあるMIDI番号79としてまとめられ、音符長は、累積値0.253165*4=1.01266となっている。時系列行間の同音程音符粒子を含む他の小区間において、同様な結合処理が実行される。音符長結合部107の音符長結合処理によって、全体の行数は23から10行に減らされる。以上が、音符粒子集合から音符集合への変換である。抽出された音符集合は、小区間同期の条件を満たす行列で、行列楽譜の展開型エクセル楽譜となる。これが自動楽譜生成、自動採譜である。
【0062】
本発明では、同期記述された行(小区間)からなる音符長等価な音符粒子集合を生成し、時系列行間の同音程音符粒子を含む同期小区間内で音符長を結合して音符集合に変換している。同期記述の範囲での行列変換である。音楽セル集合MTの展開型エクセル楽譜生成時には、チャネル間に渡る列方向の書き込み処理を含み、その展開型エクセル楽譜の読み出し時には、その読み出し処理は、チャネルごとの行方向で実行される。音楽セル集合MTの展開型エクセル楽譜は、計算機10によって5線楽譜に変換されてもよい。処理部110にて、展開型エクセル楽譜は、汎用のMIDI.csvに変換される。この変換に新規性がある。変換後は、汎用のMIDIシステムを使うことができる。複数チャネルの音源付き演奏が、デスプレィ上で、トラックリスト表示、ピアノロール表示、イベントリスト表示、自動5線音符表示のうち少なくとも1つを動画表示しながら、計算機10によって実行される。編集もできる。図3は、本発明の行列楽譜処理法の処理を実行する計算機10内の音楽システムの画像表示である。MIDIシーケンサのPC上の画面である。上部にあるのが6トラックリストである。メロディのトラックリストが2、和音展開されたトラックリストが4となっている。さらに、下部上側にあるピアノロール、下部左側にあるイベントリスト、下部右側にある自動採譜の譜面ウインドウが表示される。処理部110にて生成されたMIDI.csvは、回路シミュレーション111からの変数と処理部112にて結合されると、Wavファイルに変換され、再生部115にて複数チャネルの同時演奏がPC上で実行される。処理部110にて生成されたMIDI.csvは、MIDI.midに変換され、再生部115において音が再生される場合もある。
【0063】
本発明では、圧縮型エクセル楽譜は、小区間同期が記述された5線楽譜対応の媒体で、PC演奏、PC保存、インターネット通信の容易なITC媒体となる。展開型エクセル楽譜は、複数チャネルの時系列音符集合の各チャネルの音符の音程、音符長、大きさが列方向に展開されたICT媒体となる。ユーザにとって、極めて理解し易いエクセル楽譜の媒体である。展開型エクセル楽譜は、音楽の音の波から小区間同期の条件を満たす行列楽譜として自動生成され、複鍵チャネルを含む複数チャネルとして採譜される。
【産業上の利用可能性】
【0064】
産業の利用分野として、音楽の自動採譜、自動編曲、音楽情報検索、音楽の加工がある。本発明の行列楽譜は、ユーザにとって、高データベース性、高圧縮性、高使用性、高理解性、高表現性、高通信性、高同期性を有し、複数PCのオーケストラ演奏化、インターネット配信化に利用できる。本発明の行列楽譜処理法は、演奏の音から自動でエクセル楽譜、あるいは5線楽譜を作成することを含み、自動楽譜による複数チャネル演奏は、元の楽譜演奏とは異なる編曲された近似音楽となる。そのことが逆に新しい編曲産業を生む。
【0065】
クライアント側からの要求に基づいて、サーバ側のデータベースにある圧縮型エクセル楽譜あるいは展開型エクセル楽譜がインターネット媒体としてクライアント側にダウンロードされる。複数チャネルの音源付き演奏は、トラックリスト表示、ピアノロール表示、自動5線音符表示、イベントリスト表示のうち少なくとも1つを動画表示しながら、実行される。あるいは、自分の音源を回路シミュレータにて生成し、自分のWav音を聞いて楽しむこともできる。
【符号の説明】
【0066】
1 本発明の行列楽譜生成法の主要な部
100 5線楽譜認識部
101 圧縮型エクセル生成部
102 和音展開、繰り返し記号展開部
103 時間周波数変換(FFT)部
104 テンポ解析(音符粒子長解析)部
105 クラスタリング(k−means法)部
106 音符粒子集合部
107 音符長結合部
108 展開型エクセル生成処理部
109 MIDItoWAV変換部
110 MIDI.csv生成部
111 回路シミュレーション部
112 音源(wavファイル)生成部
113 標準音源生成部かつmidファイル生成部
114 トラックリスト、ピアノロール、イベントリスト、5線楽譜自動生成部
115 音の再生部

10 計算機(PC)
11 記憶部
12 演算部
13 制御部
14 入力部
15 出力部
図4
図5
図6
図1
図2
図3
【手続補正書】
【提出日】2015年5月23日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタル音楽、特に、音楽理解に関するものである。
【背景技術】
【0002】
音楽の音は、楽譜が作曲され、演奏され、そして、流される。音学は工学を含む。表現のための工学である。特に、混合された多重音の理解には、統計確率、時空間の構造、時間周波数の構造、同期、機械学習、調波、最適化、回路、ニューロ、通信、認識、歌唱言語の韻律、音素、知覚、発声など、いわば、非線形情報処理の解析を必要とする。楽譜は、時系列の音符集合である。音符集合の各音符は、音程、長さ、そして、大きさを有する要素である。音符の音程の周波数は一つであって、MIDI(Musical Instrument Digital Interface)番号に対応するが、楽器が奏でる音楽の音の波は、非線形で、ひとつの正弦波の基本周波数成分に加えて、可聴できる程の大きさの高調波成分を多く含む。いわば、音楽の音は、正弦波の混合波である。混ぜることは簡単であるが、混ぜた波から元の正弦波、すなわち、音符の音程、長さ、そして大きさを再現することはむつかしい。音源分離、混合音理解の難しさである。チャネル数が多くなればなるほどむつかしい。音楽の音の波から音符に対応する音程、長さ、大きさを検出する、いわば、多重周波数推定、楽譜自動生成(自動採譜)のむつかしさへの克服は技術の挑戦でもある。歌唱の言語理解、音素分解とも関係する、いわば、インタラクション性の高い音楽理解への挑戦である。
従来、楽譜が1チャネル(楽器音)のみである場合には、音楽の音の波、すなわち、音符集合の時系列をフレームごとに時間周波数変換し、フレーム内の基本周波数スペクトルをひとつ検出し、対応するMIDI周波数に変換する方法等が有効に利用されてきた。口笛、鼻歌、楽器の演奏から自動で楽譜を作成するソフト、ScoreCloudや、複数の楽器音を独立にそれぞれ複数のMIDIトラックに表示し演奏するソフト、Intelliscope、周波数の連続性を持つ音の集合からクラスタリングでひとつのMIDI周波数を生成するEasy Music Analysisなどが活用されている。また、複数トラックのMIDIの音符表現媒体として、制御記号の多いMIDI.csv、MIDI.mid(バイナリ)が汎用的に利用されている。従来、音楽の音の波に対応するひとつのチャネルに関する楽譜生成の技術は多く存在する。ひとつのチャネルである場合には、チャネル間の同期、特に小区間の同期取得の処理が不必要で、不完全ではあるが、音程と音符長を再現できる。テンポ処理は、一拍の長さ、すなわち、ビート(発音時刻)間隔の時間長を求める処理である。音量の時間変化のピークからビートあるいはテンポを検出する技術(非特許文献1)、音量変化のエネルギーから発音時刻を検出する技術(非特許文献1、3)が開示されている。音量変化の周期性により、その自己相関のピークを与える時間差から、テンポを統計的に探索する技術(非特許文献2)が開示されている。自動楽譜作成技術の特許文献として、基本周波数抽出、位相抽出、調波解析、最適化手法、誤り訂正法を組み合わせた方法(特許文献1)が開示されている。音楽データと楽譜記号データとを対応化させる技術(特許文献2)、楽譜音符を基準単位の音符に結合する結合処理の技術(特許文献3)が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許公開 US 2009―186818
【特許文献2】特許公開 2008−129508号広報
【特許文献3】特許公開 2002−258837号広報
【非特許文献】
【0004】
【非特許文献1】J. Bello, L. Daudet, S. Abdallah, C. Duxbury, M. Davies, and M. Sandler, “A tutorial on onset detection in music signals,” IEEE Trans. Speech Audio Process., vol. 13, pp. 1035 &#8211; 1047, 2005.
【非特許文献2】M. Goto, “An audio-based real-time beat tracking system for music with or without drum-sounds,” J. New Music Res., vol. 30, no. 2, pp.159&#8211;171, 2001.
【非特許文献3】Federic Patin, ”Beat Detection Algorithms”, Jun 07 2003, Math and Phisics.
【発明の概要】
【発明が解決しようとする課題】
【0005】
音楽の音の波は、時刻ごとの周波数成分集合の中に複数の音程成分、いわば、ピアノロール空間の複鍵チャネルを含み、その複鍵チャネル数は時刻ごとに異なる。単鍵チャネルは、一本指による鍵盤演奏に対応する単チャネルと定義され、複鍵チャネルは、複数本の指による同時鍵盤演奏に対応する複数チャネルと定義される。従来、1チャネルは、1楽器に対応する場合が多く、複鍵チャネルを含む複数チャネルのMIDI音符集合の行列楽譜を、小区間(小節を含む)同期条件下で、自動生成する処理はなかった。また、小区間の同期条件を満足させながら、複数チャネルの同音符長の音符粒子集合を生成し、それを異音符長の音符集合に変換する処理もなかった。理由は、音程粒子、音符長粒子の概念はなく、標準MIDIファイル(SFM)には、複数チャネルの小区間の同期イベントの概念、小区間の累積音符長の等価管理の概念がないため、そして、小区間の行数等価と音符数等価を条件とする同期記述による行列化処理の概念もなかったからである。そのため、採譜結果において、小区間同期記述を満足する複鍵チャネルをエクセル楽譜として展開できず、楽器音が内包する同時音程数の減少化現象が起きるという問題がある。さらに、汎用のMIDI.csvは、ONとOFFの音符イベント表現以外の多くの制御記号を含み、同期記述化される複数チャネルの同時列書き込み処理の概念がなく、同期記述のMIDI記憶媒体として活用されていないという問題がある。
【0006】
1つの側面において、本発明は、チャネル間秩序のある小区間同期記述を必要とする複鍵チャネルの採譜技術であって、音楽の同音符長の音符粒子集合への分解かつ展開により、同期記述の条件を満足する複数チャネルの行列、すなわち、空でない有効要素(セル)からなるエクセル表現として、音譜を自動生成する。
【課題を解決するための手段】
【0007】
複鍵チャネルを含む複数チャネルの採譜処理であって、
計算機が、
音符時系列のすべての音符粒子に共通な音符粒子長を求める抽出処理と、
音楽の音の波の時系列集合を時間周波数変換し、得られた複数チャネルの周波数集合から音符粒子集合を抽出し、要求されたチャネル数に分類する音符粒子集合のクラスタリング処理と、
前記抽出処理と前記クラスタリング処理に基づいて、前記音符粒子長単位ごとの複数チャネルの音符粒子集合の各行を行、各チャネルが、少なくとも、MIDI記号と前記音符粒子長の要素を含む前記複数チャネルを列とする行列であって、小区間内の行数と音符粒子数が等価となる行列を生成する行列化処理と、
前記行列の行方向に隣接する時系列行間の同音程音符粒子の音符長を結合して、前記小区間同期の範囲で、音符の長さを変更することにより、前記音符粒子集合から音符集合を生成する音符長変換処理と、
を有し、
本発明は、前記音符集合が小区間同期の条件を満たす行列となることを特徴とする行列楽譜処理法を構成している。
【発明の効果】
【0008】
本発明では、圧縮型エクセル楽譜は、小区間にて同期記述された5線対応の媒体で、PC演奏、PC保存、インターネット通信の容易なITC媒体となり、展開型エクセル楽譜は、複数チャネルの時系列音符集合の各チャネルの音符の音程、音符長、大きさが列方向に展開されたICT媒体であって、しかも、音楽の音の波からチャネル間秩序のある小区間同期の条件を満たす行列楽譜として自動生成され、複鍵チャネルを含む複数チャネルが採譜されるという効果がある。
【図面の簡単な説明】
【0009】
図1図1は、本発明の行列楽譜処理法の処理の流れを示す図である。
図2図2は、本発明の行列楽譜処理法の処理を実行する計算機(PC)のハードウェア構成を示す図である。
図3図3は、本発明の行列楽譜処理法の処理を実行する音楽プログラムの実行画像表示を示す図である。
図4図4は、従来の5線楽譜に使用されている一部の繰り返し記号の図である。
図5図5は、従来の5線楽譜に使用されている一部の繰り返し記号の図である。
図6図6は、従来の5線楽譜に使用されている一部の繰り返し記号の図である。
【発明を実施するための最良の形態】
【0010】
楽器を奏でることによって混合された音楽の音の波は、耳の蝸牛部分にある周波数振動子(有毛細胞)アレイの共鳴現象によって、基本振動波に分解され、脳に伝達され、認識される。脳は、楽譜情報を感覚的に復元している。計算機(マシン)は、音楽の音の波から楽譜情報をどこまで理解し再現できるだろうか? 音楽の音の波は、正弦波ひとつの基本周波数成分に可聴できる程の大きさを有する高調波成分が混合されている。音源生成の最も簡単な方法は周波数成分を多く持ち、様々な音色に使用される鋸波形、鋸波形よりも周波数成分が少なく丸い音がする三角波、Duty比の調整可能なパルス状の矩形波、非周期的なノイズ波形などを数学方程式によって生成することである。すでに確立された方法である。この方法は、自由度が小さく、生成できる種類と音色が制限される。制限されないほどの自由度を上げる方法は多く考えられる。例えば、多くのオシレータの回路構成を回路シミュレーションにて記述し、内包する回路の微分方程式を数値積分することにより複数の波形を生成する。この回路解析法は、ネットリスト設計による自由度が高く、複数の波形を混合するだけでなく、オシレータを複雑組み合わせることにより、様々な音をつくることができる。回路によるSound Dynamical ProgramをPC上で実行することになる。複数の線スペクトルを生成するコムフィルタ(Comb Filter)を回路で表現できる。カオス現象や概周期現象などを表現するアトラクタの形は音色に対応しないが、アトラクタに対する演算処理を使って可聴できる程の大きさのスペクトルに対応する音を生成する非線形情報処理も有効となる。音源によって生成された音の波は、楽譜に表現された各音符の音程、音符長、そして大きさの情報を含むMIDI情報と結合することにより、音符集合の音の波に変換される。
【0011】
MIDI情報のうち、音程に対応するMIDI番号(例えば、69)、MIDIアルファベット(MIDI番号69に対応するA音)あるいはドレミ表記は、総称してMIDI記号と呼ぶ。音符は、MIDI記号、音符長、大きさの集合である。MIDI記号は、ピアノ鍵盤番号に対応し、音符の音程(例えば、A音なら周波数は440Hz)に対応する。本発明のチャネルは、行(下)方向に展開する音符の時系列の集合として定義される。音程は、MIDI番号に対応するひとつの周波数であるので、ひとつのチャネルは、ひとつの音程変化に依存した単音に対応し、鍵盤よるピアノ演奏では、1指演奏、すなわち、単鍵チャネルとして定義される。10指演奏は、10チャネル演奏、すなわち、複鍵チャネルとして定義される。複数チャネルは、複鍵チャネルを含む。和音は、展開すると最大4つの音符から構成されるので4チャネルの複数チャネルである。また、メロディチャネルは、ピアノでは、単鍵チャネルに対応する独立したひとつのチャネルとして定義される。間欠に演奏されるメロディチャネルも休符の多い独立したひとつの単鍵チャネルとして定義される。どんな楽器でも、その音の波を採譜する場合、本発明では、音楽の音の波は同期記述の複鍵チャネルからなるピアノロールに写像される。どんな音でも、採譜先をピアノ楽譜と仮定すれば、複数チャネルという言葉は複鍵チャネルを含む意味で使われる。本発明の基本概念は、異種音程を有し、同期かつ等価な長さを有する音符粒子集合から音楽が生成されることである。
【0012】
展開型エクセル楽譜の生成時には、行列の複数チャネルは、チャネル間に渡る列方向に書き込まれ、生成された複数チャネルの行列は、チャネルごとに行方向に読み出される。
【0013】
図1は、本発明を実施するための行列楽譜処理法の処理、すなわち、図2の計算機10が実行する処理の流れである。本発明の主たる部分は、処理の流れ1の部分である。MIDI空間における圧縮型と展開型のエクセル楽譜の生成処理法を供給する。エクセル(主に、マイクロソフト・エクセルの表計算ソフトを想定)は、セル要素からなる表集合である。ここで、空でない有効セルを要素とする表、すなわち、空セルの要素を含まない行と列からなる2次元のセル集合を行列と定義する。有効な空セルを含めたセル集合を行列と定義することもできるが、容易性の範疇である。
【0014】
5線楽譜認識部100によって5線楽譜が認識される。その5線楽譜に対応する圧縮型エクセル楽譜は、生成処理部101にて、列方向に、メロディ領域、和音領域、そして、繰り返し制御領域に区分される。圧縮型エクセル楽譜の音符集合は、展開部102において、メロディ領域と和音領域に関し、繰り返し制御領域の各繰り返し記号の意味解析に従ったアペンド処理による展開と和音展開とによって展開される。結果として、繰り返し制御領域は削除され、展開型エクセル生成処理部108において、メロディ領域と和音領域は、行列表現、すなわち、展開型エクセル楽譜となる。展開は、ダミー音符Dによる同期記述の処理を含む。ここで、ダミー音符D(DはMIDI記号で代表されるが、MIDI記号、0の音符長、大きさから成る音符)のセルは、エクセル上では、空セルでない有効セルであって、音符長が0である無長無音を表現する。
【0015】
別な処理の流れとして、処理部103、104、105、106がある。展開型エクセル楽譜は、音楽の音の波から自動的に生成される。展開型エクセル楽譜は、音符時系列の複数チャネルの行列表現となる。この自動生成では、まず、Wavファイルとして入力された音楽の音の波の時系列集合は、時間周波数変換部103にて、周波数集合に変換される。Wavファイルは、ステレオである場合、左音L(t)と右音R(t)に分けてダンプ化され、それぞれが周波数変換TによってF(L(t))とF(R(t))となる。これらが処理対象となる。場合によっては、演算を記号**としたとき、時間域演算L(t)=L(t)**R(t)後の周波数変換F(L(t))、あるいは、周波域演算F(L(t))=F(L(t))**F(R(t))の結果を処理対象としてもよい。テンポ解析部104にて、周波数集合から、音符時系列の平均的周期性の仮定により、すべての音符に共通な音符長を求める解析が実行される。共通な音符長を有する音符粒子集合は、複数チャネルの音符粒子の音符長が等価であるから、同期条件が満される集合である。複数チャネルの各音符の音符長が等価、または、各チャネルの行方向の小区間内の累積音符長が等価となるとき、それぞれ、行の同期、あるいは小区間の同期といい、書き込まれた結果を同期記述という。小区間は、5線楽譜の小節に相当する同期区間であるが、本発明では、始点と終点において時間同期する音符部分集合の時間小区域と定義される。そして、クラスタリング部105にて、音符の音程集合を抽出し、要求されたチャネル数の音符粒子集合に分類する、音符粒子集合のクラスタリング処理(k−means法等)が実行される。すなわち、音符時系列行と複数チャネル列からなる行列の音符粒子集合106を求める。各チャネルは、MIDI番号、音符粒子長の2列を必須とし、必要であれば、さらに、大きさの要素からなる3列で表現される。複数チャネルの基本的なエクセル楽譜が生成される。そして、音符長結合部107にて、行方向に隣接する時系列行間の同音程音符粒子の音符長を結合することにより、音符の長さを変更する。音符粒子集合から音符集合への変換である。音符集合は、小区間同期記述の条件を満たす行列として生成され、展開型エクセル楽譜108となって、記憶部11に保存される。これが複数チャネルの自動楽譜生成、自動採譜である。計算機10が自動採譜された展開型エクセル楽譜108を5線楽譜に変換するのは容易である。
【0016】
流れ101と102の処理によって、圧縮型エクセル楽譜、あるいは、そえを展開してできる展開型エクセル楽譜は、5線楽譜の音符集合を完全に包含する。流れ103、104、105、106、107の処理によって、音楽の音の波から自動生成される展開型エクセル楽譜は、5線楽譜の音符集合を不完全に包含する。複数チャネルは不完全な包含となるが、自動採譜による生成音は、小区間の同期記述、すなわち、秩序ある、非同期雑音がない、5線上に音符混じりがない、低音高音域が明確に分離された、編曲音楽として、ジャズ的音色価値を有する。
【0017】
音楽の音は、MIDIシステムを使って生成できる。展開型エクセル楽譜108がMIDI.csv化部110にてチャネルの行方向展開型MIDI.csv(Format 0)に変換される。そして、複数チャネルの音源付き演奏が、処理部114にて、メロディのトラックリスト表示、ピアノロール表示、イベントリスト表示、5線楽譜自動表示され、音の再生部115にて演奏される。MIDI.mid(バイナリ)への変換部113を介して演奏される場合もある。複数チャネルの数は、音符粒子集合のクラスタリング処理のクラスタ数によって決まる。ステレオの左音と右音は、それぞれが複数チャネルとなる。MIDI楽器の音が入力される場合、例えば、1ポート、楽器数に対応する16チャネルのMIDI入力端子のひとつのチャネルからその音が入力される場合でも、その音は、本発明では、複数チャネル(複数音程、複鍵チャネル)への採譜処理対象となる。
【0018】
また、生成部108にて生成された展開型エクセル楽譜の複数チャネルの各MIDI情報は、MIDItoWav部109にてWavファイルに変換される。そのためには、各MIDI情報と回路シミュレータ(SDP)111から生成される回路変数とがWav音源生成部112にて結合される。再生可能なWavファイルとなる。以上の処理の流れは、図2の計算機10によって実行される。
【0019】
図2の計算機10は汎用PCである。記憶部11に命令とデータが記憶される。逐次、分岐、読み出し、書き込み等の命令に従って制御部13が制御し、演算部12がその命令に関する算術論理演算を実行する。制御部13の制御によって、記憶部11内のデータは入力部14から入力され、出力部15から出力される。無線を含むネットワーク関係の処理も入力部14と出力部15に含まれる。複数PCによる無線同期された多重音演奏も可能となる。
【0020】
本発明の行列楽譜処理法は、主として、C言語とC++言語をコンパイルして実行できる環境、例えば、マイクロソフト社が開発したVisual Studio の環境下で開発され、任意のユーザが任意の場所にて実行できる実行形式のファイルとしてまとめられる。
【0021】
「生成」「記述」「表現」なる言葉は、計算機10が記憶部11のデータ構造、すなわち、エクセルのセル行列として情報を書き込み、保持し、その情報を読み出す場合の計算機処理を意味し、「自動」は、人間の行為を除外する処理を意味する。「演奏」も計算機10が実行する。
【実施例1】
【0022】
5線楽譜から変換してできる圧縮型エクセル楽譜の処理法について述べる。圧縮型エクセル楽譜の生成と展開はそれぞれ生成処理部101と展開部102において実行される。本発明は、計算機10の5線楽譜の認識処理を介して得られるが、人手による認識入力に対するエクセル支援を計算機10が行う方式でもよい。この場合、5線楽譜は、入力されないが、エクセルのデータ構造を含むエクセル支援情報が処理部101に入力される。計算機10の処理によって、圧縮型エクセル楽譜のフォーマットに対応するデータ構造が計算機10の記憶部11に格納され、その後、展開型エクセル楽譜に展開されることが重要である。また、定義された圧縮型エクセル楽譜は、計算機(PC)の保存媒体、インターネット等の通信媒体となる、そのことが重要である。
【0023】
5線楽譜は縦(行)方向に同時に演奏される複数のチャネル(トラック)を有し、人間、あるいは、計算機などの機器(マシン)が、横(列)方向に並んだ音符列を読むことにより、時系列音符集合が演奏される。本発明のエクセル楽譜は列(横)方向に複数チャネルが構成され、行(縦)方向にセルを読むことにより、時系列音符集合が演奏される。5線楽譜は、音符記号の5線上位置の情報による音程とq分音符(例えば、4分音符)による音符長を表現する。演奏者(人間)にとってたいへん読みやすい視覚的データ構造となっている。5線、音符記号、そのものが視覚的記号であるが、繰り返し記号も視覚的記号となっている。5線楽譜の特徴として、多種多様な繰り返し記号の記述があり、時系列な音符集合の特定部分集合に対する重複表現が最小化されている点がある。その特定部分集合の繰り返し処理あるいはスキップ処理は、主に、演奏者(人間)の行為となる。計算機が情報の読み書きを行う場合は、視覚的データ構造である必要性はなく、むしろ、記憶の内容を指定するポインタ(アドレス)によって指定される文字数値要素による行列型データ構造を必要とする。本発明の圧縮型エクセル楽譜は、行列型データ構造であり、メロディ領域M、和音領域Wからなる行列と、空セルを含む繰り返し制御領域Rのセル集合からなる5線楽譜に対応するデータ構造である。
【0024】
圧縮型エクセル楽譜は、音楽セル集合MTであって、そのi行目は音楽行ベクトルMiを形成する。音楽行ベクトルMiは、メロディ領域M、和音領域Wおよび繰り返し制御領域Rの3つの部分ベクトルに分割される。メロディ領域Mと和音領域Wは、有効セルのみからなる行列であるが、繰り返し制御領域Rには、繰り返し記号のあるセル以外はすべて空(NULL)セルとなる。
【0025】
音楽セル集合MTのメロディ領域Mにおいて、i行目にあるj目のメロディ音符はM(i,j)と表現され、音符M(i,j)の音程(MIDI記号)をm(i,j)、音符長l(i,j+1に対応するq分音符をq(i,j+1)、正規化された音の大きさ(振幅)をa(i,j+2)とすれば、音符M(i,j)は
M(i,j)= M(m(i,j),q(i,j+1),a(i,j+2));
j=1,4,7,・・・,3(mm−1)+1
として表現される。ここで、mmはメロディ数である。j=3mm+の列には領域デリミタのセミコロン;が記述される。和音領域Wにおいて、和音(例えば、Am)のコード記号C(i,j)と音符長l(i,j+1)、 正規化された音の大きさをa(i,j+2)とすれば、
和音W(i,j)は、
W(i,j)= W(C(i,j),l(i,j+1),a(i,j+2));
j=3mm+,3mm+,3mm+
として3列で表現される。決められた大きさaである場合には、
a(i,j+2)=a
が自動挿入されるので、表面的には、和音記号列C(i,j)とその音符長列l(i,j+1)の2列となる。2列の場合、j=3mm+の列には領域デリミタのセミコロン;が記述される。3列表現の場合は、j=3mm+の列にセミコロン;が記述される。和音が展開されると、和音領域Wは、メロディ領域Mに変更され、4つの音符列{M(i,j)}で表現されるので、チャネル数cは、c=mm(メロディ数)+4となる。
【0026】
繰り返し制御領域Rにおいて、繰り返し記号をR(i,j)とすれば、
R(i,j) ; j>3mm+ または、j>=3mm+
として表現される。繰り返し記号R(i,j)が存在しない行は、空セルとするので、繰り返し制御領域Rにおけるほとんどの行が空白R(i,j)=NULLとなる。また、i行目に存在する繰り返し記号R(i,j)は制御領域Rであれば、i行目のどこでもよい。
【0027】
以上の定義により、音楽行ベクトルMiを形成するi番目の行は、領域区別のデリミタ記号のセミコロン;を使用して
Mi={M(i,j1);W(i,j2);R(i,j3)}
と表現される。j1,j2,j3は、列番号である。
【0028】
圧縮型エクセル楽譜の空間では、音楽セル集合MTは、小区間の同期記述によるダミー音符D(音符長0,T0の表記)の挿入処理と行列化処理を必要とする。例えば、音楽セル集合MTを具体的に圧縮型エクセル楽譜として表現すると、小区間すなわち小節の区間において、表1のようになる。
【表1】
チャネル数cは、メロディが2、和音は展開されれば4なので、6である。1列目はメロディ1のMIDI番号に対応するアルファベット記述で、ピアノ鍵盤のオクターブ番号(C4の4)が付加される。オクターブ番号なしはデフォルトの3を意味する。1列目は、ドレミ表記またはMIDI番号表記(Aはラ音で、69)でもよい。2列目はq分音符の番号qである。音符長の時間表記の場合、Tの接頭字が付加され秒表現となる。3列目は正規化された音の大きさの表現である。4、5、6列はメロディ2であって、同様に表現されるが、HHは休み記号となっている。休み音符HHは、音符長は0でない場合が多いが、この例では、音符長0であるので、ダミー音符Dとなる。すなわち、音符長0の音符HHは、行数の数と音符数の数が等価になるように挿入される。また、音符長T0となっているE4もダミー音符Dである。ダミー音符Dをセルに挿入することによって、行列化される。行数と音符数の数が等価になることによって、メロディ領域Mと和音領域Wが行列化される。7目はセミコロンであって、メロディ領域Mの終わりと和音領域Wの始まりを意味する。8目は和音のアルファベット記述(例えば、Am)である。9目は、和音の長さ、10目はセミコロンであって、和音領域Wの終わりと繰り返し制御領域Rの始まりを意味する。GE(Go End)が繰り返し記号で、それ以外のセルは空セルである。メロディ領域Mと和音領域Wは、有効セルからなり、無効セル(NULL)のない行列表現となる。
【0029】
ダミー音符Dの挿入による同期記述と行列化処理を実行することにより、音楽セル集合MTは、時系列の音楽行ベクトルMiの集合
MT={Mi|i=1,2,・・・,N}
として定義される。メロディ領域Mと和音領域Wは、ダミー音符Dを含む行列、すなわち、小区間において、行数の数と音符数が等価なセル集合として表現される。Nは、チャネルの音符数である。
【0030】
小区間同期記述と行列化処理の必要性は、エクセル、すなわち、セル集合体によって、複数チャネルの5線楽譜と等価な論理動作(小節間同期のある複数行音符時系列)を表現し、認識処理を除き、人間が5線楽譜を読む動作と計算機がエクセル楽譜を読む動作を等価にするところにある。逆に、例えば、各チャネルの音符を上方向に詰めたエクセル表現であるとすると、特定な行の列方向に記述された音符集合は、5線楽譜表現と異なり、無相関、無秩序な音情報となる。有効セルのセル集合を行列としているので、領域MとWは、要素(セル)がすべて空(NULL)でない行列となり、どのチャネルも同じ行数Nとなる。
【0031】
音符長l(i,j)がチャネル間で異なる場合、同期記述と行列化処理のために、ダミー音符Dが挿入される。音符M(i,j)=M((m(i,j),q(i,j+1),a(i,j+2))の同期記述は、計算機10による記憶部11への書き込み処理である。同期記述は、各チャネル間において、同時読み出し(演奏)される小区間内音符集合の音符長の累積時間長が等価、音符数が等価、行数が等価、そして、各小区間の始点終点時刻が同期するように音符長0のダミー音符Dを書き込む(記述する)ことである。
【0032】
今、エクセルの小区間内セルの要求行数をTqとする。Tqは小区間音符数が最大となるチャネルのその行数である。これを音符数最大小区間と呼ぶ。音符数最大小区間以外の特定なチャネルのその小区間内における音符数をsとするとき、s<=Tqとなる。s個のq分音符q(i,j)の部分行集合に対して、
Tq−s
個のダミー音符D(音符長0)をそのチャネル小区間に挿入すれば、小区間内音符集合の行数はどのチャネルもTqに統一される。ダミー音符Dは任意のMIDI記号と音符長T0を含む無長音符である。ダミー音符Dは音符長0の休み音符(MIDI記号が0またはHH(非標準))でもよい。同期小区間内であれば、どの行に挿入されてもよい。すべての小区間に対してこの同期記述のルールを適用すれば、音楽セル集合MTのメロディ領域Mと和音領域Wは,エクセル上でセル表現可能な行列として表現できる。すべてのチャネルの音符数は統一されNとなる。
【0033】
例えば、表2の圧縮型エクセル楽譜を使って同期記述を説明する。
【表2】
1列目は、メロディ1のMIDIアルファベット記号列である。2目が音符長列であって、最後の2行が音符長0(すなわち、時間表現T0)のダミー音符Dが存在する行となっている。4列目はメロディ2のMIDIアルファベット記号列である。5列目が音符数最大小区間の音符数Tq=6の行表現であって、2分音符、16、16、8による合計4分音符分、次の8、8による合計4分音符分で、合計すれば、全音符分の4s(4分音符が1秒とする)の累積音符長4sに対応する。1小区間の累積音符長となっている。1列目は、最初の4行で、1小区間の累積音符長4sを満たすが、最大音符数はTq=6なので、s=6−4=2の2行分をダミー音符DのMIDIアルファベット記号=G4、HHを挿入し、音符長T0としている。大きさは、それぞれ、0.7、0.6となっているが、音符長はT0であるから無音となる。8列目の和音Emの音符長はすでに全音符に対応する4sとなっているので、2行目以降のHH(休み記号)が音符長0(T0と等価)のダミー音符Dとして挿入されている。
【0034】
今、小区間内の要求累積音符長(時間)をLとする。エクセルの小区間内セルの要求行数をTqとすれば、Tqは音符数最大小区間の音符数であるが、一般的には、それ以上であればよい。特定なチャネルのその小区間内における音符数をsとするとき、s<=Tqとなるs個のq分音符q(i,j)を選択する。そのとき、s個の累積音符長をΣl(i,j)で表現すると、
Σl(i,j)+0*(Tq−s)=L
を満足する。累積音符長が0*(Tq−s)になるように、ダミー音符D(音符長0)を(Tq−s)個、チャネルの小区間に挿入する。小区間内音符集合の行数はどのチャネルもTqに統一される。ダミー音符Dは休み音符(HH)でもよいが音符長は0である。小区間内であれば、どの行に挿入してもよい。すべての小区間に対して同期記述を適用すれば、領域MとWは、エクセル上でセル表現可能な行列で表現できる。
【0035】
圧縮型エクセル楽譜は、繰り返し制御に従った部分音符集合のアペンド処理とスキップ処理により,展開型エクセル楽譜に展開される。エクセルの音符セル集合、あるいは、その部分集合の行番号iに対応するポインタがある。そのポインタによって、各チャネルの音符Miの時系列位置(行番号)が指定される。繰り返し制御領域Rにある繰り返し記号として、曲の始点から終点方向に、始点記号Sと終点記号Eが定義される。その記号は、方向の意味も含めて、予め定義されている。終点記号Eの行(分岐行)にある音符から始点記号Sの行(分岐先行)にある音符に、すなわち、Backward方向に、ポインタが戻る(無条件ジャンプ命令の)場合には、終点記号Eの行(分岐行)までの途中に他の制御記号Conがなければ、始点記号Sの行(分岐先行)にある音符から、終点記号Eの行(分岐行)にある音符までの遷移後の部分音符集合が,現在のポインタP(E)の行(分岐行)にある音符までの累積時系列音符集合に、アペンドされる。制御記号Conがあれば、始点記号Sの行(分岐先行が分岐行に変化)にある音符から、制御記号Conの行(分岐先行)にある音符までの部分音符集合が,現在のポインタP(E)の行(分岐行)にある音符までの累積時系列音符集合に、アペンドされ、その後は、制御記号Conの意味定義に従うことになる。始点記号Sの行(分岐行)にある音符から終点記号Eの行(分岐先行)にある音符に、すなわち、Forward方向に、ポインタが進む(無条件ジャンプ命令の)場合には、始点記号Sの行(分岐行)にある音符の次の音符から終点記号Eの行(分岐先行)にある音符の前の音符までの部分音符集合は、現在のポインタP(S)の行(分岐行)にある音符までの累積時系列音符集合に、アペンドされずに、スキップされる。すなわち、終点記号Eの行(分岐先行)にある音符のそれ以降の時系列音符集合の始点Eに、ポインタが遷移される。繰り返し制御領域Rに存在する各繰り返し記号は、分岐行記号のある分岐行Aと分岐先行記号Bのある分岐先行Bの対に、分類される。このとき、メロディ領域Mと和音領域Wに存在する音符集合において、展開処理のポインタが、分岐行記号のある分岐行Aの位置にあるとき、そのポインタが、分岐先行記号のある分岐先行Bの位置に、遷移する。AからBへの遷移である。アペンド処理は、そのポインタ遷移に従って、AからBへの遷移後に読み出される部分音符集合を、分岐行記号のある分岐行Aの現在位置までに生成された累積部分音符集合に、追加する処理となる。なお、スキップ処理は、ポインタ(アドレス)のAからBへの遷移処理と等価であるから、読み書き処理はない。
【0036】
多種多様な繰り返し制御記号の始点記号Sと始点記号Eは、ペアになっている場合が多い。5線楽譜の標準ペアとして、2重線||とコロン:と、コロン:と2重線||がある。それらに対応する始点記号Sと終点記号Eがある。そのコロン:と2重線||に対応する終点記号Eの曲始点方向に部分音符集合の始点位置に、F1(制御記号)があって、その2重線||の直後に、F2(制御記号)がある場合、コロン:と2重線||に対応する終点記号Eの行から2重線||とコロン:に対応する始点記号Sのある行に戻って繰り返される。このとき、F1からF2の音符の前音符までの領域に含まれるその部分音符集合をスキップし、F2のある行の音符にジャンプする制御となる。この場合は、2重線||とコロン:に対応する制御記号Sの行にある音符からF1の行の直前にある行の音符までをアペンドし、その後、F2(制御記号E)の行にある音符にジャンプする制御となる。また、5線楽譜を使って説明すれば、例えば、D.C.(制御記号E)は、da Capo(最初から)の略で、曲の最初(制御記号S)に戻って再度処理され、「終わり」の意味の繰り返し記号Fine(制御記号E)まで処理される。Fineのかわりに図4の記号を使うこともある。D.S.(制御記号E)は、dal segnoの略で、図5の記号(制御記号S)に戻って再度処理される。そして、To Coda記号(制御記号S)から図6の記号(制御記号E)に分岐するように処理される。この記号は、VIDE「見よ」の意味で、これがあるときは、時として、その記号(制御記号S)から次の同じ記号(制御記号E)までを飛ばして、遷移後の部分音符集合がアペンドされる場合がある。このような場合でも、本発明では、5線楽譜のそれらの繰り返し記号に対応する制御記号SとEが定義され、エクセルの制御領域Rの適当なセルに挿入される。それらの記号の意味解析に従った無条件ジャンプ命令によるポインタの遷移処理を実行すれば、音符集合のアペンド処理(または、スキップ処理)によって、圧縮型エクセル楽譜は展開型エクセル楽譜に連続した時系列音符集合として展開される。
【0037】
方向制御は、多種多様で、その数は膨大である。方向制御のすべてを表現した方向タイプをデータ構造として記憶することはできない。本発明では、ポインタの現在位置までに集計された累積部分音符集合に、その時点に現れた制御記号の意味に従って、ポインタ遷移後の次の部分音符集合を、アペンドし、再び現在位置のポインタとする。いわば、本発明の処理体は、部分音符集合の再帰機能的アペンド方式に従う制御プログラムである。展開時は、常に、ダミー音符Dの挿入処理により、同期記述の条件は満たされる。
【0038】
繰り返し制御による展開時には、和音の同時音符集合への展開も実行される。基本的には、記憶部11にある各和音記号(例えば、Am)の文字と圧縮型エクセル楽譜上の和音領域Wにある和音記号(Am)との一致処理で、特定された和音を構成する4個の音符列が4列として展開される。
【0039】
圧縮型エクセル楽譜における各行ベクトルMiは展開処理、すなわち、繰り返し展開と和音展開が実行されると、結果として、展開型エクセル楽譜の音符集合は、同期記述を満足し、
Mi={M(i,j)|j=1,4,7,・・・,3*(c−1)+1};
i=1,2,・・・,N
と表現され、N*(3*c)の行列に変換される。以降、この3列表現が代表として使われる。ここで、
M(i,j)=M(m(i,j),q(i,j+1),a(i,j+2));
j=1,4,7,・・・,3*(c−1)+1
である。cはチャネル数、Nはチャネルの音符数である。
【0040】
すなわち、展開型エクセル楽譜は、2次元集合
MT={M(i,j)|i=1,2,・・・,N;
j=1,4,7,・・・,3*(c−1)+1

として行列表現される。和音領域Wの展開後の和音チャネルの各行は音符長および大きさは同じ値となる。同時演奏により和音として聞こえることになる。デフォルトの展開型エクセル表現では、メロディの2チャネル、和音の4チャネルとし、合計6チャネルで構成される。生成された展開型エクセル楽譜を読み出し(演奏)する場合は、各チャネルは縦読み、すなわち、行方向処理を基本とする。
【0041】
同期記述を含む圧縮型エクセル楽譜の生成処理は、5線楽譜からの変換処理によって行われる。重要なことは、演奏の読み出しはチャネルごとの行方向であるが、生成の書き込みは、複数チャネルに渡って列方向であるということである。本発明では、複数チャネルの小区間の同期イベントの概念、小区間の累積音符長の等価管理の概念がある。小区間の行数等価と音符数等価を条件とする行列化処理の概念がある。
【0042】
計算機10を使って複数チャネルを同時演奏し、これを人間の耳で聞いたとき、同時音が正しく聞こえるためには、同期した始点行から終点行までの音符が、同時に読み出される必要がある。同期音符集合として保障されるべきものは、小節を含む小区間とチャネル全体である。読み出し処理は、展開型エクセル楽譜における各チャネルの1行目からN行目までを行方向(縦)に読むことを基本とし、それをチャネル数cだけ列方向に繰り返ことを基本とする。すなわち、各チャネルの読み出しは縦読み原則である。読み出した音符集合M(m(i,j),l(i,j+1),a(i,j+2))は、音源生成時には、サンプリング周波数fcの離散時刻tの各音符の波形関数
F(t, M(m(i,j),l(i,j+1),a(i,j+2)),x(i,t))
に変換される。ここで、x(i,t)は音源の波形変数である。
【0043】
波形変数x(i,t)は、回路シミュレーション上で設計されるオシレータ(発振器)の内部に内包する回路方程式から生成される変数である。回路シミュレーションによる音源生成である。x(i,t)は、オシレータの発音構造や共鳴構造を含む非線形現象の固有的な音色の波、すなわち、物理モデル音源からの変数である。回路シミュレーションによる音源生成は生の楽器だけでなく、実在しない楽器の音も作成することが可能である。例えば、回路として構成されたコムフィルタ(Comb Filter)は、その周波数特性が一定間隔のスパイク状になるフィルタで、多様な音色を生成する。周期倍周期によるカオス発振器では、そのアトラクタの周波数成分の振幅は複数のスペクトル状にはならないことが多い。しかし、例えば、回路変数の差分を複数回実行すると、周波数領域において、スパイク状の振幅が複数個生成でき、多様な音色を生成する。標準MIDIシステムに内蔵されているデフォルト音源を利用する場合には、展開型エクセル楽譜を標準のMIDI.csv,MIDI.midファイルに変換する処理が必要となる。
【0044】
圧縮型エクセル楽譜を展開した展開型エクセル楽譜は、複数チャネルの各チャネルに含まれる音符数Nが等価になる。小区間同期記述を満足する行列である。複数チャネルは、5線楽譜の音符集合を完全に包含する行列となる。
【0045】
展開型エクセル生成処理部108において、5線楽譜の音符集合を完全に包含する行列の展開型エクセル楽譜を直接自動で生成する場合もある。このとき、各チャネルの各小区間の行数と音符数が等価になるように、必要ならば、特定なチャネルの小区間にダミー音符Dが挿入される。この挿入処理によって小区間同期記述が確立する。小区間同期記述によって、各チャネルの音符数Nはどのチャネルも等価となる。結果として、音楽セル集合MTはN*(3*c)の音符行列で表現されることになる。
【実施例2】
【0046】
展開型エクセル楽譜は、音楽の音の波から自動的に生成される。自動採譜である。自動生成では、まず、音楽の音の波の時系列集合Wavファイルを時間周波数変換部103にて周波数変換すれば、時系列化された周波数集合が生成される。テンポ解析処理104は、周波数の音符時系列の平均により、すべての音符に共通かつ等価な音符長を求める。クラスタリング処理105は、音符の音程集合を抽出し分類する。それらの結果を使って、音符粒子の時系列行と複数チャネル列からなる行列、すなわち、音符粒子集合を音符粒子集合部106にて求める。各チャネルは、MIDI番号、音符粒子長、および大きさの要素からなる3列で表現される。そして、音符長結合部107にて行方向に隣接する(行間に休止無音がない)時系列行間の同音程音符粒子の音符長を結合することにより音符の長さを変更する。音符粒子集合から音符集合への変換である。行方向に近接する(行間に有長休止無音がある)時系列行間の同音程音符粒子の音符長は連結されない。抽出された音符集合は、展開型エクセル生成処理部108にて小区間同期の条件を満たす行列として展開型エクセル楽譜となる。小区間は、元の作曲楽譜にある小節とは異なる。小区間の同期記述の概念は満たされる。ダミー音符Dの挿入処理は不必要で、常に、チャネル間秩序のある小区間同期記述を満たす空間での変換処理となる。これが本発明の自動楽譜生成、自動採譜である。
【0047】
展開型エクセル楽譜の自動生成について詳細に述べる。アナログ空間Saにおける1つの音の波をRMaとする。RMaをAD変換してできるデジタル空間Sdにおける音をRMdとする。すなわち、音の波形RMaを実サンプリング周波数fRでサンプリングしたとき、離散時刻tdごとに生成された音要素の集合がRMdとして定義される。音の波形RMaに対するAD変換あるいは音の物理現象に対する数値積分時に使われる実サンプリング周波数fRは、例えば、音楽サンプリング周波数fc=44,100Hz(あるいはそれよりも高いHigh Resolutionの周波数)よりも大きい高周波数あるいは小さい低周波数である。しかし、音楽で利用される時間tは音楽サンプリング周波数fcで離散化したときの離散時刻である。実サンプリング周波数fRの離散時刻は、音楽サンプリングfcの離散時刻tに写像される。音楽サンプリング周波数fcによって定義されるデジタル空間Mdにおいて、離散時刻tの音楽データの集合、すなわち、時間周波数変換部103に入力されるWavファイルは、デジタル空間Mdにおける音楽である。音楽サンプリング周波数fcのサンプリングによって得られた時間域Tの音楽である。その音楽は、ステレオ音楽のWavファイルとして、左音と右音の各ダンプ情報として記憶部11に格納され、採譜処理される。
【0048】
音楽のWavファイルの各ダンプ情報に対して、時間周波数変換部103にて時間周波数変換Tを実行する。得られる周波数の時系列集合をFMdとする。FMdの各要素の周波数成分は必ずしもMIDI音符の音程に対応するとは限らず、むしろかなり異なるものである。FMdは1個の周波数時系列であるが、離散時刻tにおける振幅が大きい周波数成分は複数ある。その周波数成分数に等しい数の音程(その周波数成分に最も近いMIDI周波数(音程))があると考えれば、音程に対応する音符もその数に等しい数だけ存在することになる。すなわち、採譜のための処理103、104、105、106、107の目的は、時間周波数変換Tにより生成されたFMdの各要素を、最も確からしい音符M(i,j)の音符集合
Mi={M(i,j)|j=1,4,7,・・・,3*(c−1)+1}
に変換することである。ここで、音符M(i,j)の音程m(i,j)に近い周波数成分は、時間周波数変換処理Tにより導出されるが、周波数音程変換を必要とする。音符M(i,j)の大きさa(i,j)は、時間周波数変換処理Tにより導出される。大きさa(i,j)は、変換処理Tによる周波数成分の複素数における実部と虚部の2乗和の平方根である。音符M(i,j)の音符長l(i,j)は、音楽サンプリング周波数fcによってサンプリングされた離散時刻tの数によって定義される秒単位の長さである。チャネルの定義は、単鍵チャネルである。各離散時刻にc個の音程があると仮定して、本発明は、c個の複鍵チャネルを同期記述の条件下で生成する。採譜処理の問題は、チャネルの音符集合Miが未知、特に、音程m(i,j)が未知、チャネル数cの数が未知、チャネル内の音符の音符長l(i,j)が未知であることである。
【0049】
今、チャネル数cは、クラスタリング部105によるクラスタリング処理において、クラス数と等価にする。例えば、6と決める。音符番号iは音符時系列のi番目の音符を特定するインデックスである。音符番号iの成分Miの要素M(i,j)は、音符番号iのj列目の音符である。本発明では、さらに、音楽
MT={M(i,j)|i=1,2,・・・,N;
j=1,4,7,・・・,3*(c−1)+1

内の音符M(i,j)の音符長l(i,j)も固定とする。音符長l(i,j)はテンポ解析部104で求められる。音符粒子集合部106が、音符粒子の時系列行と複数チャネル列からなる行列、すなわち、音符長が等しい音符粒子集合を求める。すべての音符粒子の長さは等価である。音符長結合部107の処理によって、小区間の同期記述を満足しながら音符粒子の長さが変更され、各チャネルの音符数はNとして固定化される。
【0050】
音符M(i,j)のMIDI番号をm(i,j)、音程周波数をf(i,j)、音符長をl(i,j+1)、 正規化された音の大きさをa(i,j+2)とすれば、音符M(i,j)は、
M(i,j)=M(m(i,j),l(i,j+1),a(i,j+2))
として表現される。音程周波数f(i,j)とMIDI番号m(i、j)との対応関係は、次式で定義される。
【数1】
ここで、基準となる69はデフォルトのA音のMIDI番号で、440は、A音の周波数(Hz)である。音符M(i,j)のMIDI番号m(i,j)に対応する音程周波数f(i,j)は、単位時間の音符波形の繰り返し数に対応する。音程周波数f(i,j)はひとつなので、逆フーリエ変換(IFFT)を実行すれば、音符M(i,j)は、周波数f(i、j)の正弦波となるが、音符M(i,j)そのものは、音符パルス波であるので、その時間域Tにおける陽的表現は複雑である。また、音符M(i,j)の正規化された音の大きさa(i,j+2)は、FFT変換Tの複素数における実部と虚部の2乗和の平方根に対応する。音符長l(i,j+1)は音符M(i,j)の始点時刻から終点時刻までのサンプリング点数に(1/fc)を掛けた長さであるが、個々の音符M(i,j)の音符長l(i,j+1)を混合波から求めることは非常に難しい。そこで、複鍵チャネルにおける音符粒子の音程(MIDI周波数)の音符長(平均時間)をテンポ解析部104にて求めることが重要となる。
【0051】
FFT処理を含むテンポ解析について説明する。テンポ解析部104のテンポ解析によって、楽譜の音符粒子集合のすべての音符粒子に共通な音符長を求める。解析は、抽出、すなわち、1分間の拍数BPM(Beats Per Minute)をWavファイルから抽出することである。抽出は、時系列情報の統計処理、FFT、畳み込み、相関などの信号処理を必要とする。人間は、リズムを理解するが、計算機10は、音のエネルギー(音量、振幅値の2乗)の差分情報から生成する。この差分情報は、周波数サブバンドの帯域分割ごとに生成されるべきである。各音源(楽器)の周波数帯域が異なるからである。そして、ステレオ音楽であれば、左音と右音ごとに生成される。次の解析は、帯域の分割数分実行される。
【0052】
各サブバンド帯域において、先ず、サンプリング周波数をfc=44,100Hzとし、Wavファイル(例えば、Data Size = 43,057,152)をフレーム数DN(例えば、4096*2)に分割し、フレームごとの音量(平均エネルギー)を次式に従って求める。
【数2】
ここで、D(n)は フレーム内のn番目のデータの振幅値である。また、例えば、sizeof(short)=8とし、 Nf=Data Size/sizeof(short)/2/DNは、フレーム数(例えば、1314)とする。音量
【数3】
は、m=0,1,・・・,Nf−1番目の各フレームの音量(平均エネルギー)である。解析時間は、フレーム数Nf(1,314)*フレーム内サンプル数(DN*(1/fc))=244.088163である。DNは各フレームのサンプリング数に対応するので、フレームの長さLfは
Lf=DN/fc(0.1857s)
で一定とする。
【0053】
次に、隣接するフレームの音量増加量を求める。m番目のフレームの音量をX(m)としたとき、減少する場合は0とし、増加差分、
DX(m)= X(m) &#8211; X(m−1)
を求める。X(m)=X[m]である。その増加差分DXの周波数成分をテンポ解析部104内にて求める。m番目のフレームの音量の増加差分DX(m)が時間域のデータである。また、フレームのサンプリング周波数をfsとしたとき、BPM(Beats Per Minute)、すなわち、1分間(60s)に刻む拍数がテンポ解析における周波数の定義となる。周波数域の定義は、BPM空間域となる。すなわち、BMP値を60から240まで変化させる。そして、各BPM空間の関数DX(m)対するFFTの実部Rと虚部Qを次式から導出する。
【数4】
ここで、fbはBPM値/60、fs=(1/Lf)はサンプリング周波数fc/(フレームのサンプル数DN)である。実際は、窓関数による波形端部の補正処理を含む。
【0054】
音符粒子の音符長解析は、BPM空間の周波数R(fb)、Q(fb)から求める方法となる。生のWav波形は、各音符区域の開始位置で音量が増加する特性があり、しかも、その音量の増加量は周期的現象となる。BPM空間において、各振幅値Aの最大値を検出する。音符長は、最大値の周波数BPMmの逆数として定義され、抽出される。すなわち、解析の処理の流れは、Wavファイルのフレーム分割、隣接フレームの音量変化の取得、その時間変化分のFFT、振幅最大の周波数成分の検出、振幅最大の周波数成分の逆数の算出、となる。以上により、BPM空間におけるFFTを使って、音符粒子時系列の周期,すなわち、ひとつの平均音符長Lを求めることができる。音符粒子の平均音符長L(s)は、例えば、64分音符の長さに固定される場合もあるが、曲依存値として、
L =60/BPMm
となる。以上の手続きをサイドバンド帯域ごとに実行する。
【0055】
他の方法として、時間t、遅延変数Tiとする学習インパルス信号I(t−Ti)を使う方法(非特許文献3)がある。学習インパルス信号I(t−Ti)は、インデックスmを1からNfまでインクリメントするFor文
For(m=0;m<Nf;m++){
if ((m%Ti)=0)
I[m](実部) = Amp;
else
I[m](実部) =J[m](虚部) =0;

となるC言語で記述される。記述は、m%Ti=0,すなわち、離散時刻Tiのみ関数値が一定値Ampをもち、それ以外の時間区域では0となる関数である。非常に簡単に生成できる。時間域において、信号DX(m)と学習インパルス信号I(m−Ti)との離散畳み込み積分は、いわば、2信号の類似性を表現する。BMPの周波数域において、FFT(DX(m))とFFT((I(m−Ti))との積からエネルギーEが計算できる。周波数域において、エネルギーEの大きさ|E|が最大Emaxとなる学習インパルス信号I(m−Ti)の周期Tmaxを求めることができる。すなわち、BPM値を、例えば、60から240までを適当なステップごとに変化させて、大きさ|E|が最大となるBPMmを値とする。音符粒子の音符長は、
L=60/BPMm
として導出できる。以上の手続きをサイドバンド帯域ごとに実行する。
【0056】
次に、クラスタリング部105において、音符粒子の音程(MIDI番号)の集合を求める。ステレオWavファイルの左音と右音を分けて実行する。時間域と周波数域におけるサンプリング周波数を同じfc(=44,100)、フレームのサンプリング数をDN(4096*2)とする。フレーム周期(時間)はLf=DN/fcである。変換部103における時間周波数変換FFTの結果を周波数f(t)とする。周波数f(t)と離散時刻t、すなわち、周期Lfごとの時刻には関係がある。離散時刻tの周波数f(t)は,
帯域0<f(t)<DN/2において,
f(t)=t*(1/Lf)
帯域DN/2<=f(t)<DNにおいて,
f(t)=(DN−t)/Lf
となる。これは時間周波数の変換基本式であって、積パラメータあるいはオフセットパラメータで補正され、それをf(t)とする。
【0057】
周波数f(t)に対応するMIDI番号(音程周波数)は、intの整数化を使って
[数1]の逆関数として、
MIDI番号=(int)(69.0+12.0*log2(f(t)/440.0))
となる。MIDI番号は,各フレームDN内のスペクトルf(t)に対応するので、その抽出数はDN個存在する。多数である。そこで、正規化された最大振幅値Amaxを有する線スペクトルfmax(t)を基準として,倍率パラメータbaiに対する下限振幅値bai*Amaxから上限振幅値AmaxまでのR個の線スペクトル
F={fk(t)|k=0,1,2,・・・,R}
に限定して抽出する。抽出数Rは各フレーム m=0,1,2,・・・,Nf−1ごとに異なるので、Rをチャネル数cに固定する処理、すなわち、c個のクラスタのクラスタリング処理をクラスタリング部105にて実行する。
【0058】
音符粒子集合のクラスタリング処理を説明する。R<cのときは、抽出されたR個のMIDI番号中から適切なMIDI番号を(c−R)個複写する。チャネル数は必ずcとなる。R>cのときは、抽出されたR個の中からk−means法によりクラスタリングすることになる。k−means法は、MIDI番号集合において、c個のクラスタ重心(MIDI番号)に距離が近く、かつ、c個のクラスタ重心間の距離が大きくなるようにクラスタ重心を見つけるアルゴリズムである。c個のクラスタ重心に対応するc個のMIDI番号のみを選択することになる。デフォルトは、c=6、bai=0.4である。抽出数Rが大きすぎる場合もあるので、曲依存で倍率baiを選択する必要がある。k−meansの真の解を求める問題はNP困難となるが、6チャネル程度の音符粒子の集合を求めるk−means法は高速である。k−means法は初期値依存性などの欠点もある。他のクラスタリング手法、例えば、アフィニティマトリックス法、行列クラスタリング法、隣接行列クラスタリング法、相関行列クラスタリング法などを使ってもよい。例えば、クラスタリング処理後の音符粒子集合の展開型エクセル楽譜を表3に示す。
【表3】
【0059】
1列目は、メロディ1の音符粒子のMIDI番号である。2目が音符粒子の音符長列で、すべて、0.253165と等価である。3目は、メロディ1の音符粒子の大きさである。4目はメロディ2の音符粒子のMIDI番号である。5目がメロディ2の音符粒子の音符長列で、すべて等価である。6目は、メロディ2の音符粒子の大きさである。7目はメロディ3の音符粒子のMIDI番号である。8目がメロディ3の音符粒子の音符長列で、すべて等価である。9目は、メロディ4の音符粒子のMIDI番号である。10目がメロディ4の音符粒子の音符長列で、すべて等価である。11目は、メロディ5の音符粒子のMIDI番号である。12目は、メロディ5の音符粒子の音符長で、すべて等価である。13目は、メロディ6の音符粒子のMIDI番号である。14目は、メロディ6の音符粒子の音符長で、すべて等価である。なお、メロディ3,4,5,6は、大きさが予め決められた和音扱いとなっている。すべての音符粒子の音符長は、テンポ解析結果として導出された値で、L=0.253165ですべて同じ値である。このように、各チャネルは、MIDI番号、音符粒子長、および大きさの要素からなる3列で表現されるが、大きさの要素は予め決められているならば削除される。
【0060】
音符長が等価な音符粒子集合の展開型エクセル楽譜に従って演奏すると、同期性と秩序性は高いが、当然、複数音が情緒性のない機械的な音楽になる。そこで、音符長結合部107における音符長結合処理を説明する。音符長が等価な音符粒子集合の展開型エクセル楽譜において、各チャネルは、MIDI番号、音符粒子長、および大きさの要素からなる3列、または、和音展開列の2列で表現される。ただし、自動採譜であるので、和音の再現は不完全となる。音符長結合部107では、行方向に隣接する(行間に休止無音がない)時系列行間の同音程音符粒子の音符長を結合することにより音符の長さを変更する。行方向に近接する(行間に有長休止無音がある)時系列行間の同音程音符粒子の音符長は連結されない。小区間内の時系列行間の同音程音符粒子の音符長は累積され、その小区間の最後の行にある音符長が累積長に変更され、小区間内の他の行は削除または0にされる。音符粒子集合から音符集合への変換である。抽出された音符集合は、同期記述、すなわち、小区間同期の条件を満たす行列として展開型エクセル楽譜となる。
【0061】
音符集合からなる展開型エクセル楽譜を表4に示す。
【表4】
例えば、結合前の状態が表3の展開型エクセル楽譜であるが、音符長結合処理後は、表4の展開型エクセル楽譜となる。表3において、1列目の2行目にあるMIDI番号79は、3行目、4行目、さらに、5行目に連続して存在する。小区間は、4行分である。小区間内の各行の音符粒子の音符長は、それぞれ、0.253165ですべて同じ値である。音符長結合処理後の表4の展開型エクセル楽譜では、MIDI番号79は、表3の5行目にあるMIDI番号79としてまとめられ、音符長は、累積値0.253165*4=1.01266となっている。時系列行間の同音程音符粒子を含む他の小区間において、同様な結合処理が実行される。音符長結合部107の音符長結合処理によって、全体の行数は23から19行に減らされる。以上が、音符粒子集合から音符集合への変換である。抽出された音符集合は、小区間同期の条件を満たす行列で、行列楽譜の展開型エクセル楽譜となる。これが自動楽譜生成、自動採譜である。
【0062】
本発明では、同期記述された行(小区間)からなる音符長等価な音符粒子集合を生成し、時系列行間の同音程音符粒子を含む同期小区間内で音符長を結合して音符集合に変換している。同期記述の範囲での行列変換である。音楽セル集合MTの展開型エクセル楽譜生成時には、チャネル間に渡る列方向の書き込み処理を含み、その展開型エクセル楽譜の読み出し時には、その読み出し処理は、チャネルごとの行方向で実行される。音楽セル集合MTの展開型エクセル楽譜は、計算機10によって5線楽譜に変換されてもよい。処理部110にて、展開型エクセル楽譜は、汎用のMIDI.csvに変換される。この変換に新規性がある。変換後は、汎用のMIDIシステムを使うことができる。複数チャネルの音源付き演奏が、デスプレィ上で、トラックリスト表示、ピアノロール表示、イベントリスト表示、自動5線音符表示のうち少なくとも1つを動画表示しながら、計算機10によって実行される。編集もできる。図3は、本発明の行列楽譜処理法の処理を実行する計算機10内の音楽システムの画像表示である。MIDIシーケンサのPC上の画面である。上部にあるのが6トラックリストである。メロディのトラックリストが2、和音展開されたトラックリストが4となっている。さらに、下部上側にあるピアノロール、下部左側にあるイベントリスト、下部右側にある自動採譜の譜面ウインドウが表示される。処理部110にて生成されたMIDI.csvは、回路シミュレーション111からの変数と処理部112にて結合されると、Wavファイルに変換され、再生部115にて複数チャネルの同時演奏がPC上で実行される。処理部110にて生成されたMIDI.csvは、MIDI.midに変換され、再生部115において音が再生される場合もある。
【0063】
本発明では、圧縮型エクセル楽譜は、小区間同期が記述された5線楽譜対応の媒体で、PC演奏、PC保存、インターネット通信の容易なITC媒体となる。展開型エクセル楽譜は、複数チャネルの時系列音符集合の各チャネルの音符の音程、音符長、大きさが列方向に展開されたICT媒体となる。ユーザにとって、極めて理解し易いエクセル楽譜の媒体である。展開型エクセル楽譜は、音楽の音の波から小区間同期の条件を満たす行列楽譜として自動生成され、複鍵チャネルを含む複数チャネルとして採譜される。
【産業上の利用可能性】
【0064】
産業の利用分野として、音楽の自動採譜、自動編曲、音楽情報検索、音楽の加工がある。本発明の行列楽譜は、ユーザにとって、高データベース性、高圧縮性、高使用性、高理解性、高表現性、高通信性、高同期性を有し、複数PCのオーケストラ演奏化、インターネット配信化に利用できる。本発明の行列楽譜処理法は、演奏の音から自動でエクセル楽譜、あるいは5線楽譜を作成することを含み、自動楽譜による複数チャネル演奏は、元の楽譜演奏とは異なる編曲された近似音楽となる。そのことが逆に新しい編曲産業を生む。
【0065】
クライアント側からの要求に基づいて、サーバ側のデータベースにある圧縮型エクセル楽譜あるいは展開型エクセル楽譜がインターネット媒体としてクライアント側にダウンロードされる。複数チャネルの音源付き演奏は、トラックリスト表示、ピアノロール表示、自動5線音符表示、イベントリスト表示のうち少なくとも1つを動画表示しながら、実行される。あるいは、自分の音源を回路シミュレータにて生成し、自分のWav音を聞いて楽しむこともできる。
【符号の説明】
【0066】
1 本発明の行列楽譜生成法の主要な部
100 5線楽譜認識部
101 圧縮型エクセル生成部
102 和音展開、繰り返し記号展開部
103 時間周波数変換(FFT)部
104 テンポ解析(音符粒子長解析)部
105 クラスタリング(k−means法)部
106 音符粒子集合部
107 音符長結合部
108 展開型エクセル生成処理部
109 MIDItoWAV変換部
110 MIDI.csv生成部
111 回路シミュレーション部
112 音源(wavファイル)生成部
113 標準音源生成部かつmidファイル生成部
114 トラックリスト、ピアノロール、イベントリスト、5線楽譜自動生成部
115 音の再生部

10 計算機(PC)
11 記憶部
12 演算部
13 制御部
14 入力部
15 出力部