(57)【要約】   【課題】波形メモリに記憶された波形を速く表示することができる電子楽器および波形表示プログラムを提供する。  【解決手段】使用ブロックの中に表示倍率が今回設定された表示倍率より大きい該当するブロックがあるか否かを判断する（Ｓ２７）。例えば、表示倍率が２倍の使用ブロックについては、ブロック番号ＢＮを２で割った商の値のブロック番号および商の値に１加算した値のブロック番号が記憶されている使用ブロックが該当ブロックである。  該当するブロックがある場合は（Ｓ２７：Ｙｅｓ）、該当するブロックに今回の表示倍率に対応する表示データを作成するための表示データが記憶されているか否かを判断する（Ｓ３０）。表示データが記憶されている場合は（Ｓ３０：Ｙｅｓ）、その表示データを読出して、今回設定されている表示倍率に応じた表示データを形成する（Ｓ３１）。  【選択図】    図６
2006145710.tif 000002
【特許請求の範囲】
【請求項１】
時間軸に対応して波形の振幅値を順次記憶する波形記憶手段と、その波形記憶手段に記憶されている波形の振幅値を読出すことにより楽音を生成する楽音生成手段と、前記波形記憶手段に記憶されている波形の振幅値に基づいて波形を表示する波形表示手段とを備えた電子楽器において、
前記波形記憶手段に記憶されている波形の表示態様を設定する表示態様設定手段と、
その表示態様設定手段により設定された表示態様に応じて、前記波形記憶手段に記憶されている波形の振幅値を読み出して表示データを形成する表示データ形成手段と、
その表示データ形成手段により形成された表示データとその表示データに対応する表示態様とを記憶する表示データ記憶手段と、
前記表示態様設定手段により新たに表示する波形の表示態様が設定された場合に、前記表示データ記憶手段に記憶された表示データとその表示データに対応する表示態様とに基づいて、前記波形表示手段に表示を行うように制御する制御手段とを備えていることを特徴とする電子楽器。
【請求項２】
前記表示態様設定手段は、前記記憶手段に記憶されている波形のうち、前記波形表示手段に表示される時間範囲を設定する表示範囲設定手段を有し、前記表示データ形成手段は、前記表示範囲設定手段により設定された時間範囲の波形の表示データを形成するものであることを特徴とする請求項１記載の電子楽器。
【請求項３】
前記表示態様設定手段は、表示倍率として前記波形表示手段により表示される表示の最小単位に対応するサンプル数を設定する表示倍率設定手段を有し、前記表示データ形成手段は、前記表示倍率設定手段により設定される表示の最小単位に対応するサンプル数の振幅値のうち、表示データとして最大値と最小値とを求める最大最小表示データ形成手段を有し、前記波形表示手段は前記最大最小表示データ形成手段により形成された表示データに基づいて表示を行い、前記表示データ記憶手段は、前記最大最小表示データ形成手段により求められた最大値および最小値を記憶するものであることを特徴とする請求項１または２記載の電子楽器。
【請求項４】
前記表示データ記憶手段は、前記表示倍率設定手段により設定された表示倍率と、その表示倍率に応じて前記表示データ形成手段により形成された表示データとを記憶し、
前記制御手段は、前記表示倍率設定手段により新たに表示する波形の表示倍率が設定され、前記表示データ記憶手段に記憶された表示倍率が新たに設定された表示倍率より大きい場合に、前記表示データ記憶手段に記憶された表示データに基づいて、新たに設定された表示倍率に対応する表示データを形成するように前記波形データ形成手段を制御するものであることを特徴とする請求項３記載の電子楽器。
【請求項５】
前記波形記憶手段に対して波形の振幅値を書込むとともにその波形記憶手段に記憶された波形の振幅値を読出す波形読み書き専用回路を有し、前記表示データ形成手段は、前記波形読み書き専用回路を介して波形記憶手段に記憶されている波形の振幅値を読出し、表示データを形成するものであることを特徴とする請求項１から４のいずれかに記載の電子楽器。
【請求項６】
時間軸に対応して波形の振幅値を順次記憶する波形記憶手段と、その波形記憶手段に記憶されている波形の振幅値に基づいて楽音を生成する楽音生成手段と、前記波形記憶手段に記憶されている波形の振幅値に基づいて波形を表示する波形表示手段とを備えた電子楽器において実行される波形表示プログラムにおいて、
前記波形記憶手段に記憶されている波形の表示態様を設定する表示態様設定ステップと、
その表示態様設定ステップにより設定された表示態様に応じて、前記波形記憶手段に記憶されている波形の振幅値を読み出して表示データを形成する表示データ形成ステップと、
その表示データ形成ステップにより形成された表示データとその表示データに対応する表示態様とを記憶する表示データ記憶ステップと、
前記表示態様設定ステップにより表示態様が設定された場合に、前記表示データ記憶ステップにより記憶された表示データとその表示データに対応する表示態様とに基づいて前記波形表示手段に表示を行うように制御する制御ステップとを備えていることを特徴とする波形表示プログラム。
【請求項７】
前記表示態様設定ステップは、表示倍率として前記波形表示手段により表示される表示の最小単位に対応するサンプル数を設定する表示倍率設定ステップを有し、前記表示データ形成ステップは、前記表示倍率設定ステップにより設定される表示の最小単位に対応するサンプル数の振幅値のうち、表示データとして最大値と最小値とを求める最大最小表示データ形成ステップを有し、前記波形表示手段は、前記最大最小表示データ形成ステップにより形成された表示データに基づいて表示を行い、前記表示データ記憶ステップは、前記最大最小表示データ形成ステップにより求められた最大値および最小値と前記表示倍率設定ステップにより設定された表示倍率とを記憶し、
前記制御ステップは、前記表示倍率設定ステップにより新たに表示する波形の表示倍率が設定され、前記表示データ記憶ステップにより記憶された表示倍率が新たに設定された表示倍率より大きい場合に、前記表示データ記憶ステップにより記憶された表示データに基づいて、新たに設定された表示倍率に対応する表示データを形成するように前記波形データ形成ステップを制御するものであることを特徴とする請求項６記載の波形表示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、波形記憶手段に記憶された波形を読出すことにより楽音を形成する電子楽器および波形表示プログラムに関する。
【背景技術】
【０００２】
従来、楽音波形をメモリに記憶し、その楽音波形を読み出すことにより所望の楽音を形成する電子楽器が知られている。このような電子楽器では、録音した楽音の波形を確認したり、楽音波形を編集するために楽音波形を表示する表示器が備えられている。
【０００３】
特開２００２−１１６７５８号公報（特許文献１）には、ハードディスクに記憶された波形を編集し、編集した波形を表示器に表示することができる波形編集装置が開示されている。
【特許文献１】特開２００２−１１６７５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
楽音波形を読み出すことにより楽音を形成する電子楽器では、記憶されている波形を編集したり、楽音波形に関するパラメータ、例えば楽音波形のうち繰り返し読み出す区間のアドレスなどを設定することが行われる。このような場合に楽音波形全体のうち、表示する区間が指定されたり、その区間の楽音波形を拡大または縮小して表示することが要求される。
【０００５】
楽音波形を縮小して表示する場合には、波形を複数のブロックに分け、ブロック毎に振幅値の最大値と最小値を求め、この最大値と最小値に基づいて表示を行う。したがって、波形を表示するために、波形を記憶している波形メモリから振幅値を読出し、ブロック毎の最大値、最小値を求めるという処理が行われる。この処理には、時間がかかり表示が行われるまでに時間がかかるという問題点があった。
【０００６】
また、楽音を録音して波形メモリに記憶する場合や、波形メモリに記憶された波形を読出して楽音を再生する場合は、所定のサンプリング周波数に対応して読出し、書込みを行わなければならず専用の回路により処理している。このような場合に、波形を表示器に表示するには、その専用回路を介して波形を読出さなければならず、波形の表示に時間がかかるという問題点があった。
【０００７】
本発明は、上記問題点を解決するためになされたものであり、波形メモリに記憶された波形を速く表示することができる電子楽器および波形表示プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
この目的を達成するために、請求項１記載の電子楽器は、時間軸に対応して波形の振幅値を順次記憶する波形記憶手段と、その波形記憶手段に記憶されている波形の振幅値を読出すことにより楽音を生成する楽音生成手段と、前記波形記憶手段に記憶されている波形の振幅値に基づいて波形を表示する波形表示手段とを備えたものであって、前記波形記憶手段に記憶されている波形の表示態様を設定する表示態様設定手段と、その表示態様設定手段により設定された表示態様に応じて、前記波形記憶手段に記憶されている波形の振幅値を読み出して表示データを形成する表示データ形成手段と、その表示データ形成手段により形成された表示データとその表示データに対応する表示態様とを記憶する表示データ記憶手段と、前記表示態様設定手段により新たに表示する波形の表示態様が設定された場合に、前記表示データ記憶手段に記憶された表示データとその表示データに対応する表示態様とに基づいて、前記波形表示手段に表示を行うように制御する制御手段とを備えている。
【０００９】
請求項２記載の電子楽器は、請求項１記載の電子楽器において、前記表示態様設定手段は、前記記憶手段に記憶されている波形のうち、前記波形表示手段に表示される時間範囲を設定する表示範囲設定手段を有し、前記表示データ形成手段は、前記表示範囲設定手段により設定された時間範囲の波形の表示データを形成するものである。
【００１０】
請求項３記載の電子楽器は、請求項１または２記載の電子楽器において、前記表示態様設定手段は、表示倍率として前記波形表示手段により表示される表示の最小単位に対応するサンプル数を設定する表示倍率設定手段を有し、前記表示データ形成手段は、前記表示倍率設定手段により設定される表示の最小単位に対応するサンプル数の振幅値のうち、表示データとして最大値と最小値とを求める最大最小表示データ形成手段を有し、前記波形表示手段は前記最大最小表示データ形成手段により形成された表示データに基づいて表示を行い、前記表示データ記憶手段は、前記最大最小表示データ形成手段により求められた最大値および最小値を記憶するものである。
【００１１】
請求項４記載の電子楽器は、請求項３記載の電子楽器において、前記表示データ記憶手段は、前記表示倍率設定手段により設定された表示倍率と、その表示倍率に応じて前記表示データ形成手段により形成された表示データとを記憶し、前記制御手段は、前記表示倍率設定手段により新たに表示する波形の表示倍率が設定され、前記表示データ記憶手段に記憶された表示倍率が新たに設定された表示倍率より大きい場合に、前記表示データ記憶手段に記憶された表示データに基づいて、新たに設定された表示倍率に対応する表示データを形成するように前記波形データ形成手段を制御するものである。
【００１２】
請求項５記載の電子楽器は、請求項１から４のいずれかに記載の電子楽器において、前記波形記憶手段に対して波形の振幅値を書込むとともにその波形記憶手段に記憶された波形の振幅値を読出す波形読み書き専用回路を有し、前記表示データ形成手段は、前記波形読み書き専用回路を介して波形記憶手段に記憶されている波形の振幅値を読出し、表示データを形成するものである。
【００１３】
請求項６記載の波形表示プログラムは、時間軸に対応して波形の振幅値を順次記憶する波形記憶手段と、その波形記憶手段に記憶されている波形の振幅値に基づいて楽音を生成する楽音生成手段と、前記波形記憶手段に記憶されている波形の振幅値に基づいて波形を表示する波形表示手段とを備えた電子楽器において実行されるものであって、前記波形記憶手段に記憶されている波形の表示態様を設定する表示態様設定ステップと、その表示態様設定ステップにより設定された表示態様に応じて、前記波形記憶手段に記憶されている波形の振幅値を読み出して表示データを形成する表示データ形成ステップと、その表示データ形成ステップにより形成された表示データとその表示データに対応する表示態様とを記憶する表示データ記憶ステップと、前記表示態様設定ステップにより表示態様が設定された場合に、前記表示データ記憶ステップにより記憶された表示データとその表示データに対応する表示態様とに基づいて前記波形表示手段に表示を行うように制御する制御ステップとを備えている。
【００１４】
請求項７記載の波形表示プログラムは、請求項６記載の波形表示プログラムにおいて、前記表示態様設定ステップは、表示倍率として前記波形表示手段により表示される表示の最小単位に対応するサンプル数を設定する表示倍率設定ステップを有し、前記表示データ形成ステップは、前記表示倍率設定ステップにより設定される表示の最小単位に対応するサンプル数の振幅値のうち、表示データとして最大値と最小値とを求める最大最小表示データ形成ステップを有し、前記波形表示手段は、前記最大最小表示データ形成ステップにより形成された表示データに基づいて表示を行い、前記表示データ記憶ステップは、前記最大最小表示データ形成ステップにより求められた最大値および最小値と前記表示倍率設定ステップにより設定された表示倍率とを記憶し、前記制御ステップは、前記表示倍率設定ステップにより新たに表示する波形の表示倍率が設定され、前記表示データ記憶ステップにより記憶された表示倍率が新たに設定された表示倍率より大きい場合に、前記表示データ記憶ステップにより記憶された表示データに基づいて、新たに設定された表示倍率に対応する表示データを形成するように前記波形データ形成ステップを制御するものである。
【発明の効果】
【００１５】
請求項１または２記載の電子楽器によれば、波形記憶手段に記憶されている波形の表示態様を設定する表示態様設定手段と、その表示態様設定手段により設定された表示態様に応じて、波形記憶手段に記憶されている波形の振幅値を読み出して表示データを形成する表示データ形成手段と、その表示データ形成手段により形成された表示データとその表示データに対応する表示態様とを記憶する表示データ記憶手段と、表示態様設定手段により新たに表示する波形の表示態様が設定された場合に、表示データ記憶手段に記憶された表示データとその表示データに対応する表示態様とに基づいて、波形表示手段に表示を行うように制御する制御手段とを備えているので、表示態様が設定される度に、波形記憶手段に記憶されている波形の振幅値を読み出して波形を表示する表示データを形成するよりも高速に表示を行うことができるという効果がある。
【００１６】
請求項３記載の電子楽器によれば、請求項１または２記載の電子楽器の奏する効果に加え、表示態様設定手段は、表示倍率として波形表示手段により表示される表示の最小単位に対応するサンプル数を設定する表示倍率設定手段を有し、表示データ形成手段は、表示倍率設定手段により設定される表示の最小単位に対応するサンプル数の振幅値のうち、表示データとして最大値と最小値とを求める最大最小表示データ形成手段を有し、波形表示手段は最大最小表示データ形成手段により形成された表示データに基づいて表示を行い、表示データ記憶手段は、最大最小表示データ形成手段により求められた最大値および最小値を記憶するものであるので、波形記憶手段から複数の振幅値を読み出して表示データを形成する場合に比べ、高速に表示を行うことができるという効果がある。
【００１７】
請求項４記載の電子楽器によれば、請求項３記載の電子楽器の奏する効果に加え、表示データ記憶手段は、表示倍率設定手段により設定された表示倍率と、その表示倍率に応じて表示データ形成手段により形成された表示データとを記憶し、制御手段は、表示倍率設定手段により新たに表示する波形の表示倍率が設定され、表示データ記憶手段に記憶された表示倍率が新たに設定された表示倍率より大きい場合に、表示データ記憶手段に記憶された表示データに基づいて、新たに設定された表示倍率に対応する表示データを形成するように波形データ形成手段を制御するものであるので、新たに設定された表示倍率が、表示データ記憶手段に記憶された表示データに対応する表示倍率が小さい場合は、高速に表示データを形成することができる。よって、新たな表示倍率の波形を高速に表示することができるという効果がある。
【００１８】
請求項５記載の電子楽器によれば、請求項１から４のいずれかに記載の電子楽器の奏する効果に加え、波形記憶手段に対して波形の振幅値を書込むとともにその波形記憶手段に記憶された波形の振幅値を読出す波形読み書き専用回路を有し、表示データ形成手段は、波形読み書き専用回路を介して波形記憶手段に記憶されている波形の振幅値を読出し、表示データを形成するものであるので、波形を表示するに際して波形記憶手段から波形の振幅値を取得するのに時間を要する。よって、表示データ記憶手段に記憶された表示データに基づいて表示を行うと高速に表示を行うことができるという効果がある。
【００１９】
請求項６記載の波形表示プログラムによれば、波形記憶手段に記憶されている波形の表示態様を設定する表示態様設定ステップと、その表示態様設定ステップにより設定された表示態様に応じて、波形記憶手段に記憶されている波形の振幅値を読み出して表示データを形成する表示データ形成ステップと、その表示データ形成ステップにより形成された表示データとその表示データに対応する表示態様とを記憶する表示データ記憶ステップと、表示態様設定ステップにより表示態様が設定された場合に、表示データ記憶ステップにより記憶された表示データとその表示データに対応する表示態様とに基づいて波形表示手段に表示を行うように制御する制御ステップとを備えているので、表示態様が設定される度に、波形記憶手段に記憶されている波形の振幅値を読み出して波形を表示する表示データを形成するよりも高速に表示を行うことができるという効果がある。
【００２０】
請求項７記載の波形表示プログラムによれば、請求項６記載の波形表示プログラムの奏する効果に加え、表示態様設定ステップは、表示倍率として波形表示手段により表示される表示の最小単位に対応するサンプル数を設定する表示倍率設定ステップを有し、表示データ形成ステップは、表示倍率設定ステップにより設定される表示の最小単位に対応するサンプル数の振幅値のうち、表示データとして最大値と最小値とを求める最大最小表示データ形成ステップを有し、波形表示手段は、最大最小表示データ形成ステップにより形成された表示データに基づいて表示を行い、表示データ記憶ステップは、最大最小表示データ形成ステップにより求められた最大値および最小値と表示倍率設定ステップにより設定された表示倍率とを記憶し、制御ステップは、表示倍率設定ステップにより新たに表示する波形の表示倍率が設定され、表示データ記憶ステップにより記憶された表示倍率が新たに設定された表示倍率より大きい場合に、表示データ記憶ステップにより記憶された表示データに基づいて、新たに設定された表示倍率に対応する表示データを形成するように波形データ形成ステップを制御するものであるので、新たに設定された表示倍率が、表示データ記憶手段に記憶された表示データに対応する表示倍率が小さい場合は、高速に表示データを形成することができる。よって、新たな表示倍率の波形を高速に表示することができるという効果がある。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図１は、本発明の一実施形態である電子楽器１の電気的構成を示したブロック図である。
【００２２】
電子楽器１は、ＣＰＵ２と、ＲＯＭ３と、ＲＡＭ４と、操作子５と、表示器６と、鍵盤７と、制御チップ８と、Ａ／Ｄ変換器９と、Ｄ／Ａ変換器１０と、波形メモリ１１とにより構成されている。ＣＰＵ２と、ＲＯＭ３と、ＲＡＭ４と、操作子５と、表示器６と、鍵盤７と、制御チップ８とは、バスにより相互に接続され、制御チップ８には、Ａ／Ｄ変換器９と、Ｄ／Ａ変換器１０と、波形メモリ１１とが接続されている。操作子５と、表示器６とは、操作パネル１２に形成されている。
【００２３】
ＣＰＵ２は演算装置であり、ＲＯＭ３は、ＣＰＵ２により実行される各種の制御プログラムやその制御プログラムを実行する際に参照される固定値データが記憶されている。ＲＡＭ４は、ＣＰＵ２が、ＲＯＭ３に記憶されている制御プログラムの実行に当たって各種のデータ等を一時的に記憶するワーキングエリアと、表示器６に波形を表示した際に、表示データを記憶する表示データ記憶エリアとを有する書き換え可能なメモリである。
【００２４】
この表示データ記憶エリアは、いわゆるキャッシュメモリとして機能し、次に波形を表示する際に使用できる場合には使用され、このことにより、高速に波形を表示することができるものである。
【００２５】
操作子５は、各種スイッチなどにより構成され、ユーザにより操作される。これらが操作されることにより、電子楽器１が所望の動作を行い表示器６に所望の波形が表示される。表示器６は、ＬＣＤにより構成される表示器であって、波形やパラメータの値などが表示される。図２に、操作パネル１２に形成された操作子５と表示器６の詳細を示す。
【００２６】
鍵盤７は、複数の白鍵および黒鍵により構成される楽器用の鍵盤であって、発生される楽音の音高を指定するとともに、押鍵により発音の開始を指示し離鍵により発音の停止を指示するものである。また、押鍵または離鍵の速度が検出され、その速度により発生される楽音の音量などが制御される。
【００２７】
制御チップ８は、録音が指示されるとＡ／Ｄ変換器９により変換されたデジタル信号の振幅値を波形メモリ１１に順次記憶したり、再生が指示されると波形メモリ１１に記憶した波形の振幅値を順次読出す専用の半導体集積回路である。
【００２８】
波形メモリ１１は、ＣＰＵ２が接続されているバスには、接続されていないため、ＣＰＵ２は、直接波形メモリ１１から振幅値を読出すことができない。したがって、ＣＰＵ２は、この制御チップ８に波形の読出しを指示するコマンドを送り、制御チップ８が読出した波形の振幅値をＣＰＵ２が受け取ることになる。
【００２９】
波形メモリ１１は、フラッシュメモリまたはハードディスクなどにより形成され、書き換え可能であって電源が遮断されても記憶内容が消失されないメモリであり、波形の振幅値が順次が記憶される。
【００３０】
Ａ／Ｄ変換器９は、マイクロフォンやピックアップに入力された音声や楽音のアナログ電気信号をデジタル信号に変換するもので、所定のサンプリング周波数（例えば、４４．１ｋＨｚ）で、楽音の振幅値を所定のビット数（例えば１６ビット）に量子化する。
【００３１】
Ｄ／Ａ変換器１０は、デジタル信号をアナログ信号に変換するもので、変換されたアナログ信号は、フィルタによりノイズが除去されてスピーカ等から楽音として放音される。
【００３２】
次に、図２を参照して、操作子５と表示器６に表示される表示画面とについて説明する。図２は、電子楽器１の操作パネル１２を示すパネル図である。表示器６の表示画面は、上部に、波形を縮小して波形の先頭から波形の全波形を表示する全波形表示画面６ａと、その全波形表示画面６ａの下部に波形の一部を拡大して表示する拡大表示画面６ｃと、その拡大表示画面の下部に、表示に関するパラメータを表示する部分とにより構成されている。全波形表示画面６ａには、拡大表示画面６ｃに表示されている部分を示す拡大表示範囲６ｂが表示されている。拡大表示範囲６ｂは、操作子５により任意に設定することができる。全波形表示画面６ａおよび拡大表示画面６ｃに表示される波形は、いずれも横軸に時間を、縦軸に振幅を示すものである。  
表示に関するパラメータとしては、表示画面６に表示されている波形のサンプル波形ナンバ６ｄと、表示倍率６ｅとが表示されている。波形メモリ１１には、複数の波形が記憶され、それぞれの波形にはサンプル波形ナンバが付けられている。後述するサンプル選択スイッチ５ｈ，５ｉにより、いずれの波形を表示するかが選択される。
【００３３】
表示倍率６ｅは、拡大表示画面６ｃに表示される波形の表示倍率を示すもので、後述するズームスイッチ５ｃ、５ｄによりその値が設定される。
【００３４】
操作子５には、再生の開始を指示する再生スイッチ５ａと、録音の開始を指示する録音スイッチ５ｂと、拡大表示画面６ｃに表示される波形の時間軸の表示倍率を設定するズームスイッチ５ｃ，５ｄと、拡大表示画面６ｃに表示される波形を時間軸方向にスクロールさせるロータリエンコーダ５ｅと、同じく時間軸方向に大きく左方向へスクロールさせる左スイッチ５ｆおよび右方向へスクロールさせる右スイッチ５ｇと、表示画面に表示するサンプルを選択するサンプル選択スイッチ５ｈ，５ｉとが備えられている。
【００３５】
再生スイッチ５ａを押すと、表示画面に表示されているサンプルが、録音した状態で再生される。鍵盤７のいずれかの鍵を押下した場合には、その鍵に対応する音高に変更されて楽音が再生されるが、この再生スイッチ５ａが押された場合には、録音時の楽音が再生される。
【００３６】
録音スイッチ５ｂを押すと、Ａ／Ｄ変換器９により変換された波形データが波形メモリに記憶される。録音スイッチ５ｂを押すと同時に記憶を開始してもよいし、入力が検出されてから記憶を開始するようにしてもよい。録音を開始する前に、入力レベルの調整やサンプリング周波数の設定などを行うようにしたり、入力したサンプルにサンプル名を付けるようにしてもよい。
【００３７】
ズームスイッチ５ｃ、５ｄは、拡大表示画面６ｃに表示される波形の時間軸の表示倍率を設定するもので、左側のズームインスイッチ５ｃを１回押すと時間軸が２倍に表示され、右側のズームアウトスイッチ５ｄを１回押すと時間軸が１／２に縮小して表示される。
【００３８】
最も拡大して表示される場合は、表示画面の最小表示単位である１ドットに対して、波形の一つのサンプルの振幅値を表示する場合である。この最も拡大して表示された状態から、ズームアウトスイッチ５ｄを一回押すと、表示倍率は１／２に設定され、さらに一回ズームアウトスイッチ５ｄを押すと、１／４に設定される。
【００３９】
この表示倍率の、分母の値が、表示の最小単位である１ドットに対して波形データのいくつのサンプルを対応させて表示するかを示す値である。そして、１ドットに対して、このサンプル数の振幅値の中の最大値と、最小値とを表示データとし、表示画面においては、この最大値と最小値を直線で結んで表示している。（図４参照）
ロータリエンコーダ５ｅは、全波形のうち拡大表示画面６ｃに表示する波形の先頭アドレス（表示開始位置）を設定するものである。ロータリエンコーダ５ｅを、図において時計回りに回転すると、先頭アドレスは右方に移動し、反時計回りに回転すると、左方に移動する。この拡大表示画面６ｃに表示される波形の先頭アドレスは、表示倍率の分母により示されるサンプル数の整数倍のアドレス値をとる。すなわち、表示倍率が、１／３２であれば、先頭アドレスは、０，３２，６４，９６・・・というアドレスに設定される。
【００４０】
左スクロールスイッチ５ｆおよび右スクロールスイッチ５ｇは、拡大表示画面６ｃに表示されている波形の半分の時間分だけ一度に左方または右方にスクロールさせるもので、先頭アドレスは、いずれかのスイッチが１回押されると、画面の半分のドット数に、表示倍率の分母の数を乗じた数だけ変更される。例えば、表示倍率が１／３２であり、表示画面の時間軸のドット数が４００である場合に、左スクロールスイッチ５ｆが１回押された場合は、現在の先頭アドレスから３２×２００を差し引かれたアドレスが先頭アドレスとなる。
【００４１】
サンプル選択スイッチ５ｈ，５ｉは、波形メモリ１１に記憶されている複数の波形の中から、表示画面に表示される波形を選択するもので、各サンプルには、サンプル波形ナンバが付されており、サンプル選択スイッチ７ｈを押す毎に、サンプル波形ナンバが一づつ減少され、サンプル選択スイッチ７ｉを押す毎に、サンプル波形ナンバが一づつ増加され、サンプル波形ナンバに対応する波形が選択される。
【００４２】
次に、図３を参照して、ＲＡＭ４に記憶される表示データについて説明する。図３（ａ）は、表示データを示す模式図である。表示データは、ブロックに分けられて記憶され、一つのブロックは、ヘッダと、各ドットに対応する表示データと、リンク先アドレスとにより構成される。ヘッダは、波形のサンプル波形ナンバと、そのブロックのサンプル波形の先頭から数えたブロックの順番を表すブロック番号ＢＮと、表示倍率１／Ｎとを記憶する。一つのブロックには、５１２の表示データが記憶される。従って、一つのブロックは、５１２×Ｎの波形の振幅値の表示データを記憶することになる。ブロック番号０のブロックは、サンプル波形の先頭の振幅値から５１２×Ｎの振幅値の表示データを記憶し、ブロック番号１のブロックは、先頭から５１２×Ｎ＋１番目の振幅値から５１２×Ｎの振幅値の表示データを記憶する。同様に、ブロック番号ＢＮのブロックは、先頭から５１２×Ｎ×ＢＮ＋１番目の振幅値から５１２×Ｎの振幅値の表示データを記憶する。
【００４３】
表示される画面の各ドットに対応する表示データとしては、フラグと、最大値と、最小値とが記憶される。フラグは、電子楽器１の電源が投入されたとき、「０」に設定され、波形データに基づいて表示データが形成された場合に「１」に設定される。
【００４４】
最大値、最小値は、前述の通り、表示倍率が１より小さい場合に、表示倍率の分母により示される数Ｎのサンプル中の最大の振幅値および最小の振幅値が検出され、それぞれ記憶される。
【００４５】
リンク先アドレスは、そのブロックに連なるブロックの先頭アドレスを示している。例えば、図３（ｂ）に示すように、表示データがまだ記憶されていない空きブロックＡ，Ｂ，Ｃと、表示データが記憶された使用ブロックＤ，Ｅとがあるものとする。この場合には、ブロックＡのリンク先アドレスには、ブロックＢの先頭アドレスが記憶され、ブロックＢのリンク先アドレスには、ブロックＣの先頭アドレスが記憶され、ブロックＣのリンク先アドレスには、リンク先がないという符号が記憶され、ブロックＤのリンク先アドレスには、ブロックＥの先頭アドレスが記憶され、ブロックＥのリンク先アドレスには、リンク先がないという符号が記憶される。
【００４６】
レジスタＲ１には、空きブロックの先頭のブロックであるブロックＡの先頭アドレスが記憶され、レジスタＲ２には、使用ブロックの先頭ブロックであるブロックＤの先頭のアドレスが記憶される。
【００４７】
この状態で表示倍率、または表示開始位置が設定されると、まずレジスタＲ２を参照して、表示データがブロックＤに記憶されているか否かを調べ、記憶されていればその表示データが表示される。記憶されていない場合には、ブロックＤのリンク先アドレスを参照してブロックＥに表示データが記憶されているか否かが調べられる。
【００４８】
使用ブロックに表示データが記憶されていない場合は、レジスタＲ１を参照して、ブロックＡが新たな使用ブロックとされ、レジスタＲ１には、ブロックＢの先頭アドレスが記憶され、レジスタＲ２には、ブロックＡの先頭アドレスが記憶され、ブロックＡのリンク先アドレスには、ブロックＤの先頭アドレスが記憶される。
【００４９】
なお、新たに波形データを記憶する空きブロックが無くなった場合には、使用ブロックの最後尾のブロックを空きブロックとして新たな波形データを記憶する。
【００５０】
次に、図４を参照して、表示データについて説明する。図４（ａ）は、横軸を時間、縦軸を振幅値とし、波形をグラフ表示したもので、波形の各サンプルの振幅値は１６ビットで表されている。１６ビットにより表される１０進数の最大値は、６５，５３５であり、中心値は３２，７６７である。
【００５１】
波形データ（実線）に対して、所定の時間幅（表示の最小単位であるドットに対し、時間軸の表示倍率により決まるサンプルの数に対応する範囲）毎の振幅値の最大値と最小値がそれぞれ破線で示されている。時間軸の表示倍率が１ではない場合は、表示データは、振幅の最大値と最小値により形成され、図４（ｂ）に示すように、表示画面においては、時間軸の各ドットに対して最大値から最小値までを直線で結び表示される。
【００５２】
一方、図４（ｃ）は、時間軸の表示倍率が１の場合の、図４（ａ）に示される波形データ（実線）の振幅値に対応する位置にドット（この図では正方形により表示）により表示される様子を示している。
【００５３】
次に、図５および図６を参照して、電子楽器１のＣＰＵ２により実行される処理について説明する、図５は、メイン処理を示すフローチャートであり、電子楽器１の電源が投入されてから切断されるまで継続して実行されるものである。
【００５４】
まず、初期設定が行われる（Ｓ１）。この初期設定としては、ＲＡＭ４に表示データを記憶する空きブロックを形成し、空きブロックの各ドット毎のフラグを「０」に設定する。次に、録音スイッチ５ｂが操作されて録音が指示されたか否かを判断する（Ｓ２）。録音が指示されている場合は（Ｓ２：Ｙｅｓ）、制御チップ８に対して録音を開始するよう録音処理を行う（Ｓ３）。録音処理としては、録音の開始を指示するコマンドを制御チップに送る。制御チップ８は、録音を開始するコマンドを受信すると、Ａ／Ｄ変換器９により変換されたデジタル値を順次波形メモリ１１に記憶する。ＣＰＵ２は、録音スイッチ５ｂが、再度操作されると録音を停止するように指示するコマンドを制御チップ８に送る。制御チップ８は、録音を停止するコマンドを受信すると録音を停止する。
【００５５】
Ｓ２の処理で、録音が指示されていない場合（Ｓ２：Ｎｏ）、または、Ｓ３の録音処理を終了した場合は、次に再生が指示されたか否かを判断する（Ｓ４）。再生スイッチ７ａが操作された場合、または、鍵盤７のいずれかの鍵が押下されたことを検出した場合は（Ｓ４：Ｙｅｓ）、楽音を形成するように再生処理を行う（Ｓ５）。再生処理としては、再生スイッチ７ａが操作された場合は、録音した状態で再生するように指示し、鍵盤７のいずれかの鍵が押下された場合には、その鍵に対応する音高と押鍵速度からなる発音の開始指示コマンドを制御チップ８に送る。押下された鍵が、離されたことを検出した場合は、再生している楽音の停止を指示するコマンドを制御チップ８に送る。制御チップ８は、発音を開始するコマンドを受信すると、そのコマンドに応じて楽音を形成し、再生している楽音の停止を指示するコマンドを受信すると、楽音の形成を停止する。再生スイッチ７ａが操作された場合は、波形を一通り再生したとき停止する。
【００５６】
Ｓ４の処理で、再生が指示されていない場合（Ｓ４：Ｎｏ）、または、Ｓ５の再生処理を終了した場合は、次にサンプル選択スイッチ５ｈ、または、５ｉが操作されてサンプルが変更されたか否かを判断する（Ｓ６）。サンプルが変更された場合は（Ｓ６：Ｙｅｓ）変更されたサンプル波形ナンバに応じて、表示画面に表示されている波形を変更する（Ｓ７）。表示画面に表示されている波形を変更する場合には、選択されたサンプル波形ナンバに対応する波形の全時間長を波形表示器の時間軸に入るように表示倍率を定め、その表示倍率により、全波形が全波形表示画面６ａに表示される（Ｓ７）。
【００５７】
Ｓ６の処理で、サンプルが変更されていない場合（Ｓ６：Ｎｏ）、または、Ｓ７のサンプル変更処理の次に、ズームスイッチ５ｃまたは５ｄが操作されて表示倍率が変更されたかを判断する（Ｓ８）。表示倍率が変更されていない場合は（Ｓ８：Ｎｏ）、次に全波形のうち拡大表示画面６ｃに表示される波形の先頭位置である表示開始位置が変更されたかを判断する（Ｓ９）。表示倍率が変更された場合（Ｓ８：Ｙｅｓ）または表示開始位置が変更された場合は（Ｓ９：Ｙｅｓ）、変更された表示倍率または変更された表示開始位置に基づいて表示処理を行う（Ｓ１０）。
【００５８】
Ｓ９の処理で、表示開始位置が変更されていない場合（Ｓ９：Ｎｏ）、または、Ｓ１０の表示処理を終了した場合は、Ｓ２の処理へ戻る。
【００５９】
次ぎに、図６を参照して表示処理について説明する。図６は、表示処理を示すフローチャートである。なお、この実施形態では、表示画面の時間軸は、４００ドットで構成されているものとし、そのドットに対応する変数をｉ（０から３９９までの整数値をとる）とし、サンプル波形の先頭からのアドレスに対応する変数をＷＡとする。
【００６０】
まず、変数ｉを０、変数ＷＡを表示開始位置とする（Ｓ２１）。次ぎに変数ＷＡにより示される波形振幅値が属するブロック番号ＢＮを演算する。上述の通り、ＲＡＭ４には、５１２の表示データを記憶する複数のブロックが形成され、表示倍率の分母をＮとすると、一つのブロックには、５１２×Ｎの振幅値に対応する表示データが記憶されている。したがって、ブロック番号ＢＮは、ＷＡ／（５１２×Ｎ）の商（整数）である。
【００６１】
次ぎに、ＲＡＭ４に記憶されている使用ブロックを検索し、表示倍率が今回設定された表示倍率と等しくブロック番号がＢＮである使用ブロックがあるか否かを判断する（Ｓ２３）。この検索は、まず、レジスタＲ２に記憶されているアドレスから、使用ブロックの先頭のブロックのデータを読出し、ブロック番号ＢＮと表示倍率１／Ｎが一致するか否かを判断する。一致すれば、そのブロックを該当するブロックとし、一致しなければ、そのブロックに記憶されているリンク先アドレスに基づいてリンクしている他の使用ブロックについて調べるというようにして行われる。
【００６２】
該当する使用ブロックがある場合は（Ｓ２３：Ｙｅｓ）、Ｓ２８の処理へ進み、該当する使用ブロックがない場合は（Ｓ２３：Ｎｏ）、空きブロックがあるか否かを判断する（Ｓ２４）。空きブロックがない場合は（Ｓ２４：Ｎｏ）、使用ブロックの最後尾のブロックを空きブロックとして確保し、その確保したブロックの各ドットのフラグを０に書き換える（Ｓ２５）。空きブロックがある場合は（Ｓ２４：Ｙｅｓ）、空きブロックの先頭のブロックを確保し（Ｓ２６）、２番目の空きブロックを先頭の空きブロックとする。
【００６３】
確保したブロックのリンク先をレジスタＲ２に記憶されている先頭の使用ブロックのアドレスに変更するとともに、レジスタＲ２をその確保したブロックの先頭アドレスに変更し、確保したブロックを使用ブロックの先頭のブロックとする。
【００６４】
次に、使用ブロックの中に表示倍率が今回設定された表示倍率より大きい該当するブロックがあるか否かを判断する（Ｓ２７）。例えば、表示倍率が２倍の使用ブロックについては、ブロック番号ＢＮを２で割った商の値のブロック番号および商の値に１加算した値のブロック番号が記憶されている使用ブロックが該当ブロックである。
【００６５】
該当するブロックがある場合は（Ｓ２７：Ｙｅｓ）、該当するブロックに今回の表示倍率に対応する表示データを作成するための表示データが記憶されているか否かを判断する（Ｓ３０）。表示データが記憶されている場合は（Ｓ３０：Ｙｅｓ）、その表示データを読出して、今回設定されている表示倍率に応じた表示データを形成する（Ｓ３１）。
【００６６】
一方、Ｓ２３の処理において、該当する使用ブロックがあると判断した場合は（Ｓ２３：Ｙｅｓ）、そのブロックの対応するフラグを判定し、表示データが記憶されているか否かを判断する（Ｓ２８）。表示データが記憶されている場合は（Ｓ２８：Ｙｅｓ）、Ｓ３３の処理へ進む。
【００６７】
Ｓ２８の処理で、該当するブロックに表示データが記憶されていない場合（Ｓ２８：Ｎｏ）、または、Ｓ２７の処理で、表示倍率が大きい該当ブロックがない場合（Ｓ２７：Ｎｏ）、または、Ｓ３０の処理で、表示倍率が大きい該当ブロックはあるが、そのブロックには対応する表示データが記憶されていない場合（Ｓ３０：Ｎｏ）は、波形メモリ１１から波形を読出して表示データを作成する。この場合は、表示データは、制御チップ８を介して波形のアドレスＷＡからＮ個のサンプルの振幅値を取得し、Ｎ個のサンプルの振幅値の最大値と最小値として作成される。Ｎが「１」の場合には、最大値と最小値は、等しい値とする（Ｓ２９）。
【００６８】
Ｓ２９の処理またはＳ３１の処理により作成された最大値と最小値とを、確保したブロックのドットに対応する記憶位置に書込み、フラグを「１」に設定する（Ｓ３２）。
【００６９】
Ｓ３２の処理、または、Ｓ２８の処理において、該当ブロックに表示データが記憶されている場合（Ｓ２８：Ｙｅｓ）は、表示データに基づいて表示器６に表示を行う（Ｓ３３）。次に変数ｉが、表示器６に表示される時間軸の最終のドットである３９９に達しているか否かを判断する（Ｓ３４）。変数ｉが、３９９に達している場合は（Ｓ３４：Ｙｅｓ）、この表示処理を終了してメイン処理へ戻る。変数ｉが、３９９に達していない場合は（Ｓ３４：Ｎｏ）、変数ｉを１、波形のアドレスＷＡをＮ、それぞれ進め（Ｓ３５）Ｓ２２の処理に戻る。
【００７０】
以上説明したように、本実施形態の電子楽器１によれば、ユーザが任意に波形の表示開始位置と時間軸の表示倍率を指定すると、その指定に応じた表示データを形成し、拡大表示画面６ｃに波形が表示される。この表示データは、ＲＡＭ４に記憶され、次に表示開始位置または表示倍率が設定された際にはＲＡＭ４に記憶された表示データが検索される。
【００７１】
ＲＡＭ４に表示データが存在する場合には、その表示データが表示器６に送られ、存在しない場合は、波形メモリ１１から波形の振幅値が読出されて表示データが形成され、表示器６に送られる。
【００７２】
したがって、表示データをその都度波形メモリから振幅値を読出して形成する場合に比べ速く形成することができる。特に、拡大表示画面６ｃに表示される表示データが、表示の１ドットに対して複数の振幅値により形成される場合には、一度形成した表示データをＲＡＭ４に記憶し、そのＲＡＭ４に記憶した表示データに基づいて表示を行うことにより高速に表示することができる。
【００７３】
また、特に波形メモリ１１に記憶した波形の振幅値を制御チップ８を介して読出す場合には、波形の振幅値を読出すために時間を要する。したがって、一度形成した表示データをＲＡＭ４に記憶し、そのＲＡＭ４に記憶した表示データに基づいて表示を行うことにより高速に表示することができる。
【００７４】
なお、請求項１記載の表示データ形成手段および請求項５記載の表示データ形成ステップは、図６に示すフローチャートのＳ２９およびＳ３１の処理が該当する。また、請求項２記載の表示範囲設定手段は、ロータリエンコーダ５ｅまたはスクロールスイッチ５ｆ，５ｇとズームスイッチに５ｃ，５ｄとが該当し、表示範囲は、ロータリエンコーダ５ｅまたはスクロールスイッチ５ｆ，５ｇにより設定される表示開始位置と、ズームスイッチ５ｃまたは５ｄにより設定される表示倍率とにより設定される。
【００７５】
また、請求項３記載の最大最小表示データ形成手段および請求項７記載の最大最小表示データ形成ステップは、図６に示すフローチャートのＳ２９およびＳ３１の処理が該当する。また、請求項６記載の表示態様設定ステップは、図５に示すフローチャートのＳ８およびＳ９の処理が該当し、表示データ記憶ステップは、図６に示すフローチャートのＳ３２に該当し、制御ステップは、図６に示すフロ−チャートのＳ３３の処理が該当する。
【００７６】
以上、実施形態に基づき本発明を説明したが、本発明は上記実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【００７７】
例えば、上記実施形態では、鍵盤７等を有する電子楽器１に本発明が適用されるものとしたが、パーソナルコンピュータにおいて、プログラムにより波形の振幅値をハードディスクに書込み、または、そのハードディスクに記憶した波形の振幅値を読出して楽音を形成するとともに、波形を表示器に表示する場合に、本発明を適用してもよい。
【００７８】
また、上記実施形態では、波形メモリ１１には、波形の振幅値が記憶されるものとしたが、ＡＤＰＣＭや、その他の音声信号を圧縮する方法により波形データをエンコードして記憶し、読出す際にデコードして発音および表示を行うようにしてもよい。この場合には、波形メモリ１１に記憶されている波形データをデコードするのに時間を要するため、ＲＡＭ４に表示データを記憶しておくと、より速く表示を行うことができる。
【００７９】
また、上記実施形態では、表示の最小単位である時間軸のドットに対応するサンプル数が複数である場合に、複数のサンプルの振幅値の最大値と最小値とを表示データとし、表示器６において、この最大値と最小値を直線で結ぶことにより波形を表示しているが、最大値または最小値のいずれかを表示データとし、最大値または最小値により示される値をドットで表示するようにしてもよい。最大値と最小値のいずれかを選択する方法としては、波形の中心値（３２，７６７）を０とし、最大値と最小値との絶対値が大きい方を表示データとするという方法がある。
【図面の簡単な説明】
【００８０】
【図１】本発明の実施形態における電子楽器の電気的な構成を示すブロック図である。
【図２】電子楽器の操作パネルを示すパネル図である。
【図３】ＲＡＭに記憶される表示データを模式的に示す模式図である。
【図４】波形の表示方法を表す図であり、（ａ）は、波形を表示したものであり、（ｂ）は、時間軸の各ドットに対して最大値から最小値までを直線で結んで表示する様子を示す図であり、（ｃ）は、時間軸の各ドットに対して振幅値を表示する様子を示す図である。
【図５】ＣＰＵにより実行されるメイン処理を示すフローチャートである。
【図６】ＣＰＵにより実行される表示処理を示すフローチャートである。
【符号の説明】
【００８１】
１                  電子楽器
２                  ＣＰＵ（制御手段の一部）
４                  ＲＡＭ（表示データ記憶手段）
５                  操作子
５ｃ，５ｄ          ズームスイッチ（表示態様設定手段の一部）
５ｅ                ロータリエンコーダ（表示態様設定手段の一部）
５ｆ，５ｇ          スクロールスイッチ（表示態様設定手段の一部）
６                  表示器（波形表示手段）
７                  鍵盤
８                  制御チップ（楽音生成手段または波形読み書き専用回路）
１１                波形メモリ（波形記憶手段）
【図１】
2006145710.tif 000003
【図２】
2006145710.tif 000004
【図３】
2006145710.tif 000005
【図４】
2006145710.tif 000006
【図５】
2006145710.tif 000007
【図６】
2006145710.tif 000008