JP4016333B2 - 演奏練習装置および演奏練習プログラム - Google Patents
演奏練習装置および演奏練習プログラム Download PDFInfo
- Publication number
- JP4016333B2 JP4016333B2 JP2002376422A JP2002376422A JP4016333B2 JP 4016333 B2 JP4016333 B2 JP 4016333B2 JP 2002376422 A JP2002376422 A JP 2002376422A JP 2002376422 A JP2002376422 A JP 2002376422A JP 4016333 B2 JP4016333 B2 JP 4016333B2
- Authority
- JP
- Japan
- Prior art keywords
- performance
- phrase
- song
- key
- music data
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Auxiliary Devices For Music (AREA)
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、電子楽器などに用いて好適な演奏練習装置および演奏練習プログラムに関する。
【0002】
【従来の技術】
曲進行に同期して読み出される練習曲の曲データと、その練習曲の演奏操作に応じて発生する演奏データとを比較し、曲データと演奏データとが相違する演奏ミスを検出した場合に演奏練習態様を変化させる演奏練習装置が知られている。この種の装置として、例えば特許文献1には、曲データと演奏データとを比較して演奏操作に誤りが検出された場合、演奏終了後に演奏を間違った箇所に対応する部分練習用の曲データに基づき演奏操作を案内表示して、間違った箇所の演奏操作を繰り返し練習させる技術が開示されている。
【0003】
また、特許文献2には、1曲分の曲データと演奏データとを比較して両データの不一致部分を抽出しておき、この曲データの抽出部分を繰り返して演奏データと比較し、両データの一致が検出された時に抽出部分の出力を停止させて1曲分の曲データを出力させるようにして、演奏ミスした部分を間違えなく演奏できるようになるまで繰り返し練習させる技術が開示されている。
【0004】
さらに、特許文献3には、曲データを複数の区間に分割して読み出し、各区間毎に曲データと演奏データとを比較して、両データが一致したとき次の区間の曲データを読み出させ、一方、不一致であるときは同一区間の曲データを再び読み出すようにして、演奏ミスした区間をミスせず演奏し得るようになるまで繰り返し練習させてから次の区間に進むようにした技術が開示されている。
【0005】
加えて、特許文献4には、曲データを例えば小節単位など所定単位に分割しておき、小節単位で読み出される曲データと演奏データとを比較して、両データが不一致であるときに、その不一致をが検出された小節単位の曲データを再度読み出すようにして、演奏ミスした小節の始めから演奏練習を再開させるようにした技術が開示されている。
【0006】
【特許文献1】
特許公開平7−219535号公報
【特許文献2】
特許公開平5−297794号公報
【特許文献3】
特許公開平5−297795号公報
【特許文献4】
特許公開昭58−35583号公報
【0007】
【発明が解決しようとする課題】
上記特許文献1〜4に開示の演奏練習装置は、演奏ミスした部分や区間を間違えなく演奏できるようになるまで繰り返し練習させたり、演奏ミスした小節の始めから演奏練習を再開させる等、いずれも曲の途中から演奏を繰り返し練習する形態となり、練習する曲の流れが不自然になる。この為、練習する曲の自然な流れに対応したフレーズ中、最も間違った演奏をしたフレーズの先頭から演奏練習することができない、という問題がある。
本発明は、このような事情に鑑みてなされたもので、練習する曲の自然な流れに対応したフレーズ中、最も間違った演奏をしたフレーズの先頭から演奏練習することができる演奏練習装置および演奏練習プログラムを提供することを目的としている。
【0008】
【課題を解決するための手段】
上記目的を達成するため、請求項1記載の発明では、曲を構成するフレーズ毎の曲データを記憶する曲データ記憶手段と、この曲データ記憶手段に記憶された曲データを読み出し、読み出された曲データに従って演奏操作を案内する演奏案内手段と、外部操作により評価モードに設定する設定手段と、この設定手段により評価モードに設定されていない状態で、外部操作に応答して前記演奏案内手段に前記曲データの最初から読み出しを開始させる第1の開始手段と、演奏操作を検出する演奏操作検出手段と、前記設定手段により評価モードに設定されていない状態で、前記演奏操作検出手段にて検出された演奏操作が、前記演奏案内手段によって案内される演奏操作と異なる不適な演奏操作であると判定された回数を検出してフレーズ毎に集計する集計手段と、前記設定手段にて評価モードが設定されるに応答して、前記集計手段にて不適な演奏操作と判別された回数が最も多いフレーズを検索する検索手段と、前記設定手段により評価モードに設定されている状態で、外部操作に応答して前記演奏案内手段に対して前記検索手段によって検索されたフレーズの先頭から前記曲データの読み出しを開始させる第2の開始手段とを具備することを特徴とする。
また、請求項2に記載の発明では、前記検索手段は、前記検索されたフレーズを識別する情報を表示する表示手段を含むことを特徴とする。
【0009】
請求項3に記載の発明では、曲を構成するフレーズ毎の曲データを記憶する曲データ記憶手段に記憶された曲データを読み出し、読み出された曲データに従って演奏操作を案内する演奏案内ステップと、外部操作により評価モードに設定する設定ステップと、この評価モードに設定されていない状態で、外部操作に応答して前記演奏案内ステップにて前記曲データの最初から読み出しを開始させる第1の開始ステップと、演奏操作を検出する演奏操作検出ステップと、前記評価モードに設定されていない状態で、前記演奏操作検出ステップにて検出された演奏操作が、前記演奏案内ステップによって案内される演奏操作と異なる不適な演奏操作であると判定された回数を検出してフレーズ毎に集計する集計ステップと、前記評価モードが設定されるに応答して、前記集計ステップにて不適な演奏操作と判別された回数が最も多いフレーズを検索する検索ステップと、前記評価モードに設定されている状態で、外部操作に応答して前記演奏案内ステップにおける前記曲データの読み出しの開始位置を、前記検索ステップによって検索されたフレーズの先頭にする第2の開始ステップとをコンピュータで実行させることを特徴とする。
【0014】
本発明では、曲を構成するフレーズ毎の曲データに従って演奏操作を案内する演奏案内が行われ、案内された演奏操作と異なる不適な演奏操作が行われた回数を検出してフレーズ毎に集計し、その中で不適な演奏操作の回数が最も多いフレーズを検索し、外部操作に応答してこの検索されたフレーズの先頭から曲データの読み出しを開始させるよう指示するので、練習する曲の自然な流れに対応したフレーズ中、最も間違った演奏をしたフレーズの先頭から演奏練習することが可能になる。
【0015】
【発明の実施の形態】
以下、本発明の実施の一形態による演奏練習装置が搭載された電子楽器を実施例とし、これについて図面を参照して説明する。
A.実施例の構成
図1は、本発明の一実施例による電子楽器の構成を示すブロック図である。この図において、1は押離鍵操作(演奏操作)に応じたキーオン/キーオフ信号やノート番号、ベロシティ等の演奏情報を発生する鍵盤である。2はCPU5の制御の下に、弾くべき鍵の位置を案内(押鍵案内)する押鍵ガイド部である。押鍵ガイド部2は、半透明樹脂材等で形成された各鍵下部に対向配置される、例えばLED等の発光手段2a(図示略)と、これら各鍵毎に配設される発光手段2aを点灯駆動するドライバ2b(図示略)とから構成され、後述するCPU5から供給される駆動制御信号に従って、押鍵すべき鍵に対応して配設される発光手段2aを点滅あるいは点灯させるガイド表示を行って演奏者に弾くべき鍵の位置を案内する。
【0016】
3は各種スイッチから構成され、操作されたスイッチ種に対応したスイッチイベントを発生するパネルスイッチである。パネルスイッチ3には、電源をオンオフする電源スイッチの他、練習曲を選択する曲選択スイッチ、後述する自動演奏処理の開始/停止を指示するスタート/ストップスイッチ、演奏練習を行った結果を評価するための評価スイッチ等が設けられている。
なお、ここで言う演奏練習とは、曲選択スイッチの操作で選択された練習曲の曲データに基づき押鍵案内する自動演奏を行いながら、演奏者が押鍵案内される鍵を弾いて演奏操作を練習することを指す。
【0017】
4はLCDパネル等から構成される表示部であり、後述するCPU5から供給される表示制御信号に応じて楽器各部の設定状態や演奏練習を評価した結果などを表示する。CPU5は、鍵盤1から供給される演奏情報に応じて音源8に楽音発生を指示したり、上述した演奏練習に係わる各種処理を実行する。本発明の要旨に係わるCPU5の処理動作については追って詳述する。6はプログラムエリアおよびデータエリアを備えるROMである。ROM6のプログラムエリアには、CPU5にロードされる各種制御プログラムが記憶される。各種制御プログラムには、後述のメインルーチン、スイッチ処理、自動演奏処理および鍵盤処理が含まれる。
【0018】
ROM6のデータエリアには、図2に図示する通り、複数の練習曲の曲データ(1)〜(N)が記憶される。これら曲データ(1)〜(N)は、上記パネルスイッチ3中の曲選択スイッチの操作に応じて選択される。曲データは、複数のフレーズ(1)〜(M)と曲終端を表すENDデータとから構成される。各フレーズ(1)〜(M)は、フレーズを識別するフレーズ番号PN、フレーズを形成する各音に対応してアドレッシングされるタイムTおよびイベントEVNTから構成される。タイムTはイベントタイミングを表す。イベントEVNTは、発音すべきノートナンバを含むノートオンコマンドもしくは消音すべきノートナンバを含むノートオフコマンドから構成される。こうした曲データは、後述するように、曲進行に応じて歩進されるポインタレジスタADの値(読み出しアドレス)に応じて読み出される。
【0019】
図1において、7はワークエリアおよび評価データエリアを備えるRAMである。RAM7のワークエリアには、CPU5の処理に用いられる各種レジスタ・フラグデータが一時記憶される。RAM7の評価データエリアには、図3に図示するように、ROM6のデータエリア(図2参照)に格納される曲データ(1)〜(N)に対応した評価データ(1)〜(N)が格納される。評価データ(1)〜(N)は、それぞれ対応する練習曲の曲データに従って演奏練習した時の採点結果をフレーズ毎に表す採点データSAITEN(n,p)から構成される。ここで、nは曲番号を表し、pはフレーズ番号を表す。
8は周知の波形メモリ読み出し方式によって構成される音源であり、CPU5から供給される楽音形成コマンドに応じて生成する楽音波形を出力する。9は音源8が出力する楽音をアナログ信号形式に変換した後、不要ノイズを除去する等のフィルタリングを施し、それを増幅してスピーカから発音するサウンドシステムである。
【0020】
B.実施例の動作
次に、図4〜図14を参照して実施例の動作について説明する。以下では、最初に全体動作としてメインルーチンの動作について説明し、続いてメインルーチンからコールされるスイッチ処理(曲選択スイッチ処理、スタート/ストップスイッチ処理および評価スイッチ処理)、自動演奏処理および鍵盤処理の各動作を説明する。
【0021】
(1)メインルーチンの動作
実施例に電源が投入されると、CPU5は図4に示すメインルーチンを実行してステップSA1に処理を進め、RAM7のワークエリアに格納される各種レジスタやフラグ類をリセットしたり初期値をセットするイニシャライズを行う。また、このステップSA1では、音源8に対して各種レジスタやフラグ類を初期化するよう指示する。
そして、イニシャライズ完了後、CPU5はステップSA2に処理を進め、パネルスイッチ3が発生するスイッチイベントに対応したスイッチ処理を実行する。次に、ステップSA3では、スタート/ストップスイッチの操作により自動演奏開始が指示されている場合、曲選択スイッチの操作で選択された練習曲の曲データに基づき押鍵ガイド部2を駆動制御して演奏案内する自動演奏処理を実行する。
【0022】
次いで、ステップSA4に進むと、鍵盤1の押離鍵操作に応じて音源8に発音/消音を指示する一方、演奏練習を採点する状態に設定されている場合には、押鍵案内された鍵が押鍵されなかったり、あるいは適正なタイミング域外で押鍵案内された鍵を押鍵したときに演奏ミスが発生したとして、現在演奏練習している曲データのフレーズに対応した採点データSAITEN(n,p)を減点する鍵盤処理を実行する。そして、ステップSA5では、例えば演奏練習した曲データの楽譜を表示部4に表示する等の、その他の処理を実行する。以後、電源がオフされる迄、上述したステップSA2〜SA5を繰り返し実行する。
【0023】
(2)スイッチ処理の動作
次に、図5を参照してスイッチ処理の動作を説明する。上述したメインルーチンのステップSA2を介してスイッチ処理が実行されると、CPU5はステップSB1〜SB4を介して、パネルスイッチ3において操作されたスイッチに対応した処理を実行する。
すなわち、ステップSB1では、曲選択スイッチの操作の有無を判断し、操作されていれば、後述の曲選択スイッチ処理を実行する。ステップSB2では、スタート/ストップスイッチの操作の有無を判断し、操作されていれば、後述のスタート/ストップスイッチ処理を実行する。ステップSB3では、評価スイッチの操作の有無を判断し、操作されていれば、後述の評価スイッチ処理を実行する。ステップSB4では、上記各スイッチ以外のスイッチの操作の有無を判断し、操作されていれば、操作されたスイッチに対応する、その他のスイッチ処理を実行する。
【0024】
(3)曲選択スイッチ処理の動作
次に、図6を参照して曲選択スイッチ処理の動作を説明する。スイッチ処理のステップSB1を介して本処理が実行されると、CPU5は図6のステップSC1に進み、曲選択スイッチの操作の有無を判断する。そして、曲選択スイッチが操作されていなければ、判断結果は「NO」になり、本処理を完了させる。
一方、曲選択スイッチが操作されると、上記ステップSC1の判断結果が「YES」になり、次のステップSC2に進み、曲選択スイッチの操作により選択された曲番号をレジスタnにストアする。以後、レジスタnの内容を曲番号nと記す。
【0025】
次いで、ステップSC3では、RAM7の評価データエリア(図3参照)に設けられ、曲番号nに対応した評価データ(n)を構成する採点データSAITEN(n,1)〜SAITEN(n,M)に所定値をストアする。本実施例では、後述するようにフレーズ毎に行われる演奏練習の採点に減点方式を採用している為、採点をする前に「満点」に相当する所定値がセットされるようになっている。そして、ステップSC4に進み、採点フラグSAITENFを「0」にセットする。採点フラグSAITENFは、採点済みか否かを表すフラグであり、「0」の場合に未採点を、「1」の場合に採点済みを表す。
【0026】
(4)スタート/ストップスイッチ処理の動作
次に、図7〜図8を参照してスタート/ストップスイッチ処理の動作を説明する。前述したスイッチ処理のステップSB2(図5参照)を介して本処理が実行されると、CPU5は図7のステップSD1に進み、スタート/ストップスイッチの操作の有無を判断する。スタート/ストップスイッチが操作されなければ、判断結果は「NO」となり、本処理を完了させるが、操作されると、判断結果が「YES」になり、次のステップSD2に進む。
ステップSD2では、スタートフラグSTFを反転する。スタート/ストップスイッチは、操作される毎にスタート状態およびストップ状態が交互に設定されるトグル動作するスイッチなので、操作される毎にスタートフラグSTFを反転させる。スタートフラグSTFはスタート状態に設定された場合に「1」、ストップ状態に設定された場合に「0」となる。
【0027】
そして、ステップSD3では、スタートフラグSTFが「1」、つまりスタート状態に設定されたかどうかを判断する。スタートフラグSTFが「0」となるストップ状態であると、判断結果は「NO」になり、ステップSD4に進み、タイマカウントを禁止する。このタイマカウントとは、タイマ割込み処理(不図示)が一定周期毎に行う動作を指す。後述の自動演奏処理では、タイマ割込み処理にて生成されるタイマカウント値によって曲進行タイミングを管理するようになっている。
【0028】
さて一方、スタートフラグSTFが「1」となるスタート状態に設定されると、上記ステップSD3の判断結果が「YES」となり、ステップSD5に進み、評価フラグHFが「0」であるか否かを判断する。評価フラグHFとは、後述するように、評価データ中から一番採点結果の悪いフレーズを検索する評価モードに設定されたかどうかを表すフラグである。評価フラグHFが「0」(評価モードに設定されていない状態)であると、判断結果は「YES」になり、ステップSD6に進み、曲番号nに対応した曲データ(n)の最初のアドレスをポインタレジスタADにストアした後、ステップSD8に進む。
これに対し、評価フラグHFが「1」(評価モードに設定された状態)であると、判断結果は「NO」になり、ステップSD7に進み、曲番号nに対応した曲データ(n)のP番目のフレーズの最初のアドレスをポインタレジスタADにストアした後、ステップSD8に進む。なお、ここで言うP番目とは、後述する評価スイッチ処理の評価モード下で検索される、一番採点結果の悪いフレーズ番号である。
【0029】
そして、ステップSD8に進むと、ポインタレジスタADに応じて曲データを読み出し、続くステップSD9では、読み出した曲データの種類、つまりフレーズ番号、タイムおよびイベントのいずれかを判別する。読み出された曲データがフレーズ番号の場合には、ステップSD10に進み、そのフレーズ番号をレジスタpにストアする。この後、ステップSD11に進み、ポインタレジスタADをインクリメントして歩進させてからステップSD8に処理を戻す。
読み出された曲データがイベントの場合には、ステップSD11に進み、ポインタレジスタADをインクリメントして歩進させてからステップSD8に処理を戻す。
【0030】
読み出された曲データがタイムの場合には、ステップSD12に進み、そのタイムをレジスタTにストアする。次に、図8のステップSD13に進み、ポインタレジスタADの内容をレジスタGUIDEADにストアする。次いで、ステップSD14では、レジスタTの内容をレジスタGUIDETにストアする。そして、ステップSD15に進み、レジスタGUIDEADの値をインクリメントして歩進させ、続くステップSD16では、歩進されたレジスタGUIDEADの値(先読み出しアドレス)に応じて曲データを先読み出しする。
【0031】
ステップSD17に進むと、先読み出しされた曲データがタイム、ノートオンコマンドおよびその他のいずれであるかを判別する。先読み出しされた曲データがその他(ノートオフコマンドを含むイベント)の場合には、ステップSD15に処理を戻す。
先読み出しされた曲データがタイムの場合には、ステップSD18に進み、読み出したタイムをレジスタGUIDETに累算してからステップSD15に処理を戻す。
先読み出しされた曲データがノートオンコマンドを含むイベントの場合には、ステップSD19に進み、ノートオンコマンドに含まれるノートナンバに対応した鍵に配設される発光手段2aを点滅させるガイド表示点滅を押鍵ガイド部2に指示する。この後、ステップSD20に進み、適正なタイミングで押鍵されたか否かを判断するための時間幅を広げる為、レジスタGUIDETからマージン値αを減算した押鍵タイミング値を算出し、これをレジスタGUIDETに格納してから本処理を終える。
【0032】
このように、スタート/ストップスイッチ処理では、スタート状態に設定されると、評価モード下にあるかどうかを判断し、評価モード下でなければ、曲選択スイッチの操作で選択された曲番号nの曲データを先頭から先読み出しを行い、最初に押鍵する鍵についてガイド表示点滅させ、一方、評価モード下では、一番採点結果の悪いフレーズの曲データを先頭から先読み出しを行い、最初に押鍵する鍵についてガイド表示点滅させるようになっている。
【0033】
(5)評価スイッチ処理の動作
次に、図9を参照して評価スイッチ処理の動作を説明する。前述したスイッチ処理のステップSB3を介して本処理が実行されると、CPU5は図9のステップSE1に進み、評価スイッチの操作の有無を判断する。評価スイッチが操作されなければ、判断結果は「NO」となり、本処理を完了させるが、操作されると、判断結果が「YES」になり、次のステップSE2に進む。ステップSE2では、評価フラグHFを反転する。
評価スイッチは、操作される毎にオン状態およびオフ状態が交互に設定されるトグル動作するスイッチである。したがって、評価モードに設定されたか否かをを表現すべく、このステップSE2では、操作される毎に評価フラグHFを反転させている。そして、ステップSE3に進むと、反転された評価フラグHFが「1」、つまり評価モードに設定されたかどうかを判断する。評価モードに設定されていなければ、判断結果は「NO」になり、ステップSE13に進み、表示部4に表示される評価結果(一番採点結果の悪いフレーズのフレーズ番号)を消去して本処理を終える。
【0034】
一方、評価モードに設定されると、上記ステップSE4の判断結果は「YES」になり、ステップSE4に進む。ステップSE4では、採点フラグSAITENFが「1」、つまり採点済みかどうかを判断する。未採点であると、判断結果が「NO」になり、ステップSE12に進み、評価フラグHFを「0」にセットして評価モードに設定されていない状態に戻し、続くステップSE13に進み、表示部4に表示される評価結果を消去して本処理を終える。
【0035】
これに対し、採点済みであると、上記ステップSE4の判断結果は「YES」になり、ステップSE5に進む。ステップSE5では、レジスタPおよびサーチポインタpに初期値「1」をセットする。次いで、ステップSE6では、曲番号nおよびサーチポインタpに対応するフレーズの採点データSAITEN(n,p)をレジスタSAITENにストアする。
続いて、ステップSE7〜SE11では、フレーズ番号Mに達するまでサーチポインタpを歩進させながら、その歩進されるサーチポインタpに応じて順番に採点データSAITEN(n,p)を読み出し、その内から一番採点結果の悪い(低い)採点データSAITEN(n,p)を抽出し、その時のサーチポインタpの値をレジスタPにストアし、一番採点結果の悪い採点データSAITEN(n,p)の値をレジスタSAITENにストアする。
そして、歩進されたサーチポインタpがフレーズ番号Mに達すると、ステップSE7の判断結果が「NO」になり、ステップSE14に進む。ステップSE14では、レジスタPの内容、すなわち曲番号nに対応した評価データ(n)の中で一番採点結果の悪いフレーズ番号を評価結果として表示部4に表示する。
【0036】
このように、評価スイッチ処理では、評価スイッチの操作により評価モードに設定されると、曲番号nに対応した評価データ(n)が採点済みであるかどうかを判断し、採点済みであれば、その評価データ(n)中で一番採点結果の悪いフレーズを探し出す評価を行い、一番採点結果の悪いフレーズのフレーズ番号Pを評価結果として表示部4に表示するようになっている。
【0037】
(6)自動演奏処理の動作
次に、図10〜図13を参照して自動演奏処理の動作を説明する。前述したメインルーチンのステップSA3(図4参照)を介して本処理が実行されると、CPU5は図10のステップSF1に進み、スタートフラグSTFが「1」となるスタート状態に設定されているか否かを判断する。スタート状態に設定されていなければ、判断結果は「NO」となり、本処理を完了させるが、スタート状態に設定されていると、判断結果が「YES」となり、ステップSF2に進む。ステップSF2では、タイマカウント値が最小単位音符時間に達したかどうかを判断する。達していないと、判断結果が「NO」になり、本処理を完了させる。一方、タイマカウント値が最小単位音符時間に達していると、判断結果は「YES」となり、ステップSF3に進み、タイマカウント値をクリアする。
【0038】
次いで、ステップSF4では、評価フラグHFが「0」、つまり評価モードに設定されていないかどうかを判断する。評価モード下であると、判断結果は「NO」になり、図11に示すステップSF14に進む。
これに対し、自動演奏処理がスタートした状態であって、しかも評価モードに設定されていない場合、つまり演奏練習を採点している最中であると、判断結果が「YES」となり、ステップSF5に進み、フラグOKFが「0」であるか否かを判断する。フラグOKFは、押鍵するのに適正なタイミング域にあるか否かを表すフラグであり、「0」の場合にそのタイミング域外にあることを表し、「1」の場合にタイミング域内にあることを表す。したがって、ステップSF5では、押鍵するのに適正なタイミング域外であるかどうかを判断する。以下、押鍵するのに適正なタイミング域外にある場合とタイミング域内にある場合とに分けて動作を説明する。
【0039】
<押鍵するのに適正なタイミング域外にある場合>
この場合、ステップSF5の判断結果は「YES」となり、ステップSF6に進み、レジスタGUIDETに格納される押鍵タイミング値をデクリメントする。次いで、ステップSF7では、デクリメントされたレジスタGUIDETの値が「0」、つまり押鍵タイミングに達したかどうかを判断する。押鍵タイミングに達していなければ、判断結果は「NO」になり、後述するステップSF14に処理を進める。
【0040】
一方、押鍵タイミングに達すると、判断結果が「YES」になり、ステップSF8に進む。ステップSF8では、押鍵するのに適正なタイミング域内になったとして、フラグOKFを「1」にセットすると共に、オンフラグONFを「0」にセットする。なお、オンフラグONFとは、押鍵案内された鍵が押鍵されたときに「1」、押鍵タイミングに達したときに「0」となるフラグである。
そして、ステップSF9に進むと、押鍵するのに適正なタイミング域の幅としてレジスタTTに2α(以下、適正タイミング幅と記す)をストアし、この後、図11のステップSF14に進む。
このように、押鍵するのに適正なタイミング域外にある場合には、押鍵タイミングに達した時点で、その時点から押鍵するのに適正なタイミング域を表す適正タイミング幅2αをレジスタTTにセットするようになっている。
【0041】
<押鍵するのに適正なタイミング域内の場合>
後述するステップSF14以降で一旦本処理を終え、再び本処理が実行されてステップSF5に処理が進んだ時に、押鍵するのに適正なタイミング域内であったとする。そうすると、ステップSF5の判断結果が「NO」となり、ステップSF10に進む。ステップSF10では、レジスタTTに格納された適正タイミング幅をデクリメントし、続くステップSF11では、デクリメントされた適正タイミング幅が「0」に達したかどうかを判断する。
適正タイミング幅が「0」に達していなければ、判断結果は「NO」になり、図11のステップSF14に処理を進める。一方、適正タイミング幅が「0」、つまり、押鍵するのに適正なタイミング域が過ぎると、判断結果が「YES」になり、ステップSF12に進む。
【0042】
ステップSF12では、オンフラグONFが「0」、すなわち押鍵するのに適正なタイミング域を過ぎ、かつ押鍵案内された鍵が押鍵されていないのかどうかを判断する。押鍵されていれば、判断結果が「NO」となり、後述するステップSF14に処理を進め、一方、押鍵案内された鍵が押鍵されず、演奏ミスが生じた場合には、ステップSF13に進み、採点データSAITEN(n,p)をデクリメント(減点)してステップSF14に処理を進める。
このように、押鍵するのに適正なタイミング域内にあると、その適正なタイミング域が過ぎた時点で、押鍵案内された鍵が押鍵されなければ、演奏ミスと見做して採点データSAITEN(n,p)を減点する演奏練習の採点が行われるようになっている。
【0043】
次に、図11のステップSF14に進むと、レジスタTに格納されるタイムTをデクリメントし、続くステップSF15では、デクリメントされたレジスタTの値が「0」、すなわちイベントタイミングに達したかどうかを判断する。イベントタイミングに達していなければ、判断結果は「NO」となり、本処理を一旦完了させる。
一方、イベントタイミングに達した時には、判断結果が「YES」になり、ステップSF16に進み、ポインタレジスタADをインクリメントして歩進させる。次いで、ステップSF17では、歩進されたポインタレジスタADに応じて、曲番号nに対応した曲データ(n)を読み出す。そして、ステップSF18に進み、読み出した曲データがデータENDであるか否か、すなわち曲終端に達したかどうかを判断する。以下、曲終端に達した場合と曲終端に達していない場合とに分けて動作を説明する。
【0044】
<曲終端に達した場合>
曲終端に達すると、上記ステップSF18の判断結果は「YES」になり、ステップSF19に進み、スタートフラグSTFに「0」をセットしてストップ状態に設定する。続いて、ステップSF20では、各鍵に対応して配設される発光手段2aを全て消灯させるガイド表示消灯を押鍵ガイド部2に指示した後、ステップSF21に進み、タイマカウントを禁止して本処理を終える。
【0045】
<曲終端に達していない場合>
一方、曲終端に達していなければ、ステップSF22に進み、上記ステップSF17にて読み出した曲データがフレーズ番号であるか否かを判断する。フレーズ番号であると、判断結果は「YES」になり、ステップSF23に進む。ステップSF23では、読み出したフレーズ番号をレジスタpにストアしてから上述のステップSF16に処理を戻す。
読み出した曲データがフレーズ番号でない場合には、上記ステップSF22の判断結果が「NO」になり、図12に示すステップSF24以降に進み、データ種(タイム、ノートオフコマンドおよびノートオンコマンド)に応じた処理を実行する。以下、読み出した曲データがタイム、ノートオフコマンドおよびノートオンコマンドの各場合の動作を述べる。
【0046】
a.読み出した曲データがタイムの場合
この場合、ステップSF26の判断結果が「YES」になり、ステップSF27に進み、読み出されたタイムをレジスタTにストアして本処理を一旦完了させる。
【0047】
b.読み出した曲データがノートオフコマンドの場合
この場合、ステップSF24の判断結果が「YES」になり、ステップSF25に進み、ノートオフコマンドに含まれるノートナンバに対応した鍵に配設される発光手段2aを消灯させるガイド表示消灯を押鍵ガイド部2に指示する。この後、図11に図示したステップSF16に処理を戻す。
【0048】
c.読み出した曲データがノートオンコマンドの場合
この場合、ステップSF28の判断結果が「YES」になり、ステップSF29に進み、ノートオンコマンドに含まれるノートナンバに対応した鍵に配設される発光手段2aを点灯させるガイド表示点灯を押鍵ガイド部2に指示する。そして、ステップSF30に進み、現在のポインタレジスタADの値をレジスタGUIDEADにストアする。続いて、ステップSF31では、レジスタGUIDETをゼロリセットする。次に、ステップSF32に進み、レジスタGUIDEADの値(先読み出しアドレス)を歩進させ、図13のステップSF33に処理を進める。
【0049】
ステップSF33では、歩進されたレジスタGUIDEADの値(先読み出しアドレス)に応じて曲データを先読み出しする。ステップSF34では、先読み出しされた曲データが曲終端に達したかどうかを判断する。曲終端に達した場合には、判断結果が「YES」になり、本処理を完了させるが、曲終端に達していなければ、判断結果は「NO」となり、ステップSF35に進む。ステップSF35では、先読み出しされた曲データがタイム、ノートオンコマンドおよびその他のいずれであるかを判別する。
先読み出しされた曲データがその他(ノートオフコマンドを含むイベント)の場合には、図12に示すステップSF32に処理を戻し、先読み出しを進める。先読み出しされた曲データがタイムの場合には、ステップSF36に進み、読み出したタイムをレジスタGUIDETに累算してから図12のステップSF32に処理を戻し、先読み出しを進める。
【0050】
先読み出しされた曲データがノートオンコマンドを含むイベントの場合には、ステップSF37に進み、ノートオンコマンドに含まれるノートナンバに対応した鍵に配設される発光手段2aを点滅させるガイド表示点滅を押鍵ガイド部2に指示する。この後、ステップSF38に進み、レジスタGUIDETからマージン値αを減算した押鍵タイミング値を算出し、これをレジスタGUIDETに格納してから本処理を終える。
【0051】
以上説明した自動演奏処理の動作を総括すると、次のようになる。
(イ)評価モード下の場合
前述したスタート/ストップスイッチ処理によって一番採点結果の悪いフレーズの曲データを先頭から先読み出しを行い、最初に押鍵する鍵についてガイド表示点滅が行われた後、イベントタイミングに達する毎に曲データの読み出しを進め、読み出した曲データの種類に応じて、次イベントまでのタイミング設定(タイムの場合)、ガイド表示消灯(ノートオフコマンドの場合)およびガイド表示点灯(ノートオンコマンドの場合)を行う。ノートオンコマンドに対応したガイド表示点灯を行った後に、曲データを先読み出しして次に押鍵すべき鍵についてガイド表示点滅させる。以後、曲終端に達するまでこうした処理を繰り返す。
【0052】
(ロ)評価モード下でない場合
前述したスタート/ストップスイッチ処理によって曲番号nの曲データを先頭から先読み出しを行い、最初に押鍵する鍵についてガイド表示点滅が行われた後、最小単位音符時間が経過する毎に、押鍵するのに適正なタイミング域内でガイド表示点滅(押鍵案内)された鍵が押鍵されたか否かを判断し、押鍵されなかった場合に演奏ミスが生じたとして、対応するフレーズの採点データSAITEN(n,p)を減点する演奏練習の採点を行う。
こうした演奏練習の採点を行いながら、イベントタイミングに達する毎に曲データの読み出しを進め、読み出した曲データの種類に応じたイベント処理、つまり次イベントまでのタイミング設定(タイムの場合)、ガイド表示消灯(ノートオフコマンドの場合)およびガイド表示点灯(ノートオンコマンドの場合)を行う。ノートオンコマンドに対応したガイド表示点灯を行った後に、曲データを先読み出しして次に押鍵すべき鍵についてガイド表示点滅させる。以後、曲終端に達するまで、上述の演奏練習の採点および曲進行に応じたイベント処理を繰り返す。
【0053】
(7)鍵盤処理の動作
次に、図14を参照して鍵盤処理の動作を説明する。前述したメインルーチンのステップSA4(図4参照)を介して本処理が実行されると、CPU5は図14のステップSG1に進み、鍵盤1を鍵走査する。続いて、ステップSG2では、鍵走査の結果から鍵変化(鍵イベント)を検出する。鍵操作が行われず鍵イベント無しの場合には何も処理せずに本処理を完了させるが、押鍵によるオンイベントあるいは離鍵によるオフイベントを検出した場合には次のような処理を実行する。以下、オフイベントを検出した場合の動作とオンイベントを検出した場合の動作とに分けて説明する。
【0054】
<オフイベントを検出した場合>
離鍵によるオフイベントを検出すると、ステップSG10に進み、離鍵された鍵のノートナンバを含むノートオフコマンドを生成し、続くステップSG11では生成したノートオフコマンドを音源8に送出して本処理を終える。これにより、音源8では離鍵された鍵の音高に対応した楽音を消音する。
【0055】
<オンイベントを検出した場合>
押鍵によるオンイベントを検出すると、ステップSG3に進み、押鍵された鍵のノートナンバを含むノートオンコマンドを生成し、続くステップSG4では生成したノートオンコマンドを音源8に送出する。これにより、音源8は押鍵された鍵の音高の楽音を発生する。
次に、ステップSG5では、評価フラグHFが「0」、すなわち評価モードに設定されていない状態であるかどうかを判断する。評価モードに設定されていると、判断結果は「NO」となり、本処理を完了させる。一方、評価モードに設定されていない状態、つまり演奏練習を採点する状態にあると、判断結果が「YES」になり、ステップSG6に進む。
【0056】
ステップSG6では、押鍵された鍵のノートナンバと押鍵案内された鍵のノートナンバとが一致するか否かを判断する。押鍵案内された鍵が押鍵された場合には、判断結果が「YES」となり、ステップSG7に進み、オンフラグONFを「1」にセットしてステップSG8に進む。これに対し、押鍵案内された鍵とは異なる鍵が押鍵された場合には、判断結果が「NO」になり、オンフラグONFを「1」にセットすることなく、ステップSG8に進む。
なお、押鍵案内された鍵が押鍵されず、その為にオンフラグONFが「1」にセットされない場合には、前述した自動演奏処理のステップSF12(図10参照)の判断結果が「YES」となり、演奏ミスが生じたとして、ステップSF13にて採点データSAITEN(n,p)をデクリメント(減点)するようになっている。
【0057】
そして、ステップSG8に進むと、フラグOKFが「0」、すなわち適正なタイミング域外での押鍵であるかどうかを判断し、適正なタイミング域内での押鍵であったならば、ここでの判断結果が「NO」となり、本処理を終える。
一方、適正なタイミング域外での押鍵であると、判断結果は「YES」になり、ステップSG9に進み、演奏ミスが生じたとして、採点データSAITEN(n,p)をデクリメント(減点)して本処理を完了させる。
【0058】
このように、鍵盤処理では、押離鍵操作に応じた楽音の発音および消音を音源8に指示する一方、演奏練習を採点する状態に設定されていると、押鍵案内された鍵が押鍵されない場合あるいは適正なタイミング域外で押鍵案内された鍵が押鍵された場合に、演奏ミスが生じたとして、現在演奏練習している曲データのフレーズに対応した採点データSAITEN(n,p)をデクリメント(減点)するようになっている。
【0059】
以上のように、本実施例では、評価モードに設定されていない状態で、フレーズ単位で構成される曲データに基づき押鍵案内する自動演奏を行いながら、演奏者が押鍵案内される鍵を弾く演奏練習を行うと、適正タイミング域内で押鍵案内された鍵が押鍵されたなかった場合に演奏ミスが生じたとして、演奏ミスが生じたフレーズの採点データSAITEN(n,p)を減点する採点が行われる。曲データの全フレーズについて採点し終えて評価モードに設定すると、一番採点結果の悪いフレーズのフレーズ番号Pが評価結果として得られる。評価結果を得た後に練習曲を変えずに自動演奏をスタートさせると、一番採点結果の悪いフレーズの先頭から演奏練習を再開させる。これにより、練習する曲の自然な流れに対応したフレーズ中、最も間違った演奏をしたフレーズの先頭から演奏練習することが可能になっている。
【0060】
なお、本実施例では、一番採点結果の悪いフレーズの先頭から演奏練習を再開させた場合に曲データの読み出しが曲終端に達すると、自動演奏処理を止めて演奏練習を終了させるようにしているが、これに替えて、曲データの読み出しが曲終端に達したら、一番採点結果の悪いフレーズの演奏練習を繰り返すようにしてもよい。この場合、図11に図示した自動演奏処理のステップSF14〜SF23を、図15に図示する変形例による自動演奏処理のステップSF100〜SF101の処理に替える。
【0061】
すなわち、曲データの読み出しが曲終端に達すると、図15に示すステップSF104の判断結果が「YES」になり、ステップSF107に進み、曲番号nのP番目のフレーズ、つまり一番採点結果の悪いフレーズの先頭アドレスをポインタレジスタADに設定する。次いで、ステップSF108では、ガイド表示消灯を押鍵ガイド部2に指示し、続くステップSF109に進み、タイマカウント値をクリアした後、ステップSF103に処理を戻す。そして、ステップSF103において、ポインタレジスタADに応じて一番採点結果の悪いフレーズの先頭データ、つまりフレーズ番号Pが読み出されると、。ステップSF106の判断結果が「YES」になり、ステップSF102に進み、ポインタレジスタADが歩進される。
【0062】
以後、一番採点結果の悪いフレーズの曲データに従った演奏練習が行われ、曲データの読み出しが次のフレーズに移行すると、ステップSF106の判断結果が「NO」になり、ステップSF107に進み、再び一番採点結果の悪いフレーズの先頭アドレスがポインタレジスタADに設定される。これにより、一番採点結果の悪いフレーズの演奏練習が繰り返される。このようにすることで、練習する曲の自然な流れで、一番演奏を苦手とするフレーズを重点的に練習することが可能になっている。
【0063】
また、上述した実施例では、押鍵タイミング値を算出するためのマージン値αや、適正タイミング幅2αを固定値としているが、これに限らず、例えば練習する曲の難易度もしくは演奏者の上達度に応じて可変設定する態様にすることも可能であり、そのようにすれば演奏練習に遊戯的な要素を盛り込むことが出来、新たな面白みや楽しみを創出することができる。
【0064】
本発明によれば、曲を構成するフレーズ毎の曲データに従って演奏操作を案内する演奏案内が行われ、案内された演奏操作と異なる不適な演奏操作が行われた回数を検出してフレーズ毎に集計し、その中で不適な演奏操作の回数が最も多いフレーズを検索し、外部操作に応答してこの検索されたフレーズの先頭から曲データの読み出しを開始させるよう指示するので、練習する曲の自然な流れに対応したフレーズ中、最も間違った演奏をしたフレーズの先頭から演奏練習することができる。
【図面の簡単な説明】
【図1】本発明による一実施例の構成を示すブロック図である。
【図2】ROM6に記憶される曲データの構成を示す図である。
【図3】RAM7に設けられる評価データエリアの構成を示す図である。
【図4】メインルーチンの動作を示すフローチャートである。
【図5】スイッチ処理の動作を示すフローチャートである。
【図6】曲選択スイッチ処理の動作を示すフローチャートである。
【図7】スタート/ストップスイッチ処理の動作を示すフローチャートである。
【図8】図7に続くスタート/ストップスイッチ処理の動作を示すフローチャートである。
【図9】評価スイッチ処理の動作を示すフローチャートである。
【図10】自動演奏処理の動作を示すフローチャートである。
【図11】図10に続く自動演奏処理の動作を示すフローチャートである。
【図12】図11に続く自動演奏処理の動作を示すフローチャートである。
【図13】図12に続く自動演奏処理の動作を示すフローチャートである。
【図14】鍵盤処理の動作を示すフローチャートである。
【図15】変形例による自動演奏処理の動作を示すフローチャートである。
【符号の説明】
1 鍵盤
2 押鍵ガイド部
2a 発光手段
2b ドライバ
3 パネルスイッチ
4 表示部
5 CPU
6 ROM
7 RAM
8 音源
9 サウンドシステム
Claims (3)
- 曲を構成するフレーズ毎の曲データを記憶する曲データ記憶手段と、
この曲データ記憶手段に記憶された曲データを読み出し、読み出された曲データに従って演奏操作を案内する演奏案内手段と、
外部操作により評価モードに設定する設定手段と、
この設定手段により評価モードに設定されていない状態で、外部操作に応答して前記演奏案内手段に前記曲データの最初から読み出しを開始させる第1の開始手段と、
演奏操作を検出する演奏操作検出手段と、
前記設定手段により評価モードに設定されていない状態で、前記演奏操作検出手段にて検出された演奏操作が、前記演奏案内手段によって案内される演奏操作と異なる不適な演奏操作であると判定された回数を検出してフレーズ毎に集計する集計手段と、
前記設定手段にて評価モードが設定されるに応答して、前記集計手段にて不適な演奏操作と判別された回数が最も多いフレーズを検索する検索手段と、
前記設定手段により評価モードに設定されている状態で、外部操作に応答して前記演奏案内手段に対して前記検索手段によって検索されたフレーズの先頭から前記曲データの読み出しを開始させる第2の開始手段と
を具備することを特徴とする演奏練習装置。 - 前記検索手段は、前記検索されたフレーズを識別する情報を表示する表示手段を含むことを特徴とする請求項1記載の演奏練習装置。
- 曲を構成するフレーズ毎の曲データを記憶する曲データ記憶手段に記憶された曲データを読み出し、読み出された曲データに従って演奏操作を案内する演奏案内ステップと、
外部操作により評価モードに設定する設定ステップと、
この評価モードに設定されていない状態で、外部操作に応答して前記演奏案内ステップにて前記曲データの最初から読み出しを開始させる第1の開始ステップと、
演奏操作を検出する演奏操作検出ステップと、
前記評価モードに設定されていない状態で、前記演奏操作検出ステップにて検出された演奏操作が、前記演奏案内ステップによって案内される演奏操作と異なる不適な演奏操作であると判定された回数を検出してフレーズ毎に集計する集計ステップと、
前記評価モードが設定されるに応答して、前記集計ステップにて不適な演奏操作と判別された回数が最も多いフレーズを検索する検索ステップと、
前記評価モードに設定されている状態で、外部操作に応答して前記演奏案内ステップにおける前記曲データの読み出しの開始位置を、前記検索ステップによって検索されたフレーズの先頭にする第2の開始ステップと
をコンピュータで実行させることを特徴とする演奏練習プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002376422A JP4016333B2 (ja) | 2002-12-26 | 2002-12-26 | 演奏練習装置および演奏練習プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002376422A JP4016333B2 (ja) | 2002-12-26 | 2002-12-26 | 演奏練習装置および演奏練習プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004205906A JP2004205906A (ja) | 2004-07-22 |
JP4016333B2 true JP4016333B2 (ja) | 2007-12-05 |
Family
ID=32813898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002376422A Expired - Fee Related JP4016333B2 (ja) | 2002-12-26 | 2002-12-26 | 演奏練習装置および演奏練習プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4016333B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4635577B2 (ja) * | 2004-11-24 | 2011-02-23 | カシオ計算機株式会社 | 演奏練習装置および演奏練習処理のプログラム |
JP2006171255A (ja) * | 2004-12-15 | 2006-06-29 | Casio Comput Co Ltd | 演奏支援装置および演奏支援処理のプログラム |
JP4743615B2 (ja) * | 2006-03-30 | 2011-08-10 | 株式会社河合楽器製作所 | 練習機能付き電子楽器 |
-
2002
- 2002-12-26 JP JP2002376422A patent/JP4016333B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004205906A (ja) | 2004-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6402878B2 (ja) | 演奏装置、演奏方法およびプログラム | |
JP3018821B2 (ja) | 自動演奏装置 | |
JP2001242859A (ja) | 自動伴奏装置および自動伴奏方法 | |
JP3237455B2 (ja) | 演奏指示装置 | |
JP4016333B2 (ja) | 演奏練習装置および演奏練習プログラム | |
JP2002189466A (ja) | 演奏教習装置および演奏教習方法 | |
JP3684774B2 (ja) | 演奏指示装置及びプログラムを記録した媒体 | |
JP2002182642A (ja) | 演奏案内装置および演奏案内方法 | |
JP5344373B2 (ja) | 演奏教習装置およびプログラム | |
JP3613935B2 (ja) | 演奏練習装置及びプログラムを記録した媒体 | |
JP2010243617A (ja) | 演奏ガイド装置およびプログラム | |
JP3567294B2 (ja) | 音声発生装置 | |
JP4221567B2 (ja) | 演奏練習装置、演奏練習方法および演奏練習プログラム | |
JP3812729B2 (ja) | 演奏案内装置および演奏案内方法 | |
JP4645282B2 (ja) | 電子楽器 | |
JP4496882B2 (ja) | 演奏教習装置および演奏教習処理のプログラム | |
JP5454771B2 (ja) | 演奏教習装置およびプログラム | |
JP4496881B2 (ja) | 演奏教習装置および演奏教習処理のプログラム | |
JP2643277B2 (ja) | 自動演奏装置 | |
JP3940999B2 (ja) | 演奏装置および演奏方法 | |
JPH1185153A (ja) | 演奏装置 | |
JP4645285B2 (ja) | 電子楽器 | |
JPH0637439Y2 (ja) | 自動演奏装置 | |
JPH08185168A (ja) | 自動演奏装置 | |
JP4345433B2 (ja) | 演奏装置および演奏処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050809 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070518 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070529 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070614 |
|
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: 20070823 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070905 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4016333 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100928 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100928 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110928 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120928 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130928 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |