JP2000163055A - 自動運指付け装置および記憶媒体 - Google Patents

自動運指付け装置および記憶媒体

Info

Publication number
JP2000163055A
JP2000163055A JP10337688A JP33768898A JP2000163055A JP 2000163055 A JP2000163055 A JP 2000163055A JP 10337688 A JP10337688 A JP 10337688A JP 33768898 A JP33768898 A JP 33768898A JP 2000163055 A JP2000163055 A JP 2000163055A
Authority
JP
Japan
Prior art keywords
fingering
sound
section
group
note
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP10337688A
Other languages
English (en)
Other versions
JP3225935B2 (ja
Inventor
Eiichiro Aoki
栄一郎 青木
Satoru Nagaoka
悟 長岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP33768898A priority Critical patent/JP3225935B2/ja
Publication of JP2000163055A publication Critical patent/JP2000163055A/ja
Application granted granted Critical
Publication of JP3225935B2 publication Critical patent/JP3225935B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Auxiliary Devices For Music (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【課題】 曲データの種類に拘わらず、当該曲データの
音の流れに応じて滑らかに演奏可能な運指付けを行うこ
とができる自動運指付け装置および記憶媒体を提供す
る。 【解決手段】 シーケンス曲データから運指付けに必要
でないデータを削除するとともに必要なデータを加える
ことにより、運指検出用フォーマットのデータに変換し
(ステップS1)、この変換された曲データ内の時系列
のキーオンイベント列を、単音上行列、単音下行列およ
び複音というカテゴリによってグループ分けし(ステッ
プS2)、このようにして生成された時系列のグループ
列の各グループに含まれるキーオンイベントデータに対
して、順次当該グループが属するカテゴリに応じたアル
ゴリズムで運指付けて行き、曲全体に亘ってこの運指付
けを行い、当該曲データに対する運指付けを自動的に行
う(ステップS3〜S18)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、曲データに自動的
に運指付けする自動運指付け装置および記憶媒体に関す
る。
【従来の技術】曲データに自動的に運指付けする自動運
指付け装置として、たとえば次のものが知られている。
【0002】すなわち、かかる自動運指付け装置は、隣
り合う2つの音に対して鍵盤を操作したときの指使いの
容易さを表す2音運指データを、それぞれの指の組み合
わせについて記憶し、与えられた曲データに対して2音
運指データの累算値が最小になるようにする組み合わせ
を、当該曲データに対する運指として決定するように構
成されている。
【0003】
【発明が解決しようとする課題】しかし、上記従来の自
動運指付け装置では、与えられた曲データの音の流れを
考慮していないため、滑らかに演奏することができる運
指付けをすることが難しかった。また、この自動運指付
け装置は、単音のみで構成されている曲データに運指付
けすることを目的とするため、複音が含まれる曲データ
に運指付けすることはできなかった。
【0004】本発明は、この点に着目してなされたもの
であり、曲データの種類に拘わらず、当該曲データの音
の流れに応じて滑らかに演奏可能な運指付けを行うこと
ができる自動運指付け装置および記憶媒体を提供するこ
とを目的とする。
【0005】
【課題を解決するための手段】上記目的を達成するた
め、請求項1に記載の自動運指付け装置は、単音からな
る時系列曲データを、その中に含まれる音符列の音高が
上行する上行区間とその中に含まれる音符列の音高が下
行する下行区間とに区分する区分手段と、該各区間毎に
当該区間内の音符に対して運指付けを行う運指付け手段
とを有することを特徴とする。
【0006】ここで、時系列曲データとは、典型的には
SMF(Standard MIDI File)形式の曲データをいう
が、これに限る必要はない。また、音符列とは、時系列
曲データがSMF形式のものである場合には、キーオン
イベントとキーオフイベントの対からなるノートデータ
列をいう。さらに、上行/下行区間は、時系列区間であ
る。(以下、請求項が変わっても同様) 好ましくは、前記区分手段は、区分後の第1の区間と第
2の区間がこの順序で隣接するときに、前記第1の区間
に含まれる最後の音符と前記第2の区間に含まれる最初
の音符とを共通にするように、該各区間を区分すること
を特徴とする(請求項2)。
【0007】また、好ましくは、前記運指付け手段は、
前記上行区間に対する運指付けと前記下行区間に対する
運指付けとをそれぞれ異なったアルゴリズムによって行
うことを特徴とする(請求項3)。
【0008】さらに、好ましくは、隣接する2音を演奏
するときの標準的な運指が設定された単音標準運指テー
ブルを記憶する記憶手段を有し、前記運指付け手段は、
対象区間内の対象音に対して運指付けを行うときに、該
対象音を起点として隣接する音に前記標準運指テーブル
に設定されている標準的な運指を順次適用し、この標準
的な運指で最も遠くに位置する音まで到達できる運指値
を、前記対象音の運指に決定することを特徴とする(請
求項4)。
【0009】また、上記目的を達成するため、請求項5
に記載の自動運指付け装置は、単音および複音からなる
時系列曲データを単音のみからなる単音区間と複音のみ
からなる複音区間とに区分する区分手段と、該各区間毎
に当該区間内の音符に対して運指付けを行う運指付け手
段とを有することを特徴とする。
【0010】好ましくは、前記複音を構成する音の音程
に応じて標準的な運指が設定された複音標準運指テーブ
ルを記憶する記憶手段を有し、前記運指付け手段は、前
記複音区間内の複音に対して運指付けを行うときに、前
記複音標準運指テーブルに設定された標準的な運指に基
づいて行うことを特徴とする(請求項6)。
【0011】また、好ましくは、前記複音区間内の複音
を単音化する単音化手段と、該単音化後の時系列曲デー
タを、その中に含まれる音符列の音高が上行する上行区
間とその中に含まれる音符列の音高が下行する下行区間
とに区分する区分手段とを有し、前記運指付け手段は、
前記区分された各区間毎に当該区間内の音符に対して運
指付けを行うことを特徴とする(請求項7)。
【0012】さらに、好ましくは、前記複音を構成する
音の音程に応じて標準的な運指が設定された複音標準運
指テーブルを記憶する記憶手段と、前記複音区間内の複
音を単音化する単音化手段と、該単音化後の時系列曲デ
ータを、その中に含まれる音符列の音高が上行する上行
区間とその中に含まれる音符列の音高が下行する下行区
間とに区分する区分手段と、前記運指付け手段により、
前記複音区間内の複音に対して運指付けを行うときに、
前記複音標準運指テーブルに設定された標準的な運指に
基づいた運指付けと、前記区分された各区間毎に当該区
間内の音符に対して行う運指付けのいずれかを選択する
選択手段とを有することを特徴とする(請求項8)。
【0013】また、さらに好ましくは、前記運指付け手
段は、対象区間内の音符に対して運指付けを行うとき
に、該対象区間の次の区間に含まれる音符を当該運指付
けの1つの条件にすることを特徴とする(請求項9)。
【0014】また、上記目的を達成するため、請求項1
0に記載の記憶媒体は、単音からなる時系列曲データ
を、その中に含まれる音符列の音高が上行する上行区間
とその中に含まれる音符列の音高が下行する下行区間と
に区分する区分モジュールと、該各区間毎に当該区間内
の音符に対して運指付けを行う運指付けモジュールとを
含むことを特徴とする。
【0015】さらに、上記目的を達成するため、請求項
11に記載の記憶媒体は、単音および複音からなる時系
列曲データを単音のみからなる単音区間と複音のみから
なる複音区間とに区分する区分モジュールと、該各区間
毎に当該区間内の音符に対して運指付けを行う運指付け
モジュールとを含むことを特徴とする。
【0016】また、好ましくは、前記複音区間内の複音
を単音化する単音化モジュールと、該単音化後の時系列
曲データを、その中に含まれる音符列の音高が上行する
上行区間とその中に含まれる音符列の音高が下行する下
行区間とに区分する区分モジュールとを有し、前記運指
付けモジュールは、前記区分された各区間毎に当該区間
内の音符に対して運指付けを行うことを特徴とする(請
求項12)。
【0017】
【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて詳細に説明する。
【0018】図1は、本発明の一実施の形態に係る自動
運指付け装置の概略構成を示すブロック図である。
【0019】同図に示すように、本実施の形態の自動運
指付け装置は、音高情報を入力するための鍵盤1と、各
種情報を入力するための複数のスイッチ(ポインチング
デバイスであるマウスを含む)を備えたパネルスイッチ
2と、鍵盤1の各鍵の押鍵状態を検出する押鍵検出回路
3と、パネルスイッチ2の各スイッチの押下状態を検出
するスイッチ検出回路4と、装置全体の制御を司るCP
U5と、該CPU5が実行する制御プログラムやテーブ
ルデータ等を記憶するROM6と、演奏データ、各種入
力情報および演算結果等を一時的に記憶するRAM7
と、タイマ割込み処理における割込み時間や各種時間を
計時するタイマ8と、各種情報等を表示する、たとえば
大型液晶ディスプレイ(LCD)若しくはCRT(Cath
ode Ray Tube)ディスプレイおよび発光ダイオード(L
ED)等を備えた表示装置9と、記憶媒体であるフロッ
ピディスク(FD)20をドライブするフロッピディス
クドライブ(FDD)10と、前記制御プログラムを含
む各種アプリケーションプログラムや各種データ等を記
憶するハードディスク(図示せず)をドライブするハー
ドディスクドライブ(HDD)11と、前記制御プログ
ラムを含む各種アプリケーションプログラムや各種デー
タ等を記憶するコンパクトディスク−リード・オンリ・
メモリ(CD−ROM)21をドライブするCD−RO
Mドライブ(CD−ROMD)12と、外部からのMI
DI(Musical Instrument Digital Interface)信号を
入力したり、MIDI信号を外部に出力したりするMI
DIインターフェース(I/F)13と、通信ネットワ
ーク101を介して、たとえばサーバコンピュータ10
2とデータの送受信を行う通信インターフェース(I/
F)14と、鍵盤1から入力された演奏データや予め設
定された演奏データ等を楽音信号に変換する音源回路1
5と、該音源回路15からの楽音信号に各種効果を付与
するための効果回路16と、該効果回路16からの楽音
信号を音響に変換する、たとえば、DAC(Digital-to
-Analog Converter)やアンプ、スピーカ等のサウンド
システム17とにより構成されている。
【0020】上記構成要素3〜16は、バス18を介し
て相互に接続され、CPU5にはタイマ8が接続され、
MIDII/F13には他のMIDI機器100が接続
され、通信I/F14には通信ネットワーク101が接
続され、音源回路15には効果回路16が接続され、効
果回路16にはサウンドシステム17が接続されてい
る。
【0021】HDD11のハードディスクには、前述の
ように、CPU5が実行する制御プログラムも記憶で
き、ROM6に制御プログラムが記憶されていない場合
には、このハードディスクに制御プログラムを記憶させ
ておき、それをRAM7に読み込むことにより、ROM
6に制御プログラムを記憶している場合と同様の動作を
CPU5にさせることができる。このようにすると、制
御プログラムの追加やバージョンアップ等が容易に行え
る。
【0022】CD−ROMドライブ12のCD−ROM
21から読み出された制御プログラムや各種データは、
HDD11内のハードディスクにストアされる。これに
より、制御プログラムの新規インストールやバージョン
アップ等が容易に行える。なお、このCD−ROMドラ
イブ12以外にも、外部記憶装置として、光磁気ディス
ク(MO)装置等、様々な形態のメディアを利用するた
めの装置を設けるようにしてもよい。
【0023】通信I/F14は、上述のように、たとえ
ばLAN(Local Area Network)やインターネット、電
話回線等の通信ネットワーク101に接続されており、
該通信ネットワーク101を介して、サーバコンピュー
タ102に接続される。HDD11内のハードディスク
に上記各プログラムや各種パラメータが記憶されていな
い場合には、通信I/F14は、サーバコンピュータ1
02からプログラムやパラメータをダウンロードするた
めに用いられる。クライアントとなるコンピュータ(本
実施の形態では、自動運指付け装置)は、通信I/F1
4および通信ネットワーク101を介してサーバコンピ
ュータ102へとプログラムやパラメータのダウンロー
ドを要求するコマンドを送信する。サーバコンピュータ
102は、このコマンドを受け、要求されたプログラム
やパラメータを、通信ネットワーク101を介してコン
ピュータへと配信し、コンピュータが通信I/F14を
介して、これらプログラムやパラメータを受信してHD
D11内のハードディスクに蓄積することにより、ダウ
ンロードが完了する。
【0024】この他、外部コンピュータ等との間で直接
データのやりとりを行うためのインターフェースを備え
てもよい。
【0025】図2は、本実施の形態で用いる「度数」の
定義を説明するための図であり、(a)は、起音が白鍵
に対応する音(以下、「白鍵音」という)の場合の各音
程の度数を示し、(b)は、起音が黒鍵に対応する音
(以下、「黒鍵音」という)の場合の各音程の度数を示
している。
【0026】本実施の形態では、最適な運指付けを行う
ために、音楽で一般的に用いられる度数の定義と完全に
は一致しない「度数」を定義して用いている。同図にお
いて、“per”は「完全(perfect)」を示し、“m
in”は「短(minor)」を示し、“maj”は「長(m
ajor)」を示し、これらは、音楽で一般的に用いられる
ものである。他方、“perb”は「完全」より半音下
を示し、“s”は「スモール(small)」を示し、これ
らは、本実施の形態で特別に定義したものである。たと
えば、“perb8”は、“per8(完全8度)”よ
り半音下の「7.5度」を意味し(ただし“b”の文字
に意味はない)、“min3s”は、“min3”と度
数は同じ(2.5度)であるが、鍵盤上においてまたい
でいる黒鍵数が“min3”と比較して少ない(smal
l)ことを意味している。
【0027】図3は、単音に運指付けするときに用いる
単音用標準運指テーブルの一例を示す図であり、単音用
標準運指テーブルとは、ある鍵および運指から次の音高
に推移する場合に、最も自然に推移可能な運指が記載
(設定)されたテーブルをいう。なお、図示例の単音用
標準運指テーブルは、右手に運指付けを行うためのもの
である。
【0028】同図において、(a)は、起音が白鍵音の
場合の単音用標準運指テーブルの一例を示し、運指が上
行(音高が高くなる方向)に推移する場合と運指が下行
(音高が低くなる方向)に推移する場合の2種類の場合
に対する単音用標準運指テーブルが図示されている。各
標準運指テーブルは、(a)に示されるように、「推移
度数」、すなわち起音から次の音に推移するときの音程
と、その「度数例」と、起音から当該推移度数だけ推移
するときの最適な運指(この運指は、親指から小指まで
にそれぞれ付与された整数値1〜5のいずれかによって
示される)とによって構成されている。たとえば、白鍵
起音上行標準運指テーブルにおいて、「推移度数」が
“maj3”の場合には、運指データは、“3”,
“4”,“5”,“*”となっている。“3”が位置す
る欄の項目は「1」であり、この整数値は起音となる音
の運指値を示しているため、起音の鍵を「1」の指、す
なわち親指で押さえている場合に、音程が“maj3”
の音の鍵に推移するときには、その鍵を「3」の指、す
なわち中指で押さえるのが最も自然であることを示して
いる。なお、“*”は、最適な運指が存在しないことを
意味している。また、白鍵起音下行標準運指テーブルに
おいて、「推移度数」が“min2”の場合には、運指
データは、“4”,“3”,“2”,“*”,“2”と
なっている。この運指データのうち最後のもの
(“2”)は、起音を「1」の指で押さえている場合
に、音程が“min2”の音に推移するときには、対応
する鍵を「2」の指、すなわち人差し指で押さえるのが
最も自然であることを意味している。すなわち、運指が
下行するときに、親指から人差し指に推移するので、こ
の場合には、いわゆる「指かぶせ」が最も自然であるこ
とを示している。
【0029】(b)は、起音が黒鍵音の場合の単音用標
準運指テーブルの一例を示し、運指が上行に推移する場
合と運指が下行に推移する場合の2種類の場合に対する
単音用標準運指テーブルが図示されている。(b)の単
音用標準運指テーブルは、(a)の単音用標準運指テー
ブルに対して、起音の鍵盤色が異なるのみであるため、
その説明を省略する。
【0030】なお、単音用標準運指テーブルを構成する
各データ値(運指値)は、たとえば手の大きさ等の個人
差に左右されるため、本実施の形態では、各データ値は
書き換え可能に構成されている。このため、単音用標準
運指テーブルは、前記RAM7上に生成するようにして
いる。もちろんこれに限らず、個人差に応じた複数種類
の単音用標準運指テーブルを予め用意しておくようにす
れば、前記ROM6上に生成することもできる。
【0031】図4は、運指間演奏許容範囲テーブルの一
例を示す図であり、運指間演奏許容範囲テーブルとは、
ある運指からある運指へ推移するときに、当該各運指の
間で届く最高度数と弾くことが可能な最小度数を示すテ
ーブルをいう。そして、本実施の形態では、起音となる
鍵の種類(白鍵または黒鍵)および運指が推移する方向
(上行/下行)に応じて、4種類のテーブルを設けてい
る。
【0032】同図において、(a)は、起音が白鍵音の
場合の運指間演奏許容範囲テーブルの一例を示し、運指
が上行に推移する場合と運指が下行に推移する場合の2
種類の場合に対する運指間演奏許容範囲テーブルが図示
されている。各運指間演奏許容範囲テーブルは、同図
(a)に示されるように、「運指間推移」、「最小値」
および「最大値」によって構成されている。たとえば、
白鍵起音上行運指間演奏許容範囲テーブルにおいて、
「運指間推移」が1→2のときには、その「最小値」と
して“min2”が設定され、その「最大値」として
“per5”が設定されている。すなわち、このテーブ
ルでは、起音が白鍵音で運指が親指(“1”)から人差
し指(“2”)に推移する場合には、“min2”から
“per5”までの度数内の音を演奏できることを意味
している。
【0033】なお、白鍵起音上行運指間演奏許容範囲テ
ーブルの運指間推移欄において、その値が「大」から
「小」に推移している場合(たとえば、2→1)は、い
わゆる「指くぐり」を意味し、白鍵起音下行運指間演奏
許容範囲テーブルの運指間推移欄において、その値が
「小」から「大」に推移している場合(たとえば、1→
2)は、前記「指かぶせ」を意味している。
【0034】(b)は、起音が黒鍵音の場合の運指間演
奏許容範囲テーブルの一例を示し、運指が上行に推移す
る場合と運指が下行に推移する場合の2種類の場合に対
する運指間演奏許容範囲テーブルが図示されている。
(b)の運指間演奏許容範囲テーブルは、(a)の運指
間演奏許容範囲テーブルに対して、起音の鍵の色が異な
るのみであるため、その説明を省略する。
【0035】なお、運指間演奏許容範囲テーブルを構成
する各データ値も、たとえば手の大きさ等の個人差に左
右されるため、本実施の形態では、各データ値は書き換
え可能に構成されている。このため、運指間演奏許容範
囲テーブルは、RAM7上に生成するようにしている。
もちろんこれに限らず、個人差に応じた複数種類の運指
間演奏許容範囲テーブルを予め用意しておくようにすれ
ば、ROM6上に生成することもできる。
【0036】図5は、複音に運指付けするときに用いる
複音用標準運指テーブルを説明するための図であり、
(a)は、複音(コード)の例を示し、(b)は、
(a)の複音例に対応する複音用標準運指テーブルの一
例を示している。
【0037】図5(a)において、複音A,Bはとも
に、3音で構成される複音であり、根音が白鍵音、根音
とその上の第2音の音程(第1度数差)が“maj
3”、第2音とその上の第3音の音程(第2度数差)が
“maj3”となっている。同様に、複音C,Dはとも
に、3音で構成される複音であり、根音が白鍵音、根音
とその上の第2音の音程(第1度数差)が“maj
3”、第2音とその上の第3音の音程(第2度数差)が
“per5”となっている。複音Eは、4音で構成され
る複音であり、根音が白鍵音、根音とその上の第2音の
音程(第1度数差)が“maj3”、第2音とその上の
第3音の音程(第2度数差)が“maj3”、第3音と
その上の第4音の音程(第3度数差)が“per4”と
なっている。
【0038】図5(b)は、これらの複音A〜Eに対応
する複音用標準運指テーブルを示している。同図に示す
ように、複音用標準運指テーブルは、当該複音の根音が
白鍵音か黒鍵音かを示す情報と、隣接する各音間の度数
差(音程)と、当該複音の標準運指とによって構成され
ている。たとえば複音Aに対しては、根音が「白鍵」に
対応する音、第1度数差が“maj3”、第2度数差が
“maj3”、標準運指が「135」という情報によっ
て構成されている。標準運指が「135」とは、根音を
“1”の指(親指)で押さえ、第2音を“3”の指(中
指)で押さえ、第3音を“5”の指(小指)で押さえる
のが標準的な運指であることを意味している。
【0039】なお、複音用標準運指テーブルを構成する
各標準運指データ値も、たとえば手の大きさ等の個人差
に左右されるため、本実施の形態では、各データ値は書
き換え可能に構成されている。このため、複音用標準運
指テーブルは、RAM7上に生成するようにしている。
もちろんこれに限らず、個人差に応じた複数種類の複音
用標準運指テーブルを予め用意しておくようにすれば、
ROM6上に生成することもできる。
【0040】以上のように構成された自動運指付け装置
が実行する制御処理を、その概要を説明した後に、図6
〜図31を参照して詳細に説明する。
【0041】本実施の形態の自動運指付け装置は、ユー
ザが用意したシーケンス曲データ(このシーケンス曲デ
ータは、典型的には、SMFのフォーマットで供給され
るので、以下、曲データはSMFとするが、これに限る
必要はないことはいうまでもない)に対して、次の方法
により運指付けを行う。すなわち、 1)シーケンス曲データ(以下、混同のおそれがないと
きには、「曲データ」という)から運指付けに必要でな
いデータ(たとえば、キーオンイベントの発生タイミン
グを表現するデルタタイム)を削除するとともに必要な
データ(後述する)を加えることにより、運指検出用フ
ォーマットのデータに変換する 2)この変換された曲データ内の時系列のキーオンイベ
ント列を次のカテゴリによってグループ分けする a)単音上行列 b)単音下行列 c)複音 3)この生成された時系列のグループ列の各グループに
含まれるキーオンイベントデータに対して、順次当該グ
ループが属するカテゴリに応じたアルゴリズムで運指付
けて行く 4)曲全体に亘って上記3)の運指付けを行い、当該曲
データに対する運指付けを自動的に行う。
【0042】次に、本実施の形態の自動運指付け装置が
実行する制御処理の詳細を説明する。
【0043】図6は、本実施の形態の自動運指付け装
置、特にCPU5が実行する運指付け処理(メインルー
チン)の手順を示すフローチャートである。
【0044】同図において、まず、(入力された)曲デ
ータを運指検出用フォーマットに変換し、RAM7の所
定位置に確保された曲データバッファに格納する(ステ
ップS1)。
【0045】図7は、運指検出用フォーマットを説明す
るための図であり、(a)は、「チューリップ」から抜
粋された先頭フレーズの楽譜を示し、(b)は、「主
よ、人の望みの喜びよ」から抜粋された先頭フレーズの
楽譜を示し、(c)は、運指検出用フォーマットに変換
されて曲データバッファに格納された(a)のフレーズ
を含む曲データを示し、(d)は、運指検出用フォーマ
ットに変換されて曲データバッファに格納された(b)
のフレーズを含む曲データを示している。
【0046】前述したように本実施の形態では、曲デー
タは、SMFのファイル形式で供給されている。ここ
で、SMFのデータフォーマットは、基本的に、MID
Iイベント(キーオンイベントやキーオフイベント等)
とそのイベントの発生タイミングを示すタイミング情報
(デルタタイム)とによって構成されている。
【0047】上記ステップS1では、このSMFの曲デ
ータを、まず運指検出用フォーマットに変換する。具体
的には、(c)に示すように、タイミング情報をすべて
削除するとともに、キーオンデータとキーオフデータの
対で表されるノートデータが存在しない位置、すなわち
休符に相当する位置に、休符があることを示すデータ
(“200”)を付加し、さらに、曲の最後に、最後で
あることを示すデータ(“255”)を付加する。そし
て、(d)に示すように、曲データに複音が含まれてい
るときには、これに加えて、当該複音の開始を示すデー
タ(“224”)および終了を示すデータ(“22
5”)を付加する。なお、各数値“200”,“22
4”,“225”および“255”には、上記意味以外
の特別の意味はない。
【0048】図6に戻り、次に、前述のようにグループ
分けし、この分類後の各データをグループバッファに格
納する(ステップS2)。
【0049】図8は、グループ分けする方法および分類
されグループバッファに格納された各データの一例を示
す図であり、(a)は、「ポーリュシカポーレ」から抜
粋された先頭フレーズの楽譜を例に挙げて曲データをグ
ループ分けする方法を説明するためのものであり、
(b)は、(a)のようにしてグループ分けされ、グル
ープバッファに格納された(a)の曲データ(MIDI
イベント列)を示している。
【0050】本実施の形態では、次のアルゴリズムに基
づいて、曲データをグループ分けする。すなわち、 1)上行/下行の分岐点(音;MIDIイベント)を各
グループの区切り(境界)とし、区切りとなる分岐点の
音符は、そのグループの最終音とするとともに、次グル
ープの先頭音とする 2)休符がある場合には、その休符を当該グループの最
終音として扱い、次グループの先頭音は、その休符の次
の音符(MIDIイベント)とする 3)複音がある場合には、その複音単独で1グループを
形成し、次グループの先頭音はその複音の次の音符(M
IDIイベント)とする このアルゴリズムに基づいて、(a)の先頭フレーズ分
の曲データをグループ分けすると、同図に示すように、
第1〜第6グループまで分類できる。(b)は、この分
類後の各データをそれぞれグループバッファに格納した
ものである。このとき、分類されたデータをグループバ
ッファに格納する直前に、当該グループバッファの全領
域を、FFh(“h”は、その直前の数値が16進数
(hex)であることを示す記号である)に初期化して
おき、分類後のデータにより上書きするようにしてい
る。したがって、先頭からFFhの直前までの値が分類
後の(意味のある)データを示している。
【0051】図6に戻り、ステップS3では、前記複数
個のグループバッファからいずれか1つを指示するため
のグループ指示ポインタが第1グループを指示するよう
に、グループ指示ポインタを初期化する。
【0052】次に、グループ指示ポインタが指示する位
置のグループバッファ、すなわちグループを選択し(ス
テップS4)、そのグループが単音グループか否かを判
別する(ステップS5)。 ステップS5で、選択され
たグループが単音グループのときには、ステップS6〜
S15で単音に対する運指付けを行う一方、選択された
グループが単音グループでないとき、すなわち複音グル
ープのときには、ステップS16で、図18を用いて後
述する複音処理サブルーチンにより、複音に対する運指
付けを行う。
【0053】ステップS6では、選択されたグループ
(以下、「当グループ」という)に含まれる複数個の音
(MIDIイベント)のうちいずれかの音を指示するた
めの音指示ポインタが第1音を指示するように、音指示
ポインタを初期化し、続くステップS7では、音指示ポ
インタが指示する音を取得する。
【0054】次に、取得した音が当グループの先頭音で
あるか否かを判別し(ステップS8)、先頭音のときに
は、図9を用いて後述する開始音処理サブルーチンを実
行した(ステップS9)後に、ステップS13に進む一
方、先頭音でないときには、当グループの途中音である
か否かを判別する(ステップS10)。
【0055】ステップS10で、取得した音が当グルー
プの途中音のときには、図11を用いて後述する途中音
処理サブルーチンを実行する(ステップS11)一方、
取得した音が当グループの途中音でないとき、すなわち
最終音のときには、図14を用いて後述する最終音処理
サブルーチンを実行する(ステップS12)。
【0056】続くステップS13では、ステップS9の
開始音処理、ステップS11の途中音処理またはステッ
プS12の最終音処理によって決定された運指を、前記
RAM7の所定位置に確保された運指記憶領域に格納
し、ステップS14では、処理すべき次音があるか否か
を判別する。
【0057】ステップS14で、次音があるときには、
音指示ポインタの値を“1”だけインクリメントするこ
とにより、音指示ポインタが次音を指示するようにした
(ステップS15)後に、前記ステップS7に戻る一
方、次音がないときにはステップS17に進む。
【0058】ステップS17では、処理すべき次グルー
プがあるか否かを判別し、次グループがあるときには、
グループ指示ポインタの値を“1”だけインクリメント
することにより、グループ指示ポインタが次グループを
指示するようにした(ステップS18)後に、前記ステ
ップS4に戻る一方、次音がないときには、本運指付け
処理を終了する。
【0059】図9および図10は、前記ステップS9の
開始音処理サブルーチンの詳細な手順を示すフローチャ
ートである。
【0060】図9において、まず、当グループが曲先頭
グループまたは先頭扱いグループであるか否かを判別す
る(ステップS21)。ここで、先頭扱いグループと
は、その直前グループが複音グループである場合の当グ
ループ、または、その直前グループと当グループとの間
に休符がある場合(すなわち、その直前グループの最終
音が「休符」である場合)の当グループをいう。
【0061】ステップS21で、当グループが曲先頭グ
ループおよび先頭扱いグループのいずれのグループでも
ないときには、開始音の運指をその直前グループの最終
音の運指と同一の運指に決定した(ステップS22)後
に、本開始音処理を終了する一方、当グループが曲先頭
グループまたは先頭扱いグループのいずれかのグループ
に該当するときにはステップS23に進む。
【0062】ステップS23では、音符種が“1”であ
るか否かを判別する。ここで、音符種とは、本実施の形
態では、音符の種類(4分音符や8分音符等)ではな
く、音高の種類を示している。すなわち、音符種が
“1”とは、当グループが1つの音符で構成されている
場合または当グループが同一音高の複数の単音符で構成
されている場合を意味している。
【0063】ステップS23で、音符種=1のときに
は、開始音の運指を「3(中指)」に決定した(ステッ
プS24)後に、本開始音処理を終了する一方、音符種
≠1のときにはステップS25に進む。
【0064】ステップS25では、当グループは上行グ
ループであるか否かを判別し、上行グループのときに
は、ステップS26〜S32の処理を行った後に、本開
始音処理を終了する一方、上行グループでないとき、す
なわち下行グループのときには、図10のステップS3
3〜S41の処理を行った後に、本開始音処理を終了す
る。
【0065】ステップS26では、次のアルゴリズムに
よって仮運指を決定する。すなわち、 1)開始音が白鍵音の場合には、仮運指を「1」とする 2)開始音が黒鍵音の場合 a)α1=α2=α3=min2のとき、仮運指を
「3」とする(ただし、α1は、開始音と第2音の推移
度数を示し、α2は、第2音と第3音の推移度数を示
し、α3は、第3音と第4音の推移度数を示している) b)α1≦min3&(かつ)上記a)の条件を満足し
ないときには、仮運指を「2」とする c)min3<α1のときには、仮運指を「1」とする 続くステップS27では、次の条件a,b,cのいずれ
かに該当するか否かを判別する。すなわち、 条件a:開始音の音高が次グループの最終音の音高より
低い 条件b:次グループが存在しない、すなわち曲の最終グ
ループである 条件c:次グループは複音グループである ステップS27で、上記条件a,b,cのいずれかに該
当するときには、ステップS26で決定された仮運指に
よって開始音の運指を決定した(ステップS28)後
に、本開始音処理を終了する一方、上記条件a,b,c
のいずれにも該当しないときには、ステップS29〜S
32で、それぞれ第1〜第4段階チェックを行って開始
音の運指を決定した後に、本開始音処理を終了する。こ
こで、第1〜第4段階チェックは、第1段階チェックか
ら順次行うが、ある段階チェックで運指を決定すること
ができない場合に限ってその次の段階チェックに移行す
る。したがって、たとえば、第1段階チェックで運指を
決定できない場合には、第2段階チェックに進み、この
第2段階チェックで運指を決定できたときには、その後
の段階チェック、すなわち第3および第4段階チェック
を行わずに、直ちに本開始音処理を終了する。各段階チ
ェックへのこのような移行アルゴリズムは、以下、フロ
ーチャートが変わっても同様である。
【0066】第1〜第4段階チェックは、次のアルゴリ
ズムによって行う。すなわち、 第1段階チェック:当グループ内の音符種を仮運指でま
かなえないとき(たとえば、仮運指が「2」に決定され
ているときには、2〜5の4指を使用でき、当グループ
内の音符種が4種類以内の場合にはまかなうことがで
き、他方、当グループ内の音符種が5種類以上の場合に
はまかなうことができない)には、開始音を「仮運指」
に決定する(他方、当グループ内の音符種を仮運指でま
かなえるときには、第2段階チェックに進む) 第2段階チェック:当グループ内の最大推移度数を仮運
指でまかなえないとき(たとえば、仮運指が「2」に決
定されているときには、「黒鍵上行2→5」で最大ma
j6まで到達することができるため、当グループ内の最
大推移度数がmaj6以内の場合にはまかなうことがで
き、他方、当グループ内の最大推移度数がmaj6より
大きい場合にはまかなうことができない)には、開始音
を「仮運指」に決定する(他方、当グループ内の最大推
移度数を仮運指でまかなえるときには、第3段階チェッ
クに進む) 第3段階チェック:1)仮運指が「1」&β>per5
のときには、開始音を「仮運指」に決定する(ただし、
βは次音への推移度数を示している。以下同様) 2)仮運指が「2」&per4≦β≦per5のときに
は、開始音を「仮運指」に決定する 3)上記1)および2)の条件に該当しないときには、
第4段階チェックに進む 第4段階チェック:1)当グループ内の音符種を「仮運
指+1」でまかなえないときには、開始音を「仮運指」
に決定する 2)当グループ内の最大推移度数を「仮運指+1」でま
かなえないときには、開始音を「仮運指」に決定する 3)上記1)および2)で「仮運指」が決定されないと
きには、標準推移で一番長く弾ける指と仮運指のうち小
さい方に決定する(ただし、標準推移で一番長く弾ける
指とは、5本の各指をそれぞれ開始音(起音)として、
次音から順次、前記図3の単音用標準運指テーブルに記
載された標準運指を適用して行った場合に、最も遠くに
ある音符(当グループを超えて次グループ以降のグルー
プに亘ることもある)に到達可能な指をいう。以下同
様) 図10のステップS33では、次のアルゴリズムによっ
て仮運指を決定する。すなわち、 1)開始音が白鍵音の場合 a)開始音から第2音への推移度数が“min2” i)α5>α4>α3のときには、仮運指を「5」とする
(ただし、α3は、開始音の運指を「3」にし、次音か
ら順次、前記単音用標準運指テーブルに記載された標準
運指を適用していった場合に、開始音から最遠の音符ま
での距離(たとえば音符(MIDIイベント)の個数)
を示し、同様に、α4およびα5は、それぞれ開始音の
運指を「4」および「5」にしたときの、開始音から最
遠の音符までの距離を示している。以下同様) ii)α3≧α4のときには、仮運指を「3」とする iii)上記 i)およびii)の条件を満たさないときには、仮
運指を「4」とする b)開始音から第2音への推移度数が“maj2”以上 「1」〜「5」の指をそれぞれ開始音の運指にしたとき
に、標準運指で一番長く弾ける指を仮運指とする 2)開始音が黒鍵音の場合 a)当グループ内の音符種が2種類 i)β=min2のときには、仮運指を「3」とする ii)min2<β<per4のときには、仮運指を
「4」とする iii)β≧per4のときには、仮運指を「5」とする b)当グループ内の音符種が3種類以上 i)β=min2のときには、仮運指を「3」とする ii)β=min3のときには、仮運指を「4」とする iii)β=maj2&γ=min2のときには、仮運指を
「4」とする iv)β=maj2&γ≠min2のときには、仮運指を
「5」とする v)β≧maj3のときには、仮運指を「5」とする ただし、βは、開始音から第2音への推移度数を示し、
γは、第2音から第3音への推移度数を示している。
【0067】続くステップS34では、次の条件a,
b,cのいずれかに該当するか否かを判別する。すなわ
ち、 条件a:開始音の音高が次グループの最終音の音高より
高いまたは等しい 条件b:次グループが存在しない、すなわち曲の最終グ
ループである 条件c:次グループは複音グループである ステップS34で、上記条件a,b,cのいずれかに該
当するときには、ステップS33で決定された仮運指に
よって開始音の運指を決定した(ステップS35)後
に、本開始音処理を終了する一方、上記条件a,b,c
のいずれにも該当しないときには、ステップS36〜S
41で、それぞれ第1〜第6段階チェックを行って開始
音の運指を決定した後に、本開始音処理を終了する。こ
こで、第1〜第6段階チェックは、前記ステップS29
〜S32の各段階チェックと同様に、第1段階チェック
から順次行い、ある段階チェックで運指を決定すること
ができない場合に限ってその次の段階チェックに移行す
る。
【0068】第1〜第6段階チェックは、次のアルゴリ
ズムによって行う。すなわち、 第1段階チェック:当グループ内の音符種を仮運指でま
かなえないときには、開始音を「仮運指」に決定する 第2段階チェック:当グループ内の最大推移度数を仮運
指でまかなえないときには、開始音を「仮運指」に決定
する 第3段階チェック:1)仮運指が「5」&β>per5
のときには、開始音を「仮運指」に決定する 2)仮運指が「4」&per4≦β≦per5のときに
は、開始音を「仮運指」に決定する 3)仮運指が「3」&min3≦β≦perb4のとき
には、開始音を「仮運指」に決定する 4)仮運指が「2」のときには、開始音を「仮運指」に
決定する 第4段階チェック:1)当グループ内の音符種を「仮運
指−1」でまかなえないときには、開始音を「仮運指」
に決定する 2)当グループ内の最大推移度数を「仮運指−1」でま
かなえないときには、開始音を「仮運指」に決定する 第5段階チェック:仮運指−1が「2」&白鍵が起音&
開始音から第2音への推移度数がmin2のときには、
開始音を「仮運指」に決定する 第6段階チェック:仮運指を“1”だけデクリメントし
た後に、上記第1段階チェックから再度チェックし直す ただし、βは、当音から次音への推移度数を示してい
る。
【0069】図11〜図13は、前記ステップS11の
途中音処理サブルーチンの詳細な手順を示すフローチャ
ートである。
【0070】図11において、まず、当音が前音と同じ
音高であるか否かを判別し(ステップS51)、同じ音
高のときにはステップS52に進む一方、異なる音高の
ときには図12のステップS60に進む。
【0071】ステップS52では、当音が次音とも同じ
音高であるか否かを判別し、次音とも同じ音高のとき、
すなわち当音を含む前後3音がすべて同じ音高のときに
は、当音の運指を前音と同じ運指に決定した(ステップ
S53)後に、本途中音処理を終了する一方、当音が次
音と異なる音高のとき、すなわち当音およびその前音の
音高が同じで、その次音の音高が異なるときには、当音
の仮運指を前音の運指と同じ運指に決定した(ステップ
S54)後に、ステップS55に進む。
【0072】ステップS55では、当グループは上行グ
ループであるか否かを判別し、上行グループのときに
は、上行グループに対する第1および第2段階チェック
を行った(ステップS56,S57)後に、本途中音処
理を終了する一方、下行グループのときには、下行グル
ープに対する第1および第2段階チェックを行った(ス
テップS58,S59)後に、本途中音処理を終了す
る。
【0073】ここで、上行グループに対する第1段階チ
ェック(以下、「上行第1段階チェック」という)は、
次のアルゴリズムによって行う。すなわち、 1)当グループ内の残りの音符種を仮運指によってまか
なえるときには、上行グループに対する第2段階チェッ
ク(以下、「上行第2段階チェック」という)に進み、
まかなえないときには次の処理2)に進む 2)当グループ内の残りの音符種に対する最大推移度数
を仮運指によってまかなえるときには、上行第2段階チ
ェックに進み、まかなえないときには次の処理3)に進
む 3)仮運指を“1”だけデクリメントした後に、上記処
理1)に戻って、再チェックを行う 上行第2段階チェックは、上行第1段階チェックをクリ
アした運指を補正するためのものであり、次のアルゴリ
ズムによって行う。すなわち、 1)仮運指が「1」&当音が黒鍵音かつ次音が白鍵音で
ある半音推移のときには、運指を「2」とする 2)仮運指が「4」&当音が白鍵音かつ次音が黒鍵音で
ある半音推移のときには、運指を「3」とする 上記処理1)において、当音の運指を「1」とすると、
次音の白鍵を「2」の指で押さえなければならず、演奏
がし難くなるため、当音の運指を「2」として、次音の
白鍵を「1」の指で押さえるようにして(指くぐり)、
演奏をし易くしている。また、上記処理2)において、
当音の運指を「4」とすると、次音の黒鍵を「5」の指
で押さえなければならず、演奏がし難くなるため、当音
の運指を「3」として、次音の黒鍵を「4」の指で押さ
えるようにして、演奏をし易くしている。
【0074】また、下行グループに対する第1段階チェ
ックは、次のアルゴリズムによって行う。すなわち、前
音の運指が「1」のときには、当音を開始音とみなし
て、前記開始音処理に移行させる。
【0075】さらに、下行グループに対する第2段階チ
ェックは、次のアルゴリズムによって行う。すなわち、 1)当音が白鍵音であり、標準運指で「5」の指から運
指を開始した場合に、最も長く弾くことができるときに
は、当音の運指を「5」に決定する 2)「2」の指から運指を開始した方が、「3」および
「4」の指で運指を開始した場合よりも、長く標準運指
で弾くことができるときには、当音の運指を「2」に決
定する 3)「3」の指から運指を開始した方が、「2」および
「4」の指で運指を開始した場合よりも、長く標準運指
で弾くことができるときには、当音の運指を「3」に決
定する 4)「4」の指から運指を開始した方が、「2」および
「3」の指で運指を開始した場合よりも、長く標準運指
で弾くことができるときには、当音の運指を「4」に決
定する 5)「2」の指から運指を開始した場合と「3」の指か
ら運指を開始した場合は標準運指で弾くことができる長
さは同じであり、かつ、「2」の指から運指を開始した
方が、「4」の指で運指を開始した場合よりも、長く標
準運指で弾くことができるときに、直前の運指(以下、
「前運指」という)が「2」であれば当音の運指を
「2」に決定し、それ以外であれば当音の運指を「3」
に決定する 6)「2」の指から運指を開始した場合と「4」の指か
ら運指を開始した場合は標準運指で弾くことができる長
さは同じであり、かつ、「2」の指から運指を開始した
方が、「3」の指で運指を開始した場合よりも、長く標
準運指で弾くことができるときに、前運指が「2」であ
れば当音の運指を「2」に決定し、それ以外であれば当
音の運指を「4」に決定する 7)「3」の指から運指を開始した場合と「4」の指か
ら運指を開始した場合は標準運指で弾くことができる長
さは同じであり、かつ、「3」の指から運指を開始した
方が、「2」の指で運指を開始した場合よりも、長く標
準運指で弾くことができるときに、前運指が「3」であ
れば当音の運指を「2」に決定し、それ以外であれば当
音の運指を「4」に決定する 8)「2」の指から運指を開始した場合と「3」の指か
ら運指を開始した場合と「4」の指から運指を開始した
場合は標準運指で弾くことができる長さは同じであると
きに、前運指が「2」であれば当音の運指を「2」に決
定し、前運指が「3」、「4」または「5」のいずれか
であれば当音の運指を「3」に決定する 9)上記1)〜8)のいずれの条件も満たさないときに
は、当音を開始音とみなし、前記開始音処理に移行させ
る。
【0076】図12のステップS60では、当グループ
は上行グループであるか否かを判別し、上行グループの
ときにはステップS61に進む一方、上行グループでな
いときには、図13のステップS71に進む。
【0077】ステップS61では、前運指が「1」であ
るか否かを判別し、「1」のときには、前運指が「1」
のときに当音の運指を決定する前運指1時チェックを行
った(ステップS62)後に、本途中音処理を終了す
る。
【0078】この前運指1時チェックは、次のアルゴリ
ズムによって行う。すなわち、 1)当音の音高と前々音の音高が同一のときには、前運
指「1」をターンとみなして、当音の運指を前々音の運
指と同一値に決定する 2)当グループ内の残りの音符種が2音以上あり、前運
指が「1」&その音が白鍵音&次音が半音上行であると
きには、当音の運指を「3」に決定する 上記ステップS61で、前運指が「1」でないときには
ステップS63に進み、指くぐりの有無を判定する。指
くぐりの有無は、たとえば、次のようにして判定する。
すなわち、「前運指+1」では、当グループ内の残り音
符種をまかなえないとき、または、残りのグループ最大
推移度数をまかなえないときには、指くぐり有りが好ま
しいと判定する。
【0079】続くステップS64では、ステップS63
の判定の結果、指くぐり有りが好ましいと判定されたか
否かを判別し、指くぐり有りが好ましいと判定されたと
きには、当音の運指を「1」に決定した(ステップS6
5)後に、本途中音処理を終了する一方、指くぐり有り
が好ましいと判定されなかったときにはステップS66
に進む。
【0080】ステップS66では、「前運指+1」を仮
運指とし、ステップS67〜S70では、それぞれ第1
〜第4段階チェックを行った後に、本途中音処理を終了
する。
【0081】第1〜第4段階チェックは、次のアルゴリ
ズムによって行う。すなわち、 第1段階チェック:前音の運指から仮運指へ移行できな
い&仮運指では当グループ内の残りの音符種をまかなう
ことができないときには、当音の運指を「仮運指」に決
定する 第2段階チェック:前音の運指から仮運指へ移行できる
&仮運指では当グループ内の残りの音符種をまかなうこ
とができない場合に a)仮運指が「5」 i)次音が当音と同音のときには、当音の運指を「5」に
決定する ii)次音が当音と同音でないときには、当音の運指を
「算出不能」とする b)仮運指が「5」以外のときには、当音の運指を「仮
運指」に決定する 第3段階チェック:前音の運指から仮運指へ移行でき、
仮運指で当グループ内の残りの音符種をまかなうことが
できるものの、標準運指では当グループ内の最終音まで
到達しない場合に、前運指と前音および当音の推移度数
とから求められる標準推移運指が仮運指と等しいときに
は、当音の運指を「仮運指」に決定する 第4段階チェック:前音の運指から仮運指へ移行でき、
仮運指で当グループ内の残りの音符種をまかなうことが
でき、標準運指で当グループ内の最終音まで到達する場
合に、 a)前運指と前音および当音の推移度数とから求められ
る標準推移運指が仮運指と等しいときには、当音の運指
を「仮運指」に決定する b)前運指と前音および当音の推移度数とから求められ
る標準推移運指が仮運指より大きいとき i)前運指から「仮運指+1」に推移できなければ、「仮
運指+1」に第3段階チェックを適用して、当音の運指
を決定する ii)上記i)の条件に該当しなければ、「仮運指+1」に
対して第1段階チェックから再チェックを行う 図13のステップS71では、指かぶせの有無を判定す
る。指かぶせの有無は、たとえば、次のようにして判定
する。すなわち、「前運指−1」では、当グループ内の
残り音符種をまかなえないとき、または、残りのグルー
プ最大推移度数をまかなえないときには、指かぶせ有り
が好ましいと判定する。
【0082】続くステップS72では、ステップS71
の判定の結果、指かぶせ有りが好ましいと判定されたか
否かを判別し、指かぶせ有りが好ましいと判定されてい
るときには、指かぶせを前提とした運指を求め、当音の
運指をその運指に決定した(ステップS73)後に、本
途中音処理を終了する一方、指くぐり有りが好ましいと
判定されなかったときにはステップS74に進む。
【0083】ステップS73の指かぶせを前提とした運
指とは、前記図4で説明した運指間演奏許容範囲テーブ
ルに基づいて、当グループの残り音符種および最大推移
度数をまかなえる運指をいう。
【0084】ステップS74では、「前運指−1」を仮
運指とし、ステップS75〜S77では、それぞれ第1
〜第3段階チェックを行った後に、本途中音処理を終了
する。
【0085】第1〜第3段階チェックは、次のアルゴリ
ズムによって行う。すなわち、 第1段階チェック:前運指から仮運指へと推移可能であ
るときには、仮運指をさらに“1”だけデクリメント
し、この「仮運指−1」に対して、前運指から当該「仮
運指−1」へ推移可能であるか否かをチェックする。た
だし、「仮運指−1」が“0”になったときには、当音
を開始音とみなして、前記開始音処理に移行させる 第2段階チェック:仮運指で当グループ内の残りの音符
種をまかなうことができない場合 a)仮運指が「2」&次音の運指を「1」として推移さ
せることにより指かぶせをさせることができるときに
は、第3段階チェックに進む b)指かぶせ可能&仮運指で当グループ内の残りの音符
種をまかなうことが可能であるときには、当音の運指を
「2」に決定する c)仮運指が「2」&指かぶせにより次音へ推移可能&
仮運指で当グループ内の残りの音符種をまかなうことが
可能であるときには、当音の運指を「1」に決定する d)上記a)〜c)の条件を満たさないときには、当音
の運指を算出不能とし、当音を開始音とみなして、前記
開始音処理に移行させる 第3段階チェック:第2段階チェックまでをクリアした
仮運指の最大推移度数を算出して、この仮運指により当
グループの最終音までの度数をまかなうことができるか
否かをチェックし、 a)まかなえる場合 i)仮運指が前音からの標準推移運指のときには、当音の
運指を「仮運指」に決定する ii)上記i)の条件を満たさないときには、「仮運指−
1」で第1段階チェックから再チェックを行い、第1ま
たは第2段階チェックのいずれかをクリアすれば、「仮
運指−1」の値をさらに“1”だけデクリメントした後
に第1段階チェックから再チェックを行い、第1および
第2段階チェックのいずれをもクリアできなければ、当
音の運指を当該「仮運指」に決定する b)まかなえない場合 i)当グループ内に同音連打音があり、仮運指がこの音ま
でなら第1〜第3段階チェックをクリアできるときに
は、当音の運指を「仮運指」に決定する ii)上記i)の条件を満たさないときには、当音の運指を
算出不能とし、当音を開始音とみなして、前記開始音処
理に移行させる 図14は、前記ステップS12の最終音処理サブルーチ
ンの詳細な手順を示すフローチャートである。
【0086】同図において、まず、当グループの最終音
のタイプを判別する(ステップS81)。本実施の形態
では、最終音を次の3種類のタイプに分類し、各タイプ
毎に異なったアルゴリズムでその運指を決定する。すな
わち、 1)タイプ1:曲の最終音でない&上行グループの最終
音である音 2)タイプ2:曲の最終音でない&下行グループの最終
音である音 3)タイプ3:曲の最終音または最終音扱い(次音が休
符である場合または次グループが複音グループである場
合)である音 ステップS81で、最終音がタイプ1のときには、図1
5を用いて後述する最終音タイプ1処理サブルーチンを
実行し(ステップS82)、最終音がタイプ2のときに
は、図16を用いて後述する最終音タイプ2処理サブル
ーチンを実行し(ステップS83)、最終音がタイプ3
のときには、図17を用いて後述する最終音タイプ3処
理サブルーチンを実行する(ステップS84)。
【0087】続くステップS85では、上記ステップS
82〜S84の処理によって当最終音の運指を算出でき
ないときにその運指を決定する算出不能時処理を実行
し、ステップS86では、当最終音がタイプ1のときに
算出された運指を、次グループ内の音を考慮して補正す
る補正処理1を実行し、さらに、ステップS87では、
当最終音がタイプ2のときに算出された運指を、次グル
ープ内の音を考慮して補正する補正処理2を実行した後
に、本最終音算出処理を終了する。
【0088】上記ステップS85の算出不能時処理は、
次のアルゴリズムによって行う。すなわち、 1)当最終音が属するグループが上行グループの場合 a)当最終音が白鍵音のときには、当最終音の運指を
「5」に決定する b)当最終音が黒鍵に対応し、 i)前運指が「4」&前音から当最終音への推移が“mi
n2”のときには、当最終音の運指を「5」に決定する ii) 上記i)の条件を満たさないときには、当最終音の運
指を「4」に決定する 2)当最終音が属するグループが下行グループの場合 a)当最終音が白鍵音のときには、当最終音の運指を
「1」に決定する b)当最終音が黒鍵音のときには、当最終音の運指を
「2」に決定する また、上記ステップS86の補正処理1は、次のアルゴ
リズムによって行う。すなわち、 1)算出された運指が「2」の場合 次グループ内の音符種が2種類&α=min2のときに
は、当最終音の運指を「2」から「3」に変更する 2)算出された運指が「3」の場合 a)次グループ内の音符種が2種類&min3<α≦p
erb4のときには、当最終音の運指を「3」から
「4」に変更する b)次グループ内の音符種が2種類&perb4<α&
当最終音が白鍵音のときには、当最終音の運指を「3」
から「5」に変更する 3)算出された運指が「4」の場合 次音への推移が半音推移ではない&α=min2&前音
運指から「5」の運指での推移が可能のときには、当最
終音の運指を「4」から「5」に変更するただし、α
は、当最終音から次グループの最終音への推移度数を示
している。
【0089】さらに、上記ステップS87の補正処理2
は、次のアルゴリズムによって行う。すなわち、 1)算出された運指が「2」の場合 次グループ内の音符種が2または3種類&算出された運
指が白鍵音&前運指が「1」以外のときには、当最終音
の運指を「2」から「1」に変更する 2)算出された運指が「3」の場合 a)次グループ内の音符種が2種類&min3<α≦p
erb4のときには、当最終音の運指を「3」から
「2」に変更する b)次グループ内の音符種が2種類&perb4<α&
前運指が「1」以外のときには、当最終音の運指を
「3」から「1」に変更する c)次グループ内の音符種が3種類&min3<α≦p
erb5のときには、当最終音の運指を「3」から
「2」に変更する d)次グループ内の音符種が3種類&前運指が「1」以
外&算出された運指が白鍵音のときには、当最終音の運
指を「3」から「1」に変更する 3)算出された運指が「4」の場合 a)次グループ内の音符種が2種類&α<min3のと
きには、当最終音の運指を「4」から「3」に変更する b)次グループ内の音符種が2種類&min3<α≦p
erb4のときには、当最終音の運指を「4」から
「2」に変更する d)次グループ内の音符種が2種類&前運指が「1」以
外&算出された運指が白鍵音のときには、当最終音の運
指を「4」から「1」に変更するただし、αは、当最終
音から次グループの最終音への推移度数を示している。
【0090】図15は、前記ステップS82の最終音タ
イプ1処理サブルーチンの詳細な手順を示すフローチャ
ートである。
【0091】同図において、まず、前音から当最終音へ
の標準推移運指を算出する(ステップS91)。この標
準推移運指は、具体的には、次のようにして算出する。
【0092】すなわち、前音から当最終音への推移度数
を算出し、この算出された推移度数と前音に対して決定
された運指とに基づいて、前記図3の標準運指テーブル
を検索し、当最終音の標準運指を決定する。
【0093】次に、当最終音への推移が所定の特殊パタ
ーン条件に該当するか否かを判別し(ステップS9
2)、この特殊パターン条件に該当するときには、ステ
ップS93で特殊パターンチェック処理を実行した後
に、本最終音タイプ1処理を終了する一方、特殊パター
ン条件に該当しないときには、ステップS94〜S98
で標準パターンに対する処理を実行した後に、本最終音
タイプ1処理を終了する。
【0094】上記ステップS92で判別する所定の特殊
パターン条件とは、本実施の形態では、次のものをい
う。すなわち、 1)前運指が「2」&前音が黒鍵音&前々音から前音へ
の推移度数および前音から当最終音への推移度数がそれ
ぞれ“min2”および“min2” 2)次グループ内の音符種が2種類以上&当最終音から
次グループへの最大推移度数が1オクターブ以上 3)当最終音が白鍵音&当最終音から次グループ内の音
への推移が“min2”(たとえば、ミ→レ#→レ→ド
#) 4)当最終音が白鍵音&当最終音から次グループ内の音
への推移がmaj2→min2(たとえば、ファ→ミ→
レ#→レ→ド#) 5)当最終音が白鍵音&標準運指で算出された運指が
「5」 6)当最終音が黒鍵音&標準運指で算出された運指が
「4」または「5」上記ステップS93の特殊パターン
チェック処理では、当最終音への推移が上記特殊パター
ン条件1)〜6)のいずれに該当するかに応じて、次の
ように当最終音の運指を決定する。すなわち、 1)当最終音への推移が特殊パターン条件1)に該当す
る場合には、当最終音の運指を「1」に決定する 2)当最終音への推移が特殊パターン条件2)〜4)の
いずれかに該当する場合には、当最終音の運指を、前記
ステップS91で算出した標準運指に決定する 3)当最終音への推移が特殊パターン条件5)に該当す
る場合には、当最終音の運指を「5」に決定する 4)当最終音への推移が特殊パターン条件6)に該当す
る場合 a)前運指が「4」&標準運指で算出された運指が
「5」のときには、当最終音の運指を「5」に決定する b)α4>α5のときには、当最終音の運指を「4」に
決定する c)α4<α5のときには、当最終音の運指を「5」に
決定する d)α4=α5のときには、当最終音の運指を「4」に
決定する ステップS94では、次のアルゴリズムに従って仮運指
を決定する。すなわち、 1)前音と当最終音とが同音連打の場合には、当最終音
の仮運指を、前音に対して決定された運指に決定する 2)前音と当最終音とが同音連打でない場合 a)前運指が「5」のときには、当最終音の仮運指を算
出不能とする b)上記a)の条件を満たさないときには、当最終音の
仮運指を前運指+1の値に決定する 続くステップS95〜S98では、それぞれ、次のアル
ゴリズムに基づいて第1〜第4段階チェックを行う。す
なわち、 第1段階チェック:当最終音の仮運指が「5」の場合 1)前運指から当最終音へ推移することができないとき
には、当最終音の運指を算出不能とする 2)前運指から当最終音へ推移することができないとき
には、当最終音の運指を仮運指(「5」)に決定する 第2段階チェック:次グループの最終音が「休符」の場
合に、算出された当最終音の仮運指から、標準推移で次
グループの休符の前まで弾くことができるときには、当
最終音の運指を当該仮運指に決定する 第3段階チェック:次グループの最終音までの最大推移
度数を仮運指でまかなえるか否かをチェックし、 1)まかなえる場合には、仮運指を“1”だけインクリ
メントした後に、第1段階チェックから再チェックを行
う 2)まかなえない場合 a)前音と当最終音とが同音連打のときには、当最終音
の運指を仮運指に決定する b)仮運指≧算出された標準推移運指のときには、当最
終音の運指を仮運指に決定する c)仮運指が「4」&当最終音が黒鍵に対応するもの&
当最終音から次グループの第2音への推移が“min
2”のときには、当最終音の運指を仮運指に決定する 第4段階チェック:前運指から仮運指+1へ推移できる
ときには、仮運指を“1”だけインクリメントした後
に、第1段階チェックから再チェックを行う図16は、
前記ステップS83の最終音タイプ2処理サブルーチン
の詳細な手順を示すフローチャートである。
【0095】同図において、まず、次のアルゴリズムに
従って仮運指を決定する。すなわち、 1)前音と当最終音とが同音連打の場合には、当最終音
の仮運指を、前音に対して決定された運指に決定する 2)前音と当最終音とが同音連打でない場合 a)前運指が「1」のときには、「2」、「3」または
「4」の指による指かぶせで当最終音の運指を決定可能
か否かをチェックし、 i)決定可能であれば、 α3>α4&α3>α2のとき、当最終音の仮運指を
「3」に決定する α4>α2&α4>α3のとき、当最終音の仮運指を
「4」に決定する 上記およびのいずれの条件も満たさないときに
は、当最終音の仮運指を「2」に決定する ii)決定不可能であれば、当最終音の仮運指を「2」に
決定する b)上記a)の条件を満たさないときには、当最終音の
仮運指を前運指−1の値に決定する 次に、前運指が「1」であるか否かを判別し(ステップ
S102)、「1」のときには、前運指1時チェックを
行った(ステップS103)後に、本最終音タイプ2処
理を終了する。
【0096】この前運指1時チェックは、次のアルゴリ
ズムによって行う。すなわち、 1)仮運指に前音からの指かぶせが可能か否かをチェッ
クし、 a)指かぶせ可能のときには、当最終音の運指を仮運指
に決定する b)指かぶせ不可能のときには、仮運指を“1”だけイ
ンクリメントした後に、1)の最初から再チェックを行
う 2)上記1)で当最終音の運指を決定できないときに
は、算出不能とする 上記ステップS102で、前運指が「1」でないときに
はステップS104に進み、当最終音への推移が所定の
特殊パターン条件に該当するか否かを判別する。
【0097】ステップS104で、当最終音への推移が
この特殊パターン条件に該当するときには、ステップS
105で特殊パターンチェック処理を実行した後に、ス
テップS110に進む一方、特殊パターン条件に該当し
ないときには、ステップS106〜S109で標準パタ
ーンに対する処理を実行した後に、ステップS110に
進む。
【0098】上記ステップS104で判別する所定の特
殊パターン条件とは、本実施の形態では、次のものをい
う。すなわち、 1)当最終音が白鍵音&前音から当最終音への標準推移
運指が「1」 2)当最終音が白鍵音&前音から当最終音への標準推移
運指が「1」または「2」&当最終音から次グループ内
の第2音への推移が“min6”以上 3)当最終音が黒鍵音&前音から当最終音への標準推移
運指が「2」または仮運指が「2」&当最終音から次グ
ループ内の第2音への推移が“min2” 4)当最終音が黒鍵音&前音から当最終音への推移が
“min2”&当最終音から次グループ内の第2音への
推移が“min2”(たとえば、ド#→ド→ド#)&前
運指が「2」または「3」 上記ステップS105の特殊パターンチェック処理で
は、当最終音への推移が上記特殊パターン条件1)〜
4)のいずれに該当するかに応じて、次のように当最終
音の運指を決定する。すなわち、 1)当最終音への推移が特殊パターン条件1),2)ま
たは4)のいずれかに該当する場合には、当最終音の運
指を「1」に決定する 2)当最終音への推移が特殊パターン条件3)に該当す
る場合には、当最終音の運指を「2」に決定する 続くステップS106〜S109では、それぞれ、次の
アルゴリズムに基づいて第1〜第4段階チェックを行
う。すなわち、 第1段階チェック: 1)前記決定された仮運指で前運指から当最終音へ推移
することができるか否かをチェックし、 a)推移できないときには、仮運指を“1”だけデクリ
メントした後に最初のチェックに戻って再チェックを行
う b)推移できるときには、次のチェック2)に進む 2)次グループの音符種を前記決定された仮運指(上記
チェック1)で決定されたものも含む)でまかなえるか
否かをチェックし、まかなえないときには、仮運指を
“1”だけデクリメントした後に最初のチェック1)に
戻って再チェックを行う(ただし、このチェック2)に
おいて、次グループの音符種とは、当該次グループ内に
同音連打音が存在するときには、その音までの音符種を
いう) 第2段階チェック:次グループの最大推移度数を前記決
定された仮運指でまかなえるか否かをチェックし、まか
なえるときには、仮運指を“1”だけデクリメントした
後に、第1段階チェックから再チェックを行う(ただ
し、この第2段階チェックにおいて、次グループの最大
推移度数とは、当該次グループ内に同音連打音が存在す
るときには、その音までの最大推移度数をいう) 第3段階チェック: 1)前音と当最終音とが同音連打のときには、当最終音
の運指を仮運指に決定する 2)前音から当最終音への標準推移運指が仮運指と同じ
ときには、当最終音の運指を仮運指に決定する 3)仮運指が「2」&当最終音が黒鍵音&当最終音から
次グループの第2音への推移が“min2”のときに
は、当最終音の運指を仮運指に決定する 第4段階チェック: 1)前運指から仮運指−1へ推移できるときには、仮運
指を“1”だけデクリメントした後に、第1段階チェッ
クから再チェックを行う 2)前運指から仮運指−1へ推移できないときには、当
最終音の運指を標準運指に決定する ステップS110では、次のアルゴリズムによって最終
補正処理を行う。
【0099】すなわち、決定された運指が「1」&当最
終音が黒鍵音&当最終音から次グループの第2音への推
移度数が半音&前運指が「2」以外のときには、運指を
「1」から「2」に変更する。
【0100】図17は、前記ステップS84の最終音タ
イプ3処理サブルーチンの詳細な手順を示すフローチャ
ートである。
【0101】同図において、まず、当最終音が前音と同
音連打であるか否かを判別し(ステップS121)、同
音連打のときには、当最終音の仮運指を、前音に対して
決定された運指に決定した(ステップS122)後に、
本最終音タイプ3処理を終了する一方、同音連打でない
ときにはステップS123に進む。
【0102】ステップS123では、当グループは上行
グループであるか否かを判別し、上行グループのときに
は、上行グループに対する第1および第2段階チェック
を行った(ステップS124,S125)後に、本最終
音タイプ3処理を終了する一方、下行グループのときに
はステップS126に進む。
【0103】上行グループに対する第1段階チェック
(上行第1段階チェック)は、次のようにして行う。す
なわち、前音から当最終音へ標準運指で行くことができ
るときには、当最終音の運指をこの標準運指に決定す
る。
【0104】また、上行グループに対する第2段階チェ
ック(上行第2段階チェック)は、次のアルゴリズムに
従って行う。すなわち、 1)前運指が「5」の場合 当最終音の運指を算出不能として、 a)当最終音が曲の最終音のときには、当最終音の運指
を「3」に決定する b)当最終音が曲の最終音扱いのときには、当最終音を
開始音とみなして、前記開始音処理に移行させる 2)前運指が「5」以外の場合 仮運指を前音の運指+1に設定して、前音からこの仮運
指に推移できるか否かをチェックし、 a)推移可能のときには、当最終音の運指を設定された
仮運指に決定する b)推移不可能のときには、仮運指を“1”だけインク
リメントした後に、本チェック2)の最初に戻り、再チ
ェックを行う(ただし、インクリメント後の仮運指が
「5」のときには、当最終音の運指を「5」に決定す
る) ステップS126では、前運指が「1」であるか否かを
判別し、「1」のときには、前運指が「1」のときに当
最終音の運指を決定する前運指1時チェックを行った
(ステップS127)後に、本最終音タイプ3処理を終
了する。
【0105】この前運指1時チェックは、次のアルゴリ
ズムによって行う。すなわち、 1)前音が黒鍵音の場合 a)前音から当最終音への推移度数が“min2”のと
きには、当最終音の運指を「3」に決定する b)前音から当最終音への推移度数が“maj2”のと
きには、当最終音の運指を「2」に決定する c)前音から当最終音への推移度数が“min3”のと
きには、当最終音の運指を「3」に決定する d)前音から当最終音への推移度数が“maj3”のと
きには、当最終音の運指を「2」に決定する 2)前音が白鍵音の場合 a)前音から当最終音への推移度数が“min2”また
は“maj2”のときには、当最終音の運指を「2」に
決定する b)前音から当最終音への推移度数が“maj3”のと
きには、当最終音の運指を「3」に決定する c)前音から当最終音への推移度数が“maj3”より
大きいときには、当最終音の運指を「3」に決定する 前記ステップS126で、前運指が「1」以外のときに
は、下行グループに対する第1および第2段階チェック
を行った(ステップS128,S129)後に、本最終
音タイプ3処理を終了する。
【0106】下行グループに対する第1段階チェック
(下行第1段階チェック)は、次のようにして行う。す
なわち、前音から当最終音へ標準運指で行くことができ
るときには、当最終音の運指をこの標準運指に決定す
る。
【0107】また、下行グループに対する第2段階チェ
ック(下行第2段階チェック)は、次のアルゴリズムに
従って行う。すなわち、仮運指を前音の運指−1に設定
して、前音からこの仮運指に推移できるか否かをチェッ
クし、 1)推移可能のときには、当最終音の運指を設定された
仮運指に決定する 2)推移不可能のときには、仮運指を“1”だけデクリ
メントした後に、本チェック2)の最初に戻り、再チェ
ックを行う(ただし、デクリメント後の仮運指が「1」
のときには、当最終音の運指を「1」に決定する) 図18は、前記ステップS16の複音処理サブルーチン
の詳細な手順を示すフローチャートである。このフロー
チャートに基づいて複音処理を説明する前に、その概要
を説明する。 当グループが複音グループである場合
に、その前後のグループが属するグループの種類(すな
わち単音グループまたは複音グループのいずれか)に応
じて、当グループへの推移パターンを次の9種類のカテ
ゴリに分類する。すなわち、 1)パターンA:当複音グループのみ 2)パターンB:前単音グループ→当複音グループ(当
複音グループは曲の最終グループ) 3)パターンC:前複音グループ→当複音グループ(当
複音グループは曲の最終グループ) 4)パターンD:当複音グループ→次単音グループ(当
複音グループは曲の最初グループ) 5)パターンE:当複音グループ→次複音グループ(当
複音グループは曲の最初グループ) 6)パターンF:前単音グループ→当複音グループ→次
単音グループ 7)パターンG:前単音グループ→当複音グループ→次
複音グループ 8)パターンH:前複音グループ→当複音グループ→次
単音グループ 9)パターンI:前複音グループ→当複音グループ→次
複音グループ このようにして分類された各パターン毎に異なったアル
ゴリズムで、当該複音グループの複音に対して運指付け
を行う。運指付けを行うアルゴリズムは、後述するよう
に、各パターン毎に異なるものの、共通の手順は、次で
ある。すなわち、 1)当グループの複音を構成する各音符間の推移度数を
検出し、前記図3の標準運指テーブルを参照して、当該
複音に対応する標準運指値を検索する 2)当グループの複音を、その根音からの上行推移また
はその最高音高からの下行推移とみなして、単音化する
(このとき、上記1)の標準運指を使用する) 3)この単音化した複音を当該複音の前後の音符の推移
に基づいて(すなわち、この前後の音符も、当該単音化
した複音に適宜取り込んで)、前記上行グループまたは
下行グループに分類する 4)分類後の各グループに対して、それぞれ前述した単
音グループに対する運指付け処理を実行する 5)この4)の処理により、単音化した複音に対する運
指付けを行うことができたときには、当複音グループの
運指を当該運指に決定する一方、運指付けを行うことが
できなかったときには、当複音グループの運指を、上記
1)で設定された標準運指に決定する 次に、図18のフローチャートに基づいて、複音処理を
詳細に説明する。
【0108】同図において、まず、当複音グループが前
記パターンA〜Iのいずれのパターンに属するかを判別
し(ステップS131)、その判別結果に応じて次のよ
うに分岐する。すなわち、 1)当複音グループがパターンAのときには、ステップ
S131→S132と分岐し、図19を用いて後述する
パターンA処理サブルーチンを実行する 2)当複音グループがパターンBのときには、ステップ
S131→S133と分岐し、図20を用いて後述する
パターンB処理サブルーチンを実行する 3)当複音グループがパターンCのときには、ステップ
S131→S134と分岐し、図22を用いて後述する
パターンC処理サブルーチンを実行する 4)当複音グループがパターンDのときには、ステップ
S131→S135と分岐し、図24を用いて後述する
パターンD処理サブルーチンを実行する 5)当複音グループがパターンEのときには、ステップ
S131→S136と分岐し、図26を用いて後述する
パターンE処理サブルーチンを実行する 6)当複音グループがパターンFのときには、ステップ
S131→S137と分岐し、図28を用いて後述する
パターンF処理サブルーチンを実行する 7)当複音グループがパターンGのときには、ステップ
S131→S138と分岐し、図29を用いて後述する
パターンG処理サブルーチンを実行する 8)当複音グループがパターンHのときには、ステップ
S131→S139と分岐し、図30を用いて後述する
パターンH処理サブルーチンを実行する 9)当複音グループがパターンIのときには、ステップ
S131→S140と分岐し、図31を用いて後述する
パターンI処理サブルーチンを実行する 図19は、前記ステップS132のパターンA処理サブ
ルーチンの詳細な手順を示すフローチャートである。
【0109】同図において、まず、当複音グループに属
する複音を構成する各音符間の推移度数を調査する(ス
テップS151)。
【0110】次に、調査した推移度数に基づいて、図5
(b)の標準運指テーブルを参照し、当該複音に対応す
る標準運指値を検索した(ステップS152)後に、本
パターンA処理を終了する。
【0111】すなわち、当複音グループへの推移がパタ
ーンAのカテゴリに入る場合とは、その前後が休符等に
より当複音グループが孤立している場合であるので、当
該複音の運指付けは自由に行うことができる。
【0112】図20は、前記ステップS133のパター
ンB処理サブルーチンの詳細な手順を示すフローチャー
トである。
【0113】同図において、まず、パターンBに対する
単音化運指算出処理を実行する(ステップS161)。
この単音化運指算出処理は、次のアルゴリズムによって
行う。すなわち、 1)前単音グループの最終音と当複音グループの根音と
の音程、および前単音グループの最終音と当複音グルー
プの最高音との音程を算出する 2)a)最終音−根音の音程<最終音−最高音の音程の
ときには、当複音グループの複音を根音からの上行の単
音化列に分解する b)最終音−根音の音程≧最終音−最高音の音程のとき
には、当複音グループの複音を最高音からの下行の単音
化列に分解する 3)分解後の単音化列に対して、前記概要3)で説明し
たようにグループ分けする 4)このグループに対して、前記概要4)で説明したよ
うに運指付けを行う 5)このようにして運指付けされた運指値が適切か否か
をチェックする このチェック5)は、たとえば、次のようにして行う。
すなわち、 1)複音に対して指くぐりまたは指かぶせが運指付けら
れたときには、適切でない(NG)と判定する(すなわ
ち、音高の低い音符から指番号の若い順に運指付けられ
る必要がある) 2)複音に対する運指に無理な指の開きがあるように運
指付けられたときには、適切でないと判定する(この判
定は、前記図3の標準運指テーブルに基づいて行う) 図21は、パターンBに対する単音化運指算出処理を説
明するための図であり、(a)は、複音を上行に推移す
る単音の音符列に分解して運指付けを行った一例を示
し、(b)は、複音を下行に推移する単音の音符列に分
解して運指付けを行った一例を示している。各図
(a),(b)中、上段の五線譜は分解前の状態を示
し、下段の五線譜は分解後の状態を示している。そし
て、波線で囲まれている和音が、当複音グループの複音
を示し、音符の下に付与されている整数値が、決定され
た運指を示している。
【0114】図21(a)の上段の五線譜において、前
単音グループの最終音eと当複音グループの根音rとの
音程の方が、前単音グループの最終音eと当複音グルー
プの最高音mとの音程より低いので、同図の下段の五線
譜のように、当複音グループの和音は、上記アルゴリズ
ムに基づいて、根音rからの上行の単音化列に分解され
る。
【0115】他方、図21(b)の上段の五線譜では、
前単音グループの最終音eと当複音グループの根音rと
の音程の方が、前単音グループの最終音eと当複音グル
ープの最高音mとの音程より高いので、同図の下段の五
線譜のように、当複音グループの和音は、上記アルゴリ
ズムに基づいて、根音rからの下行の単音化列に分解さ
れる。
【0116】図20に戻り、ステップS162では、前
記ステップS161のチェック5)の結果、運指値(算
出値)が適切でない(NG)か否かを判別し、適切であ
るときには、直ちに本パターンB処理を終了する一方、
適切でない(NG)ときには、前記図19で説明したパ
ターンA処理と同様の処理により、標準の運指値を算出
して標準運指とした(ステップS163)後に、本パタ
ーンB処理を終了する。
【0117】図22は、前記ステップS134のパター
ンC処理サブルーチンの詳細な手順を示すフローチャー
トである。
【0118】同図において、まず、パターンCに対する
単音化運指算出処理を実行する(ステップS171)。
この単音化運指算出処理は、次のアルゴリズムによって
行う。すなわち、 1)前複音グループの根音(前根音)と当複音グループ
の根音(当根音)との音程、および前複音グループの根
音と当複音グループの最高音(当最高音)との音程を算
出する(ただし、算出された2音程が等しいときには、
前者の音程を採用する) 2)前複音グループの最高音(前最高音)と当複音グル
ープの根音との音程、および前複音グループの最高音と
当複音グループの最高音との音程を算出する(ただし、
算出された2音程が等しいときには、前者の音程を採用
する) 3)上記1),2)で算出された音程のうち、最低もの
を検出する a)前根音−当根音の音程が最低のときには、当複音グ
ループの複音を根音からの上行の単音化列に分解する b)前根音−当最高音の音程が最低のときには、当複音
グループの複音を最高音からの下行の単音化列に分解す
る c)前最高音−当根音の音程が最低のときには、当複音
グループの複音を根音からの上行の単音化列に分解する d)前最高音−当最高音の音程が最低のときには、当複
音グループの複音を最高音からの下行の単音化列に分解
する 4)分解後の単音化列に対して、前記概要3)で説明し
たようにグループ分けする 5)このグループに対して、前記概要4)で説明したよ
うに運指付けを行う 6)このようにして運指付けされた運指値が適切か否か
をチェックする 図23は、パターンCに対する単音化運指算出処理を説
明するための図であり、(a)は、複音を上行に推移す
る単音の音符列に分解して運指付けを行った一例を示
し、(b)は、複音を下行に推移する単音の音符列に分
解して運指付けを行った一例を示している。各図
(a),(b)中、上段の五線譜は分解前の状態を示
し、下段の五線譜は分解後の状態を示している。そし
て、波線で囲まれている和音が、当複音グループの複音
を示し、音符の下に付与されている整数値が、決定され
た運指を示している。
【0119】図23(a)の上段の五線譜において、前
複音グループの根音r0と当複音グループの根音r1と
の音程が最低であるので、同図の下段の五線譜のよう
に、当複音グループの和音は、上記アルゴリズムに基づ
いて、根音r1からの上行の単音化列に分解される。
【0120】他方、図23(b)の上段の五線譜では、
前複音グループの最高音m0と当複音グループの最高音
m1との音程が最低であるので、同図の下段の五線譜の
ように、当複音グループの和音は、上記アルゴリズムに
基づいて、最高音m1からの下行の単音化列に分解され
る。
【0121】図22に戻り、ステップS172では、前
記ステップS171のチェック6)の結果、運指値(算
出値)が適切でない(NG)か否かを判別し、適切であ
るときには、直ちに本パターンC処理を終了する一方、
適切でない(NG)ときには、前記図19で説明したパ
ターンA処理と同様の処理により、標準の運指値を算出
して標準運指とした(ステップS173)後に、本パタ
ーンC処理を終了する。
【0122】図24は、前記ステップS135のパター
ンD処理サブルーチンの詳細な手順を示すフローチャー
トである。
【0123】同図において、まず、パターンDに対する
単音化運指算出処理を実行する(ステップS181)。
この単音化運指算出処理は、次のアルゴリズムによって
行う。すなわち、 1)当複音グループの根音と次単音グループの最初音と
の音程、および当複音グループの最高音と次単音グルー
プの最初音との音程を算出する 2)a)根音−最初音の音程<最高音−最初音の音程の
ときには、当複音グループの複音を最高音からの下行の
単音化列に分解する b)根音−最初音の音程≧最高音−最初音の音程のとき
には、当複音グループの複音を根音からの上行の単音化
列に分解する 3)分解後の単音化列に対して、前記概要3)で説明し
たようにグループ分けする 4)このグループに対して、前記概要4)で説明したよ
うに運指付けを行う 5)このようにして運指付けされた運指値が適切か否か
をチェックする 図25は、パターンDに対する単音化運指算出処理を説
明するための図であり、(a)は、複音を下行に推移す
る単音の音符列に分解して運指付けを行った一例を示
し、(b)は、複音を上行に推移する単音の音符列に分
解して運指付けを行った一例を示している。各図
(a),(b)中、上段の五線譜は分解前の状態を示
し、下段の五線譜は分解後の状態を示している。そし
て、波線で囲まれている和音が、当複音グループの複音
を示し、音符の下に付与されている整数値が、決定され
た運指を示している。
【0124】図25(a)の上段の五線譜において、当
複音グループの根音rと次単音グループの最初音sとの
音程の方が、当複音グループの最高音mと次単音グルー
プの最初音sとの音程より低いので、同図の下段の五線
譜のように、当複音グループの和音は、上記アルゴリズ
ムに基づいて、最高音mからの下行の単音化列に分解さ
れる。
【0125】他方、図25(b)の上段の五線譜では、
当複音グループの根音rと次単音グループの最初音sと
の音程の方が、当複音グループの最高音mと次単音グル
ープの最初音sとの音程より高いので、同図の下段の五
線譜のように、当複音グループの和音は、上記アルゴリ
ズムに基づいて、根音rからの上行の単音化列に分解さ
れる。
【0126】図24に戻り、ステップS182では、前
記ステップS181のチェック5)の結果、運指値(算
出値)が適切でない(NG)か否かを判別し、適切であ
るときには、直ちに本パターンD処理を終了する一方、
適切でない(NG)ときには、前記図19で説明したパ
ターンA処理と同様の処理により、標準の運指値を算出
して標準運指とした(ステップS183)後に、本パタ
ーンD処理を終了する。
【0127】図26は、前記ステップS136のパター
ンE処理サブルーチンの詳細な手順を示すフローチャー
トである。
【0128】同図において、まず、パターンEに対する
単音化運指算出処理を実行する(ステップS191)。
この単音化運指算出処理は、次のアルゴリズムによって
行う。すなわち、 1)当複音グループの根音(当根音)と次複音グループ
の根音(次根音)との音程、および当複音グループの根
音と次複音グループの最高音(次最高音)との音程を算
出する(ただし、算出された2音程が等しいときには、
前者の音程を採用する) 2)当複音グループの最高音(当最高音)と次複音グル
ープの根音との音程、および当複音グループの最高音と
次複音グループの最高音との音程を算出する(ただし、
算出された2音程が等しいときには、前者の音程を採用
する) 3)上記1),2)で算出された音程のうち、最低もの
を検出する a)当根音−次根音の音程が最低のときには、当複音グ
ループの複音を最高音からの下行の単音化列に分解する b)当根音−次最高音の音程が最低のときには、当複音
グループの複音を最高音からの下行の単音化列に分解す
る c)当最高音−次根音の音程が最低のときには、当複音
グループの複音を根音からの上行の単音化列に分解する d)当最高音−次最高音の音程が最低のときには、当複
音グループの複音を根音からの上行の単音化列に分解す
る 4)分解後の単音化列に対して、前記概要3)で説明し
たようにグループ分けする 5)このグループに対して、前記概要4)で説明したよ
うに運指付けを行う 6)このようにして運指付けされた運指値が適切か否か
をチェックする 図27は、パターンEに対する単音化運指算出処理を説
明するための図であり、(a)は、複音を下行に推移す
る単音の音符列に分解して運指付けを行った一例を示
し、(b)は、複音を上行に推移する単音の音符列に分
解して運指付けを行った一例を示している。各図
(a),(b)中、上段の五線譜は分解前の状態を示
し、下段の五線譜は分解後の状態を示している。そし
て、波線で囲まれている和音が、当複音グループの複音
を示し、音符の下に付与されている整数値が、決定され
た運指を示している。
【0129】図27(a)の上段の五線譜において、当
複音グループの根音r1と次複音グループの根音r2と
の音程が最低であるので、同図の下段の五線譜のよう
に、当複音グループの和音は、上記アルゴリズムに基づ
いて、最高音m1からの下行の単音化列に分解される。
【0130】他方、図27(b)の上段の五線譜では、
当複音グループの最高音m1と次複音グループの最高音
m2との音程が最低であるので、同図の下段の五線譜の
ように、当複音グループの和音は、上記アルゴリズムに
基づいて、根音r1からの上行の単音化列に分解され
る。
【0131】図26に戻り、ステップS192では、前
記ステップS191のチェック6)の結果、運指値(算
出値)が適切でない(NG)か否かを判別し、適切であ
るときには、直ちに本パターンE処理を終了する一方、
適切でない(NG)ときには、前記図19で説明したパ
ターンA処理と同様の処理により、標準の運指値を算出
して標準運指とした(ステップS193)後に、本パタ
ーンE処理を終了する。
【0132】次に、パターンF〜I処理を説明する。
【0133】パターンFは、前述したように、前単音グ
ループ→当複音グループ→次単音グループのように音符
が推移するカテゴリである。すなわち、パターンFは、
パターンBとパターンDの複合パターンとみなすことが
できる。したがって、パターンF処理は、前記図20の
パターンB処理と前記図24のパターンD処理とを組み
合わせることによって生成される。
【0134】図28は、このパターンF処理、すなわち
前記ステップS137のパターンF処理サブルーチンの
詳細な手順を示すフローチャートである。
【0135】同図において、まず、前記ステップS16
1と同様にして、パターンBに対する単音化運指算出処
理を実行する(ステップS201)。
【0136】次に、前記ステップS162と同様にし
て、運指値(算出値)が適切でない(NG)か否かを判
別し(ステップS202)、適切であるときには、直ち
に本パターンF処理を終了する一方、適切でない(N
G)ときには、前記ステップS181と同様にして、パ
ターンDに対する単音化運指算出処理を実行する(ステ
ップS203)。
【0137】そして、前記ステップS182と同様にし
て、運指値(算出値)が適切でない(NG)か否かを判
別し(ステップS204)、適切であるときには、直ち
に本パターンF処理を終了する一方、適切でない(N
G)ときには、前記図19で説明したパターンA処理と
同様の処理により、標準の運指値を算出して標準運指と
した(ステップS205)後に、本パターンF処理を終
了する。
【0138】パターンGは、前述したように、前単音グ
ループ→当複音グループ→次複音グループのように音符
が推移するカテゴリである。すなわち、パターンGは、
パターンBとパターンEの複合パターンとみなすことが
できる。したがって、パターンF処理は、前記図20の
パターンB処理と前記図26のパターンE処理とを組み
合わせることによって生成される。
【0139】図29は、このパターンG処理、すなわち
前記ステップS138のパターンG処理サブルーチンの
詳細な手順を示すフローチャートである。
【0140】本パターンG処理は、前記パターンF処理
に対して、パターンF処理におけるステップS203の
パターンD単音化運指算出処理を、前記図26のパター
ンE処理におけるステップS191のパターンE単音化
運指算出処理によって置き換えた点が異なるのみである
ため、その説明を省略する。
【0141】パターンHは、前述したように、前複音グ
ループ→当複音グループ→次単音グループのように音符
が推移するカテゴリである。すなわち、パターンHは、
パターンCとパターンDの複合パターンとみなすことが
できる。したがって、パターンF処理は、前記図22の
パターンC処理と前記図24のパターンD処理とを組み
合わせることによって生成される。
【0142】図30は、このパターンH処理、すなわち
前記ステップS139のパターンH処理サブルーチンの
詳細な手順を示すフローチャートである。
【0143】本パターンH処理は、前記パターンF処理
に対して、パターンF処理におけるステップS201の
パターンB単音化運指算出処理を、前記図22のパター
ンC処理におけるステップS171のパターンC単音化
運指算出処理によって置き換えた点が異なるのみである
ため、その説明を省略する。
【0144】パターンIは、前述したように、前複音グ
ループ→当複音グループ→次複音グループのように音符
が推移するカテゴリである。すなわち、パターンIは、
パターンCとパターンEの複合パターンとみなすことが
できる。したがって、パターンI処理は、前記図22の
パターンC処理と前記図26のパターンE処理とを組み
合わせることによって生成される。
【0145】図31は、このパターンI処理、すなわち
前記ステップS140のパターンI処理サブルーチンの
詳細な手順を示すフローチャートである。
【0146】本パターンI処理は、前記パターンG処理
に対して、パターンG処理におけるステップS221の
パターンB単音化運指算出処理を、前記図22のパター
ンC処理におけるステップS171のパターンC単音化
運指算出処理によって置き換えた点が異なるのみである
ため、その説明を省略する。
【0147】このように、本実施の形態では、曲データ
内の時系列のキーオンイベント列を単音上行列および単
音下行列にグループ分けし、分類後の各単音上行/下行
列毎に運指付けを行うようにしたので、音符(キーオン
イベント)が上行から下行に折り返す折り返し地点、ま
たは下行から上行に折り返す折り返し地点までを、演奏
者が一気にかつ滑らかに演奏することができる運指付け
を行うことができる。また、単音上行列に対する運指付
けと単音下行列に対する運指付けとを異なるアルゴリズ
ムによって行うようにしたので、各上行/下行列それぞ
れの特徴を生かした運指付けを行うことができる。
【0148】また、折り返し地点の音符が隣接するグル
ープの双方に属するようにしたので、両グループの連続
性を考慮した運指付けを行うことができる。さらに、当
グループに属する音符に対して運指付けするときに、次
グループの音符の音高をその運指付け条件の一つとした
ので、さらに滑らかに演奏することができる運指付けを
行うことができる。
【0149】また、複音に対しては当該複音を単音化
し、単音に対する上記運指付け方法(アルゴリズム)を
適用するようにしたので、単音と複音が混在する曲デー
タに対しても、簡単に運指付けを行うことができる。
【0150】なお、本実施の形態では、与えられた曲デ
ータの各音符(キーオンイベント)を右手の指に運指付
ける方法を例に挙げて説明したが、本発明の特徴を変更
しない範囲内の簡単な変更(たとえば、単音/複音用標
準運指テーブルを左手用に書き換える)を施すだけで、
左手の指に運指付けることができる。さらに、両手の指
に運指付けることも簡単に行うことができる。
【0151】なお、上述した実施の形態の機能を実現す
るソフトウェアのプログラムを記録した記憶媒体を、シ
ステムまたは装置に供給し、そのシステムまたは装置の
コンピュータ(またはCPU5やMPU)が記憶媒体に
格納されたプログラムを読出し実行することによって
も、本発明の目的が達成されることは云うまでもない。
【0152】この場合、記憶媒体から読出されたプログ
ラム自体が本発明の新規な機能を実現することになり、
そのプログラムを記憶した記憶媒体は本発明を構成する
ことになる。
【0153】プログラムを供給するための記憶媒体とし
ては、たとえば、前記HDD11のハードディスク、C
D−ROM21,MO,MD,フロッピー(登録商標)
ディスク20、CD−R(CD- Recordable)、磁気テー
プ、不揮発性のメモリカード、ROMなどを用いること
ができる。また、他のMIDI機器100や通信ネット
ワーク101を介してサーバコンピュータ102からプ
ログラムが供給されるようにしてもよい。
【0154】また、コンピュータが読出したプログラム
を実行することにより、上述した各実施の形態の機能が
実現されるだけでなく、そのプログラムの指示に基づ
き、コンピュータ上で稼働しているOSなどが実際の処
理の一部または全部を行い、その処理によって上述した
実施の形態の機能が実現される場合も含まれることは云
うまでもない。
【0155】さらに、記憶媒体から読出されたプログラ
ムが、コンピュータに挿入された機能拡張ボードやコン
ピュータに接続された機能拡張ユニットに備わるメモリ
に書込まれた後、そのプログラムの指示に基づき、その
機能拡張ボードや機能拡張ユニットに備わるCPU5な
どが実際の処理の一部または全部を行い、その処理によ
って上述した各実施の形態の機能が実現される場合も含
まれることは云うまでもない。
【0156】
【発明の効果】以上説明したように、請求項1または1
0に記載の発明によれば、単音からなる時系列曲データ
が、その中に含まれる音符列の音高が上行する上行区間
とその中に含まれる音符列の音高が下行する下行区間と
に区分され、該各区間毎に当該区間内の音符に対して運
指付けが行われるので、音符列が上行から下行または下
行から上行に折り返す地点までを、演奏者が一気にかつ
滑らかに演奏することができる運指付けを行うことがで
きる。
【0157】請求項2に記載の発明によれば、区分後の
第1の区間と第2の区間がこの順序で隣接するときに、
前記第1の区間に含まれる最後の音符と前記第2の区間
に含まれる最初の音符とが共通になるように、該各区間
が区分されるので、両区間の連続性を考慮した運指付け
を行うことができる。
【0158】請求項3に記載の発明によれば、前記上行
区間に対する運指付けと前記下行区間に対する運指付け
とがそれぞれ異なったアルゴリズムによって行われるの
で、各上行/下行区間に属する音符列それぞれの特徴を
生かした運指付けを行うことができる。
【0159】請求項4に記載の発明によれば、対象区間
内の対象音に対して運指付けを行うときに、該対象音を
起点として隣接する音に標準運指テーブルに設定されて
いる標準的な運指を順次適用し、この標準的な運指で最
も遠くに位置する音まで到達できる運指値が、前記対象
音の運指に決定されるので、演奏者がさらに滑らかに演
奏することが可能な運指付けを行うことができる。
【0160】請求項5または11に記載の発明によれ
ば、単音および複音からなる時系列曲データが単音のみ
からなる単音区間と複音のみからなる複音区間とに区分
され、該各区間毎に当該区間内の音符に対して運指付け
が行われるので、単音と複音が混在する曲データに対し
ても運指付けすることができる。
【0161】請求項6に記載の発明によれば、前記複音
区間内の複音に対して運指付けを行うときに、複音標準
運指テーブルに設定された標準的な運指に基づいて行わ
れるので、複音に対しても演奏者が滑らかに演奏するこ
とが可能な運指付けを行うことができる。
【0162】請求項7または12に記載の発明によれ
ば、前記複音区間内の複音が単音化され、該単音化後の
時系列曲データが、その中に含まれる音符列の音高が上
行する上行区間とその中に含まれる音符列の音高が下行
する下行区間とに区分され、該区分された各区間毎に当
該区間内の音符に対して運指付けが行われるので、複音
に対しても、単音に対する運指付けと同様の運指付けに
よって運指付けすることができ、したがって、単音と複
音が混在する曲データに対しても、簡単に運指付けを行
うことができる。
【0163】請求項8に記載の発明によれば、前記複音
区間内の複音に対して運指付けを行うときに、複音標準
運指テーブルに設定された標準的な運指に基づいた運指
付けと、前記複音区間内の複音が単音化され、上行区間
と下行区間とに区分された各区間毎に当該区間内の音符
に対して行う運指付けのいずれかが選択されて、運指付
けされるので、演奏者がさらに滑らかに演奏することが
可能な運指付けを行うことができる。
【0164】請求項9に記載の発明によれば、対象区間
内の音符に対して運指付けを行うときに、該対象区間の
次の区間に含まれる音符が当該運指付けの1つの条件に
されるので、演奏者がさらに滑らかに演奏することが可
能な運指付けを行うことができる。
【図面の簡単な説明】
【図1】本発明の一実施の形態に係る自動運指付け装置
の概略構成を示すブロック図である。
【図2】図1の自動運指付け装置で用いる「度数」の定
義を説明するための図である。
【図3】単音に運指付けするときに用いる単音用標準運
指テーブルの一例を示す図である。
【図4】運指間演奏許容範囲テーブルの一例を示す図で
ある。
【図5】複音に運指付けするときに用いる複音用標準運
指テーブルを説明するための図である。
【図6】図6の自動運指付け装置、特にCPUが実行す
る運指付け処理の手順を示すフローチャートである。
【図7】運指検出用フォーマットに変換されて曲データ
バッファに格納された曲データの一例を示す図である。
【図8】グループ分けする方法および分類されグループ
バッファに格納された各データの一例を示す図である。
【図9】図6の開始音処理サブルーチンの詳細な手順を
示すフローチャートである。
【図10】図6の開始音処理サブルーチンの詳細な手順
を示すフローチャートである。
【図11】図6の途中音処理サブルーチンの詳細な手順
を示すフローチャートである。
【図12】図6の途中音処理サブルーチンの詳細な手順
を示すフローチャートである。
【図13】図6の途中音処理サブルーチンの詳細な手順
を示すフローチャートである。
【図14】図6の最終音処理サブルーチンの詳細な手順
を示すフローチャートである。
【図15】図14の最終音タイプ1処理サブルーチンの
詳細な手順を示すフローチャートである。
【図16】図14の最終音タイプ2処理サブルーチンの
詳細な手順を示すフローチャートである。
【図17】図14の最終音タイプ3処理サブルーチンの
詳細な手順を示すフローチャートである。
【図18】図14の複音処理サブルーチンの詳細な手順
を示すフローチャートである。
【図19】図18のパターンA処理サブルーチンの詳細
な手順を示すフローチャートである。
【図20】図18のパターンB処理サブルーチンの詳細
な手順を示すフローチャートである。
【図21】パターンBに対する単音化運指算出処理を説
明するための図である。
【図22】図18のパターンC処理サブルーチンの詳細
な手順を示すフローチャートである。
【図23】パターンCに対する単音化運指算出処理を説
明するための図である。
【図24】図18のパターンD処理サブルーチンの詳細
な手順を示すフローチャートである。
【図25】パターンDに対する単音化運指算出処理を説
明するための図である。
【図26】図18のパターンE処理サブルーチンの詳細
な手順を示すフローチャートである。
【図27】パターンEに対する単音化運指算出処理を説
明するための図である。
【図28】図18のパターンF処理サブルーチンの詳細
な手順を示すフローチャートである。
【図29】図18のパターンG処理サブルーチンの詳細
な手順を示すフローチャートである。
【図30】図18のパターンH処理サブルーチンの詳細
な手順を示すフローチャートである。
【図31】図18のパターンI処理サブルーチンの詳細
な手順を示すフローチャートである。
【符号の説明】
5 CPU(区分手段、運指付け手段、単音化手段) 7 RAM(記憶手段)
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5D082 AA04 AA05 AA09 AA13 AA15 AA28 5D378 MM12 MM32 MM47 MM62 MM74 NN04 NN12 NN22 QQ01 QQ26 QQ30 QQ34 TT04 TT18 TT22 TT34 UU01 XX24 XX43

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 単音からなる時系列曲データを、その中
    に含まれる音符列の音高が上行する上行区間とその中に
    含まれる音符列の音高が下行する下行区間とに区分する
    区分手段と、 該各区間毎に当該区間内の音符に対して運指付けを行う
    運指付け手段とを有することを特徴とする自動運指付け
    装置。
  2. 【請求項2】 前記区分手段は、区分後の第1の区間と
    第2の区間がこの順序で隣接するときに、前記第1の区
    間に含まれる最後の音符と前記第2の区間に含まれる最
    初の音符とを共通にするように、該各区間を区分するこ
    とを特徴とする請求項1に記載の自動運指付け装置。
  3. 【請求項3】 前記運指付け手段は、前記上行区間に対
    する運指付けと前記下行区間に対する運指付けとをそれ
    ぞれ異なったアルゴリズムによって行うことを特徴とす
    る請求項1または2のいずれかに記載の自動運指付け装
    置。
  4. 【請求項4】 隣接する2音を演奏するときの標準的な
    運指が設定された単音標準運指テーブルを記憶する記憶
    手段を有し、 前記運指付け手段は、対象区間内の対象音に対して運指
    付けを行うときに、該対象音を起点として隣接する音に
    前記標準運指テーブルに設定されている標準的な運指を
    順次適用し、この標準的な運指で最も遠くに位置する音
    まで到達できる運指値を、前記対象音の運指に決定する
    ことを特徴とする請求項1乃至3のいずれかに記載の自
    動運指付け装置。
  5. 【請求項5】 単音および複音からなる時系列曲データ
    を単音のみからなる単音区間と複音のみからなる複音区
    間とに区分する区分手段と、 該各区間毎に当該区間内の音符に対して運指付けを行う
    運指付け手段とを有することを特徴とする自動運指付け
    装置。
  6. 【請求項6】 前記複音を構成する音の音程に応じて標
    準的な運指が設定された複音標準運指テーブルを記憶す
    る記憶手段を有し、 前記運指付け手段は、前記複音区間内の複音に対して運
    指付けを行うときに、前記複音標準運指テーブルに設定
    された標準的な運指に基づいて行うことを特徴とする請
    求項5に記載の自動運指付け装置。
  7. 【請求項7】 前記複音区間内の複音を単音化する単音
    化手段と、 該単音化後の時系列曲データを、その中に含まれる音符
    列の音高が上行する上行区間とその中に含まれる音符列
    の音高が下行する下行区間とに区分する区分手段とを有
    し、 前記運指付け手段は、前記区分された各区間毎に当該区
    間内の音符に対して運指付けを行うことを特徴とする請
    求項5に記載の自動運指付け装置。
  8. 【請求項8】 前記複音を構成する音の音程に応じて標
    準的な運指が設定された複音標準運指テーブルを記憶す
    る記憶手段と、 前記複音区間内の複音を単音化する単音化手段と、 該単音化後の時系列曲データを、その中に含まれる音符
    列の音高が上行する上行区間とその中に含まれる音符列
    の音高が下行する下行区間とに区分する区分手段と、 前記運指付け手段により、前記複音区間内の複音に対し
    て運指付けを行うときに、前記複音標準運指テーブルに
    設定された標準的な運指に基づいた運指付けと、前記区
    分された各区間毎に当該区間内の音符に対して行う運指
    付けのいずれかを選択する選択手段とを有することを特
    徴とする請求項5に記載の自動運指付け装置。
  9. 【請求項9】 前記運指付け手段は、対象区間内の音符
    に対して運指付けを行うときに、該対象区間の次の区間
    に含まれる音符を当該運指付けの1つの条件にすること
    を特徴とする請求項1乃至8のいずれかに記載の自動運
    指付け装置。
  10. 【請求項10】 単音からなる時系列曲データを、その
    中に含まれる音符列の音高が上行する上行区間とその中
    に含まれる音符列の音高が下行する下行区間とに区分す
    る区分モジュールと、 該各区間毎に当該区間内の音符に対して運指付けを行う
    運指付けモジュールとを含む、コンピュータが実現でき
    るプログラムを格納した記憶媒体。
  11. 【請求項11】 単音および複音からなる時系列曲デー
    タを単音のみからなる単音区間と複音のみからなる複音
    区間とに区分する区分モジュールと、 該各区間毎に当該区間内の音符に対して運指付けを行う
    運指付けモジュールとを含む、コンピュータが実現でき
    るプログラムを格納した記憶媒体。
  12. 【請求項12】 前記複音区間内の複音を単音化する単
    音化モジュールと、 該単音化後の時系列曲データを、その中に含まれる音符
    列の音高が上行する上行区間とその中に含まれる音符列
    の音高が下行する下行区間とに区分する区分モジュール
    とを有し、 前記運指付けモジュールは、前記区分された各区間毎に
    当該区間内の音符に対して運指付けを行うことを特徴と
    する請求項11に記載の記憶媒体。
