JP6260176B2 - 演奏練習装置、方法、およびプログラム - Google Patents

演奏練習装置、方法、およびプログラム Download PDF

Info

Publication number
JP6260176B2
JP6260176B2 JP2013205498A JP2013205498A JP6260176B2 JP 6260176 B2 JP6260176 B2 JP 6260176B2 JP 2013205498 A JP2013205498 A JP 2013205498A JP 2013205498 A JP2013205498 A JP 2013205498A JP 6260176 B2 JP6260176 B2 JP 6260176B2
Authority
JP
Japan
Prior art keywords
performance
information
note
progress
user
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.)
Active
Application number
JP2013205498A
Other languages
English (en)
Other versions
JP2015069151A (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 JP2013205498A priority Critical patent/JP6260176B2/ja
Publication of JP2015069151A publication Critical patent/JP2015069151A/ja
Application granted granted Critical
Publication of JP6260176B2 publication Critical patent/JP6260176B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Description

本発明は、自動演奏情報を再生して得られる音符情報を例えば電子ピアノの表示部にピアノロール風に表示させて演奏ガイドを行う技術に関する。
従来から、いわゆるピアノロールと呼ばれる演奏ガイド装置が知られている。この装置は例えば、電子ピアノの表示部に鍵盤画像を縦に表示させ、楽曲を自動演奏させながら、鍵盤画像の右側方向の自動演奏情報が示す音符の音高に対応する鍵盤の延長線上に、その音符長に対応する長さを有する棒グラフ状態の図形情報を、自動演奏に従って順次流れるように表示させてゆく(例えば特許文献1)。
また、演奏テンポに応じて表示画面に表示される音符の長さに対応する図形の長さを設定し、表示画面を演奏テンポに関わらず一定速度でスクロールすることにより、表示画面に表示されるピアノロールを伝統的に知られている紙製のロールによるピアノロールと同等の表示を実現した技術が知られている(例えば特許文献2)。
特許3178472号公報 特許4628298号公報
しかし、ピアノロールに関する上述の従来技術は、練習曲の再生に合わせて練習を行うものであり、曲の再生テンポに合わせて練習することが難しい初心者の場合、音高と音長を自分のペースで確かめながら練習することができないという問題点を有していた。
また、従来技術では、例えば初心者が、練習曲の各音符の音高のみについてまず自分の発音タイミングで練習したいといったニーズに応えることができず、扱いづらいという問題点を有していた。
本発明は、練習曲のテンポや再生スピードに合わせることが難しい初心者でも練習に取り組めるようにすることを目的とする。
態様の一例では、記憶手段に記憶される楽曲を構成する少なくとも複数の音符情報からなる自動演奏情報から、その楽曲の進行に合わせて対応する音符情報を順次読み出すとともに、その読み出された音符情報及びその読み出された音符情報の前後の音符情報に基づいた演奏ガイド情報を表示画面上に表示させる演奏ガイド表示部と、ユーザ演奏により入力されるユーザ演奏情報を判別し、そのユーザ演奏情報が示す演奏状態に応じて、演奏ガイド情報表示の進行を制御する演奏ガイド進行制御部と、を備え、前記演奏ガイド進行制御部は、前記楽曲の進行に合わせて読み出された音符情報と前記入力されたユーザ演奏情報とが対応しているときは前記演奏ガイド情報表示を進行させ、前記ユーザ演奏情報の入力が中断した場合、当該入力が中断された時点で読み出されている音符情報に基づいて前記入力の中断が許容されるものであるか否かを判断するとともに、前記入力の中断が許容されるものであると判断された場合は、前記楽曲の進行に合わせて読み出された音符情報に続く音符情報の発音タイミングまで、前記演奏ガイド情報表示を進行させる。
別の態様の一例では、記憶手段に記憶される楽曲を構成する少なくとも複数の音符情報からなる自動演奏情報から、当該楽曲の進行に合わせて対応する音符情報を順次読み出すとともに、当該読み出された音符情報及び当該読み出された音符情報の前後の音符情報に基づいた演奏ガイド情報を表示画面上に表示させる演奏ガイド表示部と、ユーザ演奏により入力されるユーザ演奏情報を判別し、当該ユーザ演奏情報が示す演奏状態に応じて、前記演奏ガイド情報表示の進行を制御する演奏ガイド進行制御部と、を備え、前記演奏ガイド進行制御部は、入力する前記ユーザ演奏情報が、ノートオンを示しているときに、前記演奏ガイド情報表示の進行を進め、入力する前記ユーザ演奏情報が、ノートオンからノートオフに変化したときに、前記演奏ガイド情報表示の進行を予め定められた時間進めてから前記演奏ガイド情報表示の進行を当該ノートオフに対応するタイミング位置に戻して停止し、
前記演奏ガイド情報表示の進行を前記予め定められた時間進める動作を実行している最中に、前記ユーザ演奏情報がノートオフからノートオンに変化したときに、当該動作を解除する。
練習曲のテンポや再生スピードに合わせることが難しい初心者でも練習に取り組むことが可能となる。
本発明による演奏練習装置の実施形態を示すブロック図である。 演奏練習装置の実施形態のハードウェア構成の一例を示す図である。 ピアノロールデータのデータ構成例を示す図である。 小節データのデータ構成例を示す図である。 ピアノロールの表示例を示す説明図である。 入力音符データのデータ構成例を示す図である。 演奏ガイド進行制御処理の全体動作の例を示すフローチャートである。 ピアノロール練習処理である。 手本ピアノロールデータ表示処理の例を示すフローチャートである。 入力ピアノロールデータ生成処理の例を示すフローチャートである。 手本を参照するカーソル時刻更新処理の例を示すフローチャートである。 手本を参照しないカーソル時刻更新処理の例を示すフローチャートである。 カーソル進行の例を示す説明図である(その1)。 カーソル進行の例を示す説明図である(その2) カーソル進行の例を示す説明図である(その3)
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
図1は、本発明による演奏練習装置100の実施形態を示すブロック図である。この演奏練習装置100は、練習用の楽曲(以下単に「楽曲」と記載する)の自動演奏データを記憶する手段を備え、これらのうちからユーザが指定した楽曲の自動演奏データを順次処理していわゆるピアノロール表示を行う機能を備える、電子ピアノやシンセサイザー等の電子楽器に、MIDI(Musical Instrument Digital Interface)インタフェースを介して接続される。
あるいは、この演奏練習装置100は、電子楽器に内蔵されてもよい。さらに、電子楽器は、電子ギター、電子サキソフォン、電子バイオリン等であってもよく、演奏練習装置100は、それぞれの楽器に適したロール表示を行うものであってもよい。
この演奏練習装置100は、演奏ガイド表示部102、演奏ガイド進行制御部103、楽器104を備える。また、演奏練習装置100は、練習モード切替部107を備えてもよい。また、この演奏練習装置100の内部または外部に、自動演奏情報105を記憶する記憶手段101が具備されてよい。さらに、この演奏練習装置100は、楽器104に接続されてよい。
記憶手段101は、練習曲の自動演奏情報を、例えばSMF(Standart MIDI File)フォーマットで記憶する。
演奏ガイド表示部102は、記憶手段101に記憶される楽曲を構成する少なくとも複数の音符情報からなる自動演奏情報105から、その楽曲の進行に合わせて対応する音符情報を順次読み出すとともに、その読み出された音符情報及びその読み出された音符情報の前後の音符情報に基づいた演奏ガイド情報を表示画面上に表示させる。
演奏ガイド進行制御部103は、楽器104等におけるユーザ演奏により例えばMIDI(Musical Instrument Digital Interface)フォーマットに従った通信インタフェースを介して入力されるユーザ演奏情報106を判別し、そのユーザ演奏情報106が示す演奏状態に応じて、演奏ガイド情報表示の進行を制御する。
以上の演奏練習装置100の構成により、ユーザ演奏情報106が示すユーザの演奏状態に応じて、演奏ガイドの表示進行を停止させたり、再開させたりすることが可能になる。これにより、練習曲のテンポや再生スピードに合わせることが難しい初心者でも、ユーザのペースで練習に取り組むことが可能となる。
以上の演奏練習装置100の構成において、演奏ガイド進行制御部103は例えば、読み出された自動演奏情報105の音符情報が表す発音タイミングに到達した場合に、演奏ガイド表示の進行を停止し、入力されたユーザ演奏情報106が、その発音タイミングに到達した音符に対応しているときに、演奏ガイド表示の進行を再開してよい。
また、演奏ガイド進行制御部103は例えば、楽曲の進行に合わせて読み出された音符情報と入力されたユーザ演奏情報106とが対応しているときは演奏ガイド表示を進行させ、ユーザ演奏情報106の入力が中断した場合、その入力が中断された時点で読み出されている音符情報に基づいて入力の中断が許容されるものであるか否かを判断するとともに、入力の中断が許容されるものであると判断された場合は、楽曲の進行に合わせて読み出された音符情報に続く音符情報の発音タイミングまで、演奏ガイド表示を進行させてよい。
また、演奏ガイド進行制御部103は例えば、ユーザ演奏情報106の入力が中断した場合に、その入力の中断が、楽曲の進行に合わせて読み出された音符情報がスタッカートあるいは休符であることに起因している場合、または入力の中断の長さが、予め定められた許容範囲内である場合に、入力の中断が許容されるものと判断してよい。
さらに、演奏ガイド進行制御部103は例えば、入力するユーザ演奏情報106が、ノートオンを示しているときに、演奏ガイド表示の進行を進め、入力するユーザ演奏情報106が、ノートオンからノートオフに変化したときに、演奏ガイド表示の進行を予め定められた時間進めてから演奏ガイド表示の進行をそのノートオフに対応するタイミング位置に戻して停止し、演奏ガイド表示の進行を予め定められた時間進める動作を実行している最中に、ユーザ演奏情報106がノートオフからノートオンに変化したときに、その動作を解除してよい。
以上のような制御により、ユーザは、自分の意思に従って、例えばピアノロールによる演奏ガイドで楽器演奏を練習することができる。
また一般的に、スタッカートのように音符長に比較してノートオンとなっている時間が非常に短い音符や、休符などの場合には、ユーザ演奏情報106においてノートオンを検出することができない場合があり、この場合ユーザ演奏情報106はノートオフ中の状態となる。ユーザ演奏情報106がノートオフ中の状態に演奏ガイドの表示進行が単純に進まないように制御される場合、スタッカートまたは休符のときにまったく進行を進めることができなくなる。そこで、本実施形態では、ユーザ演奏情報106がノートオフ中であるときに、自動演奏情報105がスタッカートまたは休符あるいは許容時間内でのノートオフを示していれば、演奏ガイドの表示進行を所定時間だけ進めるようにすることにより、練習を自然に進行させることが可能となる。
図1において、練習モード切替部107は、上述したように、ユーザが、自身の演奏が自動演奏情報105が示す手本による自動演奏に対して音符毎に音高が合っているかどうかを確認しながら演奏ガイドの表示進行を行うモードと、単純にノートオンおよびノートオフだけで演奏ガイドの表示進行を行うモードとを切り替えることができるようにする。
ここまで説明した本実施形態の構成において、図1の演奏ガイド表示部102は、演奏ガイド表示に対応する音符情報に重ねて、入力されるユーザ演奏情報106に対応する音符情報を表示画面上に表示するように構成してもよい。これにより、ユーザは、自身の演奏が演奏ガイドの表示進行に対して合っているか否かを、視覚的に確認することが可能となる。
なお、演奏ガイド進行制御部103はさらに、予め設定されたまたはユーザの指示に基づいて設定されたテンポ情報に基づいて、演奏ガイドの表示進行の速度を制御するように構成されてもよい。これにより、ユーザは、自身の演奏の上達度に応じて、自由にテンポを設定し、それに合った演奏ガイドの表示進行を行うことが可能となる。
図2は、図1の機能構成を有する演奏練習装置100の実施形態のハードウェア構成の一例を示す図である。この演奏練習装置100は、CPU(中央演算処理装置)201、ROM(リードオンリーメモリ)202、RAM(ランダムアクセスメモリ)203、入力部204、表示部205、およびMIDIインタフェース部(以下「MIDI I/F」と表記する)206が、バス207によって相互に接続された構成を備える。MIDI I/F206は、外部(内蔵でもよい)の電子楽器208(図1の楽器104に対応)に接続される。
CPU201は、ROM202に記憶された制御プログラムに従って、当該演奏練習装置100の全体の制御を行う。
ROM202は、後述する図7から図12の各フローチャートで示される制御動作を実行する制御プログラムを記憶する。また、ROM202は、図1の記憶手段101に対応し、複数の楽曲の図1に示される自動演奏情報105などを記憶する。
RAM203は、制御プログラムの実行に必要な、後述する図3、図4、図6に示される、ピアノロールデータ、小節データ、入力音符データなどの各種制御データや、練習対象となる自動演奏情報105等を、一時的に記憶する。
入力部204は、ユーザによるキーボード、マウス、各種スイッチ等による入力操作を検出し、その検出結果をCPU201に通知する。
表示部205は、CPU201の制御によって送られてくるデータを液晶ディスプレイなどに出力する。例えば、表示部205は、後述する図4のような表示形式で、ピアノロールによる演奏ガイドを表示する。
MIDI I/F206は、ユーザが電子楽器208において演奏したユーザ演奏情報106を取り込んで、RAM203上のノートバッファに記憶させる。CPU201は、図1の演奏ガイド進行制御部103の機能に対応する演奏ガイド進行制御処理において、ノートバッファに取り込まれるユーザの演奏によるユーザ演奏情報106と、順次自動演奏する自動演奏情報105とを順次比較することにより、前述したようにして演奏ガイドの表示進行を制御する。
本実施形態による演奏練習装置100の動作は、後述する図7から図12のフローチャート等で実現される図1の各部の機能処理を搭載した制御プログラムを、CPU201がROM202から読み出して順次実行することで実現される。そのプログラムは、特には図示しない可搬型記録媒体を介して提供されてもよく、或いは特には図示しないネットワーク接続装置によりネットワークから取得できるようにしてもよい。
以下、図1の機能構成と図2のハードウェア構成を有する本実施形態による演奏練習装置100の動作について、以下に詳細に説明する。
図3は、図2において、CPU201が表示部205にピアノロールを表示するために生成しRAM203に記憶するピアノロールデータのデータ構成例を示す図である。ピアノロールデータは、音符データ(演奏情報)のうち、ピアノロール上に表示するものを、表示用に効率の良い形にしたデータであり、図3(a)に示される手本ピアノロールデータと図3(b)に示される入力ピアノロールデータとがある。図3(a)の手本ピアノロールデータは自動演奏情報105に基づいて生成され、図3(b)の入力ピアノロールデータはユーザ演奏情報106に基づいて生成される。図3(a)の手本ピアノロールデータは、曲の音符数をmとしたときに、0番目からm−1番目までのデータ組からなる。図3(b)の入力ピアノロールデータは、ユーザの演奏に従って動的に増加してゆき、現在までの音符数nとしたときに、0番目からn−1番目までのデータ組からなる。両方のピアノロールデータの各データ組において、「発音時刻」は、ノートオンを示す自動演奏情報105によって音符の発音が開始される、曲の先頭を基準(ゼロ)としたときの経過時刻である。「発音時間」は、「発音時刻」からノートオフを示す自動演奏情報105によって音符の発音が消音するまでの時間である。「音高」は、発音開始時の音符の音高である。「音量」は、発音開始時の音量(ベロシティ)である。図3(a)の手本ピアノロールデータの各データ組において、「パート」は、そのデータ組が示す音符が属する例えば鍵盤演奏における右手パートまたは左手パートのいずれかを示すデータである。また、「運指」は、そのデータ組が示す音符を弾くべき指の情報である。図3(b)の入力ピアノロールデータの各データ組において、「推定パート」は、例えば鍵盤入力によるユーザ演奏情報106はもともと左右どちらの手で弾いたかは判断されないが、ある再生時刻における入力に対してその時刻の手本ピアノロールデータの「パート」を参照して、どちらのパートか推測した結果が代入されるデータである。
図4は、図2において、CPU201が、RAM203に記憶させた手本ピアノロールデータに対応して、RAM203に記憶させる小節データのデータ構成例を示す図である。曲の小節数をkとしたとき、小節データは、0番目からk−1番目までのデータ組からなる。各データ組において、「開始時刻」は、曲の先頭を基準(ゼロ)としたときのそのデータ組に対応する小節の再生が開始される経過時刻である。「拍分子」と「拍分母」はそのデータ組対応する小節の拍の分子と分母をそれぞれ記憶したものであり、その小節の「拍子」の情報を表す。この「拍子」の情報は、自動演奏情報105に予め埋め込まれてもよいし、CPU201が、自動演奏情報105を分析して設定してもどちらでも良い。この「拍子」の情報は、ピアノロールデータとともに、図2の表示部205に表示される。
図5は、図2において、CPU201が、RAM203上に生成した図3(a)(b)に例示される手本ピアノロールデータおよび入力ピアノロールデータと、図4に例示される小節データに基づいて、表示部205に表示するピアノロールの表示例を示す説明図である。図2の電子楽器208に対応する例えば鍵盤が横向きに表示される。この鍵盤上の縦方向に1,2,3,4と数字が付けられた4つの領域が、現在自動演奏されている音符を上記数字に対応して小節単位で表示する領域である。このように、本実施形態では、現在再生中の小節を含むその前後4小節が、表示部205にピアノロール表示される。現在再生中の小節の領域は、それに対応する数字の右横に黒い縦棒でカーソルが表示される。図5の表示例では、カーソルの位置は3番の位置にあるので、現在再生中の領域は3番の領域(小節)である。CPU201は、現在自動演奏中の曲の先頭を基準とする再生時刻に基づいて、その再生時刻に対応する「開始時刻」を記憶する小節データのデータ組を、図4に例示されるRAM203上の小節データ[0]〜[k−1]より抽出する。CPU201は、この小節データの「開始時刻」から次の小節データの「開始時刻」までの間に「発音時刻」が含まれる手本ピアノロールデータおよび入力ピアノロールデータの各データ組を、図3(a)および(b)にそれぞれ例示されるRAM203上の手本ピアノロールデータ[0]〜「m−1」および入力ピアノロールデータ[0]〜[n−1]より抽出する。CPU201は、上述の小節データを、図5のカーソル位置の小節とする。CPU201は、抽出した手本ピアノロールデータの各データ組中の「音高」と「発音時刻」と「発音時間」に基づいて、「音高」に対応する鍵盤位置の上方の、小節データのデータ組で定まるカーソル位置の小節領域内に、小節データの「開始時刻」と手本ピアノロールデータの「発音時刻」との相対的な位置関係に対応する座標から「発音時間」に対応する長さの棒グラフ状の音符情報を表示する。また、手本ピアノロールデータの「パート」情報に基づいて、左手パートまたは右手パートごとに、音符情報の色を変えて表示する。図5の表示例では、一点鎖線で囲まれた左手パートの音符情報群と右手パートの音符情報群とで、色を変えて表示される。なお、一点鎖線の枠は説明のためのものであり、実際のピアノロールには表示されない。CPU201は、抽出した入力ピアノロールデータの各データ組中の「音高」と「発音時刻」と「発音時間」とで上記と同様に決まる棒グラフ状の音符情報を、下の色が透過する色を用いるなどして、上記棒グラフ状に表示されている手本ピアノロールデータの音符情報に重ねるようにして表示する。図5の表示例では、破線枠で囲まれている棒グラフ状の部分が、手本ピアノロールデータの音符情報に入力ピアノロールデータの音符情報が重なっている部分である。両者がぴったりと重なっていれば、ユーザは、自分の楽器演奏が手本の自動演奏にぴったり合っていることを視覚的に認識することができる。CPU201は、図3(a)に例示される手本ピアノロールデータのデータ組中の「運指」データを、上記棒グラフ状の音符情報に近接して表示してもよい。また、CPU201は、図3(a)(b)に例示される各ピアノロールデータのデータ組中の「音量」データに基づいて、上記棒グラフ状の音符情報の色や太さを変える等してもよい。さらに、CPU201は、図4に例示される小節データのデータ組中の「拍分子」「拍分母」データに基づいて、図5の1,2,3,4で示される各小節領域毎に、例えば「拍分子/拍分母」などの「拍子」に関する情報を表示してもよい。
CPU201は、自動演奏の進行とともに、表示部205に表示される例えば4小節分の各音符情報を次々と書き換えてゆくことにより、図5の表示例上で音符情報が例えば上(鍵盤側)から下に流れてゆくようなピアノロールの効果を実現する。そのときの表示進行とその停止を制御するのが、後述する演奏ガイド進行制御処理である。
図6は、図2において、電子楽器208からMIDI I/F206を介して入力されるユーザ演奏情報106(図1)のMIDIデータに基づいて、CPU201が、RAM203上に生成する入力音符データのデータ構成例を示す図である。本実施形態では、電子楽器208からのユーザ演奏情報106であるノートオン/ノートオフの情報が、音高毎に、想定音高数分のRAM203上のバイトバッファに値「0」または値「1」で格納されている。そして、CPU201は、RAM203のバイトバッファが書き換わる度、コールバックによりRAM203上の図6に例示される入力音符データのバッファを書き換え、音符情報をリングバッファなどの形式でバッファリングする。この入力音符データは、ユーザが演奏した例えば鍵盤の音高に対応する「ノート番号」、「ノートオン時のシステム時刻」、「ノートオフ時のシステム時刻」、「ノートオン時の再生時刻」、「ノートオフ時の再生時刻」などを記憶する。CPU201は、後述する演奏ガイド進行処理において、この入力音符データを参照しながら、演奏ガイドの表示進行を制御する。
以下、本実施形態の制御動作について、フローチャートに沿って説明する。なお、各フローチャートの説明において、随時図1または図2の各部を参照するものとする。
図7は、図1の機能構成および図2のハードウェア構成を有する演奏練習装置100が実行する演奏ガイド進行制御処理の全体動作の例を示すフローチャートである。この処理は、CPU201が、ROM202に記憶された演奏ガイド進行制御処理プログラムを実行する処理として実行され、図1の演奏ガイド進行制御部103と演奏ガイド表示部102と練習モード切替部107の各機能を実現する。
ユーザが、例えば入力部204で手本の練習曲を選択し、ピアノロールの開始を指示すると、CPU201は、図7のフローチャートで例示される演奏ガイド進行制御処理を開始する。
CPU201は、演奏ガイド進行制御処理を開始すると、まず以下の設定処理を実行する(ステップS701).CPU201は、まず、指定された曲の一部分または全体をピアノロールを実行する範囲として設定する。CPU201は、ピアノロールの作成を開始する小節と終了する小節の組を、ユーザの入力部204からの指示に基づいて設定してもよいし、なんらかの手法に基づいて自動的に設定してもよい。ユーザは、入力部204において、左、右、左右パートのどのパートを練習するかを選択してもよい。その選択に基づいて、CPU201は、選択されたパートの自動演奏情報105をROM202からRAM203に読み出し、図3(a)の手本ピアノロールデータを生成する。さらに、ユーザは、入力部204から、練習モードを設定してよい。練習モードの設定では、前述したように、ユーザは、自身の演奏が自動演奏情報105が示す手本による自動演奏に対して音符毎に音高が合っているかどうかを確認しながらピアノロールの表示進行(演奏ガイドの表示進行)を行うモードか、単純にノートオンおよびノートオフだけでピアノロールの表示進行を行うモードのいずれかを指定できる。CPU201は、後述する入力ピアノロールデータ生成処理において、それぞれのモードに応じた処理(図10のステップS1002またはS1003)を切り替えて実行する(図1の練習モード切替部107の機能)。
上記設定処理の終了後、CPU201は、ピアノロール練習処理を繰り返し実行することにより、ピアノロールの表示を進行させる(ステップS702→S703→S704→S702の繰返し処理)。このとき、CPU201は、ステップS703で、ユーザが入力部204から設定変更を指示したか否かを判定し、指示があれば、ステップS701の設定処理に戻って設定を変更する。また、CPU201は、ステップS704で、ユーザが入力部204からピアノロールの終了を指示したか否かを判定し、指示があれば、図7のフローチャートで例示される演奏ガイド進行制御処理を終了する。
図8は、図7のステップS702で繰り返し実行されるピアノロール練習処理の例を示すフローチャートである。
CPU201は、表示部205に表示するピアノロールの背景を表示する(ステップS801)。例えば、図5の表示例における鍵盤の表示や、それを延長した音高位置表示、各小節領域の枠の表示等である。
次に、CPU201は、表示部205に、RAM203上の図3(a)に例示される手本ピアノロールデータに対して、図5を例に前述した表示処理を実行する。この処理の詳細は、図9のフローチャートを用いて後述する。
続いて、CPU201は、ユーザによる電子楽器208の演奏に基づいてMIDI I/F206を介して入力するユーザ演奏情報106に対応してRAM203上の入力バッファに図6の例で前述した入力音符データを順次生成する。そして、CPU201は、その入力音符データから、図3(b)の例で前述した入力ピアノロールデータをRAM203上に生成する(以上、ステップS803)。この処理の詳細は、図10から図12のフローチャートを用いて後述する。
そして、CPU201は、ステップS803で生成した入力ピアノロールデータに対して、図5を例に前述した表示処理を実行する(ステップS804)。
最後に、CPU201は、図5の例で説明したカーソル位置をピアノロール上に表示する(ステップS805)。
図9は、図8のステップS802の手本ピアノロールデータ表示処理の例を示すフローチャートである。
CPU201はまず、現在決定しているカーソル時刻 から、表示する小節の番号を決め、RAM203上に設定した表示小節番号リストに保存する(ステップS901)。カーソル時刻は、図5の例で説明したカーソル位置に対応する時刻であり、図10から図12のフローチャートで後述する図8のステップS803の入力ピアノロールデータ生成処理で更新される。図5の例で前述したように、例えば、ピアノロールで一度に表示できる小節数が4だとして、ピアノロール表示をする曲全体の中の小節の範囲として例えば6小節分が選択されているとする。この場合、単純にピアノロールが進行する場合、カーソル時刻が小節1の中、小節2の中、小節3の中と進んでいくに従い、「1・2・3・4」小節、「2・3・4・5」小節、「3・4・5・6」小節というように、表示する小節の番号が順次決定されることになる。
次に、CPU201は、小節番号を示すRAM203上の変数iの値をステップS902で0に初期化した後、ステップS906で変数iの値を+1ずつインクリメントしながら、ステップS907で変数iの値が表示小節番号リストの要素数(本実施形態では例えば4)に達したと判定するまで、ステップS903からS905の一連の処理を実行する。
まず、CPU201は、変数iが示す小節に含まれる手本ピアノロールデータを、RAM203から取得する(ステップS903)。図3(a)で前述したように、CPU201は、この小節に対応する図4に例示した小節データの「開始時刻」から次の小節データの「開始時刻」までの間に「発音時刻」が含まれる手本ピアノロールデータを、図3(a)に例示されるRAM203上の手本ピアノロールデータ[0]〜「m−1」より抽出する。
CPU201は、図5の例で前述したように、抽出した手本ピアノロールデータの各データ組中の「音高」と「発音時刻」と「発音時間」に基づいて、棒グラフ状の音符情報の座標データを算出する(ステップS904)。そして、CPU201は、その音符情報を表示部205のディスプレイに表示する(ステップS905)。
本実施形態では、図5に例示したように入力ピアノロールデータをお手本ピアノロールデータに対して重ね合わせて表示するために、カーソルが過ぎてからある一定時間そのまま表示を更新しないように表示小節を管理する必要があり、ピアノロールで一度に表示できる小節数が4だとして、ピアノロール表示をする楽曲全体の小節範囲として6小節分が選択されている場合に、カーソル時刻が小節1の中、小節2の中、小節3の中と進んでいくに従い、「1・2・3・4」小節、「1・2・3・4」小節、「2・3・4・5」小節と、例えば2小節分遅延してから更新を開始するなどの制御を行ってよい。また、最大同時表示小節数と、カーソルが過ぎたあと残しておく小節数は、ユーザが入力部204から設定できるようにしてよい。
図13から図15は、カーソル進行の例を示す説明図である。これらの例では、まだ再生をしていない小節、カーソル位置の小節、再生済みの小節、鍵盤部というようにピアノロールが表示されている。各小節領域毎に、一定の遅れをもって表示が更新されてよい。例えば、図15の例では、7小節目にカーソルが位置しているときに、2小節分遅れ、5・6・7・8小節が表示されている。
図10は、図8のステップS803の入力ピアノロールデータ生成処理の例を示すフローチャートである。
CPU201は、図7のステップS701の設定処理で、手本による自動演奏に対して音符毎に音高が合っているかどうかを確認しながらピアノロールの表示進行を行うモード(以下「手本参照モード」と呼ぶ)か、単純にノートオンおよびノートオフだけでピアノロールの表示進行を行うモード(以下「手本非参照モード」と呼ぶ)のいずれが選択されているかを判定する(ステップS1001)。
CPU201は、手本参照モードが選択されている場合には、手本参照モードにおけるカーソル時刻更新処理(ステップS1002)と、ピアノロール上でユーザの演奏による音符情報を手本の自動演奏に重ねて表示するための図3(b)の例で前述した入力ピアノロールデータ生成の処理(ステップS1003)を実行する。
一方、CPU201は、手本非参照モードが選択されている場合には、手本非参照モードにおけるカーソル時刻更新処理(ステップS1004)を実行する。そして、その後ピアノロール上でユーザの演奏による音符情報を手本の自動演奏に重ねて表示するための図3(b)の例で前述した入力ピアノロールデータ生成の処理(ステップS1003)を実行する。
図11は、図10のステップS1002の手本を参照するカーソル時刻更新処理の例を示すフローチャートである。この処理では、CPU201は、大きく分けて、5種類の制御処理を実行する。
まず、CPU201は、第1の制御処理として、練習開始時、またはユーザが電子楽器208の鍵盤を押鍵中でノートオンの状態を維持しているときに、ピアノロールの表示進行が進むようにし、手本ピアノロールデータの音符が発生するイベントタイミングに到達したらそこで停止させる制御処理を実行する。
CPU201はまず、RAM203に記憶している判定待ちフラグの論理値がON(オン)の状態であるか否かを判定する。判定待ちフラグについては後述するが、最初は判定待ちフラグの論理値はOFF(オフ)であるため、ステップS1101の判定はNOとなる。
次に、CPU201は、練習開始時であるか、RAM203上の最新の入力音符データ(図6)を参照する等することによりユーザの演奏がノートオン中であるか、またはRAM203上の自動加算フラグがオンで自動加算中であるか、のいずれかの状態であるか否かを判定する(ステップS1102)。練習開始時は、ステップS1102の判定はYESとなる。
次に、CPU201は、ステップS1103からS1106の一連の処理によって、ピアノロール上での現在のイベントタイミングで、手本ピアノロールデータによる音符のノートオンが発生するか否かをチェックする。すなわち、CPU201は、ピアノロール上でカーソルの存在する小節内の音符を順次処理するための、音符の番号を示すRAM203上の変数iをステップS1103で0に初期化した後、ステップS1105で変数iの値を+1ずつインクリメントしながら、ステップS1106で、変数iの値が表示中のカーソル位置の小節内の手本ピアノロールデータの音符数に達したと判定するまで、ステップS1104で、現在のイベントタイミングが各音符番号に対応する手本ピアノロールデータの発音時刻(図3(a)参照)に一致するか否かを判定する。
現在のカーソル時刻が、現在のカーソル位置の小節内のどの手本ピアノロールデータの発音時刻にも一致しない場合は、ステップS1104の判定がYESとならないまま、ステップS1106の判定がYESとなる。その結果、CPU201は、RAM203上の判定待ちフラグがオフか否かを判定する(ステップS1107)。
現在のイベントタイミングが手本ピアノロールデータの発音時刻に一致しないうちはステップS1111が実行されず、判定待ちフラグはオフのままとなり、ステップS1107の判定がYESとなる。この場合には、CPU201は、RAM203上に記憶しているカーソル時刻の変数を更新する(ステップS1108)。このカーソル時刻の更新により、ピアノロール上のカーソル位置が順次進行されることとなる。このとき、CPU201は、図7のステップS701の設定処理で設定されたテンポの情報に基づいて、ピアノロールを進行させるためのカーソル時刻の更新量を決定してよい。例えば、BPM=120(1分間に4分音符が120回鳴る)、4/4拍子、ピアノロールの表示上1小節の長さが固定値(例えば100ピクセル)である場合、1分間に120/4=30小節進むため、2秒で1小節(100ピクセル)カーソル位置が進行する。テンポを半分のBPM=60にした場合、4秒で1小節(100ピクセル)カーソル位置が進行する。従って、画面の解像度に応じて、例えば、1ピクセル分カーソル位置が進行する時間をテンポに応じて算出し、この時間に応じたシステムクロック数などに基づいて、カーソル時刻を更新することができる。また、一般的なMIDI信号で、例えば、1小節が960ティックに分割されているような場合、このようなテンポおよびティック数に応じて、ピアノロール上で1ティックずつ進む場合の時間(クロック数)を基にカーソル時刻を更新してゆくことも可能である。なお、カーソル時刻は、CPU201が計時するシステム時刻に基づいて決定してよい。
カーソル時刻が更新されることにより、前述した図8のステップS802の手本ピアノロールデータ表示処理において、図9のステップS901において、上述したように更新されたカーソル時刻に基づいて小節のカーソル位置が進行したピアノロールが表示されることになる。
上述したステップS1104からS1106までの繰返し処理において、現在のカーソル時刻が、現在のカーソル位置の小節内のいずれかの手本ピアノロールデータの発音時刻に一致し、ステップS1104の判定がYESになると、CPU201は、RAM203上の後述する自動加算フラグの論理値をOFFに設定し(ステップS1110)、RAM203上の判定待ちフラグの論理値をONに設定し(ステップS1111)、ステップS1104で判定された、イベントタイミングが到来した手本ピアノロールデータの音符情報をRAM203上に一時保存する(ステップS1112)。
その後、CPU201は、ステップS1104からS1106の繰返し処理に戻り、現在のカーソル位置が示す小節内の、他の音符番号に対応する手本ピアノロールデータの中で、発音時刻が現在のイベントタイミングに一致して同時発音すべきものがあるか否かをさらにチェックする。同時発音すべきデータが見つかったら、ステップS1104の判定が再びYESとなり、ステップS1112で、新たに判定された手本ピアノロールデータの音符情報をRAM203上に一時保存する。
上述のようにして、ステップS1111で判定待ちフラグが1回でもオンされた後にステップS1106の判定がYESになると、判定待ちフラグがオンになっているため、その次に実行されるステップS1107の判定がNOとなる。この結果、ステップS1108のカーソル時刻の更新は実行されずに、図11のフローチャートの処理を終了する。
以上のようにして、練習開始時には、ピアノロールの表示進行がスタートし、手本ピアノロールデータによる最初の音符が発音されるイベントタイミングに到達したらそこでピアノロールが一旦停止して、ユーザによる演奏を待つという第1の制御処理が実行される。
以上のようにして判定待ちフラグがオンになると、CPU201は、図7におけるステップS702〜S704のループで図8のステップS803から図10のステップS1002を経由する繰り返し処理により、図11のフローチャートの処理を再び実行する次のカーソル時刻処理タイミングで、ステップS1101の判定がYESとなる。この結果、CPU201は、ステップS1112でRAM203に一時保存した手本ピアノロールデータの、同時に発音される1つ以上の音符情報中の音高(図3(a)参照)に、ユーザの押鍵で発生した最新の1つ以上の入力音符データ中のノート番号(音高)が一致しているか否かのノート正誤判定を行う(ステップS1113、S1114)。この判定では、音高だけに限らず、音量やその他のノート正誤の評価が可能なパラメータが判定されてもよい。
ユーザが正しい押鍵を行わずステップS1114の判定がNOならば、そのまま今回のカーソル時刻更新処理を終了する。そして、次のカーソル時刻処理タイミングになったときに、再び図11のフローチャートが実行され、今度は判定待ちフラグがONになっているためステップS1101の判定がYESとなる。そして再び、ステップS1113→S1114の処理へと進む。このようにして、ユーザが正しい押鍵を行うまで、カーソル時刻更新処理(ステップS1108)が実行されない。カーソル時刻が更新されないことにより、前述した図8のステップS802の手本ピアノロールデータ表示処理において、図9のステップS901において、カーソル時刻が変わらないため、ピアノロールの表示は進行が停止する状態となる。
次に、CPU201は、第2の制御処理として、ユーザがピアノロールが停止している位置で正しい押鍵を行った場合に、第1の制御処理による次のイベントタイミングまでのピアノロールの表示進行を再開する制御処理を実行する。
この場合、S1101の判定がYES→S1113→S1114という処理経路において、ユーザの正しい押鍵によりステップS1114の判定がYESになる。これにより、CPU201は、判定待ちフラグの論理値をOFFにする(ステップS1115)。この結果、ユーザが押鍵の状態を維持している間、次以降のカーソル時刻処理タイミングで、判定待ちフラグがオフによりステップS1101の判定がNOとなり、さらにノートオン中によりステップS1102の判定がYESとなって、前述した第1の制御処理と同様の制御経路が実行されることにより、ステップS1106の判定がYES→S1107の処理へと進む。判定待ちフラグはオフとなっているため、ステップS1107の判定がYESとなり、CPU201は、ステップS108でカーソル時刻の更新を実行する。これにより、ユーザが押鍵の状態を維持している間、手本ピアノロールデータの音符情報に対応する次のイベントタイミングまで、ピアノロールの表示進行が進むことになる。
また、上述のユーザが正しい押鍵を行ってピアノロールが進行する間にも、各イベントタイミングが次の1つ以上の手本ピアノロールデータの音符情報の発音時刻に一致すれば、再びステップS1104の判定がYES→ステップS1110→S1111→S1112が実行されることにより、前述したように、さらにユーザの押鍵待ちの状態に移行して、ピアノロールの表示進行が停止しユーザによる新たな押鍵入力待ちの状態となる。つまり、ユーザが押鍵している間に、その音を離鍵せずにさらに別の音を押鍵すべきタイミングが来たような場合にも、その別の音を正しく押鍵するまでは再びピアノロールの進行を止めることができる。
次に、CPU201は、第3の制御処理として、ユーザが正しい押鍵を行った後に押鍵を継続している状態で押鍵していた鍵を離鍵して、入力音符データがノートオンからノートオフとなったときに、ピアノロールの表示進行を停止する制御処理を実行する。
この場合、CPU201は、判定待ちフラグがOFFでステップS1101の判定がNO→S1102の判定がNO→S1116のノートオンからノートオフの判定がYES→S1117のスタッカートまたは休符の判定がNOとなって、カーソル時刻の更新処理を実行せずに終了する。カーソル時刻が更新されないことにより、前述した図8のステップS802の手本ピアノロールデータ表示処理において、図9のステップS901において、カーソル時刻が変わらないため、ピアノロールの表示進行が停止する状態となる。
ここで、ステップS1117の判定がNOとなる条件は、ステップS1112でRAM203に一時記憶された手本ピアノロールデータによる音符が、スタッカートおよび休符のどちらでもない場合、ならびにユーザによるノートオンからノートオフまでの発音時間が手本ピアノロールデータのノートイベントの発音時間(図3(a)参照)の許容範囲(例えば80%以上)となっていない場合である。すなわち、ユーザが、スタッカートおよび休符以外の場所で、手本ピアノロールデータの音符情報が示す音符長よりもあまりに早く離鍵してしまった場合に、ピアノロールの表示進行が停止する。この場合には、CPU201は、音符情報毎に、ノートオフしたときの発音時間をRAM203等に記憶しておく。そして、次に、ユーザが、同じ音高の鍵を再度押鍵(ノートオン)し、ステップS1102の判定がYESとなってピアノロールの表示進行が再開し、さらにそれを離鍵してステップS1116からS1117が実行されたときに、CPU201は、記憶しておいた発音時間に今回の発音時間を加算した結果に対して、上記ノートイベント許容範囲の判定を行うようにしてよい。
次に、CPU201は、第4の制御処理として、入力音符情報がノートオンからノートオフに変化したタイミングで、直前のイベントタイミング時のピアノロールデータが示す音符情報がスタッカートまたは休符のいずれか、あるいはノートイベント許容範囲内であるときに、ピアノロールの表示進行をスタッカートまたは休符に対応する音符長または許容範囲内でノートオフしたときの音符の残り時間長に対応する時間だけ自動的に進めてから停止する制御を実行する。
この場合、CPU201は、ステップS1116の判定がYESとなった後、ステップS1117の判定がYESとなる。この結果、CPU201は、RAM203の変数として確保されている自動加算時間に、スタッカートまたは休符に対応する音符長または許容範囲内でノートオフしたときの音符の残り時間長に対応する時間値をセットし(ステップS1118)、RAM203上の自動加算フラグをONし(ステップS1119)、ステップS1120のカーソル時刻の更新処理に進む。
その後、CPU201は、ユーザが何も演奏をしなくても、自動加算フラグがオンになっているために、ステップS1101の判定がNO→S1102の判定がYES→S1104〜S1106の繰返し処理の後、ステップS1107の判定がYES→ステップS1108と進んで、ステップS1108でのカーソル時刻の更新処理を繰り返し実行する。さらに、CPU201は、ステップS1109の判定がYES→S1121と処理を進め、自動加算時間が0以下にならない限り(ステップS1121の判定がNOである限り)、ステップS1122で自動加算時間から今回の経過時間を減算しながら、ステップS1108でのカーソル時刻の更新処理を繰り返し実行する。
CPU201は、ステップS1122での自動加算時間の減算の繰返しにより、やがてステップS1121の判定がYESになると、ステップS1123で自動加算フラグの論理値をOFFにして、カーソル時刻の更新をしなくなる。
このようにして、スタッカートまたは休符、あるいはノートイベント許容範囲でのノートオフについては、ユーザがなにもしなくてもピアノロールの表示進行をそれらの音符長または残り時間長に対応する時間だけ進めるようにすることにより、練習を自然に進行させることが可能となる。例えば、図13から図15に示されるカーソル進行の例において、例えば図13および図14の右手パート、図15の右手パートと左手パートの後半などでは、スタッカートや休符の処理が多くなっているが、これらの場合には、ピアノロールの表示進行をストップさせずに進めることが可能となる。
上述の自動加算による自動進行中において、ステップS1104からS1106の繰返し処理の中で、各イベントタイミングが次の1つ以上の手本ピアノロールデータの音符情報の発音時刻に一致すれば、ステップS1104の判定がYES→ステップS1110→S1111→S1112が実行されることにより、前述した第2の制御処理に移行して、ピアノロールの自動表示進行が停止しユーザによる新たな押鍵入力待ちの状態となる。この場合、自動加算時間はゼロとなっているはずのものであるが、念のため自動加算時間をクリアすることとしても良い。
最後に、第5の制御処理として、CPU201は、ユーザがどの鍵も押鍵せずに新たな入力音符データが入力していない状態のときに、ピアノロールの表示進行の停止を維持する制御処理を実行する。すなわち、このような場合には、CPU201は、ステップS1101の判定がNO→S1102の判定がNO→S1116の判定もNOとなって、カーソル時刻の更新処理を実行せずに終了する。カーソル時刻が更新されないことにより、前述した図8のステップS802の手本ピアノロールデータ表示処理において、図9のステップS901において、カーソル時刻が変わらないため、ピアノロールの表示進行の停止状態が維持される。
図12は、図10のステップS1004の手本を参照しないカーソル時刻更新処理の例を示すフローチャートである。この処理では、CPU201は、ノートオンしている間には演奏ガイドの表示進行を進め、ノートオフしたら少しだけ進行を進めた後に進行の表示をノートオフした位置に戻す制御を行う。
CPU201はまず、ユーザの押鍵に基づく入力音符データとして、ユーザが何らかの鍵の押鍵している(ノートオン中である)か否かを判定する(ステップS1201)。
ユーザがノートオン中でステップS1201の判定がYESになると、CPU201は、カーソル時刻の更新処理を実行する(ステップS1202)。この処理は、前述した図11のステップS1108の処理と同様である。この結果、カーソル時刻が更新されることにより、前述した図8のステップS802の手本ピアノロールデータ表示処理において、図9のステップS901において、上述したように更新されたカーソル時刻に基づいて小節のカーソル位置が進行したピアノロールが表示されることになる。ステップS1202の処理の後、CPU201は、図12のフローチャートで示される図10のステップS1004のカーソル時刻更新処理を終了する。
ユーザがノートオン中でなく、ステップS1201の判定がNOになると、CPU201は、入力音符データ(図6参照)上で、ノートオンからノートオフへのイベントが発生したか否か、すなわち、ユーザがノートオンしていた音を離鍵(ノートオフ)したか否かを判定する(ステップS1203)。
ステップS1203の判定がYESになると、CPU201は、入力音符データ上のノートオフ時のシステム時刻(図6参照)をRAM203に保存した後(ステップS1204)、RAM203の変数として確保されている自動加算時間に所定値をセットし(ステップS1205)、RAM203上の自動加算フラグをONする(ステップS1206)。その後、CPU201は、図12のフローチャートで示される図10のステップS1004のカーソル時刻更新処理を終了する。
その後、CPU201は、ユーザが何も演奏をしなくても、ステップS1201の判定がNO→S1202の判定がNO→S1207の判定がNOと進む。そして、自動加算フラグがONであることによりステップS1209の判定がYESになる。CPU201は、自動加算時間が0以下にならない限り(ステップS1210)、ステップS1213で自動加算時間から所定の経過時間を減算しながら、ステップS1212でのカーソル時刻の更新処理を繰り返し実行する。
CPU201は、ステップS1213での自動加算時間の減算の繰返しにより、やがてステップS1210の判定がYESになると、カーソル時刻として、ステップS1204でRAM203に保持されていたノートオフシステム時刻を代入し(ステップS1211)、自動加算フラグの論理値をOFFにして(ステップS1208)、カーソル時刻の更新をしなくなる。その後、CPU201は、図12のフローチャートで示される図10のステップS1004のカーソル時刻更新処理を終了する。
上記カーソル時刻の更新処理中に、入力音符データにおいてノートオフからノートオンへのイベントが発生すると、ステップS1207の判定がYESになる。この結果、CPU201は、自動加算フラグの論理値をOFFにして(ステップS1208)、図12のフローチャートで示される図10のステップS1004のカーソル時刻更新処理を終了する。次回のカーソル時刻の更新処理のタイミング以降、ステップS1201の判定がYESとなるため、ユーザが押鍵を継続してノートオンが継続される限りカーソル時刻が更新され(ステップS1202)、ピアノロールの表示進行が進む状態が続く。
以上のようにして、ユーザは、自動演奏情報105が示す音符情報と自分の演奏とが合っているかどうかをあまり気にする必要なく、ピアノロールの表示進行を進めることが可能となる。手本データを特に認識していない場合でも、ノートオフしてから数秒カーソルを自動で進め、その間にノートオンが無ければノートオフした位置までカーソルが戻るという仕様を入れることでスタッカートや休符があっても練習できるようになる。この場合は、ステップ1205でセットする自動加算時間に、所望の(例えば数秒の)時間をセットすることにより実現できる。
その他、手本データを使用した場合には、ノートオンの音高が合っていないとカーソルが進まないようにすることや、両手協調タイプがあっていないと進まないようにするなど、何か正誤を確認する要素を入れることで多彩な練習が可能になる。
また、本実施形態では、図5に例示したように、手本データと入力データを重ねて表示することで、正誤をすぐさま確認することが可能となる。
以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
記憶手段に記憶される楽曲を構成する少なくとも複数の音符情報からなる自動演奏情報から、当該楽曲の進行に合わせて対応する音符情報を順次読み出すとともに、当該読み出された音符情報及び当該読み出された音符情報の前後の音符情報に基づいた演奏ガイド情報を表示画面上に表示させる演奏ガイド表示部と、
ユーザ演奏により入力されるユーザ演奏情報を判別し、当該ユーザ演奏情報が示す演奏状態に応じて、前記演奏ガイド情報表示の進行を制御する演奏ガイド進行制御部と、
を備え
前記演奏ガイド進行制御部は、
前記楽曲の進行に合わせて読み出された音符情報と前記入力されたユーザ演奏情報とが対応しているときは前記演奏ガイド情報表示を進行させ、
前記ユーザ演奏情報の入力が中断した場合、当該入力が中断された時点で読み出されている音符情報に基づいて前記入力の中断が許容されるものであるか否かを判断するとともに、
前記入力の中断が許容されるものであると判断された場合は、前記楽曲の進行に合わせて読み出された音符情報に続く音符情報の発音タイミングまで、前記演奏ガイド情報表示を進行させる、
ことを特徴とする演奏練習装置。
(付記2)
前記演奏ガイド進行制御部は、
前記ユーザ演奏情報の入力が中断した場合に、当該入力の中断が、前記楽曲の進行に合わせて読み出された音符情報がスタッカートあるいは休符であることに起因している場合、または前記入力の中断の長さが、予め定められた許容範囲内である場合に、前記入力の中断が許容されるものと判断する、
ことを特徴とする付記に記載の演奏練習装置。
(付記3)
記憶手段に記憶される楽曲を構成する少なくとも複数の音符情報からなる自動演奏情報から、当該楽曲の進行に合わせて対応する音符情報を順次読み出すとともに、当該読み出された音符情報及び当該読み出された音符情報の前後の音符情報に基づいた演奏ガイド情報を表示画面上に表示させる演奏ガイド表示部と、
ユーザ演奏により入力されるユーザ演奏情報を判別し、当該ユーザ演奏情報が示す演奏状態に応じて、前記演奏ガイド情報表示の進行を制御する演奏ガイド進行制御部と、
を備え
前記演奏ガイド進行制御部は、
入力する前記ユーザ演奏情報が、ノートオンを示しているときに、前記演奏ガイド情報表示の進行を進め、
入力する前記ユーザ演奏情報が、ノートオンからノートオフに変化したときに、前記演奏ガイド情報表示の進行を予め定められた時間進めてから前記演奏ガイド情報表示の進行を当該ノートオフに対応するタイミング位置に戻して停止し、
前記演奏ガイド情報表示の進行を前記予め定められた時間進める動作を実行している最中に、前記ユーザ演奏情報がノートオフからノートオンに変化したときに、当該動作を解除する、
ことを特徴とする演奏練習装置。
(付記4)
前記演奏ガイド進行制御部は、
入力する前記ユーザ演奏情報が、ノートオンを示しているときに、前記演奏ガイド情報表示の進行を進め、
入力する前記ユーザ演奏情報が、ノートオンからノートオフに変化したときに、前記演奏ガイド情報表示の進行を予め定められた時間進めてから前記演奏ガイド情報表示の進行を当該ノートオフに対応するタイミング位置に戻して停止し、
前記演奏ガイド情報表示の進行を前記予め定められた時間進める動作を実行している最中に、前記ユーザ演奏情報がノートオフからノートオンに変化したときに、当該動作を解除する、
ことを特徴とする付記1または2に記載の演奏練習装置。
(付記5)
付記に記載された前記演奏ガイド進行制御部による制御モードと、付記に記載された前記演奏ガイド進行制御部による制御モードとを、前記ユーザの指示に基づいて切り替える練習モード切替部をさらに備える、
ことを特徴とする演奏練習装置。
(付記6)
演奏練習装置で用いられる演奏練習方法であって、前記演奏練習装置
記憶手段に記憶される楽曲を構成する少なくとも複数の音符情報からなる自動演奏情報から、当該楽曲の進行に合わせて対応する音符情報を順次読み出させるとともに、当該読み出された音符情報及び当該読み出された音符情報の前後の音符情報に基づいた演奏ガイド情報を表示画面上に表示させ、
ユーザ演奏により入力されるユーザ演奏情報を判別させ、当該ユーザ演奏情報が示す演奏状態に応じて、前記演奏ガイド情報表示の進行を制御させ、
前記制御させる際に、
前記楽曲の進行に合わせて読み出された音符情報と前記入力されたユーザ演奏情報とが対応しているときは前記演奏ガイド情報表示を進行させ、
前記ユーザ演奏情報の入力が中断した場合、当該入力が中断された時点で読み出されている音符情報に基づいて前記入力の中断が許容されるものであるか否かを判断させるとともに、前記入力の中断が許容されるものであると判断された場合は、前記楽曲の進行に合わせて読み出された音符情報に続く音符情報の発音タイミングまで、前記演奏ガイド情報表示を進行させる、
演奏練習方法。
(付記7)
演奏練習装置で用いられる演奏練習方法であって、前記演奏練習装置
記憶手段に記憶される楽曲を構成する少なくとも複数の音符情報からなる自動演奏情報から、当該楽曲の進行に合わせて対応する音符情報を順次読み出させるとともに、当該読み出された音符情報及び当該読み出された音符情報の前後の音符情報に基づいた演奏ガイド情報を表示画面上に表示させ、
ユーザ演奏により入力されるユーザ演奏情報を判別させ、当該ユーザ演奏情報が示す演奏状態に応じて、前記演奏ガイド情報表示の進行を制御させ、
前記制御させる際に、
入力する前記ユーザ演奏情報が、ノートオンを示しているときに、前記演奏ガイド情報表示の進行を進めさせ、
入力する前記ユーザ演奏情報が、ノートオンからノートオフに変化したときに、前記演奏ガイド情報表示の進行を予め定められた時間進めてから前記演奏ガイド情報表示の進行を当該ノートオフに対応するタイミング位置に戻して停止させ、
前記演奏ガイド情報表示の進行を前記予め定められた時間進める動作を実行している最中に、前記ユーザ演奏情報がノートオフからノートオンに変化したときに、当該動作を解除させる、
演奏練習方法。
(付記8)
演奏練習装置として用いられるコンュータに、
記憶手段に記憶される楽曲を構成する少なくとも複数の音符情報からなる自動演奏情報から、当該楽曲の進行に合わせて対応する音符情報を順次読み出させるとともに、当該読み出された音符情報及び当該読み出された音符情報の前後の音符情報に基づいた演奏ガイド情報を表示画面上に表示させるステップと、
ユーザ演奏により入力されるユーザ演奏情報を判別させ、当該ユーザ演奏情報が示す演奏状態に応じて、前記演奏ガイド情報表示の進行を制御させるステップと、
を実行させ
前記制御させるステップは、
前記楽曲の進行に合わせて読み出された音符情報と前記入力されたユーザ演奏情報とが対応しているときは前記演奏ガイド情報表示を進行させるステップと、
前記ユーザ演奏情報の入力が中断した場合、当該入力が中断された時点で読み出されている音符情報に基づいて前記入力の中断が許容されるものであるか否かを判断させるとともに、前記入力の中断が許容されるものであると判断された場合は、前記楽曲の進行に合わせて読み出された音符情報に続く音符情報の発音タイミングまで、前記演奏ガイド情報表示を進行させるステップと、を含む、
演奏練習プログラム。
(付記9)
演奏練習装置として用いられるコンュータに、
記憶手段に記憶される楽曲を構成する少なくとも複数の音符情報からなる自動演奏情報から、当該楽曲の進行に合わせて対応する音符情報を順次読み出させるとともに、当該読み出された音符情報及び当該読み出された音符情報の前後の音符情報に基づいた演奏ガイド情報を表示画面上に表示させるステップと、
ユーザ演奏により入力されるユーザ演奏情報を判別させ、当該ユーザ演奏情報が示す演奏状態に応じて、前記演奏ガイド情報表示の進行を制御させるステップと、
を実行させ
前記制御させるステップは、
入力する前記ユーザ演奏情報が、ノートオンを示しているときに、前記演奏ガイド情報表示の進行を進めさせるステップと、
入力する前記ユーザ演奏情報が、ノートオンからノートオフに変化したときに、前記演奏ガイド情報表示の進行を予め定められた時間進めてから前記演奏ガイド情報表示の進行を当該ノートオフに対応するタイミング位置に戻して停止させるステップと、
前記演奏ガイド情報表示の進行を前記予め定められた時間進める動作を実行している最中に、前記ユーザ演奏情報がノートオフからノートオンに変化したときに、当該動作を解除させるステップと、含む、
演奏練習プログラム。
100 演奏練習装置
101 自動演奏情報記憶部
102 演奏ガイド表示部
103 演奏ガイド進行制御部
104 楽器
105 自動演奏情報
106 ユーザ演奏情報
107 練習モード切替部
201 CPU
202 ROM
203 RAM
204 入力部
205 表示部
206 MIDI I/F(MIDIインタフェース部)
207 バス
208 電子楽器

Claims (9)

  1. 記憶手段に記憶される楽曲を構成する少なくとも複数の音符情報からなる自動演奏情報から、当該楽曲の進行に合わせて対応する音符情報を順次読み出すとともに、当該読み出された音符情報及び当該読み出された音符情報の前後の音符情報に基づいた演奏ガイド情報を表示画面上に表示させる演奏ガイド表示部と、
    ユーザ演奏により入力されるユーザ演奏情報を判別し、当該ユーザ演奏情報が示す演奏状態に応じて、前記演奏ガイド情報表示の進行を制御する演奏ガイド進行制御部と、
    を備え
    前記演奏ガイド進行制御部は、
    前記楽曲の進行に合わせて読み出された音符情報と前記入力されたユーザ演奏情報とが対応しているときは前記演奏ガイド情報表示を進行させ、
    前記ユーザ演奏情報の入力が中断した場合、当該入力が中断された時点で読み出されている音符情報に基づいて前記入力の中断が許容されるものであるか否かを判断するとともに、
    前記入力の中断が許容されるものであると判断された場合は、前記楽曲の進行に合わせて読み出された音符情報に続く音符情報の発音タイミングまで、前記演奏ガイド情報表示を進行させる、
    ことを特徴とする演奏練習装置。
  2. 前記演奏ガイド進行制御部は、
    前記ユーザ演奏情報の入力が中断した場合に、当該入力の中断が、前記楽曲の進行に合わせて読み出された音符情報がスタッカートあるいは休符であることに起因している場合、または前記入力の中断の長さが、予め定められた許容範囲内である場合に、前記入力の中断が許容されるものと判断する、
    ことを特徴とする請求項に記載の演奏練習装置。
  3. 記憶手段に記憶される楽曲を構成する少なくとも複数の音符情報からなる自動演奏情報から、当該楽曲の進行に合わせて対応する音符情報を順次読み出すとともに、当該読み出された音符情報及び当該読み出された音符情報の前後の音符情報に基づいた演奏ガイド情報を表示画面上に表示させる演奏ガイド表示部と、
    ユーザ演奏により入力されるユーザ演奏情報を判別し、当該ユーザ演奏情報が示す演奏状態に応じて、前記演奏ガイド情報表示の進行を制御する演奏ガイド進行制御部と、
    を備え
    前記演奏ガイド進行制御部は、
    入力する前記ユーザ演奏情報が、ノートオンを示しているときに、前記演奏ガイド情報表示の進行を進め、
    入力する前記ユーザ演奏情報が、ノートオンからノートオフに変化したときに、前記演奏ガイド情報表示の進行を予め定められた時間進めてから前記演奏ガイド情報表示の進行を当該ノートオフに対応するタイミング位置に戻して停止し、
    前記演奏ガイド情報表示の進行を前記予め定められた時間進める動作を実行している最中に、前記ユーザ演奏情報がノートオフからノートオンに変化したときに、当該動作を解除する、
    ことを特徴とする演奏練習装置。
  4. 前記演奏ガイド進行制御部は、
    入力する前記ユーザ演奏情報が、ノートオンを示しているときに、前記演奏ガイド情報表示の進行を進め、
    入力する前記ユーザ演奏情報が、ノートオンからノートオフに変化したときに、前記演奏ガイド情報表示の進行を予め定められた時間進めてから前記演奏ガイド情報表示の進行を当該ノートオフに対応するタイミング位置に戻して停止し、
    前記演奏ガイド情報表示の進行を前記予め定められた時間進める動作を実行している最中に、前記ユーザ演奏情報がノートオフからノートオンに変化したときに、当該動作を解除する、
    ことを特徴とする請求項1または2に記載の演奏練習装置。
  5. 請求項に記載された前記演奏ガイド進行制御部による制御モードと、請求項に記載された前記演奏ガイド進行制御部による制御モードとを、前記ユーザの指示に基づいて切り替える練習モード切替部をさらに備える、
    ことを特徴とする演奏練習装置。
  6. 演奏練習装置で用いられる演奏練習方法であって、前記演奏練習装置
    記憶手段に記憶される楽曲を構成する少なくとも複数の音符情報からなる自動演奏情報から、当該楽曲の進行に合わせて対応する音符情報を順次読み出させるとともに、当該読み出された音符情報及び当該読み出された音符情報の前後の音符情報に基づいた演奏ガイド情報を表示画面上に表示させ、
    ユーザ演奏により入力されるユーザ演奏情報を判別させ、当該ユーザ演奏情報が示す演奏状態に応じて、前記演奏ガイド情報表示の進行を制御させ、
    前記制御させる際に、
    前記楽曲の進行に合わせて読み出された音符情報と前記入力されたユーザ演奏情報とが対応しているときは前記演奏ガイド情報表示を進行させ、
    前記ユーザ演奏情報の入力が中断した場合、当該入力が中断された時点で読み出されている音符情報に基づいて前記入力の中断が許容されるものであるか否かを判断させるとともに、前記入力の中断が許容されるものであると判断された場合は、前記楽曲の進行に合わせて読み出された音符情報に続く音符情報の発音タイミングまで、前記演奏ガイド情報表示を進行させる、
    演奏練習方法。
  7. 演奏練習装置で用いられる演奏練習方法であって、前記演奏練習装置
    記憶手段に記憶される楽曲を構成する少なくとも複数の音符情報からなる自動演奏情報から、当該楽曲の進行に合わせて対応する音符情報を順次読み出させるとともに、当該読み出された音符情報及び当該読み出された音符情報の前後の音符情報に基づいた演奏ガイド情報を表示画面上に表示させ、
    ユーザ演奏により入力されるユーザ演奏情報を判別させ、当該ユーザ演奏情報が示す演奏状態に応じて、前記演奏ガイド情報表示の進行を制御させ、
    前記制御させる際に、
    入力する前記ユーザ演奏情報が、ノートオンを示しているときに、前記演奏ガイド情報表示の進行を進めさせ、
    入力する前記ユーザ演奏情報が、ノートオンからノートオフに変化したときに、前記演奏ガイド情報表示の進行を予め定められた時間進めてから前記演奏ガイド情報表示の進行を当該ノートオフに対応するタイミング位置に戻して停止させ、
    前記演奏ガイド情報表示の進行を前記予め定められた時間進める動作を実行している最中に、前記ユーザ演奏情報がノートオフからノートオンに変化したときに、当該動作を解除させる、
    演奏練習方法。
  8. 演奏練習装置として用いられるコンュータに、
    記憶手段に記憶される楽曲を構成する少なくとも複数の音符情報からなる自動演奏情報から、当該楽曲の進行に合わせて対応する音符情報を順次読み出させるとともに、当該読み出された音符情報及び当該読み出された音符情報の前後の音符情報に基づいた演奏ガイド情報を表示画面上に表示させるステップと、
    ユーザ演奏により入力されるユーザ演奏情報を判別させ、当該ユーザ演奏情報が示す演奏状態に応じて、前記演奏ガイド情報表示の進行を制御させるステップと、
    を実行させ
    前記制御させるステップは、
    前記楽曲の進行に合わせて読み出された音符情報と前記入力されたユーザ演奏情報とが対応しているときは前記演奏ガイド情報表示を進行させるステップと、
    前記ユーザ演奏情報の入力が中断した場合、当該入力が中断された時点で読み出されている音符情報に基づいて前記入力の中断が許容されるものであるか否かを判断させるとともに、前記入力の中断が許容されるものであると判断された場合は、前記楽曲の進行に合わせて読み出された音符情報に続く音符情報の発音タイミングまで、前記演奏ガイド情報表示を進行させるステップと、を含む、
    演奏練習プログラム。
  9. 演奏練習装置として用いられるコンュータに、
    記憶手段に記憶される楽曲を構成する少なくとも複数の音符情報からなる自動演奏情報から、当該楽曲の進行に合わせて対応する音符情報を順次読み出させるとともに、当該読み出された音符情報及び当該読み出された音符情報の前後の音符情報に基づいた演奏ガイド情報を表示画面上に表示させるステップと、
    ユーザ演奏により入力されるユーザ演奏情報を判別させ、当該ユーザ演奏情報が示す演奏状態に応じて、前記演奏ガイド情報表示の進行を制御させるステップと、
    を実行させ
    前記制御させるステップは、
    入力する前記ユーザ演奏情報が、ノートオンを示しているときに、前記演奏ガイド情報表示の進行を進めさせるステップと、
    入力する前記ユーザ演奏情報が、ノートオンからノートオフに変化したときに、前記演奏ガイド情報表示の進行を予め定められた時間進めてから前記演奏ガイド情報表示の進行を当該ノートオフに対応するタイミング位置に戻して停止させるステップと、
    前記演奏ガイド情報表示の進行を前記予め定められた時間進める動作を実行している最中に、前記ユーザ演奏情報がノートオフからノートオンに変化したときに、当該動作を解除させるステップと、含む、
    演奏練習プログラム。
JP2013205498A 2013-09-30 2013-09-30 演奏練習装置、方法、およびプログラム Active JP6260176B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013205498A JP6260176B2 (ja) 2013-09-30 2013-09-30 演奏練習装置、方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013205498A JP6260176B2 (ja) 2013-09-30 2013-09-30 演奏練習装置、方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2015069151A JP2015069151A (ja) 2015-04-13
JP6260176B2 true JP6260176B2 (ja) 2018-01-17

Family

ID=52835825

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013205498A Active JP6260176B2 (ja) 2013-09-30 2013-09-30 演奏練習装置、方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP6260176B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6743843B2 (ja) * 2018-03-30 2020-08-19 カシオ計算機株式会社 電子楽器、演奏情報記憶方法、及びプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2623809B2 (ja) * 1989-01-19 1997-06-25 ヤマハ株式会社 自動押鍵指示装置
JP3348708B2 (ja) * 1999-03-24 2002-11-20 ヤマハ株式会社 演奏ガイド付き電子楽器
JP3055554B2 (ja) * 1999-08-02 2000-06-26 ヤマハ株式会社 操作指示装置
JP3826697B2 (ja) * 2000-09-19 2006-09-27 ヤマハ株式会社 演奏表示装置および演奏表示方法
JP3998461B2 (ja) * 2001-11-16 2007-10-24 株式会社河合楽器製作所 演奏練習装置、演奏練習方法、プログラム及び記録媒体
JP4136556B2 (ja) * 2002-09-10 2008-08-20 株式会社河合楽器製作所 演奏独習装置
JP4069892B2 (ja) * 2004-03-19 2008-04-02 ヤマハ株式会社 音楽的アミューズメントシステム

Also Published As

Publication number Publication date
JP2015069151A (ja) 2015-04-13

Similar Documents

Publication Publication Date Title
JP5247742B2 (ja) ゲーム装置、ゲーム装置の制御方法、及びプログラム
JP5983573B2 (ja) 演奏練習装置、方法、およびプログラム
WO2019058942A1 (ja) 再生制御方法、再生制御装置およびプログラム
JP4692189B2 (ja) 合奏システム
JP5806936B2 (ja) テキスト出力が可能な音楽ゲームシステム及びそのコンピュータプログラムが記憶されたコンピュータ読み取り可能な記憶媒体
JP6260176B2 (ja) 演奏練習装置、方法、およびプログラム
JPWO2019092791A1 (ja) データ生成装置およびプログラム
JP6507477B2 (ja) コード演奏タイミング指定装置、方法、およびプログラム
JP5399831B2 (ja) 音楽ゲームシステム及びそのコンピュータプログラム並びに効果音データの生成方法
JP4238237B2 (ja) 楽譜表示方法および楽譜表示プログラム
JP2008210500A5 (ja)
JP6736934B2 (ja) 楽曲再生装置及びプログラム
JP6149917B2 (ja) 音声合成装置および音声合成方法
JP5742303B2 (ja) 楽音生成制御装置および楽音生成制御プログラム
JP7107720B2 (ja) 運指表示プログラム
JP5733228B2 (ja) 演奏動作表示装置、方法及びプログラム
JP4069891B2 (ja) 音楽的アミューズメントシステム
JP4069889B2 (ja) 音楽的アミューズメントシステム
JP5773956B2 (ja) 楽曲演奏装置、楽曲演奏制御方法及びプログラム
JP4069890B2 (ja) 音楽的アミューズメントシステム
JP3672178B2 (ja) 音楽的アミューズメントシステム
JP2005099844A (ja) 音楽的アミューズメントシステム
JP3873872B2 (ja) 演奏情報記録装置及びプログラム
JP4281636B2 (ja) 音楽アミューズメント装置および同装置に適用されるコンピュータプログラム
JP2004240442A (ja) 音楽的アミューズメントシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160930

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170829

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171023

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171127

R150 Certificate of patent or registration of utility model

Ref document number: 6260176

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150