Movatterモバイル変換


[0]ホーム

URL:


JP2004184757A - Learning result display device and program - Google Patents

Learning result display device and program
Download PDF

Info

Publication number
JP2004184757A
JP2004184757AJP2002352631AJP2002352631AJP2004184757AJP 2004184757 AJP2004184757 AJP 2004184757AJP 2002352631 AJP2002352631 AJP 2002352631AJP 2002352631 AJP2002352631 AJP 2002352631AJP 2004184757 AJP2004184757 AJP 2004184757A
Authority
JP
Japan
Prior art keywords
learning
data
result
lesson
value
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
JP2002352631A
Other languages
Japanese (ja)
Other versions
JP3988633B2 (en
Inventor
Junichiro Soejima
淳一郎 副島
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 LtdfiledCriticalCasio Computer Co Ltd
Priority to JP2002352631ApriorityCriticalpatent/JP3988633B2/en
Publication of JP2004184757ApublicationCriticalpatent/JP2004184757A/en
Application grantedgrantedCritical
Publication of JP3988633B2publicationCriticalpatent/JP3988633B2/en
Anticipated expirationlegal-statusCritical
Expired - Fee Relatedlegal-statusCriticalCurrent

Links

Images

Landscapes

Abstract

Translated fromJapanese

【課題】ユーザーが行った学習のレベルの推移を視覚的に提示できる学習結果表示装置を提供する。
【解決手段】レッスンを行った結果を示すデータとして、レッスンを行った日付、レッスンの対象となった小節の範囲、レッスンの対象となったパート、テンポ、レッスン中に発音を指示すべき楽音の数、それを指示するタイミングが適切な範囲から若干ずれていた楽音の数、発音を指示できなかった楽音の数、及びレッスンした演奏の習得度合を示すクリアレベルなどを各レッスン毎に保存しておき、それをユーザーの要求により各レッスン毎に表示させる。
【選択図】 図2
A learning result display device capable of visually presenting a transition of a level of learning performed by a user is provided.
[Solution] Data indicating the result of the lesson include the date of the lesson, the range of the measure targeted by the lesson, the part targeted by the lesson, the tempo, and the tone to be instructed during the lesson. Save the number, the number of tones whose instruction timing is slightly out of the appropriate range, the number of tones that could not be instructed to pronounce, and the clear level indicating the degree of mastery of the lesson performance for each lesson. And display it for each lesson at the request of the user.
[Selection] Fig. 2

Description

Translated fromJapanese

【0001】
【発明の属する技術分野】
本発明は、学習用装置に備えられた1つ以上の操作子(例えばキーボード上のキーや鍵盤上の鍵、等)に対し、予め定められた順序で操作していく学習をユーザーが行った結果を表示させるための技術に関する。
【0002】
【従来の技術】
例えばピアノや電子キーボードなどの鍵盤楽器では、押鍵すべき鍵を順次、押鍵していくことで演奏が行われる。しかし、演奏技術が未熟な演奏者(ユーザー)にとって、自身が行った演奏のレベルを適切に把握することは必ずしも容易でないのが実情である。このことから、そのレベルをユーザーが適切に把握できるように、演奏結果をデータとして表示させる演奏結果表示装置が製品化されている。
【0003】
その演奏結果表示装置は、曲の手本とすべき演奏内容を示すデータ(以降、「模範演奏データ」と呼ぶ)を参照して、ユーザーが演奏中に発音を指示した楽音毎に、それが発音させるべきタイミングで発音が指示されているか否か確認し、その確認結果を基に演奏結果を表示させるようになっている。その内容とは、例えば発音させるべき音高の楽音を発音させるべきタイミングでユーザーが発音を指示した数、そのように楽音の発音を指示できなかった数、等である。
【0004】
そのような内容を表示させるためには、当然のことながら、ユーザーが行った演奏の内容を示すデータ(以降、「演奏内容データ」と呼ぶ)が必要である。その演奏を行うためには楽器が必要である。このようなことから、演奏結果表示装置の多くは、楽器に搭載された形で製品化されている。
【0005】
【特許文献1】
実願平2−91089(実開平4−48553号)のマイクロフィルム
【特許文献2】
特開平5−289605号公報
【特許文献3】
特開平5−313561号公報
【0006】
【発明が解決しようとする課題】
従来の演奏結果表示装置は、例えば実際の演奏に先立ってその結果の表示を指示させるなどして、ユーザーが指定した演奏のみを対象にその結果を表示させるようになっていた。しかし、演奏は繰り返し練習するのが普通である。このため、ユーザーにとっては、演奏の練習を重ねていくなかでその演奏レベルがどのように推移しているのか分かりにくいという問題点があった。
【0007】
練習を繰り返すことにより、演奏レベルは向上するのが普通である。そのレベルが向上していく様子を視覚的に提示することは、練習の成果をユーザーに確認させることになることから、ユーザーにとっては励みになると考えられる。ユーザーが練習熱心なほど、その傾向があると考えられる。このようなことから、演奏レベルの推移を視覚的に提示することは大きな意味があると言える。このことは、演奏以外の学習結果の内容を提示する他の学習結果表示装置においても同様であると考えられる。
【0008】
本発明の課題は、ユーザーが行った学習のレベルの推移を視覚的に提示できる学習結果表示装置を提供することにある。
【0009】
【課題を解決するための手段】
本発明の学習結果表示装置は、学習用装置に備えられた1つ以上の操作子に対し、予め定められた順序で操作していく学習をユーザーが行った結果を表示させる装置であって、ユーザーが行った学習の内容を示す学習内容データを取得する学習内容取得手段と、学習の手本とすべき内容を示す模範学習データを学習内容取得手段が取得した学習内容データと比較して、ユーザーの学習結果を示す結果データを生成するデータ生成手段と、データ生成手段が生成した結果データのなかで表示の対象とする結果データを予め定めた規則に従って選択し、該選択した結果データを表示装置上に表示させることができる学習結果表示手段と、を具備する。
【0010】
なお、学習すべき内容全体が複数の部分に分けられて、該部分単位で学習範囲が選択される場合に、学習結果表示手段は、該学習範囲と対応付けて結果データを表示させる、ことが望ましい。また、データ生成手段は、結果データとして、学習を行ったユーザーの該学習における習得度合を示すデータを生成でき、学習結果表示手段は、データ生成手段がデータを生成した習得度合を表示させることができる、ことが望ましい。或いは、データ生成手段は、習得度合を基に、学習を行うユーザーの習得度合の今後における推移を予測し、学習結果表示手段は、データ生成手段が予測した習得度合の今後の推移を表示させることができる、ことが望ましい。
【0011】
また、学習が学習用装置として楽器を使用する曲の演奏であった場合、データ生成手段は、模範学習データを学習内容データと比較して、該楽器上の操作子への操作によりユーザーが発音を指示した楽音のなかで、該操作のタイミングで放音させるべき楽音の音高と所定の範囲内で異なっている楽音の数を計数し、学習結果表示手段は、データ生成手段が計数した楽音の数を表示させることができる、ことが望ましい。
【0012】
本発明のプログラムは、学習用装置に備えられた1つ以上の操作子に対し、予め定められた順序で操作していく学習をユーザーが行った結果を表示させる装置に実行させることを前提とし、ユーザーが行った学習の内容を示す学習内容データを取得する機能と、学習の手本とすべき内容を示す模範学習データを取得する機能により取得した学習内容データと比較して、ユーザーの学習結果を示す結果データを生成する機能と、生成する機能により生成した結果データのなかで表示の対象とする結果データを予め定めた規則に従って選択し、該選択した結果データを表示装置上に表示させることができる機能と、を実現させる。
【0013】
本発明では、ユーザーが行った学習の内容を示す学習内容データを、学習の手本とすべき内容を示す模範学習データと比較して生成される、ユーザーの学習結果を示す結果データを予め定めた規則に従って選択し、選択した結果データを表示装置上に表示させる。
【0014】
複数の学習結果を表示させた場合、ユーザーは自分が過去に行った学習の結果がどのようなものであり、それがどのように推移していったか容易に把握することが可能となる。それにより、ユーザーが行った学習のレベルの推移を視覚的に提示することとなる。
【0015】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態につき詳細に説明する。
<第1の実施の形態>
図1は、第1の実施の形態による学習結果表示装置を搭載した電子楽器の構成図である。
【0016】
その電子楽器は、図1に示すように、楽器全体の制御を行うCPU101と、そのCPU101が実行するプログラムや各種データ等を格納したROM102と、CPU101がワーク用に使用するRAM103と、各種スイッチを有するスイッチ部104と、演奏操作の対象となる鍵盤105と、例えば不図示のLCDや複数のLED等を備えた表示部106と、CPU101の指示に従って、発音させる楽音の波形データを生成する音源107と、その音源107が生成した波形データをサウンドとして出力するサウンドシステム108と、を備えて構成される。それにより、本実施の形態による学習結果表示装置は、ユーザーが鍵盤105を操作して行った演奏を対象に、その結果を表示部106に表示させるものとして実現されている。
【0017】
上記スイッチ部104は、例えば各種のスイッチやボタンなどの操作子と、それらの操作子への操作を検出する検出用回路と、から構成されている。その操作子としては、モード選択用のモードスイッチ、自動演奏、或いは練習の対象とする曲を選択するためのソングスイッチ、自動演奏、或いは練習の開始、若しくはその終了を指示するためのスタート/ストップスイッチ、テンキー、演奏結果の表示を指示するための結果表示スイッチ、及びその表示形態を選択するための複数の選択スイッチなどがある。自動演奏、或いは練習の対象とする曲は、ソングスイッチを操作した後、所望の曲に割り当てられた番号(曲番号)をテンキーにより指定することで行うようになっている。スタート/ストップスイッチを操作することで行われるのが自動演奏か練習であるのかの切り換えは、モードスイッチにより行うようになっている。
【0018】
以上の構成において、その動作を説明する。
不図示の電源がオンされると、CPU101はROM102に格納されたプログラムを読み出して実行することにより、楽器全体の制御を開始する。その後は、RAM103を作業用に使用しながら、スイッチ群104や鍵盤105からそれぞれ受け取る操作子の状態を表す信号に応じた各部の制御を行う。なお、スイッチ群104を構成する検出用回路は、各スイッチの状態(操作の有無を含む)を例えば走査することで検出し、その検出結果からCPU101に送出する信号を生成する。これは鍵盤105(を構成する検出用回路)でも同様である。
【0019】
CPU101は、鍵盤105から各鍵の状態を表す信号を受け取ると、前回に検出されたその状態と比較することにより、状態が変化した鍵を特定する。そのような鍵を特定できた場合には、その特定した鍵とそれの状態の変化に応じて音源107に送出すべきコマンドを生成し、それを送出する。
【0020】
音源107は、そのコマンドに従い、楽音の波形データを生成してサウンドシステム108に送出する。サウンドシステム108は、例えばその波形データをアナログのオーディオ信号に変換し、それによって得られたオーディオ信号を増幅し、増幅後のオーディオ信号をスピーカに入力して楽音を放音する。それにより、ユーザー(演奏者)が鍵盤105を操作すると、その操作内容に応じた楽音が放音される。
【0021】
一方、CPU101は、スイッチ群104を構成する各スイッチの状態の変化に応じて、その状態が変化したスイッチに割り当てた機能を実現させるための処理を行う。その処理を行うことにより、練習の対象とする曲の設定を含む各種の設定や、その練習結果の表示などが実現される。その練習は、上記スタート/ストップスイッチへの操作に応答して開始したと見なし、それが終了するか、或いはそのスイッチを再度、操作するまで練習中であると見なすようにしている。
【0022】
本実施の形態では、演奏の練習(レッスン)は、曲の構成全体を複数の部分に分けることにより、その部分単位で選択された演奏範囲を対象に行えるようにしている。構成全体は、小節、及びパートで分けている。パートは、演奏に使う手によって分けている(このことから、右手で演奏するパートを「右手パート」、左手で演奏するパートを「左手パート」と呼ぶ)。押鍵していく鍵をユーザーに教示する演奏ガイドは、そのレッスンの際に必ず行わせるべきものというわけではないので、ここでは特には言及しないこととする。
【0023】
上記演奏範囲は、予め固定的に定め、その定めた演奏範囲はユーザーの習得度合に応じて選択可能な範囲を限定している。つまり、曲全体の演奏は、カリキュラムに沿って、習得度合に応じて演奏範囲を変更させていくことにより練習できるようになっている。以降、練習範囲については「レッスンエリア」、そのレッスンエリアの練習(レッスン)に対応付けられた番号は「レッスン番号」、ユーザーの習得度合については「クリアレベル」とそれぞれ呼ぶことにする。
【0024】
レッスンエリアによってレッスンの対象となる部分、つまり小節やパートが異なる。クリアレベルは、ユーザーが或るレッスンエリアのレッスンを行った結果を判断するうえで指標となる情報であると言える。このことから、クリアレベルはレッスンエリアやレッスン番号との関係が容易に把握できるように、それらの何れかとのみ対応付けて表示させられるようにしている。また、レッスン結果をより詳細に検討できるように、その結果を検討するうえで有用なデータを併せて表示できるようにしている。
【0025】
そのようにして、本実施の形態では、保存された演奏結果内容は3つの表示形態で表示させられるようになっている。それにより、ユーザーに、3つの表示形態のなかから所望のものを選択させ、その選択結果に応じて図2〜図4に示す画面の何れかを表示させるようになっている。所望の表示形態での表示は、例えば3つの選択スイッチのなかから所望の表示形態が割り当てられたものを操作した後、結果表示スイッチを操作することで行われる。
【0026】
レッスンの結果は、ユーザーが行ったレッスンの内容を、そのレッスンで行うべき手本となる内容を示す曲データと比較することにより求める。その曲データは、例えばスタンダードMIDIファイル(SMF)の形でROM102に格納されている。その比較をカリキュラムに沿って行うために、本実施の形態では図5に示す楽曲情報を曲データとは別に例えばROM102に用意している。
【0027】
その楽曲情報は、図5に示すように、曲全体に係わる全曲データと、カリキュラムを構成する1レッスンに係わる複数のカリキュラムデータと、から構成されている。全曲データは一次元の配列変数song_info として、各カリキュラムデータは2次元の配列変数cur_infoとして扱われる。
【0028】
配列変数song_info の括弧内の添え字が0で指定される要素には、図5中「SongID」と表記の曲を一意に識別するための曲番号が格納されている。以降、同様に、添え字が1で指定される要素には「AllMeas」と表記の全小節数、添え字が2で指定される要素には「SongName」と表記の曲名、添え字が3で指定される要素には「OrgTempo」と表記の基準となるテンポ値、添え字が4で指定される要素には「NoteCountR」と表記の右手パートでの全楽音数、添え字が5で指定される要素には「NoteCountL」と表記の左手パートでの全楽音数、がそれぞれ格納されている。
【0029】
他方の配列変数cur_infoのそれに続く側の添え字(以降、便宜的に「第1添え字」と呼ぶ)は、カリキュラムデータの指定に用いられ、それとは別の添え字(以降、便宜的に「第2添え字」と呼ぶ)はカリキュラムデータを構成するデータの指定に用いられる。そのような添え字の呼び方は他の配列変数でも同様に用いることとする。つまり、変数名に最も近い添え字を「第1添え字」と呼び、その変数名から離れるに従って、「第2添え字」「第3添え字」などと呼ぶことにする。
【0030】
第2添え字が0で指定される要素には図中「AreaID」と表記のレッスン番号が格納される。以降、同様に、第2添え字が1で指定される要素には「StartMeas」と表記のレッスンを開始する小節の番号、第2添え字が2で指定される要素には「EndMeas」と表記のレッスンを終了する小節の番号、第2添え字が3で指定される要素には「CurHand」と表記のレッスンの対象となるパートを示すデータ、第2添え字が4で指定される要素には「NoteCountR」と表記の右手パートの楽音数、第2添え字が5で指定される要素には「NoteCountL」と表記の左手パートの楽音数、がそれぞれ格納されている。なお、特には図示していないが、カリキュラムデータには、曲データ中のレッスンに対応する部分を特定できるように、例えばその部分の先頭と最後のそれぞれの位置を示すデータが含まれている。
【0031】
各表示形態では、図2〜図4に示すように、最後のレッスン結果だけでなく、過去のレッスン結果も表示させるようにしている。図1に示す練習履歴データベース(DB)110は、レッスン結果を示す練習データの保存用にRAM102に構築されている。その練習データを保存しておくために、RAM102は不図示のバッテリによって不揮発性化されている。
【0032】
最後に行ったレッスンの結果の他に、それ以外のレッスン結果を併せて表示させると、ユーザーは自分が過去にどのようなレッスンを行い、その結果がどのようなものであったかということと共に、その結果がどのように推移していったかということまで容易に把握できるようになる。それまでに自身が行ったレッスン(学習)のレベルの推移を容易に把握できるようになる。そのことは、特に練習熱心なユーザーでは、レッスンを繰り返し行ったことに伴う自身のレベル向上を客観的にも(実感以外にも)確かめられるということを意味する。
【0033】
レッスンを行うのは、通常、レベルを向上させることが最大の目標であり、その向上を客観的に把握することは、ユーザーが行ったレッスンが有意義であったことを客観的に確認することにあたる。その有意義なレッスンを行ったことの結果を客観的に確認できるということは、ユーザーにとって具体的な目標を持てるということを意味する。具体的な目標は、レッスンを行ううえでの励みとなる。このようなことから、レッスン(学習)のレベルの推移を容易に把握できるようにすることにより、ユーザーにとってはレッスンに励める環境が提供されることとなる。
【0034】
図2に示す演奏履歴画面は、レッスン結果検討用のデータをレッスン別に配置した画面である。そのデータとしては、レッスンを行った日付、レッスンの対象となった小節の範囲(レッスンを開始した小節とそれを終了した小節の各番号で表現)、レッスン番号、レッスンの対象となったパート、テンポ、レッスン中に発音を指示すべき楽音(音符)の数、及びその結果を示すデータが配置されている。以降、その結果を示すデータは「結果データ」、それ以外のデータは「状況データ」と呼ぶことにする。
【0035】
上記結果データは、「○」「×」「←→」「ミスタッチ」及び「クリアレベル」が配置された欄にそれぞれ対応する数値で表現している。「○」が配置された欄で表現する数値は、レッスン中に発音させるべき楽音のなかでそれを発音させるべきタイミングで発音を指示できた楽音(そのような楽音を便宜的に以降「適正楽音」と呼ぶ)の数を示している。「←→」が配置された欄で表現する数値は、発音させるべき楽音の発音の指示が発音させるべきタイミングからずれている楽音(タイミングミスタッチの楽音)の数を示している。「×」が配置された欄で表現する数値は、それら以外の楽音の数、即ち明らかに発音させるべきタイミングで発音を指示できなかった楽音(未発音楽音)の数を示している。「ミスタッチ」が配置された欄で表現する数値は、明らかに発音させるべきでないタイミングで発音が指示された楽音の数を示している。クリアレベルは、0〜100の間の数値で表現している。
【0036】
タイミングミスタッチとは、押鍵すべき鍵を押鍵したタイミングが押鍵すべきタイミングと一致していると見なせる範囲内では一致していないが、押鍵すべきでない鍵を明らかに押鍵したと認識されるほどその押鍵のタイミングがずれていないような操作のことである。このため、明らかに押鍵すべきでない鍵の押鍵であるミスタッチや、明らかに押鍵すべき鍵を押鍵しなかったことなどと比較して、ミスの度合は小さいと言える。度合がより大きいミスほど、演奏の内容を大きく低下させるのが普通である。タイミングミスタッチを別にカウントするのは、そのようにミスの度合によって演奏の内容に影響を及ぼす程度に差があるためである。言い換えれば、それらミスタッチの数を別にカウントすることにより、そのカウント結果からレッスンの内容をより具体的に把握できるようになるためである。
【0037】
図3に示すレッスン別履歴画面は、ユーザーが行ったレッスン別に、その番号とそのクリアレベルの対応関係を容易に把握できるように履歴を表示させる画面である。図中、グリッド状に枠(セル)が配置されたエリア(以降、「グリッドエリア」と呼ぶ)の上方に位置する「L1」はレッスン番号が1であることを表し(他も同様)、そのエリアの左側にはレッスンが行われた日付が配置されている。レッスンが行われた日付、その番号は、それらに対応する位置の枠内にクリアレベルを示す数値を配置することで表現している。本実施の形態では、数値を配置した枠内の表示色は、その数値に応じて変化させている。
【0038】
図4に示す小節別履歴画面は、ユーザーがレッスンを行った小節別に、その小節の番号とそのクリアレベルの対応関係を容易に把握できるように履歴を表示させる画面である。図中、グリッド状に枠が配置されたエリア(以降、同様に「グリッドエリア」と呼ぶ)の上方に位置する「M1」は小節番号が1であることを表し(他も同様)、そのエリアの左側にはレッスンが行われた日付が同様に配置されている。レッスンが行われた日付、その小節の番号は、それらに対応する位置の枠内にクリアレベルを示す数値を配置し、その枠内の表示色をその数値に応じて変化させることで表現している。
【0039】
図2〜図4に示す画面の表示は、特に詳細な説明は省略するが、例えばRAM103に確保した領域を用いて、画面を構成する要素の画像データを予め定めた順序で上書きしつつ配置して1画面分の画像データを生成し、その生成した1画面分の画像データを表示部106に送出することで行われる。部分的な表示内容の変更は、その内容を変更する部分を対象に変更後の画像データを生成し、その生成した画像データを表示部106に送出して上書きさせることで行われる。
【0040】
次に、図2〜図4に示す各種画面を表示部106に表示させるために管理するデータについて、図6〜図8を参照して詳細に説明する。
図6は、練習履歴DB110の構成を説明する図である。
そのDB110は、図6に示すように、2次元の配列変数practice_db として扱っている。第1添え字は、レッスンの結果を示す練習データの指定に用いられ、第2添え字は、その練習データを構成するデータの指定に用いられる。その添え字が0で指定される要素には、図中「practiceID」と表記の練習データに割り当てた一意に識別するための番号(以降、「履歴番号」と呼ぶ)が格納される。それ以外には、以下のようなデータが各要素に格納される。
【0041】
添え字が1〜4で指定される各要素には、図5に示す楽曲情報中から抽出したデータが格納される。添え字が5で指定される要素には「NoteCount」と表記のレッスンエリア内の楽音数、添え字が6で指定される要素には「Date」と表記のレッスン日時、添え字が7で指定される要素には「LStyle」と表記のレッスン方法を示すデータ、添え字が8で指定される要素には「LArea」と表記のレッスン番号、添え字が9で指定される要素には「LHand」と表記のレッスンの対象となったパートを示すデータ、添え字が10で指定される要素には「LTempo」と表記のレッスン時に設定されたテンポの値、添え字が11で指定される要素には「RsltOkey」と表記の適正楽音(発音させるべきタイミングで発音を指示した発音させるべき楽音)数、添え字が12で指定される要素には「RsltNG」と表記の発音させるべき楽音のなかで発音を指示できなかった楽音数、添え字が13で指定される要素には「RsltMissTouch」と表記の発音を指示した発音させるべきでない楽音数、添え字が14で指定される要素には「RsltTiming」と表記の発音を指示したタイミングが適切なタイミングから僅かにずれていた楽音数、及び添え字が15で指定される要素には「RsltClearLevel」と表記のクリアレベル、がそれそれ格納される。11〜15の添え字で指定される要素に格納されるのが結果データであり、それ以外の添え字、即ち0〜10の添え字で指定される要素に格納されるのが状況データである。
【0042】
本実施の形態では、図3、及び図4に示すように、グリッド状に枠(セル)を配置し、クリアレベルを配置する枠をユーザーが行ったレッスンに応じて決定することにより、その結果を複数、履歴という形で提示できるようになっている。そのような履歴の提示のために、図7に示す履歴表示用データ、及び図8に示す表示色設定用データを用意している。
【0043】
上記履歴表示用データは、枠をグリッド状に配置するためのものであり、3次元の配列変数dispGridとして扱っている。その第1、及び第2添え字は、それぞれグリッドを構成する行、列の指定用である。第3添え字は、第1、及び第2添え字によって指定される枠の表示に係わるデータの指定用である。そのデータとしては、以下のようなものを必要に応じて格納するようにしている。
【0044】
その添え字が0で指定される要素には、図7中「ColumnID」と表記の列番号が格納される。以降、同様に、添え字が1で指定される要素には「dispText」と表記の表示文字列、添え字が2で指定される要素には「posX」と表記の枠の横(X)座標値、添え字が3で指定される要素には「posY」と表記の枠の縦(Y)座標値、添え字が4で指定される要素には「SX」と表記の枠の横幅(X軸上の幅)、添え字が5で指定される要素には「SY」と表記の枠の縦幅(Y軸上の幅)、添え字が6で指定される要素には「bgColor」と表記の枠内の表示(背景)色を示す値、添え字が7で指定される要素には「Textcolor」と表記の表示文字列の表示色を示す値、添え字が8で指定される要素には「Linecolor」と表記のラインの表示色を示す値、がそれぞれ格納される。1、8の添え字で指定される要素には、必要に応じて値が格納される。
【0045】
図8に示す表示色設定用データは、クリアレベル別に枠内の表示色を変化させるためのものであり、2次元の配列変数dispColor として扱っている。その第1添え字は、クリアレベルに応じた枠内の表示色に係わるデータである表示色データ指定用であり、第2添え字は、表示色データを構成するデータの指定用である。その表示色データを構成するデータとしては、以下のようなものがある。
【0046】
第2添え字が0で指定される要素には、図8中「ScoreFrom」と表記の表示色データが対応するクリアレベルの最小値が格納される。以下、同様に、添え字が1で指定される要素には「ScoreTo」と表記のそのクリアレベルの最大値、添え字が2で指定される要素には「bgColor」と表記の枠内の表示(背景)色を示す値、添え字が3で指定される要素には「TextColor」と表記の文字列の表示色を示す値、添え字が4で指定される要素には「LineColor」と表記のラインの表示色を示す値、がそれぞれ格納される。図7に示す履歴表示用データの第3添え字が6〜8で指定される要素には、クリアレベルに応じて表示色データ中から抽出された値が代入される。
【0047】
次に、上述したような各種データを用いてレッスン結果を表示させるCPU101の動作について、図9〜図13に示す各種フローチャートを参照して詳細に説明する。
図9は、CPU101が実行するイベント処理のフローチャートである。レッスン、及びその結果の表示にのみ着目して、それらをユーザーが指示することで行われる処理の流れを示したものである。始めに、図9を参照して、そのイベント処理について詳細に説明する。そのイベント処理は、ROM102に格納されたプログラムをCPU101が実行することで実現される。
【0048】
先ず、ステップ901では、イベントが発生するのを待つ。ここで発生を待つイベントとは、レッスンの開始、或いはレッスン結果の表示を指示するための操作子への操作である。レッスンは、モードスイッチがレッスン有効側になっている状態でスタート/ストップスイッチを操作することにより、レッスン結果の表示は、表示形態を選択した後、結果表示スイッチを操作することにより行われるようになっている。このことから、そのような状態でスタート/ストップスイッチ、或いは表示スイッチをユーザーが操作した場合に、ステップ901からステップ902に移行する。なお、レッスン番号は、レッスンを行う曲を選択した状態で所定のスイッチを操作した後にテンキーを操作して入力するようになっている。デフォルトは、前回、行ったレッスンの番号である。
【0049】
ステップ902では、発生したイベントがレッスンの開始を指示するものか否か判定する。ユーザーがスタート/ストップスイッチを操作していた場合、レッスンの開始を指示するイベントが発生したとして、判定はTrueとなり、ステップ903に移行する。そうでない場合には、判定はFalseとなってステップ907に移行する。
【0050】
ステップ903では、レッスン(ユーザーによる演奏)が終了したか否か判定する。ユーザーがスタート/ストップスイッチを操作してからレッスンに必要な時間が経過するか、或いはそのスイッチをユーザーが再度、操作してその終了を指示した場合、レッスンは終了したとして判定はTrueとなり、ステップ905に移行する。そうでない場合には、判定はFalseとなってステップ904に移行し、ユーザーが鍵盤105を操作することで発生させたイベントの内容を保存した後、再度、ステップ903に戻る。それにより、レッスンが終了するまでの間、ユーザーによって発生したイベントの内容の保存を行う。このとき、保存するのは、例えばイベントの内容を示すイベントデータ(ここではMIDIデータ)、及びそのイベントが発生したタイミングを示す時間(タイム)データである。
【0051】
一方、ステップ905では、ユーザーが鍵盤105を操作して行った演奏内容を楽音単位で正しいか否か判定する演奏の正誤判定処理を実行する。次のステップ906では、その実行結果から、ユーザーが行ったレッスンの結果を特定し、特定した結果を練習履歴DB110に保存する練習結果の保存処理を実行する。その実行後は上記ステップ901に戻る。
【0052】
上記ステップ902の判定がFalseとなって移行するステップ907では、履歴の表示を指示する履歴表示コマンドの入力にあたる結果表示スイッチをユーザーが操作したか否か判定する。そのスイッチをユーザーが操作した場合、判定はTrueとなってステップ908に移行し、その操作の前にユーザーが選択した表示形態でレッスン結果を表示部106に表示させる演奏結果の表示処理を実行する。その後は上記ステップ901に戻る。一方、そうでない場合には、判定はFalseとなり、他のステップの処理を実行することなくそのステップ901に戻る。
【0053】
以降は、上記イベント処理内で実行されるサブルーチン処理について図10〜図13に示す各種フローチャートを参照して詳細に説明する。
図10は、上記ステップ905として実行される演奏の正誤判定処理のフローチャートである。サブルーチン処理については、始めに図10を参照して、その正誤判定処理について詳細に説明する。その判定処理は、上記ステップ904で保存したイベント内容を、ユーザーが選択した曲の曲データ(以降、「教材」とも呼ぶことにする)と比較することで行われる。
【0054】
先ず、ステップ1001では、各種変数の初期化を行う。それにより、適正楽音数の計数用の変数iOkey、ミスタッチによりユーザーが発音させた楽音数の計数用の変数iMissTouch、及びタイミングミスタッチした楽音数の計数用の変数iTimingMiss にそれぞれ0を代入する。
【0055】
各イベント内容は、MIDIデータ、及びその前に位置させた時間データの形で保存している。このことから、ステップ1001に続くステップ1002では、保存したデータのうちの一つに着目するためにポイント指定を行う。その次に移行するステップ1003では、それによって指定されたデータがMIDIデータか否か判定する。そのデータがMIDIデータだった場合、判定はTrueとなってステップ1004に移行する。そうでない場合には、判定はFalseとなってステップ1011に移行する。
【0056】
ステップ1011では、指定されたデータが存在しないか否か判定する。着目すべきデータを全て着目、つまりデータの処理が終了した場合、判定はTrueとなり、ここで一連の処理を終了する。そうでない場合には、例えば指定されたデータが時間データだったような場合には、判定はFalseとなって上記ステップ1002に戻り、次のデータのポイント指定を行う。
【0057】
ステップ1004では、それに付加された時間データ等から、指定されたMIDIデータの演奏上の位置(図中「現在地」と表記)を特定する。続くステップ1005では、特定した演奏上の位置を基準にして教材と比較する。本実施の形態では、楽音の発音開始に注目して比較を行っている。その比較を行った後にステップ1006に移行する。
【0058】
ステップ1006では、MIDIデータが示すイベントが楽音の発音開始であり、そのイベントの内容が正しいか否か判定する。特定した演奏上の位置と許容範囲内で一致する位置で教材が同じ音高の楽音の発音開始を表していたような場合、判定はTrueとなってステップ1007に移行し、変数iOkeyの値をインクリメントした後、上記ステップ1002に戻る。そうでない場合には、判定はFalseとなってステップ1008に移行する。
【0059】
ステップ1008では、MIDIデータが示すイベントが楽音の発音開始であり、タイミング的に許容範囲内では一致しない近傍な位置で教材が同じ音高の楽音の発音開始を表しているかか否か判定する。そのような楽音の発音開始を教材が表していた場合、判定はTrueとなり、次にステップ1009で変数iTimingMiss の値をインクリメントした後、上記ステップ1002に戻る。そうでない場合には、判定はFalseとなってステップ1010に移行する。
【0060】
ステップ1010では、MIDIデータが示すイベントが楽音の発音開始であった場合、その発音開始は発音させるべきでない楽音の発音を開始させるものだとして、変数iMissTouchの値をインクリメントする。その後は上記ステップ1002に戻る。
【0061】
このようにして、ユーザーが行ったレッスンの結果を示す3種類の値が計数される。次に、それら計数した値を含めたレッスン結果を示すデータを練習履歴DB110に保存するためにステップ906として実行される練習結果の保存処理について、図11に示すそのフローチャートを参照して詳細に説明する。
【0062】
先ず、ステップ1101では、上述の演奏の正誤判定処理の実行結果、及びレッスンの対象となった先頭と最後の各小節番号を取得する。正誤判定処理の実行結果は、その判定処理から各種変数iOkey、iMissTouch、及びiTimingMissが渡されることで取得され、各小節番号は、ユーザーが行ったレッスンの番号をキーに楽曲情報(図5参照)中から対応する番号(StartMeas、EndMeas)を抽出することで行われる。
【0063】
ステップ1101に続くステップ1102では、レッスン情報の取得を行う。その取得は、取得用の各種変数tmpLStyle、tmpLArea、tmpLHand、tmpLTempo、tmpNoteCountに、それぞれ、練習方法に割り当てられた番号、レッスン番号、レッスンパートを示す番号、レッスン時に設定されたテンポ値、発音させるべき全楽音数、を代入する。発音させるべき全楽音数は、楽音情報を構成するカリキュラムデータからパートに応じて抽出するか、或いは抽出した楽音数を更に加算することで取得される。レッスン情報の取得後はステップ1103に移行する。
【0064】
ステップ1104〜1106では、変数iの値を随時、インクリメントしながら、練習履歴DB110にレッスン結果を格納する場所(ここでは配列変数practice_db の要素)を探すための処理が行われる。そのDB110に格納可能なレッスン結果には限りがあることから、その場所を探し出せない場合には、レッスン結果の格納は行わないようにしている。つまり、レッスン結果を格納できるようにするには、それまでに格納されたレッスン結果の全て、或いは一部のユーザーによる消去を必要とさせている。
【0065】
ステップ1104では、変数iの値がDB110にデータの格納先として指定可能な値よりも大きいか否か判定する。変数iの値がその値より大きい場合、判定はTrueとなり、DB110に新たにレッスン結果を格納することはできないとして、ここで一連の処理を終了する。そうでない場合には、判定はFalseとなってステップ1105に移行する。
【0066】
ステップ1105では、配列変数practice_db の第1添え字が変数iの値、第2添え字が0で指定される要素practice_db [i][0]がnull、即ちその要素に値が代入されていないか否か判定する。それに値が代入されていた場合、判定はFalseとなり、次にステップ1106で変数iの値をインクリメントした後、上記ステップ1104に戻る。一方、そうでない場合には、判定はTrueとなってステップ1107に移行する。
【0067】
ステップ1107では、配列要素practice_db [i][0−14] にそれぞれ値を代入する。具体的には、要素practice_db [i][0]には変数iの値を代入する。以降、同様に、要素practice_db [i][1]には楽曲情報を構成する全曲データ中の配列要素song_info[1]の値、要素practice_db [i][2]にはステップ1101で取得した開始小節の番号、要素practice_db [i][3]には終了小節の番号、要素practice_db [i][4]には配列要素song_info[3]の値、要素practice_db [i][5]には変数tmpNoteCountの値、要素practice_db [i][6]には現在日時、要素practice_db [i][7−11] には、それぞれ変数tmpLStyle、tmpLArea、tmpLHand、tmpLTempo、及びiOkeyの各値、要素practice_db [i][12]には変数tmpNoteCountの値から変数iOkeyの値を引いた値、及び要素practice_db [i][13−14]にはそれぞれ変数iMissTouch、iTimingMissの各値が代入される。
【0068】
ステップ1107に続くステップ1108では、クリアレベルを算出し、その算出結果を配列要素practice_db[i][15] に代入する。その算出は、例えば変数iOkeyの値から変数iMissTouchの値を減算し、その減算結果に100を掛けて、更に変数tmpNoteCountの値で除算することで行うようになっている(クリアレベル=(iOkey−iMissTouch)×100/tmpNoteCount)。単位は%である。そのようにして算出したクリアレベルを保存した後、一連の処理を終了する。
【0069】
上述したようにして、ユーザーがレッスンを行う度に、その結果を示すデータが練習履歴DB110に保存される。それにより、過去に行ったレッスンの結果やその推移をユーザーが容易に把握できるようにさせている。
練習履歴DB110に保存されたレッスン結果は、図2〜図4の何れかの画面で表示される。それらの画面のうちの何れかを表示させるのが、図9に示すイベント処理内でステップ908として実行される演奏結果の表示処理である。
【0070】
その表示処理は、ユーザーが選択した表示形態でレッスン結果を表示させるために、その表示形態別に用意されたサブルーチン処理を実行するようになっている。ここでは、図3、及び図4に示す各画面でレッスン結果を表示させるためのサブルーチン処理に着目して、その内容について説明することとする。説明上、便宜的に、図3に示す画面でレッスン結果を表示させるサブルーチン処理を「レッスン別履歴表示処理」、図4に示す画面でそれを表示させるサブルーチン処理を「小節別履歴表示処理」とそれぞれ呼ぶことにする。
【0071】
図12は、上記レッスン別履歴表示処理のフローチャートである。その履歴表示処理は、他方の履歴表示処理と同様に、図7に示す履歴表示用データ、及び図8に示す表示色設定用データを参照して行われる。始めに図12を参照して、その履歴表示処理について詳細に説明する。
【0072】
図7に示す履歴表示用データ、即ち配列変数dispGridの第3添え字が0、2〜5で指定される各要素には、特に詳細な説明は省略するが、表示形態別のサブルーチン処理の実行前の段階でその表示形態に応じた値が代入される。それにより、図2〜図4に示す配置の画面を表示できるようにさせている。第2添え字がレッスン番号に対応し、第3添え字が0で指定される要素には、そのレッスン番号を代入させている。
【0073】
先ず、ステップ1201では、描画の対象とする行(ライン)の管理用である変数iに0を代入する。続くステップ1202では、その変数iの値で指定される行が描画の対象でないか、即ち描画すべき行の描画が終了したか否か判定する。描画すべき行の描画が終了した場合、判定はTrueとなり、ここで一連の処理を終了する。そうでない場合には、判定はFalseとなってステップ1203に移行する。
【0074】
ステップ1203では、変数jに0を代入する。その変数jは、配列変数dispColor として扱う表示色設定用データ(図8参照)を構成する表示色データのなかから現在、注目しているレッスン結果に対応するものを探し出すために用意したものである。変数jに1を代入した後に移行するステップ1204では、変数jの値で指定される表示色データが無いか否か判定する。そのような表示データが表示色設定用データに存在しない場合、判定はTrueとなり、ステップ1213で変数iの値をインクリメントした後、上記ステップ1202に戻る。それにより、着目する対象を別のレッスン結果に変えて、それ以下の処理を同様に実行する。一方、そうでない場合には、判定はFalseとなってステップ1205に移行する。ステップ1204でのTrueの判定は、レッスン結果に対応する表示色データが存在しないことを意味する。
【0075】
ステップ1205では、配列要素practice_db[i][15]の値が、配列要素dispColor [j][0]の値以上で、且つ配列要素dispColor [j][1]の値未満か否か判定する。変数jの値で指定される表示色データが変数iの値で指定されるレッスン結果中のクリアレベルと対応するものであった場合、その関係が満たされることから、判定はTrueとなってステップ1207に移行する。そうでない場合には、判定はFalseとなり、次にステップ1206で変数jの値をインクリメントした後、上記ステップ1204に戻る。それにより、インクリメント後の変数jの値で指定される表示色データが現在、注目しているレッスン結果に対応しているものか否かの確認を行う。
【0076】
ステップ1207では、描画の対象とする列の管理用である変数kに0を代入する。その後に移行するステップ1208では、その変数kの値で指定される列が描画の対象でないか、即ち現在、描画を行っている行での列の描画が終了したか否か判定する。列の描画が終了した場合、判定はTrueとなり、ステップ1213で変数iの値をインクリメントした後、上記ステップ1202に戻る。そうでない場合には、判定はFalseとなってステップ1209に移行する。
【0077】
ステップ1209では、配列要素dispGrid [i][k][0]の値(列番号)が、配列要素practice_db [i][8]の値(レッスン番号)と等しいか否か判定する。それらの値が等しい場合、判定はTrueとなってステップ1211に移行する。そうでない場合には、判定はFalseとなり、次にステップ1210で変数kの値をインクリメントした後、上記ステップ1208に戻る。
【0078】
ステップ1211では、各種表示データの設定を行う。その設定は、配列変数dispGridの第1添え字、第2添え字が変数i、kの各値で指定される要素を対象に行う。具体的には要素dispGrid[1][k][1] に配列要素practice_db[i][15]の値、要素dispGrid[1][k][6] に配列要素dispColor[i][2] の値、要素dispGrid[1][k][7] に配列要素dispColor[i][3] の値、要素dispGrid[1][k][8] に配列要素dispColor[i][4] の値、をそれぞれ代入する。次に移行するステップ1212では、ステップ1211で設定したデータに従い、変数i、kの各値から特定されるセル(枠)の描画を行う。その後はステップ1213に移行して、変数iのインクリメントを行う。
【0079】
このようにして、各行毎にレッスン結果を表示させるべきセルを特定し、そのセルを設定したデータに従って描画することにより、図3に示すように履歴画面の画像データを生成し、その画像データを表示部106に送出することにより表示させる。特には図示していないが、その履歴画面を表示させるために、「L1」等のレッスン番号を表すシンボルは、変数iの値を−1としたときに対応する行に描画し、レッスン日時は変数kの値を0、或いは−1としたときに対応する列に描画する。
【0080】
次に、図4に示す小節別履歴画面を表示させることをユーザーが指定した場合に実行される小節別履歴表示処理について、図13に示すそのフローチャートを参照して詳細に説明する。
この履歴表示処理では、ステップ1301〜1308で実行される処理が、上述のレッスン別履歴表示処理におけるステップ1201〜1208のそれと基本的に同じ内容である。このことから、ステップ1309以降の処理についてのみ説明することとする。
【0081】
図7に示す履歴表示用データ、即ち配列変数dispGridの第3添え字が0、2〜5で指定される各要素には、特に詳細な説明は省略するが、表示形態別のサブルーチン処理の実行前の段階でその表示形態に応じた値が代入される。第1添え字が同じで第3添え字が0で指定される、第2添え字を指定する値がレッスンした範囲の小節の番号に対応する各要素には、その小節番号を代入させている。それにより、図4に示すように、複数のセルによりレッスンを行った小節の範囲を示せるようにさせている。
【0082】
上記ステップ1309では、配列要素dispGrid[i][k][0] の値が、配列要素practice_db [i][2]の値(レッスンを開始した小節の番号)以上、且つ配列要素practice_db [i][3]の値(レッスンを終了した小節の番号)以下か否か判定する。配列要素dispGrid[i][k][0] の値がそのような条件を満たしていた場合、判定はTrueとなってステップ1311に移行する。そうでない場合には、判定はFalseとなり、次にステップ1310で変数kの値をインクリメントした後、上記ステップ1308に戻る。
【0083】
ステップ1311では、ステップ1211と同様に、各種表示データの設定を行う。但し、配列要素dispGrid[1][k][1] への配列要素practice_db[i][15]の値の代入は、レッスンが終了した小節に対応するセルにのみクリアレベルを配置させるために、配列要素dispGrid[1][k+1][1] に値が代入されていないことが確認された場合にのみ行う。その設定後に移行するステップ1312では、ステップ1311で設定したデータに従い、変数i、kの各値から特定されるセル(枠)の描画を行う。その後はステップ1313に移行して、変数kのインクリメントを行う。
<第2の実施の形態>
上記第1の実施の形態では、最後に行ったレッスンの結果の他に、それ以外のレッスン結果を併せて表示させるようにしている。これに対し、第2の実施の形態は、その他に、レッスンの対象としている曲を修了するまでの今後の過程を予測し、その予測結果を表示させられるようにしたものである。
【0084】
その予測結果は、今後におけるユーザーの具体的な一つの目標となる。このため、その予測結果を提示することにより、ユーザーにとってはレッスンに励める環境が実現されることになる。
第2の実施の形態による学習結果表示装置を搭載した電子鍵盤楽器の構成は、第1の実施の形態におけるそれと基本的に同じである。動作についても大部分は同じである。このことから、第1の実施の形態の説明で付した符号をそのまま用いて、第1の実施の形態から異なる部分についてのみ説明することとする。
【0085】
図14は、第2の実施の形態におけるレッスン別履歴画面を示す図である。
上述したように、曲のレッスンは、レッスン番号を選択して行い、その選択範囲は、過去に行ったレッスンの結果に応じて制限している。このようなことから、第2の実施の形態では、図14に示すように、番号別に各レッスンの結果を参照し、その番号別のレッスンのクリアレベルが推移していく状態を考慮して今後のレッスンのクリアレベルの推移を予測し、その予測結果をグラフ表示させるようにしている。
【0086】
その予測を行うために、第2の実施の形態では、練習データ毎に、その予測用のデータ(以降、「修了予測用データ」と呼ぶ)を用意している。図15は、その修了予測用データの構成を示す図である。
その予測用データは、図15に示すように、2次元の配列変数linierとして扱っている。第1添え字は、練習データ(レッスン結果)毎に用意した予測用データの指定用であり、第2添え字は、その予測用データを構成するデータ指定用である。1練習データ分の予測用データとして、第2添え字が0で指定される要素に「linerID」と表記の座標番号、第2添え字が1で指定される要素に「LArea」と表記のレッスン番号、第2添え字が2で指定される要素に「ClearLevel」と表記のクリアレベル、第2添え字が3で指定される要素に「X」と表記の水平方向(X軸)座標値、第2添え字が4で指定される要素に「Y」と表記の鉛直方向(Y軸)座標値、が代入される。
【0087】
レッスン結果から得られた予測用データは、図14に示す履歴画面上の点の位置を示すものとして用いている。それにより、本実施の形態では、クリアレベルの今後の推移は、各点を通る線、或いは各点を通る線に近似する線を特定することにより予測するようにしている。
【0088】
第2の実施の形態では、レッスン別履歴表示処理の実行時に、レッスン結果毎にその予測用データを抽出・生成し、そのデータを用いて修了予測を行う。次に、第2の実施の形態におけるレッスン別履歴表示処理について、図16に示すそのフローチャートを参照して詳細に説明する。
【0089】
図14に示すように、第2の実施の形態でもレッスン結果をセルの表示色等を変えて表示している。その表示に係わる部分は第1の実施の形態と基本的に同じである。このことから、その部分の重複する説明を省くために、図16には、修了予測に係わる部分のみを抜粋してその処理の流れを表している。それにより、修了予測に係わる部分、つまり配列変数liner の各要素へのデータの代入やその代入されたデータを用いた今後のクリアレベルの予測方法などについてのみ説明する。
【0090】
ステップ1601〜1608では、着目する行(レッスン結果)を随時、変更しながら、その行に対応する修了予測用データを抽出して配列要素に代入していくための処理が行われる。その行の管理用が変数iであり、行われたレッスンのレッスン番号を特定するために変数kを用意している。
【0091】
先ず、ステップ1601では、変数iに0を代入する。続くステップ1602では、その変数iの値で指定されるレッスン結果(練習データ)が存在しないか否か、即ち予測用データの抽出が終了したか否か判定する。その抽出が終了した場合、判定はTrueとなってステップ1609に移行する。そうでない場合には、判定はFalseとなってステップ1603に移行する。
【0092】
なお、特に詳細な説明は省略するが、今後、予測されるクリアレベルの推移をグラフ表示させるために、表示させるレッスン結果が存在していない行もそれを表示させる余裕があれば表示の対象としている。それにより、図14に示すように履歴画面を表示させるようにしている。
【0093】
ステップ1603では、変数kに0を代入する。続くステップ1604では、配列変数dispGridの第1添え字が変数iの値、第2添え字が変数kの値で指定される要素の確認が全て終了したか否か判定する。その確認は、変数iの値で指定される行に表示させるべきレッスン結果が存在しないか否か判断するために行うものである。このため、その行に表示させるべきレッスン結果が存在しないことが確認できた場合、判定はTrueとなり、ステップ1608で変数iの値をインクリメントした後、上記ステップ1603に戻る。そうでない場合には、判定はFalseとなってステップ1605に移行する。
【0094】
ステップ1605では、配列要素dispGrid[i][k][0] の値(列番号)が配列要素practice_db [i][8]の値(レッスン番号)と等しいか否か判定する。それらの値が等しい場合、判定はTrueとなってステップ1607に移行し、そうでない場合には、判定はFalseとなり、次にステップ1606で変数kの値をインクリメントした後、上記ステップ1604に戻る。配列要素practice_db [i][8]の値が0であった場合には、レッスン番号として0はありえない番号であることから、それらの値が等しくとも一致していないと見なしている。
【0095】
ステップ1607では、図14に示す履歴画面上でレッスン結果が対応する点の座標位置を計算し、配列変数liner の第1添え字が変数iの値で指定される各要素へのデータの代入を行う。その代入は、配列要素liner[i][0] には変数iの値、配列要素liner[i][1] には配列要素practice_db [i][8]の値、配列要素liner[i][2] には配列要素practice_db[i][15]の値、配列要素liner[i][3] には配列要素dispGrid[i][k][2] の値に対し、配列要素dispGrid[i][k][4] の値に配列要素practice_db[i][15]の値を掛けて100で割った値を加算して得られる値(=dispGrid[i][k][2]+dispGrid[i][k][4]×practice_db[i][15]/100)、配列要素liner[i][4] には配列要素dispGrid[i][k][3] の値に対し、配列要素dispGrid[i][k][5] の値を2で割って得られる値(=dispGrid[i][k][3]+dispGrid[i][k][5]/2)、をそれぞれ代入する。その代入後はステップ1608に移行し、変数iの値のインクリメントを行う。
【0096】
このようにして、配列変数linerの第1添え字が変数iの値で指定される各要素には、レッスン結果、及びそのレッスンの番号に応じたデータが代入される。配列要素liner[i][3] に代入されたX座標値は、レッスン番号に対応するセルにおいて、そのセルの基点となるX座標値に、そのセルのX軸上の幅を示す値をクリアレベルに応じて加算した値である。配列要素liner[i][4]に代入されたY座標値は、レッスン番号に対応するセルにおいて、そのセルの基点となるY座標値に、そのセルのY軸上の幅を示す値の半分を加算した値である。
【0097】
上記ステップ1602の判定がTrueとなって移行するステップ1609では、レッスン別に座標位置を特定した点を通る線に近似する線の描画用である関数を生成する線形近似処理を実行する。続くステップ1610では、生成した関数を用いて線を描画する近似曲線描画処理を実行する。その後に移行するステップ1611では、生成した関数から曲の全レッスンが修了するまでに要するレッスン回数を予測し、その予測結果を描画する修了予測処理を実行する。一連の処理はその後に修了する。
【0098】
以降は、上述の履歴表示処理内で実行されるサブルーチン処理について、図17、図18に示す各フローチャートを参照して詳細に説明する。
図17は、上記ステップ1609として実行される線形近似処理のフローチャートである。履歴表示処理内で実行されるサブルーチン処理では、図17を参照して、始めに線形近似処理について詳細に説明する。本実施の形態では、レッスン別に座標位置を特定した点を通る線に近似する線の描画用である関数は、その関数で用いる係数を特定することで生成するようにしている。
【0099】
先ず、ステップ1701では、係数代入用の変数grad、rootにそれぞれ0を代入する。続くステップ1702では、係数算出用の変数sum_x、sum_y、count、sum_x_sq、及びsum_xyにそれぞれ0を代入する。その代入後は、ステップ1703で変数iに0を代入してからステップ1704に移行する。その変数iは、注目するレッスン結果の管理用である。
【0100】
ステップ1704では、配列要素practice_db [i][0]に値が代入されていない、即ちその値がnullか否か判定する。それに値が代入されていない場合、つまり他に注目すべきレッスン結果が存在しない場合、判定はTrueとなってステップ1707に移行する。そうでない場合には、判定はFalseとなってステップ1705に移行する。
【0101】
ステップ1705では、係数算出用の各変数に代入する値を計算して代入する処理を行う。それにより、変数sum_xにはそれまでの値に配列要素liner[i][3] の値を加算した値、変数sum_yにはそれまでの値に配列要素liner[i][4] の値を加算した値、変数sum_x_sqにはそれまでの値に対し、配列要素liner[i][3] の値を2乗した値を加算した値、及び変数sum_xyにはそれまでの値に対し、配列要素liner[i][3] の値に配列要素liner[i][4] の値を掛けた値を加算した値、をそれぞれ代入し、変数countの値はインクリメントする。その次のステップ1706では、変数iの値をインクリメントする。その後は上記ステップ1704に戻る。
【0102】
そのステップ1704の判定がTrueとなって移行するステップ1707では、変数grad、rootに代入する値を計算してそれらに代入する処理を行う。それらの変数に代入する値は、以下のようにして求めている。そのようにして変数grad、rootに代入する値を計算して代入した後、一連の処理を終了する。
【0103】
grad=(count×sum_xy−sum_x×sum_y)/(count×sum_x_sq−sum_x×sum_x)
root=(sum_x_sq×sum_y−sum_x×sum_xy)/(count×sum_x_sq−sum_x×sum_x)
本実施の形態では、生成する関数は1次関数、即ちy=ax+bで表される関数としている。a、bは係数である。
【0104】
1次関数とi番目の点(xi,yi)との間の誤差eri は、
eri =axi +b−yi
eri2 =a2xi2 +b2−yi2+2abxi−2axiyi−2byi
となり、全体の誤差(2乗誤差)の和Erは、
Er=Σeri2
=a2Σxi2+nb2+Σyi2+2abΣxi−2aΣxiyi−2bΣyi
となる。
【0105】
このとき、和Erが最も小さくなるa,bは、
∂Er/∂a=2aΣxi2+2bΣxi−2Σxiyi=0
∂Er/∂b=2aΣxi+2nb−2Σyi=0
を満たすものとなるので、
a=(nΣxiyi−ΣxiΣyi)/(nΣxi2−(Σxi)2)
b=(Σxi2Σyi−ΣxiΣxiyi)/(nΣxi2−(Σxi)2)
から得られることとなる。上述した線形近似処理は、係数であるa,bを求めるために実行される。
【0106】
図18は、図16に示すレッスン別履歴表示処理内でステップ1611として実行される修了予測計算処理のフローチャートである。次に図18を参照して、その計算処理について詳細に説明する。
先ず、ステップ1801では、変数termに0を代入する。次のステップ1802では、変数max_cur、iにそれぞれ0を代入する。その代入後にはステップ1803に移行する。
【0107】
ステップ1803では、配列要素cur_info[i][0]に値が代入されていないか否か、即ちその値がnullか否か判定する。それに値が代入されていない場合、判定はTrueとなってステップ1805に移行する。そうでない場合には、判定はFalseとなり、ステップ1804で変数iの値をインクリメントした後、再度、ステップ1803の処理を実行する。それにより、そのステップ1803の判定がTrueとなった時点では、変数iには最も大きいレッスン番号が代入されていることとなる。
【0108】
ステップ1805では、変数max_curに変数iの値を代入する。続くステップ1806では、変数max_prac、iにそれぞれ0を代入する。その後に移行するステップ1807では、配列要素practice_db [i][0]に値が代入されていないか否か、即ちその値がnullか否か判定する。それに値が代入されていない場合、判定はTrueとなってステップ1809に移行する。そうでない場合には、判定はFalseとなり、ステップ1808で変数iの値をインクリメントした後、再度、ステップ1807の処理を実行する。それにより、そのステップ1807の判定がTrueとなった時点では、変数iにはユーザーが行ったレッスンの全回数が代入されていることとなる。
【0109】
ステップ1809では、変数max_pracに変数iの値を代入する。次のステップ1810では、曲のレッスンを修了するまでに要すると予測されるレッスン回数(修了回数)を計算し、その計算結果を変数termに代入する。その計算は、上述の線形近似処理で値が代入された変数grad、rootを用いて行われる。具体的には、変数max_curの値に変数gradの値を乗算し、その乗算結果に変数rootの値を加算し、その加算結果を四捨五入することにより行っている(図中「term=int(grad×max_cur+root)」と表記)。
【0110】
ステップ1810に続くステップ1811では、変数termの値が変数max_pracの値以上か否か判定する。計算した修了回数がこれまで行ったレッスンの全回数以上であった場合、その関係が満たされることから、判定はTrueとなり、変数termの値から変数max_pracの値を減算した値、つまりユーザーが今後、行っていないレッスン番号のレッスンを全て修了するのに要すると予測されるレッスン回数を計算し、その計算結果を描画(図14参照)させた後、一連の処理を修了する。反対にそうでない場合には、判定はFalseとなり、次にステップ1812で変数termに0を代入した後、一連の処理を終了する。
【0111】
なお、第2の実施の形態では、修了予測を行うために関数として1次関数を生成しているが、生成する関数は1次関数に限定されるものではない。指数関数、対数関数、或いはn(nは1より大きい整数)次関数などであっても良い。そのような関数は、例えば以下のようにして生成することができる。
【0112】
指数関数はy=Aexp(Bx)+cと表される。その起点を最初のレッスンに対応する点に合わせればcの値は0となるのでy=Aexp(Bx)となる。ここではそのことを前提に説明を行うこととする。
y=Aexp(Bx)の両辺の対数をとると、
Bx=lny−lnA
となり、
lny=Bx+lnA
が導かれる。よって、m個の各点(x1,y1)、・・・(xm,ym)の代わりに点(x1,lny1)、・・・(xm,lnym)をサンプルとして、そのサンプルとする点を通る線に近似する1次の関数lny=ax+bを作成し、その作成した関数から、A=exp(b)、B=aとすることで指数関数を作成する。
【0113】
対数関数は、y=Aln(Bx)+cと表される。その起点を最初のレッスンに対応する点に合わせればcの値は0となるのでy=Aln(Bx)となる。ここでもそのことを前提に説明を行うこととする。
y=Aln(Bx)は、
y=Aln(Bx)=Aln(x)+Aln(B)
と表すことができる。よって、指数関数のときと同様に、m個の各点(x1,y1)、・・・(xm,ym)の代わりに点(lnx1,y1)、・・・(lnxm,yn)をサンプルとして、そのサンプルとする点を通る線に近似する1次の関数lny=ax+bを作成し、その作成した関数から、A=a、B=exp(b/a)とすることで対数関数を作成する。
【0114】
n次関数は、例えばnの値が3であればy=ax3+bx2+cx+dと表される。その関数とi番目の点(xi,yi)との間の誤差eri は、
eri =axi3+bxi2+cxi+d−yi
eri2 =a2xi6 +b2xi4+c2xi2+d2+yi2
+2abxi5+2acxi4+2adxi3+2bcxi3
+2bdxi2+2cdxi
−2axi3yi−2axi2yi−2axiyi−2dyi
となり、全体の誤差(2乗誤差)の和Erは、
Er=Σeri2
=a2Σxi6+b2Σxi4+c2Σxi2+nd2+Σyi2
+2abΣxi5+2acΣxi4+2adΣxi3+2bcΣxi3
+2bdΣxi2+2cdΣxi
−2aΣxi3yi−2aΣxi2yi−2aΣxiyi−2dΣyi
となる。
【0115】
このとき、和Erが最も小さくなるa、b、c、dは、
∂Er/∂a=2aΣxi6+2bΣxi5+2cΣxi4+2dΣxi3
−2Σxi3yi=0
∂Er/∂b=2aΣxi5+2bΣxi4+2cΣxi3+2dΣxi2
−2Σxi2yi=0
∂Er/∂c=2aΣxi4+2bΣxi3+2cΣxi2+2dΣxi
−2Σxiyi=0
∂Er/∂d=2aΣxi3+2bΣxi2+2cΣxi+2nd
−2Σyi=0
を満たすものとなる。
【0116】
n次関数をy=anxn+an−1xn−1+・・・+a1x+a0としたとき、
Er=ΣxΣkΣlakxikalxil−2ΣxyΣkΣlakxikyi+yi2
となるから、
【0117】
【数1】

Figure 2004184757
【0118】
の関係を与えるa0、a1、・・・、anが最も誤差が小さくなると言える。よって、
【0119】
【数2】
Figure 2004184757
【0120】
を解くことによりn次関数を作成することができる。
表示の対象とするレッスン結果については、本実施の形態(第1、及び第2の実施の形態)では全てのレッスン結果を表示の対象とさせているが、必ずしもそうしなくとも良い。例えば予め定めた回数のレッスン毎に1レッスン結果を表示させても良く、1日につき1レッスン結果を表示させるようにしても良い。回数や日時の他には、行ったレッスンのレッスン番号に注目してレッスン結果を抜粋して表示させるようにしても良い。このように、様々な変形を行うことができる。これは練習履歴DB110へのレッスン結果(練習データ)の格納にも適用することができる。
【0121】
本実施の形態による学習結果表示装置は、電子楽器に搭載された学習結果表示装置に本発明を適用したものであるが、適用できる学習結果表示装置は電子楽器に搭載されたものに限定されるわけではない。また、結果を表示させる学習も曲の演奏に限定されるわけではなく、キーボードの操作を伴う学習などにも本発明は幅広く適用させることができる。
【0122】
上述したような学習演奏表示装置の動作、或いはその変形例の動作を実現させるようなプログラムは、CD−ROM、DVD、或いは光磁気ディスク等の記録媒体に記録させて配布しても良い。或いは、公衆網等で用いられる伝送媒体を介して、そのプログラムの一部、若しくは全部を配信するようにしても良い。そのようにした場合には、ユーザーはプログラムを取得してコンピュータなどのデータ処理装置にロードすることにより、そのデータ処理装置を用いて本発明を適用させた学習結果表示装置を構築することができる。このことから、記録媒体は、プログラムを配信する装置がアクセスできるものであっても良い。
【0123】
【発明の効果】
以上説明したように本発明は、ユーザーが行った学習の内容を示す学習内容データを、学習の手本とすべき内容を示す模範学習データと比較して生成される、ユーザーの学習結果を示す結果データを予め定めた規則に従って選択し、選択した結果データを表示装置上に表示させる。
【0124】
複数の学習結果を表示させた場合、ユーザーは自分が過去に行った学習の結果がどのようなものであり、それがどのように推移していったか容易に把握することができる。それにより、ユーザーが行った学習のレベルの推移を視覚的に提示することとなる。
【図面の簡単な説明】
【図1】第1の実施の形態による学習結果表示装置を搭載した電子楽器の構成図である。
【図2】演奏履歴画面を示す図である。
【図3】レッスン別履歴画面を示す図である。
【図4】小節別履歴画面を示す図である。
【図5】楽曲情報の構成を説明する図である。
【図6】練習履歴データベースの構成を説明する図である。
【図7】履歴表示用データを説明する図である。
【図8】表示色設定用データを説明する図である。
【図9】イベント処理のフローチャートである。
【図10】演奏の正誤判定処理のフローチャートである。
【図11】演奏結果の保存処理のフローチャートである。
【図12】レッスン別履歴表示処理のフローチャートである。
【図13】小節別履歴表示処理のフローチャートである。
【図14】レッスン別履歴画面を示す図である(第2の実施の形態)。
【図15】修了予測用データを説明する図である。
【図16】レッスン別履歴表示処理のフローチャートである(第2の実施の形態)。
【図17】線形近似処理のフローチャートである。
【図18】修了予測計算処理のフローチャートである。
【符号の説明】
101 CPU
102 ROM
103 RAM
104 スイッチ部
105 鍵盤
106 表示部
110 練習履歴データベース[0001]
TECHNICAL FIELD OF THE INVENTION
According to the present invention, a user learns to operate one or more operators (for example, keys on a keyboard, keys on a keyboard, and the like) provided in a learning device in a predetermined order. The present invention relates to a technique for displaying a result.
[0002]
[Prior art]
For example, in a keyboard instrument such as a piano or an electronic keyboard, a performance is performed by sequentially depressing keys to be depressed. However, it is a fact that it is not always easy for a player (user) with an inexperienced playing technique to appropriately grasp the level of the performance performed by the player. For this reason, a performance result display device that displays performance results as data so that a user can appropriately grasp the level is commercialized.
[0003]
The performance result display device refers to data (hereinafter, referred to as "executable performance data") indicating performance contents to be used as a model of a song, and for each musical tone to which a user instructs to sound during the performance, the data is displayed. It is confirmed whether or not the pronunciation is instructed at the timing when the sound should be produced, and the performance result is displayed based on the confirmation result. The contents include, for example, the number of times the user has instructed the pronunciation at the timing at which the musical tone having the pitch to be produced is to be produced, and the number of times the musical tone could not be instructed.
[0004]
In order to display such content, data indicating the content of the performance performed by the user (hereinafter, referred to as “performance data”) is required. In order to perform that performance, you need an instrument. For this reason, many of the performance result display devices have been commercialized as being mounted on musical instruments.
[0005]
[Patent Document 1]
Microfilm of Japanese Utility Model Application No. 2-91089 (Japanese Utility Model Application No. 4-48553)
[Patent Document 2]
JP-A-5-289605
[Patent Document 3]
JP-A-5-313561
[0006]
[Problems to be solved by the invention]
The conventional performance result display device displays the result only for the performance specified by the user, for example, by instructing the display of the result before the actual performance. However, performance is usually practiced repeatedly. For this reason, there is a problem that it is difficult for the user to understand how the performance level changes as the performance practice is repeated.
[0007]
Normally, the performance level is improved by repeating the practice. It is considered that presenting the progress of the level visually to the user to confirm the result of the practice will be encouraging for the user. The more enthusiastic the user is, the more likely it is to do so. From this, it can be said that visually presenting the transition of the performance level is of great significance. This is considered to be the same in other learning result display devices that present the contents of learning results other than performance.
[0008]
An object of the present invention is to provide a learning result display device capable of visually presenting a transition of a level of learning performed by a user.
[0009]
[Means for Solving the Problems]
The learning result display device of the present invention is a device that displays a result of a learning performed by a user performing an operation in a predetermined order on one or more operators provided in a learning device, Learning content acquisition means for acquiring learning content data indicating the content of learning performed by the user, and model learning data indicating content to be used as a model for learning are compared with learning content data acquired by the learning content acquisition means, A data generating means for generating result data indicating a learning result of the user; and selecting the result data to be displayed from the result data generated by the data generating means in accordance with a predetermined rule, and displaying the selected result data. Learning result display means that can be displayed on the device.
[0010]
Note that when the entire content to be learned is divided into a plurality of portions and a learning range is selected in units of the portions, the learning result display means may display the result data in association with the learning range. desirable. Further, the data generating means can generate, as result data, data indicating a learning degree of the user who has performed the learning, and the learning result display means can display the learning degree at which the data generating means has generated the data. It is desirable to be able to. Alternatively, the data generation means predicts a future transition of the learning degree of the user performing the learning based on the learning degree, and the learning result display means displays the future transition of the learning degree predicted by the data generation means. Is desirable.
[0011]
If the learning is a performance of a song using an instrument as a learning device, the data generation unit compares the model learning data with the learning content data, and the user generates a sound by operating an operator on the musical instrument. Of the musical tones to be emitted at the timing of the operation, the number of musical tones different from the pitch within a predetermined range is counted, and the learning result display means outputs the musical tone counted by the data generating means. Is desirably displayed.
[0012]
The program of the present invention is premised on causing one or more operators provided in the learning device to execute a learning operation of operating in a predetermined order on a device that displays a result of a user's execution. , By comparing the learning content data obtained by the function to acquire the learning content data indicating the content of the learning performed by the user with the learning content data A function of generating result data indicating a result and a result data to be displayed are selected from the result data generated by the generating function according to a predetermined rule, and the selected result data is displayed on a display device. And functions that can be realized.
[0013]
In the present invention, the result data indicating the learning result of the user, which is generated by comparing the learning content data indicating the content of the learning performed by the user with the model learning data indicating the content to be used as a model of the learning, is determined in advance. The selected result data is displayed on the display device.
[0014]
When a plurality of learning results are displayed, the user can easily grasp what the results of the learning performed by the user in the past and how the results have been changed. As a result, the transition of the level of the learning performed by the user is visually presented.
[0015]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
<First embodiment>
FIG. 1 is a configuration diagram of an electronic musical instrument equipped with the learning result display device according to the first embodiment.
[0016]
As shown in FIG. 1, the electronic musical instrument includes aCPU 101 for controlling the entire musical instrument, aROM 102 for storing programs executed by theCPU 101 and various data, a RAM 103 used by theCPU 101 for work, and various switches.Switch unit 104, akeyboard 105 to be played, a display unit 106 having, for example, an LCD (not shown) and a plurality of LEDs, etc., and a sound source 107 for generating waveform data of musical sounds to be generated according to instructions from theCPU 101. And a sound system 108 for outputting the waveform data generated by the sound source 107 as a sound. Thereby, the learning result display device according to the present embodiment is realized as a result that the result is displayed on the display unit 106 for a performance performed by the user operating thekeyboard 105.
[0017]
Theswitch unit 104 includes, for example, operators such as various switches and buttons, and a detection circuit that detects an operation on the operators. The controls include a mode switch for selecting a mode, a song switch for selecting a song to be automatically played or practiced, and a start / stop for instructing the start or end of automatic performance or practice. There are a switch, a numeric keypad, a result display switch for instructing display of a performance result, and a plurality of selection switches for selecting the display form. A song to be automatically played or practiced is operated by operating a song switch and then specifying a number (song number) assigned to a desired song by using a numeric keypad. Switching between automatic performance and practice by operating the start / stop switch is performed by a mode switch.
[0018]
The operation of the above configuration will be described.
When a power supply (not shown) is turned on, theCPU 101 reads out and executes a program stored in theROM 102 to start control of the entire musical instrument. After that, while using the RAM 103 for work, the control of each unit is performed in accordance with a signal indicating a state of an operation element received from each of theswitch group 104 and thekeyboard 105. The detection circuit included in theswitch group 104 detects the state of each switch (including the presence or absence of an operation) by, for example, scanning, and generates a signal to be sent to theCPU 101 based on the detection result. This is the same for the keyboard 105 (the detection circuit constituting the keyboard).
[0019]
Upon receiving a signal indicating the state of each key from thekeyboard 105, theCPU 101 identifies the key whose state has changed by comparing the state with the state detected previously. If such a key can be specified, a command to be transmitted to the sound source 107 is generated according to the specified key and a change in the state of the key, and the command is transmitted.
[0020]
In accordance with the command, the sound source 107 generates musical sound waveform data and sends it to the sound system 108. The sound system 108 converts the waveform data into, for example, an analog audio signal, amplifies the obtained audio signal, inputs the amplified audio signal to a speaker, and emits a musical tone. Thus, when the user (player) operates thekeyboard 105, a musical tone corresponding to the operation content is emitted.
[0021]
On the other hand, in response to a change in the state of each switch constituting theswitch group 104, theCPU 101 performs processing for realizing the function assigned to the switch whose state has changed. By performing the processing, various settings including the setting of the music to be practiced, the display of the practice result, and the like are realized. The practice is deemed to have started in response to the operation of the start / stop switch, and is considered to be in practice until it ends or the switch is operated again.
[0022]
In the present embodiment, the performance practice (lesson) can be performed for a performance range selected in units of a part by dividing the entire composition of the music into a plurality of parts. The whole structure is divided into bars and parts. The parts are divided according to the hands used for the performance (for this reason, parts played with the right hand are called "right hand parts" and parts played with the left hand are called "left hand parts"). Since the performance guide that teaches the user how to press the keys is not necessarily to be performed during the lesson, it is not specifically described here.
[0023]
The performance range is fixedly determined in advance, and the defined performance range limits a range that can be selected according to the user's learning degree. In other words, the performance of the entire music can be practiced by changing the performance range according to the degree of learning according to the curriculum. Hereinafter, the practice range will be referred to as "lesson area", the number associated with the practice (lesson) in the lesson area will be referred to as "lesson number", and the user's learning level will be referred to as "clear level".
[0024]
The target part of the lesson, that is, the bars and parts, differ depending on the lesson area. It can be said that the clear level is information serving as an index for determining the result of the user performing a lesson in a certain lesson area. For this reason, the clear level is displayed in association with only one of the lesson area and the lesson number so that the relationship with the lesson number can be easily grasped. In addition, data that is useful for examining the results can be displayed together so that the lesson results can be examined in more detail.
[0025]
Thus, in the present embodiment, the stored performance result contents are displayed in three display forms. This allows the user to select a desired one from the three display modes, and to display any of the screens shown in FIGS. 2 to 4 according to the selection result. The display in the desired display mode is performed by, for example, operating one of the three selection switches to which the desired display mode is assigned, and then operating the result display switch.
[0026]
The result of the lesson is obtained by comparing the content of the lesson performed by the user with the song data indicating the content of a model to be performed in the lesson. The music data is stored in theROM 102 in the form of a standard MIDI file (SMF), for example. In order to make the comparison along the curriculum, in the present embodiment, the music information shown in FIG. 5 is prepared in theROM 102 separately from the music data, for example.
[0027]
As shown in FIG. 5, the music information includes all music data relating to the entire music and a plurality of curriculum data relating to one lesson constituting the curriculum. All music data is treated as a one-dimensional array variable song_info, and each curriculum data is treated as a two-dimensional array variable cur_info.
[0028]
A song number for uniquely identifying a song indicated by “SongID” in FIG. 5 is stored in an element of the array variable song_info whose subscript in parentheses is designated by 0. Hereinafter, similarly, the number of all bars indicated by “AllMeas” is assigned to the element designated by the subscript “1”, the song name indicated by “SongName” is assigned to the element designated by the subscript “2”, The specified element is a tempo value which is a reference of “OrgTempo”, and the subscript is 4 and the number of all musical tones in the right hand part is “NoteCountR” and the subscript is 5 Each element stores the total number of musical tones in the left hand part described as “NoteCountL”.
[0029]
The subscript following the other array variable cur_info (hereinafter referred to as “first subscript” for convenience) is used to specify the curriculum data, and another subscript (hereinafter referred to as “first subscript” for convenience) The second suffix is used to designate data constituting the curriculum data. Such subscript designations will be used for other array variables as well. That is, the suffix closest to the variable name is referred to as a “first suffix”, and as the distance from the variable name increases, the suffix is referred to as a “second suffix”, a “third suffix”, or the like.
[0030]
The element designated by thesecond subscript 0 stores a lesson number represented by “Area ID” in the figure. Hereinafter, similarly, the element whose second subscript is designated by 1 is the number of the bar at which the lesson starting with "StartMeas" is described, and the element whose second subscript is designated by 2 is represented by "EndMeas". The number of the bar at which the lesson ends, the element whose second subscript is designated by 3 is the data indicating the part to be covered in the lesson "CurHand", and the element whose second subscript is designated by 4 Stores the number of musical tones of the right hand part written as "NoteCountR", and the element whose second subscript is designated by 5 stores the number of musical sounds of the left hand part written as "NoteCountL". Although not particularly shown, the curriculum data includes, for example, data indicating the respective positions of the beginning and end of the part so that the part corresponding to the lesson in the music data can be specified.
[0031]
In each display mode, as shown in FIGS. 2 to 4, not only the result of the last lesson but also the result of the past lesson are displayed. A practice history database (DB) 110 shown in FIG. 1 is built in theRAM 102 for storing practice data indicating lesson results. In order to store the practice data, theRAM 102 is made non-volatile by a battery (not shown).
[0032]
By displaying the results of other lessons in addition to the results of the last lesson, users can see what lessons they have done in the past and what the results were, You can easily understand how the results changed. You will be able to easily grasp the transition of the level of the lesson (learning) you have done so far. This means that users who are especially enthusiastic about practice can objectively (in addition to realizing) their own level improvement due to repeated lessons.
[0033]
Delivering lessons is usually the biggest goal of improving the level, and objectively grasping the improvement is objectively confirming that the lesson that the user has performed was meaningful. . Being able to objectively confirm the results of the meaningful lesson means having specific goals for the user. The specific goal is to encourage the lesson. Thus, by making it possible to easily grasp the transition of the level of the lesson (learning), an environment for the user to be encouraged in the lesson is provided.
[0034]
The performance history screen shown in FIG. 2 is a screen in which data for examining lesson results is arranged for each lesson. The data includes the date of the lesson, the range of the measure that was the subject of the lesson (expressed as the number of the measure that started the lesson and the number of the measure that ended the lesson), the lesson number, the part that was the subject of the lesson, The tempo, the number of musical tones (notes) to be instructed during the lesson, and data indicating the result are arranged. Hereinafter, data indicating the result is referred to as “result data”, and the other data is referred to as “situation data”.
[0035]
The result data is represented by numerical values corresponding to the columns in which “o”, “x”, “← →”, “mistouch” and “clear level” are arranged. Numerical values expressed in the column in which “○” is placed are the musical tones that could be instructed at the timing at which they should be pronounced in the musical tones to be pronounced during the lesson. "). The numerical value expressed in the column in which “← →” is arranged indicates the number of musical tones (timing mistouched musical tones) in which the instruction to produce the musical tones to be produced deviates from the timing to be produced. Numerical values expressed in the column in which “x” is arranged indicate the number of other musical tones, that is, the number of musical tones (unissued musical tones) for which the pronunciation could not be clearly instructed at the timing at which they should be produced. The numerical value expressed in the column in which “mistouch” is arranged indicates the number of musical tones whose pronunciation is instructed at a timing that should not be clearly pronounced. The clear level is represented by a numerical value between 0 and 100.
[0036]
Timing mistouch means that a key that should be depressed does not match within the range where it can be considered that the key is depressed, but a key that should not be depressed is clearly depressed. This is an operation in which the key depression timing is not shifted so much as to be recognized. For this reason, it can be said that the degree of mistake is smaller than that of a mistouch, which is a depressing of a key that should not be depressed, or that a key that should be depressed has not been depressed. It is common that the greater the degree of mistake, the greater the content of the performance is reduced. Timing mistouches are counted separately because there is a difference in the extent to which such mistakes affect the performance. In other words, by counting the number of mistouches separately, it is possible to more specifically grasp the content of the lesson from the count result.
[0037]
The history screen for each lesson shown in FIG. 3 is a screen for displaying the history so that the correspondence between the number and the clear level can be easily grasped for each lesson performed by the user. In the figure, "L1" located above an area (hereinafter, referred to as "grid area") in which frames (cells) are arranged in a grid shape indicates that the lesson number is 1 (the same applies to other cases). On the left side of the area, the date when the lesson was held is arranged. The dates of the lessons and their numbers are expressed by arranging numerical values indicating the clear level in the frame of the corresponding position. In the present embodiment, the display color in the frame in which the numerical values are arranged is changed according to the numerical values.
[0038]
The measure-by-measure history screen shown in FIG. 4 is a screen for displaying a history for each measure in which the user has performed a lesson so that the correspondence between the measure number and the clear level can be easily grasped. In the figure, "M1" located above an area where frames are arranged in a grid (hereinafter also referred to as "grid area") indicates that the bar number is 1 (the same applies to other bars). The date of the lesson is similarly arranged to the left of. The date of the lesson and the number of the bar are expressed by placing a numerical value indicating the clear level in the frame at the corresponding position and changing the display color in that frame according to the numerical value I have.
[0039]
The display of the screens shown in FIGS. 2 to 4 is not particularly described in detail. For example, image data of elements constituting the screens are arranged in a predetermined order using a region secured in the RAM 103 while overwriting the image data in a predetermined order. This is performed by generating image data for one screen and transmitting the generated image data for one screen to the display unit 106. The partial display content is changed by generating changed image data for a portion whose content is to be changed, and transmitting the generated image data to the display unit 106 to overwrite the changed image data.
[0040]
Next, data managed for displaying the various screens shown in FIGS. 2 to 4 on the display unit 106 will be described in detail with reference to FIGS.
FIG. 6 is a diagram illustrating the configuration of thepractice history DB 110.
TheDB 110, as shown in FIG. 6, handles it as a two-dimensional array variable "product_db". The first suffix is used to designate practice data indicating the result of the lesson, and the second suffix is used to designate data constituting the practice data. In the element whose subscript is designated by 0, a number (hereinafter, referred to as a "history number") for uniquely identifying the practice data described as "productID" in the figure is stored. In addition, the following data is stored in each element.
[0041]
Data extracted from the music information shown in FIG. 5 is stored in each element whose subscript is designated by 1 to 4. The number of tones in the lesson area indicated by “NoteCount” is assigned to the element designated by thesuffix 5, the lesson date and time indicated by “Date” is assigned to the element designated by thesuffix 6, and the suffix is designated by 7. The element indicated is the data indicating the lesson method indicated by “LStyle”, the element specified by thesuffix 8 is the lesson number indicated by “LArea”, and the element specified by thesuffix 9 is “LHand”. The data indicating the part that was the subject of the lesson with "", the element with the suffix designated by 10 is the tempo value set during the lesson with "LTempo", and the element with the suffix designated by 11 Is the number of appropriate musical tones (tones to be pronounced at the timing of sounding to be pronounced) represented by "RsltOkey", and "RsltNG" is represented to the element whose subscript is designated by 12. The number of musical tones which could not be instructed to be pronounced among the tones to be pronounced, and the number of musical tones to be instructed to be pronounced as "RsltMissTouch" and the subscript of 14 The designated element is the number of musical tones whose timing of instructing the sounding of "RsltTiming" is slightly deviated from the appropriate timing, and the clear level of "RsltClearLevel" is an element designated by thesuffix 15. , Are each stored. The result data is stored in the element specified by thesubscripts 11 to 15, and the status data is stored in the other subscripts, that is, the elements specified by thesubscripts 0 to 10. .
[0042]
In the present embodiment, as shown in FIGS. 3 and 4, frames (cells) are arranged in a grid, and the frame in which the clear level is arranged is determined according to the lesson performed by the user. Can be presented in the form of multiple histories. In order to present such a history, history display data shown in FIG. 7 and display color setting data shown in FIG. 8 are prepared.
[0043]
The history display data is for arranging the frames in a grid, and is treated as a three-dimensional array variable dispGrid. The first and second suffixes are for designating a row and a column which constitute a grid, respectively. The third subscript is for specifying data related to display of a frame specified by the first and second subscripts. As the data, the following is stored as needed.
[0044]
In the element whose subscript is designated by 0, a column number represented by “Column ID” in FIG. 7 is stored. Hereinafter, similarly, the display character string denoted by “dispText” is used for the element specified by the suffix “1”, and the horizontal (X) coordinate of the frame denoted by “posX” is used for the element specified by the suffix “2” Values and suffixes of the element designated by 3 are vertical (Y) coordinate values of the frame denoted by “posY”, and elements specified by thesuffix 4 are width (X) of the frame denoted by “SX” The width of the axis specified by the subscript “5”, the vertical width of the frame indicated by “SY” (the width on the Y axis) for the element specified by thesuffix 5, and “bgColor” by the element specified by thesuffix 6. A value indicating the display (background) color in the notation frame, an element whose suffix is specified by 7 is a value indicating a display color of a display character string indicated by “Textcolor”, and an element whose suffix is specified by 8 Stores a value indicating a display color of a line described as “Linecolor”. Values are stored in the elements specified by thesubscripts 1 and 8 as necessary.
[0045]
The display color setting data shown in FIG. 8 is for changing the display color in the frame for each clear level, and is treated as a two-dimensional array variable dispColor. The first subscript is for designating display color data which is data relating to the display color in the frame according to the clear level, and the second subscript is for designating data constituting the display color data. The data constituting the display color data is as follows.
[0046]
The element designated by thesecond subscript 0 stores the minimum value of the clear level corresponding to the display color data described as “ScoreFrom” in FIG. Hereinafter, in the same manner, the element designated by thesubscript 1 is indicated by the maximum value of its clear level indicated by “ScoreTo”, and the element indicated by thesubscript 2 is indicated by “bgColor” in the frame indicated by “bgColor”. (Background) A value indicating a color, an element whose suffix is specified by 3 is a value indicating a display color of a character string written as “TextColor”, and an element whose suffix is specified by 4 is written “LineColor” Indicating the display color of the line is stored. The value extracted from the display color data according to the clear level is assigned to the element of the history display data shown in FIG.
[0047]
Next, the operation of theCPU 101 for displaying a lesson result using various data as described above will be described in detail with reference to various flowcharts shown in FIGS.
FIG. 9 is a flowchart of the event process executed by theCPU 101. The flow of processing performed by the user instructing the lessons and the display of the results only is shown. First, the event processing will be described in detail with reference to FIG. The event processing is realized by theCPU 101 executing a program stored in theROM 102.
[0048]
First, instep 901, the process waits for an event to occur. Here, the event of waiting for occurrence is an operation on an operator for instructing start of a lesson or display of a lesson result. The lesson is operated by operating the start / stop switch while the mode switch is set to the lesson effective side. The lesson result is displayed by selecting the display mode and operating the result display switch. Has become. Accordingly, when the user operates the start / stop switch or the display switch in such a state, the process proceeds fromstep 901 to step 902. Note that the lesson number is input by operating a numeric keypad after operating a predetermined switch in a state in which a song to be performed in the lesson is selected. The default is the number of the previous lesson.
[0049]
Instep 902, it is determined whether or not the generated event is an instruction to start a lesson. If the user has operated the start / stop switch, it is determined that an event for instructing the start of the lesson has occurred, the determination is True, and the flow shifts to step 903. Otherwise, the determination is False and the routine goes to Step 907.
[0050]
Instep 903, it is determined whether the lesson (performance by the user) has been completed. If the time required for the lesson elapses after the user operates the start / stop switch, or if the user operates the switch again to instruct the end, the determination is True as the lesson is over, and the step is determined to be True. Move to 905. Otherwise, the determination is False and the process moves to step 904, where the content of the event generated by the user operating thekeyboard 105 is saved, and then the process returns to step 903 again. Thus, the contents of the event generated by the user are stored until the lesson is completed. At this time, what is saved is, for example, event data (here, MIDI data) indicating the content of the event, and time data indicating the timing at which the event occurred.
[0051]
On the other hand, instep 905, a performance right / wrong determination process is performed to determine whether or not the content of the performance performed by the user operating thekeyboard 105 is correct for each musical tone. In thenext step 906, the result of the lesson performed by the user is specified from the execution result, and a practice result storing process of storing the specified result in thepractice history DB 110 is executed. After the execution, the process returns to step 901.
[0052]
Instep 907, in which the determination instep 902 is False, the process proceeds to step 907, in which it is determined whether the user has operated the result display switch corresponding to the input of the history display command for instructing the history display. When the switch is operated by the user, the determination is True, the process proceeds to step 908, and a performance result display process for displaying the lesson result on the display unit 106 in a display mode selected by the user before the operation is performed. . Thereafter, the process returns to step 901. Otherwise, the determination is False, and the process returns to step 901 without executing the processing of another step.
[0053]
Hereinafter, the subroutine processing executed in the event processing will be described in detail with reference to various flowcharts shown in FIGS.
FIG. 10 is a flowchart of the performance correct / incorrect judgment processing executed asstep 905. Regarding the subroutine processing, first, the correctness / incorrectness determination processing will be described in detail with reference to FIG. The determination process is performed by comparing the content of the event stored instep 904 with song data of a song selected by the user (hereinafter, also referred to as “teaching material”).
[0054]
First, instep 1001, various variables are initialized. As a result, 0 is assigned to a variable iOkey for counting the appropriate number of musical tones, a variable iMissTouch for counting the number of musical tones generated by the user due to a mistouch, and a variable iTimingMiss for counting the number of musical sounds that have a timing mistouch.
[0055]
The contents of each event are stored in the form of MIDI data and time data located before the MIDI data. Therefore, instep 1002 followingstep 1001, point designation is performed to focus on one of the stored data. In thenext step 1003, it is determined whether or not the data specified thereby is MIDI data. If the data is MIDI data, the determination is True and the flow shifts to step 1004. Otherwise, the determination is False and the routine goes toStep 1011.
[0056]
Instep 1011, it is determined whether or not the specified data does not exist. When all the data to be focused on are focused, that is, when the data processing is completed, the determination is True, and a series of processing is completed here. Otherwise, for example, if the specified data is time data, the determination is False and the process returns to step 1002 to specify the next data point.
[0057]
Instep 1004, the position of the specified MIDI data in the performance (indicated as "current location" in the figure) is specified from the time data and the like added thereto. In a succeedingstep 1005, a comparison is made with the teaching material based on the specified performance position. In the present embodiment, the comparison is performed while focusing on the start of tone generation. After performing the comparison, the process proceeds to step 1006.
[0058]
Instep 1006, it is determined whether or not the event indicated by the MIDI data is the start of tone generation, and whether the content of the event is correct. If the teaching material indicates the start of the production of a musical tone having the same pitch at a position that coincides with the specified performance position within the allowable range, the determination becomes True, and the process proceeds to step 1007, where the value of the variable iOkey is changed. After the increment, the process returns to step 1002. Otherwise, the determination is False and the routine goes toStep 1008.
[0059]
Instep 1008, it is determined whether or not the event indicated by the MIDI data is the start of tone generation, and whether or not the teaching material indicates the start of tone generation of a tone at the same pitch at a position that does not match within an allowable range in terms of timing. If the teaching material indicates the start of the tone generation, the determination is True. Then, instep 1009, the value of the variable iTimingMiss is incremented, and the process returns to step 1002. Otherwise, the determination is False and the routine goes toStep 1010.
[0060]
Instep 1010, if the event indicated by the MIDI data is the start of tone generation, the value of the variable iMissTouch is incremented by assuming that the start of tone generation starts tone generation of a tone that should not be emitted. Thereafter, the flow returns to step 1002.
[0061]
In this way, three values indicating the result of the lesson performed by the user are counted. Next, the practice result storage process executed asstep 906 to save data indicating the lesson results including the counted values in thepractice history DB 110 will be described in detail with reference to the flowchart shown in FIG. I do.
[0062]
First, instep 1101, the execution result of the above-described performance correct / incorrect judgment processing and the first and last bar numbers of the lesson targeted are acquired. The execution result of the right / wrong judgment processing is obtained by passing various variables iOKey, iMissTouch, and iTimingMiss from the judgment processing, and each bar number is music information using the number of the lesson performed by the user as a key (see FIG. 5). This is performed by extracting a corresponding number (StartMeas, EndMeas) from the inside.
[0063]
In step 1102 followingstep 1101, lesson information is obtained. For the acquisition, the various variables tmpLStyle, tmpLArea, tmpLHand, tmpLTempo, and tmpNoteCount for acquisition should be assigned to the practice method, respectively, the number of the lesson, the number indicating the lesson part, the tempo value set at the lesson, and the pronunciation. Substitute the total number of tones. The total number of tones to be pronounced is obtained by extracting from the curriculum data constituting the tone information in accordance with the part, or by further adding the extracted number of tones. After acquiring the lesson information, the process proceeds to step 1103.
[0064]
Insteps 1104 to 1106, a process is performed for searching for a place (here, an element of the array variable practice_db) for storing the lesson result in thepractice history DB 110 while incrementing the value of the variable i as needed. Since the lesson results that can be stored in theDB 110 are limited, if the location cannot be found, the lesson results are not stored. That is, in order to be able to store the lesson results, all or some of the lesson results stored up to that time must be deleted by the user.
[0065]
Instep 1104, it is determined whether or not the value of the variable i is larger than a value that can be specified as a data storage destination in theDB 110. If the value of the variable i is larger than the value, the determination is True, and it is determined that a new lesson result cannot be stored in theDB 110, and a series of processing ends here. Otherwise, the determination is False and the routine goes toStep 1105.
[0066]
Instep 1105, the first subscript of the array variable practice_db is the value of the variable i, and the element subscript_db [i] [0] in which the second subscript is specified by 0 is null, that is, whether a value is assigned to the element. Determine whether or not. If a value has been assigned to it, the determination is False, and then the value of the variable i is incremented instep 1106, and the process returns to step 1104. On the other hand, otherwise, the determination is True and the routine goes toStep 1107.
[0067]
Instep 1107, a value is assigned to each of the array elements product_db [i] [0-14]. Specifically, the value of the variable i is substituted for the element practice_db [i] [0]. Hereinafter, similarly, the value of the array element song_info [1] in all the music data constituting the music information is stored in the element “practice_db [i] [1]”, and the starting measure obtained instep 1101 is stored in the element “practice_db [i] [2]”. , The element measure_db [i] [3] has the end bar number, the element practice_db [i] [4] has the value of the array element song_info [3], and the element practice_db [i] [5] has the variable tmpNoteCount. The value and element practice_db [i] [6] are the current date and time, and the element practice_db [i] [7-11] is the variable tmpLStyle, tmpLArea, tmpLHand, tmpLTempo, and iOkey, respectively, and the element practicice_d. [I] [12] minus the value of the variable iOkey from the value of the variable tmpNoteCount is and elements practice_db [i] [13-14] Each of the variable IMissTouch, each value of iTimingMiss is substituted.
[0068]
In astep 1108 following thestep 1107, the clear level is calculated, and the calculation result is substituted into the array element product_db [i] [15]. The calculation is performed, for example, by subtracting the value of the variable iMissTouch from the value of the variable iOkey, multiplying the result of the subtraction by 100, and dividing by the value of the variable tmpNoteCount (clear level = (iOkey− iMissTouch) x 100 / tmpNoteCount). The unit is%. After storing the calculated clear level, a series of processes is terminated.
[0069]
As described above, every time the user performs a lesson, data indicating the result is stored in thepractice history DB 110. As a result, it is possible for the user to easily grasp the result of the lesson performed in the past and its transition.
The lesson results stored in thepractice history DB 110 are displayed on any of the screens in FIGS. Displaying any of these screens is a performance result display process executed asstep 908 in the event process shown in FIG.
[0070]
In the display process, a subroutine process prepared for each display mode is executed in order to display the lesson result in a display mode selected by the user. Here, the contents will be described by focusing on a subroutine process for displaying a lesson result on each screen shown in FIGS. 3 and 4. For convenience of explanation, the subroutine processing for displaying the lesson result on the screen shown in FIG. 3 is called “history display processing for each lesson”, and the subroutine processing for displaying it on the screen shown in FIG. 4 is called “history display processing for each bar”. I will call each one.
[0071]
FIG. 12 is a flowchart of the lesson-specific history display processing. The history display processing is performed with reference to the history display data shown in FIG. 7 and the display color setting data shown in FIG. 8, similarly to the other history display processing. First, the history display processing will be described in detail with reference to FIG.
[0072]
Although detailed description is omitted for the history display data shown in FIG. 7, that is, each element whose third subscript of the array variable dispGrid is specified by 0, 2 to 5, execution of subroutine processing for each display mode is omitted. At the previous stage, a value corresponding to the display form is substituted. Thereby, the screens of the arrangements shown in FIGS. 2 to 4 can be displayed. The second subscript corresponds to the lesson number, and the lesson number is assigned to the element specified by the third subscript of 0.
[0073]
First, instep 1201, 0 is substituted for a variable i for managing a line (line) to be drawn. In the followingstep 1202, it is determined whether or not the line specified by the value of the variable i is a drawing target, that is, whether or not the drawing of the line to be drawn has been completed. When the drawing of the line to be drawn is completed, the determination is True, and a series of processing ends here. Otherwise, the determination is False, and the flow shifts to step 1203.
[0074]
Instep 1203, 0 is substituted for the variable j. The variable j is prepared in order to find out from the display color data constituting the display color setting data (see FIG. 8) which is treated as an array variable dispColor, the one corresponding to the lesson result which is currently focused on. . Instep 1204 to which the process proceeds after substituting 1 for the variable j, it is determined whether or not there is display color data designated by the value of the variable j. If such display data does not exist in the display color setting data, the determination is True, the value of the variable i is incremented instep 1213, and the process returns to step 1202. As a result, the target of interest is changed to another lesson result, and the subsequent processing is similarly executed. On the other hand, if not, the determination is False, and the routine goes to step 1205. The determination of True instep 1204 means that there is no display color data corresponding to the lesson result.
[0075]
Instep 1205, it is determined whether or not the value of the array element practice_db [i] [15] is equal to or greater than the value of the array element dispColor [j] [0] and less than the value of the array element dispColor [j] [1]. If the display color data specified by the value of the variable j corresponds to the clear level in the lesson result specified by the value of the variable i, the relationship is satisfied, so that the determination is True, and the determination is True. The process proceeds to 1207. Otherwise, the determination is False, and then the value of the variable j is incremented instep 1206, and the process returns to step 1204. Thereby, it is confirmed whether or not the display color data specified by the value of the variable j after the increment corresponds to the lesson result of interest at present.
[0076]
Instep 1207, 0 is substituted for a variable k for managing a column to be drawn. Thereafter, instep 1208, it is determined whether the column specified by the value of the variable k is not a drawing target, that is, whether or not the drawing of the column in the row where the drawing is currently performed has been completed. When the rendering of the column is completed, the determination is True, the value of the variable i is incremented instep 1213, and the process returns to step 1202. Otherwise, the determination is False and the process moves to step 1209.
[0077]
Instep 1209, it is determined whether or not the value (column number) of the array element dispGrid [i] [k] [0] is equal to the value (lesson number) of the array element practice_db [i] [8]. If the values are equal, the determination is True and the routine goes toStep 1211. Otherwise, the determination is False, and then the value of the variable k is incremented instep 1210, and the process returns to step 1208.
[0078]
Instep 1211, various display data are set. The setting is performed for elements whose first and second subscripts of the array variable dispGrid are specified by the values of the variables i and k. Specifically, the value of the array element practice_db [i] [15] is stored in the element dispGrid [1] [k] [1], and the value of the array element dispColor [i] [2] is stored in the element dispGrid [1] [k] [6]. Value, the value of the array element dispColor [i] [3] in the element dispGrid [1] [k] [7], the value of the array element dispColor [i] [4] in the element dispGrid [1] [k] [8], Are respectively substituted. In thenext step 1212, a cell (frame) specified from the values of the variables i and k is drawn according to the data set in thestep 1211. After that, the process shifts to step 1213 to increment the variable i.
[0079]
In this manner, the cell for which the lesson result is to be displayed is specified for each row, and the cell is drawn according to the set data, thereby generating the image data of the history screen as shown in FIG. It is displayed by sending it to the display unit 106. Although not specifically shown, in order to display the history screen, a symbol representing a lesson number such as “L1” is drawn on a line corresponding to a value of a variable i set to −1, and the lesson date and time are displayed. When the value of the variable k is set to 0 or -1, it is drawn in the corresponding column.
[0080]
Next, the bar-by-bar history display processing executed when the user specifies to display the bar-by-bar history screen shown in FIG. 4 will be described in detail with reference to the flowchart shown in FIG.
In this history display processing, the processing executed insteps 1301 to 1308 is basically the same as that insteps 1201 to 1208 in the above-described lesson-specific history display processing. Therefore, only the processing afterstep 1309 will be described.
[0081]
Although detailed description is omitted for the history display data shown in FIG. 7, that is, each element whose third subscript of the array variable dispGrid is specified by 0, 2 to 5, execution of subroutine processing for each display mode is omitted. At the previous stage, a value corresponding to the display form is substituted. The bar number is assigned to each element where the first subscript is the same and the third subscript is specified as 0, and the value specifying the second subscript corresponds to the bar number in the lesson range. . Thereby, as shown in FIG. 4, the range of the bar in which the lesson was performed can be indicated by a plurality of cells.
[0082]
Instep 1309, the value of the array element dispGrid [i] [k] [0] is equal to or greater than the value of the array element practice_db [i] [2] (the number of the bar at which the lesson started) and the array element practice_db [i] It is determined whether or not the value is equal to or less than the value of [3] (the number of the bar at which the lesson is completed). If the value of the array element dispGrid [i] [k] [0] satisfies such a condition, the determination is True and the process moves to step 1311. Otherwise, the determination is False, and then the value of the variable k is incremented instep 1310, and the process returns to step 1308.
[0083]
Instep 1311, similarly to step 1211, various display data are set. However, the assignment of the value of the array element practice_db [i] [15] to the array element dispGrid [1] [k] [1] is performed in order to place the clear level only in the cell corresponding to the bar for which the lesson has been completed. This is performed only when it is confirmed that no value has been assigned to the array element dispGrid [1] [k + 1] [1]. Instep 1312 to which the process proceeds after the setting, in accordance with the data set instep 1311, a cell (frame) specified from each value of the variables i and k is drawn. After that, the process shifts to step 1313 to increment the variable k.
<Second embodiment>
In the first embodiment, in addition to the result of the last lesson, the results of other lessons are displayed together. On the other hand, in the second embodiment, in addition to the above, it is possible to predict a future process until completion of the music targeted for the lesson, and to display the prediction result.
[0084]
The prediction result will be one specific goal of the user in the future. For this reason, by presenting the result of the prediction, an environment that encourages the user to take lessons is realized.
The configuration of an electronic keyboard instrument equipped with the learning result display device according to the second embodiment is basically the same as that of the first embodiment. Most of the operation is the same. For this reason, only the parts different from the first embodiment will be described using the same reference numerals as used in the description of the first embodiment.
[0085]
FIG. 14 is a diagram illustrating a lesson-specific history screen according to the second embodiment.
As described above, a lesson of a song is performed by selecting a lesson number, and the selection range is limited according to the result of the lesson performed in the past. For this reason, in the second embodiment, as shown in FIG. 14, the result of each lesson is referred to by number, and in consideration of the state in which the clear level of the lesson changes by number, consideration is given in the future. The transition of the clear level of the lesson is predicted, and the prediction result is displayed in a graph.
[0086]
In order to perform the prediction, in the second embodiment, data for the prediction (hereinafter referred to as “completion prediction data”) is prepared for each practice data. FIG. 15 shows the structure of the completion prediction data.
The prediction data is handled as a two-dimensional array variable linier as shown in FIG. The first subscript is for designating prediction data prepared for each practice data (lesson result), and the second subscript is for designating data constituting the prediction data. As prediction data for one practice data, a coordinate number indicated by “linerID” is assigned to an element whose second suffix is designated by 0, and a lesson designated by “LArea” is assigned to an element designated by a second suffix of 1 A number, a clear level denoted by “ClearLevel” in the element specified by thesecond subscript 2, a horizontal (X-axis) coordinate value denoted by “X” in the element specified by thesecond subscript 3, A vertical (Y-axis) coordinate value represented by “Y” is substituted for the element whose second subscript is designated by 4.
[0087]
The prediction data obtained from the lesson results is used to indicate the position of a point on the history screen shown in FIG. Thus, in the present embodiment, the future transition of the clear level is predicted by specifying a line passing through each point or a line approximating a line passing through each point.
[0088]
In the second embodiment, when executing the lesson-specific history display processing, the prediction data is extracted and generated for each lesson result, and the completion prediction is performed using the data. Next, lesson-specific history display processing according to the second embodiment will be described in detail with reference to the flowchart shown in FIG.
[0089]
As shown in FIG. 14, also in the second embodiment, the lesson result is displayed by changing the display color of the cell and the like. The part related to the display is basically the same as in the first embodiment. For this reason, in order to omit redundant description of that portion, FIG. 16 shows only the portion related to completion prediction and shows the flow of the processing. Thus, only the part related to the completion prediction, that is, the substitution of data to each element of the array variable liner and the method of predicting the future clear level using the substituted data will be described.
[0090]
Insteps 1601 to 1608, processing is performed for extracting the completion prediction data corresponding to the line of interest (lesson result) while changing the line as needed, and assigning the data to the array element. A variable i is used for managing the line, and a variable k is prepared to specify the lesson number of the lesson performed.
[0091]
First, instep 1601, 0 is substituted for a variable i. In the followingstep 1602, it is determined whether or not the lesson result (practice data) specified by the value of the variable i does not exist, that is, whether or not the extraction of the prediction data has been completed. When the extraction is completed, the determination is True, and the routine goes toStep 1609. Otherwise, the determination is False, and the flow shifts to step 1603.
[0092]
Although detailed explanation is omitted, in order to display the predicted transition of the clear level in the graph in the future, if there is room to display the lesson result that does not exist, it is displayed as a target I have. Thus, a history screen is displayed as shown in FIG.
[0093]
Instep 1603, 0 is substituted for the variable k. In the followingstep 1604, it is determined whether or not the confirmation of all the elements specified by the first subscript of the array variable dispGrid by the value of the variable i and the second subscript by the value of the variable k has been completed. The confirmation is performed to determine whether or not there is a lesson result to be displayed on the line specified by the value of the variable i. Therefore, if it can be confirmed that there is no lesson result to be displayed in the line, the determination is True, the value of the variable i is incremented instep 1608, and the process returns to step 1603. Otherwise, the determination is False and the process moves to step 1605.
[0094]
Instep 1605, it is determined whether the value (column number) of the array element dispGrid [i] [k] [0] is equal to the value (lesson number) of the array element practice_db [i] [8]. If the values are equal, the determination is true and the process proceeds to step 1607; otherwise, the determination is false. Then, the value of the variable k is incremented instep 1606, and then the process returns to step 1604. If the value of the array element product_db [i] [8] is 0, the lesson number is an impossible number, and therefore, it is regarded that they do not match even if their values are equal.
[0095]
Instep 1607, the coordinate position of the point corresponding to the lesson result on the history screen shown in FIG. 14 is calculated, and the first subscript of the array variable liner is assigned to each element specified by the value of the variable i. Do. The assignment is as follows: the value of the variable i is assigned to the array element liner [i] [0], the value of the array element practice_db [i] [8] is assigned to the array element liner [i] [1], and the array element liner [i] [ 2] has the value of the array element practice_db [i] [15], and the array element liner [i] [3] has the array element dispGrid [i] with respect to the value of the array element dispGrid [i] [k] [2]. A value obtained by multiplying the value of [k] [4] by the value of the array element product_db [i] [15] and dividing by 100 (= dispGrid [i] [k] [2] + dispGrid [i ] [K] [4] × practice_db [i] [15] / 100), and the array element liner [i] [4] has the value of the array element dispGrid [i] [k] [3]. , The value obtained by dividing the value of the array element dispGrid [i] [k] [5] by 2 (= dispGrid [i] [k] [3] + dispGrid [i] [k] [5] / 2) Substitute each. After the substitution, the flow shifts to step 1608, where the value of the variable i is incremented.
[0096]
In this way, data corresponding to the lesson result and the number of the lesson are assigned to each element in which the first subscript of the array variable liner is specified by the value of the variable i. In the cell corresponding to the lesson number, the X coordinate value assigned to the array element liner [i] [3] clears the value indicating the width on the X axis of the cell to the X coordinate value serving as the base point of the cell. This is the value added according to the level. In the cell corresponding to the lesson number, the Y coordinate value assigned to the array element liner [i] [4] is a half of the value indicating the width on the Y axis of the cell at the Y coordinate value serving as the base point of the cell. Is the value added.
[0097]
Instep 1609, in which the determination instep 1602 is True and the process proceeds, a linear approximation process for generating a function for drawing a line that approximates a line passing through a point whose coordinate position is specified for each lesson is executed. In the followingstep 1610, an approximate curve drawing process for drawing a line using the generated function is executed. After that, instep 1611, the number of lessons required until all the lessons of the song are completed is predicted from the generated function, and a completion prediction process of drawing the prediction result is executed. A series of processing is completed thereafter.
[0098]
Hereinafter, the subroutine processing executed in the above-described history display processing will be described in detail with reference to the flowcharts shown in FIGS.
FIG. 17 is a flowchart of the linear approximation process executed asstep 1609. In the subroutine processing executed in the history display processing, first, the linear approximation processing will be described in detail with reference to FIG. In the present embodiment, a function for drawing a line that approximates a line passing through a point whose coordinate position is specified for each lesson is generated by specifying a coefficient used in the function.
[0099]
First, instep 1701, 0 is substituted for each of variables grad and root for coefficient substitution. In the followingstep 1702, 0 is substituted for each of the variables sum_x, sum_y, count, sum_x_sq, and sum_xy for coefficient calculation. After the assignment, the process proceeds to step 1704 after assigning 0 to the variable i instep 1703. The variable i is for managing the lesson result of interest.
[0100]
Instep 1704, it is determined whether a value has not been assigned to the array element product_db [i] [0], that is, whether the value is null. If a value has not been assigned to it, that is, if there is no other lesson result to be noticed, the determination is True and the process proceeds to step 1707. Otherwise, the determination is False, and the flow shifts to step 1705.
[0101]
Instep 1705, a process of calculating and assigning a value to be assigned to each variable for coefficient calculation is performed. Thereby, the value obtained by adding the value of the array element liner [i] [3] to the previous value is added to the variable sum_x, and the value of the array element liner [i] [4] is added to the previous value to the variable sum_y. The value obtained by adding the value obtained by squaring the value of the array element liner [i] [3] to the previous value is added to the variable sum_x_sq, and the value of the array element liner is added to the variable sum_xy. The value obtained by multiplying the value of [i] [3] by the value of the array element liner [i] [4] is substituted, and the value of the variable count is incremented. In thenext step 1706, the value of the variable i is incremented. Thereafter, the process returns to step 1704.
[0102]
Instep 1707, to which the determination instep 1704 becomes True, the process proceeds to calculate values to be assigned to the variables grad and root and assign them to them. The values to be assigned to those variables are obtained as follows. After the values to be assigned to the variables grad and root are calculated and assigned in this manner, a series of processing is terminated.
[0103]
grad = (count × sum_xy-sum_x × sum_y) / (count × sum_x_sq-sum_x × sum_x)
root = (sum_x_sq × sum_y-sum_x × sum_xy) / (count × sum_x_sq-sum_x × sum_x)
In the present embodiment, the function to be generated is a linear function, that is, a function represented by y = ax + b. a and b are coefficients.
[0104]
The error eri between the linear function and the ith point (xi, yi) is
eri = axi + b-yi
eri2 = a2xi2 + b2-yi2 + 2abxi-2axiiy-2byi
And the sum Er of the entire error (square error) is
Er = Σeri2
= A2Σxi2 + nb2 + Σyi2 + 2abΣxi-2aΣxiyi-2bΣyi
It becomes.
[0105]
At this time, a and b at which the sum Er becomes the smallest are
∂Er / ∂a = 2aΣxi2 + 2bΣxi-2Σxiyi = 0
∂Er / ∂b = 2aΣxi + 2nb-2Σyi = 0
So that
a = (nΣxiyi−ΣxiΣyi) / (nΣxi2- (Σxi) 2)
b = (Σxi2Σyi-ΣxiΣxiyi) / (nΣxi2- (Σxi) 2)
It will be obtained from. The above-described linear approximation processing is executed to obtain coefficients a and b.
[0106]
FIG. 18 is a flowchart of the completion prediction calculation process executed asstep 1611 in the lesson-specific history display process shown in FIG. Next, the calculation processing will be described in detail with reference to FIG.
First, instep 1801, 0 is substituted for the variable term. In thenext step 1802, 0 is substituted for each of the variables max_cur, i. After the substitution, the flow shifts to step 1803.
[0107]
Instep 1803, it is determined whether or not a value has been assigned to the array element cur_info [i] [0], that is, whether or not the value is null. If no value has been assigned to it, the determination is True and the routine moves to step 1805. Otherwise, the determination is False, the value of the variable i is incremented inStep 1804, and the process ofStep 1803 is executed again. As a result, when the determination instep 1803 becomes True, the largest lesson number is assigned to the variable i.
[0108]
Instep 1805, the value of the variable i is substituted for the variable max_cur. In the followingstep 1806, 0 is assigned to each of the variables max_prac, i. Thereafter, instep 1807, the process determines whether or not a value has been assigned to the array element practice_db [i] [0], that is, whether or not the value is null. If no value has been assigned to it, the determination is True and the flow shifts to step 1809. Otherwise, the determination is False, the value of the variable i is incremented inStep 1808, and the process ofStep 1807 is executed again. As a result, when the determination instep 1807 becomes True, the total number of lessons performed by the user has been substituted into the variable i.
[0109]
Instep 1809, the value of the variable i is substituted for the variable max_prac. In thenext step 1810, the number of lessons (the number of completions) estimated to be required to complete the lesson of the song is calculated, and the calculation result is substituted for a variable term. The calculation is performed using the variables grad and root to which values have been substituted in the above-described linear approximation processing. Specifically, this is performed by multiplying the value of the variable max_cur by the value of the variable max_cur, adding the value of the variable root to the multiplication result, and rounding the addition result (“term = int (grad in the figure). × max_cur + root) ").
[0110]
Instep 1811 followingstep 1810, it is determined whether or not the value of the variable term is equal to or greater than the value of the variable max_prac. If the calculated number of completions is equal to or greater than the total number of lessons performed so far, the relationship is satisfied, so the determination is True, and the value obtained by subtracting the value of the variable max_prac from the value of the variable term, that is, the user Then, the number of lessons expected to be required to complete all the lessons of the lesson numbers that have not been performed is calculated, the calculation result is drawn (see FIG. 14), and a series of processing is completed. On the other hand, otherwise, the determination is False, and then, instep 1812, 0 is substituted for the variable term, and the series of processing ends.
[0111]
In the second embodiment, a linear function is generated as a function for performing completion prediction, but the function to be generated is not limited to a linear function. An exponential function, a logarithmic function, or an n-th (n is an integer greater than 1) function may be used. Such a function can be generated, for example, as follows.
[0112]
The exponential function is represented as y = Aexp (Bx) + c. If the starting point is adjusted to the point corresponding to the first lesson, the value of c becomes 0, so that y = Aexp (Bx). Here, the description will be made on the premise of this.
Taking the logarithm of both sides of y = Aexp (Bx),
Bx = lny-lnA
Becomes
lny = Bx + lnA
Is led. Therefore, instead of the m points (x1, y1),... (Xm, ym), the points (x1, lny1),. A first-order function lny = ax + b approximating a line is created, and an exponential function is created from the created function by setting A = exp (b) and B = a.
[0113]
The logarithmic function is represented as y = Aln (Bx) + c. If the starting point is adjusted to the point corresponding to the first lesson, the value of c becomes 0, so that y = Aln (Bx). Here, too, the description will be made on the premise of this.
y = Aln (Bx) is
y = Aln (Bx) = Aln (x) + Aln (B)
It can be expressed as. Therefore, as in the case of the exponential function, instead of the m points (x1, y1),... (Xm, ym), the points (lnx1, y1),. , A first-order function lny = ax + b approximating a line passing through the sampled point is created, and a logarithmic function is created from the created function by setting A = a, B = exp (b / a). .
[0114]
The n-th order function is expressed as y = ax3 + bx2 + cx + d if the value of n is 3, for example. The error eri between the function and the ith point (xi, yi) is
eri = axi3 + bxi2 + cxi + d-yi
eri2 = a2xi6 + b2xi4 + c2xi2 + d2 + yi2
+ 2abxi5 + 2acxi4 + 2adxi3 + 2bcxi3
+ 2bdxi2 + 2cdxi
-2axi3yi-2axi2yi-2axiyi-2dyi
And the sum Er of the entire error (square error) is
Er = Σeri2
= A2 @ xi6 + b2 @ xi4 + c2 @ xi2 + nd2 + @ yi2
+ 2ab @ xi5 + 2ac @ xi4 + 2ad @ xi3 + 2bc @ xi3
+ 2bd @ xi2 + 2cd @ xi
-2a @ xi3yi-2a @ xi2yi-2a @ xiyi-2d @ yi
It becomes.
[0115]
At this time, a, b, c, and d at which the sum Er becomes the minimum are:
∂Er / ∂a = 2aΣxi6 + 2bΣxi5 + 2cΣxi4 + 2dΣxi3
-2 @ xi3yi = 0
∂Er / ∂b = 2aΣxi5 + 2bΣxi4 + 2cΣxi3 + 2dΣxi2
-2 @ xi2yi = 0
∂Er / ∂c = 2aΣxi4 + 2bΣxi3 + 2cΣxi2 + 2dΣxi
-2 @ xiyi = 0
∂Er / ∂d = 2aΣxi3 + 2bΣxi2 + 2cΣxi + 2nd
-2 @ yi = 0
Will be satisfied.
[0116]
When the n-th order function is y = anxn + an-1xn-1 +... + a1x + a0,
Er = ΣxΣkΣlakxikalxil-2ΣxyΣkΣlakxikyi + yi2
Because
[0117]
(Equation 1)
Figure 2004184757
[0118]
It can be said that a0, a1,..., An that gives the relationship Therefore,
[0119]
(Equation 2)
Figure 2004184757
[0120]
By solving, an n-order function can be created.
In the present embodiment (first and second embodiments), all the lesson results are to be displayed, but the lesson results to be displayed are not necessarily required. For example, one lesson result may be displayed for a predetermined number of lessons, or one lesson result may be displayed per day. In addition to the number of times and the date and time, the lesson result may be extracted and displayed by focusing on the lesson number of the lesson that has been performed. Thus, various modifications can be made. This can be applied to the storage of the lesson results (practice data) in thepractice history DB 110.
[0121]
The learning result display device according to the present embodiment is obtained by applying the present invention to a learning result display device mounted on an electronic musical instrument, but applicable learning result display devices are limited to those mounted on an electronic musical instrument. Do not mean. Further, the learning for displaying the result is not limited to the performance of the music, and the present invention can be widely applied to the learning involving keyboard operation.
[0122]
A program that realizes the operation of the learning performance display device as described above or the operation of the modification thereof may be recorded on a recording medium such as a CD-ROM, a DVD, or a magneto-optical disk and distributed. Alternatively, part or all of the program may be distributed via a transmission medium used in a public network or the like. In such a case, the user can construct a learning result display device to which the present invention is applied by using the data processing device by acquiring the program and loading the program into a data processing device such as a computer. . For this reason, the recording medium may be one that can be accessed by an apparatus that distributes the program.
[0123]
【The invention's effect】
As described above, the present invention shows the learning result of the user, which is generated by comparing the learning content data indicating the content of the learning performed by the user with the model learning data indicating the content to be used as a model of the learning. The result data is selected according to a predetermined rule, and the selected result data is displayed on a display device.
[0124]
When a plurality of learning results are displayed, the user can easily understand what the results of the learning performed by the user in the past and how the results have changed. As a result, the transition of the level of the learning performed by the user is visually presented.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of an electronic musical instrument equipped with a learning result display device according to a first embodiment.
FIG. 2 is a diagram showing a performance history screen.
FIG. 3 is a diagram showing a lesson-specific history screen.
FIG. 4 is a diagram showing a bar-specific history screen.
FIG. 5 is a diagram illustrating a configuration of music information.
FIG. 6 is a diagram illustrating a configuration of a practice history database.
FIG. 7 is a diagram illustrating history display data.
FIG. 8 is a diagram illustrating display color setting data.
FIG. 9 is a flowchart of an event process.
FIG. 10 is a flowchart of a right / wrong judgment process of a performance.
FIG. 11 is a flowchart of a performance result storing process.
FIG. 12 is a flowchart of a lesson-specific history display process.
FIG. 13 is a flowchart of a bar-specific history display process.
FIG. 14 is a diagram showing a lesson-specific history screen (second embodiment).
FIG. 15 is a diagram illustrating completion prediction data.
FIG. 16 is a flowchart of a lesson-specific history display process (second embodiment).
FIG. 17 is a flowchart of a linear approximation process.
FIG. 18 is a flowchart of a completion prediction calculation process.
[Explanation of symbols]
101 CPU
102 ROM
103 RAM
104 switch section
105 keys
106 Display
110 Practice History Database

Claims (6)

Translated fromJapanese
学習用装置に備えられた1つ以上の操作子に対し、予め定められた順序で操作していく学習をユーザーが行った結果を表示させる装置であって、
ユーザーが行った前記学習の内容を示す学習内容データを取得する学習内容取得手段と、
前記学習の手本とすべき内容を示す模範学習データを前記学習内容取得手段が取得した前記学習内容データと比較して、ユーザーの学習結果を示す結果データを生成するデータ生成手段と、
前記データ生成手段が生成した結果データのなかで表示の対象とする結果データを予め定めた規則に従って選択し、該選択した結果データを表示装置上に表示させることができる学習結果表示手段と、
を具備することを特徴とする学習結果表示装置。
For one or more operators provided in the learning device, a device that displays the result of the user performing learning to operate in a predetermined order,
Learning content acquisition means for acquiring learning content data indicating the content of the learning performed by the user,
Data generation means for comparing the model learning data indicating the content to be modeled for the learning with the learning content data obtained by the learning content obtaining means, and generating result data indicating a user's learning result;
Learning result display means for selecting result data to be displayed from among the result data generated by the data generation means according to a predetermined rule, and displaying the selected result data on a display device;
A learning result display device comprising:
前記学習すべき内容全体が複数の部分に分けられて、該部分単位で学習範囲が選択される場合に、前記学習結果表示手段は、該学習範囲と対応付けて前記結果データを表示させる、
ことを特徴とする請求項1記載の学習結果表示装置。
When the entire content to be learned is divided into a plurality of portions and a learning range is selected in units of the portions, the learning result display means displays the result data in association with the learning range.
The learning result display device according to claim 1, wherein:
前記データ生成手段は、前記結果データとして、前記学習を行ったユーザーの該学習における習得度合を示すデータを生成でき、
前記学習結果表示手段は、前記データ生成手段がデータを生成した習得度合を表示させることができる、
ことを特徴とする請求項1、または2記載の学習結果表示装置。
The data generating means can generate, as the result data, data indicating a learning degree of the user who has performed the learning in the learning,
The learning result display means can display a learning degree at which the data generation means has generated data,
The learning result display device according to claim 1 or 2, wherein:
前記データ生成手段は、前記習得度合を基に、前記学習を行うユーザーの習得度合の今後における推移を予測し、
前記学習結果表示手段は、前記データ生成手段が予測した習得度合の今後の推移を表示させることができる、
ことを特徴とする請求項3記載の学習結果表示装置。
The data generating means predicts a future transition of the learning degree of the user performing the learning based on the learning degree,
The learning result display means can display a future transition of the learning degree predicted by the data generation means,
The learning result display device according to claim 3, wherein:
前記学習が前記学習用装置として楽器を使用する曲の演奏であった場合、前記データ生成手段は、前記模範学習データを前記学習内容データと比較して、該楽器上の操作子への操作によりユーザーが発音を指示した楽音のなかで、該操作のタイミングで放音させるべき楽音の音高と所定の範囲内で異なっている楽音の数を計数し、
前記学習結果表示手段は、前記データ生成手段が計数した楽音の数を表示させることができる、
ことを特徴とする請求項1〜4の何れか1項に記載の学習結果表示装置。
When the learning is a performance of a song using a musical instrument as the learning device, the data generating unit compares the model learning data with the learning content data, and performs an operation on an operator on the musical instrument. Counting the number of musical tones to be emitted at the timing of the operation within a predetermined range from the musical tones that the user instructed to pronounce,
The learning result display means can display the number of musical tones counted by the data generation means,
The learning result display device according to any one of claims 1 to 4, wherein:
学習用装置に備えられた1つ以上の操作子に対し、予め定められた順序で操作していく学習をユーザーが行った結果を表示させる装置に実行させるプログラムであって、
ユーザーが行った前記学習の内容を示す学習内容データを取得する機能と、
前記学習の手本とすべき内容を示す模範学習データを前記取得する機能により取得した前記学習内容データと比較して、ユーザーの学習結果を示す結果データを生成する機能と、
前記生成する機能により生成した結果データのなかで表示の対象とする結果データを予め定めた規則に従って選択し、該選択した結果データを表示装置上に表示させることができる機能と、
を実現させるためのプログラム。
A program for causing a device that displays a result of a user performing learning to operate in a predetermined order to one or more operators provided in a learning device,
A function of acquiring learning content data indicating the content of the learning performed by the user,
A function of generating result data indicating a user's learning result, in comparison with the learning content data acquired by the function for acquiring model learning data indicating the content to be a model of the learning,
A function of selecting result data to be displayed from among the result data generated by the generating function according to a predetermined rule, and displaying the selected result data on a display device;
The program to realize.
JP2002352631A2002-12-042002-12-04 Learning result display device and programExpired - Fee RelatedJP3988633B2 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
JP2002352631AJP3988633B2 (en)2002-12-042002-12-04 Learning result display device and program

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
JP2002352631AJP3988633B2 (en)2002-12-042002-12-04 Learning result display device and program

Publications (2)

Publication NumberPublication Date
JP2004184757Atrue JP2004184757A (en)2004-07-02
JP3988633B2 JP3988633B2 (en)2007-10-10

Family

ID=32754199

Family Applications (1)

Application NumberTitlePriority DateFiling Date
JP2002352631AExpired - Fee RelatedJP3988633B2 (en)2002-12-042002-12-04 Learning result display device and program

Country Status (1)

CountryLink
JP (1)JP3988633B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
WO2007032155A1 (en)*2005-09-122007-03-22Yamaha CorporationEnsemble system
US7888576B2 (en)2005-09-282011-02-15Yamaha CorporationEnsemble system
US7947889B2 (en)2005-09-282011-05-24Yamaha CorporationEnsemble system
JP2013068879A (en)*2011-09-262013-04-18Casio Comput Co LtdDevice for providing estimated amount of practice, support function recommendation device, support function recommendation system and program
JP2013080155A (en)*2011-10-052013-05-02Casio Comput Co LtdMusical performance evaluating apparatus, program and musical performance evaluating method
CN103680253A (en)*2012-09-202014-03-26卡西欧计算机株式会社Practice time calculating apparatus, and a practice time calculating method
US8809664B2 (en)2011-09-262014-08-19Casio Computer Co., Ltd.Support function recommending apparatus, a support function recommending method, a support function recommending system, and a recording medium
CN111583738A (en)*2020-06-172020-08-25湖南卡罗德音乐集团有限公司Online partner training method for one-to-many pianos

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JP5549687B2 (en)*2012-01-202014-07-16カシオ計算機株式会社 Music score display device and program thereof

Cited By (12)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
WO2007032155A1 (en)*2005-09-122007-03-22Yamaha CorporationEnsemble system
JP2007078751A (en)*2005-09-122007-03-29Yamaha CorpConcert system
US7939740B2 (en)2005-09-122011-05-10Yamaha CorporationEnsemble system
US7888576B2 (en)2005-09-282011-02-15Yamaha CorporationEnsemble system
US7947889B2 (en)2005-09-282011-05-24Yamaha CorporationEnsemble system
JP2013068879A (en)*2011-09-262013-04-18Casio Comput Co LtdDevice for providing estimated amount of practice, support function recommendation device, support function recommendation system and program
US8809664B2 (en)2011-09-262014-08-19Casio Computer Co., Ltd.Support function recommending apparatus, a support function recommending method, a support function recommending system, and a recording medium
JP2013080155A (en)*2011-10-052013-05-02Casio Comput Co LtdMusical performance evaluating apparatus, program and musical performance evaluating method
CN103680253A (en)*2012-09-202014-03-26卡西欧计算机株式会社Practice time calculating apparatus, and a practice time calculating method
JP2014062938A (en)*2012-09-202014-04-10Casio Comput Co LtdPractice time prediction apparatus, practice time prediction method and program
US9018503B2 (en)2012-09-202015-04-28Casio Computer Co., Ltd.Practice time calculating apparatus, a practice time calculating method, and a computer readable recording medium
CN111583738A (en)*2020-06-172020-08-25湖南卡罗德音乐集团有限公司Online partner training method for one-to-many pianos

Also Published As

Publication numberPublication date
JP3988633B2 (en)2007-10-10

Similar Documents

PublicationPublication DateTitle
JP4094236B2 (en) Performance support apparatus, performance support method, and performance support program for realizing the method on a computer
US6063994A (en)Simulated string instrument using a keyboard
EP0933749A2 (en)Music lesson system with local training terminal and remote supervisory station
JP2014038308A (en)Note sequence analyzer
EP1302927B1 (en)Chord presenting apparatus and method
JP3988633B2 (en) Learning result display device and program
JPH10187022A (en)System and method for music practice and recording medium for recording program for realizing the same method
JP2006276333A (en)Electronic musical instrument and velocity display program
JP2002202776A (en) Performance teaching device and performance teaching method
US5990404A (en)Performance data editing apparatus
US20020157521A1 (en)Method and system for learning to play a musical instrument
US7166792B2 (en)Storage medium containing musical score displaying data, musical score display apparatus and musical score displaying program
JP4797523B2 (en) Ensemble system
JP4361327B2 (en) Electronic musical instrument performance evaluation device
JP4483304B2 (en) Music score display program and music score display device
JPH09237088A (en) Performance analysis device, performance analysis method, and storage medium
JPH096346A (en)Control data inputting method for automatic playing
JP2002323891A (en) Music analysis device and program
JP3582320B2 (en) Music training system, music training method, and recording medium recording program for realizing the method
JPH0619388A (en)Musical performance practice device
US20250022446A1 (en)Systems And Methods For Intervallic Music Creation
US20230410676A1 (en)Information processing system, electronic musical instrument, information processing method, and machine learning system
JP4743615B2 (en) Electronic musical instrument with practice function
JP3624773B2 (en) Reading practice device, reading practice method, and computer-readable recording medium recording a program for realizing the method
JP4093000B2 (en) Storage medium storing score display data, score display apparatus and program using the score display data

Legal Events

DateCodeTitleDescription
A621Written request for application examination

Free format text:JAPANESE INTERMEDIATE CODE: A621

Effective date:20050517

A131Notification of reasons for refusal

Free format text:JAPANESE INTERMEDIATE CODE: A131

Effective date:20061017

A521Written amendment

Free format text:JAPANESE INTERMEDIATE CODE: A523

Effective date:20061113

A131Notification of reasons for refusal

Free format text:JAPANESE INTERMEDIATE CODE: A131

Effective date:20070320

A521Written amendment

Free format text:JAPANESE INTERMEDIATE CODE: A523

Effective date:20070405

TRDDDecision of grant or rejection written
A01Written decision to grant a patent or to grant a registration (utility model)

Free format text:JAPANESE INTERMEDIATE CODE: A01

Effective date:20070626

A61First payment of annual fees (during grant procedure)

Free format text:JAPANESE INTERMEDIATE CODE: A61

Effective date:20070709

FPAYRenewal fee payment (event date is renewal date of database)

Free format text:PAYMENT UNTIL: 20100727

Year of fee payment:3

R150Certificate of patent or registration of utility model

Free format text:JAPANESE INTERMEDIATE CODE: R150

FPAYRenewal fee payment (event date is renewal date of database)

Free format text:PAYMENT UNTIL: 20110727

Year of fee payment:4

FPAYRenewal fee payment (event date is renewal date of database)

Free format text:PAYMENT UNTIL: 20110727

Year of fee payment:4

FPAYRenewal fee payment (event date is renewal date of database)

Free format text:PAYMENT UNTIL: 20120727

Year of fee payment:5

FPAYRenewal fee payment (event date is renewal date of database)

Free format text:PAYMENT UNTIL: 20120727

Year of fee payment:5

FPAYRenewal fee payment (event date is renewal date of database)

Free format text:PAYMENT UNTIL: 20130727

Year of fee payment:6

LAPSCancellation because of no payment of annual fees

[8]ページ先頭

©2009-2025 Movatter.jp