JP33768898A 1998-11-27 1998-11-27 自動運指付け装置および記憶媒体 Expired - Fee Related JP3225935B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33768898A JP3225935B2 (ja) 1998-11-27 1998-11-27 自動運指付け装置および記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33768898A JP3225935B2 (ja) 1998-11-27 1998-11-27 自動運指付け装置および記憶媒体

Publications (2)

Publication Number Publication Date
JP2000163055A true JP2000163055A (ja) 2000-06-16
JP3225935B2 JP3225935B2 (ja) 2001-11-05

Family

ID=18311038

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33768898A Expired - Fee Related JP3225935B2 (ja) 1998-11-27 1998-11-27 自動運指付け装置および記憶媒体

Country Status (1)

Country Link
JP (1) JP3225935B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007241034A (ja) * 2006-03-10 2007-09-20 Univ Of Tokyo 楽器演奏における運指決定方法及びシステム
CN111723938A (zh) * 2020-05-06 2020-09-29 华南理工大学 一种基于指法规则和强化学习的钢琴指法自动生成方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007241034A (ja) * 2006-03-10 2007-09-20 Univ Of Tokyo 楽器演奏における運指決定方法及びシステム
CN111723938A (zh) * 2020-05-06 2020-09-29 华南理工大学 一种基于指法规则和强化学习的钢琴指法自动生成方法
CN111723938B (zh) * 2020-05-06 2023-06-23 华南理工大学 一种基于指法规则和强化学习的钢琴指法自动生成方法

