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

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

▶ カシオ計算機株式会社の特許一覧

<>
  • 特開-調判定装置、方法及びプログラム 図1
  • 特開-調判定装置、方法及びプログラム 図2
  • 特開-調判定装置、方法及びプログラム 図3
  • 特開-調判定装置、方法及びプログラム 図4
  • 特開-調判定装置、方法及びプログラム 図5
  • 特開-調判定装置、方法及びプログラム 図6
  • 特開-調判定装置、方法及びプログラム 図7
  • 特開-調判定装置、方法及びプログラム 図8
  • 特開-調判定装置、方法及びプログラム 図9
  • 特開-調判定装置、方法及びプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024178957
(43)【公開日】2024-12-26
(54)【発明の名称】調判定装置、方法及びプログラム
(51)【国際特許分類】
   G10H 1/00 20060101AFI20241219BHJP
   G10G 3/04 20060101ALI20241219BHJP
【FI】
G10H1/00 102Z
G10G3/04
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023097373
(22)【出願日】2023-06-14
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】110004185
【氏名又は名称】インフォート弁理士法人
(74)【代理人】
【識別番号】100121083
【弁理士】
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【弁理士】
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100074099
【弁理士】
【氏名又は名称】大菅 義之
(74)【代理人】
【識別番号】100182936
【弁理士】
【氏名又は名称】矢野 直樹
(72)【発明者】
【氏名】奥田 広子
(72)【発明者】
【氏名】広浜 雅行
【テーマコード(参考)】
5D182
5D478
【Fターム(参考)】
5D182AD01
5D182AD10
5D478EA03
5D478EA05
5D478EA26
(57)【要約】
【課題】調判定装置、方法及びプログラムに関し、メロディ及びコードがリアルタイムに入力される楽音を示す入力データに対して、良好に調判定する。
【解決手段】調判定装置は、入力データに含まれるメロディに基づいて、第1の調と判定するメロディからの調判定処理と、前記入力データに含まれるコードに基づいて、第2の調と判定するコードからの調判定処理と、調関係テーブルを参照し、前記入力データに対する調判定結果として、前記第1の調と前記第2の調のいずれかを出力する調判定結果出力処理と、を実行する。
【選択図】図6
【特許請求の範囲】
【請求項1】
入力データに含まれるメロディに基づいて、第1の調と判定するメロディからの調判定処理と、
前記入力データに含まれるコードに基づいて、第2の調と判定するコードからの調判定処理と、
調関係テーブルを参照し、前記入力データに対する調判定結果として、前記第1の調と前記第2の調のいずれかを出力する調判定結果出力処理と、
を実行する調判定装置。
【請求項2】
前記調関係テーブルは、前記第1の調と前記第2の調が、一致する関係、近親調の関係、又は遠隔調の関係のいずれの関係であるかが規定されている、
請求項1に記載の調判定装置。
【請求項3】
前記調関係テーブルを参照し、前記第1の調と前記第2の調が、近親調の関係にある場合には、前記調判定結果出力処理は、前記第1の調を出力し、
前記調関係テーブルを参照し、前記第1の調と前記第2の調が、遠隔調の関係にある場合には、前記調判定結果出力処理は、前記第2の調を出力する、
請求項1に記載の調判定装置。
【請求項4】
前記コードからの調判定処理の後に、拍数をカウントする拍カウント処理を実行し、
前記拍数が設定された拍数に達するまでは、前記調判定結果出力処理は、前記調関係テーブルを参照し、前記第1の調と前記第2の調のいずれかを出力し、
前記拍数が設定された拍数に達した後は、前記入力データに対する調判定結果として、前記第1の調を出力する、
請求項1乃至3のいずれかに記載の調判定装置。
【請求項5】
前記メロディからの調判定処理は、前記入力データ中のメロディ音の3音列に基づいて前記3音列が属する調を前記第1の調として判定するトリコルド判定処理、又は前記入力データ中のメロディの4音列に基づいて前記4音列が属する調を前記第1の調として判定するテトラコルド判定処理の、少なくとも何れか一方を実行する、
請求項1乃至3のいずれかに記載の調判定装置。
【請求項6】
前記メロディからの調判定処理は、刺繍音を判定対象から除外する刺繍音削除処理を実行する、請求項1乃至3のいずれかに記載の調判定装置。
【請求項7】
前記調関係テーブルは、前記入力データの曲が属する音楽ジャンルごとに複数備えられている、請求項1乃至3のいずれかに記載の調判定装置。
【請求項8】
コンピュータが、
入力データに含まれるメロディに基づいて、第1の調と判定するメロディからの調判定処理と、
前記入力データに含まれるコードに基づいて、第2の調と判定するコードからの調判定処理と、
調関係テーブルを参照し、前記入力データに対する調判定結果として、前記第1の調と前記第2の調のいずれかを出力する調判定結果出力処理と、
を実行する調判定方法。
【請求項9】
コンピュータに、
入力データに含まれるメロディに基づいて、第1の調と判定するメロディからの調判定処理と、
前記入力データに含まれるコードに基づいて、第2の調と判定するコードからの調判定処理と、
調関係テーブルを参照し、前記入力データに対する調判定結果として、前記第1の調と前記第2の調のいずれかを出力する調判定結果出力処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、調判定装置、方法及びプログラムに関する。
【背景技術】
【0002】
従来、演奏者が例えば電子ピアノで演奏する曲に合わせてコンピュータグラフィックスを表示して、曲に合った視覚的効果を演出する製品が開発されている(例えば特許文献1)。このような製品においては、演奏される曲からリアルタイムでその曲の調を決定する技術が必要とされる。
【0003】
従来技術では、リアルタイムで演奏される演奏音が和音を構成するか否かの判定結果に基づいて、コードからの調判定又はメロディからの調判定のどちらか一方のみによる判定処理が実行されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2020-144346号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記従来技術では、演奏される曲によっては、コードは単純だがメロディが転調しているケースがあるが、コードからの調判定だけだとそのようなコード進行を拾うことができない。すなわち、コードからの調判定又はメロディからの調判定の一方のみに適した曲以外の曲の場合には、どちらか一方のみによる調判定ではなかなかうまくいかないという課題があった。
【課題を解決するための手段】
【0006】
態様の一例の調判定装置は、入力データに含まれるメロディに基づいて、第1の調と判定するメロディからの調判定処理と、前記入力データに含まれるコードに基づいて、第2の調と判定するコードからの調判定処理と、調関係テーブルを参照し、前記入力データに対する調判定結果として、前記第1の調と前記第2の調のいずれかを出力する調判定結果出力処理と、を実行する。
【発明の効果】
【0007】
本発明によれば、良好に調判定することが可能となる。
【図面の簡単な説明】
【0008】
図1】調判定装置の実施形態が搭載される電子鍵盤楽器の外観図である。
図2】調判定装置の実施形態が搭載される電子鍵盤楽器のシステムハードウェアの構成例を示すブロック図である。
図3】電子鍵盤楽器の全体処理の例を示すメインフローチャートである。
図4】(a)は調関係テーブル、(b)はメジャーキースケールにおけるキー毎のテトラコルドのキースケールノート構成を示すキー毎テトラコルド構成音テーブルの例を示す図である。
図5】(a)はメジャーキースケールにおけるキー毎のトリコルドのキースケールノート構成を示すキー毎トリコルド構成音テーブルの例、(b)はマイナーキースケールにおけるキー毎のトリコルドのキースケールノート構成を示すキー毎トリコルド構成音テーブルの例を示す図である。
図6】調判定処理の詳細例を示すフローチャートである。
図7】メロディからの調判定処理の詳細例を示すフローチャートである。
図8】トリコルド判定処理及びテトラコルド判定処理の詳細例を示すフローチャートである。
図9】刺繍音削除処理の詳細例を示すフローチャートである。
図10】実施形態の説明図である。
【発明を実施するための形態】
【0009】
以下、本発明を実施するための形態(以下「本実施形態」)について図面を参照しながら詳細に説明する。
【0010】
本実施形態は、メロディからの調判定処理とコードからの調判定処理を、択一的に実行するのではなく、両方とも並列に実行して夫々第1の調及び第2の調を出力し、図4(a)を用いて後述する調関係テーブルを参照することにより第1の調と第2の調の間の調関係を決定し、その決定した調関係に応じて第1の調又は第2の調のいずれかを優先して現在の調判定結果を出力するようにしたものである。このようにメロディからの調判定処理結果である第1の調とコードからの調判定処理結果である第2の調の両方を並列に考慮することにより、演奏形態や演奏の難易度、音楽ジャンルなどを問わず、より精度の高い調判定結果を得ることが可能となる。
【0011】
また、本実施形態では、メロディからの調判定処理において、楽音データ中のメロディ音の3音列に基づいてその3音列が属する調を第1の調として判定するトリコルド判定処理と、楽音データ中のメロディの4音列に基づいてその4音列が属する調を第1の調として判定するテトラコルド判定処理とが実施される。この処理により、楽音データ中のメロディに基づいてより的確な調判定を行うことが可能となる。
【0012】
図1は、調判定装置の実施形態が搭載される電子鍵盤楽器100の外観図である。電子鍵盤楽器100は、例えば電子ピアノであり、鍵盤101と液晶ディスプレイ102とスイッチ103のグループを少なくとも備える。また、筐体の裏面部、側面部、又は背面部等にスピーカを備える。この電子鍵盤楽器100においては、演奏者が鍵盤101を使って演奏する曲に合わせて液晶ディスプレイ102にコンピュータグラフィックスを表示して、曲に合った視覚的効果を演出することができる。スイッチ103のグループは、電子鍵盤楽器100の電源オン/オフや、音量調整、楽音出力の音色の指定を指示したりする各種スイッチからなる。また、特には図示しないが、演奏効果を付加するスイッチやベンドホイールやペダル等のスイッチが具備されてもよい。
【0013】
図2は、調判定装置の実施形態が搭載される図1の電子鍵盤楽器100の制御システム200のハードウェアの構成例を示すブロック図である。制御システム200において、CPU(プロセッサ)201、ROM(リードオンリーメモリ)202、RAM(ランダムアクセスメモリ)203、音源LSI(大規模集積回路)204、鍵盤101が接続されるキースキャナ205、液晶ディスプレイ102が接続されるディスプレイコントローラ206、スイッチ103のグループが接続されるI/O(入出力)コントローラ207、及びMIDI(Musical Instrument Digital Interface)等の楽音フォーマットを有する楽音データや音楽(オーディオ)データを外部機器から例えばBluetooth(登録商標)無線通信により取り込むBluetooth MIDI&AUDIOインタフェース208が、夫々システムバス212に接続されている。更に、音源LSI204の出力側には、D/Aコンバータ209、アンプ210、及びスピーカ211が順次接続される。その他、特には図示しないが、制御システム200において生成された画像データを外部のテレビモニター等に映し出すための映像インタフェースが具備されてもよい。
【0014】
CPU201は、RAM203をワークメモリとして使用しながらROM202に記憶された制御プログラムを実行することにより、図1の電子鍵盤楽器100の制御動作を実行する。特に、CPU201は、図3のフローチャートで示されるメイン処理、及び図6から図9のフローチャートを用いて後述する調判定処理を実行する調判定装置として動作する。また、ROM202は、上記制御プログラム及び各種固定データのほか、図3図4、及び図5を用いて後述する各種テーブルデータを記憶する。
【0015】
図3は、電子鍵盤楽器のメイン処理の例を示すメインフローチャートである。この処理は、図2のCPU201がROM202に記憶されている制御プログラムをRAM203にロードして実行する処理である。なお、特には図示しないが、メイン処理の実行中に、所定の時間間隔で、割込カウンタのカウンタ値をインクリメントするタイマインクリメント処理も実行される。
【0016】
図3に示すように、CPU201は、電子鍵盤楽器100の電源が投入されると、RAM203中のデータや液晶ディスプレイ102の画像のクリアを含むイニシャル処理(初期化処理)を実行する(ステップS301)。
【0017】
その後、CPU201は、電子鍵盤楽器100の電源がオフされるまで、ステップS302からS307までの一連の処理を、繰り返し実行する。
【0018】
上記一連の処理において、CPU201はまず、スイッチ103のグループの夫々のスイッチの操作をI/Oコントローラ207を介して検出し、対応する処理を実行するスイッチ処理を実行する(ステップS302)。
【0019】
次に、上記一連の処理において、CPU201は、演奏者による鍵盤101に対する押鍵/離鍵の操作をキースキャナ205を介して検出する鍵盤処理を実行する(ステップS303)。CPU201は、押鍵の処理において、演奏者によって押鍵された鍵盤101上の鍵のノートオンタイミング、ノートナンバー(音高)、及びベロシティ(押鍵の強さ)等の押鍵データを検出する。CPU201は、離鍵の処理において、演奏者によって離鍵された鍵のノートオフタイミング、ノートナンバー等の離鍵データを検出する。
【0020】
次に、上記一連の処理において、CPU201は、調判定処理を実行する(ステップS304)。CPU201は、この調判定処理において、演奏者が鍵盤101で演奏したことにより入力する上記押鍵データ又は離鍵データである楽音を示す入力データに対して調判定を行うことにより、上記入力データに対する現在の調判定結果を出力する。この処理において、CPU201は、調判定装置として動作する。
なお、入力データは、鍵盤101から入力する押鍵/離鍵データに限らず、例えば図2のBluetooth MIDI&AUDIOインタフェース208を介して、外部の機器(パーソナルコンピュータ等)から入力する再生された楽音データであってもよい。
ステップS304の調判定処理の詳細については、図6から図9のフローチャートを用いて後述する。
【0021】
次に、上記一連の処理において、CPU201は、ステップS304の調判定処理の結果出力された現在の調判定結果に基づいて、例えば演奏者によって演奏されている現在の曲の調性に良く合った画像データを生成し、図2のディスプレイコントローラ206を介して図1の液晶ディスプレイ102に表示する画像表示処理を実行する(ステップS305)。これにより、演奏者は、自分の演奏に合わせて変化する画像の表示を楽しむことができる。
なお、生成された画像は、特には図示しない映像インタフェースを介して外部のテレビモニター等に映し出されてもよい。
更には、前述したように、外部機器から例えばBluetooth MIDI&AUDIOインタフェース208を介して入力する再生された楽音データに合わせて、その楽音データが例えば図2の音源LSI204をスルーしてD/Aコンバータ209からアンプ210を介してスピーカ211から放音されると共に、上述のようにして生成された画像データが、外部のテレビモニター等に映し出されてもよい。
【0022】
次に、上記一連の処理において、CPU201は、音源発音処理を実行する(ステップS306)。この音源発音処理において、CPU201は、ステップS303の鍵盤処理において生成されたノートオンイベントに基づいて、発音すべき楽音の音色、音高、及びベロシティを示すデータを音源LSI204に与え、或いは、消音すべき楽音の音高を示す発音制御データを音源LSI204に与える。音源LSI204は、音色、音高、ベロシティ、音長等を示す発音制御データに従って、ROM202又は音源LSI204が内蔵する特には図示しない波形ROMに記憶されている波形データを読み出して、所定の楽音データを生成する。この楽音データは、D/Aコンバータ209によってアナログの楽音信号に変換された後に、アンプ210で増幅され、スピーカ211から放音される。また、CPU201は、ノートオフイベントに基づいて、音源LSI204にノートオフイベントが示す音高(ノートナンバー)の消音を指示する。これにより、音源LSI204は、該当する発音中だった楽音データを消音させる。
【0023】
上記一連の処理において、CPU201は最後に、その他処理(例えば、音源LSI204で発音中の楽音データのエンベロープ制御等)を実行し、ステップS302の処理に戻る。
【0024】
次に、図3のステップS304の調判定処理の詳細について、以下に説明する。
前述したように、本実施形態は、メロディからの調判定処理とコードからの調判定処理を、択一的に実行するのではなく、両方とも並列に実行して夫々第1の調及び第2の調を出力し、調関係テーブルを参照することにより第1の調と第2の調の間の調関係を決定し、その決定した調関係に応じて第1の調又は第2の調のいずれかを優先して現在の調判定結果を出力するようにしたものである。
【0025】
図4(a)は、調関係テーブルの例を示す図である。この調関係テーブルは、複数の調の各主音間の関係である調関係を示している。図4(a)において、縦軸は後述するメロディからの調判定結果を示すキー(Key)Mを示しており、アルファベットの大文字で表記されている左端列420は調判定結果としてのメジャーキーを示しており、アルファベットの小文字で表記されている上記左端列420の右隣り列421は調判定結果としてのマイナーキーを示している。例えば図4(a)の横方向のグレー色の行401は、メロディからの調判定結果を示すキーMが、Cメジャー(表記:C)又はAm(Aマイナー、表記:a)であった場合に参照されるべき行である。
【0026】
図4(a)において、横軸は後述するコードからの調判定結果を示すキー(Key)Cを示しており、アルファベットの小文字で表記されている上端行422は調判定結果としてのマイナーキーを、アルファベットの大文字で表記されている上記上端行422の下隣り行423は調判定結果としてのメジャーキーを示している。例えば図4(a)の縦方向のグレー色の列402は、コードからの調判定結果を示すキーCが、Cメジャー(表記:C)又はAm(Aマイナー、表記:a)であった場合に参照されるべき列である。
【0027】
図4(a)において、縦軸の任意のキーの位置の横方向の行と、横軸の任意のキーの位置の縦方向の列とが交差するマスには、記号「○」、「M」、又は「c」に対応するデータが設定されている。
【0028】
例えば、メロディからの調判定結果がキーC又はAmである行401と、コードからの調判定結果もキーC又はAmである列402とが交差するマスに対応する記憶位置には、記号「○」に対応するデータが設定されている。この記号「○」に対応するデータは、メロディからの調判定結果のキーとコードからの調判定結果のキーとが一致している場合に設定される。
【0029】
次に例えば、メロディからの調判定結果がキーC又はAmである行401と、コードからの調判定結果がキーC又はAmである列402の左右両隣りの、キーFメジャー(表記:F)若しくはDm(Dマイナー、表記:d)の列403、又はキーGメジャー(表記:G)若しくはEm(Eマイナー、表記:e)の列404とが交差するマスに対応する記憶位置には、記号「M」に対応するデータが設定される。この記号「M」に対応するデータは、メロディからの調判定結果のキーとコードからの調判定結果のキーとが音楽理論の五度圏でいうところの近親調(属調)になっている場合に設定される。近親調とは、ある調(主調)に対して関係の深い調である。記号「M」に対応するデータは、メロディからの調判定結果を採用することを示す。なお、後述する記号「c」に対応するデータは、コードからの調判定結果を採用することを示す。
【0030】
また例えば、メロディからの調判定結果がキーC又はAmである行401と、コードからの調判定結果がキーC又はAmである列402の各左右2つ隣りの、キーB♭メジャー(表記:B♭)若しくはGm(Gマイナー、表記:g)の列405、又はキーDメジャー(表記:D)若しくはBm(Bマイナー、表記:b)の列406とが交差するマスに対応する記憶位置にも、記号「M」に対応するデータが設定されている。B♭メジャー若しくはGmはCメジャー若しくはAmからみると下属調の下属調、Dメジャー若しくはBmはCメジャー若しくはAmからみると属調の属調となる。本実施形態では、これらの下属調の下属調又は属調の属調の各データも、メロディからの調判定結果のキーとコードからの調判定結果のキーとが音楽理論の五度圏でいうところの近親調であると捉える。
【0031】
このように、図4(a)の調関係テーブルにおいて、五度圏において、五度ずつ移動する属調又は属調の属調という関係で近親調が示されている。
【0032】
縦軸と横軸の関係が逆になっても同様である。例えば、コードからの調判定結果がキーC又はAmである列402と、メロディからの調判定結果がキーC又はAmである行401の上下両隣りの、キーFメジャー(表記:F)若しくはDm(Dマイナー、表記:d)の行407、又はキーGメジャー(表記:G)若しくはEm(Eマイナー、表記:e)の行408とが交差するマスに対応する記憶位置には、記号「M」に対応するデータが設定されており、メロディからの調判定結果のキーとコードからの調判定結果のキーとが近親調(属調または下属調)の関係になっている。
【0033】
また例えば、コードらの調判定結果がキーC又はAmである列402と、メロディからの調判定結果がキーC又はAmである行401の各上下2つ隣りの、キーB♭メジャー(表記:B♭)若しくはGm(Gマイナー、表記:g)の行409、又はキーDメジャー(表記:D)若しくはBm(Bマイナー、表記:b)の行410とが交差するマスに対応する記憶位置にも、記号「M」に対応するデータが設定されており、これらのマス位置においても、メロディからの調判定結果のキーとコードからの調判定結果のキーとが近親調(下属調の下属調、属調の属調)の関係になっている。
【0034】
このように、図4(a)の調関係テーブルにおいて、五度圏において、五度ずつ移動する属調又は属調の属調、或いは、下属調又は下属調の下属調という関係で近親調が示されている。
【0035】
上記以外で、メロディからの調判定結果のキーとコードからの調判定結果のキーとが遠い位置関係にある各マスに対応する記憶位置には、記号「c」に対応するデータが設定されている。この記号「c」に対応するデータは、メロディからの調判定結果のキーとコードからの調判定結果のキーとが音楽理論の五度圏でいうところの遠隔調になっている場合に設定される。
【0036】
本実施形態においては、図4(a)の調関係テーブルにおいて、メロディからの調判定結果である第1の調とコードからの調判定結果である第2の調とが一致する関係にある記号「○」に対応するデータが設定された組合せとなった場合には、第1の調=第2の調が現在の調判定結果として出力される。
【0037】
また、図4(a)の調関係テーブルにおいて、第1の調と第2の調とが近親調の関係にある記号「M」に対応するデータが設定された組合せとなった場合には、メロディからの調判定結果である第1の調が優先されて現在の調判定結果として出力される。
【0038】
更に、図4(a)の調関係テーブルにおいて、第1の調と第2の調とが遠隔調の関係にある記号「c」に対応するデータが設定された組合せとなった場合には、コードからの調判定結果である第2の調が優先されて現在の調判定結果として出力される。
【0039】
本実施形態においてこのようなアルゴリズムを採用した理由は次の通りである。転調の仕方として、コードは変化しないが、メロディの演奏において、属調になったり、属調の属調になったり、下属調になったり、下属調の下属調になったりするように、近親調に変化することは、よくある。従って、この場合にはメロディからの調判定結果を優先するとよい。
【0040】
例えば、コードからの調判定結果はCで固定されているが、メロディがCからB♭に変化した場合にはメロディからの調判定結果がCからその下属調であるFに変化し得る。このような場合には、全体としてメロディからの調判定結果Fを優先するのがよい。
一方、歌謡曲ポップスなどで、例えばずっとC調できたが最後に半音転調して上がって盛り上げるような演奏がされる場合がよくある。この例のように、曲調がC調からC#調になったときには、全然遠い調なのでそのような場合はコードが必ず変わっているはずなので、本実施形態ではコードからの調判定結果が優先されるとよい。
【0041】
ただ、図4(a)に示される例では、近親調の範囲が2つである(図4(a)において記号「M」に対応するデータが設定されたマス位置が2つ続いている)が、例えばジャズ系などでは、近親調の範囲をもう少し広げてもよい。すなわち、図4(a)に例示される調関係テーブルを入力データの曲が属する音楽ジャンルごとに切り替えることにより、様々なジャンルの曲の調判定に良好に対応することが可能である。
【0042】
このように、本実施形態では、コードからの調判定結果とメロディからの調判定結果について、図4(a)に例示されるような調関係テーブルを複数用意(ROM202に記憶)しておくことにより、クラシック、ポップス、ジャズ等の主要な音楽ジャンルに対して調判定を行うことが可能となる。
【0043】
図4(a)に例示される調関係テーブルは、図2のROM202に、テーブルデータとして記憶されている。そのデータ構成は、メロディからの調判定結果である第1の調によって図4(a)の縦軸の何れかのキーにアクセスでき、コードからの調判定結果である第2の調によって図4(a)の横軸の何れかのキーにアクセスでき、それらが交差するマスに対応する記憶位置から夫々に設定されている記号に対応するデータが読み出される形式であれば、どのようなデータ構成が採用されてもよい。
【0044】
このように、本実施形態において、メロディからの調判定処理結果である第1の調とコードからの調判定処理結果である第2の調の両方を並列に考慮することにより、演奏形態や演奏の難易度、音楽ジャンルなどを問わず、より精度の高い調判定結果を得ることが可能となる。
【0045】
次に、メロディからの調判定処理について説明する。メロディの音列を判定する場合に、3つの音列がきたときに、例えば日本の童謡などでは、ドレミソラの音程しかないいわゆるヨナ抜き音階の童謡が多い。
ヨナ抜き音階とは、西洋音階において、主音(ド)から四つ目のファと、七つ目のシがない音階(ドレミソラ)のことをいう。雅楽の呂旋法がこれに当たり、西洋音楽関係者が日本音階の特徴として名づけたものである。鍵盤楽器における黒鍵部分の5音にも相当する。
このようなケースにおいて、メロディとしてドレミと発音された場合に、それがハ長調なのかヘ長調なのかト長調なのかわからないが、特に童謡などのジャンルにおいては、とりあえずドレミという3音列が来たときにはハ長調の可能性が高いと判定してキー(Key)を確定して判定を進めると、割と早く調を確定させることができる。
【0046】
その後にファとかシとかがでてくると、実は、ハ長調ではなくてト長調だったなどと判定される場合もあり、図3のステップS302からS307のループ処理におけるステップS304の調判定処理として示されるように、メロディからの調判定処理はリアルタイムで繰り返し実行されるので、最初はハ長調だったがやはりト長調だったという変化は簡単に修正できる。
【0047】
上述のようなメロディの3音列は、トリコルドと呼ばれる。図5(a)はメジャーキースケールにおけるキー毎のトリコルドのキースケールノート構成を示すキー毎トリコルド構成音テーブルの例、図5(b)はマイナーキースケールにおけるキー毎のトリコルドのキースケールノート構成を示すキー毎トリコルド構成音テーブルの例を示す図である。夫々ダイアトニックスケールに対応している。図5(a)及び(b)において、各縦軸の左端列501及び502は夫々メジャーキー(Key)及びマイナーキー(Key)を示している。
本実施形態におけるメロディからの調判定処理におけるトリコルド判定において、図5(a)のメジャースケール又は図5(b)のマイナースケールの各行のグレー色の部分の行方向の3音列の何れかが検出された場合には、図5(a)又は(b)の左端列501又は502における、その検出された3音列に対応する位置の記号で示されるメジャーキー又はマイナーキーが、その時点におけるメロディからの調判定結果としての第1の調の候補となる。
【0048】
例えば、童謡「メリーさんの羊」において、「ミレドレミミミ レレレ ミソソ ミレドレミミミ レレミレド」というメロディでは、ドレミソという音階しかないのでハ長調という判定が確定する。しかしながら、左手の伴奏がない限りは、それがト長調でもヘ長調でも良い。そのようなケースを早く見つけるために、本実施形態におけるメロディからの調判定処理においては、メロディ中のトリコルドを判定することに着目した。最初にトリコルドで早く判定をすれば、童謡「メリーさんの羊」のようなケースを救うことができる。
もちろん、これが恒久的に正しい訳ではなく、後に詳述するように本実施形態では、後で新しい判定がされれば、きちんと修正することが可能である。
【0049】
以上の本実施形態における考え方は、ヨナ抜き音階以外の例えばいわゆるニロ抜き音階などのメロディに対しても同様に適用することができる。
【0050】
以上の考え方は、メロディにおいて3音列が連続した場合であるが、4音列が連続した場合についても同様に考えることができる。メロディおける4音列はテトラコルドと呼ばれている。図4(b)はダイアトニックのメジャーキースケールにおけるキー毎のテトラコルドのキースケールノート構成を示すキー毎テトラコルド構成音テーブルの例を示す図である。図4(b)において、縦軸の左端列430はメジャーキー(Key)を示している。
テトラコルドには、3全音からなる音の組合せが含まれる。1つの音階で3全音がくる組合せは決まっている。例えば、ハ長調であれば、ファソラシの4音中に3個の全音(3全音)が含まれる。従って、このような組合せが現れた場合には、ハ長調であると判定することができる。このように、テトラコルドの組合せは各調で決まっているので、図4(b)に例示されるようなキー毎テトラコルド構成音テーブルを参照することにより、メロディからの調判定処理を行うことが可能である。
即ち、本実施形態におけるメロディからの調判定処理におけるテトラコルド判定において、図4(b)のスケールの各行のグレー色の部分の行方向の3全音を含む4音列の何れかが検出された場合には、図4(b)の左端列430における、その検出された4音列の行に対応する位置の記号で示される例えばメジャーキーが、その時点におけるメロディからの調判定結果としての第1の調の候補となる。
【0051】
図5(a)、(b)に例示されるキー毎トリコルド構成音テーブル、又は図4(b)に例示されるキー毎テトラコルド構成音テーブルは、図4(a)の調関係テーブルの場合と同様に、図2のROM202に、テーブルデータとして記憶されている。そのデータ構成は、入力データである楽音データの3音列又は4音列が、テーブル上の何れかの行方向のグレー色部分の3音列又は4音列と一致するか否かを判定し、一致した行のキーを特定するデータベース機能を備える形式であれば、どのようなデータ構成が採用されてもよい。
【0052】
図4及び図5を用いて上述した調判定処理の考え方に基づく本実施形態の具体的な調判定処理について、以下に詳細に説明する。図6は、図3のステップS304で繰り返し実行される調判定処理の詳細例を示すフローチャートである。
【0053】
図6において、図2のCPU201はまず、メロディからの調判定処理(ステップS601)と、コードからの調判定処理(ステップS602)を並列して実行し、夫々の判定結果を例えばRAM203上の変数Mkeyに第1の調として(ステップS603)、及び同じくRAM203上の変数Ckeyに第2の調として(ステップS604)、格納する。
【0054】
メロディからの調判定処理については、図7から図9のフローチャートを用いて後述する。
【0055】
また、CPU201は、ステップS602でコードからの調判定処理を実行した後は、入力データに対して拍カウントを開始する(ステップS605)。CPU201は、拍カウントが1増える毎に、例えばRAM203の拍カウント変数の値を更新する。
【0056】
次に、CPU201は、入力データにおいて、RAM203上の拍カウント変数の値が16拍に達していないか否かを判定する(ステップS606)。
【0057】
ステップS606の判定は、例えば、或る曲の入力データにおいて、コードからの調判定が行われないまま所定の拍数(例えば、16拍)に達していない間は(ステップS606の判定がYESの間は)、CPU201は、調関係テーブルを参照し(ステップS607)、調を確定する(ステップS609)。
【0058】
一方、コードからの調判定が行われないまま所定の拍数に達した場合は(ステップS606の判定がNO)、CPU201は、変数Mkeyに格納されている第1の調を採用し(ステップS608)、調を確定する(ステップS609)。
【0059】
図7は、図6のステップS601のメロディからの調判定処理の詳細例を示すフローチャートである。
まず、CPU201は、現時点においてコードからの調判定処理等によって調が確定しているか否かを判定する(ステップS701)。
【0060】
調が確定していてステップS701の判定がYESの場合には、CPU201は、以下に説明するトリコルド判定処理及びテトラコルド判定処理は実行せずに、ステップS708の刺繍音削除処理に進む。
【0061】
調が確定しておらずステップS701の判定がNOの場合には、CPU201はまず、トリコルド判定処理を実行する(ステップS702)。
図8(a)は、図7のステップS702のトリコルド判定処理の詳細例を示すフローチャートである。
【0062】
トリコルドというのは3音列という意味であるが、本実施形態では音程間隔が全音であるつながった3音列という意味で使用する。鍵盤101(図1)上の白鍵のドレミ、ファソラ、ソラシなどが条件にあてはまる。童謡などでよく使われるヨナ抜き音階のような場合ではファとシは出てこない場合が多いので、そのような曲の場合はトリコルドの条件を満たせばドレミのトリコルドである比率が高いので、白鍵のドレミが出てきた場合は第1の調MkeyをCメジャーとする目的で判定している。
【0063】
図8(a)において、CPU201は、入力データとして得られている4音を音高が低い方から並びかえる(ステップS801)。
例えば、入力データにおいてソドレミが入力されたときに、ドレミソと並べておく。この場合、音域は関係なく音名だけで並び替えて音種に着目する。
【0064】
次に、CPU201は、上記並びかえた後の4音の各音間の音程間隔に、全音が二つ続くものがあるか否かを判定する(ステップS802)。上述の並びの中で次の音との音程間隔に全音が続くものがある、例えばドレミソという音列ではドレミがこれにマッチする。
【0065】
ステップS802の判定がYESならば、CPU201は、全音音程二つに該当する3音のうち一番下の音を主音とする長調を、第1の調Mkeyとして出力する(ステップS803)。例えば、ドレミソという4音が入ってきた場合にはドレミがトリコルドに当たり、この場合にはドを主音とする長調となるので、ハ長調が第1の調Mkeyということになる。
その後、CPU201は、図8(a)で示される図7のステップS702のトリコルド判定処理を終了する。
【0066】
ステップS802の判定がNOならば、CPU201は、音程間隔に全音と半音が続くものがあるか否かを判定する(ステップS804)。
【0067】
ステップS804の判定がYESならば、音程二つに該当する3音のうち一番下の音を主音とする短調を、第1の調Mkeyとして出力する(ステップS805)。例えば、ドレミ♭のドを主音とするハ短調として、第1の調Mkeyを決定する。短調のトリコルドの場合はドレミ♭なので、全音と半音の間隔の音列を探している。
その後、CPU201は、図8(a)で示される図7のステップS702のトリコルド判定処理を終了する。
【0068】
ステップS804の判定がNOならば、CPU201は、第1の調Mkeyは設定せずに、図8(a)で示される図7のステップS702のトリコルド判定処理を終了する。
【0069】
図7の処理の説明に戻り、CPU201は、ステップS702のトリコルド判定処理の後に、前述した図5(a)又は(b)のキー毎トリコルド構成音テーブルを参照し、前述した動作により、第1の調Mkeyが何れかのトリコルドとマッチするか否かを判定する(ステップS703)。
【0070】
ステップS703の判定がYESになれば、第1の調Mkeyを確定させる(ステップS704)。その後、CPU201は、図7のフローチャートで示される図6のステップS601のメロディからの調判定処理を終了する。
【0071】
ステップS703の判定がNOならば、テトラコルド判定処理を実行する(ステップS705)。
図8(b)は、図7のステップS705のテトラコルド判定処理の詳細例を示すフローチャートである。
【0072】
図8(b)において、CPU201は、入力データとして得られている16音を音程が低い方から並びかえる(ステップS810)。テトラコルドは4音列という意味であるが、本実施形態では、図4(b)にある、調固有の4音列のことを意味している。
例えばハ長調ではファソラシ、音程間隔で言うと全音-全音-全音となっており、この3全音が続くのはハ長調だけである。同様にドレミファ#の3全音をもつのはト長調、シ♭ドレミの3全音のテトラコルドを持つのはヘ長調だけである。このように、3全音のテトラコルドを最初の4音で見つけたら調が決定されるので、これを4音から16音の間で探す。
【0073】
次に、CPU201は、上記並びかえた後の16音の各音間の音程間隔が、全音-全音-全音の4音があるか否かを判定する(ステップS811)。
【0074】
ステップS811の判定がYESならば、CPU201は、上位4音の一番上の音の半音上の音を主音とする長調を、第1の調Mkeyとして出力する(ステップS812)。その後、CPU201は、図8(b)で示される図7のステップS705のテトラコルド判定処理を終了する。
【0075】
ステップS811の判定がNOならば、CPU201は、第1の調Mkeyは設定せずに、図8(b)で示される図7のステップS705のテトラコルド判定処理を終了する。
【0076】
図7の処理の説明に戻り、CPU201は、ステップS705のテトラコルド判定処理の後に、前述した図4(b)のキー毎テトラコルド構成音テーブルを参照し、前述した動作により、第1の調Mkeyが何れかのテトラコルドとマッチするか否かを判定する(ステップS706)。
【0077】
ステップS706の判定がYESになれば、第1の調Mkeyを確定させる(ステップS707)。その後、CPU201は、図7のフローチャートで示される図6のステップS601のメロディからの調判定処理を終了する。
【0078】
前述したステップS701の判定がYESの場合又はステップS706の判定がNOの場合には、CPU201は、刺繍音削除処理を実行する(ステップS708)。
【0079】
図9は、図7のステップS708の刺繍音削除処理の詳細例を示すフローチャートである。刺繍音というのは装飾音の中でもとりわけメロディを修飾するものであり、頻繁にでてくるもので、メロディの半音若しくは全音下、又は上に行ってまた戻ってくるものである。
図10(a)に、楽曲「エリーゼのために」の冒頭の楽譜を示す。最初の右手のメロディ、ミレ#ミレ#ミのレ#が刺繍音にあたる。ミからレ#に行ってまたミに戻ってくるので、さながら刺繍しているような印象のため刺繍音と呼ばれている。全音の場合はスケールノートに当たる場合が多いが、半音の場合はスケールノートではない音(非和声音)が使われるので、このような刺繍音を調判定に使うと、正確な調判定とならない。例えば、本当はAmの調であるがEmと判定されてしまうようなことが起こる。このため、刺繍音の条件に合う場合は調判定音として使用しないようにすることが望ましい。
【0080】
図9において、CPU201は予め、夫々RAM203上の変数CTに現在の音、変数PTに一つ前の音、変数PPTに更にもう一つ前の音を格納する。
その上で、CPU201はまず、一つ前の音PTと現在の音CTが半音音程であるか否かを判定する(ステップS901)。
例えば、ミレ#ミと演奏されたときに、CTにミ、PTにレ#、PPTにミが入っている。CTとPPTは、音名が同じというだけではなく、音高も同じである必要がある。
【0081】
ステップS901の判定がNOならば、刺繍音の条件は満たさないので、CPU201は、刺繍音削除は実行せずに、図9のフローチャートで示される図7のステップS708の刺繍音削除処理を終了する。
【0082】
ステップS901の判定がYESならば、現時点で調が確定しているか否かを判定する(ステップS902)。
【0083】
ステップS902の判定がYESならば、CPU201は、PTがスケールノートであるか否かを判定する(ステップS903)。
【0084】
ステップS903の判定がYESの場合は、刺繍音ではないので、CPU201は、刺繍音削除は実行せずに、図9のフローチャートで示される図7のステップS708の刺繍音削除処理を終了する。
【0085】
ステップS902又はS903の判定がNOの場合には、CPU201は、PPTより1オクターブ下の音は刺繍音判定に入れないで無視する(ステップS904)。これは演奏者が鍵盤101(図1)を両手で演奏している場合に、どれが刺繍音かわからないので、半音が判定された部分から1オクターブ下以降の音(伴奏音)は無視する必要があるからである。図10(a)の楽譜の例でいうと、最初のミの音から1オクターブ下以下の音は刺繍音判定が実行されない。
【0086】
ステップS904の処理の後、CPU201は、CTとPPTが同一音高であるか否かを判定する(ステップS905)。
【0087】
ステップS905の判定がNOならば、刺繍音ではないので、CPU201は、刺繍音削除は実行せずに、図9のフローチャートで示される図7のステップS708の刺繍音削除処理を終了する。
【0088】
ステップS905の判定がYESならば、CPU201は、CTとPPTは2拍以内か否かを判定する(ステップS906)。刺繍音は装飾音のため、あまりに長いものは該当しないからである。
【0089】
ステップS906の判定がNOの場合は、刺繍音ではないとみなし、CPU201は、刺繍音削除は実行せずに、図9のフローチャートで示される図7のステップS708の刺繍音削除処理を終了する。
【0090】
ステップS906の判定がYESの場合は、CPU201は、刺繍音であるとみなして、PTを刺繍音を示すRAM203上の変数PTSに格納する(ステップS907)。
【0091】
最後に、変数PTSの音を調判定に使用する音から外す処理を行う(ステップS908)。その後、CPU201は、図9のフローチャートで示される図7のステップS708の刺繍音削除処理を終了する。
【0092】
図7の説明に戻り、CPU201は、ステップS708の刺繍音削除処理の後、メロディシーケンスによる調判定を実行し(ステップS709)、メロディからの調判定結果である第1の調Mkeyを確定する(ステップS710)。その後、CPU201は、図7のフローチャートで示される図6のステップS601のメロディからの調判定処理を終了する。
メロディシーケンスによる調判定処理は、従来から色々な方法があるが、入力データの音を一定間隔でどの調のスケールに一番近いかを見ていく方法が、今回のトリコルドやテトラコルド判定、刺繍音判定になじみが良いと思われる。
【0093】
図10(b)は、コードのみからでは調を適切に判断できない楽譜の例である。コードからの調判定Ckeyは、1小節目から3小節目まで、全てCメジャー(CM)と判定される。一方、メロディからの調判定Mkeyは、1小節目から2小節の1拍目まではCMと判定され、2小節の2拍目からはCMには含まれないB♭の音高が指定されているので、3小節目までにはFメジャー(FM)に転調していると判定される。図10(b)の3小節目において、CPU201は、図4(a)の表を参照することにより、行407(Mkey=FM)と列402(Ckey=CM)との交点のマスに対応する記憶位置から記号「M」に対応するデータを取得し、その結果データ「M」に対応する第1の調Mkeyを採用し、調をFMと決定する。本願発明を適用すれば、メロディから判定された調(Mkey)及びコードから判定された調(Ckey)を用いて、図10(b)の楽譜の場合の3小節目において、Mkeyに基づいて調を決定するので、良好に調を決定できる。
図10(c)はポップスでよくある、最後に盛り上げるために半音上に転調するような場合の楽譜の例である。調性は基本的には調合が増えていくように、例えば#が増えていく方向だとCM→GM→DM→AMというように、五度圏で広がってゆくものである。そのため、五度上の属調、そのまた五度上の属調の属調を、近親調と捉えている。逆に、五度下の下属調、そのまた五度下の下属調の下属調も、近親調と捉えている。更に、半音違う場合は、元の調と共通する音がほとんどなく、この場合は調性的には遠隔調という扱いになる。図10(c)の楽譜例において、1小節目から2小節目までCMとなり、3小節目で遠隔調であるD♭Mに転調している。実際のところ、メロディから判定される調と、コードから判定される調と、が遠隔調の関係になっている場合はほとんど無いと思われるが、そのような場合があった場合でも、本願発明を適用すれば、図4(a)の表を参照することにより、メロディから判定された調(Mkey)及びコードから判定された調(Ckey)を用いて、図10(c)の楽譜の場合は、Ckeyに基づいて調を決定するので、良好に調を決定できる。
【0094】
以上説明したようにして、リアルタイムに何か弾かれたときに、メロディだけの入力であっても、コードだけの入力であっても、両手で弾くものであっても、また童謡などのメロディであっても、ジャズのような複雑な曲であっても、コードからとメロディからのバランス良い調判定が可能となる。
また、トリコルド判定やテトラコルド判定を設けたので、ヨナ抜き音階の曲でも、早く判定できるようになる。
更に、刺繍音判定を入れたので、装飾しているだけでスケールノートにない音を調判定から除くことができるようになったので、より正確な判定結果を得られるようになる。
本実施形態では、メロディからの調判定アルゴリズムとコードからの調判定アルゴリズムを備え、それぞれの判定結果の優先表を設けることにより、両方の判定結果を出したうえで、どちらを優先するかを決定できることを特徴としているので、以下のような効果がある。
(1)コードを押さえられずメロディしか弾けない初心者でも、メロディから判定される調を用いて、早期に正しい調判定結果が得られる。
(2)メロディからとコードからの調判定を同時に行う仕組みなので、曲のジャンルにとらわれず、どのような曲に対しても正解に近い調判定が可能である。
(3)初心者から上級者まで演奏形態を問わず、最適な調判定結果が得られる。
(4)メロディからの調判定結果とコードからの調判定結果のどちらを採用したかがわかるので、これらを画像生成処理などの映像表現パラメータとして連動させて、新しい映像表現を追加することが可能となる。
更に、本実施形態は、以下のような特徴を備える。
(1)メロディからの調判定に対してはトリコルド判定、テトラコルド判定を設けたので、童謡などヨナ抜き音階の曲であっても、早期に調判定できるようになった。
(2)トリコルド判定とテトラコルド判定は調が不確定な場合のみ動作するので、たとえ間違っていたとしても、その後の入力音により正しい調に戻るような仕組みになっている。
(3)メロディからの調判定に対しては、スケールノート以外の音を含む刺繍音を判定し、調判定時には排除して判定するようにしたので、更に精度の高い判定が可能となった。
【0095】
その他、本発明は上述した実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上述した実施形態で実行される機能は可能な限り適宜組み合わせて実施しても良い。上述した実施形態には種々の段階が含まれており、開示される複数の構成要件による適宜の組み合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、効果が得られるのであれば、この構成要件が削除された構成が発明として抽出され得る。
【符号の説明】
【0096】
100 電子鍵盤楽器
101 鍵盤
102 液晶ディスプレイ
103 スイッチ
201 CPU
202 ROM
203 RAM
204 音源LSI
205 キースキャナ
206 ディスプレイコントローラ
207 I/Oコントローラ
208 Bluetooth MIDI&AUDIOインタフェース
209 D/Aコンバータ
210 アンプ
211 スピーカ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10