JP6217896B2 - リズム表示装置、電子楽器、リズム表示方法およびプログラム - Google Patents

リズム表示装置、電子楽器、リズム表示方法およびプログラム Download PDF

Info

Publication number
JP6217896B2
JP6217896B2 JP2013060980A JP2013060980A JP6217896B2 JP 6217896 B2 JP6217896 B2 JP 6217896B2 JP 2013060980 A JP2013060980 A JP 2013060980A JP 2013060980 A JP2013060980 A JP 2013060980A JP 6217896 B2 JP6217896 B2 JP 6217896B2
Authority
JP
Japan
Prior art keywords
rhythm
data
flag
sound generation
input
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
JP2013060980A
Other languages
English (en)
Other versions
JP2014186163A (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 JP2013060980A priority Critical patent/JP6217896B2/ja
Publication of JP2014186163A publication Critical patent/JP2014186163A/ja
Application granted granted Critical
Publication of JP6217896B2 publication Critical patent/JP6217896B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、初心者でも左右の両手の動きを協調させたリズム練習を可能にするリズム表示装置、電子楽器、リズム表示方法およびプログラムに関する。
音楽的な技能や知識を持たない初心者でも容易にリズム練習を可能する装置として、例えば特許文献1には、リズム練習用の楽曲データの各音符や各休符の長さを、例えば4分音符なら「タン」、4分休符なら「うん」等のように、ユーザに分かり易いリズム口唱文字列を伴う譜面に変換して画面表示することでリズム練習させるリズム練習システムが開示されている。
特許第4666591号公報
ところで、初心者が右手パートおよび左手パートのリズム練習を行う場合、単に片手パートずつのリズム練習を繰り返しても、両手の動きを協調させたリズム練習をすることが出来ない為に上手く行かないことが多い。つまり、両手の動きを協調させたリズム練習とは、具体的には両手同時に発音する箇所、一方のパートのサステイン中に他方のパートで発音する箇所、片手パートのみ発音する箇所などを意識した上で、左右両手パートの2つのシーケンスを、あたかも1つのシーケンスと捉えてリズム練習する形態であり、こうした練習形態は上記特許文献1に開示の装置では叶わず、結局、両手の動きを協調させたリズム練習を行うことが出来ない、という問題がある。
本発明は、このような事情に鑑みてなされたもので、初心者でも左右の両手の動きを協調させたリズム練習を行うことができるリズム表示装置、電子楽器、リズム表示方法およびプログラムを提供することを目的としている。
上記目的を達成するため、本発明のリズム表示装置は、複数パートから構成される曲を表す演奏データからパート毎のリズムデータを生成するリズムデータ生成手段と、前記リズムデータ生成手段により生成されたパート毎のリズムデータに基づいて、発音タイミングに応じた種類の発音フラグを付与する発音フラグ付与手段と、前記リズムデータ生成手段により生成されたパート毎のリズムデータを、それぞれ対応するパートのリズムパターンとして表示すると共に、各リズムパターンにおけるリズムの表示形態を、前記発音フラグ付与手段により付与された発音フラグの種類に応じて異ならせて、発音タイミングをガイド表示するリズム表示手段とを具備し、前記発音フラグ付与手段は、ひとつのパートが消音状態で他のパートが発音タイミングとなるリズムデータに第1の発音フラグを付与する第1の付与手段と、全パートが同時に発音タイミングとなるリズムデータに第2の発音フラグを付与する第2の付与手段と、ひとつのパートが発音中に他のパートが発音タイミングとなるリズムデータに第3の発音フラグを付与する第3の付与手段とを有することを特徴とする。
本発明の電子楽器は、上記リズム表示装置と、各パートのリズム入力操作を行わせる入力手段と、前記入力手段によるリズム入力操作に応じた発音を行う発音手段と、前記入力手段によるリズム入力操作に応じて発生するパート毎の入力リズムデータを、それぞれ前記リズム表示手段により表示される各パートのリズムパターンに対応させて表示する入力リズム表示手段を備えることを特徴とする。
本発明のリズム表示方法では、複数パートから構成される曲を表す演奏データからパート毎のリズムデータを生成するリズムデータ生成過程と、前記リズムデータ生成過程で生成されたパート毎のリズムデータに基づいて、発音タイミングに応じた種類の発音フラグを付与する発音フラグ付与過程と、前記リズムデータ生成過程で生成されたパート毎のリズムデータを、それぞれ対応するパートのリズムパターンとして表示すると共に、各リズムパターンにおけるリズムの表示形態を、前記発音フラグ付与過程で付与された発音フラグの種類に応じて異ならせて、発音タイミングをガイド表示するリズム表示過程とを具備し、前記発音フラグ付与過程は、ひとつのパートが消音状態で他のパートが発音タイミングとなるリズムデータに第1の発音フラグを付与する第1の付与過程と、全パートが同時に発音タイミングとなるリズムデータに第2の発音フラグを付与する第2の付与過程と、ひとつのパートが発音中に他のパートが発音タイミングとなるリズムデータに第3の発音フラグを付与する第3の付与過程とを有することを特徴とする。
さらに、本発明によるプログラムでは、コンピュータに、複数パートから構成される曲を表す演奏データからパート毎のリズムデータを生成するリズムデータ生成ステップと、前記リズムデータ生成ステップで生成されたパート毎のリズムデータに基づいて、発音タイミングに応じた種類の発音フラグを付与する発音フラグ付与ステップと、前記リズムデータ生成ステップで生成されたパート毎のリズムデータを、それぞれ対応するパートのリズムパターンとして表示すると共に、各リズムパターンにおけるリズムの表示形態を、前記発音フラグ付与ステップで付与された発音フラグの種類に応じて異ならせて、発音タイミングをガイド表示するリズム表示ステップとを実行させ、前記発音フラグ付与ステップは、ひとつのパートが消音状態で他のパートが発音タイミングとなるリズムデータに第1の発音フラグを付与する第1の付与ステップと、全パートが同時に発音タイミングとなるリズムデータに第2の発音フラグを付与する第2の付与ステップと、ひとつのパートが発音中に他のパートが発音タイミングとなるリズムデータに第3の発音フラグを付与する第3の付与ステップとを含むることを特徴とする。
本発明では、初心者でも左右の両手の動きを協調させたリズム練習を行うことができる。
実施の一形態によるリズム表示装置100の全体構成を示すブロック図である。 ROM11のデータ構成を示すメモリマップである。 RAM12の主要データ構成を示すメモリマップである。 メインルーチンの動作を示すフローチャートである。 リズムデータ生成処理の動作を示すフローチャートである。 リズムデータ生成処理の動作を示すフローチャートである。 リズム練習処理の動作を示すフローチャートである。 入力受付処理の動作を示すフローチャートである。 入力受付処理の動作を示すフローチャートである。 リズム練習表示処理の動作を示すフローチャートである。 リズムデータの元となる演奏データを楽譜表示した一例およびリズム練習表示の一例(リズム練習パターン1)を示す図である。 リズム練習表示の一例(リズム練習パターン2)を示す図である。 リズム練習表示の一例(リズム練習パターン3)を示す図である。 リズム練習表示の一例(リズム練習パターン4)を示す図である。 発音フラグとラインフラグを説明するための図である。 リズム練習表示画面におけるリズム入力表示の一例を示す図である。 口唱文字表示の一例を示す図である。
以下、図面を参照して本発明の実施形態について説明する。
A.構成
図1は、実施の一形態によるリズム表示装置100の全体構成を示すブロック図である。この図において、CPU10は、MIDIインタフェース15を介して外部のMIDI楽器20から入力される演奏情報に基づき音源16に楽音発生を指示する通常の楽器機能の他に、リズム練習機能を具備する。リズム練習機能とは、練習曲の演奏データから生成させたリズムデータに従って拍タイミングや小節タイミングをメトロノーム音でユーザに報知すると共に、表示部14の表示画面においてリズム練習パターンやリズム口唱を表示してユーザに音符の種類と音長との対応付けを視覚的に認識させながら、左右の両手の動きを協調させたリズム練習を行わせる機能を指す。本発明の要旨に係わるCPU10のリズム練習機能については追って詳述する。
ROM11は、図2に図示するように、プログラムエリアPEおよび曲情報エリアKDEを備える。ROM11のプログラムエリアPEには、CPU10にロードされる各種の制御プログラムが記憶される。各種の制御プログラムとは、後述のメインルーチン、メインルーチンを構成するリズムデータ生成処理およびリズム練習処理を含む。なお、リズム練習処理は、入力受付処理およびリズム練習表示処理を含む。
ROM11の曲情報エリアKDEには、リズム練習に供する曲の拍子データ(分母/分子)、演奏データエリアPDE、曲の各小節[0]〜[m](m:小節数+1)毎の再生開始時間を表す小節再生時間[0]〜[m]および口唱文字データが記憶される。
演奏データエリアPDEには、曲のテンポを表すBPM値と、当該曲を構成する各音符や休符を表す演奏データ[0]〜[n]が記憶される。一つの演奏データは、発音時刻、発音時間(音長)、消音時刻、音高および演奏パートから構成される。演奏パートは右手パート/左手パートを区別する。口唱文字データとは、左右両手パートの2つのシーケンスを、1つのシーケンスとしてリズム表現する口唱文字「ダ」、「タ」、「ト」からなる。なお、例えば口唱文字「ダ」は両手同時に発音する箇所、口唱文字「タ」は一方のパートのサステイン中に他方のパートで発音する箇所、口唱文字「ト」は片手パートのみ発音する箇所を示す。
RAM12は、図3に図示するワークエリアWEを備える。このワークエリアWEには、後述するメインルーチンで用いられる各種変数を一時記憶するレジスタが設けられる。以下、本発明の要旨に係わる主要な変数(レジスタ)について説明する。
「BPM」は、ROM11の演奏データエリアPDEから読み出され、曲のテンポ(速さ)を表すデータ(1分間当たりの4分音符数)である。このBPMは、曲頭で定義される初期BPMの他、曲内容によっては曲進行に応じて現在BPMが変化する。「現在時刻」は、メトロノーム動作を管理する現在の時刻である。「前回拍時刻」は、メトロノーム動作が前回拍頭タイミングとなった時刻である。「開始時刻」は、メトロノーム動作をスタートした時刻である。「前回小節時刻」は、メトロノーム動作が前回小節頭タイミングとなった時刻である。「再生時間」は、(現在時刻−開始時刻)×テンポ調整係数で算出される時間である。なお、テンポ調整係数は、現在BPM値/初期BMP値から算出される補正値である。
「カーソル座標」は、リズム練習表示画面(後述する)において、現在のタイミングを示すカーソルの位置座標である。「始点座標」は、リズム練習表示画面(後述する)において、リズム入力が一時的に描かれる際の始点位置座標である。「終点座標」は、リズム練習表示画面(後述する)において、リズム入力が一時的に描かれる際の終点位置座標である。「リズム練習開始小節」は、演奏データの中でリズム練習する範囲の始まりとなる小節である。「リズム練習終了小節」は、演奏データの中でリズム練習する範囲の終わりとなる小節である。
「最大ライン数(右)」は、右手パートのリズム練習の最大ライン数である。「最大ライン数(左)」は、左手パートのリズム練習の最大ライン数である。「音符インデクスアレイ(右)」は、リズム練習する小節内にある右手パートの音符を指定するインデクス列である。「音符インデクスアレイ(左)」は、リズム練習する小節内にある左手パートの音符を指定するインデクス列である。
「右手入力データ[1]〜「5」」には、右手の各指(親指[1]、人差し指[2]、中指[3]、薬指[4]および小指[5])の入力データとして、これら各指に対応して各々設けられたリズムパッドが押下された場合に「ON状態:1」、離された場合に「OFF状態:0」がセットされ、かつ「ON状態:1」であれば、発音時の再生時刻がストアされる。「左手入力データ[1]〜「5」」には、左手の各指(親指[1]、人差し指[2]、中指[3]、薬指[4]および小指[5])の入力データとして、各指に対応して各々設けられたリズムパッドが押下された場合に「ON状態:1」、離された場合に「OFF状態:0」がセットされ、かつ「ON状態:1」であれば、発音時の再生時刻がストアされる。
「前回右手入力データ」は、上記「右手入力データ[1]〜「5」」と同一のデータ構成であり、前回入力(最新より1つ前)された右手入力データ[1]〜「5」を保持する。「前回左手入力データ」は、上記「左手入力データ[1]〜「5」」と同一のデータ構成であり、前回入力(最新より1つ前)された左手入力データ[1]〜「5」を保持する。
「リズムデータアレイ(右)」には、上記「リズム練習開始小節」から「リズム練習終了小節」に含まれる、演奏データ中の右手パートの各音符から生成させたリズムデータ1〜nが保持される。リズムデータは、発音時刻、発音時間(音長)、始点座標、終点座標、演奏パート、発音フラグおよびラインフラグから構成される。なお、始点座標および終点座標は、リズム練習表示画面(後述する)において、手本となるリズムの入力位置を表す。演奏パートは右手パート/左手パートを区別する。発音フラグおよびラインフラグが意図するところについては追って述べる。「リズムデータアレイ(左)」には、「リズムデータアレイ(右)」と同一のデータ構成による、演奏データ中の左手パートの各音符から生成させたリズムデータ1〜nが保持される。
「入力リズムデータアレイ(右)」には、上記「右手入力データ[1]〜「5」」および「前回右手入力データ」に基づき入力受付処理(後述する)により生成される右手パートのリズムデータ列が保持される。「入力リズムデータアレイ(左)」には、上記「左手入力データ[1]〜「5」」および「前回左手入力データ」に基づき入力受付処理(後述する)により生成される左手パートのリズムデータ列が保持される。
一時保存リズムデータ(右)には、入力受付処理(後述する)において、入力の始点が決まっていて終点が決まっていない右手パートの入力リズムデータアレイ(右)が一時記憶される。一時保存リズムデータ(左)には、入力受付処理(後述する)において、入力の始点が決まっていて終点が決まっていない左手パートの入力リズムデータアレイ(左)が一時記憶される。
再び図1を参照して実施形態の構成について説明を進める。図1において、操作部13は、装置パネルに配設される各種操作スイッチを有し、ユーザ操作されるスイッチ種に対応したスイッチイベントを発生する。操作部13に配設される主要なスイッチとしては、例えばパワーオンオフする電源スイッチの他、リズム練習する箇所の変更を指示する変更スイッチや、押下操作に応じて「リズム練習の開始」又は「リズム練習の停止」を交互に指示するトグルスイッチとして機能するスタートストップスイッチ等がある。また、操作部13には、リズム練習用の操作子として、左右両手の各指に対応して設けられた10個のリズムパッド(不図示)を備える。リズムパッドは、オン操作(押下する操作)された場合にオンイベントのリズム入力信号を発生し、オフ操作(押下を離す操作)された場合にオフイベントのリズム入力信号を発生する。
表示部14は、CPU10から供給される表示制御信号に応じて、例えば図16に図示するリズム練習表示画面を表示する。リズム練習表示画面では、曲のテンポに応じてカーソルが移動表示され、ユーザに入力タイミングをガイドする。また、リズム練習表示画面では、画面の中央にリズム練習する小節区間Kがライン表示される。リズム練習表示画面においてライン表示される小節区間Kの上部には右手パートの手本となるリズムデータ(右)およびユーザが入力した右手パートの入力リズムアレイ(右)が表示され、一方、小節区間Kの下部には左手パートの手本となるリズムデータ(左)およびユーザが入力した左手パートの入力リズムアレイ(左)が表示される。
さらに、右手パートの手本となるリズムデータ(右)には、左右両手パートの2つのシーケンスを、1つのシーケンスとしてリズム表現する為の口唱文字データが文字表示される。具体的には、左右両手同時に発音するタイミングでは口唱文字「ダ」、一方のパートのサステイン中に他方のパートで発音するタイミングでは口唱文字「タ」、一方のパートのみ発音するタイミングでは口唱文字「ト」を表示する。
MIDIインタフェース部15は、CPU10の制御の下に、外部のMIDI楽器20から出力されるMIDIイベントを取り込む。なお、リズム練習モード下でMIDIインタフェース部15がMIDI楽器20からノートイベントを取り込む場合には、リズム入力信号として扱われる。すなわちMIDI楽器20の鍵盤(不図示)を右手鍵域および左手鍵域に分割し、かつ右手/左手鍵域においてそれぞれ親指から小指までを割り当てた各指定鍵の押離鍵操作に応じて発生するオン/オフイベントを、上記リズムパッドの出力と同様に、リズム入力信号として取り込むようになっている。
音源16は、周知の波形メモリ読み出し方式によって構成される。音源16は、CPU10の指示に従い、例えば一拍経過する毎に例えば「ポッ」というメトロノーム音(副音)を発音させたり、一小節経過する毎に「ピッ」というメトロノーム音(主音)を発音させたりする他、操作部13のリズムパッドのオンオフ操作(もしくはMIDI楽器20における各指定鍵の押離鍵操作)に対応したリズム音を発生する。サウンドシステム17は、音源16から出力される楽音データをアナログ形式の楽音信号に変換した後、その楽音信号から不要ノイズを除去する等のフィルタリングを施してからレベル増幅してスピーカより発音させる。
B.動作
次に、図4〜図17を参照して上記構成によるリズム表示装置100の動作を説明する。以下では、リズム表示装置100のCPU10を動作主体として、当該CPU10が実行するメインルーチン、メインルーチンからコールされるリズムデータ生成処理およびリズム練習処理の各動作について述べる。なお、リズム練習処理は、入力受付処理およびリズム練習表示処理を含む。
(1)メインルーチンの動作
図4は、メインルーチンの動作を示すフローチャートである。メインルーチンは、本発明に係るリズム練習の実行が指示された場合に実行される。CPU10は、先ず図4に図示するステップSA1に進み、装置各部をイニシャライズ(初期化)し終えた後、リズム練習する曲の中からリズム練習開始小節とリズム練習終了小節とを設定する設定処理を実行する。
リズム練習する曲のリズム練習開始小節とリズム練習終了小節とを設定し終えると、ステップSA2を介してリズムデータ生成処理を実行する。リズムデータ生成処理では、後述するように、ROM11の演奏データエリア(図2参照)から、ユーザ指定のリズム練習開始小節からリズム練習終了小節までの演奏データを読み出し、これに基づき右手パートのリズムデータ(右)および左手パートのリズムデータ(左)を生成する。
続いて、ステップSA3では、リズム練習処理を実行する。リズム練習処理では、後述するように、リズム練習中であると、開始時刻からの経過時間(現在時刻−開始時刻)にテンポ調整係数(現在BPM値/初期BMP値)を乗算して得た再生時間が一拍分経過する毎に、現在時刻を前回拍時刻として記憶させて更新する一方、一拍経過を報知するメトロノーム音(例えば「ポッ」という副音)の発音を音源16に指示する。また、再生時間が一小節分経過する毎に、現在時刻を前回小節時刻として記憶させて更新する一方、一小節分の時間経過を報知するメトロノーム音(例えば「ピッ」という主音)の発音を音源16に指示する。さらに、再生時間に同期してカーソル(図16参照)の座標位置を更新する。加えて、ユーザによる左右両手のリズムパッド操作で生じる入力リズムデータ(右)、(左)を取り込み、手本となるリズムデータ(右)、(左)に合わせてリズム練習表示画面に表示する。
そして、リズム練習開始小節からリズム練習終了小節までのリズム練習を終えてステップSA4に進むと、変更スイッチ操作に応じた練習箇所変更の有無を判別する。練習箇所変更が有ると、ここでの判断結果は「YES」になり、上記ステップSA1に処理を戻し、変更された練習箇所に応じて開始小節および終了小節を設定しなおして、再度リズムデータ生成処理(ステップSA2)およびリズム練習処理(ステップSA3)を繰り返す。
一方、練習箇所変更が無ければ、上記ステップSA4の判断結果は「NO」になり、ステップSA5に進む。ステップSA5では、終了操作の有無を判断し、終了操作が為されていなければ、判断結果は「NO」になり、上記ステップSA3に処理を戻してリズム練習を繰り返す。これに対し、ユーザが終了操作を行うと、上記ステップSA5の判断結果が「YES」になり、本メインルーチンを終える。
(2)リズムデータ生成処理の動作
次に、図5を参照してリズムデータ生成処理の動作を説明する。上述したメインルーチンのステップSA2(図4参照)を介して本処理が実行されると、CPU10は図5に図示するステップSB1に進み、ポインタiにリズム練習開始小節をセットする。続いて、ステップSB2では、音符(演奏データ)を指定するポインタjをゼロリセットする。なお、ポインタjで指定される音符とは、ROM11の演奏データエリアPDE(図2参照)に記憶される演奏データ[j]である。
次いで、ステップSB3では、ポインタjで指定される音符(演奏データ[j])が、ポインタiで指定される小節(以後、ポインタiで指定される小節を小節iと記す)に含まれるか否かを判断する。音符(演奏データ[j])が小節iに含まれるか否かは、ROM11の曲情報エリアKDE(図2参照)に記憶される小節再生時間[i]に基づき判断する。
音符(演奏データ[j])が小節iに含まれなければ、上記ステップSB3の判断結果が「NO」になり、ステップSB7に進む。ステップSB7では、ポインタjをインクリメントして歩進させ、続くステップSB8では、歩進されたポインタjが楽曲の全ての音符数(演奏データ数)を超えたか否かを判断する。
楽曲の全ての音符(演奏データ)を読み出し終えていなければ、上記ステップSB8の判断結果は「NO」となり、上記ステップSB3に処理を戻す。そして、音符(演奏データ[j])が小節iに含まれると、上記ステップSB3の判断結果は「YES」になり、ステップSB4に進む。ステップSB4では、音符(演奏データ[j])が右手パートであるか否かを判断する。音符(演奏データ[j])が右手パートならば、判断結果は「YES」になり、ステップSB5に進み、RAM12のワークエリアWE(図3参照)に設けられる音符インデクスリスト(右)に、ポインタjの値を音符インデクスとしてストアした後、ステップSB7に進む。
一方、音符(演奏データ[j])が左手パートであると、上記ステップSB4の判断結果は「NO」になり、ステップSB6に進み、RAM12のワークエリアWE(図3参照)に設けられる音符インデクスリスト(左)に、ポインタjの値を音符インデクスとしてストアした後、ステップSB7に進み、ポインタjをインクリメントして歩進させ、続くステップSB8では、歩進されたポインタjが楽曲の全ての音符数(演奏データ数)を超えたか否かを判断する。以後、楽曲の全ての音符(演奏データ)を読み出し終える迄、上記ステップSB3〜SB8を繰り返す。すなわち、このステップSB3とステップSB8の判断を含む一連の処理ループにより、小節iの全ての音符が順次処理対象として処理されることとなる。
そして、小節iの音符(演奏データ)を読み出し終え、歩進されたポインタjが楽曲の全ての音符数(演奏データ数)を超えると、上記ステップSB8の判断結果が「YES」になり、ステップSB9に進む。ステップSB9〜SB14では、音符インデクスリスト(右)において音符インデクスkで指定される音符(演奏データ[k])に基づき生成させたリズムデータを、RAM12のワークエリアWEのリズムデータ(右)にセットする。
すなわち、先ずステップSB9では、音符インデクスkをゼロリセットし、続くステップSB10では、音符インデクスリスト(右)において、音符インデクスkで指定される演奏データ[k]からリズムデータを生成する。具体的には、生成元の演奏データから発音時刻、発音時間(音長)、音高および演奏パートを取得した後、当該発音時刻および発音時間(音長)を表示画面上の表示位置となる始点座標、終点座標に変換する。そして、こうして得られたリズムデータをリズムデータ(右)にセットする。次いで、ステップSB11では、上記ステップSB10で生成されたリズムデータについてラインフラグを設定する。
ラインフラグは、次の手順a〜cに従って設定する。
a.右手パート内で同時刻に発音する音符(演奏データ)をセレクトする。それ以外の音符(演奏データ)から生成させたリズムデータのラインフラグを「0」にセットする。
b.上記a項でセレクトされた音符(演奏データ)の中で発音時刻と消音時刻とが一致するものは和音として同ラインと見なし、該当するリズムデータのラインフラグを「0」にセットする。
c.上記a項でセレクトされた音符(演奏データ)の中で発音時刻と消音時刻とが一致しないものに対して音高の高い順にフラグ値を割り当てたラインフラグ「フラグ値:1〜n」をセットする。
続いて、ステップSB12では、右手パートで判定対象とされた音符(リズムデータ)に対して他のラインが存在する場合、音高の高い順にラインフラグの値をインクリメントし、その結果に応じてRAM12のワークエリアWEに格納される最大ライン数(右)を更新する。次いで、ステップSB13では、音符インデクスkをインクリメントして歩進させ、続くステップSB14では、歩進された音符インデクスkの値が音符インデクスリスト(右)の大きさを超えたか否かを判断する。
歩進された音符インデクスkの値が音符インデクスリスト(右)の大きさを超えていなければ、上記ステップSB14の判断結果は「NO」になり、上述したステップSB10に処理を戻す。以後、音符インデクスリスト(右)に登録された1小節分の音符(演奏データ)からリズムデータを生成し終える迄、上記ステップSB9〜SB14を繰り返す。
そして、音符インデクスリスト(右)に登録された1小節分の音符(演奏データ)から右手パートの1小節分のリズムデータを生成し終えると、上記ステップSB14の判断結果が「YES」になり、図6に図示するステップSB15に処理を進める。
なお、例えば図11(a)に図示する楽譜で表現される演奏データ(右手パート)の第1小節から生成されるリズムデータ(右)について、上述のステップSB11でラインフラグをセットした場合、図15に図示するように、右手パートにおける第1小節のリズムデータには、全てラインフラグ「0」がセットされる。
続いて、図6に図示するステップSB15〜SB21では、音符インデクスリスト(左)において音符インデクスLで指定される音符(演奏データ[L])に基づき生成させたリズムデータを、RAM12のワークエリアWEのリズムデータ(左)にセットする。
すなわち、先ずステップSB15では、音符インデクスLをゼロリセットし、続くステップSB16では、音符インデクスリスト(左)において、音符インデクスLで指定される演奏データ[L]からリズムデータを生成する。具体的には、生成元の演奏データから発音時刻、発音時間(音長)、音高および演奏パートを取得した後、当該発音時刻および発音時間(音長)を表示画面上の表示位置となる始点座標、終点座標に変換する。そして、こうして得られたリズムデータをRAM12のワークエリアWEのリズムデータ(左)にセットする。次いで、ステップSB17では、上記ステップSB16で生成されたリズムデータのラインフラグを設定する。
ラインフラグは、前述したステップSB11と同様、次の手順a〜cに従って設定する。
a.左手パート内で同時刻に発音する音符(演奏データ)をセレクトする。それ以外の音符(演奏データ)から生成させたリズムデータのラインフラグを「0」にセットする。
b.上記a項でセレクトされた音符(演奏データ)の中で発音時刻と消音時刻とが一致するものは和音として同ラインと見なし、該当するリズムデータのラインフラグを「0」にセットする。
c.上記a項でセレクトされた音符(演奏データ)の中で発音時刻と消音時刻とが一致しないものに対して音高の高い順にフラグ値を割り当てたラインフラグ「フラグ値:1〜n」をセットする。
続いて、ステップSB18では、左手パートで判定対象とされた音符(リズムデータ)に対して他のラインが存在する場合、音高の高い順にラインフラグの値をインクリメントし、その結果に応じてRAM12のワークエリアWEに格納される最大ライン数(左)を更新する。次いで、ステップSB19では、リズムデータ(右)、(左)の発音フラグを設定してリズムデータ(右)、(左)を更新する。
リズムデータ(右)の発音フラグを設定する場合には、次の手順a〜cに従って行う。なお、以下の手順において、フラグ設定対象とされた音符(リズムデータ)とは音符インデクスLで指定される音符(リズムデータ)を指す。
a.右手パートでフラグ設定対象とされた音符(リズムデータ)の発音時刻が、左手パートの何れかの音符(リズムデータ)の発音時刻または発音時間の何れにも一致しなければ、当該フラグ設定対象の音符(リズムデータ)の発音フラグを「0」にセットする。
b.右手パートでフラグ設定対象とされた音符(リズムデータ)の発音時刻が、左手パートの何れかの音符(リズムデータ)の発音時刻に一致する場合に、当該フラグ設定対象の音符(リズムデータ)の発音フラグを「1」にセットする。
c.右手パートでフラグ判定対象とされた音符(リズムデータ)の発音時刻が、左手パートの何れかの音符(リズムデータ)の発音時間に一致する場合に、当該フラグ設定対象の音符(リズムデータ)の発音フラグを「2」にセットする。
また、リズムデータ(左)の発音フラグを設定する場合には、次の手順d〜fに従って行う。なお、以下の手順において、フラグ設定対象とされた音符(リズムデータ)とは音符インデクスLで指定される音符(リズムデータ)を指す。
d.左手パートでフラグ設定対象とされた音符(リズムデータ)の発音時刻が、右手パートの何れかの音符(リズムデータ)の発音時刻または発音時間の何れにも一致しなければ、当該フラグ設定対象の音符(リズムデータ)の発音フラグを「0」にセットする。
e.左手パートでフラグ設定対象とされた音符(リズムデータ)の発音時刻が、右手パートの何れかの音符(リズムデータ)の発音時刻に一致する場合に、当該フラグ設定対象の音符(リズムデータ)の発音フラグを「1」にセットする。
f.左手パートでフラグ判定対象とされた音符(リズムデータ)の発音時刻が、右手パートの何れかの音符(リズムデータ)の発音時間に一致する場合に、当該フラグ設定対象の音符(リズムデータ)の発音フラグを「2」にセットする。
さて、こうしてリズムデータ(右)、(左)の発音フラグを設定してリズムデータ(右)、(左)を更新し終えると、ステップSB20に進み、音符インデクスLをインクリメントして歩進させ、続くステップSB21では、歩進された音符インデクスLの値が音符インデクスリスト(左)の大きさを超えたか否かを判断する。
歩進された音符インデクスLの値が音符インデクスリスト(左)の大きさを超えていなければ、上記ステップSB21の判断結果は「NO」になり、上述したステップSB16に処理を戻す。以後、音符インデクスリスト(左)に登録された1小節分の音符(演奏データ)からリズムデータを生成し終える迄、上記ステップSB16〜SB21を繰り返す。
そして、音符インデクスリスト(左)に登録された1小節分の音符(演奏データ)から左手パートの1小節分のリズムデータを生成し終えると、上記ステップSB21の判断結果が「YES」になり、ステップSB22に進み、小節iをインクリメントして歩進させた後、ステップSB23に進む。ステップSB23では、歩進された小節iの値が、リズム練習終了小節+1に達したか否か、すなわちリズム練習開始小節からリズム練習終了小節までの演奏データに基づいてリズムデータを生成し終えたかどうかを判断する。
リズムデータを生成し終えていなければ、判断結果は「NO」になり、前述したステップSB2(図5参照)に処理を戻し、上述したステップSB2〜SB23を繰り返す。そして、リズム練習開始小節からリズム練習終了小節までの演奏データに基づいてリズムデータを生成し終えると、上記ステップSB23の判断結果が「YES」になり、本処理を終える。
このように、リズムデータ生成処理では、ユーザ指定のリズム練習開始小節からリズム練習終了小節までの演奏データに基づき右手パートのリズムデータ(右)および左手パートのリズムデータ(左)を生成する。生成されたリズムデータ(右)およびリズムデータ(左)には、発音フラグやラインフラグが設けられ、これらフラグを用いて両手でリズム練習する際に留意すべきタイミング(一方のパートが消音状態で他方のパートが発音タイミング、両パートが同時に発音タイミング、一方のパートが発音中に他方のパートが発音タイミング)をガイド表示したり、各パートに存在するライン別にリズムデータを区別してガイド表示したりすることが可能になっている。
これにより、例えば図11(a)に図示する楽譜で表現される演奏データの場合、図15に図示する一例のように、右手パートについてはラインフラグ「0」のリズムデータ(右)が発音フラグに従ってガイド表示され、一方、左手パートについてはラインフラグ「0」〜「2」に区別されたリズムデータ(左)が発音フラグに従ってガイド表示される。なお、こうしたガイド表示を行うリズム練習画面を形成するリズム練習表示処理については追って述べる。
(3)リズム練習処理の動作
次に、図7を参照してリズム練習処理の動作を説明する。前述したメインルーチンのステップSA3(図4参照)を介して本処理が実行されると、CPU10は図7に図示するステップSC1に処理を進め、リズム練習中であるか否かを判断する。リズム練習中であるか否かは、スタートストップスイッチの押下操作の有無で判断する。
なお、スタートストップスイッチは、前述したように、押下操作に応じて「リズム練習の開始」又は「リズム練習の停止」を交互に指示するトグルスイッチとして機能する。したがって、スタートストップスイッチが「リズム練習中」ではないことを指示する状態になっていた場合、上記ステップSC1の判断結果は「NO」になり、ステップSC2に進む。ステップSC2では、スタートストップスイッチの押下操作に応じて「リズム練習の開始」が指示されて、上記のスタートストップスイッチが「リズム練習中」を指示する状態にされたかどうかを判断する。
スタートストップスイッチの押下操作がなく、リズム練習中ではない場合には、ここでの判断結果は「NO」となり、本処理を終える。なお、スタートストップスイッチは、より一般的なスイッチや、タッチ式の画面に表示されたボタンをタッチする形のものでも良く、この場合には、図示せぬ「リズム練習中状態フラグ」が、当該スタートストップスイッチの押下指示に応じて、「リズム練習中」と「リズム練習中で無い」の状態を交互に反転遷移するようなフラグレジスタとして構成することができる。
これに対し、スタートストップスイッチの押下操作に応じて「リズム練習の開始」が指示されると、上記ステップSC2の判断結果は「YES」となり、ステップSC3に進み、リズム練習表示画面の表示モードを選択する。具体的には、図11(b)に図示する一例の「リズム練習パターン1」、図12に図示する一例の「リズム練習パターン2」、図13に図示する一例の「リズム練習パターン3」および図14に図示する一例の「リズム練習パターン4」の何れかを選択する。これら練習パターンが意図するところについては追って述べる。続いて、ステップSC4〜SC5では、リズム練習を開始するための準備として、現在時刻を開始時刻にセットすると共に、前回拍時刻および前回小節時刻を初期化した後、ステップSC7に進む。
さて一方、スタートストップスイッチがすでに「リズム練習中」を示す状態になっており、リズム練習中と判断された場合には、上記ステップSC1の判断結果が「YES」となり、ステップSC6に進み、開始時刻からの経過時間(現在時刻−開始時刻)にテンポ調整係数(現在BPM値/初期BMP値)を乗算して再生時間を算出した後、ステップSC7に進む。
ステップSC7では、再生時間が一拍分経過したか否かを判断する。一拍分の時間が経過していなければ、ここでの判断結果は「NO」になり、後述のステップSC10に進む。一方、一拍分の時間が経過すると、上記ステップSC7の判断結果は「YES」になり、ステップSC8に進み、現在時刻を前回拍時刻として記憶させて更新し、続くステップSC9では、一拍経過を報知するメトロノーム音(例えば「ポッ」という副音)の発音を音源16に指示する。これにより、リズム練習中であれば、音源16は一拍分の時間が経過する毎に「ポッ」というメトロノーム音を発音する。
続いて、ステップSC10では、再生時間が一小節分経過したか否かを判断する。一小節分の時間が経過していなければ、ここでの判断結果は「NO」になり、後述のステップSC13に進む。一方、一小節分の時間が経過すると、上記ステップSC10の判断結果は「YES」になり、ステップSC11に進み、現在時刻を前回小節時刻として記憶させて更新し、続くステップSC12では、一小節分の時間経過を報知するメトロノーム音(例えば「ピッ」という主音)の発音を音源16に指示する。これにより、リズム練習中であれば、音源16は一小節分の時間が経過する毎に「ピッ」というメトロノーム音を発音する。
次いで、ステップSC13では、リズム練習表示画面に表示するカーソル(図16参照)の座標位置を再生時間に同期して更新する。そして、ステップSC14では、リズム入力の有無、すなわち左右両手の各指に対応して設けられた10個のリズムパッドの何れかをユーザが押下操作したかどうかを判断する。ユーザによるリズム入力が無ければ、判断結果は「NO」となり、後述のステップSC16に進むが、リズム入力が有ると、判断結果は「YES」になり、ステップSC15を介して入力受付処理を実行する。
入力受付処理では、後述するように、右手の親指から小指に各々対応付けられたリズムパッド毎に、「パッド押下」、「パッド押下中」、「パッドを離した」の何れであるかを入力判定し、「パッド押下」ならば、その押下された発音時刻(発音時の再生時刻)および当該発音時刻から算出される始点座標を、入力判定された指の一時保存リズムデータ(右)に一時保存する一方、左手入力データを参照して入力リズムデータ(左)、(右)の発音フラグを更新する。「パッド押下中」ならば、現在の再生時刻を暫定的に消音時刻として、算出される終点座標を、入力判定された指の一時保存リズムデータ(右)に一時保存する。「パッドを離した」ならば、消音時刻(リズムパッドを離した時の再生時刻)から算出される終点座標と、入力判定された指の一時保存リズムデータ(右)の内容とをまとめてリズムデータアレイ(右)にストアする。そして、左手についても同様の処理を施して得られるリズムデータ(発音時刻、消音時刻、始点座標、終点座標、発音フラグ)をリズムデータアレイ(左)にストアする。
続いて、ステップSC16では、リズム練習表示画面に、リズム練習開始小節からリズム練習終了小節までを示す小節区間Kと、予め選択した表示モードでリズム表示枠とを表示すると共に、手本となるリズムデータ(右)、(左)に基づき当該リズム表示枠内に発音タイミングを丸印(○印)で明示する。そして、入力リズムデータアレイ(右)および入力リズムデータアレイ(左)を、手本となるリズムデータ(右)、(左)に対比させる形で表示する。そして、さらに左右両手パートの2つのシーケンスを1つのシーケンスとしてリズム表現するための口唱文字データを、リズムデータ(右)のリズム表示枠上に表示した後、再生時間に同期した座標位置にカーソルを表示するリズム練習表示処理を実行する。
(4)入力受付処理の動作
次に、図8〜図9を参照して入力受付処理の動作を説明する。上述したリズム練習処理のステップSC15(図7参照)を介して本処理が実行されると、CPU10は図8に図示するステップSD1に進み、右手の各指を指定するポインタiに初期値「1」をセットする。なお、ポインタiは、「1:親指」、「2:人差し指」、「3:中指」、「4:薬指」および「5:小指」をそれぞれ指定する。
続いて、ステップSD2では、ポインタiに応じて読み出される前回右手入力データ[i]のON/OFF状態および発音時の再生時刻と、ポインタiに応じて読み出される右手入力データ「i」のON/OFF状態および発音時の再生時刻との比較に基づき、ポインタiのリズムパッドが「押下された」、「押下中」および「離された」の何れであるかを入力判定する。以下、ポインタiのリズムパッドが押下された場合、押下中の場合および離された場合に分けて動作説明を進める。
<ポインタiのリズムパッドが押下された場合>
この場合、ステップSD3の判断結果が「YES」になり、ステップSD5に進み、押下された発音時刻(発音時の再生時刻)および当該発音時刻から算出される始点座標を、ポインタiで指定される一時保存リズムデータ(右)[i]に一時保存する。そして、ステップSD6では、左手入力データを参照して、入力リズムデータ(左)、(右)の発音フラグを更新する。
次いで、ステップSD7では、ポインタiをインクリメントして歩進させ、続くステップSD8では、歩進させたポインタiの値が「6」に達したか否か、つまり右手の親指から小指に対応する全てのリズムパッドについて入力判定し終えたかどうかを判断する。全てのリズムパッドについて入力判定し終えていなければ、判断結果は「NO」になり、上述のステップSD2に処理を戻す。一方、全てのリズムパッドについて入力判定し終えたならば、上記ステップSD8の判断結果が「YES」になり、図9に図示するステップSD11に進む。
<ポインタiのリズムパッドが押下中の場合>
この場合、ステップSD4の判断結果が「YES」になり、ステップSD9に進み、現在の再生時刻を暫定的に消音時刻として、算出される終点座標を、ポインタiで指定される一時保存リズムデータ(右)[i]に一時保存する。この後、ステップSD7に進み、ポインタiをインクリメントして歩進させ、続くステップSD8では、歩進させたポインタiの値が「6」に達したか否か、つまり右手の親指から小指に対応する全てのリズムパッドについて入力判定し終えたかどうかを判断する。全てのリズムパッドについて入力判定し終えていなければ、判断結果は「NO」になり、上述のステップSD2に処理を戻すが、全てのリズムパッドについて入力判定し終えたならば、上記ステップSD8の判断結果が「YES」になり、図9に図示するステップSD11に進む。
<ポインタiのリズムパッドが離された場合>
この場合、ステップSD4の判断結果が「NO」になり、ステップSD10に進み、消音時刻(リズムパッドを離した時の再生時刻)から算出される終点座標と、ポインタiで指定される一時保存リズムデータ(右)[i]の内容とをまとめてリズムデータアレイ(右)にストアする。この後、ステップSD7に進み、ポインタiをインクリメントして歩進させ、続くステップSD8では、歩進させたポインタiの値が「6」に達したか否か、つまり右手の親指から小指に対応する全てのリズムパッドについて入力判定し終えたかどうかを判断する。全てのリズムパッドについて入力判定し終えていなければ、判断結果は「NO」になり、上述のステップSD2に処理を戻すが、全てのリズムパッドについて入力判定し終えたならば、上記ステップSD8の判断結果が「YES」になり、図9に図示するステップSD11に進む。
そして、図9に図示するステップSD11に進むと、左手の各指を指定するポインタjに初期値「1」をセットする。なお、ポインタjは、「1:親指」、「2:人差し指」、「3:中指」、「4:薬指」および「5:小指」をそれぞれ指定する。次いで、ステップSD12では、ポインタjに応じて読み出される前回左手入力データ[j]のON/OFF状態および発音時の再生時刻と、ポインタjに応じて読み出される左手入力データ「j」のON/OFF状態および発音時の再生時刻との比較に基づき、ポインタjのリズムパッドが「押下された」、「押下中」および「離された」の何れであるかを入力判定する。以下、ポインタjのリズムパッドが押下された場合、押下中の場合および離された場合に分けて動作説明を進める。
<ポインタjのリズムパッドが押下された場合>
この場合、ステップSD13の判断結果が「YES」になり、ステップSD15に進み、押下された発音時刻(発音時の再生時刻)および当該発音時刻から算出される始点座標を、ポインタjで指定される一時保存リズムデータ(左)[j]に一時保存する。そして、ステップSD16では、右手入力データを参照して、入力リズムデータ(左)、(右)の発音フラグを更新する。
次いで、ステップSD17では、ポインタjをインクリメントして歩進させ、続くステップSD18では、歩進させたポインタjの値が「6」に達したか否か、つまり左手の親指から小指に対応する全てのリズムパッドについて入力判定し終えたかどうかを判断する。全てのリズムパッドについて入力判定し終えていなければ、判断結果は「NO」になり、上述のステップSD12に処理を戻すが、全てのリズムパッドについて入力判定し終えたならば、上記ステップSD18の判断結果が「YES」になり、本処理を終える。
<ポインタjのリズムパッドが押下中の場合>
この場合、ステップSD14の判断結果が「YES」になり、ステップSD19に進み、現在の再生時刻を暫定的に消音時刻として、(算出される終点座標を、ポインタjで指定される一時保存リズムデータ(左)[j]に一時保存する。この後、ステップSD17に進み、ポインタjをインクリメントして歩進させ、続くステップSD18では、歩進させたポインタjの値が「6」に達したか否か、つまり左手の親指から小指に対応する全てのリズムパッドについて入力判定し終えたかどうかを判断する。全てのリズムパッドについて入力判定し終えていなければ、判断結果は「NO」になり、上述のステップSD12に処理を戻すが、全てのリズムパッドについて入力判定し終えたならば、上記ステップSD18の判断結果が「YES」になり、本処理を終える。
<ポインタjのリズムパッドが離された場合>
この場合、ステップSD14の判断結果が「NO」になり、ステップSD20に進み、消音時刻(リズムパッドを離した時の再生時刻)から算出される終点座標と、ポインタjで指定される一時保存リズムデータ(左)[j]の内容とをまとめてリズムデータアレイ(左)にストアする。この後、ステップSD17に進み、ポインタjをインクリメントして歩進させ、続くステップSD18では、歩進させたポインタjの値が「6」に達したか否か、つまり左手の親指から小指に対応する全てのリズムパッドについて入力判定し終えたかどうかを判断する。全てのリズムパッドについて入力判定し終えていなければ、判断結果は「NO」になり、上述のステップSD12に処理を戻すが、全てのリズムパッドについて入力判定し終えたならば、上記ステップSD18の判断結果が「YES」になり、本処理を終える。
このように、入力受付処理では、右手の親指から小指に各々対応付けられたリズムパッド毎に、「パッド押下」、「パッド押下中」、「パッドを離した」の何れであるかを入力判定する。「パッド押下」ならば、その押下された発音時刻(発音時の再生時刻)および当該発音時刻から算出される始点座標を、入力判定された指の一時保存リズムデータ(右)に一時保存する一方、左手入力データを参照して入力リズムデータ(左)、(右)の発音フラグを更新する。「パッド押下中」ならば、現在の再生時刻を暫定的に消音時刻として、算出される終点座標を、入力判定された指の一時保存リズムデータ(右)に一時保存する。「パッドを離した」ならば、消音時刻(リズムパッドを離した時の再生時刻)から算出される終点座標と、入力判定された指の一時保存リズムデータ(右)の内容とをまとめてリズムデータアレイ(右)にストアする。そして、左手についても同様の処理を施して得られるリズムデータ(発音時刻、消音時刻、始点座標、終点座標、発音フラグ)をリズムデータアレイ(左)にストアする。
(5)リズム練習表示処理の動作
次に、図10を参照してリズム練習表示処理の動作を説明する。前述したリズム練習処理のステップSC16(図7参照)を介して本処理が実行されると、CPU10は図10に図示するステップSE1に進み、例えば図16に図示するように、リズム練習表示画面において、リズム練習開始小節からリズム練習終了小節までの練習区間を示す小節区間Kをライン表示する。
続いて、ステップSE2では、前述したリズム練習処理のステップSC3(図7参照)において選択した表示モードに応じたリズム表示枠を画面表示すると共に、手本となるリズムデータ(右)、(左)に基づき当該リズム表示枠内に発音タイミングを丸印(○印)で明示する。
例えば図11(a)に図示する楽譜で表現される演奏データの第1小節から第4小節をリズム練習する区間として生成させたリズムデータ(右)およびリズムデータ(左)を、「リズム練習パターン1」の表示モードで表示する場合(図11(b))には、小節区間Kの上部にリズムデータ(右)に対応したリズム表示枠を、小節区間Kの下部にリズムデータ(左)に対応したリズム表示枠をそれぞれ表示し、さらに各リズム表示枠内に発音タイミングを丸印で表示する。
発音タイミングを示す丸印は、発音フラグの値に応じて表示色を異ならせている。本実施形態では、一方のパートが消音状態で他方のパートが発音タイミングとなる発音フラグ「0」を白丸Wで示し、両パートが同時に発音タイミングとなる発音フラグ「1」を赤丸Rで示し、一方のパートが発音中に他方のパートが発音タイミングとなる発音フラグ「2」を緑丸Gで示している。このような表示形態によれば、両手でリズム練習する際に留意すべきタイミングが一目瞭然となる。
「リズム練習パターン2」の表示モードで表示する場合には、図12に図示する表示形態となる。すなわち、「リズム練習パターン1」では、ラインフラグを考慮せずに左右両パートのリズムデータを表示したのに対し、「リズム練習パターン2」では、図15に図示する通り、左手パートのリズムデータを、ラインフラグ「0」〜「2」の3ラインに分けて表示する。発音タイミングを示す丸印については、上述した「リズム練習パターン1」と同様である。
「リズム練習パターン3」の表示モードで表示する場合には、図13に図示するように、「リズム練習パターン2」におけるラインフラグ「0」、「1」を一つのラインにまとめ(主ラインを音高の高い側に合わせ)たものとなる。また、「リズム練習パターン4」の表示モードで表示する場合には、図14に図示するように、「リズム練習パターン2」におけるラインフラグ「0」、「2」を一つのラインにまとめ(主ラインを音高の低い側に合わせ)たものとなる。
次いで、ステップSE3では、入力リズムデータアレイ(右)および入力リズムデータアレイ(左)を入力リズムデータとしてリズム練習画面に表示する。具体的には、図16に図示するリズム練習表示画面において、リズムデータ(右)と小節区間Kとの間に、入力リズムデータアレイ(右)に基づく右手パートの入力リズム表示枠を表示する一方、リズムデータ(左)の下段に入力リズムデータアレイ(左)に基づく左手パートの入力リズム表示枠を表示する。左右両パートの入力リズム表示枠には、手本のリズムデータ(右)、(左)と同様に、リズムパッド押下のタイミングを丸印で表示する。この丸印は、手本のリズムデータと同様に、発音フラグの値に応じて表示色を異ならせおり、発音フラグ「0」は白丸W、発音フラグ「1」は赤丸R、発音フラグ「2」は緑丸Gで表示する。
そして、ステップSE4では、発音フラグに対応付けられた口唱文字データを表示する。例えば図11(a)に図示する楽譜で表現される演奏データの第1小節から第4小節をリズム練習する区間として生成させたリズムデータ(右)(左)の場合には、図17に図示するように、第1小節が「ダダトダ」、第2小節が「ダダダ」、第3小節が「ダトトトタ」、第4小節が「ダトトトダト」と口唱文字データが表示される。なお、口唱文字データとは、左右両手パートの2つのシーケンスを、1つのシーケンスとしてリズム表現するものであり、両手パート同時発音する赤丸R(発音フラグ「1」)では口唱文字「ダ」、一方のパートが発音中に他方のパートが発音する緑丸G(発音フラグ「2」)では口唱文字「ト」、一方のパートが消音中に他方のパートが発音する白丸W(発音フラグ「0」)では口唱文字「タ」が表示される。この後、ステップSE5では、前述したリズム練習処理のステップSC13(図7参照)において更新されたカーソル座標、すなわち再生時間に同期した座標位置に、現在のタイミングを示すカーソルを表示して本処理を終える。
このように、リズム練習表示処理では、リズム練習開始小節からリズム練習終了小節までを示す小節区間Kをリズム練習表示画面にライン表示した後、選択した表示モードに応じたリズム表示枠を表示すると共に、手本となるリズムデータ(右)、(左)に基づき当該リズム表示枠内に発音タイミングを○印で明示する。そして、ユーザ入力された入力リズムデータアレイ(右)および入力リズムデータアレイ(左)を、手本となるリズムデータ(右)、(左)に対比させる形で表示した後、左右両手パートの2つのシーケンスを1つのシーケンスとしてリズム表現する口唱文字データを、リズムデータ(右)のリズム表示枠上に表示した後、再生時間に同期した座標位置に、現在のタイミングを示すカーソルを表示する。
以上説明したように、本実施形態では、左右両手パートから構成される曲を表す演奏データの内、ユーザ指定のリズム練習開始小節からリズム練習終了小節までの演奏データから右手パートのリズムデータ(右)および左手パートのリズムデータ(左)を生成し、生成したリズムデータ(右)およびリズムデータ(左)には、両手でリズム練習する際に留意すべきタイミング(一方のパートが消音状態で他方のパートが発音タイミング、両パートが同時に発音タイミング、一方のパートが発音中に他方のパートが発音タイミング)を表す発音フラグを付与する。左右両手パートのリズムデータ(右)およびリズムデータ(左)をリズム練習パターンとして表示する際に、当該リズム練習パターンにおけるリズムの表示形態を発音フラグの種類に応じて異ならせて両手でリズム練習する際に留意すべきタイミングをガイド表示するので、初心者でも左右の両手の動きを協調させたリズム練習を行うことができる。
また、発音フラグの種類に応じた口唱文字を、リズム練習パターン中のリズムに合わせて表示する為、左右両手パートの2つのシーケンスを、1つのシーケンスとしてリズム表現することが出来る。さらに、各パートに存在するライン別にリズムデータを区別するラインフラグを付与し、付与されたラインフラグの種類に応じて、各パートに存在するライン別にリズム練習パターンを区別して表示する為、ラインを意識したリズム練習を行うことも出来る。
以上、本発明の実施の一形態について説明したが、本発明はそれに限定されるものではなく、本願出願の特許請求の範囲に記載された発明とその均等の範囲に含まれる。例えば、本発明は、3パート以上を有する曲データに対しても適用可能である。例えば右手・左手パートの他に足鍵盤を有する電子オルガンや、種々の楽器がネットワークで接続された合奏形式の場合であっても適用が可能である。このような場合、例えば、3パートであれば、発音タイプとしては、3パート同時発音、2パート同時発音、単独発音、他パート発音中に発音、などのように分類分けして、発音フラグを設定するようにすることが可能である。また、この場合、さらに具体的に2パート同時発音のケースを右と左、右と足、左と足、等に細分類したり、他の場合も同様に細分類して発音フラグを設定して、表示色等を変化させることが可能である。また、表示形態については適宜他のものを用いても良い。例えば、表示色の設定については、発音フラグに応じて、種々の色の選択が可能であるし、表示色以外に模様等を変えることによって区別させるようなものでも良い。また、「ダ」「ト」「タ」の口唱文字データについても、他の文字を用いることとしても良い。例えば、同時発音の音符については比較的強い響きの文字を用い、一パートのみ発音の音符については比較的軽い響きの文字を用いることとしても良く、例えば「ダ」「ラン」「トン」などの組み合わせでも良い。以下では、本願出願当初の特許請求の範囲に記載された各発明について付記する。
(付記)
[請求項1]
複数パートから構成される曲を表す演奏データからパート毎のリズムデータを生成するリズムデータ生成手段と、
前記リズムデータ生成手段により生成されたパート毎のリズムデータに基づいて、発音タイミングに応じた種類の発音フラグを付与する発音フラグ付与手段と、
前記リズムデータ生成手段により生成されたパート毎のリズムデータを、それぞれ対応するパートのリズムパターンとして表示すると共に、各リズムパターンにおけるリズムの表示形態を、前記発音フラグ付与手段により付与された発音フラグの種類に応じて異ならせて、発音タイミングをガイド表示するリズム表示手段と
を具備することを特徴とするリズム表示装置。
[請求項2]
前記発音フラグ付与手段は、
ひとつのパートが消音状態で他のパートが発音タイミングとなるリズムデータに第1の発音フラグを付与する第1の付与手段と、
全パートが同時に発音タイミングとなるリズムデータに第2の発音フラグを付与する第2の付与手段と、
ひとつのパートが発音中に他のパートが発音タイミングとなるリズムデータに第3の発音フラグを付与する第3の付与手段と
を備えることを特徴とする請求項1記載のリズム表示装置。
[請求項3]
前記発音フラグ付与手段により付与された発音フラグの種類に応じた口唱文字を、前記リズム表示手段により表示されるリズムパターンに合わせて表示する口唱文字表示手段を更に備えることを特徴とする請求項1または2に記載のリズム表示装置。
[請求項4]
各パートに存在するライン毎にリズムデータを区別するためのラインフラグを付与するラインフラグ付与手段をさらに備え、
前記リズム表示手段は、前記ラインフラグ付与手段により付与されたラインフラグに応じて、各パートに存在するラインごとに前記表示されたリズムパターンを区別して表示する、
ことを特徴とする請求項1から3のいずれかに記載のリズム表示装置。
[請求項5]
リズム入力操作に応じて発生するパート毎の入力リズムデータを、それぞれ前記リズム表示手段により表示される各パートのリズムパターンに対応させて表示する入力リズム表示手段を更に備えることを特徴とする請求項1から4のいずれかに記載のリズム表示装置。
[請求項6]
前記請求項1から4のいずれかに記載のリズム表示装置と、
各パートのリズム入力操作を行わせる入力手段と、
前記入力手段によるリズム入力操作に応じた発音を行う発音手段と、
前記入力手段によるリズム入力操作に応じて発生するパート毎の入力リズムデータを、それぞれ前記リズム表示手段により表示される各パートのリズムパターンに対応させて表示する入力リズム表示手段を備えることを特徴とする電子楽器。
[請求項7]
複数パートから構成される曲を表す演奏データからパート毎のリズムデータを生成するリズムデータ生成過程と、
前記リズムデータ生成過程で生成されたパート毎のリズムデータに基づいて、発音タイミングに応じた種類の発音フラグを付与する発音フラグ付与過程と、
前記リズムデータ生成過程で生成されたパート毎のリズムデータを、それぞれ対応するパートのリズムパターンとして表示すると共に、各リズムパターンにおけるリズムの表示形態を、前記発音フラグ付与過程で付与された発音フラグの種類に応じて異ならせて、発音タイミングをガイド表示するリズム表示過程と
を具備することを特徴とするリズム表示方法。
[請求項8]
コンピュータに、
複数パートから構成される曲を表す演奏データからパート毎のリズムデータを生成するリズムデータ生成ステップと、
前記リズムデータ生成ステップで生成されたパート毎のリズムデータに基づいて、発音タイミングに応じた種類の発音フラグを付与する発音フラグ付与ステップと、
前記リズムデータ生成ステップで生成されたパート毎のリズムデータを、それぞれ対応するパートのリズムパターンとして表示すると共に、各リズムパターンにおけるリズムの表示形態を、前記発音フラグ付与ステップで付与された発音フラグの種類に応じて異ならせて、発音タイミングをガイド表示するリズム表示ステップと
を実行させることを特徴とするプログラム。
10 CPU
11 ROM
12 RAM
13 操作部
14 表示部
15 MIDIインタフェース
16 音源
17 サウンドシステム
20 MIDI楽器
100 リズム表示装置

Claims (7)

  1. 複数パートから構成される曲を表す演奏データからパート毎のリズムデータを生成するリズムデータ生成手段と、
    前記リズムデータ生成手段により生成されたパート毎のリズムデータに基づいて、発音タイミングに応じた種類の発音フラグを付与する発音フラグ付与手段と、
    前記リズムデータ生成手段により生成されたパート毎のリズムデータを、それぞれ対応するパートのリズムパターンとして表示すると共に、各リズムパターンにおけるリズムの表示形態を、前記発音フラグ付与手段により付与された発音フラグの種類に応じて異ならせて、発音タイミングをガイド表示するリズム表示手段と
    を具備し、
    前記発音フラグ付与手段は、
    ひとつのパートが消音状態で他のパートが発音タイミングとなるリズムデータに第1の発音フラグを付与する第1の付与手段と、
    全パートが同時に発音タイミングとなるリズムデータに第2の発音フラグを付与する第2の付与手段と、
    ひとつのパートが発音中に他のパートが発音タイミングとなるリズムデータに第3の発音フラグを付与する第3の付与手段と
    を有することを特徴とするリズム表示装置。
  2. 前記発音フラグ付与手段により付与された発音フラグの種類に応じた口唱文字を、前記リズム表示手段により表示されるリズムパターンに合わせて表示する口唱文字表示手段を更に備えることを特徴とする請求項1に記載のリズム表示装置。
  3. 各パートに存在するライン毎にリズムデータを区別するためのラインフラグを付与するラインフラグ付与手段をさらに備え、
    前記リズム表示手段は、前記ラインフラグ付与手段により付与されたラインフラグに応じて、各パートに存在するラインごとに前記表示されたリズムパターンを区別して表示する、
    ことを特徴とする請求項1または2に記載のリズム表示装置。
  4. リズム入力操作に応じて発生するパート毎の入力リズムデータを、それぞれ前記リズム表示手段により表示される各パートのリズムパターンに対応させて表示する入力リズム表示手段を更に備えることを特徴とする請求項1からのいずれかに記載のリズム表示装置。
  5. 前記請求項1からのいずれかに記載のリズム表示装置と、
    各パートのリズム入力操作を行わせる入力手段と、
    前記入力手段によるリズム入力操作に応じた発音を行う発音手段と、
    前記入力手段によるリズム入力操作に応じて発生するパート毎の入力リズムデータを、
    それぞれ前記リズム表示手段により表示される各パートのリズムパターンに対応させて表示する入力リズム表示手段を備えることを特徴とする電子楽器。
  6. 複数パートから構成される曲を表す演奏データからパート毎のリズムデータを生成するリズムデータ生成過程と、
    前記リズムデータ生成過程で生成されたパート毎のリズムデータに基づいて、発音タイミングに応じた種類の発音フラグを付与する発音フラグ付与過程と、
    前記リズムデータ生成過程で生成されたパート毎のリズムデータを、それぞれ対応するパートのリズムパターンとして表示すると共に、各リズムパターンにおけるリズムの表示形態を、前記発音フラグ付与過程で付与された発音フラグの種類に応じて異ならせて、発音タイミングをガイド表示するリズム表示過程と
    を具備し、
    前記発音フラグ付与過程は、
    ひとつのパートが消音状態で他のパートが発音タイミングとなるリズムデータに第1の発音フラグを付与する第1の付与過程と、
    全パートが同時に発音タイミングとなるリズムデータに第2の発音フラグを付与する第2の付与過程と、
    ひとつのパートが発音中に他のパートが発音タイミングとなるリズムデータに第3の発音フラグを付与する第3の付与過程と
    を有することを特徴とするリズム表示方法。
  7. コンピュータに、
    複数パートから構成される曲を表す演奏データからパート毎のリズムデータを生成するリズムデータ生成ステップと、
    前記リズムデータ生成ステップで生成されたパート毎のリズムデータに基づいて、発音タイミングに応じた種類の発音フラグを付与する発音フラグ付与ステップと、
    前記リズムデータ生成ステップで生成されたパート毎のリズムデータを、それぞれ対応するパートのリズムパターンとして表示すると共に、各リズムパターンにおけるリズムの表示形態を、前記発音フラグ付与ステップで付与された発音フラグの種類に応じて異ならせて、発音タイミングをガイド表示するリズム表示ステップと
    を実行させ
    前記発音フラグ付与ステップは、
    ひとつのパートが消音状態で他のパートが発音タイミングとなるリズムデータに第1の発音フラグを付与する第1の付与ステップと、
    全パートが同時に発音タイミングとなるリズムデータに第2の発音フラグを付与する第2の付与ステップと、
    ひとつのパートが発音中に他のパートが発音タイミングとなるリズムデータに第3の発音フラグを付与する第3の付与ステップと
    を含むることを特徴とするプログラム。
JP2013060980A 2013-03-22 2013-03-22 リズム表示装置、電子楽器、リズム表示方法およびプログラム Active JP6217896B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013060980A JP6217896B2 (ja) 2013-03-22 2013-03-22 リズム表示装置、電子楽器、リズム表示方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013060980A JP6217896B2 (ja) 2013-03-22 2013-03-22 リズム表示装置、電子楽器、リズム表示方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2014186163A JP2014186163A (ja) 2014-10-02
JP6217896B2 true JP6217896B2 (ja) 2017-10-25

Family

ID=51833811

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013060980A Active JP6217896B2 (ja) 2013-03-22 2013-03-22 リズム表示装置、電子楽器、リズム表示方法およびプログラム

Country Status (1)

Country Link
JP (1) JP6217896B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3826697B2 (ja) * 2000-09-19 2006-09-27 ヤマハ株式会社 演奏表示装置および演奏表示方法
JP4666591B2 (ja) * 2005-03-15 2011-04-06 株式会社河合楽器製作所 リズム練習システムおよびリズム練習システム用プログラム

Also Published As

Publication number Publication date
JP2014186163A (ja) 2014-10-02

Similar Documents

Publication Publication Date Title
US10403166B2 (en) Musical performance assistance device and method
US10810978B2 (en) Performance assistance apparatus and method
JP2007114539A (ja) 演奏教習装置および演奏教習処理のプログラム
JP7157377B2 (ja) 演奏情報表示装置及び演奏情報表示方法、演奏情報表示プログラム、並びに、電子楽器
JP6977741B2 (ja) 情報処理装置、情報処理方法、演奏データ表示システム、およびプログラム
JP6205699B2 (ja) 楽譜表示装置、楽譜表示方法、および当該楽譜表示方法を実現するためのプログラム
JP2016224462A (ja) 楽譜表示装置、楽譜表示方法、および当該楽譜表示方法を実現するためのプログラム
JP6217896B2 (ja) リズム表示装置、電子楽器、リズム表示方法およびプログラム
JP4131279B2 (ja) 合奏パラメータ表示装置
JP2017058595A (ja) 自動アレンジ装置及びプログラム
JP4517299B2 (ja) コード教習装置およびコード教習プログラム
JP4697666B2 (ja) 楽譜表示装置および楽譜表示プログラム
JP2015179229A (ja) 楽音発生装置、電子楽器、楽音発生方法およびプログラム
JP5029770B2 (ja) 演奏支援情報生成装置および演奏支援情報生成プログラム
JP4301126B2 (ja) 運指情報生成装置、及びプログラム
JP4816930B2 (ja) 演奏支援情報生成装置および演奏支援情報生成プログラム
JPH05297794A (ja) 演奏練習装置
JP2006178268A (ja) 楽音制御装置および楽音制御プログラム
JP2013011658A (ja) 演奏教習装置およびプログラム
JP3252173B2 (ja) 演奏練習装置
JP6787491B2 (ja) 音発生装置及び方法
JP2022010066A (ja) 情報処理装置、情報処理方法、およびプログラム
JP4940636B2 (ja) 演奏練習装置および演奏練習処理のプログラム
JP2015129839A (ja) 楽音発生指示装置、楽音発生指示方法およびプログラム
JP5825449B2 (ja) コード検出装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160303

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170606

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170724

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170912

R150 Certificate of patent or registration of utility model

Ref document number: 6217896

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150