米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 楽器;音響 -> カシオ計算機株式会社

発明の名称 楽音編集装置および楽音編集処理のプログラム
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2007−187950(P2007−187950A)
公開日 平成19年7月26日(2007.7.26)
出願番号 特願2006−7040(P2006−7040)
出願日 平成18年1月16日(2006.1.16)
代理人 【識別番号】100090619
【弁理士】
【氏名又は名称】長南 満輝男
発明者 小木戸 真一郎
要約 課題
演奏データの発音開始タイミングを定量的かつ視覚的に認識して、その認識された発音開始タイミングに基づいて演奏技術の向上を図るようにする。

解決手段
CPU1は、鍵盤の演奏に応じてRAM4のソングメモリに記憶された曲のイベントデータを読み出して、そのイベントデータをグラフィックデータに変換して表示部101に棒グラフを表示し、その表示された棒グラフの高さに対してアップキースイッチ104又はダウンキースイッチ105による修正の操作がされたときは、その修正に応じてグラフィックデータを変更し、変更したグラフィックデータをイベントデータに変換してソングメモリに書き込む。
特許請求の範囲
【請求項1】
演奏に応じて記憶手段に記憶された曲のイベントデータを読み出して、当該イベントデータにおける任意のノートオンデータの発音開始タイミングから次のノートオンデータの発音開始タイミングとの時間差をグラフィックデータに変換して表示手段にグラフを表示するデータ読出手段と、
前記表示手段に表示されたグラフの時間差に対する修正の操作がされたときは、当該修正に応じてグラフィックデータを変更するデータ変更手段と、
前記データ変更手段によって変更されたグラフィックデータをイベントデータに変換して前記記憶手段に書き込むデータ書込手段と、
を備えた楽音編集装置。
【請求項2】
前記データ読出手段は、前記記憶手段から読み出したイベントデータにおいて、任意のノートオンデータの発音開始タイミングから後のノートオンデータの発音開始タイミングとの時間差が所定時間以内である場合には、当該後のノートオンデータを当該任意のノートオンデータに併合して1つのノートオンデータにして、当該1つのイベントデータをグラフィックデータに変換することを特徴とする請求項1に記載の楽音編集装置。
【請求項3】
前記データ変更手段は、前記表示手段に表示されているグラフにおいて、任意のノートオンデータの発音開始タイミングから後のノートオンデータの発音開始タイミングとの時間差が所定時間を超えている複数のノートオンデータに対応するグラフ領域に対して併合化の操作がされたときは、当該グラフ領域を1つのノートオンデータに対応するグラフ領域に統合するようにグラフィックデータを変更し、前記データ書込手段は、当該統合されたグラフ領域に対応するグラフィックデータについては、当該グラフの形状の修正操作の有無にかかわらず、イベントデータに変換せず前記記憶手段には書き込まないことを特徴とする請求項1に記載の楽音編集装置。
【請求項4】
前記データ読出手段は、前記記憶手段から読み出したイベントデータにおいて、任意のノートオンデータの発音開始タイミングから次のノートオンデータの発音開始タイミングとの時間差を棒グラフの棒の高さで表すように、当該イベントデータをグラフィックデータに変換することを特徴とする請求項1に記載の楽音編集装置。
【請求項5】
前記表示手段に表示されたグラフの形状に対する修正の操作がされたときは、修正されたグラフに対応して変更した曲のイベントデータを音源手段に出力して発音させる発音指示手段をさらに備えたことを特徴とする請求項1に記載の楽音編集装置。
【請求項6】
演奏に応じて記憶手段に記憶された曲のイベントデータを読み出して、当該イベントデータにおける任意のノートオンデータの発音開始タイミングから次のノートオンデータの発音開始タイミングとの時間差をグラフィックデータに変換して表示手段にグラフを表示するステップAと、
前記表示手段に表示されたグラフの時間差に対する修正の操作がされたときは、当該修正に応じてグラフィックデータを変更するステップBと、
前記ステップBによって変更されたグラフィックデータをイベントデータに変換して前記記憶手段に書き込むステップCと、
をコンピュータに実行させる演奏処理のプログラム。
【請求項7】
前記ステップAは、前記記憶手段から読み出したイベントデータにおいて、任意のノートオンデータの発音開始タイミングから後のノートオンデータの発音開始タイミングとの時間差が所定時間以内である場合には、当該後のノートオンデータを当該任意のノートオンデータに併合して1つのノートオンデータとして、当該1つのイベントデータをグラフィックデータに変換することを特徴とする請求項6に記載の楽音編集処理のプログラム。
【請求項8】
前記ステップBは、前記表示手段に表示されているグラフにおいて、任意のノートオンデータの発音開始タイミングから後のノートオンデータの発音開始タイミングとの時間差が所定時間を超えている複数のノートオンデータに対応するグラフ領域に対して併合化の操作がされたときは、当該グラフ領域を1つのノートオンデータに対応するグラフ領域に統合するようにグラフィックデータを変更し、前記ステップCは、当該統合されたグラフ領域に対応するグラフィックデータについては、当該グラフの形状の修正操作の有無にかかわらず、イベントデータに変換せず前記記憶手段には書き込まないことを特徴とする請求項6に記載の楽音編集処理のプログラム。
【請求項9】
前記ステップAは、前記記憶手段から読み出したイベントデータにおいて、任意のノートオンデータの発音開始タイミングから次のノートオンデータの発音開始タイミングとの時間差を棒グラフの棒の高さで表すように、当該イベントデータをグラフィックデータに変換することを特徴とする請求項6に記載の演奏処理のプログラム。
【請求項10】
前記表示手段に表示されたグラフの形状に対する修正の操作がされたときは、修正されたグラフに対応して変更した曲のイベントデータを音源手段に出力して発音させるステップDをさらに有することを特徴とする請求項6に記載の演奏処理のプログラム。
発明の詳細な説明
【技術分野】
【0001】
本発明は、楽音編集装置および楽音編集処理のプログラムに関し、特に、曲のイベントデータを表示装置に表示する楽音編集装置および楽音編集処理のプログラムに関するものである。
【背景技術】
【0002】
曲のイベントデータの音符情報をLCDなどの表示装置に表示する電子鍵盤楽器が広く知られている。例えば、ある提案の演奏情報分析装置によれば、メロディ等の演奏情報を分析して楽譜情報を作成し、音符長情報に基づいて所定の条件に適合した拍子および小節線位置を自動的に選択するようになっている。このために、1音毎に音高情報と発音タイミングとを供給する供給手段と、この供給手段から供給される順次の発音タイミング情報に基づいて1音毎に次音までの時間間隔に対応した音符長情報を作成する作成手段と、この作成手段からの音符長情報に基づいて異なる拍子および異なる小節線位置のうち所定の条件に適合した拍子および小節線位置を選択する選択手段とを備えた構成になっている。(特許文献1参照)
【0003】
一般に、曲の演奏においては、演奏するフレーズの各音の発音開始タイミングの相関関係は非常に重要である。例えば、16分音符の連打が続いている箇所の演奏において、各音符に対してほぼ一定の時間間隔で演奏されない場合には、いわゆる「もたった」演奏になり、テンポが変動して聴く人に不快感を与えることになる。一方、楽譜通りの極めて正確な時間間隔で演奏された場合には、無味乾燥で機械的な演奏になってしまい、メロディの魅力をさらに昂揚させるテンポの細かい揺らぎやリズミカルな乗りの良さを表現することができない。豊かな演奏技術の向上を図る方法として、ある程度の法則のようなものはある。例えば、付点8分音符の後に16分音符が続くような付点リズムの演奏では、しばしば16分音符が短めに演奏される。このような演奏はリズムが躍動的になり、生き生きとした音楽を実現することができる。一方、同じリズムでも非常に急速な曲の場合には、逆に16分音符を長めに、付点4分音符を短めに演奏することがある。これは16分音符を楽譜通りの音長で演奏すると短すぎて聴き取り難いので、意図的に長めに演奏するからである。ところが、演奏技術が未熟なために、同じように16分音符が長めになり、付点4分音符が短めになる場合もある。したがって、演奏者の技量が高い場合には、テンポの細かい揺らぎやリズミカルな乗りの良さを表現ために、演奏する各音の発音開始タイミングを客観的に認識することが望まれている。また、演奏者の技量が低い場合や演奏者のひとりよがりでテンポが変動するのを改善するためにも、演奏する各音の発音開始タイミングを客観的に認識して、テンポの細かい揺らぎやリズミカルな乗りの良さを表現できるような豊かな演奏技術の向上を図る方法が望まれている。従来の技術においては、発音開始タイミングを客観的に認識する方法として、演奏データを記録して再生し、耳で聴いて認識する方法、および、シーケンサなどの表示機能によって演奏データをグラフィック表示する方法が採られている。
【0004】
【特許文献1】特開平7−129158号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、記録した演奏データを再生して耳で聴いて認識する方法の場合には、相当に高い音楽的なレベルを必要とする上、発音開始タイミングを定量的に認識して、演奏技術の向上を図ることは困難である。一方、演奏データをグラフィック表示する方法の場合には、例えば、グラフの横軸を時間とし縦軸を音高として表示するか、あるいは、グラフの横軸に発音開始時間および音長を表示し、縦軸に音高を表示するようになっているので、任意の演奏データの発音開始タイミングと次の演奏データの発音開始タイミングとの時間差を表示するものではない。このため、発音開始タイミングを定量的に認識して、演奏技術の向上を図ることは困難である。また、上記提案の演奏情報分析装置の場合も、演奏データを分析して音符情報に変換して表示するものであり、発音開始タイミングを定量的に認識することは困難である。
本発明は、このような従来の課題を解決するためのものであり、演奏データの発音開始タイミングを定量的かつ視覚的に認識して、その認識された発音開始タイミングに基づいて演奏技術の向上を図るようにすることを目的とする。
【課題を解決するための手段】
【0006】
請求項1に記載の楽音編集装置は、演奏(実施形態においては、図1の鍵盤110の演奏に相当する)に応じて記憶手段(実施形態においては、図2のRAM4のソングメモリに相当する)に記憶された曲のイベントデータを読み出して、当該イベントデータにおける任意のノートオンデータの発音開始タイミングから次のノートオンデータの発音開始タイミングとの時間差をグラフィックデータに変換して表示手段(実施形態においては、図1の表示部101に相当する)にグラフを表示するデータ読出手段と、表示手段に表示されたグラフの時間差に対する修正の操作がされたときは、当該修正に応じてグラフィックデータを変更するデータ変更手段(実施形態においては、図2のCPU1に相当する)と、データ変更手段によって変更されたグラフィックデータをイベントデータに変換して記憶手段に書き込むデータ書込手段(実施形態においては、図2のCPU1に相当する)と、を備えた構成になっている。
【0007】
請求項1の楽音編集装置において、請求項2に記載したように、データ読出手段は、記憶手段から読み出したイベントデータにおいて、任意のノートオンデータの発音開始タイミングから後のノートオンデータの発音開始タイミングとの時間差が所定時間以内である場合には、当該後のノートオンデータを当該任意のノートオンデータに併合して1つのノートオンデータとして、当該1つのイベントデータをグラフィックデータに変換するような構成にしてもよい。
【0008】
請求項1の楽音編集装置において、請求項3に記載したように、データ変更手段は、表示手段に表示されているグラフにおいて、任意のノートオンデータの発音開始タイミングから後のノートオンデータの発音開始タイミングとの時間差が所定時間を超えている複数のノートオンデータに対応するグラフ領域に対して併合化の操作がされたときは、当該グラフ領域を1つのノートオンデータに対応するグラフ領域に統合するようにグラフィックデータを変更し、データ書込手段は、当該統合されたグラフ領域に対応するグラフィックデータについては、当該グラフの形状の修正操作の有無にかかわらず、イベントデータに変換せず記憶手段には書き込まないような構成にしてもよい。
【0009】
請求項1の楽音編集装置において、請求項4に記載したように、データ読出手段は、記憶手段から読み出したイベントデータにおいて、任意のノートオンデータの発音開始タイミングから次のノートオンデータの発音開始タイミングとの時間差を棒グラフの棒の高さで表すように、当該イベントデータをグラフィックデータに変換するような構成にしてもよい。
【0010】
請求項1の楽音編集装置において、請求項5に記載したように、表示手段に表示されたグラフの形状に対する修正の操作がされたときは、修正されたグラフに対応して変更した曲のイベントデータを音源手段(実施形態においては、図2の音源部8に相当する)に出力して発音させる発音指示手段(実施形態においては、図2のCPU1に相当する)をさらに備えた構成にしてもよい。
【0011】
請求項6に記載の楽音編集処理のプログラムは、演奏(実施形態においては、図1の鍵盤110の演奏に相当する)に応じて記憶手段(実施形態においては、図2のRAM4のソングメモリに相当する)に記憶された曲のイベントデータを読み出して、当該イベントデータにおける任意のノートオンデータの発音開始タイミングから次のノートオンデータの発音開始タイミングとの時間差をグラフィックデータに変換して表示手段(実施形態においては、図1の表示部101に相当する)にグラフを表示するステップAと、表示手段に表示されたグラフの時間差に対する修正の操作がされたときは、当該修正に応じてグラフィックデータを変更するステップBと、ステップBによって変更されたグラフィックデータをイベントデータに変換して記憶手段に書き込むステップCと、をコンピュータ(実施形態においては、図2のCPU1に相当する)に実行させる構成になっている。
【0012】
請求項6に記載の楽音編集処理のプログラムにおいて、請求項7に記載したように、ステップAは、記憶手段から読み出したイベントデータにおいて、任意のノートオンデータの発音開始タイミングから後のノートオンデータの発音開始タイミングとの時間差が所定時間以内である場合には、当該後のノートオンデータを当該任意のノートオンデータに併合して1つのノートオンデータとして、当該1つのイベントデータをグラフィックデータに変換するような構成にしてもよい。
【0013】
請求項6に記載の楽音編集処理のプログラムにおいて、請求項8に記載したように、ステップBは、表示手段に表示されているグラフにおいて、任意のノートオンデータの発音開始タイミングから後のノートオンデータの発音開始タイミングとの時間差が所定時間を超えている複数のノートオンデータに対応するグラフ領域に対して併合化の操作がされたときは、当該グラフ領域を1つのノートオンデータに対応するグラフ領域に統合するようにグラフィックデータを変更し、ステップCは、当該統合されたグラフ領域に対応するグラフィックデータについては、当該グラフの形状の修正操作の有無にかかわらず、イベントデータに変換せず記憶手段には書き込まないような構成にしてもよい。
【0014】
請求項6に記載の楽音編集処理のプログラムにおいて、請求項9に記載したように、ステップAは、記憶手段から読み出したイベントデータにおいて、任意のノートオンデータの発音開始タイミングから次のノートオンデータの発音開始タイミングとの時間差を棒グラフの棒の高さで表すように、当該イベントデータをグラフィックデータに変換するような構成にしてもよい。
【0015】
請求項6に記載の楽音編集処理のプログラムにおいて、請求項10に記載したように、表示手段に表示されたグラフの形状に対する修正の操作がされたときは、修正されたグラフに対応して変更した曲のイベントデータを音源手段に出力して発音させるステップDをさらにコンピュータに実行させるような構成にしてもよい。
【発明の効果】
【0016】
本発明の楽音編集装置および楽音編集処理のプログラムによれば、演奏データの発音開始タイミングを定量的かつ視覚的に認識して、その認識された発音開始タイミングに基づいて演奏技術の向上を図ることができるという効果が得られる。
【発明を実施するための最良の形態】
【0017】
以下、本発明の楽音編集装置の実施形態について電子鍵盤楽器を例に採って、図面を参照しながら詳細に説明する。
図1は、実施形態における電子鍵盤楽器の外観を示す平面図である。図1において、表示部1は、演奏前の初期画面としてメインメニューを表示し、演奏者のモード設定操作に応じて、通常演奏モード、登録演奏モード、表示モード、又は再生モードを選択することができる。演奏が開始した後は、設定されたモードに応じた内容を表示する。表示部101の下側には複数のキースイッチからなるスイッチ部が設けられている。すなわち、図に示すように、左移動(「L」)キー102、右移動(「R」)キー103、アップ(「+」)キー104、ダウン(「−」)キー105、シフトキー106、決定キー107、モードキー108、およびスタート/ストップキー109、および図示しない音色キー、音量キーなどが設けられている。スタートキーとストップキーは共通のキースイッチであり、オン操作ごとに状態が反転するトグルスイッチである。その他の各キーの機能については後述する。鍵盤110は、演奏に応じて鍵番号に対応する音高、押鍵時間に対応する音長、押鍵の強さに対応するベロシティを入力する。2つのスピーカ111は内部で生成された楽音信号を発音する。
【0018】
図2は、図1の電子鍵盤楽器のシステム構成を示すブロック図である。図2において、CPU1は、システムバス2を介して、ROM3、RAM4、表示制御部5、鍵盤検出部6、スイッチ検出部7、音源部8に接続され、これら各部との間でコマンドおよびデータの授受を行って全体を制御する。ROM3は、CPU1によって実行される楽音編集処理のプログラムなどの制御プログラム、および、初期データなどを予め記憶している。RAM4は、CPU1によって処理されるデータを一時的に記憶するワークエリアであり、演奏データを記憶するためのソングメモリ、各種のレジスタ、フラグ、ポインタのエリアが設けられている。表示制御部5は、VRAM、映像増幅回路、駆動回路などを備え、CPU1から供給される画像データをVRAMにおいてフレーム画像データに展開して、表示部101の画面に表示する。鍵盤検出部6は、鍵盤110の押鍵の演奏に応じてノートオンデータ、音高、音長、ベロシティ、又は、離鍵の演奏に応じてノートオフイベント、音高をCPU1に入力する。スイッチ検出部7は、各スイッチのオン又はオフを検出してCPU1に入力する。音源部8は、各楽器の音色に対応する波形データを記憶している波形ROMを備え、CPU1の発音指令(ノートオンデータ)、音高、音長、ベロシティに応じて、波形ROMから読み出した波形データを元に楽音信号を生成してサウンドシステム9に出力し、CPU1の消音指令(ノートオフイベント)、音高に応じて、サウンドシステム9の出力を停止する。サウンドシステム9は、D/A変換回路、フィルタ回路、増幅回路などを備え、音源部8から入力される楽音信号に対してデジタルからアナログに変換する処理、不要な高域成分を除去するフィルタ処理、増幅処理などを施して、図1の2つのスピーカ111から発音させる。
【0019】
次に、この実施形態における電子鍵盤楽器の動作について、図3ないし図13に示すCPU1のフローチャート、図14ないし図18に示す表示部101の画面、RAM4のデータ構成などを参照しながら説明する。
図3は、CPU1のメインルーチンのフローチャートである。所定のイニシャライズ(ステップSA1)の後、現在のモードを示すレジスタMODEの値に応じた処理を実行する。MODEの値は、図1のモードキー108のオン操作に応じて、「0」→「1」→「2」→「3」→「0」…とサイクリックに変更される。まず、MODEが0であるか否かを判別し(ステップSA2)、MODEが0の場合には通常演奏処理を行う(ステップSA3)。通常演奏処理では、鍵盤101の演奏に応じて鍵盤検出部6から入力されたノートオン又はノートオフのイベントデータ、音高、音長、ベロシティを音源部8に出力してスピーカ111から発音させる。
【0020】
MODEが0でない場合には、MODEが1であるか否かを判別し(ステップSA4)、MODEが1の場合には、登録処理を実行する(ステップSA5)。MODEが1でない場合には、MODEが2であるか否かを判別し(ステップSA6)、MODEが2である場合には、表示処理を実行する(ステップSA7)。MODEが2でない場合には、MODEが3であるか否かを判別し(ステップSA8)、MODEが3である場合には、再生処理を実行する(ステップSA9)。
【0021】
ステップSA3の通常演奏処理の後、ステップSA5の登録処理の後、ステップSA7の表示処理の後、又は、ステップSA9の再生処理の後は、MODE変更がされたか否かを判別する(ステップSA10)。MODE変更がされない場合には現在のモードの処理を継続するが、MODE変更がされたときは、変更値をMODEにストアする(ステップSA11)。そして、変更されたMODEに対応する処理を実行する。
【0022】
図4は、メインルーチンにおけるステップSA5の登録処理のフローチャートである。スタートキースイッチ109がオンされたか否かを判別し(ステップSB1)、このキーがオンされたときは、フラグSTFを1(登録)にセットし、演奏データを登録するRAM4のソングメモリのアドレスを示すポインタNを1(先頭アドレス)にセットする(ステップSB2)。また、タイムレジスタTを0にクリアする(ステップSB3)。この後、タイマインタラプトの禁止を解除する(ステップSB4)。タイマインタラプトの禁止解除により、一定時間が経過するたびにタイムレジスタTの値がインクリメントされる。すなわち、経過時間がTにストアされる。
【0023】
この後は、STFが1であるか否かを判別する(ステップSB5)。STFが1の場合には、鍵盤検出部6によって鍵盤101の鍵変化を判別する(ステップSB6)。演奏が行われず鍵変化がない場合にはメインルーチンに戻るが、オンの鍵変化があったとき、すなわち押鍵の演奏がされたときは、そのノートオンデータ、ノート(音高)、音長、およびベロシティを音源部8に送出する発音処理を行う(ステップSB7)。また、ポインタNをアドレスにして、タイムレジスタTの時間すなわち発音開始タイミング、ノートオン、ノート、ベロシティをRAM4のソングメモリにストアする(ステップSB8)。次に、Nの値をインクリメントして、ソングメモリのアドレスを更新する(ステップSB9)。そして、図3のメインルーチンに戻る。
【0024】
図4のステップSB6において、オフの鍵変化があったとき、すなわち離鍵の演奏がされたときは、音源部8に対して消音を指示する消音処理を行い(ステップSB10)、ポインタNをアドレスにして、タイムレジスタTの時間、ノートオフ、ノートをRAM4のアドレスNにストアする(ステップSB11)。次に、Nの値をインクリメントして、RAM4のソングメモリのアドレスを更新する(ステップSB9)。そして、図3のメインルーチンに戻る。
【0025】
図4のステップSB1において、スタートキースイッチがオンでない場合には、ストップキースイッチがオンされたか否かを判別する(ステップSB12)。ストップキーがオンされたときは、STFを0にリセットし(ステップSB13)、タイマインタラプトを禁止する(ステップSB14)。そして、図3のメインルーチンに戻る。
【0026】
図14は、RAM4にストアされているノートオンデータをグラフィックデータに変換する推移を示す図である。図14(1)は、RAM4のソングメモリにストアされたイベントのうち、ノートオンデータすなわち押鍵の演奏データを示す図である。図14(1)におけるアドレスは、押鍵開始のときのタイムレジスタTの値、すなわちノートオンデータの発音開始タイミングを表している。アドレスの単位である「0001」は、この場合は40分音符の音長に対応する単位時間長を表し、音長の単位は秒である。したがって、曲のテンポが1分間に4分音符が120の場合には、アドレスの単位である「0001」は25msの時間長となる。したがって、図14(1)における最初のアドレス「0003」にストアされている音高C4、音長0.50、ベロシティ104は、演奏開始から「0003(75ms)」の発音開始タイミングでC4の鍵が500msの時間だけベロシティ104で押鍵されたことを表している。このように、アドレスの値と経過時間とはリンクしているので、以下の説明においては、経過時間をアドレスの値として表す。
【0027】
図5ないし図9は、図3のメインルーチンにおけるステップSA7の表示処理のフローチャートである。この表示処理においては、図14(1)のソングメモリにおけるノートオンデータを図14(2)の表示用レジスタ(1)にストアするためのデータ変換を行い、さらに、表示用レジスタ(1)のデータを図14(3)の表示用レジスタ(2)にストアする。まず、フラグDISPが「0」であるか否かを判別し(ステップSC1)、DISPが「0」である場合には、ポインタN、ポインタMを「1」にセットする(ステップSC2)。Nは図14(1)のソングメモリのアドレスの単位を累積するポインタである。また、Mは図14(2)に示す表示用レジスタ(1)のアドレス(1、2、3…)を示すポインタである。次に、和音の時間を管理するためのレジスタHMを「0」にクリアする(ステップSC3)。
【0028】
次に、ポインタNのアドレスにノートオンデータがあるか否かを判別し(ステップSC4)、ノートオンデータがない場合には、Nの値をインクリメントする(ステップSC5)。そして、ステップSC4に移行してポインタNのアドレスにノートオンデータがあるか否かを判別する。アドレスNにノートオンデータがある場合には、レジスタnにNのアドレスをストアする(ステップSC6)。そして、Nの値をインクリメントする(ステップSC7)。このとき、Nのアドレスがソングメモリの最終番地を超えたか否かを判別する(ステップSC8)。Nのアドレスが最終番地を超えない場合には、ポインタNのアドレスにノートオンデータがあるか否かを判別する(ステップSC9)。Nのアドレスにノートオンデータがない場合には、Nのアドレスがソングメモリの最終番地を超えない限り、ステップSC7、ステップSC8、ステップSC9のループ処理を繰り返しながら、ソングメモリのノートオンデータを捜す。ステップSC9において、Nのアドレスにノートオンデータがあったときは、Nのアドレスをレジスタmにストアする(ステップSC10)。すなわち、連続する2つのノートオンデータにおいて、前のノートオンデータのアドレスをnにストアし、後のノートオンデータをmにストアする。
【0029】
次に、図6のフローチャートにおいて、アドレスmのTの値からアドレスnのTの値を減算してレジスタHにストアする(ステップSC12)。すなわち、アドレスmのノートオンデータの発音開始タイミングとアドレスnのノートオンデータの発音開始タイミングとの時間差をレジスタHにストアする。次に、Hにストアした時間差が所定時間αより大きいか又はα以下であるかを判別する(ステップSC13)。αの値は、アドレスnおよびアドレスmの2つのノートオンデータが和音であるか否かを判別するための閾値であり、例えば、「0001」のアドレス差に相当する。Hの値がαより大きくてアドレスnおよびアドレスmの2つのノートオンデータが和音でない場合には、図14(2)に示す表示用レジスタ(1)のMエリアの「時間差」にHとレジスタHMとの加算した時間をストアし、「グループ化」に「1」をストアする(ステップSC14)。HMは、和音の時間差を累積するレジスタである。ステップSC14において、Mエリアの「時間差」および「グループ化」の値をストアした後は、HMを「0」にクリアし(ステップSC15)、レジスタmのアドレスをレジスタnにセットする(ステップSC16)。ステップSC13において、Hにストアした時間差がα以下である場合、すなわち、アドレスnおよびアドレスmの2つのノートオンデータが和音の場合には、レジスタHMにHの時間差を加算する(ステップSC17)。このように、複数の連続するノートオンデータが和音を構成する場合には、最初のノートオンデータを表示用レジスタ(1)のMエリアにストアし、残りの1つ以上のノートオンデータについては、前のノートオンデータとの発音開始タイミングの時間差をHMに累算する。この結果、和音を構成する複数のノートオンデータは、最初のノートオンデータに後のノートオンデータが併合される。
【0030】
ステップSC16においてレジスタmのアドレスをレジスタnにセットした後、又は、ステップSC17においてHMにHの時間差を加算した後は、図5のフローチャートのステップSC7に移行して、ポインタNをインクリメントしながら、ソングメモリにおける次の新たなノートオンデータを捜す。そして、新たなノートオンデータを取得するたびに、その新たなノートオンデータのアドレスをレジスタmにストアして(ステップSC10)、図6のフローチャートにおいて、レジスタmのTの値とレジスタnのTの値との時間差に応じて、2つのノートオンデータが和音でない場合には表示用レジスタ(1)にストアし(ステップSC14)、和音である場合にはHMに時間差を加算する(ステップSC17)。ソングメモリの中の全てのノートオンデータに対する処理が終了して、図5のステップSC8においてアドレスNがソングメモリの最終番地を超えたときは、フラグDISPを「1」にセットして(ステップSC11)、ステップSC1に移行する。
【0031】
DISPを「1」にセットしたときは、図14(1)に示したソングメモリのノートオンデータのアドレス差分が図14(2)の表示用レジスタ(1)の時間差として各ノート番号のエリアにストアされ、各エリアのグループ化ポイントに「1」がストアされる。この場合においては、図14(1)に示すように、アドレスの差分は「0007」ないし「0016」でαの値「0001」より大きく、和音が含まれていないので、図14(2)の表示用レジスタ(1)のグループ化ポイントには全て「1」がストアされる。
【0032】
一方、ソングメモリに和音が含まれている場合には、その和音を構成する複数のノートオンデータを1つのノートオンデータと見なして表示用レジスタ(1)にストアする。図15は、RAM4のソングメモリの和音のノートオンデータを表示用レジスタ(1)にストアする例を示す図である。図15(1)の楽譜の小節1の6番目の音符には、D4およびE4の和音が含まれている。いま、D4のノートオンデータの発音開始タイミングから「0001」だけ遅れてE4のノートオンデータの発音開始タイミングになったときは、図15(2)のソングメモリには、「0030」のアドレスにD4の音高がストアされ、「0031」のアドレスにE4の音高がストアされる。E4のアドレスとD4のアドレスの差、すなわち、E4の発音開始タイミングとD4の発音開始タイミングとの時間差は「0001」であるので、図6のステップSC13において和音と判別され、D4およびE4が併合されて1つのノートオンデータとして表示用レジスタ(1)にストアされる。
【0033】
図5のステップSC1においてDISPが「1」の場合には、図7のフローチャートにおいて、図14(2)の表示用レジスタ(1)のエリアを指定するポインタMを「1」にセットし、図14(3)の表示用レジスタ(2)のエリアを指定するポインタNを0にセットする(ステップSC18)。なお、表示用レジスタ(2)は、表示部101に棒グラフを表示するためのグラフィックデータをストアレジスタである。次に、表示用レジスタ(1)のMの「グループ化」が「1」であるか又は「0」であるかを判別する(ステップSC19)。Mの「グループ化」が「1」である場合には、Nの値をインクリメントし(ステップSC20)、表示用レジスタ(2)のアドレスNに表示用レジスタ(1)の時間差をストアする(ステップSC21)。一方、ステップSC19において、表示用レジスタ(1)のMの「グループ化」が「0」である場合には、表示用レジスタ(2)のアドレスNの時間差に表示用レジスタ(1)の時間差を加算する(ステップSC22)。ステップSC21において時間差をストアした後、又は、ステップSC22において時間差を加算した後は、Mの値をインクリメントする(ステップSC23)。そして、インクリメントしたMの値が表示用レジスタ(1)の最終アドレスを超えたか否かを判別し(ステップSC24)、Mの値が最終アドレスを超えていない場合には、ステップSC19に移行して、ステップSC24までのループ処理を繰り返す。ステップSC24において、Mの値が最終アドレスを超えたとき、すなわち、表示用レジスタ(1)の全てのデータを表示用レジスタ(2)にストアした後は、表示用レジスタ(2)の内容に基づいて、表示制御部5によって表示部101に棒グラフを表示するとともに、カーソルを表示する(ステップSC25)。
【0034】
図16は、表示用レジスタ(2)にストアされたデータに基づいて、表示部101の鍵盤画像501の上に表示された棒グラフ502を示す図である。棒グラフ502の下にはカーソル503が表示されている。図7のステップSC25において表示部101に棒グラフを表示した後は、図8のフローチャートにおいて、図1のスイッチ部のシフトキー106がオン状態であるか否かを判別する(ステップSC26)。シフトキー106がオン状態でない場合には、左移動キー102又は右移動キー103がオンされたか否かを判別する(ステップSC27)。左移動キー102又は右移動キー103がオンされたときは、カーソル503の位置を移動する(ステップSC28)。次に、カーソル503の位置がグラフ上であるか否かを判別し(ステップSC29)、カーソル503の位置がグラフ上である場合には、カーソル位置の棒を強調表示する(ステップSC30a)。図16の棒グラフは、下の楽譜のノートオンデータをグラフィックデータに変換して表示したものであり、カーソル503によって3番目の棒g3が指定されて強調表示された状態を示している。この図で、3本の点線は、下から順に8分音符の比較ライン、4分音符の比較ライン、および2分音符の比較ラインを表している。棒g3の高さは、画面の下に記載した楽譜において、3番目のE4の音符n3の発音開始タイミングから4番目のF4の音符n4の発音開始タイミングまでの時間差を表している。
【0035】
ステップSC30aにおいて棒を強調表示した後は、カーソル503のある棒に対応するノートアドレスをレジスタnにストアする(ステップSC30b)。したがって、図16に示した例においては、強調表示されているグラフの棒に対応するノートオンデータである表示用レジスタ(2)の棒番号3をnにストアする。次に、図1のスイッチ部においてアップキー104がオンされたか否かを判別し(ステップSC31)、このキーがオンされたときは、棒の高さの修正値を示すレジスタΔTの値をインクリメントする(ステップSC32)。アップキー104がオンでない場合には、ダウンキー105がオンされたか否かを判別し(ステップSC33)、このキーがオンされたときは、ΔTの値をデクリメントする(ステップSC34)。ΔTの値をインクリメント又はデクリメントした後は、変更処理(1)を実行する(ステップSC35)。ΔTの初期値は「0」であるので、その値は正負の符号を含むことになる。
【0036】
図10は、変更処理(1)のフローチャートである。まず、表示用レジスタ(1)のノート番号を指定するポインタM、Nを「1」にセットする(ステップSD1)。次に、表示用レジスタ(1)のノート番号Mのグループ化が「1」であるか否かを判別する(ステップSD2)。ノート番号Mのグループ化が「0」である場合、すなわち、ノート番号Mに対応するソングメモリのノートオンデータが、少なくとも1つ前のノートオンデータを含む和音である場合には、Mの値をインクリメントして(ステップSD3)、ステップSD2においてノート番号Mのグループ化が「1」であるか否かを判別する。ノート番号Mのグループ化が「1」である場合には、ポインタNの値がカーソル位置のグラフに対応するノートアドレスであるnの値と同じであるか否かを判別する(ステップSD4)。Nの値とnの値とが異なる場合には、Nの値をインクリメントし(ステップSD5)、Mの値をインクリメントして(ステップSD3)、再びステップSD2においてノート番号Mのグループ化が「1」であるか否かを判別する。ノート番号Mのグループ化が「1」で、かつ、Nの値とnの値とが同じである場合には、ソングメモリのアドレスを指定するポインタkを1にセットし、表示用レジスタ(1)のノート番号を指定するポインタmを1にセットする(ステップSD6)。そして、ステップSD7からステップSD15までのループ処理を実行して、アップキー又はダウンキーのオン操作によって表示部101のグラフの修正内容をソングメモリに反映させる。
【0037】
このループ処理において、ソングメモリのアドレスk内のイベントノートがノートオンであるか否かを判別し(ステップSD7)、アドレスk内のイベントノートがノートオフである場合には、kの値をインクリメントして(ステップSD8)、次のアドレスのイベントノートがノートオンであるか否かを判別する。アドレスk内のイベントノートがノートオンである場合には、mの値が「M+1」の値と同じか否かを判別する(ステップSD9)。mの値が「M+1」の値と異なる場合には、mの値をインクリメントし(ステップSD10)、kのアドレスをインクリメントする(ステップSD11)。そして、ステップSD7に移行して、ステップSD9においてmの値が「M+1」の値になるまで、ステップSD7、ステップSD10、ステップSD11のループ処理を繰り返す。mの値が「M+1」の値になったときは、ソングメモリのアドレスkの発音開始タイミングであるTの値に、図8のステップSC32又はステップSC34において増減した正又は負のΔTを加算する(ステップSD12)。さらに、対応するノートオフのTにもΔTを加算する(ステップSD13)。
【0038】
例えば、表示部101の棒グラフmの棒g3の高さが高くなるようにアップキー104のオン操作で修正された場合を想定する。棒g3の高さは表示用レジスタ(2)の棒番号3の高さ「7」である。この値は、次のノートオンデータn4の発音開始タイミングから前のノートオンデータn3の発音開始タイミングを減算した時間差を表している。この高さが「7」から「10」に修正されたときは、ノートオンデータn4の発音開始タイミングを「3」だけ遅くする修正がされたことになる。したがって、次のノートオンをソングメモリの中から検索して、その発音開始タイミングTに「0003」を加算する。
【0039】
図10のステップSD13の後は、Mの値をインクリメントし(ステップSD14)、表示用レジスタ(1)のノート番号Mのグループ化が「0」であるか否かを判別する(ステップSD15)。ノート番号Mのグループ化が「1」である場合には、ステップSD7に移行して、ソングメモリ内のノートオンデータの発音開始タイミングTにΔTを加算するループ処理を繰り返す。ステップSD15において、ノート番号Mのグループ化が「0」である場合には、表示をクリアして(ステップSD16)、図8のフローチャートに戻る。図8のステップSC35の後は、DISPを「0」にリセットして(ステップSC36)、図5のフローチャートのステップSC1に移行する。
【0040】
この後は、図14(1)のソングメモリの修正された発音開始タイミングに基づいて、表示部101に表示するグラフを変更することになる。すなわち、再び、図5および図6のフローチャートを実行して、図14(1)のソングメモリのノートオンデータを図14(2)の表示用レジスタ(1)にストアし、図7のフローチャートを実行して、図14(2)の表示用レジスタ(1)のノートオンデータを図14(3)の表示用レジスタ(2)にストアし、ステップSC1の後、再び、図7のフローチャートに移行して、表示部101に変更されたグラフを表示する。
【0041】
図8のステップSC26において、シフトキーがオン状態である場合には、図9のフローチャートにおいて、左右移動キー102、103がオンされたか否かを判別する(ステップSC37)。シフトキーがオン状態で左右移動キー102、103のいずれか一方がオンされたときは、カーソル位置を移動する(ステップSC38)。次に、カーソル位置がグラフ上か否かを判別し(ステップSC39)、カーソル位置がグラフ上である場合には、カーソル位置のグラフの棒を強調表示する(ステップSC40)。そして、決定キースイッチ107がオンされたか否かを判別し(ステップSC41)、このスイッチがオンでない場合には、シフトキーのオン状態が継続している限り、左右移動キー102、103のオン操作に応じて、複数の棒を強調表示する。ステップSC41において、決定スイッチがオンされたときは、変更処理(2)を実行する(ステップSC42)。
【0042】
図11は、変更処理(2)のフローチャートである。この処理では、和音を構成していない複数のノートオンデータを1つのノートオンデータに統合して、図16に示したグラフ502の表示領域を縮小することによって、多数のノートオンデータに対応する全体的な分析を可能にする。図11において、まず、強調表示になっているグラフの棒に対応するノート番号をストアする(ステップSE1)。次に、表示用レジスタ(1)のノート番号を指定するポインタMを「1」にセットして(ステップSE2)、Mの値をインクリメントしながら、ステップSE3からステップSE6までのループ処理を実行する。すなわち、表示用レジスタ(1)のアドレスMは強調表示されてストアされたノート番号であるか否かを判別して(ステップSE3)、アドレスMがストアされたノート番号である場合には、表示用レジスタ(1)のアドレスMの「グループ化」を「0」にする(ステップSE4)。アドレスMの「グループ化」を「0」にした後、又は、ステップSE3においてアドレスMがストアされたノート番号でない場合には、Mの値をインクリメントする(ステップSE5)。そして、インクリメントしたMの値が表示用レジスタ(1)の最終アドレスを超えたか否かを判別する(ステップSE6)。Mの値が最終アドレスを超えない場合には、ステップSE3に移行してループ処理を繰り返す。Mの値が最終アドレスを超えたときは、表示をクリアして(ステップSE7)、図7のフローチャートのステップSC18に移行する。なお、図10の変更処理(1)の場合には、表示されたグラフの修正に基づいてソングメモリの内容を変更したが、この変更処理(2)の場合には、グラフ表示の便宜上、本来和音を構成しない複数のノートオンデータを修正して、1つのノートオンデータに統合したのであるから、ソングメモリの内容は変更しない。
【0043】
図17は、和音を構成していない複数のノートオンデータを1つのノートオンデータに統合する変更処理(2)を示す図である。図17(1)に示す楽譜における音符は和音を構成していないので、通常は図16のグラフ502に示すように、7gまでの7個の棒グラフで表される。図17(1)の楽譜において、第1小節の前半の4個のノートオンデータを「グループ1」とし、後半の3個のノートオンデータを「グループ2」とすると、それぞれ1つのノートオンデータに統合した場合には、図17(2)の表示用レジスタ1のように、ノート番号2から4までの時間差がノート番号1の時間差に累積されて「グループ化」が「0」となり、ノート番号6および7の時間差がノート番号5の時間差に累積されて「グループ化」が「0」となる。したがって、図17(2)の表示用レジスタ(1)のデータを図17(3)の表示用レジスタ(2)にストアすると、各グループの時間差が累算された高さ「40」および「38」の2つの棒番号1、2となる。この結果、図17(4)に示すように、表示部101に表示される2個の棒のグラフとなる。
【0044】
図12は、図3のメインルーチンにおけるステップSA9の再生処理のフローチャートである。まず、DISPが「1」であるか否かを判別し(ステップSF)、DISPが「0」の場合はメインルーチンに戻るが、DISPが「1」である場合には、図1のスタートキースイッチ109がオンされたか否かを判別する(ステップSF2)。スタートスイッチがオンされたときは、フラグSTFを「1」にセットして(ステップSF3)、ソングメモリのイベントを指定するポインタNを「1」にセットし、タイマレジスタTを「0」にクリアする(ステップSF4)。そして、タイマインタラプトの禁止を解除する(ステップSF5)。図13は、タイマインタラプトのフローチャートである。タイマインタラプトの禁止を解除した後は、一定時間ごとのタイマインタラプトに応じて、Tの値がインクリメントされる(ステップSG1)。
【0045】
ステップSF5においてタイマインタラプトの禁止を解除した後、又は、ステップSF13においてストップスイッチがオンでない場合には、STFが「1」であるか否かを判別する(ステップSF6)。STFが「1」の場合には、Nをアドレスとする時間tにTの値が達したか否かを判別する(ステップSF7)。時間tにTの値が達したときは、Nをアドレスとするイベントの処理を実行する(ステップSF8)。すなわち、イベントがノートオンデータである場合には、そのノートオンデータの音高、音長、およびベロシティを発音指示のコマンドとともに音源部8に送出して発音させる。イベントがノートオフイベントである場合には、そのノートオンデータの音高を消音指示のコマンドとともに音源部8に送出して消音させる。イベントがノートイベントでなくコントロールチェンジなどの制御データである場合には、そのイベントに対応する処理を行う。次に、Nの値をインクリメントして次のアドレスを指定する(ステップSF9)。そして、インクリメントしたNの値がソングメモリの最終アドレスを超えたか否かを判別し(ステップSF10)、最終アドレスを超えない場合には、ステップSF1、ステップSF13、ステップSF6、およびステップSF7のループを繰り返し、Nをアドレスとする時間tにTの値が達するたびに、Nをアドレスとするイベントの処理を実行する。そして、ステップSF10において、Nの値がソングメモリの最終アドレスを超えたとき、すなわち、変更されたソングメモリの全てのイベントの処理が終了したときは、STFを「0」にリセットして(ステップSF11)、タイマインタラプトを禁止する(ステップSF12)。そして、ステップSF2に移行してスタートスイッチのオンを判別する。このように、表示部101に表示されたグラフに対して修正操作がされるたびに、ソングメモリの内容を変更し、変更されたイベントを再生する。
【0046】
ステップSF2において、スタートスイッチがオンされない場合には、ストップスイッチがオンされたか否かを判別する(ステップSF13)。ストップスイッチがオンされたときは、STFを「0」にリセットして(ステップSF14)、タイマインタラプトを禁止する(ステップSF15)。そして、図3のメインルーチンに戻る。
【0047】
以上のように、この実施形態によれば、CPU1は、鍵盤の演奏に応じてRAM4のソングメモリに記憶された曲のイベントデータを読み出して、そのイベントデータをグラフィックデータに変換して表示部101に棒グラフを表示し、その表示された棒グラフの高さに対してアップキースイッチ104又はダウンキースイッチ105による修正の操作がされたときは、その修正に応じてグラフィックデータを変更し、変更したグラフィックデータをイベントデータに変換してソングメモリに書き込む。この場合において、CPU1は、ソングメモリから読み出したイベントデータにおいて、任意のノートオンデータの発音開始タイミングから次のノートオンデータの発音開始タイミングとの時間差を表すように、イベントデータをグラフィックデータに変換する。
したがって、演奏データの発音開始タイミングを定量的かつ視覚的に認識して、その認識された発音開始タイミングに基づいて演奏技術の向上を図ることができる。具体的には、演奏者は、表示部101に表示されたグラフを見て、自分の悪い演奏のタイミングの弱点や傾向(癖)、あるいは、良い演奏のタイミングや傾向を明確に把握して、自身の演奏技術の向上を図ることができる。
【0048】
例えば、図16のグラフ502において、左から3番目の棒g3が他の棒に比べて短く、その直後の棒g4は逆に長くなっている。これは曲の最初から4番目のF4の音符n4が前のめりに演奏されたことを示している。同様の傾向が10番目の棒g10と11番目の棒g11にも見られる。このような傾向は、一般的には「ころび」と表現されており、演奏技術が未熟な演奏にしばしば見られる傾向である。初心者は指の動きである運指や音楽的感覚が十分には発達していないために、同じ時間間隔で演奏すべき音符の並びの中で、一部の音が前のめりになる場合や、逆に後ろへもたれる場合がある。本発明によれば、演奏者は、グラフ表示された発音開始タイミングの時間差を定量的かつ視覚的に認識して、表示されたグラフを修正してソングメモリを変更し、模範的な演奏に編集して再生することにより、演奏技術の向上を図ることができる。
【0049】
さらに、図16のグラフ502において、第1小節の最後のC4の4分音符に対応する棒g7、および、第2小節の最後のE4の4分音符に対応する棒g14の高さが下から2番目の点線である4分音符の比較ラインに達してしない。それぞれの前の2つの棒の高さは1番下の8分音符の比較ラインとほぼ同じであるが、棒g7および棒g14の高さは、その上の4分音符の比較ラインより低い。これは第1小節の最後の4分音符C4および第2小節の最後の4分音符E4の発音開始タイミングが早めであることを示している。これも初心者の演奏にしばしば見られる傾向であり、短い音長の8分音符が続いた後に長い音符がくると、直前の短い音価に慣れているために、次の長い音符の音価を保つことができず、先走って次の演奏をすることにより発生する現象である。このような場合にも、本発明によって、グラフ表示された発音開始タイミングの時間差を定量的かつ視覚的に認識して、表示されたグラフを修正してソングメモリを変更し、模範的な演奏に編集して再生することにより、演奏技術の向上を図ることができる。
【0050】
図18は、等間隔にならんだ同じ音高の連打の演奏データをグループ化してグラフ表示した例を示す図である。図18(1)の楽譜において、1小節内に16分音符が16個ならんだフレーズを、4つの音符を1つのグループにまとめて、その演奏結果を図18(2)に示すグラフで表している。すなわち、各グループにおける発音開始タイミングの時間差を4つの棒で表している。このグラフから明らかなように、後のグループになるほど少しずつ棒の高さが低くなっている。これも実際の演奏にありがちな「走る」という現象で、演奏が進むに従って少しずつテンポが速くなるが、演奏者自身は自覚していないことが多い。このような傾向の場合は、各音符の単位で見るよりも、このように複数の音符をグループ化して見たほうが演奏の傾向を把握できる。したがって、このような場合にも、本発明により、グラフ表示された発音開始タイミングの時間差を定量的かつ視覚的に認識して、表示されたグラフを修正してソングメモリを変更し、模範的な演奏に編集して再生することにより、演奏技術の向上を図ることができる。
【0051】
このように初心者におけるタイミングのずれやバラつきのように演奏の欠点を認識して演奏技術の向上を図るだけでなく、熟練の演奏者に対しても本発明は有効である。上記したように、楽譜通りの機械的な演奏の場合には、表示されたグラフの各棒の高さは比較ラインの上に整然と揃うことになり、人間味の薄い無味乾燥な演奏になってしまう。そこで、表示されたグラフを修正してソングメモリのノートオンデータを変更することにより、テンポの細かい揺らぎやリズミカルな乗りの良さを表現できる。
【0052】
また、上記実施形態において、図15に示したように、CPU1は、ソングメモリから読み出したイベントデータにおいて、任意のノートオンデータの発音開始タイミングから後のノートオンデータの発音開始タイミングとの時間差が和音の閾値である所定時間α以内である場合には、後のノートオンデータと任意のノートオンデータとをグループ化して1つのノートオンデータと見なして、そのイベントデータをグラフィックデータに変換する。
したがって、和音を構成する複数のノートオンデータに対しては、1つにまとめてグラフ表示することにより、限られた表示画面を有効に利用できる。
【0053】
また、上記実施形態において、図17に示したように、CPU1は、表示部101に表示されているグラフにおいて、任意のノートオンデータの発音開始タイミングから後のノートオンデータの発音開始タイミングとの時間差が和音の閾値である所定時間αを超えている複数のノートオンデータに対応するグラフ領域に対して併合化の操作がされたときは、そのグラフ領域を1つのノートオンデータに対応するグラフ領域に統合するようにグラフィックデータを変更するが、統合されたグラフ領域に対応するグラフィックデータについては、その棒グラフの高さの修正操作された場合でも、イベントデータに変換せずソングメモリには書き込まない。
したがって、和音を構成しない複数のノートオンデータであっても、操作に応じて1つのノートオンデータと見なして統合してグラフ表示することにより、限られた表示画面を有効に利用できる。
【0054】
また、上記実施形態において、図12の再生処理のフローチャートに示したように、表示されたグラフを修正してソングメモリのイベントを変更するたびに、スタートスイッチのオン操作によって、変更したソングメモリのイベントを再生するので、変更した内容を実際に耳で聴いて確認することができる。この場合において、上記実施形態においては、変更したノートオンデータの演奏データを元の演奏データに上書きする構成にしたが、元の演奏データとは別のエリアに書き込んで、変更前の演奏データと変更後の演奏データとを聞き比べる構成にしてもよい。
【0055】
また、上記実施形態においては、ノートオンデータの発音開始タイミングの時間差を定量的かつ視覚的に表示するために棒グラフを用いたが、ノートオンデータの発音開始タイミングの時間差を定量的かつ視覚的に表示するものであれば、折れ線グラフ又は他の形態のグラフを用いてもよい。
【0056】
なお、上記実施形態においては、ROM3にあらかじめ記憶されている楽音編集処理のプログラムをCPU1が実行する装置の発明について説明したが、フレキシブルディスク(FD)、CD、メモリカードなどの外部記憶媒体に記憶された演奏処理のプログラム、又は、インターネットなどのネットワークからダウンロードした演奏処理のプログラムをRAM4あるいは別途設けたフラッシュROMやハードディスクなどの不揮発性メモリにインストールして、CPU1がそのプログラムを実行する構成も可能である。この場合には、プログラムの発明および記憶媒体の発明を実現できる。
【0057】
すなわち、本発明の楽音編集処理のプログラムは、
演奏に応じて記憶手段に記憶された曲のイベントデータを読み出して、当該イベントデータにおける任意のノートオンデータの発音開始タイミングから次のノートオンデータの発音開始タイミングとの時間差をグラフィックデータに変換して表示手段にグラフを表示するステップAと、前記表示手段に表示されたグラフの時間差に対する修正の操作がされたときは、当該修正に応じてグラフィックデータを変更するステップBと、前記ステップBによって変更されたグラフィックデータをイベントデータに変換して前記記憶手段に書き込むステップCと、をコンピュータに実行させる。
【0058】
前記ステップAは、前記記憶手段から読み出したイベントデータにおいて、任意のノートオンデータの発音開始タイミングから後のノートオンデータの発音開始タイミングとの時間差が所定時間以内である場合には、当該後のノートオンデータを当該任意のノートオンデータに併合して1つのノートオンデータとして、当該1つのイベントデータをグラフィックデータに変換する。
【0059】
前記ステップBは、前記表示手段に表示されているグラフにおいて、任意のノートオンデータの発音開始タイミングから後のノートオンデータの発音開始タイミングとの時間差が所定時間を超えている複数のノートオンデータに対応するグラフ領域に対して併合化の操作がされたときは、当該グラフ領域を1つのノートオンデータに対応するグラフ領域に統合するようにグラフィックデータを変更し、前記ステップCは、当該統合されたグラフ領域に対応するグラフィックデータについては、当該グラフの形状の修正操作の有無にかかわらず、イベントデータに変換せず前記記憶手段には書き込まない。
【0060】
前記ステップAは、前記記憶手段から読み出したイベントデータにおいて、任意のノートオンデータの発音開始タイミングから次のノートオンデータの発音開始タイミングとの時間差を棒グラフの棒の高さで表すように、当該イベントデータをグラフィックデータに変換する。
【0061】
前記表示手段に表示されたグラフの形状に対する修正の操作がされたときは、修正されたグラフに対応して変更した曲のイベントデータを音源手段に出力して発音させるステップDをさらに有する。
【図面の簡単な説明】
【0062】
【図1】本発明の実施形態における電子鍵盤楽器の外観を示す平面図。
【図2】図1の電子鍵盤楽器のシステム構成を示すブロック図。
【図3】図2のCPUのメインルーチンのフローチャート。
【図4】図3における登録処理のフローチャート。
【図5】図3における表示処理のフローチャート。
【図6】図5に続く表示処理のフローチャート。
【図7】図5に続く表示処理のフローチャート。
【図8】図7に続く表示処理のフローチャート。
【図9】図8に続く表示処理のフローチャート。
【図10】図8における変更処理(1)のフローチャート。
【図11】図9における変更処理(2)のフローチャート。
【図12】図3における再生処理のフローチャート。
【図13】図2のCPUのタイマインタラプト処理のフローチャート。
【図14】図2のRAMにストアされているノートオンデータをグラフィックデータに変換する推移を示す図。
【図15】図2のRAMのソングメモリの和音のノートオンデータを表示用レジスタ(1)にストアする例を示す図。
【図16】図2のRAMの表示用レジスタ(2)にストアされたデータに基づいて、表示部の鍵盤画像の上に表示された棒グラフを示す図。
【図17】和音を構成していない複数のノートオンデータを1つのノートオンデータに統合する変更処理(2)を示す図。
【図18】等間隔にならんだ同じ音高の連打の演奏データをグループ化してグラフ表示した例を示す図。
【符号の説明】
【0063】
1 CPU
3 ROM
4 RAM
5 表示制御部
6 鍵盤検出部
7 スイッチ検出部
8 音源部
9 サウンドシステム
101 表示部
110 鍵盤




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013