Also Published As

Publication number Publication date
JP3225935B2 (ja) 2001-11-05

Similar Documents

Publication Publication Date Title
US6576828B2 (en) Automatic composition apparatus and method using rhythm pattern characteristics database and setting composition conditions section by section
JP3541706B2 (ja) 自動作曲装置および記憶媒体
US6395970B2 (en) Automatic music composing apparatus that composes melody reflecting motif
JPH11237881A (ja) 自動作曲装置と記録媒体
US6294720B1 (en) Apparatus and method for creating melody and rhythm by extracting characteristic features from given motif
US5852252A (en) Chord progression input/modification device
US6100462A (en) Apparatus and method for generating melody
JP3900188B2 (ja) 演奏データ作成装置
US4920851A (en) Automatic musical tone generating apparatus for generating musical tones with slur effect
US6011211A (en) System and method for approximate shifting of musical pitches while maintaining harmonic function in a given context
US6984781B2 (en) Music formulation
JP3225935B2 (ja) 自動運指付け装置および記憶媒体
US6015949A (en) System and method for applying a harmonic change to a representation of musical pitches while maintaining conformity to a harmonic rule-base
JP3835456B2 (ja) 自動作曲装置および記憶媒体
JP3266007B2 (ja) 演奏データ変換装置
JPH10105173A (ja) 演奏データ変換装置
JP3900187B2 (ja) 演奏データ作成装置
JP3216529B2 (ja) 演奏データ分析装置および演奏データ分析方法
JP3528361B2 (ja) 自動作曲機
JPH0561465A (ja) 調性判定装置及び自動伴奏装置
JP2000163064A (ja) 楽曲生成装置および楽曲生成プログラムを記録した記録媒体
JP3413842B2 (ja) 自動伴奏装置
JP2636477B2 (ja) 電子楽器
JP3316547B2 (ja) 和音付装置
JP4186797B2 (ja) ベース音列生成用コンピュータプログラムおよびベース音列生成装置

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070831

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080831

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090831

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees