JP4482855B2 - 音楽教習装置および音楽教習プログラム - Google Patents

音楽教習装置および音楽教習プログラム Download PDF

Info

Publication number
JP4482855B2
JP4482855B2 JP2003301398A JP2003301398A JP4482855B2 JP 4482855 B2 JP4482855 B2 JP 4482855B2 JP 2003301398 A JP2003301398 A JP 2003301398A JP 2003301398 A JP2003301398 A JP 2003301398A JP 4482855 B2 JP4482855 B2 JP 4482855B2
Authority
JP
Japan
Prior art keywords
pitch
student
guidance
data
guided
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
Application number
JP2003301398A
Other languages
English (en)
Other versions
JP2005070521A (ja
Inventor
一昭 絹村
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2003301398A priority Critical patent/JP4482855B2/ja
Publication of JP2005070521A publication Critical patent/JP2005070521A/ja
Application granted granted Critical
Publication of JP4482855B2 publication Critical patent/JP4482855B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

本発明は、パーソナルコンピュータを用いたDTM(デスクトップミュージック)装置や電子楽器などに用いて好適な音楽教習装置および音楽教習プログラムに関する。
従来より、練習曲の曲データを再生して演奏操作を練習させて音楽教習する装置が知られている。この種の装置として、例えば特許文献1には1曲分の曲データと演奏操作に応じて入力される演奏データとを比較して両データの不一致部分を抽出しておき、この曲データの抽出部分を繰り返して演奏データと比較し、両データの一致が検出された時に抽出部分の出力を停止させて1曲分の曲データを出力させるようにして、演奏ミスした部分を間違えなく演奏できるようになるまで繰り返し練習させる技術が開示されている。
特許文献1に開示の装置は、演奏操作の独習を前提にしているため、周知の音楽教室のように複数人で教習する場合とは異なり、他者との競争や比較が無いことから練習意欲を高めたり向上心を持続させることが難しい。その為、本出願人は他者との競争や比較を行わせる装置として、例えば特許文献2に開示するように、演奏者の実演奏データを分析した結果から仮想的な競争者の仮想演奏データを生成し、これを自動演奏させて自己の演奏と比較するようにした技術を発明している。
特開平5−297794号公報 特開平11−003028号公報
上記特許文献2に開示の装置は、ユーザ対象を大人に想定している為、自分の演奏を仮想の競争者の演奏と比較して練習意欲を高めたり向上心を持続させることが期待できる。しかしながら、ユーザ対象を子供に想定した場合には、仮想の競争者の演奏と比較するだけでは楽しさや面白みに欠け、練習に飽きてしまうという問題がある。
そこで本発明は、このような事情に鑑みてなされたもので、楽しく飽きずに一人で練習することができる音楽教習装置および音楽教習プログラムを提供することを目的としている。
上記目的を達成するため、請求項に記載の発明では、曲データに従って曲を構成する各音の音高を順番に案内する案内手段と、前記案内手段の案内に従って生徒が音高指定する操作を練習する際に、案内された音高とは異なる音高を指定する操作が行われた場合、その異なる音高を案内された音高に対応させて記憶する記憶手段と、前記案内手段の案内に従って生徒が音高指定する操作を練習する際に、案内された音高とは異なる音高を指定する操作が行われた場合、その間違いを仮想的な練習相手から生徒に教示する教示手段と、前記案内手段の案内に従って仮想的な練習相手が発音指示する際に、案内された音高に対応した異なる音高が前記記憶手段に記憶されている場合、その異なる音高を発音させて、生徒と同じミスをする仮想的な練習相手の間違いを生徒に指摘させる指摘手段とを具備することを特徴とする。
請求項に記載の発明では、曲データに従って曲を構成する各音の音高を順番に案内する案内手段と、前記案内手段の案内に従って生徒が音高指定する操作を練習する際に、案内された音高とは異なる音高を指定する操作が行われる毎に間違い回数を計数する計数手段と、前記計数手段によって計数された間違い回数に応じた内容のコメントを発生して仮想的な練習相手から生徒に教示する教示手段と、前記計数手段によって計数された間違い回数に応じた内容の助言を発生して仮想的な先生から生徒に与える助言手段と、前記案内手段の案内に従って仮想的な練習相手が発音指示する際に、案内された音高とは異なる音高を発音して、その間違いを生徒に指摘させる指摘手段と、前記指摘手段が全ての間違いを指摘していない場合、曲データ中から検索した間違い指摘されていない音を仮想的な先生から生徒に通知する通知手段とを具備することを特徴とする。
請求項に記載の発明では、曲データに従って曲を構成する各音の音高を順番に案内する案内手段と、生徒の間違いに仮想的な練習相手が反応する頻度を設定する設定手段と、前記案内手段の案内に従って生徒が音高指定する操作を練習する際に、案内された音高とは異なる音高を指定する操作が行われた場合、前記設定手段により設定される頻度に応じて反応した間違いを仮想的な練習相手から生徒に教示する教示手段と、前記教示手段が反応していない間違い箇所の音を曲データ中から検索して仮想的な先生から生徒に提示する提示手段と、前記案内手段の案内に従って仮想的な練習相手が発音指示する際に、案内された音高とは異なる音高を発音させて、その間違いを生徒に指摘させる指摘手段とを具備することを特徴とする。
請求項に記載の発明では、曲データに従って曲を構成する各音の音高を順番に案内する案内処理と、前記案内処理の案内に従って生徒が音高指定する操作を練習する際に、案内された音高とは異なる音高を指定する操作が行われた場合、その異なる音高を案内された音高に対応させて記憶する記憶処理と、前記案内処理の案内に従って生徒が音高指定する操作を練習する際に、案内された音高とは異なる音高を指定する操作が行われた場合、その間違いを仮想的な練習相手から生徒に教示する教示処理と、前記案内処理の案内に従って仮想的な練習相手が発音指示する際に、案内された音高に対応した異なる音高が前記記憶処理にて記憶されている場合、その異なる音高を発音させて、生徒と同じミスをする仮想的な練習相手の間違いを生徒に指摘させる指摘処理とをコンピュータで実行させることを特徴とする。
請求項に記載の発明では、曲データに従って曲を構成する各音の音高を順番に案内する案内処理と、前記案内処理の案内に従って生徒が音高指定する操作を練習する際に、案内された音高とは異なる音高を指定する操作が行われる毎に間違い回数を計数する計数処理と、前記計数処理によって計数された間違い回数に応じた内容のコメントを発生して仮想的な練習相手から生徒に教示する教示処理と、前記計数処理によって計数された間違い回数に応じた内容の助言を発生して仮想的な先生から生徒に与える助言処理と、前記案内処理の案内に従って仮想的な練習相手が発音指示する際に、案内された音高とは異なる音高を発音して、その間違いを生徒に指摘させる指摘処理と、前記指摘処理が全ての間違いを指摘していない場合、曲データ中から検索した間違い指摘されていない音を仮想的な先生から生徒に通知する通知処理とをコンピュータで実行させることを特徴とする。
請求項に記載の発明では、曲データに従って曲を構成する各音の音高を順番に案内する案内処理と、生徒の間違いに仮想的な練習相手が反応する頻度を設定する設定処理と、前記案内処理の案内に従って生徒が音高指定する操作を練習する際に、案内された音高とは異なる音高を指定する操作が行われた場合、前記設定処理にて設定される頻度に応じて反応した間違いを仮想的な練習相手から生徒に教示する教示処理と、前記教示処理が反応していない間違い箇所の音を曲データ中から検索して仮想的な先生から生徒に提示する提示処理と、前記案内処理の案内に従って仮想的な練習相手が発音指示する際に、案内された音高とは異なる音高を発音させて、その間違いを生徒に指摘させる指摘処理とをコンピュータで実行させることを特徴とする。
請求項1,4に記載の発明では、曲を構成する各音の案内に従って生徒が音高指定する操作を練習する際に、案内された音高とは異なる音高を指定する操作が行われた場合、その異なる音高を案内された音高に対応させて記憶しておくと共に、その間違いを仮想的な練習相手から生徒に教示する。一方、曲を構成する各音の案内に従って仮想的な練習相手が発音指示する際に、案内された音高に対応した異なる音高が記憶されている場合、その異なる音高を発音させて、生徒と同じミスをする仮想的な練習相手の間違いを生徒に指摘させるので、生徒と仮想的な練習相手とが互いに演奏ミスを教え合って楽しく飽きずに一人で練習することが出来、しかも生徒は自分の演奏ミスを認知することができる。
請求項2,5に記載の発明によれば、曲を構成する各音の案内に従って生徒が音高指定する操作を練習する際に、案内された音高とは異なる音高を指定する操作が行われる毎に間違い回数を計数し、計数された間違い回数に応じた内容のコメントを発生して仮想的な練習相手から生徒に教示した後、計数された間違い回数に応じた内容の助言を仮想的な先生から生徒に与える。一方、曲を構成する各音の案内に従って仮想的な練習相手が発音指示する際に、案内された音高とは異なる音高を発音させて、その間違いを生徒に指摘させ、全ての間違いを指摘していない場合には指摘されていない音を仮想的な先生が生徒に通知するので、生徒と仮想的な練習相手とが互いに演奏ミスを教え合ったり、仮想的な先生が間違い回数に応じた助言や間違いを指摘できなかった音を生徒に教える結果、楽しく飽きずに一人で練習することができる。
請求項3,6に記載の発明によれば、生徒の間違いに仮想的な練習相手が反応する頻度を設定しておき、曲を構成する各音の案内に従って生徒が音高指定する操作を練習する際に、案内された音高とは異なる音高を指定する操作が行われた場合、設定された頻度に応じて反応した間違いを仮想的な練習相手から生徒に教示する。一方、曲を構成する各音の案内に従って仮想的な練習相手が発音指示する際に、案内された音高とは異なる音高を発音させて、その間違いを生徒に指摘させるから、生徒と仮想的な練習相手とが互いに演奏ミスを教え合い、間違いに反応せずに教示しなかった間違い箇所の音については仮想的な先生が生徒に提示するので、ゲーム的な面白みを創出でき、より一層楽しく飽きずに一人で練習できる。
以下、図面を参照して本発明の実施の形態について説明する。
A.第1の実施形態
(1)全体構成
図1は第1の実施形態の構成を示すブロック図である。この図において、10は構成要素1〜7を備え、本発明による音楽教習装置を搭載したDTM(デクストップミュージック)装置、20はDTM装置10とMIDI接続される電子楽器である。
DTM装置10では、生徒(ユーザ)により選択された曲データに基づき押鍵案内を行い、生徒がその案内とは異なる押鍵をして間違えた場合に仮想的な練習相手となるキャラクタCが画面上でその間違えを指摘する処理、間違えた回数に応じて仮想的な先生Tがあたかも生徒を励ますようにコメントする処理、生徒により選択された曲データに基づき押鍵案内を行い、仮想的な練習相手であるキャラクタがその案内とは異なる押鍵音を発音させ、その間違いを生徒に指摘させる処理および生徒がキャラクタCの間違いを指摘できなかった音符を先生Tが生徒に教える処理を実行する。一方、電子楽器20は生徒の鍵操作に対応した楽音を発生したり、DTM装置10側から供給されるMIDIデータ(ノートオンイベント)に応じた楽音を発生するよう構成されている。
(2)DTM装置10の構成
次に、図1を参照してDTM装置10の構成を説明する。図1において、1は装置各部を制御するCPUであり、本発明の要旨に係わる処理動作については追って詳述する。2はプログラムエリアおよびデータエリアを備えるROMである。ROM2のプログラムエリアには、後述するメインルーチン、曲選択処理およびレッスン処理などを含む各種制御プログラムが記憶される。ROM2のデータエリアには、反応データ、画面データおよびコメントデータが記憶されており、これらデータが意図するところおよび具体的な一例については後述する。
3はワークエリア、データエリアおよびバッファエリアを備えるRAMである。RAM3のワークエリアには各種レジスタ・フラグデータが一時記憶される。RAM3のデータエリアには、図2に図示する通り、複数の曲データ(1)〜(N)が記憶される。曲データは、待ち時間を表すタイムTと、曲進行順にアドレッシングされ、曲を構成する各音を表す音符データ(1)〜(n)と、曲終端を表すENDデータとから構成される。一つの音符データは、模範の音高を表す音高(1)、生徒が弾いた音高を表す音高(2)および音符長から形成される。RAM3のバッファエリアには、MIDIインタフェース4を介して電子楽器20側からシリアル転送されるMIDIデータが一時記憶される他、画面データが退避格納される。
MIDIインタフェース4はCPU1の制御の下に、電子楽器20とMIDIデータをシリアル形式で授受する。マウス5は右ボタンおよび左ボタンを備え、例えば表示画面上に配置されるアイコン上にマウスカーソルをポインティングさせた状態で左ボタンを押下する周知のクリック操作に応じてクリックイベントを発生する。6はキー入力操作に応じたキーイベントを発生するキーボードである。キーボード6を構成するキースイッチの内、所定のキースイッチ(例えばファンクションキー)に後述する「スタートスイッチ」、「終了スイッチ」、「繰り返しスイッチ」および「間違い指摘スイッチ」の各機能がアサインされる。表示部7はLCDパネル等から構成され、CPU1から供給される表示制御信号に応じて画面表示する。
(3)動作
次に、図3〜図21を参照して第1の実施形態の動作について説明する。以下では、最初に全体動作としてメインルーチンの動作について説明し、続いてメインルーチンからコールされる曲選択処理およびレッスン処理の各動作を説明して行く。
a.メインルーチンの動作
DTM装置10において、メインルーチンが実行されると、CPU1は図3に示すステップSA1に進み、装置各部を初期化するイニシャライズを行った後、ステップSA2に進む。ステップSA2では、ユーザ操作に応じて、RAM3のデータエリアに格納される複数の曲データ(1)〜(N)の内から音楽教習に用いる曲データを選択する曲選択処理を実行する。次いで、ステップSA3では、曲選択処理にて選択された曲データに基づく押鍵案内を行い、その案内中に生徒が押鍵ミスした場合に仮想的な練習相手となるキャラクタCが画面上でその間違えを指摘する生徒レッスン処理と、生徒レッスン処理にてカウントされる間違い回数に応じて、仮想的な先生Tがあたかも生徒を励ますようにコメントするコメント(1)処理と、曲選択処理にて選択された曲データに基づく押鍵案内を行い、仮想的な練習相手であるキャラクタCがその案内とは異なる押鍵音を発音させ、その間違いを生徒に指摘させるキャラレッスン処理と、指摘ミスした音符を仮想的な先生Tが生徒に教えるコメント(2)処理とから構成されるレッスン処理を実行する。そして、ステップSA4では、例えば発音指示する楽音の音色を設定する等の、その他の処理を実行する。以後、メインルーチン終了イベントが発生するまでステップSA2〜SA4が繰り返し実行される。
b.曲選択処理の動作
次に、図4を参照して曲選択処理の動作について説明する。上述したメインルーチンのステップSA2を介して本処理が実行されると、CPU1は図4のステップSB1に進み、曲選択操作の有無を判断する。ここで、曲選択操作とは、RAM3のデータエリアに格納される曲データ(1)〜(N)の曲名(もしくはファイル名)を一覧表示する曲選択画面(不図示)を表示部7に画面表示した状態において、一覧表示の内から所望の曲名(もしくはファイル名)にマウスカーソルをポインティングさせてマウス5をクリックする操作を指す。
曲選択操作が行わなれない場合、判断結果は「NO」になり、本処理を完了させるが、曲選択操作が行われると、判断結果が「YES」となり、ステップSB2に進む。ステップSB2では、曲選択操作により選択された曲名に対応付けられた曲番号をレジスタMELODYにストアする。そして、ステップSB3では、レジスタMELODYにストアされた曲番号で指定される曲データ(MELODY)が格納される先頭アドレスをアドレスポインタADDにセットして本処理を終える。
c.レッスン処理の動作
次に、図5を参照してレッスン処理の動作について説明する。前述したメインルーチンのステップSA3(図3参照)を介して本処理が実行されると、CPU1は図5のステップSC1に進み、レッスン回数Kに初期値「1」をセットする。次いで、ステップSC2では、スタートスイッチのオン操作に応じて、曲選択処理(図4参照)にて選択された曲データ中の音符データを曲進行に同期して読み出して弾くべき音を案内し、案内された鍵の音高とは異なる音高の鍵を生徒が押鍵して演奏ミスした場合、仮想的な練習相手となるキャラクタCが画面上でその間違えを指摘する生徒レッスン処理を実行する。
続いて、ステップSC3では、上記生徒レッスン処理にてカウントされる間違い回数に応じて内容が変化するコメントを、仮想的な先生Tがあたかも生徒を励ますように先生画面TGで表示するコメント(1)処理を実行する。次に、ステップSC4では、スタートスイッチのオン操作に応じて曲選択処理(図4参照)にて選択された曲データ中の音符データを参照して弾くべき音を案内し、仮想的な練習相手であるキャラクタCがその案内に従って音符データ中の音高(2)を押鍵音として発音させ、その押鍵音が間違っているとして生徒が間違え指摘スイッチをオン操作すると、キャラクタが間違い指摘の正否を生徒に知らせるキャラレッスン処理を実行する。次いで、ステップSC5では、キャラクタが間違えた箇所を全て指摘できていると、仮想的な先生Tが「全部の間違いに気づいたね!」なるメッセージを生徒に伝えるコメント(2)A画面を表示し、キャラクタが間違えた箇所を全て指摘できていないと、曲データ中から指摘ミスされた音符を検索し、該当する音符の音高および小節数を先生Tが生徒に教えるコメント(2)B画面を表示するコメント(2)処理を実行する。
そして、ステップSC6では、上述した一連の処理(生徒レッスン処理、コメント(1)処理、キャラレッスン処理およびコメント(2)処理)の繰り返しを指示する繰り返しスイッチがオン操作されたかどうかを判断する。繰り返しスイッチがオン操作されると、判断結果は「YES」となり、ステップSC7にてレッスン回数Kをインクリメントして歩進させた後、上述のステップSC2に処理を戻す。
一方、繰り返しスイッチがオン操作されなければ、上記ステップSC6の判断結果は「NO」になり、ステップSC8に進み、終了スイッチのオン操作の有無を判断する。そして、終了スイッチがオン操作されると、判断結果は「YES」になり、本処理を完了させる。終了スイッチがオン操作されなければ、判断結果が「NO」となり、ステップSC1に処理を戻す。
c−1.生徒レッスン処理の動作
次に、図6〜図10を参照して生徒レッスン処理の動作について説明する。レッスン処理のステップSC2(図5参照)を介して本処理が実行されると、CPU1は図6のステップSD1に進む。ステップSD1では、ROM2のデータエリアから読み出すガイド画面データに基づきガイド画面GGを表示部7に表示する。
ガイド画面GGは、図8に図示する一例のように、楽譜表示エリアA1,A2を有する。楽譜表示エリアA1では、上述した曲選択処理(図4参照)で選択された曲データ(模範曲)中の各音符データが曲進行に同期して楽譜表示され、これにより生徒(ユーザ)に押鍵案内するようになっている。一方、楽譜表示エリアA2では、押鍵案内に従って生徒が弾いた音が楽譜表示されるようになっている。
次いで、ステップSD2では、キーボード6中のスタートスイッチがオン操作されるまで待機し、オン操作されると、判断結果が「YES」となり、次のステップSD3に進む。ステップSD3では、アドレスポインタADDで指定される曲データ中のタイムTをRAM3から読み出す。なお、アドレスポインタADDには、前述した曲選択処理にて選択された曲データ(MELODY)の先頭アドレスがセットされているものとする。
続いて、ステップSD4では、曲データ(MELODY)の先頭から読み出したタイムT(待ち時間)をレジスタTIMEにストアする。次に、ステップSD5では、間違い回数をカウントするカウンタMISSをゼロリセットする。以後、カウンタMISSの値を間違い回数MISSと称す。そして、ステップSD6では、タイマインタラプト禁止を解除する。タイマインタラプト禁止が解除されると、CPU1は所定周期毎にレジスタTIMEをデクリメントするタイマインタラプト処理(不図示)を実行する。
ステップSD7では、タイマインタラプト処理によりデクリメントされるレジスタTIMEの値が「0」以下、すなわち押鍵を案内するガイドタイミングに達したかどうかを判断する。以下、ガイドタイミングに達した場合と、ガイドタイミングに達していない場合とに分けて動作説明を進める。
<ガイドタイミングに達した場合>
タイムTの待ち時間が経過して最初のガイドタイミングに達すると、ステップSD7の判断結果が「YES」となり、CPU1はステップSD8に処理を進め、アドレスポインタADDを歩進させてRAM3のデータエリアから次データを読み出す。次いで、ステップSD9では、読み出したデータが曲終端を表すENDデータであるか否かを判断する。曲終端に達しておらず、音符データが読み出されると、判断結果は「NO」になり、ステップSD11に進む。ステップSD11では、読み出された音符データ中の音高(1)をレジスタNOTEにストアする。続くステップSD12では、音符長をレジスタTIMEにそれぞれストアする。そして、ステップSD13では、レジスタNOTEにストアした音高(1)に対応する音符を、ガイド画面GG(図8参照)の楽譜表示エリアA1に表示して生徒に押鍵をガイドした後、上述のステップSD7に処理を戻す。以後、レジスタTIMEに格納される音符長が経過する毎に、上述したステップSD7〜SD13を繰り返す。
さて一方、曲終端に達してENDデータが読み出された場合には、上記ステップSD9の判断結果が「YES」となり、ステップSD10に進み、割込みマスクを施してタイマインタラプト禁止としてタイマインタラプト処理(不図示)を停止させて本処理を完了させる。
<ガイドタイミングに達していない場合>
ガイドタイミングに達していない場合には、ステップSD7の判断結果が「NO」となり、図7のステップSD14に進む。ステップSD14では、電子楽器20側からMIDIインタフェース4を介して入力されるMIDIイベントに基づき、生徒が電子楽器20側で押鍵操作したか否か、つまりノートオンイベントの有無を判断する。押鍵操作が行われなければ、判断結果は「NO」となり、図6のステップSD7に処理を戻す。
一方、生徒が電子楽器20側で押鍵操作すると、判断結果が「YES」になり、ステップSD15に進み、押鍵された鍵の音高(ノートオンイベントに含まれる音高)をレジスタKEYにストアする。次いで、ステップSD16では、レジスタNOTEに格納される曲データの音高(1)と、押鍵された鍵の音高とが不一致であるか否かを判断する。両者が一致していると、判断結果は「NO」になり、図6のステップSD7に処理を戻すが、両者が不一致となる演奏ミス(誤押鍵)を生じた場合には、判断結果が「YES」となり、ステップSD17に進む。
ステップSD17では、割込みマスクを施してタイマインタラプト禁止としてタイマインタラプト処理(不図示)を停止させる。次いで、ステップSD18では、間違い回数MISSをインクリメントして歩進させ、続くステップSD19では、ガイド画面GGをRAM3のバッファエリアに退避格納する。ステップSD20〜SD23では、間違い回数MISSに対応したメッセージを、ROM2のデータエリアに記憶される反応データ中から選択する。この反応データとは、図9に図示する一例のように、間違い回数MISSに対応付けられたメッセージA〜Cから構成される。これらメッセージA〜Cは、仮想的な練習相手となるキャラクタCが生徒(ユーザ)に対して間違いを指摘する内容を表す。
すなわち、間違い回数MISSが「1回目」であると、ステップSD21に進み、ROM2のデータエリアに記憶される反応データ中から「いまのところまちがったよ。」なるメッセージAを選択する。間違い回数MISSが「2回目」であると、ステップSD22に進み、ROM2のデータエリアに記憶される反応データ中から「またまちがったよ。」なるメッセージBを選択する。間違い回数MISSが「3回以上」であると、ステップSD23に進み、ROM2のデータエリアに記憶される反応データ中から「まちがったよ。きをつけて。」なるメッセージCを選択する。
こうして、仮想的な練習相手となるキャラクタCが発するメッセージを間違い回数MISSに応じて選択すると、CPU1はステップSD24に進み、選択されたメッセージを伴うキャラ画面CHGを生成して表示部7に一定時間表示する。キャラ画面CHGは、図10に図示する一例のように、仮想的な練習相手となるキャラクタCおよびメッセージ表示エリアMAを有し、間違い回数MISSに応じて選択したメッセージがメッセージ表示エリアMAに表示される。
キャラ画面CHGを一定時間表示し終えると、ステップSD25に進み、RAM3に退避格納しておいたガイド画面GG(図8参照)を読み出して表示部7に表示する。次いで、ステップSD26では、レジスタKEYに格納される音高(生徒が弾いた音高)を、アドレスポインタADDで指定される音符データ中の音高(2)にストアする。この後、ステップSD27に進み、タイマインタラプト禁止を解除してレジスタTIMEをデクリメントするタイマインタラプト処理を実行させてから図6のステップSD7に処理を戻す。
このように、生徒レッスン処理では、スタートスイッチがオン操作されると、曲選択処理にて選択された曲データを構成する音符データを曲進行に同期して読み出してガイド画面GGで楽譜表示して生徒に押鍵案内する。案内された鍵の音高とは異なる音高の鍵を生徒が押鍵して演奏ミスする毎に間違い回数MISSをカウントする。また、演奏ミスする毎に画面表示をガイド画面GGから一定時間の間、キャラ画面CHGに切替える。キャラ画面CHGでは、間違い回数MISSに応じて内容が変化するメッセージを、仮想的な練習相手となるキャラクタCがあたかも間違えを教えてくれるように画面表示する。
c−2.コメント(1)処理の動作
次に、図11〜図13を参照してコメント(1)処理の動作について説明する。レッスン処理のステップSC3(図5参照)を介して本処理が実行されると、CPU1は図11のステップSE1に進み、上述した生徒レッスン処理でカウントした間違い回数MISSが「0〜2回」、「3〜5回」および「6回以上」のいずれに該当するのかを判断する。続いて、ステップSE2〜SE4では、間違い回数MISSに対応するコメントを、ROM2のデータエリアに記憶されるコメントデータ中から選択する。このコメントデータとは、図12に図示する一例のように、間違い回数MISSに対応付けられた先生コメント(1)A〜Cから構成される。先生コメント(1)A〜Cは、仮想的な先生Tが生徒に対してアドバイスする内容を表す。
すなわち、間違い回数MISSが「0〜2回」であると、ステップSE2に進み、ROM2のデータエリアに記憶されるコメントデータ中から「練習がんばったね!」なる先生コメント(1)Aを選択する。間違い回数MISSが「3〜5回」であると、ステップSE3に進み、コメントデータ中から「もう少しだ!」なる先生コメント(1)Bを選択する。間違い回数MISSが「6回以上」であると、ステップSE4に進み、コメントデータ中から「もっと練習して!」なる先生コメント(1)Cを選択する。こうして、仮想的な先生Tからのコメント(1)を間違い回数MISSに応じて選択すると、CPU1はステップSE5に進み、選択された先生コメント(1)を伴う先生画面TGを生成して表示部7に一定時間表示して本処理を終える。
先生画面TGは、図13に図示する一例のように、仮想的な先生Tおよびコメント表示エリアCAを有し、間違い回数MISSに応じて選択した先生コメント(1)がコメント表示エリアCAに表示される。このように、コメント(1)処理では、生徒レッスン処理においてカウントされた間違い回数MISSに応じて内容が変化する先生コメントを、仮想的な先生Tがあたかも生徒を励ますように先生画面TGで表示する。
c−3.キャラレッスン処理の動作
次に、図14〜図18を参照してキャラレッスン処理の動作について説明する。レッスン処理のステップSC4(図5参照)を介して本処理が実行されると、CPU1は図14に示すステップSF1に進む。ステップSF1では、ROM2のデータエリアから読み出すガイド画面データに基づきガイド画面GGを表示部7に表示する。なお、このガイド画面GGは前述した生徒レッスン処理にて用いるものと同一である。
次いで、ステップSF2では、キーボード6中のスタートスイッチがオン操作されるまで待機し、オン操作されると、判断結果が「YES」となり、次のステップSF3に進む。ステップSF3では、アドレスポインタADDで指定される曲データ中のタイムTをRAM3から読み出す。なお、アドレスポインタADDには、前述した曲選択処理にて選択された曲データ(MELODY)の先頭アドレスがセットされているものとする。
続いて、ステップSF4では、曲データ(MELODY)の先頭から読み出したタイムT(待ち時間)をレジスタTIMEにストアすると共に、フラグONFおよびカウンタMをゼロリセットする。ステップSF5では、タイマインタラプト禁止を解除する。タイマインタラプト禁止が解除されると、CPU1は所定周期毎にレジスタTIMEをデクリメントするタイマインタラプト処理(不図示)を実行する。ステップSF6では、タイマインタラプト処理によりデクリメントされるレジスタTIMEの値が「0」以下、すなわち押鍵を案内するガイドタイミングに達したかどうかを判断する。以下、ガイドタイミングに達した場合と、ガイドタイミングに達していない場合とに分けて動作説明を進める。
<ガイドタイミングに達した場合>
タイムTの待ち時間が経過して最初のガイドタイミングに達すると、ステップSF6の判断結果が「YES」となり、CPU1はステップSF7に処理を進め、フラグONFをゼロリセットする。次いで、ステップSF8では、ミスフラグMISSFが「1」であるか否かを判断する。
後述するように、本処理では、仮想的な練習相手であるキャラクタCが押鍵案内に従って押鍵を行い、その押鍵に間違いがあるか否かを生徒が指摘するようになっており、キャラクタCが誤った押鍵をした場合にミスフラグMISSFを「1」にセットするようにしている。そして、生徒がその間違いに気付いて間違い指摘スイッチをオン操作して間違いを指摘した場合にミスフラグMISSFがゼロリセットされるようになっている。したがって、このステップSF8では、生徒が間違いを指摘できたかどうかを判断している。そして、生徒が間違いを指摘していれば、判断結果は「NO」となり、後述のステップSF11に進み、一方、生徒が間違いを指摘できなかった場合には判断結果が「YES」になり、ステップSF9に進み、指摘ミス回数をカウントするカウンタMを歩進させる。以後、カウンタMの値を指摘ミス回数Mと記す。
次に、ステップSF10では、ミスフラグMISSFをゼロリセットする。ステップSF11では、アドレスポインタADDを歩進させてRAM3のデータエリアから次データを読み出し、続くステップSF12では、読み出した次データが曲終端を表すENDデータであるか否かを判断する。曲終端に達してENDデータが読み出された場合には、判断結果が「YES」となり、ステップSF13に進み、割込みマスクを施してタイマインタラプト禁止としてタイマインタラプト処理(不図示)を停止させて本処理を完了させる。
これに対し、曲終端に達しておらず、音符データが読み出された場合には、上記ステップSF12の判断結果が「NO」になり、図15に示すステップSF14に進む。ステップSF14では、読み出された音符データ中の音高(1)をレジスタNOTEにストアする。続くステップSF15では、音符長をレジスタTIMEにストアする。
ステップSF16では、レジスタNOTEにストアした音高(1)に対応する音符を、ガイド画面GG(図8参照)の楽譜表示エリアA1に表示して押鍵案内する。次いで、ステップSF17では、読み出された音符データ中の音高(2)を含むノートオンイベントを形成し、これをMIDIインタフェース4を介して電子楽器20側へ送出して発音を指示する。これにより、電子楽器20側は音高(2)の楽音を発音する。つまり、生徒は仮想的な練習相手であるキャラクタCが弾く音を聴き取ることになる。また、キャラクタCが弾く音は、前述した生徒レッスン処理において生徒が弾いた音高(2)となる。
そして、ステップSF18では、読み出された音符データ中の音高(1)と音高(2)とが一致していないか否かを判断する。音高(1)は模範の音高、音高(2)はキャラクタCの弾く音なので、このステップSF18ではキャラクタの押鍵に間違いがあるかどうかを判断している。なお、キャラクタCの弾く音とは、前述した生徒レッスン処理にて生徒が弾いた音高であるから、生徒の演奏を真似たものと言える。
さて、キャラクタの押鍵に間違いがあると、ここでの判断結果は「YES」となり、ステップSF19に進み、ミスフラグMISSFに「1」をセットした後、図16に示すステップSF21に処理を進める。一方、生徒を真似たキャラクタの押鍵に間違いがなければ、判断結果が「NO」になり、ステップSF20に進み、ミスフラグMISSFをゼロリセットしてから図16に示すステップSF21に処理を進める。
<ガイドタイミングに達していない場合>
ガイドタイミングに達していない場合には、前述したステップSF6(図14参照)の判断結果が「NO」となり、図16に示すステップSF21に進む。また、上述のガイドタイミングに達した場合に音符データを読み出し、それに応じてミスフラグMISSFを更新するステップSF19またはステップSF20を経た後も図16に示すステップSF21に進む。
ステップSF21では、フラグONFが「0」、つまり間違い指摘スイッチがオン操作されていないかどうかを判断する。間違い指摘スイッチがオン操作されず、フラグONFが「0」であると、判断結果は「NO」になり、図14のステップSF6に処理を戻す。一方、間違い指摘スイッチがオン操作され、フラグONFに「1」がセットされていると、判断結果は「YES」になり、ステップSF22に進む。
ステップSF22では、キーボード6中の間違い指摘スイッチがオン操作されたか否かを判断する。オン操作されないと、判断結果は「NO」となり、図14のステップSF6に処理を戻す。一方、間違い指摘スイッチがオン操作されると、判断結果が「YES」になり、ステップSF23に進み、フラグONFに「1」をセットする。次に、ステップSF24では、割込みマスクを施してタイマインタラプト禁止としてタイマインタラプト処理を停止させ、続くステップSF25では、ガイド画面GGをRAM3のバッファエリアに退避格納する。そして、ステップSF26では、ミスフラグMISSFが「1」、つまりキャラクタの押鍵に間違いがあるかどうかを判断する。
キャラクタの押鍵に間違いがある場合には、判断結果が「YES」となり、ステップSF27に進み、ミスフラグMISSFをゼロリセットする。次いで、ステップSF28では、図17に図示するように、キャラクタCが「まちがえを、おしえてくれてありがとう。」なるメッセージを生徒に伝えるキャラ画面Bを一定時間表示する。続いて、ステップSF29では、アドレスポインタADDで指定される音符データ中の音高(2)を音高(1)と同じ値に設定する。
一方、キャラクタの押鍵に間違いがない場合には、上記ステップSF26の判断結果が「NO」になり、ステップSF30に進み、図18に図示するように、キャラクタCが「まちがえていないよ!」なるメッセージを生徒に伝えるキャラ画面Cを一定時間表示する。こうして、間違い指摘の正否を生徒に知らせるキャラ画面Bもしくはキャラ画面Cを一定時間表示し終えると、CPU1はステップSF31に進み、RAM3に退避格納しておいたガイド画面GG(図8参照)を読み出して表示部7に表示する。この後、ステップSF32に進み、タイマインタラプト禁止を解除してから図14に示すステップSF6に処理を戻す。
以上のように、キャラレッスン処理では、スタートスイッチがオン操作されると、曲選択処理にて選択された曲データを構成する音符データを曲進行に同期して読み出してガイド画面GGで楽譜表示して押鍵案内する。仮想的な練習相手であるキャラクタCはその案内に従って音符データ中の音高(2)を押鍵音として発音させる。その押鍵音が間違っていると生徒が気付き、間違え指摘スイッチをオン操作すると、キャラクタCが間違い指摘の正否を生徒に知らせる。これにより、生徒とキャラクタCが交互にレッスンをして互いに間違えを教え合うようになっている。
c−4.コメント(2)処理の動作
次に、図19〜図21を参照してコメント(2)処理の動作について説明する。レッスン処理のステップSC5(図5参照)を介して本処理が実行されると、CPU1は図19のステップSG1に進み、上述したキャラレッスン処理にて得られる指摘ミス回数Mが「0」、すなわちキャラクタが間違えた箇所を全て指摘できているか否かを判断する。キャラクタが間違えた箇所を全て指摘できていると、判断結果は「YES」になり、ステップSG2に進み、図20に図示するように、先生Tが「全部の間違いに気づいたね!」なるメッセージを生徒に伝えるコメント(2)A画面を表示部7に一定時間表示してから本処理を終える。
一方、キャラクタが間違えた箇所を全て指摘できていないと、上記ステップSG1の判断結果が「NO」になり、ステップSG3に進む。ステップSG3では、レジスタMELODYにストアされた曲番号で指定される曲データの先頭の音符データを指し示すアドレスをアドレスポインタADDにセットする。ステップSG4では、そのアドレスポインタADDに応じてRAM3のデータエリアから音符データを読み出す。次いで、ステップSG5では、読み出した音符データ中の音高(1)と音高(2)とが不一致であるか否かを判断する。上述したキャラレッスン処理では、適正な間違い指摘が行われた場合、ステップSF29(図16参照)において音高(2)を音高(1)と同じ値に設定する。したがって、このステップSG5では、指摘ミスされた音符であるかどうかを判断する。
指摘ミスされた音符でなければ、判断結果は「NO」になり、ステップSG6に進み、アドレスポインタADDを歩進させる。次いで、ステップSG7では、歩進されたアドレスポインタADDで指定されるデータが曲終端を表すENDデータであるか否かを判断する。曲終端を表すENDデータでなければ、判断結果は「NO」となり、ステップSG4に処理を戻す。以後、曲終端を表すENDデータに達するまでステップSG4〜SG7を繰り返し実行して、指摘ミスされた音符を検索する。そして、指摘ミスされた音符が検索されると、ステップSG5の判断結果が「YES」になり、ステップSG8に進む。ステップSG8では、現在のアドレスポインタADDと、これまでに読み出された音符データの音符長とから指摘ミスされた音符の小節数を算出する。
続いて、ステップSG9では、指摘ミスされた音符の音高(1)と算出された小節数とを先生Tが生徒に教えるコメント、例えば図21に図示するように、「5小節目のドの音もまちがっていたね。」なるコメントを有するコメント(2)B画面を表示部7に一定時間表示する。次いで、ステップSG10に進み、アドレスポインタADDで指定される音符データ中の音高(1)の値を音高(2)にコピーして両音高を同一に設定する。この後、ステップSG6に処理を戻してアドレスポインタADDを歩進させ、歩進させたアドレスポインタADDで指定されるデータが曲終端を表すENDデータであると、ステップSG7の判断結果が「YES」となり、本処理を完了させる。
このように、コメント(2)処理では、キャラクタCが間違えた箇所を全て指摘できていると、仮想的な先生Tが「全部の間違いに気づいたね!」なるメッセージを生徒に伝えるコメント(2)A画面を表示し、キャラクタCが間違えた箇所を全て指摘できていないと、曲データ中から指摘ミスされた音符を検索し、該当する音符の音高および小節数を先生Tが生徒に教えるコメント(2)B画面を表示するようになっている。
以上説明したように、第1の実施形態では、生徒が選択した曲データに基づき押鍵案内を行い、その案内中に生徒が押鍵ミスした場合に仮想的な練習相手のキャラクタCが画面上でその間違えを指摘し、間違えた回数に応じて仮想的な先生Tがあたかも生徒を励ますようにコメントしたり、生徒が選択した曲データに基づき押鍵案内を行う過程で、仮想的な練習相手のキャラクタCが案内とは異なる押鍵音を発音させ、その間違いを生徒に指摘させ、指摘ミスした音符を仮想的な先生Tが生徒に教えるようにしたので、楽しく飽きずに一人で練習することが可能になっている。
なお、第1の実施形態では、キャラクタCが生徒と同じ演奏ミスをし、その間違いを生徒に指摘させるようにしたが、これに替えて、例えば生徒が演奏ミスしたフレーズと似たような他のフレーズでキャラクタCが演奏ミスしたり、生徒が演奏ミスした時と同じ指使いをする音符をキャラクタCが演奏ミスする態様としてもよい。そのようにすれば、生徒は自分の演奏ミスを客観的に捉らえることができる。
B.第2の実施形態
次に、図22〜図26を参照して第2の実施形態について説明する。第2の実施形態は、上述した第1の実施形態と同一の構成であり、一部の処理動作が相違する。第2の実施形態が第1の実施形態と相違する点は、図22に図示するように、メインルーチンの曲選択処理(ステップSA2)とレッスン処理(ステップSA3)との間にキャラ設定処理(ステップSA5)を設け、かつROM2のデータエリアに性能データCPを設けるようにしたことにある。ROM2のデータエリアに記憶される性能データCPとは、生徒の押鍵ミスを指摘するキャラクタの反応を定義するデータである。例えば図23に図示する一例の性能データCPの場合、性能データCP(1)は間違えたら反応(間違えの都度ミスを指摘)、性能データCP(2)は反応を2回に1回(2回に1回の頻度でミスを指摘)、性能データCP(3)は反応をランダム(ランダムな頻度でミスを指摘)として定義される。以下では、このような性能データCPを用いた第2の実施形態の動作として、キャラ設定処理、生徒レッスン処理およびコメント(1)処理の動作を説明する。
(1)キャラ設定処理の動作
第2の実施形態によるメインルーチンのステップSA5(図22参照)を介して本処理が実行されると、CPU1は図24に示すステップSH1に進み、キャラ性能設定操作の有無を判断する。ここで言うキャラ性能設定操作とは、キーボード6を構成するキースイッチの内、性能データCP(1)〜CP(3)をそれぞれ選択するキースイッチを予め割当てておき、それらキースイッチのいずれかのオン操作で性能データCPの種類を選択する操作を指す。そして、キャラ性能設定操作が行わなければ、判断結果は「NO」となり、本処理を完了させるが、キャラ性能設定操作が行われると、判断結果が「YES」になり、ステップSH2に進み、選択設定された性能データ値(CP(1)〜CP(3)のいずれか)をレジスタCPにストアして本処理を終える。
(2)生徒レッスン処理の動作
次に、第2の実施形態による生徒レッスン処理の動作を説明する。第2の実施形態による生徒レッスン処理は、ガイドタイミングに達していない場合の動作のみ第1の実施形態と相違する。したがって、以下では第1の実施形態の生徒レッスン処理と共通する動作、すなわち図6に示すステップSD1〜SD13からなるガイドタイミングに達した場合の動作の説明については省略し、ガイドタイミングに達していない場合の動作を説明する。
第2の実施形態による生徒レッスン処理では、ガイドタイミングに達していない場合、CPU1は図25に示すステップSD100に進む。ステップSD100では、電子楽器20側からMIDIインタフェース4を介して入力されるMIDIイベントに基づき、生徒が電子楽器20側で押鍵操作したか否か、つまりノートオンイベントの有無を判断する。押鍵操作が行われなければ、判断結果は「NO」となり、図6に示すステップSD7に処理を戻す。
一方、生徒が電子楽器20側で押鍵操作すると、判断結果が「YES」になり、ステップSD101に進み、押鍵された鍵の音高(ノートオンイベントに含まれる音高)をレジスタKEYにストアする。次いで、ステップSD102では、レジスタNOTEに格納される曲データの音高(1)と、押鍵された鍵の音高とが不一致であるか否かを判断する。両者が一致していると、判断結果は「NO」になり、図6のステップSD7に処理を戻すが、両者が不一致となる演奏ミス(誤押鍵)を生じた場合には、判断結果が「YES」となり、ステップSD103に進み、間違い回数MISSをインクリメントして歩進させる。
次いで、ステップSD104〜SD112では、上述のキャラ設定処理(図24参照)にて設定されたキャラクタの性能データCPに応じた処理を実行する。以下、性能データCP(1)が設定された場合、性能データCP(2)が設定された場合および性能データCP(3)が設定された場合に分けて各場合の動作を述べる。
<性能データCP(1)が設定された場合>
間違えたら反応する性能データCP(1)が設定された場合には、ステップSD104を経てステップSD111に進み、割込みマスクを施してタイマインタラプト禁止としてタイマインタラプト処理(不図示)を停止させた後、ステップSD112に進み、ガイド画面GGをRAM3に退避格納する。
<性能データCP(2)が設定された場合>
2回に1回の頻度で反応する性能データCP(2)が設定された場合には、ステップSD4を経てステップSD108に進む。ステップSD108では、フラグHFを反転し、続くステップSD109では、反転されたフラグHFが「0」であるか否かを判断する。フラグHFが「0」であると、判断結果は「YES」になり、ステップSD110に進み、現在のアドレスポインタADDをRAM3のバッファエリアにストアして図6に示すステップSD7に処理を戻す。
一方、反転されたフラグHFが「1」であると、ステップSD109の判断結果が「NO」となり、ステップSD111に進み、割込みマスクを施してタイマインタラプト禁止としてタイマインタラプト処理(不図示)を停止させた後、ステップSD112に進み、ガイド画面GGをRAM3に退避格納する。
<性能データCP(3)が設定された場合>
ランダムな頻度で反応する性能データCP(3)が設定された場合には、ステップSD4を経てステップSD105に進む。ステップSD108では、「0」または「1」のランダム値を発生し、続くステップSD106では、発生したランダム値が「0」であるか否かを判断する。ランダム値が「0」であると、判断結果は「YES」になり、ステップSD107に進み、現在のアドレスポインタADDをRAM3のバッファエリアにストアして図6に示すステップSD7に処理を戻す。
一方、ランダム値が「1」であると、ステップSD106の判断結果が「NO」となり、ステップSD111に進み、割込みマスクを施してタイマインタラプト禁止としてタイマインタラプト処理(不図示)を停止させた後、ステップSD112に進み、ガイド画面GGをRAM3に退避格納する。
そして、ステップSD113〜SD116では、間違い回数MISSに対応するメッセージを、ROM2のデータエリアに記憶される反応データ中から選択する。この反応データは、第1の実施形態と同様、図9に図示する一例のように、間違い回数MISSに対応付けられたメッセージA〜Cから構成される。これらメッセージA〜CはキャラクタCが生徒に対して間違いを指摘する内容を表す。 すなわち、間違い回数MISSが「1回目」であると、ステップSD114に進み、ROM2のデータエリアに記憶される反応データ中から「いまのところまちがったよ。」なるメッセージAを選択する。間違い回数MISSが「2回目」であると、ステップSD115に進み、反応データ中から「またまちがったよ。」なるメッセージBを選択する。間違い回数MISSが「3回以上」であると、ステップSD116に進み、反応データ中から「まちがったよ。きをつけて。」なるメッセージCを選択する。
こうして、仮想的な練習相手となるキャラクタCが発するメッセージを間違い回数MISSに応じて選択すると、CPU1はステップSD117に進み、選択されたメッセージを伴うキャラ画面CHGを生成して表示部7に一定時間表示する。キャラ画面CHGは、第1の実施形態と同様、図10に図示する一例のように、仮想的な練習相手となるキャラクタCおよびメッセージ表示エリアMAを有し、間違い回数MISSに応じて選択したメッセージがメッセージ表示エリアMAに表示される。
キャラ画面CHGを一定時間表示し終えると、ステップSD118に進み、レジスタKEYに格納される音高(生徒が弾いた音高)を、アドレスポインタADDで指定される音符データ中の音高(2)にストアする。次いで、ステップSD119では、RAM3に退避格納しておいたガイド画面GG(図8参照)を読み出して表示部7に表示した後、ステップSD120に進み、タイマインタラプト禁止を解除してレジスタTIMEをデクリメントするタイマインタラプト処理(不図示)を実行させてから図6のステップSD7に処理を戻す。
このように、第2の実施形態による生徒レッスン処理では、案内された音高とは異なる音高の鍵を生徒が押鍵して演奏ミスした場合、キャラクタCは設定される性能データCPに応じて反応する。すなわち、性能データCP(1)が設定されたキャラクタCであると、生徒が演奏ミスする都度、その間違えを指摘するよう反応し、性能データCP(2)が設定されたキャラクタCであると、生徒の演奏ミスに対し2回に1回の頻度で間違えを指摘するよう反応し、性能データCP(2)が設定されたキャラクタCであると、生徒の演奏ミスに対しランダムな頻度で間違えを指摘するよう反応するため、ゲーム的な面白みを創出でき、より一層楽しく飽きずに一人で練習できるようになっている。
(3)コメント(1)処理の動作
次に、図26を参照して第2の実施形態によるコメント(1)処理の動作を説明する。前述した第1の実施形態と同様、レッスン処理のステップSC3(図5参照)を介して本処理が実行されると、CPU1は図26のステップSJ1に進み、第2の実施形態による生徒レッスン処理(図25参照)でカウントした間違い回数MISSが「0〜2回」、「3〜5回」および「6回以上」のいずれであるかを判断する。続いて、ステップSJ2〜SJ4では、間違い回数MISSに対応するコメントを、ROM2のデータエリアに記憶されるコメントデータ中から選択する。このコメントデータとは、第1の実施形態と同様、図12に図示する一例のように、間違い回数MISSに対応付けられたコメント(1)A〜Cから構成される。これらコメント(1)A〜Cは、仮想的な先生Tが生徒(ユーザ)に対してアドバイスする内容を表す。
すなわち、間違い回数MISSが「0〜2回」であると、ステップSJ2に進み、ROM2のデータエリアに記憶されるコメントデータ中から「練習がんばったね!」なるコメント(1)Aを選択する。間違い回数MISSが「3〜5回」であると、ステップSJ3に進み、コメントデータ中から「もう少しだ!」なるコメント(1)Bを選択する。間違い回数MISSが「6回以上」であると、ステップSJ4に進み、コメントデータ中から「もっと練習して!」なるコメント(1)Cを選択する。こうして、仮想的な先生Tからのコメント(1)を間違い回数MISSに応じて選択すると、CPU1はステップSJ5に進み、選択されたコメント(1)を伴う先生画面TG(図13参照)を生成して表示部7に一定時間表示する。
次いで、ステップSJ6では、RAM3のバッファエリアにアドレスポインタADDがストアされているか否かを判断する。上述した第2の実施形態による生徒レッスン処理では、キャラクタCに性能データCP(2)もしくはCP(3)が設定されている場合、生徒の演奏ミスに対して2回に1回の頻度もしくはランダムな頻度で間違いを指摘しないケースが生じ、そのようなケースではRAM3のバッファエリアにアドレスポインタADDがストアされるようになっている。したがって、このステップSJ6では、指摘されていない間違いの有無を判断している。指摘されていない間違いが有ると、判断結果が「YES」になり、ステップSJ7に進む。
ステップSJ7では、RAM3のバッファエリアに格納されるアドレスポインタADDを読み出し、続くステップSJ8では、そのアドレスポインタADDで指定される音符データをRAM3のデータエリアに格納される曲データ中から読み出す。続いて、ステップSJ9では、アドレスポインタADD以前に記憶されている音符データの音符長から指摘ミスされた音符データの小節数を算出する。次に、ステップSJ10では、指摘ミスされた音符データの音高(1)と算出された小節数とを先生Tが生徒に教えるコメント、例えば図21に図示するように、「5小節目のドの音もまちがっていたね。」なるコメントを有するコメント(2)B画面を表示部7に一定時間表示する。この後、ステップSJ11に進み、アドレスポインタADDを消去してステップSJ6に処理を戻す。そして、RAM3のバッファエリアに格納されるアドレスポインタADDが全て消去され、指摘されていない間違いが無くなると、ステップSJ6の判断結果が「NO」となり、本処理を完了させる。
以上のように、第2の実施形態では、生徒の演奏ミスに対しキャラクタCが2回に1回あるいはランダムな頻度で間違えを指摘するよう反応し、キャラクタCが間違えを指摘できなかった箇所については仮想的な先生Tが該当箇所の音符を生徒に教示するため、ゲーム的な面白みを創出でき、より一層楽しく飽きずに一人で練習できるようになっている。
第1の実施形態の構成を示すブロック図である。 RAM3に格納される曲データの構成を示すメモリマップである。 メインルーチンの動作を示すフローチャートである。 曲選択処理の動作を示すフローチャートである。 レッスン処理の動作を示すフローチャートである。 生徒レッスン処理の動作を示すフローチャートである。 生徒レッスン処理の動作を示すフローチャートである。 ガイド画面GGの一例を示す図である。 ROM2のデータエリアに記憶される反応データの一例を示す図である。 キャラ画面CHGの一例を示す図である。 コメント(1)処理の動作を示すフローチャートである。 ROM2のデータエリアに記憶されるコメントデータの一例を示す図である。 先生画面TGの一例を示す図である。 キャラレッスン処理の動作を示すフローチャートである。 キャラレッスン処理の動作を示すフローチャートである。 キャラレッスン処理の動作を示すフローチャートである。 キャラ画面Bの一例を示す図である。 キャラ画面Cの一例を示す図である。 コメント(2)処理の動作を示すフローチャートである。 コメント(2)A画面の一例を示す図である。 コメント(2)B画面の一例を示す図である。 第2の実施形態によるメインルーチンの動作を示すフローチャートである。 ROM2のデータエリアに記憶される性能データCPの一例を示す図である。 第2の実施形態によるキャラ設定処理の動作を示すフローチャートである。 第2の実施形態による生徒レッスン処理の動作を示すフローチャートである。 第2の実施形態によるコメント(1)処理の動作を示すフローチャートである。
符号の説明
1 CPU
2 ROM
3 RAM
4 MIDIインタフェース
5 マウス
6 キーボード
7 表示部
10 DTM装置
20 電子楽器

Claims (6)

  1. 曲データに従って曲を構成する各音の音高を順番に案内する案内手段と、
    前記案内手段の案内に従って生徒が音高指定する操作を練習する際に、案内された音高とは異なる音高を指定する操作が行われた場合、その異なる音高を案内された音高に対応させて記憶する記憶手段と、
    前記案内手段の案内に従って生徒が音高指定する操作を練習する際に、案内された音高とは異なる音高を指定する操作が行われた場合、その間違いを仮想的な練習相手から生徒に教示する教示手段と、
    前記案内手段の案内に従って仮想的な練習相手が発音指示する際に、案内された音高に対応した異なる音高が前記記憶手段に記憶されている場合、その異なる音高を発音させて、生徒と同じミスをする仮想的な練習相手の間違いを生徒に指摘させる指摘手段と
    を具備することを特徴とする音楽教習装置。
  2. 曲データに従って曲を構成する各音の音高を順番に案内する案内手段と、
    前記案内手段の案内に従って生徒が音高指定する操作を練習する際に、案内された音高とは異なる音高を指定する操作が行われる毎に間違い回数を計数する計数手段と、
    前記計数手段によって計数された間違い回数に応じた内容のコメントを発生して仮想的な練習相手から生徒に教示する教示手段と、
    前記計数手段によって計数された間違い回数に応じた内容の助言を発生して仮想的な先生から生徒に与える助言手段と、
    前記案内手段の案内に従って仮想的な練習相手が発音指示する際に、案内された音高とは異なる音高を発音して、その間違いを生徒に指摘させる指摘手段と、
    前記指摘手段が全ての間違いを指摘していない場合、曲データ中から検索した間違い指摘されていない音を仮想的な先生から生徒に通知する通知手段と
    を具備することを特徴とする音楽教習装置。
  3. 曲データに従って曲を構成する各音の音高を順番に案内する案内手段と、
    生徒の間違いに仮想的な練習相手が反応する頻度を設定する設定手段と、
    前記案内手段の案内に従って生徒が音高指定する操作を練習する際に、案内された音高とは異なる音高を指定する操作が行われた場合、前記設定手段により設定される頻度に応じて反応した間違いを仮想的な練習相手から生徒に教示する教示手段と、
    前記教示手段が反応していない間違い箇所の音を曲データ中から検索して仮想的な先生から生徒に提示する提示手段と、
    前記案内手段の案内に従って仮想的な練習相手が発音指示する際に、案内された音高とは異なる音高を発音させて、その間違いを生徒に指摘させる指摘手段と
    を具備することを特徴とする音楽教習装置。
  4. 曲データに従って曲を構成する各音の音高を順番に案内する案内処理と、
    前記案内処理の案内に従って生徒が音高指定する操作を練習する際に、案内された音高とは異なる音高を指定する操作が行われた場合、その異なる音高を案内された音高に対応させて記憶する記憶処理と、
    前記案内処理の案内に従って生徒が音高指定する操作を練習する際に、案内された音高とは異なる音高を指定する操作が行われた場合、その間違いを仮想的な練習相手から生徒に教示する教示処理と、
    前記案内処理の案内に従って仮想的な練習相手が発音指示する際に、案内された音高に対応した異なる音高が前記記憶処理にて記憶されている場合、その異なる音高を発音させて、生徒と同じミスをする仮想的な練習相手の間違いを生徒に指摘させる指摘処理と
    をコンピュータで実行させることを特徴とする音楽教習プログラム。
  5. 曲データに従って曲を構成する各音の音高を順番に案内する案内処理と、
    前記案内処理の案内に従って生徒が音高指定する操作を練習する際に、案内された音高とは異なる音高を指定する操作が行われる毎に間違い回数を計数する計数処理と、
    前記計数処理によって計数された間違い回数に応じた内容のコメントを発生して仮想的な練習相手から生徒に教示する教示処理と、
    前記計数処理によって計数された間違い回数に応じた内容の助言を発生して仮想的な先生から生徒に与える助言処理と、
    前記案内処理の案内に従って仮想的な練習相手が発音指示する際に、案内された音高とは異なる音高を発音して、その間違いを生徒に指摘させる指摘処理と、
    前記指摘処理が全ての間違いを指摘していない場合、曲データ中から検索した間違い指摘されていない音を仮想的な先生から生徒に通知する通知処理と
    をコンピュータで実行させることを特徴とする音楽教習プログラム。
  6. 曲データに従って曲を構成する各音の音高を順番に案内する案内処理と、
    生徒の間違いに仮想的な練習相手が反応する頻度を設定する設定処理と、
    前記案内処理の案内に従って生徒が音高指定する操作を練習する際に、案内された音高とは異なる音高を指定する操作が行われた場合、前記設定処理にて設定される頻度に応じて反応した間違いを仮想的な練習相手から生徒に教示する教示処理と、
    前記教示処理が反応していない間違い箇所の音を曲データ中から検索して仮想的な先生から生徒に提示する提示処理と、
    前記案内処理の案内に従って仮想的な練習相手が発音指示する際に、案内された音高とは異なる音高を発音させて、その間違いを生徒に指摘させる指摘処理と
    をコンピュータで実行させることを特徴とする音楽教習プログラム。
JP2003301398A 2003-08-26 2003-08-26 音楽教習装置および音楽教習プログラム Expired - Fee Related JP4482855B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003301398A JP4482855B2 (ja) 2003-08-26 2003-08-26 音楽教習装置および音楽教習プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003301398A JP4482855B2 (ja) 2003-08-26 2003-08-26 音楽教習装置および音楽教習プログラム

Publications (2)

Publication Number Publication Date
JP2005070521A JP2005070521A (ja) 2005-03-17
JP4482855B2 true JP4482855B2 (ja) 2010-06-16

Family

ID=34406034

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003301398A Expired - Fee Related JP4482855B2 (ja) 2003-08-26 2003-08-26 音楽教習装置および音楽教習プログラム

Country Status (1)

Country Link
JP (1) JP4482855B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013148773A (ja) * 2012-01-20 2013-08-01 Casio Comput Co Ltd 演奏教習装置及びそのプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013148773A (ja) * 2012-01-20 2013-08-01 Casio Comput Co Ltd 演奏教習装置及びそのプログラム

Also Published As

Publication number Publication date
JP2005070521A (ja) 2005-03-17

Similar Documents

Publication Publication Date Title
JP3058051B2 (ja) 音楽的アミューズメントシステム
US20040137984A1 (en) Interactive gamepad device and game providing means of learning musical pieces and songs
JP4543475B2 (ja) 演奏練習装置および運指練習装置
JP4482855B2 (ja) 音楽教習装置および音楽教習プログラム
JP5398949B2 (ja) キー入力練習装置及びキー入力練習用コンピュータプログラム
JP4798301B2 (ja) 鍵盤楽器
JP4221567B2 (ja) 演奏練習装置、演奏練習方法および演奏練習プログラム
JPH03184076A (ja) 演奏ナビゲート装置
JP2000298477A (ja) 演奏練習補助装置及び演奏練習補助方法
JP3761907B2 (ja) 自動作曲装置
JP2000352973A (ja) 演奏案内装置
JP2004287457A (ja) 音楽教習システム、音楽教習方法、及び同方法を実現するためのプログラムを記録した記録媒体
KR19990022582U (ko) 댄스교습기능을갖는컴퓨터가요반주기
JP7107720B2 (ja) 運指表示プログラム
JP4758459B2 (ja) ゲーム装置、ゲーム装置の制御方法およびプログラム
JP3824875B2 (ja) 知育玩具
JP4069891B2 (ja) 音楽的アミューズメントシステム
JP2011039248A (ja) 携帯型音出力装置、コンピュータプログラムおよび記録媒体
JP4069889B2 (ja) 音楽的アミューズメントシステム
JP2009222763A (ja) 電子音楽装置及び演奏ガイド処理プログラム
JPH02705B2 (ja)
JP2002073014A (ja) 演奏用楽譜
JP2000298426A (ja) 演奏案内装置及び演奏案内方法
JP6471890B2 (ja) 音楽教習装置
JP2004205906A (ja) 演奏練習装置および演奏練習プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060426

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090318

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090326

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: 20100226

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: 20100311

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130402

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130402

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140402

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees