特許第6388048号(P6388048)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ カシオ計算機株式会社の特許一覧

特許6388048楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
<>
  • 特許6388048-楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 図000002
  • 特許6388048-楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 図000003
  • 特許6388048-楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 図000004
  • 特許6388048-楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 図000005
  • 特許6388048-楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 図000006
  • 特許6388048-楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 図000007
  • 特許6388048-楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 図000008
  • 特許6388048-楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 図000009
  • 特許6388048-楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 図000010
  • 特許6388048-楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 図000011
  • 特許6388048-楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 図000012
  • 特許6388048-楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 図000013
  • 特許6388048-楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 図000014
  • 特許6388048-楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 図000015
  • 特許6388048-楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 図000016
  • 特許6388048-楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 図000017
  • 特許6388048-楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 図000018
  • 特許6388048-楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 図000019
  • 特許6388048-楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 図000020
  • 特許6388048-楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 図000021
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6388048
(24)【登録日】2018年8月24日
(45)【発行日】2018年9月12日
(54)【発明の名称】楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
(51)【国際特許分類】
   G10H 7/02 20060101AFI20180903BHJP
【FI】
   G10H7/02
【請求項の数】9
【全頁数】29
(21)【出願番号】特願2017-58041(P2017-58041)
(22)【出願日】2017年3月23日
【審査請求日】2017年10月12日
(73)【特許権者】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】100096699
【弁理士】
【氏名又は名称】鹿嶋 英實
(72)【発明者】
【氏名】佐藤 博毅
(72)【発明者】
【氏名】川島 肇
【審査官】 間宮 嘉誉
(56)【参考文献】
【文献】 特開2007−47293(JP,A)
【文献】 特開平6−308964(JP,A)
【文献】 特開昭60−29794(JP,A)
【文献】 特開2004−177981(JP,A)
【文献】 特開2017−54076(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10H 1/00−7/12
(57)【特許請求の範囲】
【請求項1】
第1の読み出し速度を有するとともに第1の記憶容量を有し、複数の波形データを記憶している第1の記憶手段と、
前記第1の読み出し速度よりも速い第2の読み出し速度を有するとともに前記第1の記憶容量よりも小さい第2の記憶容量を有し、前記第1の記憶手段から読み込まれた波形データを、発音制御手段により発音させるために読み出しが可能な状態で記憶する第2の記憶手段と、
発音が指示されたときに前記発音に関連して指定された波形データが前記第2の記憶手段に記憶されている場合は、前記指示された発音に用いる前記波形データを、前記第1の記憶手段から前記第2の記憶手段に転送することなく、前記第2の記憶手段に記憶されている前記波形データを前記発音制御手段により読み込ませ、前記発音が指示されたときに前記指定された波形データが前記第2の記憶手段に記憶されていない場合は、前記指定された波形データを前記第1の記憶手段から前記第2の記憶手段へと転送した後、前記第2の記憶手段に転送して記憶された前記波形データを前記発音制御手段により読み込ませる制御手段と、を備え、
前記制御手段は、前記複数の波形データのうち、所定のしきい値を超過するデータサイズを有する前記波形データを、変更がなされることのない状態で前記第2の記憶手段に記憶させておく、
ことを特徴とする楽音生成装置。
【請求項2】
前記制御手段は、前記複数の波形データのうち、前記所定のしきい値を超過するデータサイズを有する前記波形データ、予め前記第1の記憶手段から前記第2の記憶手段へ転送するとともに、変更がなされることのない状態で前記第2の記憶手段に記憶させておく、
ことを特徴とする請求項1に記載の楽音生成装置。
【請求項3】
前記所定のしきい値は、演奏時に生じる前記発音までの遅延時間が一定の時間以下になる前記波形データのデータサイズに基づいて設定されることを特徴とする請求項1または2に記載の楽音生成装置。
【請求項4】
前記発音制御手段は、複数存在し、
前記制御手段は、
前記第2の記憶手段を複数の領域に分割し、各々の前記領域を、前記複数の発音制御手段の各々が前記波形データを読み出す領域として割り当て、
前記複数の発音制御手段の中から、前記指定された波形データを読み出して発音させるべき第1の発音制御手段を特定し、
前記第1の発音制御手段に割り当てられた前記第2の記憶手段の第1領域に、前記指定された波形データが記憶されていない場合であって、前記指定された波形データが前記第2の記憶手段の他の第2領域に記憶されている場合には、前記第2領域に記憶されている前記波形データを前記第1領域に転送した後、読み出して発音させることを特徴とする請求項1乃至3のいずれかに記載の楽音生成装置。
【請求項5】
前記発音制御手段は、複数存在し、
前記制御手段は、
前記第2の記憶手段を複数の領域に分割し、各々の前記領域を、前記複数の発音制御手段の各々が前記波形データを読み出す領域として割り当て、
前記複数の発音制御手段の中から、前記指定された波形データを読み出して発音させるべき第1の発音制御手段を特定し、
前記第1の発音制御手段に割り当てられた前記第2の記憶手段の第1領域に、前記指定された波形データが記憶されていない場合であって、前記指定された波形データが前記第1の発音制御手段とは異なる第2の発音制御手段に割り当てられた前記第2の記憶手段の他の第2領域に記憶されている場合には、前記第1の発音制御手段により前記第2領域に記憶されている前記波形データを直接読み出して発音させることを特徴とする請求項1乃至3のいずれかに記載の楽音生成装置。
【請求項6】
前記第2の記憶手段は、前記発音を伴う演奏の開始に先立って、前記所定のしきい値を超過するデータサイズを有する波形データを固定的に記憶しておく第1の記憶領域と、演奏中に指定されて、前記第1の記憶手段から転送された前記波形データを可変的に記憶しておく第2の記憶領域と、を有することを特徴とする請求項1乃至3のいずれかに記載の楽音生成装置。
【請求項7】
第1の読み出し速度を有するとともに第1の記憶容量を有し、複数の波形データを記憶している第1の記憶手段から波形データを読み込み、
前記第1の記憶手段から読み込まれた波形データを、前記第1の読み出し速度よりも速い第2の読み出し速度を有するとともに前記第1の記憶容量よりも小さい第2の記憶容量を有する第2の記憶手段に記憶させ、
発音が指示されたときに前記発音に関連して指定された波形データが前記第2の記憶手段に記憶されている場合は、前記指示された発音に用いる前記波形データを、前記第1の記憶手段から前記第2の記憶手段に転送することなく、前記第2の記憶手段に記憶されている前記波形データを、発音のために発音制御手段により読み込ませ、
前記発音が指示されたときに前記指定された波形データが前記第2の記憶手段に記憶されていない場合は、前記指定された波形データを前記第1の記憶手段から前記第2の記憶手段へと転送した後、前記第2の記憶手段に転送して記憶された前記波形データを、発音のために発音制御手段により読み込ませ、
前記複数の波形データのうち、所定のしきい値を超過するデータサイズを有する前記波形データを、変更がなされることのない状態で前記第2の記憶手段に記憶させておく、
ことを特徴とする楽音生成方法。
【請求項8】
コンピュータを、請求項1乃至6のいずれかに記載の楽音生成装置として機能させるための、あるいは、コンピュータに、請求項7に記載の楽音生成方法を実行させるための楽音生成プログラム。
【請求項9】
請求項1乃至6のいずれかに記載の楽音生成装置と、
前記発音を伴う演奏により前記波形データを指定するための入力手段と、
前記発音された楽音を出力するための出力手段と、
を備えることを特徴とする電子楽器。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器に関する。
【背景技術】
【0002】
近年の電子楽器やパーソナルコンピュータにおいては、管楽器や弦楽器等の原音の特徴により近い楽音を再現するために、多種多様な音源データ(波形データ)を利用した楽音生成方法が採用されている。例えば、電子楽器やパーソナルコンピュータ上で稼働するソフトウェア音源において、フラッシュメモリやハードディスク等の、アクセス速度が遅く記憶容量が大きい(低速大容量の)記憶装置に音源となる全ての波形データを保存しておき、この低速大容量の記憶装置から発音に使用する波形データのみをアクセス速度が速く記憶容量が小さい(高速低容量の)記憶装置に転送し、演奏に応じて波形データを読み出して発音させるというシステムを採用するものがある。
【0003】
ここで、一般に高速低容量の記憶装置は製品価格が高価であり、低速大容量の記憶装置は安価であるため、高速低容量の記憶装置の記憶容量以上のデータサイズを有する波形データを低速大容量の記憶装置に保持しておき、必要な場合にのみ高速低容量の記憶装置に移動して発音に使用することにより、良好な波形データの読み出し動作と、製品コストの抑制との両方を実現することができる。このようなシステムを採用した音源装置については、例えば特許文献1等に、読み出した波形データを合成することにより所望の音色の楽音を発音させることが記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平11−7281号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の特許文献1等に記載された技術においては、低速大容量の記憶装置から高速低容量の記憶装置への波形データの移動には時間がかかるという問題を有している。特に、近年の楽音生成方法においては演奏した鍵域や強さに応じて音色を切り替える手法を採用しているため、よりデータサイズの大きな波形データを必要とする音色や、複数の波形データの組み合わせによって構成される音色の場合には、その処理のためにデータサイズの読み込みにさらに時間を要していた。そのため、波形データを読み込むまでは、その波形データに基づく楽音を発音させることができないため、演奏に支障を来す場合があった。
【0006】
そこで、本発明は、上述したような課題に鑑みて、複数の波形データを用いた楽音の生成処理に要する時間をより効果的に短縮して、良好な演奏を実現することができる楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係る楽音生成装置は、
第1の読み出し速度を有するとともに第1の記憶容量を有し、複数の波形データを記憶している第1の記憶手段と、
前記第1の読み出し速度よりも速い第2の読み出し速度を有するとともに前記第1の記憶容量よりも小さい第2の記憶容量を有し、前記第1の記憶手段から読み込まれた波形データを、発音制御手段により発音させるために読み出しが可能な状態で記憶する第2の記憶手段と、
発音が指示されたときに前記発音に関連して指定された波形データが前記第2の記憶手段に記憶されている場合は、前記指示された発音に用いる前記波形データを、前記第1の記憶手段から前記第2の記憶手段に転送することなく、前記第2の記憶手段に記憶されている前記波形データを前記発音制御手段により読み込ませ、前記発音が指示されたときに前記指定された波形データが前記第2の記憶手段に記憶されていない場合は、前記指定された波形データを前記第1の記憶手段から前記第2の記憶手段へと転送した後、前記第2の記憶手段に転送して記憶された前記波形データを前記発音制御手段により読み込ませる制御手段と、を備え、
前記制御手段は、前記複数の波形データのうち、所定のしきい値を超過するデータサイズを有する前記波形データを、変更がなされることのない状態で前記第2の記憶手段に記憶させておく、
ことを特徴とする。
【発明の効果】
【0008】
本発明によれば、複数の波形データを用いた楽音の生成処理に要する時間をより効果的に短縮して、良好な演奏を実現することができる。
【図面の簡単な説明】
【0009】
図1】本発明に係る楽音生成装置を適用した電子楽器の一実施形態を示す外観図である。
図2】本実施形態に係る電子鍵盤楽器のハードウェアの構成例を示すブロック図である。
図3】本実施形態に適用される音源LSIの内部構造の例を示すブロック図である。
図4】本実施形態に適用される波形データの管理手法を説明する図である。
図5】本実施形態に適用されるRAM及び大容量フラッシュメモリ上の情報とその転送処理の概要を説明する図である。
図6】本実施形態に適用されるRAMのスタティック波形領域及びダイナミック波形領域を説明する図である。
図7】本実施形態に係る電子鍵盤楽器の制御方法のメインルーチンを示すフローチャートである。
図8】本実施形態に係る電子鍵盤楽器の制御方法に適用される初期化処理を示すフローチャートである。
図9】本実施形態に係る電子鍵盤楽器の制御方法の初期化処理に適用されるスタティック波形領域読み出し処理を示すフローチャートである。
図10】本実施形態に係る電子鍵盤楽器の制御方法の初期化処理に適用される波形読み出し装置バッファ初期化処理を示すフローチャートである。
図11】本実施形態に係る電子鍵盤楽器の制御方法のスイッチ処理に適用される音色選択処理を示すフローチャートである。
図12】本実施形態に係る電子鍵盤楽器の制御方法の鍵盤処理に適用される押鍵処理及び離鍵処理を示すフローチャートである。
図13】本実施形態に係る電子鍵盤楽器の制御方法の鍵盤処理に適用されるノートオン処理及びノートオフ処理を示すフローチャートである。
図14】本実施形態に係る電子鍵盤楽器の制御方法のノートオン処理に適用される波形情報取得処理を示すフローチャートである。
図15】本実施形態に係る電子鍵盤楽器の制御方法のノートオン処理に適用される波形読み出し装置の波形読み出し開始処理を示すフローチャートである。
図16】本実施形態に係る電子鍵盤楽器の制御方法のノートオン処理に適用されるスタティック波形の読み出し開始処理を示すフローチャートである。
図17】本実施形態に係る電子鍵盤楽器の制御方法のノートオン処理に適用される波形読み出し装置の割り当て処理を示すフローチャートである。
図18】本実施形態に係る電子鍵盤楽器の制御方法のノートオン処理に適用される波形読み出し装置バッファの割り当て処理を示すフローチャートである。
図19】本実施形態に係る電子鍵盤楽器の制御方法に適用される音源定期処理を示すフローチャートである。
図20】本実施形態の変形例に係る電子鍵盤楽器の制御方法のノートオン処理に適用される波形読み出し装置バッファの割り当て処理を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明に係る楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器を実施するための形態について、図面を参照しながら詳しく説明する。
【0011】
<電子楽器>
図1は、本発明に係る楽音生成装置を適用した電子楽器の一実施形態を示す外観図である。ここでは、本発明に係る電子楽器の一実施形態として、波形読み出し方式の電子鍵盤楽器を示して説明する。
【0012】
本実施形態に係る電子鍵盤楽器100は、例えば図1に示すように、楽器本体の一面側に、演奏操作子としての複数の鍵からなる鍵盤102と、波形選択操作子としての音色選択を行うための音色選択ボタン104、及び、音色以外の各種機能選択を行うための機能選択ボタン106からなるスイッチ・パネルと、ピッチベンドやトレモロ、ビブラート等の各種モジュレーション(演奏効果)を付加するためのベンダ/モジュレーション・ホイール108と、音色やその他の各種設定情報を表示するLCD(Liquid Crystal Display:液晶ディスプレイ)110等の表示部と、を備えている。また、電子鍵盤楽器100は、図示を省略したが、演奏により生成された楽音を出力するスピーカを、例えば楽器本体の裏面部、側面部、又は背面部等に備えている。
【0013】
このような電子鍵盤楽器100において、音色選択ボタン104は、例えば図1に示すように、ピアノ(図中「Piano」)、エレクトリックピアノ(図中「E.Piano」)、オルガン(図中「Organ」)、ギター(図中「Guitar」)、サクソフォン(図中「Saxophone」)、ストリング(図中「Strings」)、シンセ(図中「Synth1」、「Synth2」)、ドラム(図中「Drums1」、「Drums2」)等の各種の音色のカテゴリを選択するための波形選択操作子としてのボタンである。ここで、図1においては16種類の音色のカテゴリを示した。電子鍵盤楽器100の演奏者(ユーザ)は、任意の音色選択ボタン104を押下することにより、上記の16種類の音色の中から任意の音色のカテゴリを選択して演奏することができる。
【0014】
図2は、本実施形態に係る電子鍵盤楽器のハードウェアの構成例を示すブロック図である。図3は、本実施形態に適用される音源LSIの内部構造の例を示すブロック図である。
【0015】
電子鍵盤楽器100は、例えば図2に示すように、CPU(中央演算処理装置)202と、音源LSI(大規模集積回路)204と、DMA(Direct Memory Access)コントローラ214と、I/O(入出力)コントローラ216とが、それぞれシステムバス226に直接接続された構成を備えている。また、電子鍵盤楽器100は、アクセス速度が高速(第2の読み出し速度)で低容量(第2の記憶容量)のRAM(ランダムアクセスメモリ)208がメモリコントローラ206を介して、また、アクセス速度が低速(第1の読み出し速度)で大容量(第1の記憶容量)のフラッシュ(Flash)メモリ212がフラッシュメモリコントローラ210を介して、それぞれシステムバス226に接続された構成を備えている。また、電子鍵盤楽器100は、図1に示したLCD110がLCDコントローラ218を介して、また、図1に示した鍵盤102と、音色選択ボタン104及び機能選択ボタン106からなるスイッチ・パネルとがキー・スキャナ220を介して、さらに、図1に示したベンダ/モジュレーション・ホイール108がA/Dコンバータ(アナログ・デジタル変換回路)222を介して、それぞれI/Oコントローラ216に接続され、これらの構成がI/Oコントローラ216を介してシステムバス226に接続された構成を備えている。また、システムバス226はバスコントローラ224に接続され、システムバス226を介して上記の各構成間で送受信される信号やデータがバスコントローラ224により制御される。また、音源LSI204には、D/Aコンバータ(デジタル・アナログ変換回路)228及びアンプ230が接続され、音源LSI204から出力されるデジタル楽音波形データがD/Aコンバータ228によりアナログ楽音波形信号に変換され、さらにアンプ230で増幅された後に、出力端子又は図示を省略したスピーカから出力される。ここで、少なくともCPU202、音源LSI204、RAM208、大容量のフラッシュメモリ212は、本発明に係る楽音生成装置を構成する。
【0016】
このように、電子鍵盤楽器100は、機器全体がバスコントローラ224によって制御されるシステムバス226を中心に構成されている。具体的には、バスコントローラ224はシステムバス226に接続された上記の各構成における信号やデータの送受信時の優先順位を制御する。例えば、電子鍵盤楽器100において、RAM208は、CPU202と音源LSI204によって共有された構成を有しているが、発音を行う音源LSI204は、データの欠落が許されないため、バスコントローラ224により、音源LSI204とRAM208との送受信時の優先度が最も高く設定されており、必要に応じてCPU202によるRAM208へのアクセスが制限される。
【0017】
上記のような構成において、CPU202は、機器全体の処理を行うメインプロセッサであって、RAM208をワーク領域として使用しながら所定の制御プログラムを実行することにより、電子鍵盤楽器100の制御動作を実行する。
【0018】
RAM208は、後述する大容量フラッシュメモリ212に比較して、アクセス速度が高速で低容量のメモリデバイスであり、インターフェースであるメモリコントローラ206を介してシステムバス226に接続される。RAM208は、大容量フラッシュメモリ212から転送された波形データや制御プログラム、各種の固定データ等を配置する。特に、RAM208は、後述する音源LSI204において実行される楽音の生成処理に使用される波形データを展開する音源メモリ(又は、波形メモリ)としての機能を有し、発音される楽音の波形データは必ず、RAM208上に配置される。また、RAM208は、CPU202や音源LSI204に内蔵されるDSP(デジタル信号処理回路)306のワーク領域としても使用される。ここで、RAM208の記憶容量は、大容量フラッシュメモリ212に比較して小さいため、RAM208の記憶内容が逐次入れ替えられるが、所定の条件を満たす(後述するしきい値を超過するデータサイズを有する)波形データについては、演奏中に波形データの転送による変更がなされることのない状態で固定的に記憶される。本実施形態は、後述するように、RAM208の記憶内容のうち、波形データの入れ替えに関する管理方法に特徴を有している。
【0019】
大容量フラッシュメモリ212は、NAND型等のアクセス速度が低速で大容量で安価なメモリデバイスであり、インターフェースであるフラッシュメモリコントローラ210を介してシステムバス226に接続される。大容量フラッシュメモリ212は、音源LSI204において実行される楽音の生成処理に使用される(又は、使用される可能性のある)全ての音色の波形データや、全ての音色のパラメータデータ、CPU202や音源LSI204のDSP306において実行される制御プログラムのプログラムデータ、音楽データや演奏者の設定データ等の各種の固定データを記憶している。ここで、大容量フラッシュメモリ212に記憶された全ての波形データは、圧縮されており、例えば1語長が8ビットに設定されている。大容量フラッシュメモリ212に記憶された波形データ等は、CPU202がシーケンシャルに順次アクセスすることにより読み出されてRAM208に転送される。
【0020】
なお、本実施形態においては、大容量で安価なメモリデバイスとして、NAND型のフラッシュメモリ(実際には、フラッシュメモリを集積して構成されたSSD;Solid State Drive)を適用した構成を示したが、本発明はこれに限定されるものではない。例えば、大容量で安価なメモリデバイスとして、ハードディスク(HDD)を適用するものであってもよい。ここで、フラッシュメモリやハードディスクは、電子鍵盤楽器100に対して着脱可能(すなわち、差し替え可能)な構成を有しているものであってもよい。また、データの高速転送が可能である場合には、大容量で安価なメモリデバイスとして、特定のネットワーク上やインターネット上(すなわち、クラウド上)のハードディスクを適用するものであってもよい。
【0021】
LCDコントローラ218は、LCD110の表示状態を制御するIC(集積回路)である。キー・スキャナ220は、鍵盤102や音色選択ボタン104及び機能選択ボタン106等のスイッチ・パネルの状態を走査して、CPU202に通知するICである。A/Dコンバータ222は、ベンダ/モジュレーション・ホイール108の操作位置を検出するICである。これらのLCDコントローラ218やキー・スキャナ220、A/Dコンバータ222は、インターフェースであるI/Oコントローラ216を介してシステムバス226との間でデータや信号の入出力を行う。
【0022】
音源LSI204は、後述する楽音生成処理を実行する専用のICである。上記の大容量フラッシュメモリ212は、CPU202からはランダムアクセスが不可能であり、音源LSI204からもアクセスが不可能であるため、大容量フラッシュメモリ212に記憶されたデータ等は、ランダムアクセスが可能なRAM208に一旦転送される。音源LSI204は、CPU202からの命令に基づいて、RAM208に転送された波形データについて、対象となる音色の記憶領域から、演奏で指定された鍵の音高に対応する速度で波形データを読み出し、その読み出した波形データに対して演奏で指定されたベロシティの振幅エンベロープを付加し、その結果として得られる波形データを出力楽音波形データとして出力する。
【0023】
音源LSI204は、例えば図3に示すように、256組の波形読み出し装置304を有する波形発生器302と、DSP306と、ミキサ308と、バスインターフェース310と、を備え、波形発生器302、DSP306及びミキサ308は、バスインターフェース310を介してシステムバス226に接続されて、RAM208へのアクセスや、CPU202との通信が行われる。波形発生器302の各波形読み出し装置304は、RAM208から波形データを読み出して音色の波形を発生させる発振器であり、DSP306は、音声信号に音響効果をもたらす信号処理回路である。ミキサ308は、波形発生器302からの信号を混合したり、DSP306との間で信号を送受信したりすることにより全体の音声信号の流れを制御して、外部に出力する。すなわち、ミキサ308は、演奏に応じて波形発生器302の各波形読み出し装置304によりRAM208から読み出された波形データに対して、DSP306によりCPU202から供給される楽音パラメータに応じたエンベロープを付加して、出力楽音波形データとして出力する。ミキサ308の出力信号は、図2に示したように、D/Aコンバータ228及びアンプ230を介して所定の信号レベルのアナログ信号として、図示を省略したスピーカやヘッドホン等に出力される。
【0024】
(波形データの管理手法)
ここで、上述したRAM及び大容量フラッシュメモリに格納される波形データについて詳しく説明する。
図4は、本実施形態に適用される波形データの管理手法を説明する図である。図4(a)は、音色波形スプリットの説明図であり、図4(b)は、音色波形ディレクトリの説明図である。
【0025】
本実施形態においては、演奏者が電子鍵盤楽器100に備えられた音色選択ボタン104を押下することにより、16種類のうちの任意の音色が選択されて演奏が行われる。これにより、鍵域やベロシティによって音量や音高のみならず音色が変化するのを再現するために、大容量フラッシュメモリ212からRAM208に、音高又は音量ごとの音色の波形データが読み込まれる。ここで、各音色は、それぞれ1音色当たり例えば最大32種類の波形から構成され、その波形データは大容量フラッシュメモリ212に記憶されている。一つの音色に対して、音高又は音量ごとに波形データを管理する手法としては、図4(a)に示すように、鍵盤102上で演奏者が演奏する鍵域(図中、横軸の「Key」)ごとにそれぞれ波形データを割り当て、また、同じ鍵域であっても押鍵時の速さ(演奏の強さ)を示すベロシティ(図中、縦軸の「Velocity」)ごとにそれぞれ波形データを割り当てる音色波形スプリット構造による管理手法が適用される。すなわち、音色波形スプリット構造を用いた波形データの管理手法においては、1音色の音域とベロシティ域を2次元的に分割し、それぞれのスプリット(分割)エリアに最大32個の波形が割り当てられている。この管理手法によれば、押鍵時の速さ(ベロシティ)と鍵番号(鍵域)の2つのファクターから読み出すべき波形が1つだけ決定される。
【0026】
そして、RAM208や大容量フラッシュメモリ212に記憶される波形データは、テーブル形式を有する音色波形ディレクトリ情報に基づいて管理される。音色波形ディレクトリ情報は、大容量フラッシュメモリ212に記憶され、例えば電子鍵盤楽器100の起動時に、CPU202により大容量フラッシュメモリ212から読み出されてRAM208に転送される。或る音色の楽音を演奏する際には、CPU202がRAM208からその音色に対応する音色波形ディレクトリ情報のデータを読み出して参照する。
【0027】
ここで、音色波形ディレクトリ情報のテーブルには、例えば図4(b)に示すように、1つの「音色番号」の音色に含まれる各波形データごとに、その波形データの「波形番号」と、その波形データが発音されるべき鍵域及びベロシティの範囲を示す「最小ベロシティ」、「最大ベロシティ」、「最低キー番号」及び「最高キー番号」と、RAM208に転送された当該音色の記憶領域(波形領域)の先頭からのアドレスを示す「波形領域先頭からのアドレス」と、その波形データのデータサイズを示す「波形サイズ」との各項目値が登録されている。すなわち、音色波形ディレクトリ情報においては、各音色の各波形データについて、上記の音色波形スプリット構造においてどのような条件で分割されているかという鍵域及びベロシティ域情報と、実際に大容量フラッシュメモリ212の中でどのアドレスに配置されていて、波形サイズはどれだけかという情報とが、テーブル形式で規定されている。
【0028】
(RAM及び大容量フラッシュメモリ上の情報)
次に、本実施形態に係る電子鍵盤楽器に適用されるRAM及び大容量フラッシュメモリ上の情報とその転送処理について、図面を参照して説明する。
図5は、本実施形態に適用されるRAM及び大容量フラッシュメモリ上の情報とその転送処理の概要を説明する図である。図6は、本実施形態に適用されるRAMのスタティック波形領域及びダイナミック波形領域を説明する図である。図6(a)は、スタティック波形領域(第1の記憶領域)のディレクトリの内容を示す図であり、図6(b)は、ダイナミック波形領域である波形読み出し装置バッファ領域(第2の記憶領域)のディレクトリの内容を示す図である。
【0029】
RAM208上には、図5左方の「RAM上の情報」に示すように、音色波形ディレクトリ、音色パラメータ、CPUプログラム、CPUデータ、CPUワーク、DSPプログラム、DSPデータ、DSPワークの各種データが展開される。また、大容量フラッシュメモリ212上には、図5右方の「大容量フラッシュメモリ上の情報」に示すように、音色波形ディレクトリ、音色パラメータ領域、CPUプログラム、CPUデータ、DSPプログラム、DSPデータの各種データが展開される。
【0030】
ここで、電子鍵盤楽器100の演奏に伴って、音源LSI204が波形読み出し動作を実行する際には、読み出す波形データがRAM208上に配置されている必要があるため、例えば電子鍵盤楽器100の起動時に、大容量フラッシュメモリ212からRAM208に、図4(b)に示した音色波形ディレクトリ情報、音色パラメータ、CPUプログラム、CPUデータ、DSPプログラム、DSPデータが転送される。
【0031】
また、電子鍵盤楽器100の演奏時には、音源LSI204による波形読み出し動作の対象となる波形データもRAM208に転送されている必要があるが、RAM208は、大容量フラッシュメモリ212に比較して記憶容量が小さいため、大容量フラッシュメモリ212に記憶されている全ての音色の波形データをRAM208上に配置することができない。
【0032】
本実施形態においては、基本的には演奏により発音する際に大容量フラッシュメモリ212から必要な波形データの読み出しを行い、RAM208上の波形読み出し装置304ごとに割り当てられた波形バッファに転送して一時保存し、音源LSI204により読み出し再生を行う。ここで、データサイズが大きい波形データの場合には、大容量フラッシュメモリ212からRAM208への転送に時間がかかって発音の反応が遅延してしまい、演奏に支障を来す場合がある。そこで、本実施形態においては、大容量フラッシュメモリ212に記憶されている波形データのうち、所定のしきい値を超過するデータサイズを有する波形データについては電子鍵盤楽器100の演奏の開始に先立つ任意のタイミング、例えば起動時(電源投入時)に予め全てRAM208に転送しておく。本実施形態においては、波形データの転送処理の判断基準となるデータサイズを規定するしきい値として例えば64Kバイトに設定する。このようなしきい値の設定によれば、例えばピアノやシンバル等の楽器の音色波形は、データサイズがしきい値よりも大きいため、起動時にRAM208に転送される。
【0033】
一方、例えばギター等の楽器の音色波形のように、データサイズがしきい値(64Kバイト)以下の低容量の波形データの場合には、演奏に伴う押鍵時にその都度大容量フラッシュメモリ212からRAM208に転送を行う。ここで、演奏時に大容量フラッシュメモリ212から転送される波形データは、複数の波形読み出し装置304に対応して設定されたRAM208上の複数の波形バッファのうち、いずれの波形読み出し装置304からも使用されていない波形バッファが選択されて上書き保存される。或いは、波形読み出し装置304により使用されている数や使用頻度が低い波形バッファから優先的に選択されて、転送される波形データが上書き保存される。このような大容量フラッシュメモリ212から波形バッファへの波形データの転送時の管理は、RAM208の各波形バッファに保存されている波形データが、いずれの波形読み出し装置304による発音のために使用中であるか否かを、逐次更新しながら(リアルタイムに)管理する管理情報に基づいて実行される。
【0034】
上記の波形データの転送処理に適用されるしきい値は、例えば演奏時のCPU202の処理負担や遅延時間等に基づいて設定される。具体的には、電子鍵盤楽器の演奏においては、一般に押鍵時から楽音の発音までの合計遅延時間が概ね10msecを超過すると、演奏者は押鍵に対する発音までの反応が遅いと認識する傾向が高いため、CPU202の処理性能や周辺回路における信号遅延等を加味して、各音色波形データの転送処理に許容される遅延時間を算出する。そして、この一定の許容遅延時間内に転送処理が完了するとともに、RAM208の記憶容量を極力小さくすることができる音色波形のデータサイズをしきい値として設定する。このような条件に基づいて、発明者らが算出したしきい値の一例が、64Kバイトである。
【0035】
なお、本実施形態においては、音色波形のデータサイズについて、しきい値を設定した場合について説明したが、本発明はこれに限定されるものではなく、例えば、音色波形を規定する音高やベロシティについて、上記と同様の概念に基づいて、しきい値を設定するものであってもよい。
【0036】
さらに、本実施形態においては、演奏時のCPU202の処理負担を軽減し、処理時間を削減するために、データサイズがしきい値以下の波形データの転送処理に先立って、演奏で指定された楽音の波形データが予めRAM208上に転送されて存在しているか否かを調査(検索)する。該当する波形データが既にRAM208上に存在する場合には、CPU202は大容量フラッシュメモリ212からの波形データの転送を行わず、同じRAM208上の波形バッファ間でのコピー転送を行う。
【0037】
本実施形態においては、これらの処理により、上記のしきい値を超過する全ての波形データを記憶できる容量に、しきい値以下の波形データを一時保存する波形バッファの記憶容量を加算した程度の記憶容量を有するRAM208を適用すればよいことになる。なお、本願発明者らの検証によれば、本実施形態を適用することにより、RAMに使用される記憶容量を、従前の1/4〜1/5程度に圧縮することができる可能性があることを確認した。
【0038】
図6(a)に示す「スタティック波形ディレクトリ」は、図5に示した「RAM上の情報」において、上記の波形データの転送処理に適用されるしきい値(64Kバイト)を超過する波形データが格納されるRAM208のスタティック波形領域のディレクトリの内容を示すものである。このスタティック波形ディレクトリは、図5に示すように、電子鍵盤楽器100の起動時に大容量フラッシュメモリ212の音色波形ディレクトリからしきい値(64Kバイト)を超過する全ての波形データがスタティック波形領域に転送され、その際にCPU202のワーク領域(CPUワーク)内に作成される。スタティック波形ディレクトリの内容は、電子鍵盤楽器100の起動後、固定的に記憶されて変更されることはない。
【0039】
スタティック波形ディレクトリの内容は、図6(a)に示すように、大容量フラッシュメモリ212から転送された波形データ(スタティック波形1、2、・・・N)ごとに、当該波形の属する音色番号、音色内波形番号、当該波形が配置されたスタティック波形領域からの先頭アドレス、波形サイズが格納されている。ここで、大容量フラッシュメモリ212から転送されるスタティック波形の数や、波形データ全体の容量は、上記のしきい値に基づいて予め決定されているので、それに対応させてRAM208上のスタティック波形領域と、スタティック波形ディレクトリの各領域が固定的に割り当てられている。
【0040】
図6(b)に示す「波形読み出し装置バッファディレクトリ」は、図5に示した「RAM上の情報」において、上記の波形データの転送処理に適用されるしきい値(64Kバイト)以下の波形データが格納されるRAM208のダイナミック波形領域のディレクトリの内容を示すものである。この波形読み出し装置バッファディレクトリは、図5に示すように、電子鍵盤楽器100の演奏時に大容量フラッシュメモリ212の音色波形ディレクトリからしきい値(64Kバイト)以下の波形データが転送され、CPU202のワーク領域(CPUワーク)内に確保される。波形読み出し装置バッファディレクトリの内容は、演奏に伴って可変的に記憶され、楽音の発音時や消音時に更新される。
【0041】
波形読み出し装置バッファディレクトリは、波形読み出し装置304ごとに固定長64Kバイトの容量が割り当てられ、256組の波形読み出し装置304に1対1の関係で対応するように波形バッファ1〜256が設定されている。これにより、本実施形態の電子鍵盤楽器100においては、256の同時発音が可能な構成を有している。波形読み出し装置バッファディレクトリの内容は、図6(b)に示すように、各波形読み出し装置に対応する波形バッファごとに、当該バッファ番号、波形データが読み込まれているか否かを示し、転送が完了した時点でセットされる転送済みフラグ、バッファに読み込まれている波形に関する情報である音色番号、音色内波形番号、波形サイズが格納されている。
【0042】
<電子楽器の制御方法>
次に、本実施形態に係る電子鍵盤楽器の制御方法(楽音生成方法)について、図面を参照して詳しく説明する。ここでは、本発明の特徴である楽音生成方法を含む、電子鍵盤楽器の制御方法全体について説明する。また、以下に示す一連の制御処理は、CPU202及び音源LSI204において、RAM208に記憶された所定の制御プログラムを実行することにより実現されるものである。
【0043】
(RAM上の波形データの流用方法)
まず最初に、本実施形態に係る電子鍵盤楽器100に適用されるRAM208上の波形データの流用方法について説明する。 本実施形態に係る電子鍵盤楽器100において、演奏者による押鍵時には、CPU202は、同時発音数が多い(すなわち、発音チャンネルが多数ある)ため、まず、キーアサイナによって押鍵を割り当てる音源LSI204の波形読み出し装置304を決定する。ここで、キーアサインは発音が停止している波形読み出し装置304から優先的に割り当てられる。
【0044】
次いで、CPU202は、押鍵時のベロシティと鍵域に基づいて、図4(a)に示した音色波形のスプリット情報から演奏で指定された楽音の波形番号を特定し、該当する波形データが図5に示したRAM208上の音色波形ディレクトリに存在しているか否かを調査する。ここで、CPU202は、まず、RAM208上の音色波形ディレクトリのスタティック波形領域に、該当する波形データが存在しているか否かを調査し、スタティック波形領域に存在しない場合には、波形読み出し装置バッファ領域に存在しているか否かをさらに調査する。
【0045】
該当する波形データがRAM208上のスタティック波形領域に存在している場合には、CPU202は、当該波形データを後述する発音のための読み出し動作の対象とする。また、該当する波形データがスタティック波形領域に存在せず、波形読み出し装置バッファ領域に存在している場合には、CPU202は、同一のRAM208内で、発音のために割り当てられた自身の波形読み出し装置304に対応する波形バッファに当該波形データをコピー転送する。
【0046】
これにより、大容量フラッシュメモリ212からRAM208への転送処理に比較して非常に短い時間で波形データをRAM208上に配置することができる。なお、割り当てられた波形読み出し装置304に対応する波形バッファに既に当該波形データが存在している場合には、波形データを転送する必要はなく、当該波形データが発音のための読み出し動作に使用される。一方、該当する波形データがスタティック波形領域、及び、波形読み出し装置バッファ領域のいずれにも存在していない場合には、CPU202は、大容量フラッシュメモリ212に記憶された該当する波形データをRAM208へ転送する。
【0047】
そして、指定された楽音の波形データがRAM208上に存在し、割り当てられた波形読み出し装置304に対応する波形バッファの位置が確定した時点で、CPU202は、音源LSI204において発音のための読み出し動作を開始する。
【0048】
以下、上記の波形データの流用方法を適用した電子鍵盤楽器の制御方法について詳しく説明する。
(メインルーチン)
図7は、本実施形態に係る電子鍵盤楽器の制御方法のメインルーチンを示すフローチャートである。
【0049】
本実施形態に係る電子鍵盤楽器の制御方法においては、概略、以下のような処理動作が実行される。まず、演奏者により電子鍵盤楽器100の装置電源がパワーオンされると、CPU202は図7に示すメインルーチンを起動し、装置各部を初期化する初期化処理を実行する(ステップS702)。
【0050】
次いで、初期化処理が完了すると、CPU202は演奏者が音色選択ボタン104等を操作した際のスイッチ処理(ステップS704〜S708)、鍵盤102を弾いた際の押鍵イベントや離鍵イベントを処理する鍵盤処理(ステップS710〜S718)、電子鍵盤楽器100の外部から受信したMIDI(Musical Instrument Digital Interface)メッセージのノートオンイベントやノートオフイベントを処理するMIDI受信処理(ステップS720〜S728)、音源における一定時間ごとの処理を行う音源定期処理(ステップS730)の一連の処理動作を繰り返し実行する。
【0051】
なお、図7に示したフローチャートにおいては図示を省略したが、CPU202は上述した各処理動作(ステップS702〜S730)の実行中に、演奏モードが終了や中断したり装置電源をパワーオフしたりする状態の変化を検出した場合には、メインルーチンを強制的に終了する。
【0052】
以下、上述した各処理動作について、具体的に説明する。
(初期化処理)
図8は、本実施形態に係る電子鍵盤楽器の制御方法に適用される初期化処理を示すフローチャートである。
本実施形態に係る電子鍵盤楽器の制御方法に適用される初期化処理においては、図8に示すフローチャートのように、まず、CPU202は、大容量フラッシュメモリ212からCPUプログラム、CPUデータ、DSPプログラム、DSPデータをRAM208に転送した後(ステップS802、S804)、引き続き、大容量フラッシュメモリ212から音色波形ディレクトリ部分をRAM208上の指定したアドレスに転送する(ステップS806)。ここで、音色波形ディレクトリ部分は、図4(b)に示したように、各音色の各波形について、分割条件となる鍵域及びベロシティ域情報と、大容量フラッシュメモリ212内での配置アドレス、波長サイズに関する情報がまとめられたテーブル形式を有している。
【0053】
次いで、CPU202は、この音色波形ディレクトリから電子鍵盤楽器100の起動時にRAM208に転送すべき、スタティック波形領域部分と図6(a)に示したスタティック波形ディレクトリとをRAM208上に構築するスタティック波形領域読み出し処理を実行する(ステップS808)。
【0054】
次いで、CPU202は、音源LSI204の波形読み出し装置304が波形データの読み出し動作に使用する、図6(b)に示した波形読み出し装置バッファディレクトリ部分をRAM208上に構築するために、各波形読み出し装置304に対応する波形バッファを初期化する波形読み出し装置バッファ初期化処理を実行する(ステップS810)。
【0055】
次いで、CPU202は、大容量フラッシュメモリ212からピッチやフィルター、音量の設定など発音に必要な音色パラメータをRAM208上に転送する(ステップS812)。
【0056】
次いで、CPU202は、波形読み出し装置304に対して、波形バッファのアサイン(割り当て)をいつ行ったかを管理するための波形読み出し装置アサインインデックス(A)を「0」に初期化する(ステップS814)。
【0057】
次いで、CPU202は、波形読み出し装置304に対して、波形読み出し装置アサインインデックス(A)を設定してCPUワークに保存した後(ステップS818)、波形読み出し装置アサインインデックス(A)をインクリメントする(ステップS820)。CPU202は、上記の一連の処理動作(ステップS818〜S820)を波形読み出し装置304の数分(本実施形態では256組分)繰り返すループ処理(ステップS816、S822)を実行して、各波形読み出し装置304に対して固有のアサインインデックスを設定する。
【0058】
(スタティック波形領域読み出し処理)
図9は、本実施形態に係る電子鍵盤楽器の制御方法の初期化処理に適用されるスタティック波形領域読み出し処理を示すフローチャートである。
【0059】
上述した初期化処理に適用されるスタティック波形領域読み出し処理においては、図9に示すフローチャートのように、まず、CPU202は、スタティック波形の数を管理するためのカウンタ(B)を「0」に初期化する(ステップS902)。次いで、CPU202は、スタティック波形をRAM208上に転送する際のアドレス情報として、スタティック波形を配置すべき先頭アドレスを設定して初期化する(ステップS904)。
【0060】
次いで、CPU202は、音色波形ディレクトリテーブルの先頭から順に、波形サイズを確認し、予め設定されたしきい値(64Kバイト)を超過する波形サイズを有するスタティック波形か否かの判断を行う(ステップS908)。波形サイズがしきい値(64Kバイト)を超過する場合には、CPU202は、当該波形をスタティック波形であると判断し、大容量フラッシュメモリ212から先のアドレス情報のRAM208上のアドレスに対して、当該波形データを上記サイズ分転送する(ステップS910)。このとき、CPU202は、スタティック波形ディレクトリ情報として、転送した波形の音色番号、音色内波形番号、配置先頭アドレス、波形サイズをCPUワークに設定する(ステップS912)。
【0061】
次いで、CPU202は、アドレス情報のアドレスに対して、転送した波形の波形サイズを加算し、RAM208上に配置される波形のアドレス情報を更新するとともに(ステップS914)、スタティック波形の数を管理するカウンタ(B)をインクリメントする(ステップS916)。一方、波形サイズがしきい値(64Kバイト)以下である場合には、CPU202は、スタティック波形の転送を行わず、現在の設定を維持する。CPU202は、上記の一連の処理動作(ステップS908〜S916)を音色波形ディレクトリテーブルの要素数分(すなわち、テーブル情報の最後の要素まで)繰り返すループ処理(ステップS906、S918)を実行する。当該ループ処理が終了した後、CPU202は、スタティック波形の数をCPUワークに保存する(ステップS920)。
【0062】
(波形読み出し装置バッファ初期化処理)
図10は、本実施形態に係る電子鍵盤楽器の制御方法の初期化処理に適用される波形読み出し装置バッファ初期化処理を示すフローチャートである。
【0063】
上述した初期化処理に適用される波形読み出し装置バッファ初期化処理においては、図10に示すフローチャートのように、まず、CPU202は、RAM208上に配置される波形バッファの番号を管理するカウンタ(C)を「1」に設定して初期化する(ステップS1002)。次いで、CPU202は、バッファ番号の「1」の波形バッファから順に、波形読み出し装置バッファディレクトリに格納されている転送済みフラグ、音色番号、音色内波形番号、波形サイズを「0」に設定する(ステップS1006)。
【0064】
次いで、CPU202は、RAM208上に配置される波形バッファの番号を管理するカウンタ(C)をインクリメントする(ステップS1008)。CPU202は、上記の一連の処理動作(ステップS1006〜S1008)を、256組の波形読み出し装置に1対1の関係で対応する256個の各波形バッファに対して繰り返すループ処理(ステップS1004、S1010)を実行して、各波形バッファを初期化する。
【0065】
(スイッチ処理)
図11は、本実施形態に係る電子鍵盤楽器の制御方法のスイッチ処理に適用される音色選択処理を示すフローチャートである。
【0066】
演奏者が電子鍵盤楽器100に備えられたボタンやスイッチ類を操作した際に実行されるスイッチ処理(ステップS704)においては、CPU202は、当該スイッチ操作により音色選択イベントが発生したか否かを判断し(ステップS706)、音色選択イベントが発生したと判断した場合には、音色選択処理を実行する(ステップS708)。
【0067】
音色選択処理においては、図11に示すフローチャートのように、CPU202は、演奏者が音色選択ボタン104を操作することにより指定された音色番号を、後述する押鍵処理などで使用するために、RAM208上のCPUワークに保存する(ステップS1102)。一方、音色選択イベントが発生していないと判断した場合、或いは、上記の音色選択処理が終了した場合には、CPU202は、後述する鍵盤処理(ステップS710)を実行する。
【0068】
(鍵盤処理)
図12は、本実施形態に係る電子鍵盤楽器の制御方法の鍵盤処理に適用される押鍵処理及び離鍵処理を示すフローチャートである。図13は、本実施形態に係る電子鍵盤楽器の制御方法の鍵盤処理に適用されるノートオン処理及びノートオフ処理を示すフローチャートである。
【0069】
上記のスイッチ処理(ステップS704)の後に実行される鍵盤処理(ステップS710)においては、CPU202は、演奏者が電子鍵盤楽器100に備えられた鍵盤102を操作することにより押鍵イベントや離鍵イベントが発生したか否かをそれぞれ判断し(ステップS712、S716)、押鍵イベントが発生したと判断した場合には、後述する押鍵処理を実行し(ステップS714)、離鍵イベントが発生したと判断した場合には、後述する離鍵処理を実行する(ステップS718)。
【0070】
押鍵処理においては、図12(a)に示すフローチャートのように、CPU202は、演奏者が鍵盤102を弾いた際の押鍵操作による演奏情報に含まれる鍵盤位置及び押された強さを、それぞれキー番号(ノートナンバー)及びベロシティに変換してノートオン情報として保持し(ステップS1202)、ノートオンイベントとして処理を実行する(ステップS1204)。
【0071】
ノートオン処理においては、図13(a)に示すフローチャートのように、CPU202は、まず、押鍵処理において演奏情報から変換されたノートオン情報から波形情報を取得する処理を実行し(ステップS1302)、次いで、音源LSI204の波形読み出し装置304における読み出し開始処理を実行する(ステップS1304)。
【0072】
また、離鍵処理においては、図12(b)に示すフローチャートのように、CPU202は、演奏者が鍵盤102を弾いた際の離鍵による演奏情報に含まれる鍵盤位置を、キー番号(ノートナンバー)に変換してノートオフ情報として保持し(ステップS1222)、ノートオフイベントとして処理を実行する(ステップS1224)。
【0073】
ノートオフ処理においては、図13(b)に示すフローチャートのように、CPU202は、まず、押鍵処理において演奏情報から変換されたノートオフ情報からキー番号(ノートナンバー)を取得する(ステップS1322)。次いで、CPU202は、波形読み出し装置304の番号「1」から順に、波形読み出し装置304の状態を確認し、波形を読み出し中の各波形読み出し装置304に対して、RAM208上のCPUワークから波形読み出し装置304に対応するキー番号を取得して、ノートオフ情報から取得したキー番号と一致するか否かの比較を行う(ステップS1326)。キー番号が一致した場合には、CPU202は、波形読み出し装置304に接続されている音量制御(アンプエンベロープ)に対して、リリースレベルを「0」に設定して、RAM208上の音色パラメータから得られるリリースレイトを設定する(ステップS1328)。一方、キー番号が一致しない場合には、CPU202は、現在のアンプエンベロープの設定を維持する。CPU202は、上記の一連の処理動作(ステップS1326〜S1328)を、波形を読み出し中の波形読み出し装置304の数分繰り返すループ処理(ステップS1324、S1330)を実行する。
【0074】
ここで、上記の押鍵処理において実行されるノートオン処理に適用される各処理動作について詳しく説明する。
(波形情報取得処理)
図14は、本実施形態に係る電子鍵盤楽器の制御方法のノートオン処理に適用される波形情報取得処理を示すフローチャートである。
【0075】
ノートオン処理において実行される波形情報取得処理においては、図14に示すフローチャートのように、CPU202は、まず、押鍵処理において取得したノートオン情報からキー番号(ノートナンバー)及びベロシティを取得するとともに(ステップS1402)、RAM208上のCPUワークから音色選択処理において保存された音色番号を取得する(ステップS1404)。
【0076】
次いで、CPU202は、音色波形ディレクトリテーブルの先頭から順に、取得したキー番号、ベロシティ及び音色番号について、テーブル情報と一致するか否かの比較を行う(ステップS1406)。CPU202は、この比較処理において、音色番号が一致し、キー番号が最高キー番号以下且つ最低キー番号以上であり、さらにベロシティが最大ベロシティ以下且つ最小ベロシティ以上に該当するテーブル情報を抽出して(ステップS1410〜S1418)、当該テーブルの波形番号と波形サイズ、波形領域先頭からのアドレスを取得する(ステップS1420〜S1424)。一方、上記の比較処理において、音色番号が一致しない、又は、キー番号が最高キー番号より大きい、又は、最低キー番号より小さい、又は、ベロシティが最大ベロシティより大きい、又は、最小ベロシティより小さい、のうちのいずれかの条件に該当する場合には、CPU202は、波形番号等の波形情報の取得を行わない。CPU202は、上記の一連の処理動作(ステップS1410〜S1418)を音色波形ディレクトリテーブルの要素数分(すなわち、テーブル情報の最後の要素まで)繰り返すループ処理(ステップS1408、S1426)を実行する。
【0077】
(波形読み出し開始処理)
図15は、本実施形態に係る電子鍵盤楽器の制御方法のノートオン処理に適用される波形読み出し装置の波形読み出し開始処理を示すフローチャートである。
【0078】
ノートオン処理において実行される波形読み出し装置の波形読み出し開始処理においては、図15に示すフローチャートのように、CPU202は、まず、波形情報取得処理において取得した波形サイズが、予め設定されたしきい値(64Kバイト)を超過するか否かの判断を行う(ステップS1502)。波形サイズがしきい値(64Kバイト)を超過する場合には、後述するスタティック波形の読み出し開始処理を実行し(ステップS1504)、一方、波形サイズがしきい値(64Kバイト)以下である場合には、後述する波形読み出し装置バッファの割り当て処理を実行する(ステップS1506)。
【0079】
(スタティック波形の読み出し開始処理)
図16は、本実施形態に係る電子鍵盤楽器の制御方法のノートオン処理に適用されるスタティック波形の読み出し開始処理を示すフローチャートである。
【0080】
ノートオン処理において取得した波形サイズがしきい値(64Kバイト)を超過する場合に実行されるスタティック波形の読み出し開始処理においては、図16に示すフローチャートのように、CPU202は、まず、音源LSI204の波形発生器302において、どの波形読み出し装置304を使用するかを決定する割り当て処理を実行する(ステップS1602)。波形読み出し装置304の割り当て処理については後述する。次いで、CPU202は、割り当てられた波形読み出し装置304の情報として、押鍵処理において取得したキー番号を離鍵処理(ノートオフ処理)などで使用するために、RAM208上のCPUワークに保存する(ステップS1604)。
【0081】
次いで、CPU202は、スタティック波形ディレクトリの先頭から順に、上記の音色選択処理及び波形情報取得処理により取得した音色番号及び波形番号について、ディレクトリ情報と一致するか否かの比較を行う(ステップS1608、S1610)。音色番号及び波形番号が共に一致する場合には、CPU202は、スタティック波形番号に基づいて当該波形がRAM208上に配置されている先頭アドレスを取得し(ステップS1612)、割り当てられた波形読み出し装置304により、取得した先頭アドレスから波形読み出し動作を開始する(ステップS1616)。一方、上記の比較処理において、音色番号又は波形番号のうちのいずれかが不一致の場合には、CPU202は、先頭アドレスの取得を行わない。CPU202は、上記の一連の処理動作(ステップS1608〜S1612)をCPUワークに保存されているスタティック波形数分繰り返すループ処理(ステップS1606、S1614)を実行する。
【0082】
(波形読み出し装置の割り当て処理)
図17は、本実施形態に係る電子鍵盤楽器の制御方法のノートオン処理に適用される波形読み出し装置の割り当て処理を示すフローチャートである。
【0083】
上記のスタティック波形の読み出し開始処理において実行される波形読み出し装置の割り当て処理においては、図17に示すフローチャートのように、CPU202は、まず、波形読み出し装置304を割り当てる候補の番号として「1」を仮設定して初期化する(ステップS1702)。
【0084】
次いで、CPU202は、波形読み出し装置304の番号「1」から順に、波形読み出し装置304の状態を確認し、波形の読み出し中か否かの判断を行う(ステップS1706)。波形読み出し装置304が波形を読み出していない(停止)場合には、CPU202は、当該波形読み出し装置304を割り当てた後(ステップS1720)、後述するステップS1722以降の処理動作を実行する。一方、現在の波形読み出し装置304が波形読み出し中の場合には、CPU202は、現在の波形読み出し装置304が候補番号の波形読み出し装置304の波形読み出し装置アサインインデックスより小さいか否かの比較を行う(ステップS1708)。
【0085】
現在の波形読み出し装置304の波形読み出し装置アサインインデックスが候補番号の波形読み出し装置304の波形読み出し装置アサインインデックスより小さい場合には、CPU202は、現在の波形読み出し装置304が候補の波形読み出し装置304よりも古いと判断して、割り当てる波形読み出し装置304の候補番号を現在の波形読み出し装置304の番号に更新する。一方、上記の比較処理において、現在の波形読み出し装置304の波形読み出し装置アサインインデックスが候補番号の波形読み出し装置304の波形読み出し装置アサインインデックスより大きい場合には、CPU202は、現在の波形読み出し装置304が候補の波形読み出し装置304よりも新しいと判断して、波形読み出し装置304の番号の更新を行わない。CPU202は、上記の一連の処理動作(ステップS1706〜S1710)を波形読み出し装置304の数分繰り返すループ処理(ステップS1704、S1712)を実行する。
【0086】
当該ループ処理が終了した後、CPU202は、波形読み出し装置の数分の状態の確認が終了した時点で、割り当てる波形読み出し装置304の番号が確定していない場合には、候補番号の波形読み出し装置をスタティック波形用に割り当てる(ステップS1714)。このとき、CPU202は、割り当てられた波形読み出し装置304が波形データの読み出し中か否かの判断を行い(ステップS1716)、波形読み出し中の場合には、ハイリリース処理(波形読み出し装置304に接続されている音量制御において、音量レベルを急速に「0」にする処理)を実行した後(ステップS1718)、割り当てられた波形読み出し装置304の波形読み出し動作を停止する。一方、波形データを読み出していない場合には、CPU202は、当該波形読み出し装置304が停止しているものと判断して、現在の設定を維持する。
【0087】
次いで、CPU202は、割り当てられた波形読み出し装置304に波形読み出し装置アサインインデックスを設定してCPUワークに保存し(ステップS1722)、波形読み出し装置アサインインデックスをインクリメントする(ステップS1724)。これにより、波形を読み出していない波形読み出し装置304がない場合には、最も古い波形読み出し装置アサインインデックスが設定されている波形読み出し装置304が割り当てられることになる。
【0088】
(波形読み出し装置バッファの割り当て処理)
図18は、本実施形態に係る電子鍵盤楽器の制御方法のノートオン処理に適用される波形読み出し装置バッファの割り当て処理を示すフローチャートである。
【0089】
ノートオン処理において取得した波形サイズがしきい値(64Kバイト)以下である場合に実行される波形読み出し装置バッファの割り当て処理においては、図18に示すフローチャートのように、CPU202は、まず、音源LSI204の波形発生器302において、どの波形読み出し装置304を使用するかを決定する割り当て処理を実行する(ステップS1802)。ここでは、図16図17のフローチャートに示した、波形読み出し装置304の割り当て処理(ステップS1602)と同等の処理が適用される。
【0090】
次いで、CPU202は、割り当てられた波形読み出し装置304の情報として、このときのキー番号をCPUワークに保存する(ステップS1804)。次いで、CPU202は、上記の音色選択処理及び波形情報取得処理により取得した音色番号及び波形番号について、割り当てられた波形読み出し装置304に対応する波形バッファの情報と一致するか否かの比較を行う(ステップS1806〜S1810)。音色番号及び波形番号が共に一致する場合には、CPU202は、既に波形データが転送済みであると判断して(ステップS1812)、自身の波形バッファの先頭から波形読み出し動作を開始する(ステップS1834)。一方、上記の比較処理において、音色番号又は波形番号のうちのいずれかが不一致の場合には、CPU202は、他の波形バッファに既に波形データが転送されていないかを確認する。
【0091】
まず、CPU202は、波形バッファカウンタ(C)を「1」に設定して初期化し(ステップS1814)、バッファ番号の「1」の波形バッファから順に、上記の音色選択処理及び波形情報取得処理により取得した音色番号及び波形番号について、波形の情報と一致するか否かの比較を行う(ステップS1818、S1820)。音色番号及び波形番号が共に一致する場合には、CPU202は、上記の比較処理を停止し、一致した波形バッファの波形データを、発音のため割り当てられた自身の波形読み出し装置304の波形バッファへコピー転送する。すなわち、RAM208からRAM208への高速転送が実行される(ステップS1822)。CPU202は、上記の一連の処理動作(ステップS1818〜S1820)を、256個の各波形バッファに対して繰り返すループ処理(ステップS1816、S1824)を実行する。
【0092】
上記の一連の処理動作(ステップS1818〜S1820)において、音色番号又は波形番号のうちのいずれかが不一致で、音色番号及び波形番号が共に一致するものがなかった場合には、CPU202は、自身の波形バッファに波形情報取得処理で取得した波形番号、波形サイズ、波形領域先頭からのアドレス情報に基づいて、大容量フラッシュメモリ212からRAM208に波形データの転送を行う(ステップS1826)。CPU202は、上記のステップS1822及びS1826におけるRAM208上への波形データの転送に伴って、音色波形ディレクトリに音色番号、音色内波形番号、波形サイズを設定する(ステップS1828)。
【0093】
次いで、CPU202は、波形データの転送状態を確認し、波形データの転送が終了したか否かの判断を行う(ステップS1830)。波形データを転送中である場合には、CPU202は、当該状態を維持し、波形データの転送が終了した場合には、転送済みフラグに「1」を設定し(ステップS1832)、自身の波形バッファの先頭から波形読み出し動作を開始する(ステップS1834)。
【0094】
(MIDI受信処理)
図7に示すメインルーチンに戻って、上記の鍵盤処理(ステップS710)の後に実行されるMIDI受信処理(ステップS720)においては、CPU202は、受信したMIDIメッセージにノートオンイベントやノートオフイベントが含まれているか否かをそれぞれ判断し(ステップS722、S726)、ノートオンイベントがあると判断した場合には、ノートオン処理を実行し(ステップS724)、ノートオフイベントがあると判断した場合には、ノートオフ処理を実行する(ステップS728)。ここでは、図12図13のフローチャートに示した、ノートオン処理(ステップS1204)、又は、ノートオフ処理(ステップS1224)と同等の処理が適用される。
【0095】
(音源定期処理)
図19は、本実施形態に係る電子鍵盤楽器の制御方法に適用される音源定期処理を示すフローチャートである。
【0096】
上記のMIDI受信処理(ステップS720)の後に実行される音源定期処理(ステップS730)においては、CPU202は、或る一定時間ごとに、図19に示すフローチャートのように、音源処理を実行する。CPU202は、波形読み出し装置304の番号「1」から順に、波形読み出し装置304の状態を確認し、波形を読み出し中の各波形読み出し装置304に対して、音量制御(アンプエンベロープ)のレベルが「0」になっているか否かを判断する(ステップS1904)。音量制御のレベルが「0」になっている場合には、CPU202は、波形読み出し装置304の波形読み出し動作を停止する。一方、音量制御のレベルが「0」になっていない場合には、CPU202は、波形読み出し装置304の波形読み出し動作を停止せず、現在の状態を維持する。CPU202は、上記の一連の処理動作(ステップS1904〜S1906)を、波形データを読み出し中の波形読み出し装置304の数分繰り返すループ処理(ステップS1902、S1908)を実行する。
【0097】
このように、本実施形態においては、音源LSI204が楽音発生時に使用するRAM208からなる音源メモリと、音色に使用する全ての波形データを保存するNAND型等の大容量フラッシュメモリ212からなる大容量記憶デバイスとを備え、大容量記憶デバイスから音源メモリへの転送に時間がかかるデータサイズが大きい波形データを常時音源メモリに配置し、比較的データサイズが小さい波形データを、発音時に大容量記憶デバイスから発音ジェネレータ(波形読み出し装置304)ごとに用意された音源メモリの各波形バッファに転送してから発音する。ここで、アクセス速度が高速な音源メモリには、予め設定されたしきい値を超過するデータサイズを有する波形データが配置され、当該しきい値以下のデータサイズを有する波形データについては、発音時にその都度アクセス速度が低速な大容量記憶デバイスから音源メモリに転送されて使用される。また、しきい値以下のデータサイズを有する波形データについては、上記の大容量記憶デバイスからの転送処理に先立って、発音の対象となる波形データが、発音のために割り当てられた自身のジェネレータに割り当てられた波形バッファ(第1の領域)に存在せず、音源メモリ内の他の発音ジェネレータに割り当てられた波形バッファ(第2の領域)に既に存在する場合は、その波形バッファから自身のジェネレータの波形バッファにコピー転送してから読み出して発音する。
【0098】
これにより、データサイズの大きい波形データを、アクセス速度が高速の音源メモリから直接読み出し、データサイズの小さい波形データを、安価な大容量記憶デバイスから読み出して、又は、音源メモリ内で流用して楽音の生成処理に使用することができる。したがって、複数の波形データを用いた楽音の生成処理に要する時間をより効果的に短縮して、楽音の発生に遅延や途切れのない良好な演奏を実現することができる。これは換言すると、楽音の生成処理に要する所定の時間内に、より多数の音色波形データを読み出して同時に発音させることができることを意味しており、これにより、管楽器や弦楽器等の原音の特徴により近い楽音を再現することができる電子楽器を実現することができる。
【0099】
なお、上述した実施形態においては、RAM208上の波形データの流用方法として、大容量フラッシュメモリ212からRAM208に波形データを転送する処理に先立って、発音の対象となる波形データが、RAM208内の他の波形バッファに既に存在するか否かを調査し、存在する場合には、その波形バッファの波形データを自身の波形バッファへコピー転送した後、音源LSI204の波形読み出し装置304により読み出して発音に使用する場合について説明した。本発明はこの形態に限定されるものではなく、発音の対象となる波形データが、RAM208の他の波形バッファに既に存在する場合には、その波形バッファの波形データを、発音のため割り当てられた自身の波形読み出し装置304により直接読み出して発音に使用するものであってもよい。この場合においても、上述した実施形態と同等の作用効果を得ることができる。
【0100】
また、上述した実施形態においては、大容量フラッシュメモリ212に記憶されている波形データのうち、所定のしきい値を超過するデータサイズを有する波形データをRAM208に転送する処理を、電子鍵盤楽器100の起動時に実行する場合について説明したが、本発明はこの形態に限定されるものではない。すなわち、本発明においては、電子鍵盤楽器100の演奏の開始前の任意のタイミングで、所定のしきい値を超過するデータサイズを有する波形データがRAM208に記憶されていればよい。したがって、例えば、RAM208として不揮発性のメモリ(書き換え可能なスタティックRAM等)を適用した場合には、所定のしきい値を超過するデータサイズを有する波形データを、工場出荷時にRAM208に記憶させておいたり、製品の購入時に1回だけ大容量フラッシュメモリ212からRAM208に転送させたりするものであってもよい。
【0101】
<変形例>
図20は、本実施形態の変形例に係る電子鍵盤楽器の制御方法のノートオン処理に適用される波形読み出し装置バッファの割り当て処理を示すフローチャートである。ここで、上述した実施形態(図18)と同等の処理動作については、同等の符号を付してその説明を省略する。
【0102】
上述した実施形態においては、大容量フラッシュメモリ212からRAM208に波形データを転送する処理に先立って、発音の対象となる波形データが、RAM208の他の波形バッファに既に存在するか否かを調査し、存在する場合には、その波形バッファの波形データをコピー転送するRAM208上の波形データの流用方法を適用した場合について説明した。
【0103】
本実施形態においては、図20に示すフローチャートのように、上述したRAM上の波形データの流用方法(図18に示したステップS1814〜S1824に相当する)を適用しない変形例を有するものであってもよい。
【0104】
すなわち、本変形例においては、上述した実施形態に示した波形読み出し装置バッファの割り当て処理(図18参照)と同様に、CPU202は、上記の音色選択処理及び波形情報取得処理により取得した音色番号及び波形番号について、割り当てられた波形読み出し装置304に対応する波形バッファの情報と一致するか否かの比較を行う(ステップS2006〜S2010)。音色番号及び波形番号が共に一致する場合には、CPU202は、既に波形が転送済みであると判断して(ステップS2012)、自身の波形バッファの先頭から波形読み出し動作を開始する(ステップS2034)。
【0105】
一方、上記の比較処理において、音色番号又は波形番号のうちのいずれかが不一致の場合には、CPU202は、自身の波形バッファに波形情報取得処理で取得した波形番号、波形サイズ、波形領域先頭からのアドレス情報に基づいて、大容量フラッシュメモリ212からRAM208に波形データの転送を行う(ステップS2026)。以降、上述した実施形態に示した波形読み出し装置バッファの割り当て処理と同様の処理動作を実行して、自身の波形バッファの先頭から波形読み出し動作を開始する(ステップS2028〜S2034)。
【0106】
このような変形例においても、上述した実施形態と同様に、複数の波形データを用いた楽音の生成処理に要する時間をより効果的に短縮して、楽音の発生に遅延や途切れのない良好な演奏を実現することができる。
【0107】
以上、本発明のいくつかの実施形態について説明したが、本発明は、上述した実施形態に限定されるものではなく、特許請求の範囲に記載された発明とその均等の範囲とを含むものである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【0108】
(付記)
[1]
複数の波形データを記憶している第1の記憶手段と、
前記第1の記憶手段から読み込まれた波形データを、発音制御手段により発音させるために読み出しが可能な状態で記憶する第2の記憶手段と、
発音が指示されたときに前記発音に関連して指定された波形データが前記第2の記憶手段に記憶されている場合は、前記第2の記憶手段に記憶されている前記波形データを前記発音制御手段により読み込ませ、前記発音が指示されたときに前記指定された波形データが前記第2の記憶手段に記憶されていない場合は、前記指定された波形データを前記第1の記憶手段から前記第2の記憶手段へと転送した後、前記第2の記憶手段に転送して記憶された前記波形データを前記発音制御手段により読み込ませる制御手段と、を備え、
前記第2の記憶手段は、前記複数の波形データのうち、設定された条件を満たす波形データを前記転送による変更がなされることのない状態で予め記憶しておく、
ことを特徴とする楽音生成装置。
【0109】
[2]
前記制御手段は、前記複数の波形データのうち、前記設定された条件を満たす波形データについて、予め前記第1の記憶手段から前記第2の記憶手段へ転送するとともに、前記転送による変更がなされることのない状態で前記第2の記憶手段に記憶させておく、
ことを特徴とする[1]に記載の楽音生成装置。
【0110】
[3]
前記制御手段は、前記複数の波形データのうち、所定のしきい値を超過するデータサイズを有する前記波形データについて、前記発音を伴う演奏中に変更がなされることのない状態で前記第2の記憶手段に固定的に記憶させておく、
ことを特徴とする[1]又は[2]に記載の楽音生成装置。
【0111】
[4]
前記所定のしきい値は、前記演奏時に生じる前記発音までの遅延時間が一定の時間以下になる前記波形データのデータサイズに基づいて設定されることを特徴とする[3]に記載の楽音生成装置。
【0112】
[5]
前記発音制御手段は、複数存在し、
前記制御手段は、
前記第2の記憶手段を複数の領域に分割し、各々の前記領域を、前記複数の発音制御手段の各々が前記波形データを読み出す領域として割り当て、
前記複数の発音制御手段の中から、前記指定された波形データを読み出して発音させるべき第1の発音制御手段を特定し、
前記第1の発音制御手段に割り当てられた前記第2の記憶手段の第1領域に、前記指定された波形データが記憶されていない場合であって、前記指定された波形データが前記第2の記憶手段の他の第2領域に記憶されている場合には、前記第2領域に記憶されている前記波形データを前記第1領域に転送した後、読み出して発音させることを特徴とする[1]乃至[4]のいずれかに記載の楽音生成装置。
【0113】
[6]
前記発音制御手段は、複数存在し、
前記制御手段は、
前記第2の記憶手段を複数の領域に分割し、各々の前記領域を、前記複数の発音制御手段の各々が前記波形データを読み出す領域として割り当て、
前記複数の発音制御手段の中から、前記指定された波形データを読み出して発音させるべき第1の発音制御手段を特定し、
前記第1の発音制御手段に割り当てられた前記第2の記憶手段の第1領域に、前記指定された波形データが記憶されていない場合であって、前記指定された波形データが前記第1の発音制御手段とは異なる第2の発音制御手段に割り当てられた前記第2の記憶手段の他の第2領域に記憶されている場合には、前記第1の発音制御手段により前記第2領域に記憶されている前記波形データを直接読み出して発音させることを特徴とする[1]乃至[5]のいずれかに記載の楽音生成装置。
【0114】
[7]
前記第1の記憶手段は、第1の読み出し速度を有するとともに、第1の記憶容量を有する記憶装置であり、
前記第2の記憶手段は、前記第1の読み出し速度よりも速い第2の読み出し速度を有するとともに、前記第1の記憶容量よりも小さい第2の記憶容量を有する記憶装置であることを特徴とする[1]乃至[6]のいずれかに記載の楽音生成装置。
【0115】
[8]
前記第2の記憶手段は、前記発音を伴う演奏の開始に先立って、前記設定された条件を満たす前記波形データを固定的に記憶しておく第1の記憶領域と、前記演奏中に指定されて、前記第1の記憶手段から転送された前記波形データを可変的に記憶しておく第2の記憶領域と、を有することを特徴とする[7]に記載の楽音生成装置。
【0116】
[9]
複数の波形データを記憶している第1の記憶手段と、
前記第1の記憶手段から読み込まれた波形データを、発音制御手段により発音させるために読み出しが可能な状態で記憶する第2の記憶手段と、を備える楽音生成装置に適用される楽音生成方法であって、
前記複数の波形データのうち、設定された条件を満たす波形データを前記転送による変更がなされることのない状態で予め前記第2の記憶手段に記憶し、
発音が指示されたときに前記発音に関連して指定された波形データが前記第2の記憶手段に記憶されている場合は、前記第2の記憶手段に記憶されている前記波形データを前記発音制御手段により読み込ませ、
前記発音が指示されたときに前記指定された波形データが前記第2の記憶手段に記憶されていない場合は、前記指定された波形データを前記第1の記憶手段から前記第2の記憶手段へと転送した後、前記第2の記憶手段に転送して記憶された前記波形データを前記発音制御手段により読み込ませる、
ことを特徴とする楽音生成方法。
【0117】
[10]
コンピュータを、前記[1]乃至[8]のいずれかに記載の楽音生成装置として機能させるための、あるいは、コンピュータに、前記[9]に記載の楽音生成方法を実行させるための楽音生成プログラム。
【0118】
[11]
前記[1]乃至[8]のいずれかに記載の楽音生成装置と、
前記発音を伴う演奏により前記波形データを指定するための入力手段と、
前記発音された楽音を出力するための出力手段と、
を備えることを特徴とする電子楽器。
【符号の説明】
【0119】
100 電子鍵盤楽器(電子楽器)
102 鍵盤(入力手段)
104 音色選択ボタン(入力手段)
202 CPU(制御手段)
204 音源LSI(発音制御手段)
208 RAM(第2の記憶手段)
212 大容量フラッシュメモリ(第1の記憶手段)
304 波形読み出し装置(発音制御手段、第1の発音制御手段、第2の発音制御手段)
【要約】
【課題】複数の波形データを用いた楽音の生成処理に要する時間をより効果的に短縮して、良好な演奏を実現することができる楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器を提供する。
【解決手段】音源LSI204が楽音発生時に使用するRAM208と、音色に使用する全ての波形データを保存する大容量フラッシュメモリ212とを備え、予め設定されたしきい値を超過するデータサイズを有する波形データがRAM208に配置され、当該しきい値以下のデータサイズを有する波形データについては、その都度、発音の対象となる波形データがRAM208に既に存在する場合には、その波形データが読み出されて発音に使用され、RAM208に存在しない場合には、大容量フラッシュメモリ212からRAM208に転送されて発音に使用される。
【選択図】図5
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20