(57)【特許請求の範囲】
【請求項１】
楽音の音高を示すデータに応答してコンピュータによる演算により楽譜に音符を表示するための音名表記方法において、
音名に応じて異なる数値を割り当てるべく前記コンピュータのＣＰＵの演算処理により、次の対応関係の数値又はこの数値の１次関数として表される数値を割り当て、
【表１】
0003771657.tif 000006
0003771657.tif 000007
音名に数値をＦＤＮとして割り振るＦＤＮ付与方法を用いて、前記楽音の音高を示すデータにより特定される各音に対する前記コンピュータのＣＰＵの演算処理として、
音符の表記上＃又はｂを付けるべき派生音については２つのＦＤＮの内、数値の小さいものを第１ＦＤＮ、数値の大きいものを第２ＦＤＮとして暫定的に求めるステップと、
前記＃又はｂの付いた派生音に続く楽譜上での後の音で、かつ幹音のＦＤＮを第３ＦＤＮとして求めるステップと、
前記第１ＦＤＮと前記第３ＦＤＮの差の絶対値を第１の差として演算するステップと、
前記第２ＦＤＮと前記第３ＦＤＮの差の絶対値を第２の差として演算するステップと、
前記第１の差と前記第２の差を比較して小さい方を求めるステップと、
前記小さい方の差を与える前記第１ＦＤＮ又は前記第２ＦＤＮを選択するステップと、
前記第１ＦＤＮが選択されたときは前記派生音はｂの付いた派生音として表記し、一方前記第２ＦＤＮが選択されたときは前記派生音は＃の付いた派生音として表記するステップとを、
有することを特徴とする音名表記方法。
【請求項２】
前記＃又はｂの付いた派生音の後に続く音がないときは、前記＃又はｂの付いた派生音の前の音で、かつ幹音のＦＤＮを第４ＦＤＮとして求めるステップと、
前記第１ＦＤＮと前記第４ＦＤＮの差の絶対値を第３の差として演算するステップと、
前記第２ＦＤＮと前記第４ＦＤＮの差の絶対値を第４の差として演算するステップと、
前記第３の差と前記第４の差を比較して小さい方を求めるステップと、
前記小さい方の差を与える前記第１ＦＤＮ又は前記第２ＦＤＮを選択するステップと、
前記第１ＦＤＮが選択されたときは前記派生音はｂの付いた派生音として表記し、一方前記第２ＦＤＮが選択されたときは前記派生音は＃の付いた派生音として表記するステップとを、
更に有することを特徴とする請求項１記載の音名表記方法。
【請求項３】
前記＃又はｂの付いた派生音と共に和音を構成する音があるときは、和音を構成する音で、かつ幹音のＦＤＮを第５ＦＤＮとして求めるステップと、
前記第１ＦＤＮと前記第５ＦＤＮの差の絶対値を第５の差として演算するステップと、
前記第２ＦＤＮと前記第５ＦＤＮの差の絶対値を第６の差として演算するステップと、
前記第５の差と前記第６の差を比較して小さい方を求めるステップと、前記小さい方の差を与える前記第１ＦＤＮ又は前記第２ＦＤＮを選択するステップと、
前記第１ＦＤＮが選択されたときは前記派生音はｂの付いた派生音として表記し、一方前記第２ＦＤＮが選択されたときは前記派生音は＃の付いた派生音として表記するステップとを、
更に有することを特徴とする請求項１又は２記載の音名表記方法。
【請求項４】
楽音の音高を示すデータに応答してコンピュータによる演算により楽譜に音符を表示するための音名表記方法において、
音名に応じて異なる数値を割り当てるべく前記コンピュータのＣＰＵの演算処理により、次の対応関係の数値又はこの数値の１次関数として表される数値を割り当て、
【表１】
0003771657.tif 000008
0003771657.tif 000009
音名に数値をＦＤＮとして割り振るＦＤＮ付与方法を用いて、前記楽音の音高を示すデータにより特定される各音に対する前記コンピュータのＣＰＵの演算処理として、
音符の表記上＃又はｂを付けるべき派生音については２つのＦＤＮの内、数値の小さいものを第１ＦＤＮ、数値の大きいものを第２ＦＤＮとして暫定的に求めるステップと、
前記＃又はｂの付いた派生音と共に和音を構成する音があるときは、和音を構成する音で、かつ幹音のＦＤＮを第３ＦＤＮとして求めるステップと、
前記第１ＦＤＮと前記第３ＦＤＮの差の絶対値を第１の差として演算するステップと、
前記第２ＦＤＮと前記第３ＦＤＮの差の絶対値を第２の差として演算するステップと、
前記第１の差と前記第２の差を比較して小さい方を求めるステップと、
前記小さい方の差を与える前記第１ＦＤＮ又は前記第２ＦＤＮを選択するステップと、
前記第１ＦＤＮが選択されたときは前記派生音はｂの付いた派生音として表記し、一方前記第２ＦＤＮが選択されたときは前記派生音は＃の付いた派生音として表記するステップとを、
有することを特徴とする音名表記方法。
【請求項５】
楽音の音高を示すデータに応答してコンピュータによる演算により楽譜に音符を表示するための音名表記方法において、
音名に応じて異なる数値を割り当てるべく前記コンピュータのＣＰＵの演算処理により、次の対応関係の数値又はこの数値の１次関数として表される数値を割り当て、
【表１】
0003771657.tif 000010
0003771657.tif 000011
音名に数値をＦＤＮとして割り振るＦＤＮ付与方法を用いて、前記楽音の音高を示すデータにより特定される各音に対する前記コンピュータのＣＰＵの演算処理として、
楽音の音高を示すデータが入力されたとき、そのデータにより示される音高の音符の表記上＃又はｂを付けるべき派生音については２つのＦＤＮの内、数値の小さいものを第１ＦＤＮ、数値の大きいものを第２ＦＤＮとして暫定的に求めるステップと、
前記＃又はｂの付いた派生音のデータに続いて入力されたデータの音で、かつ幹音のＦＤＮを第３ＦＤＮとして求めるステップと、
前記第１ＦＤＮと前記第３ＦＤＮの差の絶対値を第１の差として演算するステップと、
前記第２ＦＤＮと前記第３ＦＤＮの差の絶対値を第２の差として演算するステップと、
前記第１の差と前記第２の差を比較して小さい方を求めるステップと、
前記小さい方の差を与える前記第１ＦＤＮ又は前記第２ＦＤＮを選択するステップと、
前記第１ＦＤＮが選択されたときは前記派生音はｂの付いた派生音として表記し、一方前記第２ＦＤＮが選択されたときは前記派生音は＃の付いた派生音として表記するステップとを、
有することを特徴とする音名表記方法。
【請求項６】
前記＃又はｂの付いた派生音の後に続くデータががないときは、前記＃又はｂの付いた派生音のデータの前のデータの音で、かつ幹音のＦＤＮを第４ＦＤＮとして求めるステップと、
前記第１ＦＤＮと前記第４ＦＤＮの差の絶対値を第３の差として演算するステップと、
前記第２ＦＤＮと前記第４ＦＤＮの差の絶対値を第４の差として演算するステップと、
前記第３の差と前記第４の差を比較して小さい方を求めるステップと、
前記小さい方の差を与える前記第１ＦＤＮ又は前記第２ＦＤＮを選択するステップと、
前記第１ＦＤＮが選択されたときは前記派生音はｂの付いた派生音として表記し、一方前記第２ＦＤＮが選択されたときは前記派生音は＃の付いた派生音として表記するステップとを、
更に有することを特徴とする請求項５記載の音名表記方法。
【請求項７】
楽音の音高を示すデータに応答して楽譜に音符を表示するための音名表記装置において、
音名に応じて異なる数値を割り当てるべく前記コンピュータのＣＰＵの演算処理により、次の対応関係の数値又はこの数値の１次関数として表される数値を割り当て、
【表１】
0003771657.tif 000012
0003771657.tif 000013
音名に数値をＦＤＮとして割り振るＦＤＮ付与方法を用いて、前記楽音の音高を示すデータにより特定される各音に対する前記コンピュータのＣＰＵの演算処理として、
前記楽音の音高を示すデータにより特定される各音に対する処理を行うにあたり、
音符の表記上＃又はｂを付けるべき派生音については２つのＦＤＮの内、数値の小さいものを第１ＦＤＮ、数値の大きいものを第２ＦＤＮとして暫定的に求める手段と、
前記＃又はｂの付いた派生音の後の音で、かつ幹音のＦＤＮを第３ＦＤＮとして求める手段と、
前記第１ＦＤＮと前記第３ＦＤＮの差の絶対値を第１の差として演算する手段と、
前記第２ＦＤＮと前記第３ＦＤＮの差の絶対値を第２の差として演算する手段と、
前記第１の差と前記第２の差を比較して小さい方を求める手段と、
前記小さい方の差を与える前記第１ＦＤＮ又は前記第２ＦＤＮを選択する手段と、
前記第１ＦＤＮが選択されたときは前記派生音はｂの付いた派生音として表記し、一方前記第２ＦＤＮが選択されたときは前記派生音は＃の付いた派生音として表記する手段とを、
有することを特徴とする音名表記装置。
【請求項８】
前記＃又はｂの付いた派生音の後に続く音がないときは、前記＃又はｂの付いた派生音の前の音で、かつ幹音のＦＤＮを第４ＦＤＮとして求める手段と、
前記第１ＦＤＮと前記第４ＦＤＮの差の絶対値を第３の差として演算する手段と、
前記第２ＦＤＮと前記第４ＦＤＮの差の絶対値を第４の差として演算する手段と、
前記第３の差と前記第４の差を比較して小さい方を求める手段と、
前記小さい方の差を与える前記第１ＦＤＮ又は前記第２ＦＤＮを選択する手段と、
前記第１ＦＤＮが選択されたときは前記派生音はｂの付いた派生音として表記し、一方前記第２ＦＤＮが選択されたときは前記派生音は＃の付いた派生音として表記する手段とを、
更に有することを特徴とする請求項７記載の音名表記装置。
【請求項９】
前記＃又はｂの付いた派生音と共に和音を構成する音があるときは、和音を構成する音で、かつ幹音のＦＤＮを第５ＦＤＮとして求める手段と、
前記第１ＦＤＮと前記第５ＦＤＮの差の絶対値を第５の差として演算する手段と、
前記第２ＦＤＮと前記第５ＦＤＮの差の絶対値を第６の差として演算する手段と、
前記第５の差と前記第６の差を比較して小さい方を求める手段と、
前記小さい方の差を与える前記第１ＦＤＮ又は前記第２ＦＤＮを選択する手段と、
前記第１ＦＤＮが選択されたときは前記派生音はｂの付いた派生音として表記し、一方前記第２ＦＤＮが選択されたときは前記派生音は＃の付いた派生音として表記する手段とを、
更に有することを特徴とする請求項７又は８記載の音名表記装置。
【請求項１０】
楽音の音高を示すデータに応答して楽譜に音符を表示するための音名表記装置において、
音名に応じて異なる数値を割り当てるべく前記コンピュータのＣＰＵの演算処理により、次の対応関係の数値又はこの数値の１次関数として表される数値を割り当て、
【表１】
0003771657.tif 000014
0003771657.tif 000015
音名に数値をＦＤＮとして割り振るＦＤＮ付与方法を用いて、前記楽音の音高を示すデータにより特定される各音に対する前記コンピュータのＣＰＵの演算処理として、
前記楽音の音高を示すデータにより特定される各音に対する処理を行うにあたり、
音符の表記上＃又はｂを付けるべき派生音については２つのＦＤＮの内、数値の小さいものを第１ＦＤＮ、数値の大きいものを第２ＦＤＮとして暫定的に求める手段と、
前記＃又はｂの付いた派生音と共に和音を構成する音があるときは、和音を構成する音で、かつ幹音のＦＤＮを第３ＦＤＮとして求める手段と、
前記第１ＦＤＮと前記第３ＦＤＮの差の絶対値を第１の差として演算する手段と、
前記第２ＦＤＮと前記第３ＦＤＮの差の絶対値を第２の差として演算する手段と、
前記第１の差と前記第２の差を比較して小さい方を求める手段と、
前記小さい方の差を与える前記第１ＦＤＮ又は前記第２ＦＤＮを選択する手段と、
前記第１ＦＤＮが選択されたときは前記派生音はｂの付いた派生音として表記し、一方前記第２ＦＤＮが選択されたときは前記派生音は＃の付いた派生音として表記する手段とを、
有することを特徴とする音名表記装置。
【請求項１１】
楽音の音高を示すデータに応答してコンピュータによる演算により各音に１２を法とする複数の整数値が対応するように各音に数値を割り当てる音高の数値化方法において、
前記楽音の音高を示すデータにより特定される各音に対する前記コンピュータのＣＰＵの演算処理として、
音名に応じて異なる数値を割り当てるべく前記コンピュータのＣＰＵの演算処理により、次の対応関係の数値又はこの数値の１次関数として表される数値を割り当て、
【表１】
0003771657.tif 000016
0003771657.tif 000017
音名に数値を割り振るステップとを、
有する音高の数値表現方法。
【請求項１２】
前記音名に数値を割り振るステップが、１オクターブを構成する１２音単位で繰り返されるよう割り振るものである請求項１１記載の音高の数値表現方法。
【請求項１３】
ＭＩＤＩのキーノートナンバーに対応してコンピュータによる演算により各キーノートナンバーが有する複数の音の表記に応じて異なる数値を割り当てる音高数値化方法において、
前記コンピュータのＣＰＵの演算処理により、次の対応関係の数値又はこの数値の１次関数として表される数値を割り当て、
【表２】
0003771657.tif 000018
0003771657.tif 000019
１オクターブを構成する１２鍵の各鍵に与えられた数値が１２鍵単位で繰り返して各鍵の音名に数値を割り振ることを特徴とする音高の数値表現方法。
【請求項１４】
請求項１１記載の音高の数値表現方法により表現された異なる７つの数値の配列範囲が、０〜６であればハ長調、１〜７であればト長調、２〜８であればニ長調、３〜９であればイ長調、−３〜３であれば変ホ長調というように調性を判断する調性判断方法。
【請求項１５】
ＭＩＤＩデータのステータスバイトに続くデータバイトのうち、ピアノの最低音のキーノートナンバーである２１より小さい値のキーノートナンバー０から２０と、ピアノの最高音のキーノートナンバーである１０８より大きい値である１０９から１２７の音の表記に対して請求項１３記載の音の表記に対応する数値をコンピュータのＣＰＵによる演算により割り当てる音高数値化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、楽音の音高を表記する方法及び装置並びにそのために用いられる音高の数値化方法に関し、特に音名表記方法、音名表記装置、音高の数値表現方法、調性の判断方法並びに音高数値化方法に関する。
【０００２】
【従来の技術】
楽音情報を用いて楽譜を生成するための種々のソフトウエアが実用化されている。これらのソフトウエアとしては、シンガーソングライタ（Singer Song Writer V3 for Windows）（有）インターネット 、キューベーススコア（CUBASE SCORE） Steinberg 社、ケークウオークプロフェショナル（Cake Walk Professional for Windows） TWELVE TONE SYTEMS社、ラプソディー（Rapsody for Windows） Passport  社、フィナーレ（Finale）などがある。
【０００３】
コンピューターを使った、音楽データは、世界標準規格であるＭＩＤＩにおいて、ノートナンバー 0〜127 が割り当てられ、中央のＣ（一点ハ）の音を  60とし、上下に全く半音階的に（無機的に）、それぞれプラスマイナスした数字を対応させている。普及している88鍵のピアノでは、最低音が 21 最高音が 108となる。こういったコンピューター用の音楽データ（ＭＩＤＩシーケンスデータ）の鍵盤情報（音の高さ、すなわち鍵盤上の位置、音の長さ他）を、図１５に示すような装置により楽譜にしてディスプレイあるいはプリンタへと出力する。
【０００４】
【発明が解決しようとする課題】
ＭＩＤＩの鍵盤情報は各鍵に対応する番号をコード化したものである。ＭＩＤＩ信号を用いて音源を駆動する場合、何等問題を生じることなく、正しい演奏なり再生が可能である。しかし、ＭＩＤＩの鍵盤情報は異名同音（エンハーモニック）を区別してはいないので、上記従来のソフトウエアを用いてＭＩＤＩ信号を楽譜に表記する場合、かかる異名同音については、どちらか一方に無原則に決められてしまう。例えば、本来｛レ｝のシャープＤ＃で書かれるべきところが｛ミ｝のフラットＥｂで書かれてしまう。これは嬰変（ｂ＃）のどちらにすべきかという判断の材料が従来はなにもないことから当然の帰結といえる。音楽に携わる者にとっては、かかる異名同音の従来のソフトウエアによる誤った表記は止むを得ないものとして、半ば諦められていた。ソフトウエアによっては、一旦表記した後、誤った表記については、その都度一音一音直すことができるものもあるが、各音につき数理的に整合性がないまま一方の値を決めてあるため、移調したりすると、また表記が乱れてしまうという不都合があった。
【０００５】
同一調内での最も重要で基本的な音や和音は、その調の音階構成音（例えば、ハ長調の場合シャープやフラットなどの臨時記号の付かない音）であることは明白である。｛ド｝の上に成り立つ三和音は｛ドミソ｝であり、｛レ｝の上に成り立つ三和音は｛レファラ｝であるが、既存の鍵盤情報による加減算では、これらの二つの三和音を、その調（この場合ハ長調）の代表する一つの音｛ド｝や｛レ｝では表せない。｛レファラ｝は｛レファ＃ラ｝になってしまい、外調の音が出てきすぎる。専門的には音階の度数表記の方法がなかったということができる。これは一つの例であり、音楽で最も重要な音階構成音優先のソフトウェアが開発できないことを意味する。
【０００６】
図６と図７は従来のソフトウエアによってＭＩＤＩ信号から楽譜を作成した場合の例を示す譜例である。図６のハ長調の譜例１では、一小節目の二拍目の音符の表記はＥｂとなっているが、これは正しくはＤ＃であるべきである。図７のイ長調の譜例２では、＃やｂなどが入り乱れ、判読しにくいばかりか、音楽表記として誤りである。これらの誤りは表記上の問題でなく、従来、音楽的な正しい音程を記述する数値がなかったことによる。
【０００７】
したがって本発明は、楽音情報について音楽的に正しい音高を記述する数値を提供するための音高数値化方法を提供し、これを用いて異名同音を区別することができる音名表記方法及び装置、音高の数値表現方法、調性の判断方法並びに音高数値化方法を提供することを目的とする。
なお、本明細書において、「音名」とは、後述する段落００２４や図１に示すように、１オクターブを構成する１２鍵のそれぞれが有する複数の名称（キーノートナンバー６０の場合は、Ｃ、Ｂ＃、Ｄｂｂ）であって、オクターブ情報を含まないものを指すものとする。
【０００８】
【課題を解決するための手段】
上記目的を達成するため、本発明では楽音の音程を示すデータに応答して各音に数理的に意味のある数値を割り当てるて音程を数値化するに際し、一定の法則に従って１オクターブを構成する１２鍵の各鍵に与えられた数値が１２鍵単位で繰り返し、かつ派生音には１２を法として合同となる２つの数値が与えられるよう各鍵の音名に数値を割り振るようにしている。この特定の方法によって割り振られた数値を用いて＃やｂのついた、いわゆる派生音の異名同音に対して、その音の後の音との関係を分析したり、和音の場合は和音を構成する他の音との関係を分析するなどして音楽的に正しく適切な音名を与えることを可能としている。
【０００９】
ＭＩＤＩにおいて音の高さを決めるただ一つ拠り所としているキーノートナンバーだけでは、実際に使われる音楽的な意味での全音階的(diatonic)な情報あるいは、何の音の派生音(例えばファの＃というのは幹音ファの派生音となる。)であるかといった嬰変の区別などの情報は表せない。このキーノートナンバーに、補助的な３１の数値を対応させ、音程や音階、調性などを、音楽理論からみても正しく、合理的数理的に表記、分析できるようにしている。
【００１０】
この数値を本発明では fundermantal number 略してＦＤＮ（エフディーエヌ）と呼ぶことにする。このＦＤＮは異名同音（嬰変）を区別するための合理的な数値で、大切なことは、調性概念を表記できることである。このＦＤＮの簡単な演算、比較により、上記の従来技術の欠点をすべてクリアーできるのである。
【００１１】
すなわち、本発明によれば、
１．派生音や変化音などがあったとき、全体的な音階や前後の音のＦＤＮの比較により、嬰変（＃ｂ）の判定ができる。
２．どの調性においても全く同じ方法で解析できる。すなわち楽曲データの移調に際しても完璧に追従する。
３．音と音との関係をうまく種類分けしているので、音列から音階を判断する上でも、これまでの方法と比べ、扱う場合の数が激減する。
４．音の幹音内での音型の移動が、簡単な数値の演算で可能になる。
【００１２】
本発明によれば、楽音の音高を示すデータに応答してコンピュータによる演算により楽譜に音符を表示するための音名表記方法において、
音名に応じて異なる数値を割り当てるべく前記コンピュータのＣＰＵの演算処理により、次の対応関係の数値又はこの数値の１次関数として表される数値を割り当て、
【表１】
音名       割り当てる数値 
Ｃ               １
Ｂ＃           １３
Ｄｂｂ       −１１
Ｄｂ           −４
Ｃ＃             ８
Ｄ               ３
Ｃ＃＃         １５
Ｅｂｂ         −９
Ｅｂ           −２
Ｄ＃           １０
Ｅ               ５
Ｄ＃＃         １７
Ｆｂ           −７
Ｆ               ０
Ｅ＃           １２
Ｇｂｂ       −１２
Ｇｂ           −５
Ｆ＃             ７
Ｇ               ２
Ｆ＃＃         １４
Ａｂｂ       −１０
Ａｂ           −３
Ｇ＃             ９
Ａ               ４
Ｇ＃＃         １６
Ｂｂｂ         −８
Ｂｂ           −１
Ａ＃           １１
Ｂ               ６
Ａ＃＃         １８
Ｃｂ           −６
音名に数値をＦＤＮとして割り振るＦＤＮ付与方法を用いて、前記楽音の音高を示すデータにより特定される各音に対する前記コンピュータのＣＰＵの演算処理として、
音符の表記上＃又はｂを付けるべき派生音については２つのＦＤＮの内、数値の小さいものを第１ＦＤＮ、数値の大きいものを第２ＦＤＮとして暫定的に求めるステップと、
前記＃又はｂの付いた派生音に続く楽譜上での後の音で、かつ幹音のＦＤＮを第３ＦＤＮとして求めるステップと、
前記第１ＦＤＮと前記第３ＦＤＮの差の絶対値を第１の差として演算するステップと、
前記第２ＦＤＮと前記第３ＦＤＮの差の絶対値を第２の差として演算するステップと、
前記第１の差と前記第２の差を比較して小さい方を求めるステップと、
前記小さい方の差を与える前記第１ＦＤＮ又は前記第２ＦＤＮを選択するステップと、
前記第１ＦＤＮが選択されたときは前記派生音はｂの付いた派生音として表記し、一方前記第２ＦＤＮが選択されたときは前記派生音は＃の付いた派生音として表記するステップとを、
有することを特徴とする音名表記方法が提供される。
【００１３】
また本発明によれば、楽音の音高を示すデータに応答してコンピュータによる演算により楽譜に音符を表示するための音名表記方法において、
音名に応じて異なる数値を割り当てるべく前記コンピュータのＣＰＵの演算処理により、次の対応関係の数値又はこの数値の１次関数として表される数値を割り当て、
【表１】
音名       割り当てる数値 
Ｃ               １
Ｂ＃           １３
Ｄｂｂ       −１１
Ｄｂ           −４
Ｃ＃             ８
Ｄ               ３
Ｃ＃＃         １５
Ｅｂｂ         −９
Ｅｂ           −２
Ｄ＃           １０
Ｅ               ５
Ｄ＃＃         １７
Ｆｂ           −７
Ｆ               ０
Ｅ＃           １２
Ｇｂｂ       −１２
Ｇｂ           −５
Ｆ＃             ７
Ｇ               ２
Ｆ＃＃         １４
Ａｂｂ       −１０
Ａｂ           −３
Ｇ＃             ９
Ａ               ４
Ｇ＃＃         １６
Ｂｂｂ         −８
Ｂｂ           −１
Ａ＃           １１
Ｂ               ６
Ａ＃＃         １８
Ｃｂ           −６
音名に数値をＦＤＮとして割り振るＦＤＮ付与方法を用いて、前記楽音の音高を示すデータにより特定される各音に対する前記コンピュータのＣＰＵの演算処理として、
音符の表記上＃又はｂを付けるべき派生音については２つのＦＤＮの内、数値の小さいものを第１ＦＤＮ、数値の大きいものを第２ＦＤＮとして暫定的に求めるステップと、
前記＃又はｂの付いた派生音と共に和音を構成する音があるときは、和音を構成する音で、かつ幹音のＦＤＮを第３ＦＤＮとして求めるステップと、
前記第１ＦＤＮと前記第３ＦＤＮの差の絶対値を第１の差として演算するステップと、
前記第２ＦＤＮと前記第３ＦＤＮの差の絶対値を第２の差として演算するステップと、
前記第１の差と前記第２の差を比較して小さい方を求めるステップと、
前記小さい方の差を与える前記第１ＦＤＮ又は前記第２ＦＤＮを選択するステップと、
前記第１ＦＤＮが選択されたときは前記派生音はｂの付いた派生音として表記し、一方前記第２ＦＤＮが選択されたときは前記派生音は＃の付いた派生音として表記するステップとを、
有することを特徴とする音名表記方法が提供される。
【００１４】
また本発明によれば、楽音の音高を示すデータに応答してコンピュータによる演算により楽譜に音符を表示するための音名表記方法において、
音名に応じて異なる数値を割り当てるべく前記コンピュータのＣＰＵの演算処理により、次の対応関係の数値又はこの数値の１次関数として表される数値を割り当て、
【表１】
音名       割り当てる数値 
Ｃ               １
Ｂ＃           １３
Ｄｂｂ       −１１
Ｄｂ           −４
Ｃ＃             ８
Ｄ               ３
Ｃ＃＃         １５
Ｅｂｂ         −９
Ｅｂ           −２
Ｄ＃           １０
Ｅ               ５
Ｄ＃＃         １７
Ｆｂ           −７
Ｆ               ０
Ｅ＃           １２
Ｇｂｂ       −１２
Ｇｂ           −５
Ｆ＃             ７
Ｇ               ２
Ｆ＃＃         １４
Ａｂｂ       −１０
Ａｂ           −３
Ｇ＃             ９
Ａ               ４
Ｇ＃＃         １６
Ｂｂｂ         −８
Ｂｂ           −１
Ａ＃           １１
Ｂ               ６
Ａ＃＃         １８
Ｃｂ           −６
音名に数値をＦＤＮとして割り振るＦＤＮ付与方法を用いて、前記楽音の音高を示すデータにより特定される各音に対する前記コンピュータのＣＰＵの演算処理として、
楽音の音高を示すデータが入力されたとき、そのデータにより示される音高の音符の表記上＃又はｂを付けるべき派生音については２つのＦＤＮの内、数値の小さいものを第１ＦＤＮ、数値の大きいものを第２ＦＤＮとして暫定的に求めるステップと、
前記＃又はｂの付いた派生音のデータに続いて入力されたデータの音で、かつ幹音のＦＤＮを第３ＦＤＮとして求めるステップと、
前記第１ＦＤＮと前記第３ＦＤＮの差の絶対値を第１の差として演算するステップと、
前記第２ＦＤＮと前記第３ＦＤＮの差の絶対値を第２の差として演算するステップと、
前記第１の差と前記第２の差を比較して小さい方を求めるステップと、
前記小さい方の差を与える前記第１ＦＤＮ又は前記第２ＦＤＮを選択するステップと、
前記第１ＦＤＮが選択されたときは前記派生音はｂの付いた派生音として表記し、一方前記第２ＦＤＮが選択されたときは前記派生音は＃の付いた派生音として表記するステップとを、
有することを特徴とする音名表記方法が提供される。
【００１５】
また本発明によれば、楽音の音高を示すデータに応答して楽譜に音符を表示するための音名表記装置において、
音名に応じて異なる数値を割り当てるべく前記コンピュータのＣＰＵの演算処理により、次の対応関係の数値又はこの数値の１次関数として表される数値を割り当て、
【表１】
音名       割り当てる数値 
Ｃ               １
Ｂ＃           １３
Ｄｂｂ       −１１
Ｄｂ           −４
Ｃ＃             ８
Ｄ               ３
Ｃ＃＃         １５
Ｅｂｂ         −９
Ｅｂ           −２
Ｄ＃           １０
Ｅ               ５
Ｄ＃＃         １７
Ｆｂ           −７
Ｆ               ０
Ｅ＃           １２
Ｇｂｂ       −１２
Ｇｂ           −５
Ｆ＃             ７
Ｇ               ２
Ｆ＃＃         １４
Ａｂｂ       −１０
Ａｂ           −３
Ｇ＃             ９
Ａ               ４
Ｇ＃＃         １６
Ｂｂｂ         −８
Ｂｂ           −１
Ａ＃           １１
Ｂ               ６
Ａ＃＃         １８
Ｃｂ           −６
音名に数値をＦＤＮとして割り振るＦＤＮ付与方法を用いて、前記楽音の音高を示すデータにより特定される各音に対する前記コンピュータのＣＰＵの演算処理として、
前記楽音の音高を示すデータにより特定される各音に対する処理を行うにあたり、
音符の表記上＃又はｂを付けるべき派生音については２つのＦＤＮの内、数値の小さいものを第１ＦＤＮ、数値の大きいものを第２ＦＤＮとして暫定的に求める手段と、
前記＃又はｂの付いた派生音の後の音で、かつ幹音のＦＤＮを第３ＦＤＮとして求める手段と、
前記第１ＦＤＮと前記第３ＦＤＮの差の絶対値を第１の差として演算する手段と、
前記第２ＦＤＮと前記第３ＦＤＮの差の絶対値を第２の差として演算する手段と、
前記第１の差と前記第２の差を比較して小さい方を求める手段と、
前記小さい方の差を与える前記第１ＦＤＮ又は前記第２ＦＤＮを選択する手段と、
前記第１ＦＤＮが選択されたときは前記派生音はｂの付いた派生音として表記し、一方前記第２ＦＤＮが選択されたときは前記派生音は＃の付いた派生音として表記する手段とを、
有することを特徴とする音名表記装置が提供される。
【００１６】
また本発明によれば、楽音の音高を示すデータに応答して楽譜に音符を表示するための音名表記装置において、
音名に応じて異なる数値を割り当てるべく前記コンピュータのＣＰＵの演算処理により、次の対応関係の数値又はこの数値の１次関数として表される数値を割り当て、
【表１】
音名       割り当てる数値 
Ｃ               １
Ｂ＃           １３
Ｄｂｂ       −１１
Ｄｂ           −４
Ｃ＃             ８
Ｄ               ３
Ｃ＃＃         １５
Ｅｂｂ         −９
Ｅｂ           −２
Ｄ＃           １０
Ｅ               ５
Ｄ＃＃         １７
Ｆｂ           −７
Ｆ               ０
Ｅ＃           １２
Ｇｂｂ       −１２
Ｇｂ           −５
Ｆ＃             ７
Ｇ               ２
Ｆ＃＃         １４
Ａｂｂ       −１０
Ａｂ           −３
Ｇ＃             ９
Ａ               ４
Ｇ＃＃         １６
Ｂｂｂ         −８
Ｂｂ           −１
Ａ＃           １１
Ｂ               ６
Ａ＃＃         １８
Ｃｂ           −６
音名に数値をＦＤＮとして割り振るＦＤＮ付与方法を用いて、前記楽音の音高を示すデータにより特定される各音に対する前記コンピュータのＣＰＵの演算処理として、
前記楽音の音高を示すデータにより特定される各音に対する処理を行うにあたり、
音符の表記上＃又はｂを付けるべき派生音については２つのＦＤＮの内、数値の小さいものを第１ＦＤＮ、数値の大きいものを第２ＦＤＮとして暫定的に求める手段と、
前記＃又はｂの付いた派生音と共に和音を構成する音があるときは、和音を構成する音で、かつ幹音のＦＤＮを第３ＦＤＮとして求める手段と、
前記第１ＦＤＮと前記第３ＦＤＮの差の絶対値を第１の差として演算する手段と、
前記第２ＦＤＮと前記第３ＦＤＮの差の絶対値を第２の差として演算する手段と、
前記第１の差と前記第２の差を比較して小さい方を求める手段と、
前記小さい方の差を与える前記第１ＦＤＮ又は前記第２ＦＤＮを選択する手段と、
前記第１ＦＤＮが選択されたときは前記派生音はｂの付いた派生音として表記し、一方前記第２ＦＤＮが選択されたときは前記派生音は＃の付いた派生音として表記する手段とを、
有することを特徴とする音名表記装置が提供される。
【００１８】
また本発明によれば、楽音の音高を示すデータに応答してコンピュータによる演算により各音に１２を法とする複数の整数値が対応するように各音に数値を割り当てる音高の数値化方法において、
前記楽音の音高を示すデータにより特定される各音に対する前記コンピュータのＣＰＵの演算処理として、
音名に応じて異なる数値を割り当てるべく前記コンピュータのＣＰＵの演算処理により、次の対応関係の数値又はこの数値の１次関数として表される数値を割り当て、
【表１】
音名       割り当てる数値 
Ｃ               １
Ｂ＃           １３
Ｄｂｂ       −１１
Ｄｂ           −４
Ｃ＃             ８
Ｄ               ３
Ｃ＃＃         １５
Ｅｂｂ         −９
Ｅｂ           −２
Ｄ＃           １０
Ｅ               ５
Ｄ＃＃         １７
Ｆｂ           −７
Ｆ               ０
Ｅ＃           １２
Ｇｂｂ       −１２
Ｇｂ           −５
Ｆ＃             ７
Ｇ               ２
Ｆ＃＃         １４
Ａｂｂ       −１０
Ａｂ           −３
Ｇ＃             ９
Ａ               ４
Ｇ＃＃         １６
Ｂｂｂ         −８
Ｂｂ           −１
Ａ＃           １１
Ｂ               ６
Ａ＃＃         １８
Ｃｂ           −６
音名に数値を割り振るステップとを、
有する音高の数値表現方法が提供される。
【００１９】
また本発明によれば、ＭＩＤＩのキーノートナンバーに対応してコンピュータによる演算により各キーノートナンバーが有する複数の音の表記に応じて異なる数値を割り当てる音高数値化方法において、
前記コンピュータのＣＰＵの演算処理により、次の対応関係の数値又はこの数値の１次関数として表される数値を割り当て、
【００２０】
【表２】
キーノートナンバー     音の表記       割り当てる数値
６０            Ｃ               １
６０            Ｂ＃           １３
６０            Ｄｂｂ       −１１
６１            Ｄｂ           −４
６１            Ｃ＃             ８
６２            Ｄ               ３
６２            Ｃ＃＃         １５
６２            Ｅｂｂ         −９
６３            Ｅｂ           −２
６３            Ｄ＃           １０
６４            Ｅ               ５
６４            Ｄ＃＃         １７
６４            Ｆｂ           −７
６５            Ｆ               ０
６５            Ｅ＃           １２
６５            Ｇｂｂ       −１２
６６            Ｇｂ           −５
６６            Ｆ＃             ７
６７            Ｇ               ２
６７            Ｆ＃＃         １４
６７            Ａｂｂ       −１０
６８            Ａｂ           −３
６８            Ｇ＃             ９
６９            Ａ               ４
６９            Ｇ＃＃         １６
６９            Ｂｂｂ         −８
７０            Ｂｂ           −１
７０            Ａ＃           １１
７１            Ｂ               ６
７１            Ａ＃＃         １８
７１            Ｃｂ           −６
１オクターブを構成する１２鍵の各鍵に与えられた数値が１２鍵単位で繰り返して各鍵の音名に数値を割り振ることを特徴とする音高の数値表現方法が提供される。
【００２１】
また本発明によれば、上記音高の数値表現方法により表現された異なる７つの数値の配列範囲が、０〜６であればハ長調、１〜７であればト長調、２〜８であればニ長調、３〜９であればイ長調、−３〜３であれば変ホ長調というように調性を判断する調性判断方法が提供される。
【００２２】
また本発明によれば、ＭＩＤＩデータのステータスバイトに続くデータバイトのうち、ピアノの最低音のキーノートナンバーである２１より小さい値のキーノートナンバー０から２０と、ピアノの最高音のキーノートナンバーである１０８より大きい値である１０９から１２７の音の表記に対して上記音の表記に対応する数値をコンピュータのＣＰＵによる演算により割り当てる音高数値化方法が提供される。
【００２３】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について好ましい実施例とともに説明する。図１は本発明に係る音名表記方法に用いられる音程の数値表現方法の手法を示す鍵盤の一部とその音名を示す図である。図１において、 最上部に示した５８〜７４の数値はＭＩＤＩ信号におけるキーノートナンバーである。このうち、キーノートナンバー５８、６１、６３、６６、６８、７０、７３が黒鍵であり、その他が白鍵である。これらの全ての鍵の複数の音名にはＦＤＮと称する数値が割り振られている。すなわち、白鍵には３つのＦＤＮが、黒鍵には２つのＦＤＮがその鍵の音名に対応して割り振られており、これを表にして示すと次のようになる。
【００２４】
【表３】
0003771657.tif 000002
0003771657.tif 000003
【００２５】
上記表には１オクターブ分の音名とそれに対応するＦＤＮが示されているが、１オクターブを構成する１２鍵の各鍵に与えられたこれらのＦＤＮの数値は１２鍵単位で繰り返し、かつ派生音には１２を法として合同となる２つの数値が与えられるようすべての鍵盤の各鍵の音名に数値が割り振られる。なお、１２を法として合同となる２つの数値とは、２つの数値の差が１２又はその整数倍である関係にあるものをいう。
【００２６】
＜ＦＤＮの定義と意味＞
鍵盤のそれぞれの音が正しく表記されるために、あらかじめ図１のように、ダブルシャープなどを含めると−１２から＋１８の数値をＦＤＮとして割り振っておく。前述のように、各オクターブについて同様にＦＤＮが割り振られる。このＦＤＮは各音の音名毎に付されるので、異名同音の異名の部分を区別することができる。すなわちこの場合、白鍵については３通り、黒鍵は値を２通り持たせるが、異名同音のＦＤＮは、１２又を法として合同である。すなわち、同じ（種類の）鍵盤に対して、とり得るＦＤＮの値は２通り又は３通りあり、それぞれの差が１２又は２４になっている。
【００２７】
【表４】
優先値又はデフォルトとして、
白鍵は０から６の値、
黒鍵は（０〜６）に近い値として
C#=８，Eb=−２， F#=７， G#=９， Bb=−１  としておくのもよい。
ＦＤＮの値は、数値が大きいほど＃傾向を示し、次のようになる。
0003771657.tif 000004
このように、ＦＤＮは１２を法とする異名同音を本質的な近親度で計っている（なお、演奏技術の困難さ故に、重嬰や重変の音は実際には用いられることが極めて少ない）ハ長調においては、ＦＤＮは異名同音の区別を含む広い意味での相対度数と考えてよい。
【００２８】
【表５】
ＦＤＮを、その数値の少ないものから大きくなる順番で並べて、対応する音名を一例として表記すると、次のようになる。
Gb, Db, Ab, Eb, Bb, F, C, G, D, A, E, B, F#, C#, G#, D#, A#, E#
-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7,  8,  9   10, 11, 12
【００２９】
【表６】
したがって、音階構成音とＦＤＮの関係を見ると次のようになる。
ハ長調の音階構成音のＦＤＮ … ０〜６
ト長調の音階構成音のＦＤＮ … １〜７
ニ長調の音階構成音のＦＤＮ … ２〜８
一般に記譜上の調号数Ｎ（シャープは＋、フラットは−）の調に対し、音階構成音のＦＤＮは（Ｎ〜Ｎ＋６）となる。これを、音階構成音のＦＤＮの連続性と呼ぶことにする。
【００３０】
＜ＦＤＮによる音楽的数理的な音程の記述＞
１）ＦＤＮを用いると、音と音との近親度を計ることができる。任意の２音のＦＤＮの差の値が、音楽的な音程としての意味を持つので、幹音同士はもとより、派生音の異名同音の優先度を決める尺度となる。
【００３１】
【表７】
ドからミ（ＣとＥ）の音程は          ５−１＝  ４      長三度
ファからラ♭（ＦとＡ♭）の音程は  −３−０＝−３      短三度
ファからソ♯（ＦとＧ♯）の音程は    ９−０＝  ９      増二度
というように表面上は区別できない音程も音楽的数理的に評価できる。
このようにして考え得るすべての音程が図４のように数値化される。
□完全五度音程は +1
□長、増程は＋
□短、減音程は−
□転回形は互いに絶対値が等しく、符号が逆。
□絶対値が大きくなるほど実際の音楽に現れる頻度が小さい。
【００３２】
＜ＦＤＮによる正しい音名の判断＞
異名同音などの混乱を招かないよう、ＦＤＮと共に、ＭＩＤＩでのキーノートナンバー（この場合 (60から71) の値）も用いる。図６の譜例１の誤表記の音の＃（シャープ）やｂ（フラット）を正しく判断するための手法について説明する。前述のように、譜例１では一小節目の二拍目のＥｂが正しくはＤ＃であるべきだが、これを判断するためには、＃又はｂのついた音の２つのＦＤＮと、その後に続く幹音のＦＤＮとの差をそれぞれ求め、差が小さい方を選択する。換言すれば、比較する２音のＦＤＮの差が小さくなるような値を採用する。これは、ＦＤＮの差が小さい程、両者の近親度が近いことを意味するからである。
【００３３】
譜例１ではＥｂ（キーノートナンバー６３）に続く幹音Ｅ（キーノートナンバー６４）のＦＤＮは５であり、変化音Ｅｂ63のＦＤＮは−２、これに対しＤ＃音（キーノートナンバー６３）のＦＤＮが１０であるので、それぞれの５との差を計算すると、前者は差が７、後者は差が５となり、後者のＤ＃を採用すべきであることがわかる。このように＃又はｂのついた派生音の後に続く幹音との関係を調べることが後述する和音の場合を除いて原則であるが、最後の音に＃又はｂが付いていて、その後続音がない場合には、＃又はｂが付いている派生音の前の幹音との関係で判断することとなる。
【００３４】
次に、図７の譜例２-１を参照して嬰変を判断する例を示す。前述のように、この例では、正しくはＣ＃と表記されるべき音がＤｂと表記されてしまっている。変化音Ｄｂ音73のＦＤＮは−４、これがＣ＃音であればＦＤＮは８、一小節目の四拍目のＡ音69のＦＤＮは４、一小節目の二拍目の裏拍のＢ音70のＦＤＮは６である。以上から、前後のどちらの音と比較しても、Ｃ＃音が適切であることがわかる。
【００３５】
次に図８の譜例２-２を参照して和音の場合について説明する。三小節目の三拍目の和音の一番上の音７７が、Ｅ＃であればＦＤＮは１２、ＦであればＦＤＮは０である。この音を、その拍の下の音、すなわち和音を構成する他の音と比較して考察をする。和音を構成する他の音は、Ｄ74のＦＤＮが３、Ａ69のＦＤＮが４であるので、この場合Ｆ音であることがわかる。この例の場合、いわゆるＤｍの和音が構成されている。このようにして＃かｂかが正しく判別でき、併せて調性の判断もできるのである。
【００３６】
図２は上記図６の譜例１で説明した派生音の音名決定をそれぞれに続く幹音との関係を分析して行う場合の手順を示すフローチャートであり、実際の装置におけるコンピュータのＣＰＵ（中央演算処理装置）の処理手順を示すものである。なお、上記説明で、本発明により調性の判断もできることを示したが、あらかじめ調性が分かっていないときは、調性の判断を行うが、分かっている場合には、その調性を前提として音名決定を行う。図２のフローチャートは、あらかじめ調性が分かっている場合のものである。まず、処理がスタートすると、ステップＳ１でメモリやバッファなどをクリアするなどのイニシャライズを行い、ステップＳ２でユーザが図示省略のキーボードなどから入力する調性を読み込む。ステップＳ２が終了すると、ステップＳ３でＭＩＤＩ信号の読み込みを開始し、ステップＳ４でＭＩＤＩ信号として１つの音のデータが入力されたか否かを判断する。入力されるとステップＳ５でその音のキーノートナンバーを読み取り、ステップＳ６で第１カウンタのカウント値ｊ１を１つインクリメントする。次いでステップＳ７でこの音の音程を分析し、調性との関係からその音が＃又はｂの付く派生音か否かを判断する。
【００３７】
例えばハ長調のときは、音階構成音がすべての白鍵、すなわち幹音になり、すべての黒鍵が派生音になるので、ステップＳ５では入力データの音が黒鍵か否かを判断する。派生音のときは、ステップＳ８でそのキーノートナンバーに対応する２つのＦＤＮを図示省略のメモリから読み出し、第１ＦＤＮ、第２ＦＤＮとしてこの派生音に付与する。なお、メモリには、図１に示した各キーノートナンバーに対応する派生音の２つのＦＤＮと幹音に対応する１つのＦＤＮがあらかじめ記憶され、あるいは本フローチャートの動作開始前に所定の媒体を介してメモリに記憶されるものとする。第１ＦＤＮと第２ＦＤＮは、メモリの所定アドレス又はレジスタの所定位置に一時的に格納される。次いでステップＳ１０で第２カウンタのカウント値ｊ２として第１カウンタのカウント値Ｃ１を代入する。ステップＳ１０を終了すると後述するステップＳ１８へ移行する。
【００３８】
ステップＳ７でＮＯとなって、幹音と判断されたときは、ステップＳ１１でその幹音のＦＤＮをメモリから読み出し音名とＦＤＮを付与して、メモリ又はレジスタに格納する。次のステップＳ１３では第３カウンタのカウント値Ｃ３として第１カウンタのカウント値Ｃ１を代入する。次いでステップＳ１４でＣ３がＣ２＋１に等しいかを判断する。これは、ステップＳ７で幹音と判断された音のデータが、それ以前にステップＳ７で派生音と判断された音のデータの次のデータが否かを判断するものである。譜例１のように和音を含まない場合は、一般に次のデータは、前のデータの音に続く音のデータである。一方、譜例２−２のように和音を含む場合は、和音を構成する音のデータの次のデータは、その和音を構成する他の音か、又はその和音に続く音のデータである。ステップＳ１４でＹＥＳであれば、派生音のデータの次のデータが幹音ということとなる。
【００３９】
ステップＳ１４でＹＥＳのときは、ステップＳ１５でその幹音のＦＤＮをメモリから読み出し、第３ＦＤＮとしてメモリの所定アドレスに格納する。ステップＳ１６では、第１ＦＤＮと第３ＦＤＮの差の絶対値｜第１ＦＤＮ−第３ＦＤＮ｜と、第２ＦＤＮと第３ＦＤＮの差の絶対値｜第２ＦＤＮ−第３ＦＤＮ｜を演算して両者を比較する。ステップＳ１７で上記２つの差の絶対値の小さい方を与えるＦＤＮと、これに対応する音名を決定する。次いでステップＳ１８ではすべてのデータが入力されたかを見て、ＹＥＳなら処理を終了し、ＮＯならステップＳ４に戻る。ステップＳ１４でＮＯのときは、ステップＳ１８へ移行する。
【００４０】
図２のフローチャートは実際の処理を簡略化して示しており、派生音が連続した場合の処理や、派生音のデータに続くデータがないときなどの処理を省略している。派生音が連続した場合は、それぞれについてステップＳ８〜１０と同様の処理をし、それぞれについてステップＳ１１〜１７の処理を実行すればよい。また、派生音のデータに続く幹音のデータがないときは、その派生音のデータの前の幹音のデータを検出して第３ＦＤＮとすることができる。
【００４１】
＜ＦＤＮによる音階（調性）の判断＞
音階を決定したい場合、これまでのキーノートナンバーで音階構成音を考えると数値がとびとびで収拾がつかないが、一定調の音階の各音は、主音（ハ長調の場合ＦＤＮ＝１）から見たＦＤＮの差が−１から５の間の範囲に収まる。この規則はどの調についても普遍的である（図９の譜例３−Ａ及び図１０の譜例３−Ｂ参照）。
【００４２】
たとえ調が予め分かっていなくても、このテーブルの任意の調のＦＤＮから、ある楽曲の音のデータのＦＤＮを調べれば、前述の「音階構成音ＦＤＮの連続性」から、連続した７つのＦＤＮに頻繁に音が現れるので、その楽曲の本来の調であるわけである。すなわち、上記音高の数値表現方法であるＦＤＮにより表現された異なる７つの数値の配列範囲から調性を判断するのである。図９の譜例３−Ａの音列では、３番目の音のＦＤＮを前後の音のＦＤＮと比較して、Ｄｂ［−４］でなく、Ｃ＃［８］であることがわかり、この音列全体のＦＤＮは３から９であり、よって調性はイ長調であることがわかる。また図１０の譜例３−Ｂの音列では、５番目の音のＦＤＮを前後の音のＦＤＮと比較して、Ｇ＃［９］でなく、Ａｂ［−３］であることがわかり、この音列全体のＦＤＮは−３から３であり、よって調性は変ホ長調であることがわかる。なお、その音データの低音を調べれば、図５に示すように主音属音なども確認しやすく、調性判断はもとより転調の推移の解析まで容易になる。
【００４３】
図３は、調性判断を行うための処理手順を示すフローチャートであり、実際の装置におけるコンピュータのＣＰＵ（中央演算処理装置）の処理手順を示すものである。図３のフローチャートは前述の図２のフローチャートとほぼ同様の手法によるものであり、同一内容のステップは同一参照符号により、また内容がやや異なるが対応するステップをＡの付いた参照符号により示す。まず、処理がスタートすると、ステップＳ１でメモリやバッファなどをクリアするなどのイニシャライズを行う。ステップＳ１が終了すると、ステップＳ３でＭＩＤＩ信号の読み込みを開始し、ステップＳ４でＭＩＤＩ信号として１つの音のデータが入力されたか否かを判断する。入力されるとステップＳ５でその音のキーノートナンバーを読み取り、ステップＳ６で第１カウンタのカウント値Ｃ１を１つインクリメントする。次いでステップＳ７Ａでこの音のキーノートナンバーから、その音が黒鍵か否かを判断する。
【００４４】
黒鍵のときは、この音を派生音と仮定して、ステップＳ８Ａでそのキーノートナンバーに対応する２つのＦＤＮを図示省略のメモリから読み出し、第１ＦＤＮ、第２ＦＤＮとして付与する。なお、メモリには、図１に示した各キーノートナンバーに対応する派生音の２つのＦＤＮと幹音に対応する１つのＦＤＮがあらかじめ記憶され、あるいは本フローチャートの動作開始前に所定の媒体を介してメモリに記憶されるものとする。第１ＦＤＮと第２ＦＤＮは、メモリの所定アドレス又はレジスタの所定位置に一時的に格納される。次いでステップＳ１０で第２カウンタのカウント値Ｃ２として第１カウンタのカウント値Ｃ１を代入する。ステップＳ１０を終了すると後述するステップＳ１８へ移行する。
【００４５】
ステップＳ７ＡでＮＯとなって、白鍵であると判断されたときは、ステップＳ１１Ａでその白鍵を幹音と仮定して、幹音のＦＤＮをメモリから読み出し音名とＦＤＮを付与して、メモリ又はレジスタに格納する。次のステップＳ１３では第３カウンタのカウント値Ｃ３として第１カウンタのカウント値Ｃ１を代入する。次いでステップＳ１４でＣ３がＣ２＋１に等しいかを判断する。これは、ステップＳ７Ａで白鍵と判断された音のデータが、それ以前にステップＳ７Ａで黒鍵の音と判断されたデータの次のデータが否かを判断するものである。譜例１のように和音を含まない場合は、一般に次のデータは、前のデータの音に続く音のデータである。一方、譜例２−２のように和音を含む場合は、和音を構成する音のデータの次のデータは、その和音を構成する他の音か、又はその和音に続く音のデータである。ステップＳ１４でＹＥＳであれば、黒鍵の音のデータの次のデータが白鍵の音ということとなる。
【００４６】
ステップＳ１４でＹＥＳのときは、ステップＳ１５でその白鍵の音の幹音のＦＤＮをメモリから読み出し、第３ＦＤＮとしてメモリの所定アドレスに格納する。ステップＳ１６では、第１ＦＤＮと第３ＦＤＮの差の絶対値｜第１ＦＤＮ−第３ＦＤＮ｜と、第２ＦＤＮと第３ＦＤＮの差の絶対値｜第２ＦＤＮ−第３ＦＤＮ｜を演算して両者を比較する。ステップＳ１７で上記２つの差の絶対値の小さい方を与えるＦＤＮと、これに対応する音名を決定する。次いでステップＳ１８ＡではＦＤＮの値が連続する７つ値の配列となるまで、順次異なる音のデータが入力されたかを見て、ＹＥＳならステップ１９で調性判断を行い、ＮＯならステップＳ４に戻る。ステップＳ１４でＮＯのときは、ステップＳ１８Ａへ移行する。ステップ１９が終了すると、ステップ２０で判断されて得られた調性をメモリに記憶して、処理を終了する。調性の判断は、ＦＤＮにより表現された連続する７つの値の配列範囲を判断することにより行われる。なお、調性判断に続いて、音名表記を行う場合は、図３の処理終了後、ＭＩＤＩ信号の最初に戻って図２のフローチャートを実行すればよい。
【００４７】
図３のフローチャートは図２と同様、実際の処理を簡略化して示しており、黒鍵が連続した場合の処理や、黒鍵のデータに続くデータがないときなどの処理を省略している。黒鍵が連続したときや、黒鍵のデータに続く幹音のデータがないときは、図２で派生音が連続したときや、派生音のデータに続く幹音のデータがないときについて説明した方法を同様に適用することができる。古今の楽譜例として、例えばハ長調のＦ＃音のように、Ｇｂとは書かないという一定した書法の音もあるが、この場合、ＦＤＮの優先値として０から８（Ｆ＃）とすればよい。
【００４８】
＜ＦＤＮによる音階構成音優先のしくみ＞
音階構成音だけの７個（７個以下でも可能）の要素（これらは連続した整数値）から成るＦＤＮの集合（これをＤＴ（ダイアトニック・グループという）が有限加群をなすとものとして演算が可能である。演算の結果が元の集合に属するように設定できる。「音階構成音が先ず第一」という考え方に徹することが可能である。７個の要素（０，１，２，３，４，５，６，）からなる有限体（加群）と考え、７＝０，８＝１，．．．とする。音高の上げ下げには、正しい音高を示すＦＤＮの値を使う。
【００４９】
図１１の譜例４において、例えば、「ド レ ミ ファ ソ」という音の並びがあったとき、これらのＦＤＮは（１ ３ ５ ０ ２）となる。この場合、長二度上げる（ＦＤＮを＋２する）と、換言すれば、ダイアトニック的に一音シフトするとＦＤＮは（３ ５ ７ ２ ４）となるが、ＦＤＮにおいて７＝０であるので、上記ＦＤＮの列は、（３ ５ ０ ２ ４）と記述できる。すなわち、長二度上げたもの（ＦＤＮを＋２したもの）は「レ ミ ファ ソ ラ」となる。さらに長二度上げる（＋２する）と、換言すると、ダイアトニック的に一音シフトすると、ＦＤＮは（５７ ９ ４ ６）となるり、７＝０、９＝２であるので、よって（５ ０ ２ ４ ６）となり、すなわち「ミ ファ ソ ラ シ」となる。
【００５０】
他の場合も同様である。要するに音階構成音（ハ長調の場合、白鍵に相当）だけを優先的に、簡単な数値の増減だけでシフトできることになる。幹音以外の派生音については、上記の０から６という制限を加えないようにしておけばよい。１つの音で、その音階の情報を含む三和音を代表して示せるので、和音情報から自動伴奏をするソフトウェアーへの応用がある。
【００５１】
本発明によれば、１つの音でその音階の情報を含む３和音を代表して示すことができるので、下記のように和音情報から自動伴奏をするソフトウェアへの応用が可能である。
【００５２】
【表８】
0003771657.tif 000005
【００５３】
＜ＭＩＤＩ楽器への組み込み方＞
キーノートナンバーの利用
譜面上や自動伴奏のためのデータの記録は、いわゆるエクスクルーシブデータで行うのがもっとも手っ取り早いが、音の嬰変や調性などは基本的な概念なのでできれば、共通のものにしたい。パソコンの文字情報に例えれば、テキストデータ（ファイル）に相当するといえる。ＭＩＤＩの鍵盤情報ステイタスバイト8nHx,9nHxに続くデータバイト０〜１２７のうち実際はピアノの８８鍵に相当する部分のみ（２１から１０８）が使われており、実用上それで充分である。未使用の４０の数値に対しては、ＭＩＤＩ楽器（音源）は発音しないのが普通である。従ってこの数値の部分に３１個のＦＤＮの値を振り分けることが可能である。また、ＭＩＤＩデータ処理の約束の一つに「同じステイタスは省略できる」というのがあるので、キーノートナンバーの直後にこれらのデータを挿入することが可能である。
【００５４】
＜ＦＤＮの値の記録の仕方＞
ここでは、上記の「ピアノの８８鍵に相当する部分をキーノート部」、未使用部分を「ＦＤＮ」部とする。ＦＤＮ部として使用可能な数値はピアノの最低音のキーノートナンバー２１ より小さい値０〜２０、ピアノの最高音のキーノートナンバー  １０８ より大きい値  １０９〜１２７という風に、二分されているので、ソフトウェアー側で
１２７＝−１
１２６＝−２
・・・
１０９＝−１９
というように変換して考える必要はある。
【００５５】
ハードウェアー的にはＭＩＤＩ音源がこれまでのように８８鍵の音域でのみ発音するように対応していればよい。
【００５６】
＜ＦＤＮの割り振りの例１＞
図１２はＦＤＮの割り振りの１つの例を示す図である。当然、異名同音は１２を法として合同（例：Ｄ＃＝１０，  Ｅｂ＝−２）である。次に図１４の譜例５を参照して説明する。五線譜への記譜は、臨時記号の付け方で５通り、オクターブ内に７種配置するわけで、この数値配置が、これを合理的に表している。なお、ｘに類似の記号はダブルシャープ（重嬰）を意味している。同じ列の音は７を法として合同で、楽譜の五線上の同じ（オクターブの差は別として）段、位置にくる。移調（トランスポーズ）については、図４の正しい音程表記のための数値で行う。なお、いわゆるキーノートの移調についての音程差ｈは、ＦＤＮの差を７倍し、１２で割った余りのモードの値になる。
【００５７】
これによって、例えば、ハ長調を長六度上げる（イ長調になる）操作は、ＦＤＮ部分は＋３、キーノート部分は＋９（３＊７）％１２＝＋９、また、ハ長調の増四度上向（嬰ヘ長調になる）と、減五度上向（変ト長調になる）の区別もできる。
【００５８】
＜ＦＤＮの割り振りの実施例２ ＞
図１３はＦＤＮの割り振りの他の例を示す図である。すなわち、実施例２は実施例１のＦＤＮの数値を５倍し、１３を減じた数値を、−１５から＋１９の間に収まるように３６を法として折り返した次のような値で記録したものである。すなわち、上記第１実施例のＦＤＮの数値は１つの例であり、図１３のようなＦＤＮの割り振りとすることもできるのである。
【００５９】
この方法の長所は、１２を法とするモードで考えれば、キーノートナンバーの音程差と一致することである。Ｃ音とＧ音の音程差は半音５個分であり、他の音程はこれに図４の数値をかけたものになり、もちろん３６を法として折り返す。ただし、演算のためには元のＦＤＮに戻す必要がある。このように、音の嬰変といった特質が表現できるので、この数値の組み合わせによって、調性や和音等を合理的に数値化できる。実施例１でいえば、例えばハ長調は幹音が０〜６、主音が１、ホ長調は、幹音が４〜１１、主音が５となっている。
【００６０】
【発明の効果】
以上説明したように本発明によれば、従来＃やｂなどが入り乱れ、判読しにくく、音楽表記として誤りであった音名表記を、音楽的に正しくおこなうことができ、さらに調性判断が可能となる。また、本発明によれば音楽的に正しい音名を記述する数値を提供するための音程の数値表現方法が提供され、音名表記方法を実行するプログラムを記録した記録媒体、並びに音程数値化情報送信方法が提供される。
【図面の簡単な説明】
【図１】本発明に係る音名表記方法に用いられる音程の数値表現方法の手法を示す鍵盤の一部とその音名を示す図である。
【図２】派生音の音名決定をそれぞれに続く幹音との関係を分析して行う場合の手順を示すフローチャートである。
【図３】調性判断を行うための処理手順を示すフローチャートである。
【図４】考え得るすべての音程を数値化した図である。
【図５】音データから主音属音などが確認しやすいことを説明する図である。
【図６】従来のソフトウエアによってＭＩＤＩ信号から楽譜を作成した場合の例を示す譜例１である。
【図７】従来のソフトウエアによってＭＩＤＩ信号から楽譜を作成した場合の他の例を示す譜例２−１である。
【図８】従来のソフトウエアによって和音を含むＭＩＤＩ信号から楽譜を作成した場合の他の例を示す譜例２−２である。
【図９】従来のソフトウエアによってＭＩＤＩ信号から楽譜を作成した場合の他の例を示す譜例３−Ａである。
【図１０】従来のソフトウエアによってＭＩＤＩ信号から楽譜を作成した場合の他の例を示す譜例３−Ｂである。
【図１１】ＭＩＤＩ信号から楽譜を作成した場合の他の例を示す譜例４である。
【図１２】本発明によりＦＤＮを割り振りした１つの例を示す図である。
【図１３】本発明によりＦＤＮを割り振りした他の例を示す図である。
【図１４】ＭＩＤＩ信号から楽譜を作成した場合の他の例を示す譜例５である。
【図１５】従来のソフトウェアを用いた楽譜表示装置を模式的に示す図である。
【符号の説明】
１０  鍵盤の一部
５０〜７２  鍵盤に割り振られたキーノートナンバー
【図１】
0003771657.tif 000020
【図２】
0003771657.tif 000021
【図３】
0003771657.tif 000022
【図４】
0003771657.tif 000023
【図５】
0003771657.tif 000024
【図６】
0003771657.tif 000025
【図７】
0003771657.tif 000026
【図８】
0003771657.tif 000027
【図９】
0003771657.tif 000028
【図１０】
0003771657.tif 000029
【図１１】
0003771657.tif 000030
【図１２】
0003771657.tif 000031
【図１３】
0003771657.tif 000032
【図１４】
0003771657.tif 000033
【図１５】
0003771657.tif 000034