JP2007286637A - コード判定装置およびコード判定処理プログラム - Google Patents
コード判定装置およびコード判定処理プログラム Download PDFInfo
- Publication number
- JP2007286637A JP2007286637A JP2007177850A JP2007177850A JP2007286637A JP 2007286637 A JP2007286637 A JP 2007286637A JP 2007177850 A JP2007177850 A JP 2007177850A JP 2007177850 A JP2007177850 A JP 2007177850A JP 2007286637 A JP2007286637 A JP 2007286637A
- Authority
- JP
- Japan
- Prior art keywords
- sound
- chord
- sounds
- determination
- code
- 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
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
【解決手段】曲データMDを構成する各音の内から、所定音長より短い音長の音を除外し、それ以外の音に基づいてコード判定区間毎に音名検出してコード判定するので、経過音や装飾音をコード判定の対象に含めずに正確なコード判定を行うことが可能になる。また、所定音長より短い音であっても、その音と同時に発音する音が存在する場合には、前記所定音長より短い音長の音を除外せずコード判定するので、スタッカートなどの音長の短い和音を検出でき、正確なコード判定が可能になる。
【選択図】 図6
Description
A.構成
図1は、本発明の実施の一形態であるコード判定装置の全体構成を示すブロック図である。この図に示すコード判定装置は、CPU1、ROM2、RAM3、操作部4、表示部5およびMIDIインタフェース6から構成される。CPU1は、操作部4が発生するスイッチイベントに応じて装置各部を制御するものであり、その特徴的な処理動作については追って詳述する。ROM2は、CPU1にロードされる各種制御プログラムの他、後述するコードタイプ判定テーブルCTDTを記憶する。なお、ここで言う各種制御プログラムとは、後述のメインルーチン、ピッチクラス抽出処理、和音処理およびコード判定処理を含む。
コードパターンデータとは、MSBからLSBにそれぞれC音からB音までの12音(C,C#,D,D#,E,F,F#,G,G#,A,A#,B)を割当て、その内で和音構成音(音名)に対応するビット位置を「1」とした12ビット長のパターンである。例えば、コードタイプChordType[0]では、コードタイプ「メジャ」の和音構成音「C(ド)」、「E(ミ)」、「G(ソ)」を表すコードパターンデータ「100010010000」を発生するようになっている。
曲データMDは、MIDIインタフェース6を介して電子楽器7から供給されるMIDI形式のデータである。すなわち、図3に図示するように、曲データMDは曲進行順に配列されるイベントEventData[0]〜[N]および曲の終わりを表すデータENDから構成される。一つのイベントEventDataは、絶対時間方式で表現されるイベントタイミングTime、音長GTime、ノートオン/オフ等表すイベントデータData、ノートナンバNote、チャンネル番号CHおよびベロシティVelを有する。
後述するように、CPU1は曲データMD中から拍番号(または小節番号)xに対応するコード判定区間毎に、所定以上(例えば8分音符長)の音長GTimeを有するノートオンイベントの音符の有無を判断し、該当する音符が存在しない場合には、ピッチクラステーブルPCT中の対応するレジスタPclass[x][y]に「0」をセットし、一方、該当する音符が存在する場合には、その音符の音名に対応する音名番号yのレジスタPclass[x][y]に「1」をセットするようになっている。
次に、図5〜図8を参照して上記構成による実施形態の動作を説明する。以下では、最初に概略動作としてCPU1が実行するメインルーチンの動作について述べた後、このメインルーチンを構成するピッチクラス抽出処理、和音処理およびコード判定処理の各動作を説明する。
装置電源の投入に応じて、CPU1は図5に図示するメインルーチンを実行してステップSA1に処理を進め、RAM3のワークエリアに設けられる各種レジスタ・フラグデータをイニシャライズする初期化処理を行う。次いで、ステップSA2では、MIDIインタフェース6を介して電子楽器7から曲データMDを取込み、RAM3のデータエリアに格納する。
続いて、ステップSA3では、曲データMDを構成する各音の内から経過音や装飾音を除外し、所定音長以上でノートオンされる音をコード判定対象音としてコード判定区間毎に抽出し、その音名をピッチクラステーブルPCT(図4参照)に登録するピッチクラス抽出処理を実行する。
次いで、ステップSA6では、次の曲データについてコード判定を継続するか否かを指定するコード判定継続スイッチが操作されるまで待機し、当該スイッチが操作されると、判断結果が「YES」となり、上述のステップSA2に処理を戻す。以後、上述したステップSA2〜SA5を繰り返し、次の曲データMDについてコード判定を繰り返す。
次に、図6を参照してピッチクラス抽出処理の動作を説明する。上述したメインルーチンのステップSA3(図5参照)を介して本処理が実行されると、CPU1は図6に図示するステップSB1に進み、曲データMDのイベントEventData[i]を指定するポインタiと、コード判定区間を指定するポインタkとをゼロリセットする。なお、本実施形態では、コード判定区間を小節としているので、ポインタkは小節番号を表す。
これに対し、所定音長STimeより短いと、スタッカートなどの音長の短い和音である可能性もある為、判断結果が「NO」となり、ステップSB6を介して和音検出する和音処理(後述する)を実行した後、ステップSB7に進む。
これに対し、コード判定区間を超えると、判断結果が「NO」になり、ステップSB9に進み、ポインタkの小節番号を歩進させた後、上述のステップSB2に処理を戻す。
また、ポインタiに応じて曲データMDから読み出された音が所定音長STime(例えば16分音符長)より短い経過音や装飾音の場合には、上述したように、スタッカートなどの音長の短い和音である可能性もある為、後述の和音処理にて和音検出される。
次に、図7を参照して和音処理の動作を説明する。上記ピッチクラス抽出処理のステップSB6(図6参照)を介して本処理が実行されると、CPU1は図7に図示するステップSC1に処理を進め、ピッチクラス抽出処理で指定された現イベントEventData[i]中のイベントタイミングTimeを、レジスタTimeBufにストアする。続いて、ステップSC2では、ピッチクラス抽出処理で設定されたポインタiをレジスタiNowにストアする。
次いで、ステップSC3〜SC5では、ポインタiを歩進させながら、現イベントと同一のイベントタイミングTimeを有するノートオンイベントを検索する。つまり、現イベント以降から現イベントの音と同時に発音する音を探し出す。該当する音が見つかれば、ステップSC5の判断結果が「YES」になり、後述のステップSC10に進む。
次に、図8を参照してコード判定処理の動作を説明する。前述したメインルーチンのステップSA4(図5参照)を介して本処理が実行されると、CPU1は図8に図示するステップSC1に処理を進め、ポインタiをゼロリセットする。次いで、ステップSC2では、ピッチクラステーブルPCTに登録された各コード区間毎の音名の内、ポインタiで指定されるコード判定区間の音名(レジスタPclass[i][0]〜[11])を読み出す。続いて、ステップSD3では、ポインタkおよびレジスタPerをゼロリセットすると共に、バッファkBufに初期値「−1」をストアする。
一致率とは、レジスタPclass[i][0]〜[11]を12ビットのビットパターンと見做し、そのビットパターンとコードパターンデータとで共に「1」が立つビット位置の一致数を、音名検出の総数(ビットパターン中の「1」の数)で除算したものである。したがって、例えば一致数が「3」で、音名検出の総数が「3」の場合には、一致率は「1(100%)」となる。なお、一致数が「0」もしくは音名検出の総数が「0」であると、一致率は「0(0%)」となり、ノンコード(和音不成立)と見做す。
そして、全てのコードタイプについて一致率を算出し終え、ポインタiで指定されるコード判定区間についてコード判定が完了すると、ステップSD8の判断結果が「YES」になり、ステップSD9に進む。ステップSD9では、レジスタkbufの値を判定コードChord[i]にストアする。
また、本実施形態では、所定音長より短い経過音や装飾音であっても、その音と同時に発音する音が存在する場合には、それら複音同時発音する各音の音名を検出してコード判定するので、スタッカートなどの音長の短い和音を検出することが可能になる。
2 ROM
3 RAM
4 操作部
5 表示部
6 MIDIインタフェース
7 電子楽器
Claims (6)
- 曲を構成する各音を記憶する記憶手段と、
前記記憶手段に記憶される各音の内から所定音長より短い音長の音を除外し、それ以外の音に基づいてコード判定区間毎にコード判定するコード判定手段と
を具備することを特徴とするコード判定装置。 - 前記コード判定手段は、前記記憶手段から読み出した音が所定音長より短ければ、その読み出した音と同時に発音する他の音を前記記憶手段から検索し、該当する音が存在する場合には、前記所定音長より短い音長の音を除外せずコード判定することを特徴とする請求項1記載のコード判定装置。
- 曲を構成する各音を記憶する記憶手段と、
コード判定区間を設定すると共に、設定されたコード判定区間に対応させた特定音長を設定する設定手段と、
前記記憶手段に記憶される各音の内から前記設定手段により設定された特定音長より短い音長の音を除外し、それ以外の音に基づいて前記設定手段により設定されたコード判定区間毎にコード判定するコード判定手段と
を具備することを特徴とするコード判定装置。 - 曲を構成する各音を記憶しておき、記憶された各音の内から所定音長より短い音長の音を除外し、それ以外の音に基づいてコード判定区間毎にコード判定するコード判定処理をコンピュータで実行させることを特徴とするコード判定処理プログラム。
- 前記コード判定処理は、記憶された各音の内から読み出した音が所定音長より短ければ、その読み出した音と同時に発音する他の音を記憶された各音の内から検索し、該当する音が存在する場合には、前記所定音長より短い音長の音を除外せずコード判定することを特徴とする請求項4記載のコード判定処理プログラム。
- 曲を構成する各音を記憶する記憶処理と、
コード判定区間を設定すると共に、設定されたコード判定区間に対応させた特定音長を設定する設定処理と、
前記記憶処理にて記憶された各音の内から前記設定処理にて設定された特定音長より短い音長の音を除外し、それ以外の音に基づいて前記設定処理にて設定されたコード判定区間毎にコード判定するコード判定処理と
をコンピュータで実行させることを特徴とするコード判定処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007177850A JP4225362B2 (ja) | 2007-07-06 | 2007-07-06 | コード判定装置およびコード判定処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007177850A JP4225362B2 (ja) | 2007-07-06 | 2007-07-06 | コード判定装置およびコード判定処理プログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004292317A Division JP4217978B2 (ja) | 2004-10-05 | 2004-10-05 | コード判定装置およびコード判定処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007286637A true JP2007286637A (ja) | 2007-11-01 |
JP4225362B2 JP4225362B2 (ja) | 2009-02-18 |
Family
ID=38758383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007177850A Expired - Fee Related JP4225362B2 (ja) | 2007-07-06 | 2007-07-06 | コード判定装置およびコード判定処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4225362B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013073112A (ja) * | 2011-09-28 | 2013-04-22 | Casio Comput Co Ltd | 自動コード修正装置及びそのプログラム |
US10062368B2 (en) | 2016-09-28 | 2018-08-28 | Casio Computer Co., Ltd. | Chord judging apparatus and chord judging method |
US10410616B2 (en) | 2016-09-28 | 2019-09-10 | Casio Computer Co., Ltd. | Chord judging apparatus and chord judging method |
-
2007
- 2007-07-06 JP JP2007177850A patent/JP4225362B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013073112A (ja) * | 2011-09-28 | 2013-04-22 | Casio Comput Co Ltd | 自動コード修正装置及びそのプログラム |
US10062368B2 (en) | 2016-09-28 | 2018-08-28 | Casio Computer Co., Ltd. | Chord judging apparatus and chord judging method |
US10410616B2 (en) | 2016-09-28 | 2019-09-10 | Casio Computer Co., Ltd. | Chord judging apparatus and chord judging method |
Also Published As
Publication number | Publication date |
---|---|
JP4225362B2 (ja) | 2009-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2013068808A (ja) | 演奏評価装置およびプログラム | |
JP5293710B2 (ja) | 調判定装置および調判定プログラム | |
JP4225362B2 (ja) | コード判定装置およびコード判定処理プログラム | |
JP2010276891A (ja) | 楽曲難易度評価装置および楽曲難易度評価プログラム | |
JP4217978B2 (ja) | コード判定装置およびコード判定処理プログラム | |
US20130284000A1 (en) | Music note position detection apparatus, electronic musical instrument, music note position detection method and storage medium | |
JP5696435B2 (ja) | コード検出装置及びプログラム | |
JP6817551B2 (ja) | 楽音発生装置、楽音発生方法、プログラムおよび電子楽器 | |
JP3278886B2 (ja) | 調検出装置 | |
JP5287616B2 (ja) | 音響処理装置およびプログラム | |
JP5391939B2 (ja) | 音響処理装置およびプログラム | |
JP5272899B2 (ja) | 楽曲難易度算出装置および楽曲難易度算出プログラム | |
JP5029770B2 (ja) | 演奏支援情報生成装置および演奏支援情報生成プログラム | |
JP4816930B2 (ja) | 演奏支援情報生成装置および演奏支援情報生成プログラム | |
JP4035715B2 (ja) | 伴奏生成装置および伴奏生成プログラム | |
JP2011123239A (ja) | 演奏教習装置及びブログラム | |
JP2018040824A (ja) | 自動演奏装置、自動演奏方法、プログラムおよび電子楽器 | |
JP2012252073A (ja) | 楽音データ補正装置およびプログラム | |
JP4547719B2 (ja) | 楽譜表示装置および楽譜表示プログラム | |
JP2580872Y2 (ja) | 電子楽器 | |
JP3533764B2 (ja) | 自動伴奏装置 | |
KR101450054B1 (ko) | 악보 출력장치 및 그 방법 | |
JP2014052421A (ja) | 演奏評価装置およびプログラム | |
JP2008233735A (ja) | チューニングシステム及びチューナ装置 | |
JPH08339186A (ja) | 自動伴奏機能付き電子楽器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080729 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080805 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081002 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081104 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081117 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111205 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4225362 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111205 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121205 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121205 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131205 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |