JP4442144B2 - 演奏支援装置および演奏支援プログラム - Google Patents

演奏支援装置および演奏支援プログラム Download PDF

Info

Publication number
JP4442144B2
JP4442144B2 JP2003271272A JP2003271272A JP4442144B2 JP 4442144 B2 JP4442144 B2 JP 4442144B2 JP 2003271272 A JP2003271272 A JP 2003271272A JP 2003271272 A JP2003271272 A JP 2003271272A JP 4442144 B2 JP4442144 B2 JP 4442144B2
Authority
JP
Japan
Prior art keywords
performance
support data
area
support
section
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003271272A
Other languages
English (en)
Other versions
JP2005031458A (ja
Inventor
淳一郎 副島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2003271272A priority Critical patent/JP4442144B2/ja
Publication of JP2005031458A publication Critical patent/JP2005031458A/ja
Application granted granted Critical
Publication of JP4442144B2 publication Critical patent/JP4442144B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

本発明は、演奏上で注意喚起すべき内容をユーザに報知して演奏操作を支援する演奏支援装置および演奏支援プログラムに関する。
ユーザの演奏操作を支援する装置として、例えば特許文献1には、演奏入力された音高に応じて演奏曲中の演奏箇所を検出し、検出した演奏箇所に対応してディスプレイに表示される楽譜を更新したり、演奏入力された音高と演奏曲中の音符データとを比較した結果に基づいてユーザにテンポずれを指摘するようにした演奏支援装置が開示されている。
特許公開2001−337675号公報
ところで、上述した従来の演奏支援装置では、演奏入力した後にその適否を判定してから演奏支援するので、例えばこれから演奏しようとするフレーズに進行する前に、そのフレーズで演奏ミスし易い箇所などのワンポイントアドバイスをユーザに提供する等、演奏上で注意喚起すべき内容を事前にユーザに報知することができない、という問題がある。
そこで本発明は、このような事情に鑑みてなされたもので、演奏上で注意喚起すべき内容を事前にユーザに報知することができる演奏支援装置および演奏支援プログラムを提供することを目的としている。
上記目的を達成するため、請求項1に記載の発明では、課題曲中の類似する類似区間同士をグループ化し、グループ化された各類似区間の支援データを記憶する区間情報記憶手段と、演奏操作に応じて発生する演奏データと、課題曲を形成する各音符を表す演奏情報とを比較して得た比較結果を分析して演奏判定し、その判定結果に対応した種類の支援データを指定する支援データ指定手段と、前記支援データ指定手段が演奏判定した類似区間と同一グループの他の類似区間を前記区間情報記憶手段から検索し、該当する類似区間について、前記支援データ指定手段にて指定された種類の支援データを前記区間情報記憶手段に設定する支援データ設定手段と、演奏進行に従い、前記区間情報記憶手段から対応する類似区間の支援データを読み出し、その類似区間の演奏タイミングより早い時期に支援データを再生して演奏支援する支援手段とを具備することを特徴とする。
上記請求項に従属する請求項に記載の発明では、前記支援データ指定手段は、演奏区間に存在する前記課題曲の音符のうち演奏操作により正しく弾けた数と当該演奏区間に存在する前記課題曲の音符の総数との比率を表わす正解率が所定以上の場合には、前記演奏操作により入力された音符のうち前記演奏区間内の前記課題曲中に存在しない音符の数と当該演奏区間に存在する前記課題曲の音符の総数との比率を表わす不正解率に応じて完成期および安定期のいずれであるかを判定し、正解率が所定未満の場合にはどの程度演奏操作が行われたかを表す演奏率に応じて向上期および練習初期のいずれであるかを判定する判定手段と、この判定手段によって完成期と判定された場合には支援データ再生を行なわないように指定するとともに、安定期と判定された場合には正しく弾けた旨を表す支援データを、向上期と判定された場合には演奏上で注意喚起する点を表す支援データを、練習初期と判定された場合には正しく弾けていない旨を表す支援データをそれぞれ指定する指定手段とを具備することを特徴とする。
請求項に記載の発明では、課題曲中の類似する類似区間同士をグループ化し、グループ化された各類似区間の支援データを記憶する区間情報データベースを備えた演奏支援装置として使用されるコンピュータに、演奏操作に応じて発生する演奏データと、課題曲を形成する各音符を表す演奏情報とを比較して得た比較結果を分析して演奏判定し、その判定結果に対応した種類の支援データを指定する支援データ指定処理と、前記支援データ指定処理にて演奏判定された類似区間と同一グループの他の類似区間を前記区間情報データベースから検索し、該当する類似区間について、前記支援データ指定処理にて指定された種類の支援データを前記区間情報データベースに設定する支援データ設定処理と、演奏進行に従い、前記区間情報データベースから対応する類似区間の支援データを読み出し、その類似区間の演奏タイミングより早い時期に支援データを再生して演奏支援する支援処理とを実行させることを特徴とする。
上記請求項に従属する請求項に記載の発明では、前記支援データ指定処理は、演奏区間に存在する前記課題曲の音符のうち演奏操作により正しく弾けた数と当該演奏区間に存在する前記課題曲の音符の総数との比率を表わす正解率が所定以上の場合には、前記演奏操作により入力された音符のうち前記演奏区間内の前記課題曲中に存在しない音符の数と当該演奏区間に存在する前記課題曲の音符の総数との比率を表わす不正解率に応じて完成期および安定期のいずれであるかを判定し、正解率が所定未満の場合にはどの程度演奏操作が行われたかを表す演奏率に応じて向上期および練習初期のいずれであるかを判定する判定処理と、この判定処理にて完成期と判定された場合には支援データ再生を行なわないように指定するとともに、安定期と判定された場合には正しく弾けた旨を表す支援データを、向上期と判定された場合には演奏上で注意喚起する点を表す支援データを、練習初期と判定された場合には正しく弾けていない旨を表す支援データをそれぞれ指定する指定処理とを具備することを特徴とする。
請求項1、に記載の発明によれば、課題曲中の類似する類似区間同士をグループ化し、グループ化された各類似区間の支援データを記憶する区間情報記憶手段を設け、演奏操作に応じて発生する演奏データと課題曲を形成する各音符を表す演奏情報とを比較して得た比較結果を分析して演奏判定し、その判定結果に対応した種類の支援データを指定すると、演奏判定した類似区間と同一グループの他の類似区間を区間情報記憶手段から検索し、該当する類似区間について、指定された種類の支援データを区間情報記憶手段に設定する。そして、演奏進行に従い、区間情報記憶手段から対応する類似区間の支援データを読み出し、その類似区間の演奏タイミングより早い時期に支援データを再生して演奏支援するので、例えばこれから演奏しようとするフレーズに進行する前に、そのフレーズで演奏ミスし易い箇所などのワンポイントアドバイスをユーザに提供する等、演奏上で注意喚起すべき内容を事前にユーザに報知することができる。
請求項2、4に記載の発明によれば、演奏区間に存在する前記課題曲の音符のうち演奏操作により正しく弾けた数と当該演奏区間に存在する前記課題曲の音符の総数との比率を表わす正解率が所定以上の場合には、前記演奏操作により入力された音符のうち前記演奏区間内の前記課題曲中に存在しない音符の数と当該演奏区間に存在する前記課題曲の音符の総数との比率を表わす不正解率に応じて完成期および安定期のいずれであるかを判定し、正解率が所定未満の場合にはどの程度演奏操作が行われたかを表す演奏率に応じて向上期および練習初期のいずれであるかを判定する。そして、完成期と判定された場合には支援データ再生を行なわないように指定するとともに、安定期と判定された場合には正しく弾けた旨を表す支援データを、向上期と判定された場合には演奏上で注意喚起する点を表す支援データを、練習初期と判定された場合には正しく弾けていない旨を表す支援データをそれぞれ指定するので、ユーザに演奏習熟レベルを報知し得るようにすることができる。
本発明による演奏支援装置および演奏支援プログラムは、周知の電子楽器もしくはパーソナルコンピュータを用いたDTM(デスクトップミュージック)装置などに適用され得る。以下では、本発明を実施するための最良の形態によるDTM装置を実施例とし、これについて図面を参照して説明する。
A.実施例の構成
(1)全体構成
図1は実施例の構成を示すブロック図である。この図において、10は構成要素1〜6からなるDTM装置、20はDTM装置10とMIDI接続される電子楽器である。電子楽器20は鍵盤を備え、この鍵盤を用いたユーザの演奏操作に応じて発生する演奏データをMIDI出力する。DTM装置10は、電子楽器20側から演奏データがMIDI入力される毎に、課題曲の各音符を表す演奏情報と比較して演奏の適否を判定し、その比較結果を対応する演奏情報に関連付けて保存する。また、DTM装置10は、演奏情報に関連付けて保存された比較結果に基づき、ユーザの演奏が「完成期」、「安定期」、「向上期」および「練習初期」のいずれに該当するのかを演奏判定し、判定結果に対応した内容の支援データを選択する。
DTM装置10は、課題曲をフレーズ単位に区切った演奏区間(以後、エリアと称す)毎の支援データを記憶するエリア情報データベースarea_info(後述する)を備える。各エリアはフレーズの類似性に対応してグループ化される。最初に演奏判定されるエリアの判定結果に従い、そのエリアと同一グループに属する他のエリアにおける支援データを設定する。例えば、最初に演奏判定されるエリアが「向上期」と判定された場合、そのエリアと同一グループに属する他のエリアに、演奏上で注意喚起すべき内容を表す支援データを設定する。DTM装置10はエリア情報データベースarea_infoを参照し、楽譜上の支援対象箇所より早いタイミングで先行的に支援データを再生する。これにより、演奏上で注意喚起すべき内容を事前にユーザに報知し得るようになる。
(2)DTM装置10の構成
次に、図1を参照してDTM装置10の構成を説明する。図1において、1は装置各部を制御するCPUである。CPU1は、MIDI入力される演奏データと課題曲の演奏情報とを比較した比較結果に基づき、ユーザの演奏が「完成期」、「安定期」、「向上期」および「練習初期」のいずれに該当するのかを演奏判定し、判定結果に対応した内容の支援データを設定し、これに基づき演奏支援する。こうした本発明の要旨に係わるCPU1の処理動作は追って詳述する。
2はプログラムエリアおよびデータエリアを有するROMである。ROM2のプログラムエリアには、後述するメインルーチン、再生開始処理、支援開始処理、支援終了処理、演奏結果判定処理および演奏情報検索保存処理を実行する各種制御プログラムが記憶される。ROM2のデータエリアには、手本となる課題曲の演奏情報が複数曲分記憶されており、これら内から選曲指定される課題曲の演奏情報がRAM3のデータエリアに格納される。演奏情報のデータ構造については追って述べる。
3はワークエリアおよびデータエリアを備えるRAMである。RAM3のワークエリアには、CPU1の処理に用いられる各種レジスタ・フラグデータが一時記憶される。RAM3のデータエリアには、演奏情報playdat、エリア情報データベースarea_infoおよび停止情報nowplayが格納される。これら情報のデータ構造については追って述べる。
MIDIインタフェース4は、CPU1の制御の下に、電子楽器20側から送出される演奏データを取り込む一方、DTM装置10側で発生したノートオンイベントを電子楽器20にMIDI出力する。キーボード5はキー入力操作に応じたイベントを発生する。キーボード5では、後述する再生開始処理の開始を指示するスタートスイッチおよび再生開始処理の停止を指示するストップスイッチが所定のキースイッチに割り当てられている。表示部6はLCDパネル等から構成され、CPU1から供給される表示制御信号に応じて、演奏情報を楽譜表示したり、支援データを画面表示する。
(3)データ構造
次に、図2〜図4を参照して、RAM3のデータエリアに格納される演奏情報playdat、エリア情報データベースarea_infoおよび停止情報nowplayのデータ構造を説明する。
図2は演奏情報playdatのデータ構造を示すメモリマップである。演奏情報playdatは、課題曲を形成する各音符に対応して曲進行順にアドレッシングされる演奏情報playdat[0]〜[n]から構成されている。演奏情報playdat[i](i=0〜n)は、課題曲中の音符を識別するノート識別番号note_id(playdat[i][0])、音高を表すノート番号note#(playdat[i][1])、曲頭からの経過時間で表現される発音タイミングTick(playdat[i][2])、曲頭からの経過時間で表現される消音タイミングEndTick(playdat[i][3])、処理状態を表すステイタスstatus(playdat[i][4])および演奏入力される演奏データとの比較結果Result(playdat[i][5])から構成される。
演奏情報playdat[i][4]のステイタスstatusは、未発音の時に「0」、発音中に「1」、発音済みの時に「2」となる。また、演奏情報playdat[i][5]の比較結果Resultは、「−1」〜「3」のいずれかの整数値に設定される。
各値が意味するところは次の通りである。「−1」は正しく弾けていないことを表す。「0」は演奏範囲に無いことを表す。「1」は正しく弾かれたことを表す。「2」は演奏データが課題曲のノートデータの発音タイミングより早く押鍵されたことを表す。「3」は演奏データが課題曲のノートデータの発音タイミングより遅く押鍵されたことを表す。
次に、図3を参照してエリア情報データベースarea_infoのデータ構造を説明する。エリア情報データベースarea_infoは、課題曲をフレーズ単位に区切ったエリア(演奏区間)毎のエリア情報area_info[0]〜[n]から構成される。各エリアはフレーズの類似性に対応してグループ化される。
一つの区間のエリア情報area_info[i]はarea_info[i][0]〜area_info[i][16]を備える。area_info[i][0]はエリア固有の識別番号id、area_info[i][1]は曲頭からの経過時間で表現されるエリア開始時刻StartTick、area_info[i][2]は曲頭からの経過時間で表現されるエリア終了時刻EndTick、area_info[i][3]は本エリアが属するグループを表すグループ番号AreaGroupである。
area_info[i][4]は、本エリアに設定される支援データ(後述する)の再生形態を指示する再生フラグFlugである。再生フラグFlugは「0」〜「3」の値をとり、各値が意図する意味は次の通りである。「0」の場合には支援データを再生しない旨を表す。「1」の場合には支援データOKDataの再生を指示する。支援データOKDataとは、area_info[i][7]に格納され、本エリアを正しく弾けたことをユーザに報知するデータである。「2」の場合には支援データCautDataの再生を指示する。支援データCautDataとは、area_info[i][9]に格納され、本エリアを演奏する上で注意喚起する点をユーザに報知するデータである。「3」の場合には支援データNGDataの再生を指示する。支援データNGDataとは、area_info[i][11]に格納され、本エリアが正しく弾けていないことをユーザに報知するデータである。
area_info[i][5]は、本エリアの処理状態を表す状態フラグStatusである。状態フラグStatusは「0」の場合には未処理を表し、「1」の場合には実行中を表し、「2」の場合には完了を表す。area_info[i][6]は、支援データOKData(area_info[i][7])の再生タイミングを表す時間データOKGateTimeである。area_info[i][8]は、支援データCautData(area_info[i][9])の再生タイミングを表す時間データCautGateTimeである。area_info[i][10]は、支援データNGData(area_info[i][11])の再生タイミングを表す時間データNGGateTimeである。
area_info[i][12]は、本エリアの判定結果を表す結果フラグResultであり、「1」の場合に練習初期、「2」の場合に向上期、「3」の場合に安定期および「4」の場合に完成期であることを表す。area_info[i][13]は、前エリアまで累算したミスタッチ回数MissTCntBである。area_info[i][14]は、本エリアで発生したミスタッチ回数MissTCntである。area_info[i][15]は、曲頭からの経過時間で表現される支援開始時刻supStartである。area_info[i][16]は、曲頭からの経過時間で表現される支援終了時刻supEndである。
次に、図4を参照して停止情報nowplayのデータ構造を説明する。停止情報nowplayは、課題曲の再生に応じて行われる演奏支援の内容を表すデータであり、停止情報nowplay[0]〜[n]から構成される。一つの停止情報nowplay[i](i=0〜n)は、nowplay[i][0]〜[4]からなる。nowplay[i][0]は支援されている処理内容を表す処理タイプplaytypeである。処理タイプplaytypeは「0」の場合に「ノート出力」を表し、「1」の場合に画面への文字出力を表し、「2」の場合に画面出力を表し、「3」の場合に音声出力を表す。nowplay[i][1]は曲頭からの経過時間で表現される支援処理開始時刻Tickである。nowplay[i][2]は曲頭からの経過時間で表現される支援処理終了時刻TickEndである。nowplay[i][3]は支援対象となる演奏情報playdatを指し示すポインタOrgIndexである。nowplay[i][4]は次の停止情報を指し示すポインタNextPtrである。
なお、上述したエリア情報area_info[i]中の支援開始時刻supStart/支援終了時刻supEndと、停止情報nowplay[i]中の支援処理開始時刻Tick/支援処理終了時刻TickEndとの関係は次の通りである。
エリア情報area_info[i]中の支援開始時刻supStartと支援終了時刻supEndとで指定される支援対象範囲に設定される支援データ(OKData、CautData、NGData)を、それに先立つ支援処理開始時刻Tickおよび支援処理終了時刻TickEndで指定されるタイミングで再生することによって、演奏に先立って注意喚起するなどの先行支援を実現している。
B.実施例の動作
次に、図5〜図16を参照して実施例の動作について説明する。以下では、最初にメインルーチンの動作について説明し、続いて再生開始処理、支援開始処理、支援終了処理、演奏判定保存処理および演奏結果判定処理の各動作を順番に説明して行く。
(1)メインルーチンの動作
DTM装置10において、メインルーチンが実行されると、CPU1は図5に示すステップS1に進み、装置各部を初期化するイニシャライズを行った後、ステップS2に進む。ステップS2では、停止フラグTFを「1」にセットしてホルト状態に設定する。次いで、ステップS3では、スタートスイッチのオン操作の有無を判断する。スタートスイッチがオン操作されなければ、判断結果は「NO」となり、再びステップS3に処理を戻す。
一方、スタートスイッチ5がオン操作されると、判断結果が「YES」となり、ステップS4に進み、停止フラグTFをゼロリセットしてホルト状態を解除する。この後、ステップS5に進み、エリア情報area_infoおよび停止情報nowplayを参照して演奏支援を行う再生開始処理を実行した後、ステップS3に処理を戻す。
(2)再生開始処理、支援開始処理および支援終了処理の動作
次に、図6〜図11を参照して再生開始処理、支援開始処理および支援終了処理の動作を説明する。上述したメインルーチンのステップS5(図5参照)を介して本処理が実行されると、CPU1は図6に示すステップSA1に進む。ステップSA1では現時刻をレジスタStartTickにストアし、続くステップSA2ではポインタi、iAI、iLastおよびiPDをそれぞれゼロリセットする。
そして、ステップSA3では停止フラグTFが「0」、つまりスタートスイッチ5のオン操作によりホルト状態が解除されている否かを判断する。停止フラグTFが「1」のホルト状態であると、判断結果は「NO」になり、本処理を完了させて上述のメインルーチンに処理を戻す。一方、ホルト状態が解除されていれば、判断結果が「YES」となり、ステップSA5に進む。
ステップSA5では現時刻からレジスタStartTickに格納される時刻を差し引いた時刻を、再生時刻としてレジスタNowTickにストアする。以降、レジスタNowTickを再生時刻NowTickと記す。
次に、ステップSA6では、ポインタiとポインタiLastが一致するか否かを判断する。初期化された時点では、両ポインタは一致するので、判断結果は「YES」となり、図7のステップSA13以降に処理を進める。
以後、本処理では再生時刻NowTickが「発音タイミングTickを過ぎた場合」、「エリア開始時刻StartTickを過ぎた場合」、「支援処理終了時刻TickEndを過ぎた場合」および「支援終了時刻supEndを過ぎた場合」の処理を実行すると共に、ユーザの演奏操作に応じて「MIDIイベントが発生した場合」の処理を実行するようになっており、これら各処理の動作を順次説明して行く。
a.発音タイミングTickを過ぎた場合
再生時刻NowTickが演奏情報playdatの発音タイミングTick(playdat[iPD][2])を過ぎていると、図7に示すステップSA13の判断結果が「YES」になり、ステップSA14に進む。ステップSA14では、演奏情報playdat[iPD][1](ノート番号Note#)で指定される音高の楽音を発音するよう電子楽器20側に指示するノートオン処理を実行する。これにより、発音タイミングTickを過ぎても演奏されない演奏情報playdat[iPD]を再生する演奏支援が行われる。
次に、ステップSA15〜SA22では、上記ステップSA14のノートオン処理の実行に伴い、停止情報nowplay[iSet]を更新登録すると共に、ポインタ歩進を実行する。すなわち、ステップSA15では、停止情報nowplayにおける空きエリアを検索し、その空きエリアを指し示すポインタ値をポインタiSetにセットする。
次に、ステップSA16に進み、処理タイプplaytype(nowplay[iSet][0])にノート出力を表す値「0」をストアする。続いて、ステップSA17では支援処理開始時刻Tick(nowplay[iSet][1])に発音タイミングTick(playdat[iPD][2])をストアする。
そして、ステップSA18では、支援処理終了時刻TickEnd(nowplay[iSet][2])に消音タイミングEndTick(playdat[iPD] [3])をストアする。ステップSA19では、支援対象となる演奏情報playdatを指し示すポインタOrgIndex(nowplay[iSet][3])にポインタiPDをストアする。
次いで、ステップSA20では、一つ前の停止情報nowplay[iLast][4]のポインタNextPointerにポインタiSetをストアする。この後、ステップSA21にてポインタiLastをポインタiSetに更新し、続くステップSA22ではポインタiPDを歩進させた後、後述するステップSA23(図8参照)に処理を進める。
b.エリア開始時刻StartTickを過ぎた場合
ポインタiAIの歩進に応じてエリア情報データベースarea_infoから読み出されるエリア開始時刻StartTick(area_info[iAI][1])が、再生時刻NowTickより小の場合、つまり再生時刻NowTickがエリア開始時刻StartTickを過ぎると、図8に示すステップSA26の判断結果が「YES」になり、ステップSA27に進む。
ステップSA27では、ポインタiAIで指定されるエリア情報area_info[iAI][4](再生フラグFlug)が「0」以外であるか、つまり支援データを再生するエリアであるかどうかを判断する。支援データを再生するエリアでない場合には、判断結果が「NO」となり、図9に示すステップSA37(後述する)に処理を進めるが、支援データを再生するエリアであると、判断結果は「YES」になり、ステップSA28を介して支援開始処理を実行する。
支援開始処理が実行されると、CPU1は図10に示すステップSA28−1に処理を進め、ポインタiAIで指定されるエリア情報area_info[iAI][4](再生フラグFlug)の値に応じた支援データ再生を指示する。 再生フラグFlugが「1」であると、ステップSA28−2〜SA28−4において、エリア情報データベースarea_infoから支援データOKData(area_info[i][7])および時間データOKGateTime(area_info[i][6])を読み出し、時間データOKGateTimeが指定するタイミングで支援データOKDataを再生する。
再生フラグFlugが「2」であると、ステップSA28−5〜SA28−7において、エリア情報データベースarea_infoから支援データCautData(area_info[i][9])および時間データCautGateTime(area_info[i][8])を読み出し、時間データCautGateTimeが指定するタイミングで支援データCautDataを再生する。
再生フラグFlugが「3」であると、ステップSA28−8〜SA28−10において、エリア情報データベースarea_infoから支援データNGData(area_info[i][11])および時間データNGGateTime(area_info[i][10])を読み出し、時間データNGGateTimeが指定するタイミングで支援データNGDataを再生する。
こうして、エリア情報データベースarea_infoに登録された支援データを再生する演奏支援が完了すると、CPU1は図8に示すステップSA29から図9に示すステップSA36において、上記支援開始処理の実行に伴い、停止情報nowplay[iSet]を更新登録すると共に、ポインタ歩進を実行する。
すなわち、ステップSA29では、停止情報nowplayにおける空きエリアを検索し、その空きエリアを指し示すポインタ値をポインタiSetにセットし、続くステップSA30では、処理タイプplaytype(nowplay[iSet][0])に、エリア情報area_info[iAI][4]の再生フラグFlugをストアする。
なお、本実施例では、支援データOKData再生は文字出力、支援データCautData再生は画面出力、支援データNGData再生は音声出力するようになっており、処理タイプplaytypeと再生フラグFlugとを対応付けている。
そして、ステップSA31に進み、支援処理開始時刻Tick(nowplay[iSet][1])に、エリア情報area_info[iAI][1]のエリア開始時刻StartTickをストアする。ステップSA32では、支援処理終了時刻TickEnd(nowplay[iSet][2])に、エリア情報area_info[iAI][2]のエリア終了時刻EndTickをストアする。ステップSA33では、支援対象となる演奏情報playdatを指し示すポインタOrgIndex(nowplay[iSet][3])にポインタiAIをストアする。ステップSA34では、一つ前の停止情報nowplay[iLast][4]のポインタNextPtrにポインタiSetをストアする。次いで、図9のステップSA35では、ポインタiLastをポインタiSetに更新し、続くステップSA36にてポインタiAIを歩進させた後、後述するステップSA37に処理を進める。
c.支援処理終了時刻TickEndを過ぎた場合
上記a項又はb項の処理にて停止情報nowplay[iSet]が更新されると、停止情報nowplayの空きエリアを指し示すポインタiSetがポインタiLastにセットされる為、図6に示すステップSA6の判断結果が「NO」となり、ステップSA7に進む。
そして、再生時刻NowTickが支援処理終了時刻TickEnd(nowplay[i][2])を過ぎると、ステップSA7の判断結果が「YES」になり、ステップSA8に進む。ステップSA8を介して支援終了処理が実行されると、CPU1は図11のステップSA8−1に処理を進め、支援データ(OKData、CautData、NGDataのいずれか)が再生中であるか否かを判断する。再生していなければ、判断結果は「NO」になり、何も行わずに支援停止処理を完了させるが、再生中であると、判断結果が「YES」になり、ステップSA8−2に進み、支援データdataの再生を強制終了してから本処理を完了させる。
支援終了処理が完了すると、CPU1は図6のステップSA9に進み、支援対象となる演奏情報playdatを指し示すポインタOrgIndex(nowplay[i][3])をポインタtmpPDにセットする。次いで、ステップSA10では、このポインタtmpPDに対応した演奏情報playdat[tmpPD][5](比較結果Result)の値が「0」であるか否かを判断する。
演奏範囲外を表す「0」でなければ、判断結果は「NO」になり、後述のステップSA12に進むが、「0」であると、判断結果が「YES」になり、ステップSA11に進み、演奏情報playdat[tmpPD][5](比較結果Result)に、正しく弾けなかった旨を表す判定値「−1」をセットする。そして、ステップSA12に進み、次の停止情報を指し示すポインタNextPtr(nowplay[i][4])をポインタiにセットした後、上述のステップSA6に処理を戻す。
d.支援終了時刻supEndを過ぎた場合
ポインタiAIの歩進に応じてエリア情報データベースarea_infoから読み出される支援終了時刻supEnd(area_info[iAI][16])が、再生時刻NowTickより小の場合、つまり再生時刻NowTickが支援終了時刻supEndを過ぎると、図8に示すステップSA23の判断結果が「YES」となり、ステップSA24に進み、演奏結果判定処理を実行する。
演奏結果判定処理では、後述するように、支援終了したエリアにおいてユーザが行った演奏を判定し、その判定結果に応じて、当該エリアと同一グループに分類されるエリアの支援内容を設定する。次いで、ステップSA25に進むと、ポインタiAIに対応したエリア情報area_info[iAI][5](ステイタスStatus)に、支援完了を表すフラグ値「2」をセットした後、前述したステップSA26に処理を進める。
e.MIDIイベントが発生した場合
ユーザの演奏操作に基づき、電子楽器20側から演奏データがMIDI入力されると、図9に示すステップSA37の判断結果が「YES」になり、ステップSA38に進み、演奏判定保存処理を実行する。
演奏判定保存処理では、後述するように、電子楽器20側から演奏データがMIDI入力される毎に、その演奏データと課題曲の各音符を表す演奏情報playdatとを比較して演奏の適否を判定すると共に、その結果を当該演奏情報playdat中の比較結果Result(playdat[tmpPD][5]として記憶する。
演奏判定保存処理が完了すると、ステップSA39に進み、再生時刻NowTickが曲終了時刻を過ぎたか否かを判断する。曲終了時刻を過ぎていれば、判断結果は「YES」になり、ステップSA41に進み、停止フラグTFを「1」にセットした後、図6のステップSA3に処理を戻す。そして、停止フラグTFが「1」にセットされると、ステップSA3の判断結果が「NO」となり、再生開始処理を完了させる。
一方、再生時刻NowTickが曲終了時刻を過ぎていなければ、上記ステップSA39の判断結果は「NO」となり、ステップSA40に進む。ステップSA40では、ストップスイッチがオン操作されたかどうかを判断する。ストップスイッチがオン操作されていなければ、判断結果は「NO」となり、図6のステップSA3に処理を戻すが、この場合、停止フラグTFは「0」のままなので、ステップSA3の判断結果が「YES」となり、ステップSA5以降を実行する。これに対し、ストップスイッチがオン操作されると、上記ステップSA40の判断結果は「YES」となり、ステップSA41に進み、停止フラグTFを「1」にして再生開始処理を完了させる。
(3)演奏判定保存処理の動作
次に、図12〜図13を参照して演奏判定保存処理の動作を説明する。前述した再生開始処理のステップSA38(図9参照)を介して本処理が実行されると、CPU1は図12のステップSB1に進み、MIDI入力されたイベントがノートオンイベントであるか否かを判断する。ノートオンイベント以外のイベントであれば、判断結果は「NO」になり、本処理を完了させる。
一方、ノートオンイベントであると、判断結果が「YES」になり、次のステップSB2に進み、ノートオンイベントに含まれるノート番号をレジスタtmpPitchにストアする。続いて、ステップSB3では現時刻をレジスタNowTickにストアする。そして、ステップSB4では、MIDI入力された演奏データ(ノートオンイベント)に対応した演奏情報playdatを指し示すポインタiPDを取得する。
次いで、ステップSB5では、現時点の演奏情報playdatを指し示すポインタiPDから所定の検索範囲iLookUpを減算した結果をサーチポインタtmpPDにストアする。ステップSB6に進むと、サーチポインタtmpPDがポインタiPDと検索範囲iLookUpとの和を超えたか否か、つまり検索範囲を超えたかどうかを判断する。
サーチポインタtmpPDが検索範囲を超えた場合、すなわちMIDI入力された演奏データ(ノートオンイベント)と一致する演奏情報playdatが検索範囲(iPD±iLookUp)に存在しない状況であると、上記ステップSB6の判断結果は「YES」となり、ステップSB7に進み、押鍵ミスの回数をカウントするレジスタiMissTouchCntを歩進させてから本処理を完了させる。
一方、サーチポインタtmpPDが検索範囲を超えていない場合には、上記ステップSB6の判断結果が「NO」になり、図13のステップSB8に進む。ステップSB8では、サーチポインタtmpPDにて指定される演奏情報playdat[tmpPD][4](ステイタスstatus)が「0」、つまり未発音であるかどうかを判断する。未発音でなければ、判断結果は「NO」となり、ステップSB9に進み、サーチポインタtmpPDをインクリメントして歩進させた後、図12のステップSB6に処理を戻す。
これに対し、サーチポインタtmpPDにて指定される演奏情報playdat[tmpPD]が未発音であると、上記ステップSB8の判断結果が「YES」になり、ステップSB10に進む。ステップSB10では、サーチポインタtmpPDにて指定される演奏情報playdat[tmpPD][1]のノート番号Note#と、レジスタtmpPitchに格納された演奏データのノート番号とが一致するか否かを判断する。一致しなければ、判断結果は「NO」となり、ステップSB9にてサーチポインタtmpPDを歩進させた後、図12のステップSB6に処理を戻す。
一方、演奏情報playdat[tmpPD]のノート番号Note#と演奏データのノート番号とが一致すると、判断結果が「YES」になり、次のステップSB11に進む。ステップSB11では、レジスタNowTickに格納される時刻から演奏情報playdat[tmpPD][2]の発音タイミングTickを減算して得た押鍵タイミングをレジスタITickDistにストアする。次いで、ステップSB12では、レジスタITickDistに格納される押鍵タイミングが許容範囲IOKOffset以上であるかどうかを判断する。許容範囲IOKOffsetに収まる適正な押鍵タイミングであると、判断結果は「NO」になり、ステップSB13に進み、演奏情報playdat[tmpPD][5](比較結果Result)に、正しく弾けた旨を表す値「1」をストアした後、本処理を完了させる。
これに対し、許容範囲IOKOffsetを超えた押鍵タイミングであると、上記ステップSB12の判断結果が「YES」になり、ステップSB14に進み、許容範囲ITMOffset以下であるかどうかを判断する。許容範囲ITMOffsetを超えると、判断結果は「NO」になり、ステップSB15に進み、演奏情報playdat[tmpPD][5](比較結果Result)に、演奏範囲に無いことを表す値「0」をストアした後、本処理を完了させる。
一方、許容範囲ITMOffsetに収まれば、上記ステップSB14の判断結果は「YES」になり、ステップSB16に進む。ステップSB16では、レジスタITickDistに格納される押鍵タイミングが「0」より大であるか否か、つまり演奏データが課題曲のノートデータの発音タイミングより遅く押鍵されたかどうかを判断する。
遅く押鍵された場合には、判断結果が「YES」となり、ステップSB17に進み、演奏情報playdat[tmpPD][5](比較結果Result)に、課題曲のノートデータの発音タイミングより遅く押鍵された旨を表す値「3」をストアして本処理を完了させる。
これに対し、早く押鍵された場合には、上記ステップSB16の判断結果が「NO」になり、ステップSB18に進み、演奏情報playdat[tmpPD][5](比較結果Result)に、課題曲のノートデータの発音タイミングより早く押鍵された旨を表す値「2」をストアして本処理を完了させる。
以上のように、演奏判定保存処理では、ユーザの演奏操作に応じて電子楽器20側から演奏データがMIDI入力される毎に、課題曲の各音符を表す演奏情報playdatと比較して演奏の適否を判定し、その結果を比較結果Resultとして対応する演奏情報playdat[tmpPD][5]に保存するようになっている。
(4)演奏結果判定処理の動作
次に、図14〜図16を参照して演奏結果判定処理の動作を説明する。前述した再生開始処理のステップSA24(図8参照)を介して本処理が実行されると、CPU1は図14のステップSC1に進み、演奏結果判定の対象となるエリアを指定するポインタiAIをポインタiDBに格納し直す。次いで、ステップSC2では、ポインタiDBで指定されるエリアの支援開始時刻supStart(area_info[iAI][15])をレジスタIStに、支援終了時刻supEnd(area_info[iAI][16])をレジスタIEdにそれぞれストアする。以下、レジスタIStの内容を支援開始時刻ISt、レジスタIEdの内容を支援終了時刻IEdと記す。
次に、ステップSC3に進むと、本処理で用いるポインタi、iOrgCnt、iOK、iTMF、iTMLおよびiNGをゼロリセットする。そして、ステップSC4〜SC12では、ポインタiを歩進させながら、発音タイミングTick(playdat[i][5])が支援開始時刻IStから支援終了時刻IEdまでの間に含まれる演奏情報playdatの比較結果Result(playdat[i][5])を検索し、正しく弾けていない演奏操作の回数iNG、正しく弾けた演奏操作の回数iOK、適正タイミングより早い演奏操作の回数iTMFおよび適正タイミングより遅い演奏操作の回数iTMLを累算すると共に、支援開始時刻IStから支援終了時刻IEdまでの間に含まれる演奏情報playdatの総数iOrgCntを累算する。そして、検索し終えると、ステップSC4の判断結果が「NO」となり、図15のステップSC13に進む。
ステップSC13では、上述の演奏判定保存処理においてレジスタiMissTouchCntにストアされた押鍵ミス回数から前エリアまで累算したミスタッチ回数MissTCntB(area_info[i][13])を減算して本エリアで発生したミスタッチ回数MissTCntを算出し、これをポインタiDBで指定されるエリア情報area_info[iDB][14]にストアする。続いて、ステップSC14では、レジスタiMissTouchCntに格納される押鍵ミス回数を、次エリアにおけるミスタッチ回数MissTCntBとしてエリア情報area_info[iDB+1][13]にストアする。次いで、ステップSC15では、正しく弾けた演奏操作の回数iOKと総数iOrgCntとから正解率iRatio(%)を算出する。
ステップSC16では、正解率iRatio(%)がクリアレベルiClearLevel以上であるか否かを判断する。クリアレベルiClearLevelは予め設定される判定値である。つまり、このステップSC16では、対象エリアにおける演奏の合否判定を行う。以下、合格した場合の動作と、不合格の場合の動作とに分けて説明を進める。
<合格した場合>
この場合、ステップSC16の判断結果が「YES」になり、ステップSC17に進み、本エリアで発生したミスタッチ回数MissTCnt(area_info[iDB][14])と総数iOrgCntとから不正解率iRatio(%)を算出する。次に、ステップSC18では不正解率iRatioが判定値iMTLevelより小さいか否かを判断する。
不正解率iRatioが判定値iMTLevelより小さいと、判断結果は「YES」となり、ステップSC19に進み、本エリアの演奏結果を表す結果フラグResultとして完成期を表す値「4」を、エリア情報area_info[iDB][12]にストアし、続くステップSC20では判定結果iFlugに「0」をセットする。判定結果iFlugが意図するところについては追って述べる。
一方、不正解率iRatioが判定値iMTLevelより大きければ、上記ステップSC18の判断結果が「NO」になり、ステップSC21に進む。ステップSC21では、本エリアの演奏結果を表す結果フラグResultとして安定期を表す値「3」を、エリア情報area_info[iDB][12]にストアし、続くステップSC22では判定結果iFlugに「1」をセットする。
<不合格の場合>
この場合、ステップSC16の判断結果が「NO」になり、図16に示すステップSC23に進む。ステップSC23では、正しく弾けた演奏操作の回数iOKと、適正タイミングより早い演奏操作の回数iTMFと、適正タイミングより遅い演奏操作の回数iTMLとを加算した値を総数iOrgCntで除して、どの程度演奏操作が行われたかを表す演奏率iRatio(%)を算出する。次いで、ステップSC24では演奏率iRatioが判定値iClearLevel以上であるか否かを判断する。
演奏率iRatioが判定値iClearLevel以上であると、判断結果は「YES」となり、ステップSC25に進み、本エリアの演奏結果を表す結果フラグResultとして向上期を表す値「2」を、エリア情報area_info[iDB][12]にストアし、続くステップSC26では判定結果iFlugに「2」をセットする。
一方、演奏率iRatioが判定値iClearLeveより小さければ、上記ステップSC24の判断結果が「NO」になり、ステップSC27に進む。ステップSC27では、本エリアの演奏結果を表す結果フラグResultとして練習初期を表す値「1」を、エリア情報area_info[iDB][12]にストアし、続くステップSC28では判定結果iFlugに「3」をセットする。
さて、以上のようにして、演奏結果判定を終えると、CPU1はステップSC29に進み、結果判定し終えた本エリア(iDB)の次のエリア(iDB+1)を指定する値をポインタiにセットする。そして、ステップSC30〜SC33では、ポインタiを歩進させながら、本エリアと同一のグループ番号AreaGroup(area_info[iDB][3])を持つエリア情報area_info[i]を検索し、該当するエリア情報area_info[i][4]の再生フラグFlugに、判定結果iFlugをストアする。そして、歩進されたポインタiがエリア情報area_info[i]の終端(最大値)を超えると、ステップSC33の判断結果が「YES」となり、本処理を完了させる。
このように、演奏結果判定処理では、演奏区間(エリア)毎の正解率を算出して合否判定を行い、合格した場合には不正解率に基づき「完成期」および「安定期」を判定し、一方、不合格の場合には正しく弾けた演奏操作の回数iOKと、適正タイミングより早い演奏操作の回数iTMFと、適正タイミングより遅い演奏操作の回数iTMLとを加算した値を総数iOrgCntで除して、どの程度演奏操作が行われたかを表す演奏率に基づき「向上期」および「練習初期」を判定する。
そして、判定結果iFlugが「完成期」を表す「0」の場合には、本エリアと同一のグループ番号を有するエリア情報area_info[i][4](再生フラグFlug)に「0」をストアして、「完成期」と判定された本エリアと類似するエリアでは演奏支援の必要が無い為、支援データ再生を行わないようにする。
判定結果iFlugが「安定期」を表す「1」の場合には、本エリアと同一のグループ番号を有するエリア情報area_info[i][4](再生フラグFlug)に「1」をストアして、「安定期」と判定された本エリアと類似するエリアでは支援データOKDataを再生させる。
判定結果iFlugが「向上期」を表す「2」の場合には、本エリアと同一のグループ番号を有するエリア情報area_info[i][4](再生フラグFlug)に「2」をストアして、「向上期」と判定された本エリアと類似するエリアでは支援データCautDataを再生させる。
判定結果iFlugが「練習初期」を表す「1」の場合には、本エリアと同一のグループ番号を有するエリア情報area_info[i][4](再生フラグFlug)に「3」をストアして、「練習初期」と判定された本エリアと類似するエリアでは支援データNGDataを再生させる。
以上説明したように、本実施例では、課題曲を複数のエリアに区切り、その内で類似するエリア同士をグループ化し、グループ化された各エリア毎の支援データを記憶するエリア情報データベースarea_infoを設け、ユーザの演奏操作に応じて電子楽器20側から演奏データがMIDI入力される毎に課題曲の演奏情報と比較し、その比較結果に基づきエリアの演奏が「完成期」、「安定期」、「向上期」および「練習初期」のいずれの習熟段階に該当するのかを演奏判定する。演奏判定されたエリアと同一グループに属する他のエリアをエリア情報データベースarea_infoから検索し、該当するエリアの支援データを、演奏判定されたエリアの習熟段階に対応した支援データと同一のものに設定する。そして、エリア情報データベースarea_infoを参照し、楽譜上の支援対象箇所より早いタイミングで先行的に支援データを再生することによって、演奏上で注意喚起すべき内容を事前にユーザに報知し得るようになっている。
なお、上述した実施例では、予め課題曲をフレーズ単位のエリアで区切り、その内で類似するエリア同士をグループ化したエリア情報データベースarea_infoを設けているが、これに替えて、例えば課題曲の演奏情報から曲進行形態が類似する演奏区間や音高変化の仕方が類似する演奏区間など、曲要素を勘案して課題曲をエリアに区切ってグループ化したエリア情報データベースarea_infoを自動的に生成する態様にすることもできる。このようにすれば、ユーザが指定する曲要素に応じたエリア情報データベースarea_infoに基づき演奏支援することが可能になる。
本発明による一実施例の全体構成を示すブロック図である。 RAM3に記憶される演奏情報playdatのデータ構造を示すメモリマップである。 RAM3に記憶されるエリア情報データベースarea_infoのデータ構造を示すメモリマップである。 RAM3に記憶される停止情報nowplayのデータ構造を示すメモリマップである。 メインルーチンの動作を示すフローチャートである。 再生開始処理の動作を示すフローチャートである。 再生開始処理の動作を示すフローチャートである。 再生開始処理の動作を示すフローチャートである。 再生開始処理の動作を示すフローチャートである。 支援開始処理の動作を示すフローチャートである。 支援終了処理の動作を示すフローチャートである。 演奏判定保存の動作を示すフローチャートである。 演奏判定保存の動作を示すフローチャートである。 演奏結果判定処理の動作を示すフローチャートである。 演奏結果判定処理の動作を示すフローチャートである。 演奏結果判定処理の動作を示すフローチャートである。
符号の説明
1 CPU
2 ROM
3 RAM
4 MIDIインタフェース
5 キーボード
6 表示部
10 DTM装置
20 電子楽器

Claims (4)

  1. 課題曲中の類似する類似区間同士をグループ化し、グループ化された各類似区間の支援データを記憶する区間情報記憶手段と、
    演奏操作に応じて発生する演奏データと、課題曲を形成する各音符を表す演奏情報とを比較して得た比較結果を分析して演奏判定し、その判定結果に対応した種類の支援データを指定する支援データ指定手段と、
    前記支援データ指定手段が演奏判定した類似区間と同一グループの他の類似区間を前記区間情報記憶手段から検索し、該当する類似区間について、前記支援データ指定手段にて指定された種類の支援データを前記区間情報記憶手段に設定する支援データ設定手段と、
    演奏進行に従い、前記区間情報記憶手段から対応する類似区間の支援データを読み出し、その類似区間の演奏タイミングより早い時期に支援データを再生して演奏支援する支援手段と
    を具備することを特徴とする演奏支援装置。
  2. 前記支援データ指定手段は、演奏区間に存在する前記課題曲の音符のうち演奏操作により正しく弾けた数と当該演奏区間に存在する前記課題曲の音符の総数との比率を表わす正解率が所定以上の場合には、前記演奏操作により入力された音符のうち前記演奏区間内の前記課題曲中に存在しない音符の数と当該演奏区間に存在する前記課題曲の音符の総数との比率を表わす不正解率に応じて完成期および安定期のいずれであるかを判定し、正解率が所定未満の場合にはどの程度演奏操作が行われたかを表す演奏率に応じて向上期および練習初期のいずれであるかを判定する判定手段と、
    この判定手段によって完成期と判定された場合には支援データ再生を行なわないように指定するとともに、安定期と判定された場合には正しく弾けた旨を表す支援データを、向上期と判定された場合には演奏上で注意喚起する点を表す支援データを、練習初期と判定された場合には正しく弾けていない旨を表す支援データをそれぞれ指定する指定手段と
    を具備することを特徴とする請求項に記載の演奏支援装置。
  3. 課題曲中の類似する類似区間同士をグループ化し、グループ化された各類似区間の支援データを記憶する区間情報データベースを備えた演奏支援装置として使用されるコンピュータに、
    演奏操作に応じて発生する演奏データと、課題曲を形成する各音符を表す演奏情報とを比較して得た比較結果を分析して演奏判定し、その判定結果に対応した種類の支援データを指定する支援データ指定処理と、
    前記支援データ指定処理にて演奏判定された類似区間と同一グループの他の類似区間を前記区間情報データベースから検索し、該当する類似区間について、前記支援データ指定処理にて指定された種類の支援データを前記区間情報データベースに設定する支援データ設定処理と、
    演奏進行に従い、前記区間情報データベースから対応する類似区間の支援データを読み出し、その類似区間の演奏タイミングより早い時期に支援データを再生して演奏支援する支援処理と
    を実行させることを特徴とする演奏支援プログラム。
  4. 前記支援データ指定処理は、演奏区間に存在する前記課題曲の音符のうち演奏操作により正しく弾けた数と当該演奏区間に存在する前記課題曲の音符の総数との比率を表わす正解率が所定以上の場合には、前記演奏操作により入力された音符のうち前記演奏区間内の前記課題曲中に存在しない音符の数と当該演奏区間に存在する前記課題曲の音符の総数との比率を表わす不正解率に応じて完成期および安定期のいずれであるかを判定し、正解率が所定未満の場合にはどの程度演奏操作が行われたかを表す演奏率に応じて向上期および練習初期のいずれであるかを判定する判定処理と、
    この判定処理にて完成期と判定された場合には支援データ再生を行なわないように指定するとともに、安定期と判定された場合には正しく弾けた旨を表す支援データを、向上期と判定された場合には演奏上で注意喚起する点を表す支援データを、練習初期と判定された場合には正しく弾けていない旨を表す支援データをそれぞれ指定する指定処理と
    を具備することを特徴とする請求項3に記載の演奏支援プログラム。
JP2003271272A 2003-07-07 2003-07-07 演奏支援装置および演奏支援プログラム Expired - Fee Related JP4442144B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003271272A JP4442144B2 (ja) 2003-07-07 2003-07-07 演奏支援装置および演奏支援プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003271272A JP4442144B2 (ja) 2003-07-07 2003-07-07 演奏支援装置および演奏支援プログラム

Publications (2)

Publication Number Publication Date
JP2005031458A JP2005031458A (ja) 2005-02-03
JP4442144B2 true JP4442144B2 (ja) 2010-03-31

Family

ID=34209204

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003271272A Expired - Fee Related JP4442144B2 (ja) 2003-07-07 2003-07-07 演奏支援装置および演奏支援プログラム

Country Status (1)

Country Link
JP (1) JP4442144B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4639983B2 (ja) * 2005-06-20 2011-02-23 カシオ計算機株式会社 演奏練習装置および演奏練習処理のプログラム
JP4646140B2 (ja) * 2006-04-12 2011-03-09 株式会社河合楽器製作所 練習機能付き電子楽器
JP4613923B2 (ja) * 2007-03-30 2011-01-19 ヤマハ株式会社 楽音処理装置およびプログラム

Also Published As

Publication number Publication date
JP2005031458A (ja) 2005-02-03

Similar Documents

Publication Publication Date Title
KR100429114B1 (ko) 타이프 연습기능을 갖는 오락 시스템, 타이프 연습 시스템및 컴퓨터 판독 가능한 기억 매체
US7663044B2 (en) Musical performance self-training apparatus
CN101777341B (zh) 音乐演奏练习装置及方法
US20040123726A1 (en) Performance evaluation apparatus and a performance evaluation program
JP5983573B2 (ja) 演奏練習装置、方法、およびプログラム
KR100200290B1 (ko) 자동연주장치
CN103443849A (zh) 伴奏数据产生设备
JP4442144B2 (ja) 演奏支援装置および演奏支援プログラム
JP3275362B2 (ja) 演奏練習装置
CN100472528C (zh) 信息处理装置以及卡拉ok装置
JP6090644B2 (ja) 演奏難易度評価装置、プログラム及び電子楽器
JP3582315B2 (ja) 練習支援装置、練習支援方法および記憶媒体
JP4168851B2 (ja) カラオケ装置
JP2007188175A (ja) サーバ装置、端末装置およびプログラム
JP3932038B2 (ja) 演奏練習装置および演奏練習プログラム
JP4136556B2 (ja) 演奏独習装置
JP4743615B2 (ja) 練習機能付き電子楽器
JP4228346B2 (ja) 演奏支援情報生成装置および演奏支援情報生成プログラム
JP4475383B2 (ja) 音楽教習装置および音楽教習プログラム
JP3081096B2 (ja) カラオケ装置
US20040206227A1 (en) Method of playing a game according to events in a selected track of a music file
JP3027898B2 (ja) 自動演奏装置
JP6867571B2 (ja) プログラム、ゲームの提供方法及びゲーム装置
JP3110510B2 (ja) 自動演奏型週間プログラムタイマ
JP4178553B2 (ja) 音楽教習装置および音楽教習プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060426

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080326

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080508

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091222

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100104

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130122

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130122

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees