JP6724316B2 - Waveform writing device, method, program, and electronic musical instrument - Google Patents

Waveform writing device, method, program, and electronic musical instrument Download PDF

Info

Publication number
JP6724316B2
JP6724316B2 JP2015175809A JP2015175809A JP6724316B2 JP 6724316 B2 JP6724316 B2 JP 6724316B2 JP 2015175809 A JP2015175809 A JP 2015175809A JP 2015175809 A JP2015175809 A JP 2015175809A JP 6724316 B2 JP6724316 B2 JP 6724316B2
Authority
JP
Japan
Prior art keywords
waveform
waveform data
tone color
tone
storage device
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
JP2015175809A
Other languages
Japanese (ja)
Other versions
JP2017053898A5 (en
JP2017053898A (en
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 JP2015175809A priority Critical patent/JP6724316B2/en
Publication of JP2017053898A publication Critical patent/JP2017053898A/en
Publication of JP2017053898A5 publication Critical patent/JP2017053898A5/ja
Application granted granted Critical
Publication of JP6724316B2 publication Critical patent/JP6724316B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

本発明は、波形書き込み装置、方法、プログラム、及びその装置を用いた電子楽器に関する。 The present invention relates to a waveform writing device, a method, a program, and an electronic musical instrument using the device.

波形読込み方式により楽音波形を発生する音源装置では、より多数の、より長時間の波形データを利用できるようにするために、使用しない波形データはフラッシュメモリやハードディスク等の大容量の補助記憶装置(2次記憶装置)に保存しておき、使用する波形データのみを音源装置が直接アクセスできる波形メモリ(1次記憶装置)に転送して発音させるというシステムを採用するものがある。
つまり、高価な波形メモリ(1次記憶装置)が有する記憶容量以上の記憶容量の波形データを安価な補助記憶装置(2次記憶装置)に保持しておき、必要な場合のみ移動して発音に使用するというコスト的には効率的な方法であると言える。
In a sound source device that generates a musical tone waveform by a waveform reading method, unused waveform data is stored in a large-capacity auxiliary storage device (flash memory, hard disk, etc.) in order to use more waveform data for a longer time. Some systems employ a system in which only the waveform data to be used is transferred to a waveform memory (primary storage device) that can be directly accessed by the sound source device and is sounded.
That is, waveform data having a storage capacity larger than that of an expensive waveform memory (primary storage device) is held in an inexpensive auxiliary storage device (secondary storage device), and moved only when necessary for sound generation. It can be said that this is an efficient method in terms of cost to use.

一従来技術として、次のような技術が知られている(例えば特許文献1に記載の技術)。この技術において、ROMには、音色毎に1つ以上の波形データが格納されている。音源LSI(大規模集積回路)は、指定された曲の曲データを参照して、それらの波形データのなかで楽音の発音に必要なものを特定し、必要と特定した波形データはそのなかで必要な部分を更に特定する。それにより、楽音の発音に必要な波形データはその必要な部分のみをROMから読み出してRAMに転送し格納させる。これにより、発音させるべき楽音の波高値生成用に波形データをワークメモリに格納する場合に、そのデータ量をより抑えることが可能な楽音発生装置を提供するものである。 The following technique is known as one conventional technique (for example, the technique described in Patent Document 1). In this technique, the ROM stores one or more waveform data for each tone color. The sound source LSI (large-scale integrated circuit) refers to the music data of the specified music, and specifies, among those waveform data, what is necessary for the pronunciation of the musical sound, and the waveform data specified as necessary is Further specify the required part. As a result, as for the waveform data required to generate the musical sound, only the necessary portion is read from the ROM and transferred to the RAM for storage. Thus, when the waveform data is stored in the work memory for the generation of the peak value of the musical sound to be generated, the musical tone generating device capable of further suppressing the data amount is provided.

他の従来技術として、次のような技術が知られている(例えば特許文献2に記載の技術)。この技術は、第1の記憶手段に記憶された各種データのなかで楽音発生装置の起動時に転送すべきデータ群を第2の記憶手段に転送する場合に、そのデータ群を構成する波形データのなかで予め定めた音色の波形データを優先して転送し、その転送状況に応じて、楽音発生装置の動作を制限する。例えば、同時発音可能な楽音数をより少なくする動作制御をかける。その動作制限により、そのときの転送状況で可能な動作に限定して楽音発生装置を使用させることができるようにし、転送の完了を待つ場合よりも転送開始(起動)からより短時間で演奏可能とさせるものである。 The following technique is known as another conventional technique (for example, the technique described in Patent Document 2). In this technique, when a data group that should be transferred at the time of starting the musical tone generating device among the various data stored in the first storage means is transferred to the second storage means, the waveform data of the data group Among them, the waveform data of a predetermined tone color is preferentially transferred, and the operation of the musical sound generating device is restricted according to the transfer status. For example, operation control is performed to reduce the number of tones that can be sounded simultaneously. Due to the operation restriction, the musical tone generator can be used only in the operations that can be performed in the current transfer situation, and it is possible to perform in a shorter time from the transfer start (startup) than when waiting for the transfer completion. It is something that

特開2007−271827号公報JP, 2007-272827, A 特許第4475323号公報Japanese Patent No. 4475323

しかしながら、上述した従来技術では依然として、補助記憶装置から波形メモリ等への波形データの移動に時間がかかるため、演奏に支障を来す場合がある。具体的には、演奏者が多数の音色の中から好みの音色を選ぶような際には、音色の切り替えの度に一定時間待たされて発音されない時間が存在するため、演奏者はストレスを感じるといった課題があった。 However, in the above-described conventional technique, it still takes time to move the waveform data from the auxiliary storage device to the waveform memory or the like, which may hinder the performance. Specifically, when the performer selects his or her favorite tone from a large number of tones, the performer feels stress because there is a certain period of time during which each tone is switched, and there is a time during which no tone is produced. There was such a problem.

そこで、本発明は、複数波形の転送を伴う音色切り替えの際に、波形メモリに所望の波形が存在しないために発音できないという無音時間を大幅に短縮することを目的とする。 Therefore, it is an object of the present invention to significantly reduce the silent time during which tone generation cannot be performed because a desired waveform does not exist in the waveform memory when the tone color is switched with the transfer of a plurality of waveforms.

態様の一例では、楽音の音色毎に設けられ、少なくとも音域及びベロシティ域の一方が異なる複数のグループそれぞれに対応した音色波形データを記憶している二次記憶装置から、前記複数のグループそれぞれに対応する音色波形データを順次読み出し、前記読み出した音色波形データを一次記憶装置に順次書き込む書き込み処理と、演奏情報が入力された際に前記演奏情報が示す音高及びベロシティが属するグループに対応する音色波形データの前記一次記憶装置への書き込みが完了していない場合は、前記一次記憶装置への書き込みが完了している他のグループに対応する音色波形データを読み出す読み出し処理と、を実行する処理部、を備える。 In one example of the embodiment, a secondary storage device is provided for each tone color of a musical tone, and the tone color waveform data corresponding to each of the plurality of groups in which at least one of the tone range and the velocity range is different is stored. Writing process for sequentially reading the tone color waveform data to be written and sequentially writing the read tone color waveform data to the primary storage device, and a tone color waveform corresponding to the group to which the pitch and velocity indicated by the performance information when the performance information is input If the writing of the data to the primary storage device is not completed, a reading unit that reads out the tone color waveform data corresponding to another group for which the writing to the primary storage device is completed , Equipped with.

本発明によれば、複数波形の転送を伴う音色切り替えの際に、波形メモリに所望の波形が存在しないために発音できないという無音時間を大幅に短縮することが可能となる。 According to the present invention, it is possible to significantly reduce the silent time during which tone generation cannot be performed because a desired waveform does not exist in the waveform memory when the tone color is switched with the transfer of a plurality of waveforms.

本発明による電子鍵盤楽器の実施形態の外観図である。1 is an external view of an embodiment of an electronic keyboard instrument according to the present invention. 電子鍵盤楽器の実施形態のハードウェア構成例を示す図である。It is a figure showing an example of hardware constitutions of an embodiment of an electronic keyboard musical instrument. 音色波形スプリットの説明図である。It is an explanatory view of a tone color waveform split. フラッシュメモリ音色情報テーブルのデータ構成例、及び大容量フラッシュメモリから波形メモリへの波形データの読込み動作を示す図である。It is a figure which shows the data structural example of a flash memory tone color information table, and the reading operation of the waveform data from a large capacity flash memory to a waveform memory. 波形データの代用によりカバー範囲を拡張する動作概念の説明図である。It is explanatory drawing of the operation concept which extends a cover range by substituting waveform data. 主要変数/定数の一覧を示す図である。It is a figure which shows the list of main variables/constants. 制御処理の全体処理の例を示すメインルーチンのフローチャートである。It is a flow chart of a main routine showing an example of the whole processing of control processing. 初期化処理の詳細例を示すフローチャートである。It is a flow chart which shows the detailed example of initialization processing. 音色波形情報転送サブルーチンの詳細処理例を示すフローチャートである。It is a flow chart which shows an example of detailed processing of a timbre waveform information transfer subroutine. 音源発音処理の詳細例を示すフローチャートである。It is a flow chart which shows the detailed example of sound source pronunciation processing. スプリット波形検索サブルーチンの詳細処理例を示すフローチャートである。9 is a flowchart showing a detailed processing example of a split waveform search subroutine. 音色切替え処理の詳細例を示すフローチャートである。6 is a flowchart showing a detailed example of a tone color switching process. 波形読込み処理の詳細例を示すフローチャート(その1)である。It is a flowchart (the 1) which shows the detailed example of a waveform reading process. 波形読込み処理の詳細例を示すフローチャート(その2)である。It is a flowchart (the 2) which shows the detailed example of a waveform reading process. 最優先読込み波形検索サブルーチンの詳細処理例を示すフローチャートである。It is a flow chart which shows the example of detailed processing of the highest priority read waveform retrieval subroutine. 実効スプリット情報設定サブルーチンの詳細処理例を示すフローチャートである。9 is a flowchart showing a detailed processing example of an effective split information setting subroutine. カバー範囲のベロシティ域上限設定ルーチンの詳細処理例を示すフローチャートである。7 is a flowchart showing a detailed processing example of a velocity range upper limit setting routine for a cover range. カバー範囲のベロシティ域下限設定ルーチンの詳細処理例を示すフローチャートである。8 is a flowchart showing a detailed processing example of a velocity range lower limit setting routine of a cover range. カバー範囲の鍵域上限設定ルーチンの詳細処理例を示すフローチャートである。9 is a flowchart illustrating a detailed processing example of a cover range upper limit setting routine. カバー範囲の鍵域下限設定ルーチンの詳細処理例を示すフローチャートである。9 is a flowchart illustrating a detailed processing example of a cover range lower limit setting routine.

以下、本発明を実施するための形態(以下「本実施形態」と記載する)について図面を参照しながら詳細に説明する。本実施形態は、例えば電子鍵盤楽器に適用される、音高(鍵域)や音量(ベロシティ:打鍵の速さ)などの演奏情報によって音色が変化するのを再現するために、大容量の2次記憶装置(例えばフラッシュメモリ)から1次記憶装置(例えばRAMによる波形メモリ)に、音高又は音量毎の波形データ(以下これを「スプリット波形」と呼ぶ)を読み込む楽音発生装置を対象とする。本実施形態は、このような楽音発生装置において、音域や強さによってスプリットされた複数波形に依って構成される音色選択が発生した際に、その音色において、鍵域や演奏の強さ(ベロシティ)などの使用頻度や、各鍵域、強さの波形の汎用性を考慮し、予め波形メモリに波形データをロードする順序を音色毎に決定しておいたり、あるいは実際の演奏を解析して各波形の使用頻度を求めたりして、その順序に従って波形メモリへの波形データの読込みを行い、読込みが完了した波形を代用して、読込み中もしくはこれから読込みを行う波形の鍵域、強さ(ベロシティ域)を読込みが完了するまで一時的にカバーして発音させることで、音色切替えに伴う波形入替えによる無音状態の時間を最初の波形の読込み時間のみに短縮することを可能とする電子鍵盤楽器を実現するものである。 Hereinafter, modes for carrying out the present invention (hereinafter referred to as “the present embodiment”) will be described in detail with reference to the drawings. The present embodiment is applied to, for example, an electronic keyboard instrument and has a large capacity of 2 in order to reproduce that the tone color changes according to performance information such as pitch (key range) and volume (velocity: keystroke speed). The target is a musical tone generator that reads waveform data for each pitch or volume (hereinafter referred to as "split waveform") from a secondary storage device (e.g., flash memory) to a primary storage device (e.g., RAM waveform memory). .. According to the present embodiment, in such a musical tone generator, when a tone color selection consisting of a plurality of waveforms split by tone range and strength occurs, the tone range has a key range and a playing strength (velocity). ), etc., and the versatility of the waveforms for each key range and strength, the order of loading the waveform data into the waveform memory can be determined in advance for each timbre, or the actual performance can be analyzed. The frequency of use of each waveform is calculated, the waveform data is read into the waveform memory in the order, and the waveform that has been read is used as a substitute for the key range and strength of the waveform being read or being read ( By temporarily covering the (velocity range) until the reading is completed and making it sound, it is possible to shorten the silent time due to waveform switching due to tone switching to only the reading time of the first waveform Is realized.

図1は、本発明による電子鍵盤楽器の実施形態の外観図である。本実施形態は、電子鍵盤楽器100として実施される。電子鍵盤楽器100は、演奏操作子としての複数の鍵からなる鍵盤101と、音色選択操作子としての音色選択を行うための音色選択ボタン102及び音色以外の各種機能選択を行う機能選択ボタン103からなるスイッチ・パネルと、ピッチベンドやトレモロ、ビブラート等の各種モジュレーション(演奏効果)を付加するベンダ/モジュレーション・ホイール104、音色や音色以外の各種設定情報を表示するLCD(Liquid Crystal Display:液晶ディスプレイ)105等を備える。また、電子鍵盤楽器100は、特には図示しないが、演奏により生成された楽音を放音するスピーカを裏面部、側面部、又は背面部等に備える。 FIG. 1 is an external view of an embodiment of an electronic keyboard instrument according to the present invention. The present embodiment is implemented as an electronic keyboard instrument 100. The electronic keyboard instrument 100 includes a keyboard 101 including a plurality of keys as performance operators, a tone selection button 102 for selecting a tone color as a tone selection operator, and a function selection button 103 for selecting various functions other than the tone color. Switch panel, a bender/modulation wheel 104 for adding various types of modulation (performance effects) such as pitch bend, tremolo, and vibrato, and an LCD (Liquid Crystal Display) 105 for displaying tone and various setting information other than tone. And so on. The electronic keyboard instrument 100, though not particularly shown, includes a speaker for emitting a musical sound generated by the performance on the back surface, the side surface, the back surface, or the like.

音色選択ボタン102は、図1に示されるように、ピアノ(図中「Piano」)、エレクトリックピアノ(図中「E.piano」)、オルガン(図中「Organ」)、ギター(図中「Guitar)等の各種音色のカテゴリを選択するためのボタン群である。演奏者は、この音色選択ボタン102を押下することにより、例えば16音色のうちの何れかを選択することができる。 As shown in FIG. 1, the tone selection button 102 includes a piano (“Piano” in the figure), an electric piano (“E.piano” in the figure), an organ (“Organ” in the figure), a guitar (“Guitar” in the figure). ) Is a button group for selecting various tone color categories, etc. The performer can select any one of, for example, 16 tone colors by pressing the tone color selection button 102.

図2は、図1の電子鍵盤楽器100の実施形態のハードウェア構成例を示す図である。図2において、電子鍵盤楽器100は、CPU(中央演算処理装置)201、ROM(リードオンリーメモリ)202、RAM(ランダムアクセスメモリ)203、大容量フラッシュ(Flash)メモリ204、波形メモリ206が接続される音源LSI(大規模集積回路)205、図1の鍵盤105と図1の音色選択ボタン102及び機能選択ボタン103からなるスイッチ・パネルとが接続されるキー・スキャナ207、図1のベンダ/モジュレーション・ホイール104が接続されるA/Dコンバータ208、図1のLCD105が接続されるLCDコントローラ209、及びMIDI(Musical Instrument Digital Interface)入力を受け付けるMIDI I/F(インタフェース)213が、それぞれシステムバス214に接続される構成を備える。また、音源LSI205から出力されるデジタル楽音波形データは、D/Aコンバータ208によりアナログ楽音波形信号に変換され、アンプ211で増幅された後に、特には図示しないスピーカ又は出力端子から出力される。 FIG. 2 is a diagram showing a hardware configuration example of an embodiment of the electronic keyboard instrument 100 of FIG. In FIG. 2, the electronic keyboard instrument 100 is connected with a CPU (Central Processing Unit) 201, a ROM (Read Only Memory) 202, a RAM (Random Access Memory) 203, a large capacity Flash memory 204, and a waveform memory 206. 1. A sound source LSI (large scale integrated circuit) 205, a key scanner 207 to which the keyboard 105 in FIG. 1 and a switch panel including the tone color selection button 102 and the function selection button 103 in FIG. 1 are connected, and the vendor/modulation in FIG. An A/D converter 208 to which the wheel 104 is connected, an LCD controller 209 to which the LCD 105 of FIG. 1 is connected, and a MIDI I/F (interface) 213 that receives a MIDI (Musical Instrument Digital Interface) input are respectively a system bus 214. Is connected to the. The digital tone waveform data output from the tone generator LSI 205 is converted into an analog tone waveform signal by the D/A converter 208, amplified by the amplifier 211, and then output from a speaker or an output terminal (not shown).

CPU201は、RAM203をワークメモリとして使用しながらROM202に記憶された制御プログラムを実行することにより、図1の電子鍵盤楽器100の制御動作を実行する。また、ROM202は、上記制御プログラム及び各種固定データを記憶する。 The CPU 201 executes the control operation of the electronic keyboard instrument 100 of FIG. 1 by executing the control program stored in the ROM 202 while using the RAM 203 as a work memory. Further, the ROM 202 stores the control program and various fixed data.

大容量フラッシュメモリ204は、波形データ等の大容量データの格納領域であり、シーケンシャルアクセスにより順次アクセスされる。一方、音源LSI205には、波形データを展開するRAMで構成される波形メモリ206が接続され、発音される楽音の波形データは必ず、この波形メモリ206上に配置されている必要がある。CPU201は、大容量フラッシュメモリ204から波形データをシーケンシャルに読みだし、それを音源LSI205経由で波形メモリ206に転送することで、音色データを入れ替えることができる。 The large-capacity flash memory 204 is a storage area for storing large-capacity data such as waveform data, and is sequentially accessed by sequential access. On the other hand, the tone generator LSI 205 is connected to a waveform memory 206 composed of a RAM for expanding waveform data, and the waveform data of a musical tone to be sounded needs to be arranged in this waveform memory 206 without fail. The CPU 201 sequentially reads the waveform data from the large-capacity flash memory 204 and transfers the waveform data to the waveform memory 206 via the tone generator LSI 205 to replace the tone color data.

LCDコントローラ209は、LCD105を制御するIC(集積回路)である。キー・スキャナ207は、鍵盤105や音色選択ボタン102又は機能選択ボタン103等のスイッチ・パネルの状態を走査して、CPU201に通知するICである。A/Dコンバータ208は、ベンダ/モジュレーション・ホイール104の操作位置を検出するICである。16bitフリーランニング・タイマカウンタ212は、イベントの時刻検出のための計時を行う。 The LCD controller 209 is an IC (integrated circuit) that controls the LCD 105. The key scanner 207 is an IC that scans the state of the switch panel such as the keyboard 105, the tone color selection button 102 or the function selection button 103, and notifies the CPU 201 of the state. The A/D converter 208 is an IC that detects the operation position of the vendor/modulation wheel 104. The 16-bit free-running timer counter 212 counts time for event time detection.

本実施形態においては、鍵域やベロシティによって音量や音高のみならず音色が変化するのを再現するために、大容量フラッシュメモリ204から波形メモリ206に、音高又は音量毎の音色の波形データが読み込まれる。このように、一つの音色に対して、音高又は音量毎に波形データを管理する手法を「音色波形スプリット」と呼び、そのように管理される波形データを「スプリット波形」と呼ぶ。図3は、音色波形スプリットの説明図である。音色波形スプリットにおいては、図3(a)に例示されるように、図1の鍵盤105上で演奏者が演奏する鍵域(図3(a)の横軸の「Key」)毎にそれぞれ波形データが割り当てられ、また同じ鍵域であっても演奏の強さすなわちベロシティ(図3(a)の縦軸の「Velocity」)毎でもそれぞれ波形データが割り当てられている。 In the present embodiment, in order to reproduce not only the volume and pitch but also the tone color depending on the key range and velocity, the waveform data of the tone color for each tone pitch or volume is stored in the waveform memory 206 from the large capacity flash memory 204. Is read. As described above, a method of managing waveform data for each pitch or volume for one tone color is called “tone color waveform split”, and waveform data managed in this way is called “split waveform”. FIG. 3 is an explanatory diagram of the tone color waveform split. In the timbre waveform split, as illustrated in FIG. 3A, the waveform is divided for each key range (“Key” on the horizontal axis of FIG. 3A) played by the performer on the keyboard 105 of FIG. 1. Data is assigned, and waveform data is also assigned for each playing strength, that is, velocity (“Velocity” on the vertical axis of FIG. 3A) even in the same key range.

波形メモリ206に記憶される波形データは、図3(b)に例示される音色波形スプリット情報テーブルに基づいて管理される。大容量フラッシュメモリ204から波形メモリ206に或る音色の波形データが演奏されるときに、CPU201が例えば図2のROM202からその音色に対応する音色波形スプリット情報テーブルのデータを読み出して音源LSI205経由で波形メモリ206内の波形データが記憶される領域とは別の管理領域に転送される。音色波形スプリット情報テーブルには、1つの音色に含まれる各波形データ毎に、その波形データの「波形番号」と、その波形データが発音されるべき鍵域及びベロシティの範囲を示す、「最低ベロシティ」、「最大ベロシティ」、「最低キーナンバ(最低キー番号)」、及び「最高キーナンバ(最高キー番号)」と、波形メモリ206に転送された1つの音色の記憶領域の先頭からのアドレスを示す「音色先頭からのアドレス」(「H」は16進数値を示す)と、その波形データのデータサイズを示す「波形サイズ」(「H」は16進数値を示す)の各項目値からなるエントリが登録される。音源LSI205は、鍵盤105上で演奏された鍵のキーナンバとベロシティを、波形メモリ206内の音色波形スプリット情報テーブルの各エントリの「最低ベロシティ」、「最大ベロシティ」、「最低キー(音高)番号」、及び「最高キー(音高)番号」の各項目の値と比較することにより、上記演奏された鍵のキーナンバとベロシティに合致するエントリを探しだす。そして、音源LSI205は、波形メモリ206に転送された対象となる音色の記憶領域の先頭から、上記探し出したエントリの「音色先頭からのアドレス」項目の値だけ進んだアドレスから、そのエントリの「波形サイズ」項目の値が示すサイズ分の波形データを演奏で指定された鍵の音高に対応する速度で読み出し、その読み出した波形データに対して演奏で指定されたベロシティの振幅エンベロープを付加し、その結果得られる波形データを出力楽音波形データとして出力する。 The waveform data stored in the waveform memory 206 is managed based on the tone color waveform split information table illustrated in FIG. When the waveform data of a certain tone color is played from the large-capacity flash memory 204 to the waveform memory 206, the CPU 201 reads the tone color waveform split information table data corresponding to the tone color from the ROM 202 of FIG. The waveform data is transferred to a management area other than the area in which the waveform data is stored in the waveform memory 206. The timbre waveform split information table indicates, for each waveform data included in one timbre, the "waveform number" of the waveform data and the "minimum velocity" which indicates the range of keys and velocities at which the waveform data should be sounded. , “Maximum velocity”, “lowest key number (lowest key number)”, and “highest key number (highest key number)”, and an address from the beginning of the storage area of one tone color transferred to the waveform memory 206. There is an entry consisting of each item value of "address from the beginning of tone color" ("H" indicates a hexadecimal value) and "waveform size" indicating the data size of the waveform data ("H" indicates a hexadecimal value). be registered. The tone generator LSI 205 uses the key number and velocity of the key played on the keyboard 105 to determine the “minimum velocity”, “maximum velocity”, and “minimum key (pitch) number” of each entry of the tone color waveform split information table in the waveform memory 206. , And “highest key (pitch) number”, and finds an entry that matches the key number and velocity of the played key. Then, the tone generator LSI 205 advances from the beginning of the storage area of the target tone color transferred to the waveform memory 206 by the value of the “address from the beginning of tone color” item of the above-mentioned entry to the “waveform of that entry”. Read the waveform data for the size indicated by the value of the "Size" item at the speed corresponding to the pitch of the key specified in the performance, add the amplitude envelope of the velocity specified in the performance to the read waveform data, The resulting waveform data is output as output tone waveform data.

1つの音色に含まれる各波形データは、大容量フラッシュメモリ204上では、図3(c)に示されるように、1本の連続したデータの塊として記録されている。その配置状態は、その音色に対応してROM202に記憶されている図3(b)に例示される音色波形スプリット情報テーブルで定義される。すなわち、1つの音色に含まれる各波形データの配置状態は、大容量フラッシュメモリ204及び波形メモリ206ともに同じであり、1つの音色波形スプリット情報テーブルで管理される。 Each waveform data included in one tone color is recorded on the large capacity flash memory 204 as one continuous data block as shown in FIG. 3C. The arrangement state is defined by the tone color waveform split information table illustrated in FIG. 3B stored in the ROM 202 corresponding to the tone color. That is, the arrangement state of each waveform data included in one tone color is the same in both the large capacity flash memory 204 and the waveform memory 206, and is managed by one tone color waveform split information table.

音色毎の波形データの数は定められていない(可変である)が、最大数と合計の最大サイズは定められている。本実施例では、図3(c)の音色波形サイズ、図3(b)の音色波形スプリット情報テーブルに例示されるように、1つの音色を構成する波形の最大数は例えば32、合計の最大サイズは例えば1MB(メガバイト)である。図3(c)の例では、1つの音色が11個の波形データから構成されていることが示されている。 The number of waveform data for each timbre is not defined (variable), but the maximum number and the maximum size of the total are defined. In the present embodiment, as illustrated in the tone color waveform size of FIG. 3C and the tone color waveform split information table of FIG. 3B, the maximum number of waveforms forming one tone color is 32, and the maximum of the total is, for example. The size is, for example, 1 MB (megabyte). The example of FIG. 3C shows that one timbre is composed of 11 pieces of waveform data.

図4(a)は、フラッシュメモリ音色情報テーブルのデータ構成例を示す図である。このフラッシュメモリ音色情報テーブルは、図2のROM202に記憶されている。図4(a)に例示されるように、フラッシュメモリ音色情報テーブルの各音色毎のエントリには、音色番号を示す「音色番号」項目値と、「音色名」項目値と、大容量フラッシュメモリ204の波形記憶領域の先頭からの記憶アドレスのオフセット(16進数)を示す「波形アドレス」項目値と、その音色に含まれる波形データ群の全体の波形サイズ(16進数)を示す「波形サイズ」項目値が記憶されている。 FIG. 4A is a diagram showing a data configuration example of the flash memory timbre information table. This flash memory tone color information table is stored in the ROM 202 of FIG. As illustrated in FIG. 4A, an entry for each timbre of the flash memory timbre information table includes a “timbre number” item value indicating a timbre number, a “timbre name” item value, and a large capacity flash memory. "Waveform address" item value indicating the offset (hexadecimal number) of the storage address from the beginning of the waveform storage area 204, and "waveform size" indicating the overall waveform size (hexadecimal number) of the waveform data group included in the tone color. The item value is stored.

発音を行うためには、CPU201が波形データを直接アクセスできる音源LSI205の波形メモリ206に読み込んでおく必要があるが、この波形メモリ206上の各波形エリアは、16音色のうちの何れか1音色の全波形データ(最大で32波形データ)を読み込むことができる容量、すなわち1メガバイトを有する。各波形データが波形メモリに読み込まれる順序は後述するように状況に応じて最適化されるが、最終的にすべての波形データが読み込まれた状態での各波形データの並び方は大容量フラッシュメモリ204上の並びと同じである。図4(b)は、大容量フラッシュメモリ204(図中では「Flashメモリ」と表示)から波形メモリ206への波形データの読込み動作を示す図である。押鍵時にはスプリットを判断してどれか1つの波形データの読出しによる発音を行うが、その波形データが波形メモリ206への読込み転送の最中である可能性もあり、必ずしも所望の波形データが波形メモリ206に読み込まれているとは限らない。本来、もし演奏の鍵域や強さに対応する波形が音源の波形メモリに存在しない場合は発音を行うことが出来ない。 In order to generate sound, it is necessary for the CPU 201 to read the waveform data into the waveform memory 206 of the tone generator LSI 205, which can be directly accessed. Each waveform area on the waveform memory 206 has one of 16 tones. It has a capacity capable of reading all waveform data (up to 32 waveform data), that is, 1 megabyte. The order in which the waveform data is read into the waveform memory is optimized according to the situation as described later, but the arrangement of the waveform data in the state where all the waveform data is finally read is determined by the large-capacity flash memory 204. Same as above. FIG. 4B is a diagram showing an operation of reading waveform data from the large capacity flash memory 204 (indicated as “Flash memory” in the figure) to the waveform memory 206. When a key is pressed, a split is determined and any one of the waveform data is read out to generate a sound. However, the waveform data may be in the process of being read and transferred to the waveform memory 206, so that the desired waveform data is not necessarily the waveform. It is not always read in the memory 206. Originally, if a waveform corresponding to the playing range or strength does not exist in the waveform memory of the sound source, no sound can be produced.

本実施形態では、波形メモリ206上に既に読込みが完了した波形データだけで一時的にスプリットのカバー範囲が拡張され、全域の演奏に対応でき、必要な波形データが徐々に波形メモリ206上に揃うに従って、そのカバー範囲が狭められてゆき、最終的に本来想定されているカバー範囲に設定されるという制御が行われる。スプリット波形は、波形読込みの途中段階では、以下のようなルールに基づいて想定範囲以上をカバーする。 In the present embodiment, the split cover range is temporarily expanded only by the waveform data that has already been read into the waveform memory 206, and the entire region can be played, and the required waveform data is gradually arranged in the waveform memory 206. Accordingly, the control is performed such that the cover range is narrowed and finally set to the originally assumed cover range. The split waveform covers more than the expected range based on the following rules in the middle of waveform reading.

軸が鍵域(Key)、軸が強さ(Velocity)という2次元の平面を考えた時、ある鍵域は常に縦割りの長方形で表すことができ、その中に複数の強さの領域を持つことができる。逆に強さの分割領域は1つの鍵域の中でしか横割りにはできない。 When considering a two-dimensional plane in which the horizontal axis is the key range (Key) and the vertical axis is the strength (Velocity), a certain key range can always be represented by a vertically divided rectangle, and multiple strengths are included in it. Can have an area of On the contrary, the strength division area can be laterally divided only within one key range.

・波形メモリに鍵域の高い波形と低い波形が読み込まれている場合は、より高い波形が低い波形の範囲をカバーする(高音優先)。 ・When waveforms with high and low key ranges are loaded in the waveform memory, the higher waveform covers the range of the lower waveform (high tone priority).

・波形メモリに同じ鍵域で弱い波形と強い波形が読み込まれている場合は、より強い波形が弱い波形の範囲をカバーする(強音優先)。 -If a weak waveform and a strong waveform are loaded in the same range in the waveform memory, the stronger waveform covers the range of the weak waveform (strong sound priority).

図5は、上述の3つのルールに基く波形データの代用によりカバー範囲を拡張する動作概念の説明図である。まず本来、図3(a)で示されるようなスプリット配置を想定して設計された音色波形があるとすると、4C、2B、3B、4A、5Aのスプリット波形の順に波形メモリへの読込みを行った場合、下記の様なカバー範囲が実現される。 FIG. 5 is an explanatory diagram of an operation concept for expanding the coverage by substituting the waveform data based on the above three rules. First, assuming that there is a tone color waveform originally designed assuming a split arrangement as shown in FIG. 3A, the split waveforms of 4C, 2B, 3B, 4A, and 5A are read into the waveform memory in this order. In this case, the following cover range is realized.

(A)4が読み込まれた状態
・4のスプリット波形だけで全領域をカバー。
(A) 4 C is read ・The entire area is covered with only the 4 C split waveform.

(B)4、2Bが読み込まれた状態
・2Bによって、2Bより下の鍵域を全てカバー。
・4Cによって、4Cより上の鍵域と、2Bと4Cとの間の鍵域を全てカバー。
(B) 4C , 2B is read-By 2B, the entire key range below 2B is covered.
・By 4C, the key range above 4C and the key range between 2B and 4C are all covered.

(C)4、2B、3Bが読み込まれた状態
・2Bによって、2Bより下の鍵域を全てカバー。
・3Bによって、3Bの鍵域を全てカバー。
・4Cによって、4Cより上の鍵域を全てカバー。
(C) 4C , 2B, and 3B read-By 2B, the entire key range below 2B is covered.
・By 3B, the entire key range of 3B is covered.
・By 4C, all the key range above 4C is covered.

(d)4、2B、3B、4Aが読み込まれた状態
・2Bによって、2Bより下の鍵域を全てカバー。
・3Bによって、3Bの鍵域を全てカバー。
・4Cによって、4Aより上の強さで、4Cより上の鍵域を全てカバー。
・4Aによって、4Aの鍵域のみをカバー。
(D) 4C , 2B, 3B, and 4A are read. 2B covers the entire key range below 2B.
・By 3B, the entire key range of 3B is covered.
・By 4C, it covers all the key range above 4C with the strength above 4A.
・By 4A, only the key range of 4A is covered.

(E)4、2B、3B、4A、5Aが読み込まれた状態
・2Bによって、2Bより下の鍵域を全てカバー。
・3Bによって、3Bの鍵域を全てカバー。
・4Cによって、4Aより上の強さで、4Cの鍵域を全てカバー。
・4Aによって、4Aの鍵域のみをカバー。
・5Aによって、5Aの鍵域を全てカバー。
(E) 4C , 2B, 3B, 4A, 5A read-By 2B, the entire key range below 2B is covered.
・By 3B, the entire key range of 3B is covered.
・By 4C, it covers the entire key range of 4C with strength higher than 4A.
・By 4A, only the key range of 4A is covered.
・By 5A, the entire key area of 5A is covered.

本実施形態における波形データの読出し順序は、例えば波形データの代用に依る音色の劣化が最小限と成るようなスプリット配置を考慮して、音色毎に最適値を固定的に持たせ、これに従うこととする。 The reading order of the waveform data in the present embodiment should be set to an optimum value fixedly for each tone color in consideration of the split arrangement in which the deterioration of the tone color due to the substitution of the waveform data is minimized, for example. And

また、本実施形態では、演奏やユーザインターフェースの処理が滞らないように波形読込み処理がバックグラウンドで実行されている。前述の「読込み優先度」情報は、この波形読み込み処理によって渡されて、この順序に従って大容量フラッシュメモリ204上の波形データが音源LSI205の波形メモリ206に転送される。 Further, in the present embodiment, the waveform reading process is executed in the background so that the performance and the process of the user interface are not delayed. The above-mentioned "reading priority" information is passed by this waveform reading processing, and the waveform data on the large-capacity flash memory 204 is transferred to the waveform memory 206 of the tone generator LSI 205 in this order.

図6は、図2のCPU201が実行する制御処理において使用する主要な変数/定数の一覧を示す図であり、図6(a)はRAM203上の主要な変数の一覧、図6(b)はROM202上の主要な定数の一覧である。各変数/定数については、後述する制御処理の詳細説明において詳述する。 6 is a diagram showing a list of main variables/constants used in the control processing executed by the CPU 201 of FIG. 2, FIG. 6(a) is a list of main variables on the RAM 203, and FIG. 6(b) is It is a list of main constants on the ROM 202. Each variable/constant will be described in detail in the detailed description of the control process described later.

以下に、上述の動作を実現するためにCPU201が実行する制御処理の詳細例について説明する。 Below, a detailed example of the control processing executed by the CPU 201 to realize the above-described operation will be described.

図7は、CPU201が実行する制御処理の全体処理の例を示すメインルーチンのフローチャートである。この処理例は、CPU201がROM202に記憶された制御プログラムを実行する処理例である。 FIG. 7 is a flowchart of the main routine showing an example of the overall processing of the control processing executed by the CPU 201. In this processing example, the CPU 201 executes the control program stored in the ROM 202.

CPU201は、まずRAM203の内容を初期化した後(ステップS701)、ステップS702からS711の一連の処理で示される定常ループ処理に入る。 The CPU 201 first initializes the contents of the RAM 203 (step S701), and then enters a steady loop process shown as a series of processes of steps S702 to S711.

定常ループ処理では、CPU201はまず、ユーザインタフェース処理(図中「ユーザI/F」と表示)を実行する(ステップS702)。ここでは、CPU201は、図2のキー・スキャナ207を介して図1の音色選択ボタン102の状態を取得する。 In the steady loop process, the CPU 201 first executes a user interface process (displayed as “user I/F” in the figure) (step S702). Here, the CPU 201 acquires the state of the tone color selection button 102 of FIG. 1 via the key scanner 207 of FIG.

次に、CPU201は、ステップS702の処理の結果、演奏者が音色選択ボタン102を操作することにより音色選択イベントが発生したか否かを判定する(ステップS703)。 Next, as a result of the processing of step S702, the CPU 201 determines whether or not a tone color selection event has occurred by the player operating the tone color selection button 102 (step S703).

そして、CPU201は、音色切り替えが発生した場合(ステップS703の判定がYesの場合)は、音色切替え処理を実行する(ステップS704)。ステップS703の判定がNoならば、CPU201は、ステップS704の処理はスキップする。 Then, the CPU 201 executes the tone color switching process when the tone color switching has occurred (when the determination in step S703 is Yes) (step S704). If the determination in step S703 is No, the CPU 201 skips the process of step S704.

次に、CPU201は、鍵盤処理を実行する(ステップS705)。ここでは、CPU201は、図2のキー・スキャナ207を介して図1の鍵盤105の押鍵状態を取得する。 Next, the CPU 201 executes keyboard processing (step S705). Here, the CPU 201 acquires the key depression state of the keyboard 105 of FIG. 1 via the key scanner 207 of FIG.

次に、CPU201は、ステップS705の処理の結果、演奏者が鍵盤105上の何れかの鍵を押鍵することにより押鍵イベントが発生したか否かを判定する(ステップS706)。 Next, as a result of the processing of step S705, the CPU 201 determines whether or not a key pressing event has occurred by the player pressing any key on the keyboard 105 (step S706).

そして、CPU201は、押鍵イベントが発生した場合(ステップS706の判定がYesの場合)は、音源発音処理を実行する(ステップS707)。ステップS706の判定がNoならば、CPU201は、ステップS707の処理はスキップする。 Then, when a key depression event occurs (when the determination in step S706 is Yes), the CPU 201 executes sound source sound generation processing (step S707). If the determination in step S706 is No, the CPU 201 skips the process of step S707.

続いて、CPU201は、ステップS705の処理の結果、演奏者が鍵盤105上の何れかの押鍵中の鍵を離鍵することにより離鍵イベントが発生したか否かを判定する(ステップS708)。 Subsequently, as a result of the processing of step S705, the CPU 201 determines whether or not a key release event has occurred due to the player releasing a key being pressed on the keyboard 105 (step S708). ..

そして、CPU201は、離鍵イベントが発生した場合(ステップS708の判定がYesの場合)は、音源リリース処理を実行する(ステップS709)。ステップS708の判定がNoならば、CPU201は、ステップS709の処理はスキップする。 Then, when the key release event occurs (when the determination in step S708 is Yes), the CPU 201 executes the sound source release process (step S709). If the determination in step S708 is No, the CPU 201 skips the process of step S709.

その後、CPU201は、音源定常サービス処理を実行する(ステップS710)。ここでは、例えば図1の機能選択ボタン103が押された場合に対応する処理や、図1のベンダ/モジュレーション・ホイール104が操作された場合に対応する処理等の、電子鍵盤楽器100に対する一般的な処理が実行される。 After that, the CPU 201 executes a sound source steady service process (step S710). Here, for example, a general process for the electronic keyboard instrument 100 such as a process corresponding to a case where the function selection button 103 of FIG. 1 is pressed, a process corresponding to a case of operating the vendor/modulation wheel 104 of FIG. Processing is executed.

最後に、CPU201は、波形読込み処理を実行する(ステップS711)。 Finally, the CPU 201 executes a waveform reading process (step S711).

その後、CPU201は、ステップS702の定常ループ処理の先頭に戻る。 After that, the CPU 201 returns to the beginning of the steady loop process of step S702.

図8は、図7のステップS701の初期化処理の詳細例を示すフローチャートである。 FIG. 8 is a flowchart showing a detailed example of the initialization process of step S701 of FIG.

まず、CPU201は、RAM203上の図6に示されるメモリバックアップされない「変数」(「メモリバックアップ」項目に「×」が記載されている変数)の値を、全て「0」にする(以上、ステップS801)。 First, the CPU 201 sets all the values of “variables” (variables in which “x” is described in the “memory backup” item) in the RAM 203, which are not backed up in memory, to “0” (the above steps S801).

次に、CPU201は、音色波形情報転送サブルーチンの処理を実行する(ステップS802)。図9は、図のステップS802の音色波形情報転送サブルーチンの詳細処理例を示すフローチャートである。この処理では、ROM202に予め記憶されている図3(b)に例示される音色波形スプリット情報テーブルの各項目値(図6(b)のROM_WM_ST構造体参照)が、変数Wが示す現在の波形番号値に対応するRAM203上の上記各項目値を格納する構造体要素に転送される。 Next, the CPU 201 executes the processing of the timbre waveform information transfer subroutine (step S802). Figure 9 is a flowchart showing a detailed processing example of the tone color waveform information transfer subroutine in step S802 of FIG. 8. In this process, each item value (see ROM_WM_ST structure in FIG. 6B) of the tone color waveform split information table illustrated in FIG. 3B stored in the ROM 202 in advance is the current waveform indicated by the variable W. It is transferred to the structure element that stores each item value on the RAM 203 corresponding to the number value.

CPU201はまず、読込み音色の波形の大容量フラッシュメモリ204上での格納先頭アドレス値を保持するRAM203上の変数FLASH_OFFSET(図6(a)参照)に、メモリバックアップされているRAM203上の変数C_TONEが示す現在の音色番号に対応し、ROM202に記憶されている読込み音色の波形の大容量フラッシュメモリ204上での格納先頭アドレス値ROM_WAVE_OFFSET[C_TONE](図6(b)の「ROM_WAVE_OFFSET」参照)を格納する(ステップS901)。 The CPU 201 first sets the variable FLASH_OFFSET (see FIG. 6A) on the RAM 203 that holds the storage start address value of the waveform of the read tone color on the large capacity flash memory 204 to the variable C_TONE on the RAM 203 that is backed up in memory. Stores, in the large-capacity flash memory 204, the read tone color waveform stored in the ROM 202 corresponding to the present tone color number. Stores the start address value ROM_WAVE_OFFSET[C_TONE] (see "ROM_WAVE_OFFSET" in FIG. 6B). Yes (step S901).

次に、CPU201は、波形メモリ206上の波形エリア毎の波形番号カウント用のRAM203上の変数Wの値について、ステップS902で「0」にリセットした後、ステップS904で+1ずつインクリメントしながら、ステップS905で32に達したと判定するまで、変数Wが示す現在の波形番号値に対応する図3(b)に例示される音色波形スプリット情報テーブルの各項目値を格納する各構造体要素に、ROM202に予め記憶されている各項目値を格納する処理(ステップS903)を、繰り返し実行する。即ち、変数Wが示す波形番号値の波形データが本来発音する範囲の最小ベロシティが格納される構造体要素WM_ST[W].ORG_VEL_LOに、メモリバックアップされているRAM203上の変数C_TONEが示す現在の音色番号と変数Wが示す現在の波形番号値に対応し、ROM202に記憶されている「最低ベロシティ」値ROM_WM_ST[C_TONE][W].VEL_LOの値が格納される。また、変数Wが示す波形番号値の波形データが本来発音する範囲の最大ベロシティが格納される構造体要素WM_ST[W].ORG_VEL_HIに、変数C_TONEが示す現在の音色番号と変数Wが示す現在の波形番号値に対応し、ROM202に記憶されている「最高ベロシティ」値ROM_WM_ST[C_TONE][W].VEL_HIの値が格納される。また、変数Wが示す波形番号値の波形データが本来発音する範囲の最低キーナンバが格納される構造体要素WM_ST[W].KEY_LOに、変数C_TONEが示す現在の音色番号と変数Wが示す現在の波形番号値に対応し、ROM202に記憶されている「最低キーナンバ」値ROM_WM_ST[C_TONE][W].KEY_LOの値が格納される。また、変数Wが示す波形番号値の波形データが本来発音する範囲の最高キーナンバが格納される構造体要素WM_ST[W].ORG_KEY_HIに、変数C_TONEが示す現在の音色番号と変数Wが示す現在の波形番号値に対応し、ROM202に記憶されている「最高キーナンバ」値ROM_WM_ST[C_TONE][W].KEY_HIの値が格納される。更に、構造体要素WM_ST[W].OFFSET_ADRSに、変数C_TONEが示す現在の音色番号と変数Wが示す現在の波形番号値に対応し、ROM202に記憶されている波形メモリ206に転送された1つの音色の記憶領域の先頭からのアドレスを示す「音色先頭からのアドレス」値ROM_WM_ST[C_TONE][W].OFFSETの値が格納される。加えて、構造体要素WM_ST[W].WAVE_SIZEに、変数C_TONEが示す現在の音色番号と変数Wが示す現在の波形番号値に対応し、ROM202に記憶されている波形メモリ206に転送された波形データのデータサイズを示す「波形サイズ」値ROM_WM_ST[C_TONE][W].WAVE_SIZEの値が格納される。また、図3(b)には記載していないが、構造体要素WM_ST[W].PRIに、変数C_TONEが示す現在の音色番号と変数Wが示す現在の波形番号値に対応し、ROM202に記憶されている波形メモリ206に転送される波形データの読込み優先度値ROM_WM_ST[C_TONE][W].PRIの値が格納される。 Next, the CPU 201 resets the value of the variable W on the RAM 203 for counting the waveform number for each waveform area on the waveform memory 206 to “0” in step S902, and then increments by 1 in step S904, Until it is determined in S905 that 32 has been reached, each structure element that stores each item value of the tone color waveform split information table illustrated in FIG. 3B corresponding to the current waveform number value indicated by the variable W, The process of storing each item value stored in advance in the ROM 202 (step S903) is repeatedly executed. That is, the structure element WM_ST[W]. where the minimum velocity of the range in which the waveform data having the waveform number value indicated by the variable W originally sounds is stored. The "minimum velocity" value ROM_WM_ST[C_TONE][W corresponding to the current tone color number indicated by the variable C_TONE on the RAM 203 and the current waveform number value indicated by the variable W on the RAM 203 backed up in the memory ORG_VEL_LO is stored in the ROM 202. ]. The value of VEL_LO is stored. In addition, the structure element WM_ST[W]., in which the maximum velocity of the range in which the waveform data having the waveform number value indicated by the variable W originally sounds is stored. ORG_VEL_HI corresponds to the current timbre number indicated by the variable C_TONE and the current waveform number value indicated by the variable W, and corresponds to the “highest velocity” value ROM_WM_ST[C_TONE][W]. The value of VEL_HI is stored. Further, the structure element WM_ST[W]., in which the lowest key number in the range in which the waveform data having the waveform number value indicated by the variable W should originally sound is stored. KEY_LO is the "lowest key number" value ROM_WM_ST[C_TONE][W].W that is stored in the ROM 202 and corresponds to the current tone color number indicated by the variable C_TONE and the current waveform number value indicated by the variable W. The value of KEY_LO is stored. Further, the structure element WM_ST[W]., in which the highest key number in the range in which the waveform data having the waveform number value indicated by the variable W originally sounds is stored. ORG_KEY_HI corresponds to the current tone color number indicated by the variable C_TONE and the current waveform number value indicated by the variable W, and corresponds to the "highest key number" value ROM_WM_ST[C_TONE][W]. The value of KEY_HI is stored. Further, the structure element WM_ST[W]. In OFFSET_ADRS, the address from the beginning of the storage area of one timbre transferred to the waveform memory 206 stored in the ROM 202, which corresponds to the current timbre number indicated by the variable C_TONE and the current waveform number value indicated by the variable W, is set. “Address from the beginning of tone color” value ROM_WM_ST[C_TONE][W]. The value of OFFSET is stored. In addition, the structure element WM_ST[W]. WAVE_SIZE corresponds to the current tone color number indicated by the variable C_TONE and the current waveform number value indicated by the variable W, and a “waveform size” value indicating the data size of the waveform data transferred to the waveform memory 206 stored in the ROM 202. ROM_WM_ST[C_TONE][W]. The value of WAVE_SIZE is stored. Although not shown in FIG. 3B, the structure element WM_ST[W]. In the PRI, the reading priority value ROM_WM_ST[C_TONE][ of the waveform data corresponding to the current tone color number indicated by the variable C_TONE and the current waveform number value indicated by the variable W and transferred to the waveform memory 206 stored in the ROM 202 is read. W]. The value of PRI is stored.

以上のステップS902からS905までの一連の繰返し動作が、32の波形データについて繰り返し実効された後、CPU201は、図9のフローチャートで示される図8のステップS802の音色波形情報転送サブルーチンの処理を終了する。 After the series of repetitive operations from steps S902 to S905 are repeatedly executed for 32 waveform data, the CPU 201 ends the process of the tone color waveform information transfer subroutine of step S802 of FIG. 8 shown in the flowchart of FIG. To do.

ステップS802の後、CPU201は、現在読込み中の波形の番号を示す変数READING_WAVE(図6(a)参照)に、無効値「−1」を格納する(ステップS803)。その後、CPU201は、図8のフローチャートで例示される図7のステップS701の初期化処理を終了する。 After step S802, the CPU 201 stores the invalid value “−1” in the variable READING_WAVE (see FIG. 6A) indicating the number of the waveform currently being read (step S803). After that, the CPU 201 ends the initialization process of step S701 of FIG. 7 exemplified by the flowchart of FIG.

図10は、図7のステップS707の音源発音処理の詳細例を示すフローチャートである。 FIG. 10 is a flowchart showing a detailed example of the sound source sound generation process of step S707 of FIG.

CPU201はまず押鍵時に、スプリット波形検索サブルーチンにより、押鍵に対応する鍵域及びベロシティに基づいて、現在選択されている音色中でその押鍵により発音されるべき波形データの波形番号を割り出し、その波形番号をRAM203上の変数Wに格納する(ステップS1001)。 At the time of key depression, the CPU 201 first determines the waveform number of the waveform data to be sounded by the key depression in the currently selected tone color by the split waveform search subroutine based on the key range and velocity corresponding to the key depression. The waveform number is stored in the variable W on the RAM 203 (step S1001).

次に、CPU201は、変数Wが示す現在の波形番号値に対応する波形メモリ206上での波形の有無を示す要素WM_ST[W].WAVE(図6(a)参照)の値が「1」であるか否か、すなわち、変数Wが示す波形番号に対応する波形データが波形メモリ206の波形エリアに存在するかどうかを判定する(ステップS1002)。 Next, the CPU 201 determines the element WM_ST[W].W that indicates the presence/absence of a waveform on the waveform memory 206 corresponding to the current waveform number value indicated by the variable W. It is determined whether or not the value of WAVE (see FIG. 6A) is “1”, that is, whether or not the waveform data corresponding to the waveform number indicated by the variable W exists in the waveform area of the waveform memory 206 ( Step S1002).

CPU201は、ステップS1002の判定がYesならば、その波形データに対する発音処理を、音源LSI205に対して指示する発音処理を実行する(ステップS1003)。CPU201は、ステップS1002の判定がNoならば、ステップS1003の発音処理はスキップする。 If the determination in step S1002 is Yes, the CPU 201 executes the tone generation process for instructing the tone generator LSI 205 to perform the tone generation process on the waveform data (step S1003). If the determination in step S1002 is No, the CPU 201 skips the sounding process in step S1003.

図11は、図10のステップS1001のスプリット波形検索サブルーチンの詳細処理例を示すフローチャートである。 FIG. 11 is a flowchart showing a detailed processing example of the split waveform search subroutine of step S1001 of FIG.

CPU201はまず、波形メモリ206上の波形エリア毎の波形番号カウント用のRAM203上の変数Wについて、ステップS1101で波形番号カウンタWに値「0」を格納した後、ステップS1106で+1ずつインクリメントしながら、ステップS1107で32に達したと判定するまで、ステップS1102からS1105までの一連の処理を、繰り返し実行する。 First, the CPU 201 stores the value “0” in the waveform number counter W in step S1101 for the variable W in the RAM 203 for counting the waveform number for each waveform area in the waveform memory 206, and then increments it by +1 in step S1106. The series of processes from step S1102 to step S1105 is repeatedly executed until it is determined in step S1107 that the number reaches 32.

これらの一連の処理において、CPU201はまず、変数Kに格納された現在押鍵中のキーナンバの値が、変数Wが示す現在の波形番号値に対応する最低キーナンバ要素値WM_ST[W].KEY_LO(図6(a)参照)の値以上であるか否かを判定する(ステップS1102)。ここで、最低キーナンバ要素値WM_ST[W].KEY_LOとしては、変数C_TONEが示す現在選択されている音色に対応するROM202内の音色波形スプリット情報テーブル(図3(b)参照)の「最低キーナンバ」項目値が予めコピーされている(前述した図8のステップS802内の図9のステップS903参照)。ステップS1102の判定がNoならば、変数Wが示す波形番号の波形データは現在押鍵中の鍵域及びベロシティに対応するスプリット波形ではないため、ステップS1106に移行する。 In a series of these processes, the CPU 201 first determines that the key number value currently being pressed in the variable K is the lowest key number element value WM_ST[W].W that corresponds to the current waveform number value indicated by the variable W. It is determined whether or not the value is KEY_LO (see FIG. 6A) or more (step S1102). Here, the lowest key number element value WM_ST[W]. As the KEY_LO, the "minimum key number" item value of the tone color waveform split information table (see FIG. 3B) in the ROM 202 corresponding to the currently selected tone color indicated by the variable C_TONE is copied in advance (see the above-mentioned figure. 8 in step S802 (see step S903 in FIG. 9). If the determination in step S1102 is No, the waveform data of the waveform number indicated by the variable W is not a split waveform corresponding to the key range and velocity currently being pressed, so the process moves to step S1106.

ステップS1102の判定がYesならば、CPU201は、変数Kに格納された現在押鍵中のキーナンバの値が、変数Wが示す現在の波形番号値に対応する最高キーナンバ要素値WM_ST[W].KEY_HI(図6(a)参照)の値以下であるか否かを判定する(ステップS1103)。ここで、最高キーナンバ要素値WM_ST[W].KEY_HIとしては、変数C_TONEが示す現在選択されている音色に対応するROM202内の音色波形スプリット情報テーブル(図3(b)参照)の「最高キーナンバ」項目値が予めコピーされている(前述した図8のステップS802内の図9のステップS903参照)。ステップS1103の判定がNoならば、変数Wが示す波形番号の波形データは現在押鍵中の鍵域及びベロシティに対応するスプリット波形ではないため、ステップS1106に移行する。 If the determination in step S1102 is Yes, the CPU 201 determines that the key number value currently being pressed in the variable K is the highest key number element value WM_ST[W].W that corresponds to the current waveform number value indicated by the variable W. It is determined whether or not the value is less than or equal to the value of KEY_HI (see FIG. 6A) (step S1103). Here, the highest key number element value WM_ST[W]. As the KEY_HI, the “highest key number” item value of the tone color waveform split information table (see FIG. 3B) in the ROM 202 corresponding to the currently selected tone color indicated by the variable C_TONE is copied in advance (see the above-mentioned figure. 8 in step S802 (see step S903 in FIG. 9). If the determination in step S1103 is No, the waveform data of the waveform number indicated by the variable W is not a split waveform corresponding to the key range and velocity currently being pressed, so the process moves to step S1106.

ステップS1103の判定がYesならば、CPU201は、変数Vに格納された現在押鍵中のベロシティの値が、変数Wが示す現在の波形番号値に対応する最低ベロシティ要素値WM_ST[W].VEL_LO(図6(a)参照)の値以上であるか否かを判定する(ステップS1104)。ここで、最低ベロシティ要素値WM_ST[W].VEL_LOとしては、変数C_TONEが示す現在選択されている音色に対応するROM202内の音色波形スプリット情報テーブル(図3(b)参照)の「最低ベロシティ」項目値が予めコピーされている(前述した図8のステップS802内の図9のステップS903参照)。ステップS1104の判定がNoならば、変数Wが示す波形番号の波形データは現在押鍵中の鍵域及びベロシティに対応するスプリット波形ではないため、ステップS1106に移行する。 If the determination in step S1103 is Yes, the CPU 201 determines that the velocity value during key depression currently stored in the variable V corresponds to the minimum velocity element value WM_ST[W]. It is determined whether or not the value is VEL_LO (see FIG. 6A) or more (step S1104). Here, the minimum velocity element value WM_ST[W]. As the VEL_LO, the “minimum velocity” item value of the tone color waveform split information table (see FIG. 3B) in the ROM 202 corresponding to the currently selected tone color indicated by the variable C_TONE is copied in advance (see the above-mentioned figure. 8 in step S802 (see step S903 in FIG. 9). If the determination in step S1104 is No, the waveform data of the waveform number indicated by the variable W is not a split waveform corresponding to the key range and velocity currently being pressed, so the process moves to step S1106.

ステップS1104の判定がYesならば、CPU201は、変数Vに格納された現在押鍵中のベロシティの値が、変数Wが示す現在の波形番号値に対応する最高ベロシティ要素値WM_ST[W].VEL_HI(図6(a)参照)の値以下であるか否かを判定する(ステップS1105)。ここで、最高ベロシティ要素値WM_ST[W].VEL_HIとしては、変数C_TONEが示す現在選択されている音色に対応するROM202内の音色波形スプリット情報テーブル(図3(b)参照)の「最高ベロシティ」項目値が予めコピーされている(前述した図8のステップS802内の図9のステップS903参照)。ステップS1105の判定がNoならば、変数Wが示す波形番号の波形データは現在押鍵中の鍵域及びベロシティに対応するスプリット波形ではないため、ステップS1106に移行する。 If the determination in step S1104 is Yes, the CPU 201 determines that the velocity value of the currently depressed key stored in the variable V is the highest velocity element value WM_ST[W].W that corresponds to the current waveform number value indicated by the variable W. It is determined whether or not it is less than or equal to the value of VEL_HI (see FIG. 6A) (step S1105). Here, the highest velocity element value WM_ST[W]. As VEL_HI, the “maximum velocity” item value of the tone color waveform split information table (see FIG. 3B) in the ROM 202 corresponding to the currently selected tone color indicated by the variable C_TONE is copied in advance (see the above-mentioned figure. 8 in step S802 (see step S903 in FIG. 9). If the determination in step S1105 is No, the waveform data of the waveform number indicated by the variable W is not a split waveform corresponding to the key range and velocity currently being pressed, so the process moves to step S1106.

ステップS1105の判定がYesならば、現在押鍵中の鍵域が変数Wが示す波形番号の波形データに設定されている最低キーナンバ以上最高キーナンバ以下の範囲にあり、かつ現在押鍵中のベロシティが上記波形データに設定されている最低ベロシティ以上最高ベロシティ以下の範囲にあり、現在の押鍵に対して発音処理されるべき波形データである。このため、CPU201は、変数Wが示す波形番号を戻り値として、図11のフローチャートで示される図10のステップS1001のスプリット波形検索サブルーチンを終了する。なお、このサブルーチンの戻り値は波形番号Wであるが、理論的にはスプリットの設定によっては発音しない鍵域を残すことも可能であり、その場合は波形番号として例えば32を返す。 If the determination in step S1105 is Yes, the key range currently being pressed is within the range of the minimum key number to the maximum key number set in the waveform data of the waveform number indicated by the variable W, and the velocity currently being pressed is The waveform data is in the range of the minimum velocity to the maximum velocity set to the above waveform data and is to be sounded for the current key depression. Therefore, the CPU 201 ends the split waveform search subroutine of step S1001 of FIG. 10 shown in the flowchart of FIG. 11 with the waveform number indicated by the variable W as a return value. Although the return value of this subroutine is the waveform number W, theoretically it is possible to leave a key range that does not sound depending on the setting of the split, in which case 32 is returned as the waveform number.

図12は、図7のステップS704の音色切替え処理の詳細例を示すフローチャートである。ここで、RAM203上の変数Tに演奏者によって選択された音色番号が設定されているとする。 FIG. 12 is a flowchart showing a detailed example of the tone color switching process of step S704 of FIG. Here, it is assumed that the tone color number selected by the performer is set in the variable T on the RAM 203.

CPU201はまず、変数Tに得られた音色番号が、変数C_TONEに得られている現在の音色番号に一致するか否かを判定する(ステップS1201)。ステップS1201の判定がYesならば、音色を切り替える必要はないため、そのまま図12のフローチャートで示される図7のステップS704の音色切替え処理を終了する。 The CPU 201 first determines whether or not the timbre number obtained in the variable T matches the current timbre number obtained in the variable C_TONE (step S1201). If the determination in step S1201 is Yes, there is no need to switch the timbre, so the timbre switching process of step S704 of FIG. 7 shown in the flowchart of FIG. 12 is terminated.

ステップS1201の判定がNoならば、CPU201はまず、図2の音源LSI205に対して現在の発音を停止させる(ステップS1202)。 If the determination in step S1201 is No, the CPU 201 first causes the sound source LSI 205 of FIG. 2 to stop the current sound generation (step S1202).

次に、CPU201は、変数C_TONEに、変数Tに新たに得られた音色番号の値を格納する(ステップS1203)。 Next, the CPU 201 stores the value of the tone color number newly obtained in the variable T in the variable C_TONE (step S1203).

次に、CPU201は、波形メモリ206上の波形エリア毎の波形番号カウント用のRAM203上の変数Wの値について、ステップS1204で「0」にリセットした後、ステップS1206で+1ずつインクリメントしながら、ステップS1207で32に達したと判定するまで、変数Wが示す現在の波形番号値に対応する波形メモリ206上での波形の有無を示す要素WM_ST[W].WAVE(図6(a)参照)に無効値「0」を格納して初期化する処理(ステップS1205)を、繰り返し実行する。 Next, the CPU 201 resets the value of the variable W on the RAM 203 for counting the waveform number for each waveform area on the waveform memory 206 to "0" at step S1204, and then increments it by +1 at step S1206. Until it is determined in step S1207 that 32 has been reached, an element WM_ST[W].W that indicates the presence or absence of a waveform on the waveform memory 206 corresponding to the current waveform number value indicated by the variable W. The process of storing the invalid value “0” in WAVE (see FIG. 6A) and initializing it (step S1205) is repeatedly executed.

その後、CPU201は、図7のステップS701の初期化処理における図8のステップS802及びS803と同様の、音色波形情報転送サブルーチンの処理(ステップS1208)を実行する。ステップS1208の処理により、新たな音色に対して、ROM202上の音色波形スプリット情報テーブルの各項目値がRAM203に転送される。また、CPU201は、図7のステップS701の初期化処理における図8のステップS803と同様の、変数READING_WAVEに無効値「−1」を格納する処理(ステップS1209)を実行する。 After that, the CPU 201 executes the processing of the tone color waveform information transfer subroutine (step S1208) similar to steps S802 and S803 of FIG. 8 in the initialization processing of step S701 of FIG. By the processing of step S1208, each item value of the tone color waveform split information table on the ROM 202 is transferred to the RAM 203 for the new tone color. Further, the CPU 201 executes a process of storing an invalid value “−1” in the variable READING_WAVE (step S1209), which is similar to step S803 of FIG. 8 in the initialization process of step S701 of FIG.

その後、CPU201は、図12のフローチャートで示される図7のステップS704の音色切替え処理を終了する。 After that, the CPU 201 ends the tone color switching process of step S704 of FIG. 7 shown in the flowchart of FIG.

図13及び図14は、図7のステップS711の波形読込み処理の詳細例を示すフローチャートである。演奏による発音処理を止めないようにするために、図7に例示したメインループにおいて、ステップS711で波形読込み処理だけに処理を集中させず、他の処理も並行に処理するために、ステップS711で波形読込み処理の1回の実行においては、一定の容量のメモリ転送が完了した時点で処理を中断し、他のメインループの処理を行って再び波形転送プログラムが起動された時に処理が再開される。 13 and 14 are flowcharts showing a detailed example of the waveform reading process of step S711 of FIG. In order not to stop the pronunciation process by the performance, in the main loop illustrated in FIG. 7, the process is not concentrated only in the waveform reading process in step S711, and other processes are processed in parallel in step S711. In one execution of the waveform reading process, the process is interrupted when the memory transfer of a certain capacity is completed, the process of another main loop is performed, and the process is restarted when the waveform transfer program is started again. ..

CPU201はまず、RAM203上の変数である現在読込み中の波形の番号READING_WAVEの値が無効値「−1」であるか否か、すなわち、現在波形データの読込みが行われていないか否かを判定する(図13のステップS1301)。 The CPU 201 first determines whether or not the value of the waveform number READING_WAVE currently being read, which is a variable on the RAM 203, is an invalid value “−1”, that is, whether or not the waveform data is currently being read. (Step S1301 in FIG. 13).

現在波形データの読込みが行われていない(ステップS1301の判定がYesである)場合には、CPU201は、最優先読込み波形検索サブルーチンを実行する(図13のステップS1302)。この処理では、RAM203の読込み優先度を格納する構造体要素WP_ST[W].PRI(0≦W≦31)(図5(b)及び図6(a)参照)の値が順次調べられ、波形転送が必要かつ、完了していないもの中で最も優先順位の高い波形データが選定される。図15は、図13のステップS1302の最優先読込み波形検索サブルーチンの詳細処理例を示すフローチャートである。 If the waveform data is not currently being read (the determination in step S1301 is Yes), the CPU 201 executes the highest priority read waveform search subroutine (step S1302 in FIG. 13). In this process, the structure element WP_ST[W]. The values of PRI (0≦W≦31) (see FIG. 5(b) and FIG. 6(a)) are sequentially checked, and the waveform data with the highest priority among those that need to be transferred and have not been completed is found. Selected. FIG. 15 is a flowchart showing a detailed processing example of the highest priority read waveform search subroutine in step S1302 of FIG.

図15のフローチャートにおいて、CPU201はまず、読込み優先度の値が格納される変数Pの値を、ステップS1205で最低優先度より一つ低い値「32」に初期化する。また、CPU201は、波形番号カウンタとして動作するRAM203上の変数Xの値を「0」に初期化する。更に、CPU201は、最高優先度の波形番号を格納する変数をWとする(ステップS1501)。 In the flowchart of FIG. 15, the CPU 201 first initializes the value of the variable P in which the value of the read priority is stored to “32” which is one lower than the lowest priority in step S1205. Further, the CPU 201 initializes the value of the variable X on the RAM 203, which operates as a waveform number counter, to “0”. Further, the CPU 201 sets W to a variable that stores the highest-priority waveform number (step S1501).

その後、CPU201は、変数Xの値について、上述のようにステップS1501で「0」にリセットした後、ステップS1505で+1ずつインクリメントしながら、ステップS1506で32に達したと判定するまで、ステップS1502からS1504までの一連の処理を、繰り返し実行する。 After that, the CPU 201 resets the value of the variable X to “0” in step S1501 as described above, increments the value by +1 in step S1505, and then determines in step S1506 that the value reaches 32, from step S1502. A series of processing up to S1504 is repeatedly executed.

これらの一連の処理において、CPU201はまず、変数Xが示す波形番号に対応する構造体WM_ST[X].WAVE(図6(a)参照)の値が0であるか否か、即ち、変数Xが示す波形番号の波形データが波形メモリ206上に存在しないか否かを判定する(ステップS1502)。 In the series of processes described above, the CPU 201 first determines that the structure WM_ST[X]. It is determined whether the value of WAVE (see FIG. 6A) is 0, that is, whether the waveform data of the waveform number indicated by the variable X does not exist in the waveform memory 206 (step S1502).

当該波形データが波形メモリ206上に存在しない場合(ステップS1502の判定がYesの場合)、CPU201は、変数Xが示す波形番号に対応する構造体WM_ST[X].PRIの値が変数Pの値よりも小さいか否か、即ち、変数Xが示す波形番号の波形データの読込み優先度が、変数Pに設定されている現時点で最も高い優先度よりも高いか否かを判定する(ステップS1503)。 When the waveform data does not exist in the waveform memory 206 (when the determination in step S1502 is Yes), the CPU 201 determines that the structure WM_ST[X]. Whether the value of PRI is smaller than the value of variable P, that is, whether the reading priority of the waveform data of the waveform number indicated by variable X is higher than the highest priority currently set in variable P. It is determined (step S1503).

ステップS1503の判定がYesならば、CPU201は、変数Pの値を変数Xが示す波形番号に対応する構造体WM_ST[X].PRIの値で置き換え、最高優先度の波形番号を格納する変数Wに変数Xが示す波形番号を格納する(ステップS1504)。これにより、現在の変数Xが示す波形番号が最高優先度の波形番号として設定される。 If the determination in step S1503 is Yes, the CPU 201 sets the value of the variable P to the structure WM_ST[X]. The value of PRI is replaced, and the waveform number indicated by the variable X is stored in the variable W that stores the waveform number of the highest priority (step S1504). As a result, the waveform number indicated by the current variable X is set as the highest priority waveform number.

当該波形データが波形メモリ206上に既に存在して新たに読み込む必要がない場合(ステップS1502の判定がNoの場合)、又は変数Xが示す波形番号の波形データの読込み優先度が変数Pに設定されている優先度よりも高くはない場合(ステップS1503の判定がNoの場合)には、ステップS1504の処理はスキップされる。 When the waveform data already exists in the waveform memory 206 and does not need to be newly read (when the determination in step S1502 is No), or the reading priority of the waveform data of the waveform number indicated by the variable X is set to the variable P. When the priority is not higher than the priority (when the determination in step S1503 is No), the process in step S1504 is skipped.

以上のステップS1502からS1504の処理が1≦X≦31の範囲で繰り返し実行された結果、ステップS1506の判定がYesになると、CPU201は、図15のフローチャートで示される図13のステップS1302の最優先読込み波形検索サブルーチンの処理を終了する。この結果、最終的に変数Wに、波形転送が必要かつ完了していないもの中で最も優先順位の高い波形データの波形番号が得られる。 When the determination in step S1506 is Yes as a result of the above-described processing of steps S1502 to S1504 being repeatedly executed within the range of 1≦X≦31, the CPU 201 gives the highest priority to step S1302 of FIG. 13 shown in the flowchart of FIG. The processing of the read waveform search subroutine is completed. As a result, the variable W finally obtains the waveform number of the waveform data having the highest priority among those that require the waveform transfer and have not been completed.

ステップS1302の後、CPU201は、現在読込み中の波形の番号を保持する変数READING_WAVE(図6(a)参照)に変数Wに格納されている波形番号を格納する。また、CPU201は、変数Wが示す波形番号に対応する大容量フラッシュメモリ204から波形メモリ206へ前回までに転送済みの波形データのサイズを示す構造体要素WM_ST[W].READ_SIZEに、未転送を示す値「0」を格納する(以上、図13のステップS1303)。 After step S1302, the CPU 201 stores the waveform number stored in the variable W in the variable READING_WAVE (see FIG. 6A) holding the number of the waveform currently being read. Also, the CPU 201 determines that the structure element WM_ST[W].W that indicates the size of the waveform data that has been transferred from the large capacity flash memory 204 to the waveform memory 206 corresponding to the waveform number indicated by the variable W up to the previous time. The value "0" indicating untransferred is stored in READ_SIZE (above, step S1303 in FIG. 13).

一方、現在波形データの読込みが継続している(ステップS1301の判定がNoである)場合には、CPU201は、変数Wに変数READING_WAVEが保持する波形番号をセットする(図13のステップS1304)。その後、CPU201は、図13のステップS1305から図14のステップS1306以降の処理に移行し、変数Wに再度セットされた波形番号の残りの波形データを大容量フラッシュメモリ204から波形メモリ206へ転送する処理を実行する。 On the other hand, if the reading of the waveform data is currently continued (No in step S1301), the CPU 201 sets the variable W to the waveform number held by the variable READING_WAVE (step S1304 in FIG. 13). After that, the CPU 201 proceeds from step S1305 of FIG. 13 to the processing of step S1306 and subsequent steps of FIG. 14, and transfers the remaining waveform data of the waveform number reset to the variable W from the large capacity flash memory 204 to the waveform memory 206. Execute the process.

上記図13のステップS1303又はS1304の処理の後、CPU201は、RAM203上の変数である今回読込みサイズカウンタ変数cに初期値「0」をセットする。また、CPU201は、大容量フラッシュメモリ204上の読込みアドレスを示すRAM203上の変数rpに、図9のステップS802内の図9のステップS901で変数FLASH_OFFSETに格納された読込み音色の波形の大容量フラッシュメモリ204上での格納先頭アドレス値をセットする。更に、CPU201は、波形メモリ206上の書込みアドレスを示すRAM203上の変数wpに、図9のステップS802内の図9のステップS903で変数Wの波形番号に対応する構造体要素WM_ST[W].OFFSET_ADRSに格納された波形メモリ206上の音色先頭からのアドレス値をセットする。加えて、CPU201は、大容量フラッシュメモリ204から波形メモリ206へ今回までに転送済みの波形データのサイズを示すRAM203上の変数rsに、変数Wが示す波形番号に対応する前回までに転送済みの波形データのサイズを示す構造体要素WM_ST[W].READ_SIZE(後述する図14のステップS1313参照)の値を格納する(以上、図13のステップS1305)。 After the processing of step S1303 or S1304 of FIG. 13 described above, the CPU 201 sets an initial value “0” to the currently read size counter variable c, which is a variable on the RAM 203. Further, the CPU 201 stores in the variable rp on the RAM 203 indicating the read address on the large-capacity flash memory 204, the large-capacity flash of the waveform of the read tone color stored in the variable FLASH_OFFSET in step S901 of FIG. 9 in step S802 of FIG. A storage start address value on the memory 204 is set. Further, the CPU 201 sets the variable wp on the RAM 203 indicating the write address on the waveform memory 206 to the structure element WM_ST[W].W that corresponds to the waveform number of the variable W at step S903 of FIG. 9 in step S802 of FIG. The address value from the beginning of the tone color on the waveform memory 206 stored in OFFSET_ADRS is set. In addition, the CPU 201 transfers to the variable rs on the RAM 203 indicating the size of the waveform data transferred up to this time from the large-capacity flash memory 204 to the waveform memory 206 by the previous time corresponding to the waveform number indicated by the variable W. Structure element WM_ST[W]. indicating the size of the waveform data. The value of READ_SIZE (see step S1313 of FIG. 14, which will be described later) is stored (above, step S1305 of FIG. 13).

その後、CPU201は、図14のステップS1306以降の処理に移行し、変数Wに得られた波形番号の波形データを大容量フラッシュメモリ204から波形メモリ206へ転送する処理を開始する。 After that, the CPU 201 shifts to the processing of step S1306 and subsequent steps in FIG. 14, and starts the processing of transferring the waveform data of the waveform number obtained in the variable W from the large capacity flash memory 204 to the waveform memory 206.

CPU201はまず、大容量フラッシュメモリ204からの読込み処理を実行する(図14のステップS1306)。即ち、CPU201は、図13のステップS1305で変数rpにセットされた大容量フラッシュメモリ204上での波形格納先頭アドレス値に、同じくステップS1305で今回までに転送済みの波形データのサイズを示す変数rsにセットされた変数Wが示す波形番号に対応する前回までに転送済みの波形データのサイズを加算して得られるアドレスから、1ワード分の波形データを読み込み、RAM203上の変数dに格納する。 The CPU 201 first executes a read process from the large capacity flash memory 204 (step S1306 in FIG. 14). That is, the CPU 201 sets the variable rs indicating the size of the waveform data transferred up to this time in step S1305 to the waveform storage start address value on the large capacity flash memory 204 set in the variable rp in step S1305 of FIG. The waveform data for one word is read from the address obtained by adding the sizes of the waveform data that have been transferred up to the previous time corresponding to the waveform number indicated by the variable W that is set to and is stored in the variable d on the RAM 203.

次に、CPU201は、波形メモリ206への書込み処理を実行する(図14のステップS1307)。即ち、CPU201は、図13のステップS1305で波形メモリ206上の書込みアドレスを示す変数wpにセットされた音色先頭からのアドレス値に、同じくステップS1305で今回までに転送済みの波形データのサイズを示す変数rsにセットされた変数Wが示す波形番号に対応する前回までに転送済みの波形データのサイズを加算して得られるアドレスに、変数dに格納されている1ワード分の波形データを、音源LSI205経由で書き込む。 Next, the CPU 201 executes a writing process to the waveform memory 206 (step S1307 in FIG. 14). That is, the CPU 201 indicates the address value from the beginning of the tone color set in the variable wp indicating the write address on the waveform memory 206 in step S1305 of FIG. 13, and also indicates the size of the waveform data transferred up to this time in step S1305. To the address obtained by adding the size of the waveform data transferred up to the previous time corresponding to the waveform number indicated by the variable W set in the variable rs, the one-word waveform data stored in the variable d Write via LSI205.

その後、CPU201は、今回までに転送済みの波形データのサイズを示す変数rsの値を+1インクリメントし、今回読込みサイズカウンタ変数cの値を+1インクリメントする(図14のステップS1308)。 After that, the CPU 201 increments the value of the variable rs indicating the size of the waveform data transferred up to this time by +1 and the value of the currently read size counter variable c by +1 (step S1308 in FIG. 14).

そして、CPU201は、今回までに転送済みの波形データのサイズを示す変数rsの値が、カウンタ変数Wが示す波形番号に対応する波形データのサイズ要素WM_ST[W].WAVE_SIZEの値に等しくなったか否かを判定する(図14のステップS1309)。 Then, the CPU 201 determines that the value of the variable rs indicating the size of the waveform data transferred up to this time is the size element WM_ST[W].W of the waveform data corresponding to the waveform number indicated by the counter variable W. It is determined whether or not it becomes equal to the value of WAVE_SIZE (step S1309 in FIG. 14).

ステップS1309の判定がNoならば、CPU201は、今回読込みサイズカウンタ変数cの値が100000バイトに等しくなったか否か、すなわち、今回転送されたサイズが100KB(キロバイト)に達したか否かを判定する(図14のステップS1310)。 If the determination in step S1309 is No, the CPU 201 determines whether or not the value of the currently read size counter variable c has become equal to 100000 bytes, that is, whether the size transferred this time has reached 100 KB (kilobytes). (Step S1310 of FIG. 14).

ステップS1310の判定がNoならば、CPU201は、ステップS1306の処理に戻って転送を続行する。 If the determination in step S1310 is No, the CPU 201 returns to the processing in step S1306 and continues the transfer.

ステップS1309の判定がYesになると、CPU201は、変数Wが示す現在の波形番号値に対応する波形メモリ206上での波形の有無を示す要素WM_ST[W].WAVE(図6(a)参照)に、波形有りを示す値「1」をセットする。また、CPU201は、現在読込み中の波形の番号を示す変数READING_WAVE(図6(a)参照)に、無効値「−1」を格納する(以上、図14のステップS1311)。 When the determination in step S1309 is Yes, the CPU 201 determines that the element WM_ST[W].W that indicates the presence or absence of a waveform on the waveform memory 206 corresponding to the current waveform number value indicated by the variable W. A value “1” indicating that there is a waveform is set in WAVE (see FIG. 6A). Further, the CPU 201 stores the invalid value “−1” in the variable READING_WAVE (see FIG. 6A) indicating the number of the waveform currently being read (above, step S1311 in FIG. 14).

続いて、CPU201は、実効スプリット情報設定サブルーチンの処理を実行する(図14のステップS1312)。CPU201は、この処理において、現在、音源LSI205の波形メモリ206に読み込まれている波形データを調査し、その波形データのスプリットカバー範囲を設定する。CPU201は、全ての波形データが揃っていない状態であっても、1つ以上の波形データが存在する場合に、全鍵域、全ベロシティ域をカバーするよう読み込まれている波形データの一時的な実効スプリットポイントを設定する。この処理の詳細については、後述する。 Subsequently, the CPU 201 executes the process of the effective split information setting subroutine (step S1312 in FIG. 14). In this process, the CPU 201 investigates the waveform data currently loaded in the waveform memory 206 of the sound source LSI 205 and sets the split cover range of the waveform data. Even if all the waveform data are not collected, the CPU 201 temporarily stores the waveform data read so as to cover the entire key range and the entire velocity range when one or more waveform data exist. Set the effective split point. Details of this processing will be described later.

ステップS1312の処理の後、又はステップS1310の判定がYesとなったら、CPU201は、変数Wが示す波形番号に対応する大容量フラッシュメモリ204から波形メモリ206へ前回までに転送済みの波形データのサイズを示す構造体要素WM_ST[W].READ_SIZEに、今回までに転送済みの波形データのサイズを示す変数rsの値を格納する(図14のステップS1313)。 After the process of step S1312 or when the determination of step S1310 is Yes, the CPU 201 determines the size of the waveform data transferred from the large-capacity flash memory 204 corresponding to the waveform number indicated by the variable W to the waveform memory 206 by the previous time. Structure element WM_ST[W]. The value of the variable rs indicating the size of the waveform data transferred up to this time is stored in READ_SIZE (step S1313 in FIG. 14).

その後、CPU201は、図13及び図14のフローチャートで示される図7のステップS711の波形読込み処理を終了する。 After that, the CPU 201 ends the waveform reading process of step S711 of FIG. 7 shown in the flowcharts of FIGS. 13 and 14.

このように、本実施形態では、一定の容量(例えば100KB)のメモリ転送が完了した時点で処理が中断され、他のメインループの処理を行って再び波形転送プログラムが起動された時に図13のステップS1302からS1303を介して、処理が再開される。このとき、変数Wの波形番号に対応する前回までに転送済みのデータサイズを示す要素値WM_ST[W].READ_SIZEには、図14のステップS1313の処理によって前回までに転送が完了したサイズが格納されているため、図13のステップS1305、図14のステップS1306及びS1307のアドレス演算処理によって、前回転送が完了したアドレスの次のアドレスから転送を再開することができる。 As described above, in the present embodiment, the processing is interrupted at the time when the memory transfer of a certain capacity (for example, 100 KB) is completed, the other main loop processing is performed, and the waveform transfer program of FIG. 13 is started again. The process is restarted through steps S1302 to S1303. At this time, the element value WM_ST[W]. Since READ_SIZE stores the size of the transfer completed up to the previous time by the process of step S1313 of FIG. 14, the previous transfer is completed by the address calculation process of step S1305 of FIG. 13 and steps S1306 and S1307 of FIG. The transfer can be restarted from the address next to the address.

図16は、図14のステップS1312の実効スプリット情報設定サブルーチンの詳細処理例を示すフローチャートである。CPU201は、波形メモリ206上の波形エリア毎の波形番号カウント用のRAM203上の変数Wの値について、ステップS1601で「0」にリセットした後、ステップS1608で+1ずつインクリメントしながら、ステップS1609で32に達したと判定するまで、ステップS1602からS1607の一連の処理を、繰り返し実行する。 FIG. 16 is a flowchart showing a detailed processing example of the effective split information setting subroutine of step S1312 of FIG. The CPU 201 resets the value of the variable W on the RAM 203 for counting the waveform number for each waveform area on the waveform memory 206 to “0” in step S1601, and then increments by 1 in step S1608, while incrementing 32 in step S1609. Until it is determined that it has reached, the series of processing from steps S1602 to S1607 is repeatedly executed.

これら一連の処理において、CPU201はまず、変数Wが示す波形番号に対応する構造体WM_ST[W].WAVE(図6(a)参照)の値が0であるか否か、即ち、変数Wが示す波形番号の波形データが波形メモリ206上に存在しないか否かを判定する(ステップS1602)。 In the series of processes, the CPU 201 firstly determines the structure WM_ST[W]. It is determined whether the value of WAVE (see FIG. 6A) is 0, that is, whether the waveform data having the waveform number indicated by the variable W does not exist in the waveform memory 206 (step S1602).

変数Wが示す波形番号の波形データが波形メモリ206上に存在しない(ステップS1602の判定がYes)ならば、CPU201は、変数Wが示す現在の波形番号値に対応する最高キーナンバ要素値WM_ST[W].KEY_HI、最低キーナンバ要素値WM_ST[W].KEY_LO、最高ベロシティ要素値WM_ST[W].VEL_HI、最低ベロシティ要素値WM_ST[W].VEL_LO(図6(a)参照)に、値「0」を格納する(ステップS1607)。この結果、前述した図7のステップS707の音源発音処理内の図10のステップS1001内の図11のスプリット波形検索サブルーチンにおいて、変数Wが示す波形番号に対応する波形エリアは選択されることはない。 If the waveform data having the waveform number indicated by the variable W does not exist in the waveform memory 206 (Yes in step S1602), the CPU 201 determines the highest key number element value WM_ST[W corresponding to the current waveform number value indicated by the variable W. ]. KEY_HI, the lowest key number element value WM_ST[W]. KEY_LO, highest velocity element value WM_ST[W]. VEL_HI, lowest velocity element value WM_ST[W]. The value “0” is stored in VEL_LO (see FIG. 6A) (step S1607). As a result, the waveform area corresponding to the waveform number indicated by the variable W is not selected in the split waveform search subroutine of FIG. 11 in step S1001 of FIG. 10 in the sound source sound generation processing of step S707 of FIG. 7 described above. ..

変数Wが示す波形番号の波形データが波形メモリ206上に存在する(ステップS1602の判定がNo)ならば、CPU201は、カバー範囲のベロシティ域上限設定ルーチン(ステップS1603)、カバー範囲のベロシティ域下限設定ルーチン(ステップS1604)、カバー範囲の鍵域上限設定ルーチン(ステップS1605)、及びカバー範囲の鍵域下限設定ルーチン(ステップS1606)を順次実行する。その後、CPU201は、ステップS1608に移行する。 If the waveform data of the waveform number indicated by the variable W exists in the waveform memory 206 (No in step S1602), the CPU 201 determines the cover range velocity range upper limit setting routine (step S1603), and the cover range velocity range lower limit. A setting routine (step S1604), a cover range key range upper limit setting routine (step S1605), and a cover range key range lower limit setting routine (step S1606) are sequentially executed. After that, the CPU 201 proceeds to step S1608.

図17は、図16のステップS1603のカバー範囲のベロシティ域上限設定ルーチンの詳細処理例を示すフローチャートである。 FIG. 17 is a flowchart showing a detailed processing example of the velocity range upper limit setting routine for the cover range in step S1603 of FIG.

図17のフローチャートにおいて、CPU201はまず、波形メモリ206上の波形エリア毎の波形番号カウント用のRAM203上の変数Cの値について、ステップS1701で「0」にリセットした後、ステップS1704で+1ずつインクリメントしながら、ステップ1705で32に達したと判定するまで、S1702及びS1703の処理を、繰り返し実行することにより、波形メモリ206に読込み済みの調査対象波形よりも上のベロシティ域に配置される波形データを検索する。以下に示すように、波形データが存在すれば、変数Cの波形番号が示す比較対象の波形データが上のベロシティレンジをカバーするので拡張はしない。波形データが存在しなければ、変数Wの波形番号が示す調査対象の波形データがベロシティレンジ127までカバーする。 In the flowchart of FIG. 17, the CPU 201 first resets the value of the variable C on the RAM 203 for counting the waveform number for each waveform area on the waveform memory 206 to “0” in step S1701, and then increments it by +1 in step S1704. However, by repeating the processes of S1702 and S1703 until it is determined in step 1705 that the number of waveforms reaches 32, the waveform data placed in the velocity region above the survey target waveform already read in the waveform memory 206 is displayed. To search. As shown below, if there is waveform data, the waveform data to be compared indicated by the waveform number of the variable C covers the upper velocity range, and therefore the expansion is not performed. If there is no waveform data, the waveform data to be investigated indicated by the waveform number of the variable W covers up to the velocity range 127.

まずステップS1702において、CPU201は、変数Cが示す波形番号に対応する構造体WM_ST[C].WAVE(図6(a)参照)の値が0であるか否か、即ち、変数Cが示す波形番号の波形データが波形メモリ206上に存在しないか否かを判定する(ステップS1702)。 First, in step S1702, the CPU 201 determines that the structure WM_ST[C]. It is determined whether the value of WAVE (see FIG. 6A) is 0, that is, whether the waveform data having the waveform number indicated by the variable C does not exist in the waveform memory 206 (step S1702).

変数Cが示す波形番号の波形データが波形メモリ206上に存在する(ステップS1702の判定がNoである)場合には、ステップS1703において、CPU201は、変数Wが示す調査対象となる波形番号の波形データが本来発音する範囲の最大ベロシティが格納される構造体要素WM_ST[W].ORG_VEL_HIの値よりも、変数Cが示す比較対象となる波形番号の波形データが本来発音する範囲の最小ベロシティが格納される構造体要素WM_ST[C].ORG_VEL_LOの値のほうが大きいか否かを判定する。ステップS1703の判定がNoならば、CPU201は、ステップS1704に移行して、次の比較対象について調査する。変数Cが示す波形番号の波形データが波形メモリ206上に存在しない(ステップS1702の判定がYesである)場合には、CPU201は、ステップS1703の判定処理はスキップする。なお特には図示しないが、CPU201は、C=Wの場合も、ステップS1703の判定処理はスキップする。 When the waveform data of the waveform number indicated by the variable C exists in the waveform memory 206 (the determination in step S1702 is No), the CPU 201 determines in step S1703 the waveform of the waveform number to be investigated indicated by the variable W. Structure element WM_ST[W]. where the maximum velocity of the range in which the data is originally pronounced is stored. Structure element WM_ST[C]. where the minimum velocity of the range in which the waveform data of the waveform number to be compared indicated by the variable C is originally pronounced is stored rather than the value of ORG_VEL_HI. It is determined whether the value of ORG_VEL_LO is larger. If the determination in step S1703 is No, the CPU 201 moves to step S1704 and investigates the next comparison target. When the waveform data of the waveform number indicated by the variable C does not exist in the waveform memory 206 (Yes in the determination in step S1702), the CPU 201 skips the determination process in step S1703. Although not shown in particular, the CPU 201 skips the determination process of step S1703 even when C=W.

1つでもステップS1703の判定がYesになると、CPU201は、変数Wが示す調査対象となる波形番号の波形データが現在発音する範囲の最大ベロシティが格納される構造体要素WM_ST[W].VEL_HIに、変数Cが示す比較対象となる波形番号の波形データが本来発音する範囲の最大ベロシティが格納される構造体要素WM_ST[C].ORG_VEL_HIの値を格納する(ステップS1707)。その後、CPU201は、図17のフローチャートで示される図16のステップS1603のカバー範囲のベロシティ域上限設定ルーチンを終了する。 If the determination in step S1703 is YES even for one, the CPU 201 determines that the structure element WM_ST[W].W stores the maximum velocity of the range in which the waveform data of the waveform number to be investigated indicated by the variable W is currently pronounced. Structure element WM_ST[C].VEL_HI in which the maximum velocity of the range in which the waveform data of the waveform number to be compared indicated by the variable C is originally pronounced is stored. The value of ORG_VEL_HI is stored (step S1707). After that, the CPU 201 ends the velocity range upper limit setting routine of the cover range in step S1603 of FIG. 16 shown in the flowchart of FIG.

ステップS1703の判定がNoのまま、全ての32の比較対象について調査が終了しステップS1705の判定がYesになると、CPU201は、変数Wが示す調査対象となる波形番号の波形データが現在発音する範囲の最大ベロシティが格納される構造体要素WM_ST[W].VEL_HIに、ベロシティ最大値「127」を格納する。その後、CPU201は、図17のフローチャートで示される図16のステップS1603のカバー範囲のベロシティ域上限設定ルーチンを終了する。 If the determination in step S1703 remains No and the investigation is completed for all 32 comparison targets and the determination in step S1705 becomes Yes, the CPU 201 causes the waveform data of the waveform number to be investigated indicated by the variable W to be currently pronounced. Of the structure element WM_ST[W]. The maximum velocity value “127” is stored in VEL_HI. After that, the CPU 201 ends the velocity range upper limit setting routine of the cover range in step S1603 of FIG. 16 shown in the flowchart of FIG.

図18は、図16のステップS1604のカバー範囲のベロシティ域下限設定ルーチンの詳細処理例を示すフローチャートである。 FIG. 18 is a flowchart showing a detailed processing example of the velocity range lower limit setting routine for the cover range in step S1604 of FIG.

図18のフローチャートにおいて、CPU201はまず、波形メモリ206上の波形エリア毎の波形番号カウント用のRAM203上の変数Cの値について、ステップS1801で「0」にリセットした後、ステップS1806で+1ずつインクリメントしながら、ステップ1807で32に達したと判定するまで、S1802からS1805の一連の処理を、繰り返し実行することにより、調査対象波形よりも下のベロシティ域に配置される波形データを検索する。以下に示すように、波形データが存在すれば、変数Cの波形番号が示す比較対象の波形データの中で最も近くに配置されるベロシティ域の上限の1つ上までを変数Wの波形番号が示す調査対象の波形データがカバーする。波形データが1つも存在しなければ、変数Wの波形番号が示す調査対象の波形データがベロシティ域0までカバーする。また、CPU201は、ステップS1801において、RAM203上の変数VELO_LOに初期値「0」を格納する。 In the flowchart of FIG. 18, the CPU 201 first resets the value of the variable C on the RAM 203 for counting the waveform number for each waveform area on the waveform memory 206 to “0” in step S1801, and then increments it by +1 in step S1806. However, until it is determined in step 1807 that the value reaches 32, the series of processing from S1802 to S1805 is repeatedly executed to search for waveform data arranged in the velocity range below the investigation target waveform. As shown below, if the waveform data exists, the waveform number of the variable W is up to one level higher than the upper limit of the velocity range that is closest to the comparison target waveform data indicated by the waveform number of the variable C. The surveyed waveform data shown covers. If there is no waveform data, the waveform data to be investigated indicated by the waveform number of the variable W covers up to the velocity range 0. Further, the CPU 201 stores the initial value “0” in the variable VELO_LO on the RAM 203 in step S1801.

これら一連の処理において、CPU201はまず、変数Cが示す波形番号に対応する構造体WM_ST[C].WAVE(図6(a)参照)の値が0であるか否か、即ち、変数Cが示す波形番号の波形データが波形メモリ206上に存在しないか否かを判定する(ステップS1802)。 In the series of processes described above, the CPU 201 first determines that the structure WM_ST[C]. It is determined whether the value of WAVE (see FIG. 6A) is 0, that is, whether the waveform data having the waveform number indicated by the variable C does not exist in the waveform memory 206 (step S1802).

変数Cが示す波形番号の波形データが波形メモリ206上に存在する(ステップS1802の判定がNoである)場合には、CPU201は、変数Cが示す比較対象となる波形番号の波形データが本来発音する範囲の最大ベロシティが格納される構造体要素WM_ST[C].ORG_VEL_HIの値よりも、変数Wが示す調査対象となる波形番号の波形データが本来発音する範囲の最小ベロシティが格納される構造体要素WM_ST[W].ORG_VEL_LOの値のほうが大きいか否かを判定する(ステップS1803)。 When the waveform data of the waveform number indicated by the variable C exists in the waveform memory 206 (the determination in step S1802 is No), the CPU 201 causes the waveform data of the waveform number to be compared indicated by the variable C to sound originally. Structure element WM_ST[C]. Structure element WM_ST[W]. where the minimum velocity of the range in which the waveform data of the waveform number to be investigated indicated by the variable W originally sounds is stored rather than the value of ORG_VEL_HI. It is determined whether or not the value of ORG_VEL_LO is larger (step S1803).

ステップS1803の判定がYesならば、CPU201は更に、変数VELO_LOの値よりも変数Cが示す比較対象となる波形番号の波形データが本来発音する範囲の最大ベロシティが格納される構造体要素WM_ST[C].ORG_VEL_HIの値のほうが大きいか否かを判定する(ステップS1804)。 If the determination in step S1803 is Yes, the CPU 201 further causes the structure element WM_ST[C to store the maximum velocity of the range in which the waveform data of the waveform number of the comparison target indicated by the variable C is originally pronounced rather than the value of the variable VELO_LO. ]. It is determined whether the value of ORG_VEL_HI is larger (step S1804).

ステップS1804の判定もYesならば、CPU201は、変数VELE_LOに、変数Cが示す比較対象となる波形番号の波形データが本来発音する範囲の最大ベロシティが格納される構造体要素WM_ST[C].ORG_VEL_HIの値を格納する(ステップS1805)。 If the determination in step S1804 is also Yes, the CPU 201 determines that the variable VELE_LO is a structure element WM_ST[C]. where the maximum velocity of the range in which the waveform data of the waveform number to be compared indicated by the variable C originally sounds is stored. The value of ORG_VEL_HI is stored (step S1805).

変数Cが示す波形番号の波形データが波形メモリ206上に存在しない(ステップS1802の判定がYesである)場合、ステップS1803の判定がNoである場合、又はステップS1804の判定がNoである場合には、CPU201は、ステップS1805の処理はスキップする。なお特には図示しないが、CPU201は、C=Wの場合も、ステップS1805の判定処理はスキップする。 When the waveform data of the waveform number indicated by the variable C does not exist in the waveform memory 206 (the determination in step S1802 is Yes), the determination in step S1803 is No, or the determination in step S1804 is No. The CPU 201 skips the process of step S1805. Although not particularly shown, the CPU 201 skips the determination process of step S1805 even when C=W.

以上の調査が32の比較対象全てについて終了し、ステップS1807の判定がYesとなると、CPU201は、変数Wが示す調査対象となる波形番号の波形データが現在発音する範囲の最小ベロシティが格納される構造体要素WM_ST[W].VEL_LOに、変数VELO_LOの値が格納される(ステップS1808)。その後、CPU201は、図18のフローチャートで示される図16のステップS1604のカバー範囲のベロシティ域下限設定ルーチンを終了する。 When the above survey is completed for all 32 comparison targets and the determination in step S1807 is Yes, the CPU 201 stores the minimum velocity of the range in which the waveform data of the waveform number to be surveyed indicated by the variable W is currently sounded. Structure element WM_ST[W]. The value of the variable VELO_LO is stored in VEL_LO (step S1808). After that, the CPU 201 ends the velocity range lower limit setting routine of the cover range in step S1604 of FIG. 16 shown in the flowchart of FIG.

図19は、図16のステップS1605のカバー範囲の鍵域上限設定ルーチンの詳細処理例を示すフローチャートである。 FIG. 19 is a flowchart showing an example of detailed processing of the cover range upper limit setting routine in step S1605 of FIG.

図19のフローチャートにおいて、CPU201はまず、波形メモリ206上の波形エリア毎の波形番号カウント用のRAM203上の変数Cの値について、ステップS1901で「0」にリセットした後、ステップS1904で+1ずつインクリメントしながら、ステップ1705で32に達したと判定するまで、S1902及びS1903の処理を、繰り返し実行することにより、調査対象波形よりも上の鍵域に配置される波形データを検索する。以下に示すように、波形データが存在すれば、変数Cの波形番号が示す比較対象の波形データが上のキーレンジをカバーするので拡張はしない。波形データが存在しなければ、変数Wの波形番号が示す調査対象の波形データがキーレンジ127までカバーする。 In the flowchart of FIG. 19, the CPU 201 first resets the value of the variable C on the RAM 203 for counting the waveform number for each waveform area on the waveform memory 206 to “0” in step S1901, and then increments it by +1 in step S1904. However, the waveform data arranged in the key range above the waveform to be investigated is searched by repeatedly executing the processes of S1902 and S1903 until it is determined in step 1705 that the number reaches 32. As shown below, if the waveform data exists, the waveform data of the comparison target indicated by the waveform number of the variable C covers the above key range, and therefore the expansion is not performed. If there is no waveform data, the waveform data to be investigated indicated by the waveform number of the variable W covers up to the key range 127.

まずステップS1902において、CPU201は、変数Cが示す波形番号に対応する構造体WM_ST[C].WAVE(図6(a)参照)の値が0であるか否か、即ち、変数Cが示す波形番号の波形データが波形メモリ206上に存在しないか否かを判定する(ステップS1902)。 First, in step S1902, the CPU 201 determines that the structure WM_ST[C]. It is determined whether the value of WAVE (see FIG. 6A) is 0, that is, whether the waveform data of the waveform number indicated by the variable C does not exist in the waveform memory 206 (step S1902).

変数Cが示す波形番号の波形データが波形メモリ206上に存在する(ステップS1902の判定がNoである)場合には、ステップS1903において、CPU201は、変数Wが示す調査対象となる波形番号の波形データが本来発音する範囲の最高キーナンバが格納される構造体要素WM_ST[W].ORG_KEY_HIの値よりも、変数Cが示す比較対象となる波形番号の波形データが本来発音する範囲の最低キーナンバが格納される構造体要素WM_ST[C].ORG_KEY_LOの値のほうが大きいか否かを判定する。ステップS1903の判定がNoならば、CPU201は、ステップS1904に移行して、次の比較対象について調査する。変数Cが示す波形番号の波形データが波形メモリ206上に存在しない(ステップS1902の判定がYesである)場合には、CPU201は、ステップS1903の判定処理はスキップする。なお特には図示しないが、CPU201は、C=Wの場合も、ステップS1903の判定処理はスキップする。 When the waveform data of the waveform number indicated by the variable C exists in the waveform memory 206 (the determination in step S1902 is No), the CPU 201 determines in step S1903 the waveform of the waveform number to be investigated indicated by the variable W. Structure element WM_ST[W]. where the highest key number in the range in which the data is originally pronounced is stored. Structure element WM_ST[C]. where the lowest key number of the range in which the waveform data of the waveform number to be compared indicated by the variable C is originally pronounced is stored rather than the value of ORG_KEY_HI. It is determined whether or not the value of ORG_KEY_LO is larger. If the determination in step S1903 is No, the CPU 201 proceeds to step S1904 and investigates the next comparison target. When the waveform data of the waveform number indicated by the variable C does not exist in the waveform memory 206 (Yes in the determination in step S1902), the CPU 201 skips the determination process in step S1903. Although not shown in particular, the CPU 201 skips the determination process of step S1903 even when C=W.

1つでもステップS1903の判定がYesになると、CPU201は、変数Wが示す調査対象となる波形番号の波形データが現在発音する範囲の最高キーナンバが格納される構造体要素WM_ST[W].KEY_HIに、変数Cが示す比較対象となる波形番号の波形データが本来発音する範囲の最高キーナンバが格納される構造体要素WM_ST[C].ORG_KEY_HIの値を格納する(ステップS1907)。その後、CPU201は、図19のフローチャートで示される図16のステップS1605のカバー範囲の鍵域上限設定ルーチンを終了する。 If even one of the determinations in step S1903 is Yes, the CPU 201 determines that the structure element WM_ST[W].W stores the highest key number in the range in which the waveform data of the waveform number to be investigated indicated by the variable W is currently pronounced. KEY_HI is a structure element WM_ST[C]. where the highest key number in the range in which the waveform data of the waveform number to be compared indicated by the variable C is originally pronounced is stored. The value of ORG_KEY_HI is stored (step S1907). After that, the CPU 201 ends the cover range key range upper limit setting routine of step S1605 of FIG. 16 shown in the flowchart of FIG.

ステップS1903の判定がNoのまま、全ての32の比較対象について調査が終了しステップS1905の判定がYesになると、CPU201は、変数Wが示す調査対象となる波形番号の波形データが現在発音する範囲の最高キーナンバが格納される構造体要素WM_ST[W].KEY_HIに、キーナンバ最大値「127」を格納する。その後、CPU201は、図19のフローチャートで示される図16のステップS1605のカバー範囲の鍵域上限設定ルーチンを終了する。 If the determination in step S1903 remains No and the investigation is completed for all 32 comparison targets and the determination in step S1905 becomes Yes, the CPU 201 causes the waveform data of the waveform number of the investigation target indicated by the variable W to be currently pronounced. Of the structure element WM_ST[W]. The key number maximum value "127" is stored in KEY_HI. After that, the CPU 201 ends the cover range key range upper limit setting routine of step S1605 of FIG. 16 shown in the flowchart of FIG.

図20は、図16のステップS1606のカバー範囲の鍵域下限設定ルーチンの詳細処理例を示すフローチャートである。 FIG. 20 is a flowchart showing an example of detailed processing of the key range lower limit setting routine of the cover range in step S1606 of FIG.

図20のフローチャートにおいて、CPU201はまず、波形メモリ206上の波形エリア毎の波形番号カウント用のRAM203上の変数Cの値について、ステップS2001で「0」にリセットした後、ステップS2006で+1ずつインクリメントしながら、ステップ1807で32に達したと判定するまで、S2002からS2005の一連の処理を、繰り返し実行することにより、調査対象波形よりも下の鍵域に配置される波形データを検索する。以下に示すように、波形データが存在すれば、変数Cの波形番号が示す比較対象の波形データの中で最も近くに配置される鍵域の上限の1つ上までを変数Wの波形番号が示す調査対象の波形データがカバーする。波形データが1つも存在しなければ、変数Wの波形番号が示す調査対象の波形データが鍵域0までカバーする。また、CPU201は、ステップS2001において、RAM203上の変数KEY_LOに初期値「0」を格納する。 In the flowchart of FIG. 20, the CPU 201 first resets the value of the variable C on the RAM 203 for counting the waveform number for each waveform area on the waveform memory 206 to “0” in step S2001, and then increments it by +1 in step S2006. However, by repeating the series of processes from S2002 to S2005 until it is determined in step 1807 that the number reaches 32, the waveform data arranged in the key range below the surveyed waveform is searched. As shown below, if there is waveform data, the waveform number of the variable W is up to one level above the upper limit of the key range arranged closest to the waveform data of the comparison target indicated by the waveform number of the variable C. The surveyed waveform data shown covers. If there is no waveform data, the waveform data to be investigated indicated by the waveform number of the variable W covers up to the key range 0. Further, the CPU 201 stores the initial value “0” in the variable KEY_LO on the RAM 203 in step S2001.

これら一連の処理において、CPU201はまず、変数Cが示す波形番号に対応する構造体WM_ST[C].WAVE(図6(a)参照)の値が0であるか否か、即ち、変数Cが示す波形番号の波形データが波形メモリ206上に存在しないか否かを判定する(ステップS2002)。 In the series of processes described above, the CPU 201 first determines that the structure WM_ST[C]. It is determined whether the value of WAVE (see FIG. 6A) is 0, that is, whether the waveform data of the waveform number indicated by the variable C does not exist in the waveform memory 206 (step S2002).

変数Cが示す波形番号の波形データが波形メモリ206上に存在する(ステップS2002の判定がNoである)場合には、CPU201は、変数Cが示す比較対象となる波形番号の波形データが本来発音する範囲の最高キーナンバが格納される構造体要素WM_ST[C].ORG_KEY_HIの値よりも、変数Wが示す調査対象となる波形番号の波形データが本来発音する範囲の最低キーナンバが格納される構造体要素WM_ST[W].ORG_KEY_LOの値のほうが大きいか否かを判定する(ステップS2003)。 When the waveform data of the waveform number indicated by the variable C exists in the waveform memory 206 (the determination in step S2002 is No), the CPU 201 causes the waveform data of the waveform number to be compared indicated by the variable C to sound originally. Structure element WM_ST[C]. where the highest key number of the range to be stored is stored. Structure element WM_ST[W]. where the lowest key number of the range in which the waveform data of the waveform number to be investigated indicated by the variable W originally sounds is stored rather than the value of ORG_KEY_HI. It is determined whether or not the value of ORG_KEY_LO is larger (step S2003).

ステップS2003の判定がYesならば、CPU201は更に、変数KEY_LOの値よりも変数Cが示す比較対象となる波形番号の波形データが本来発音する範囲の最高キーナンバが格納される構造体要素WM_ST[C].ORG_KEY_HIの値のほうが大きいか否かを判定する(ステップS2004)。 If the determination in step S2003 is Yes, the CPU 201 further causes the structure element WM_ST[C which stores the highest key number in the range in which the waveform data of the waveform number of the comparison target indicated by the variable C is originally generated rather than the value of the variable KEY_LO. ]. It is determined whether the value of ORG_KEY_HI is larger (step S2004).

ステップS2004の判定もYesならば、CPU201は、変数KEY_LOに、変数Cが示す比較対象となる波形番号の波形データが本来発音する範囲の最高キーナンバが格納される構造体要素WM_ST[C].ORG_KEY_HIの値を格納する(ステップS2005)。 If the determination in step S2004 is Yes, the CPU 201 determines that the variable KEY_LO is a structure element WM_ST[C]. where the highest key number in the range in which the waveform data of the waveform number to be compared indicated by the variable C originally sounds is stored. The value of ORG_KEY_HI is stored (step S2005).

変数Cが示す波形番号の波形データが波形メモリ206上に存在しない(ステップS2002の判定がYesである)場合、ステップS2003の判定がNoである場合、又はステップS2004の判定がNoである場合には、CPU201は、ステップS2005の処理はスキップする。なお特には図示しないが、CPU201は、C=Wの場合も、ステップS2005の判定処理はスキップする。 When the waveform data of the waveform number indicated by the variable C does not exist in the waveform memory 206 (the determination in step S2002 is Yes), the determination in step S2003 is No, or the determination in step S2004 is No. The CPU 201 skips the process of step S2005. Although not particularly shown, the CPU 201 skips the determination process of step S2005 even when C=W.

以上の調査が32の比較対象全てについて終了し、ステップS2007の判定がYesとなると、CPU201は、変数Wが示す調査対象となる波形番号の波形データが現在発音する範囲の最低キーナンバが格納される構造体要素WM_ST[W].KEY_LOに、変数KEY_LOの値が格納される(ステップS2008)。その後、CPU201は、図20のフローチャートで示される図16のステップS1606のカバー範囲の鍵域下限設定ルーチンを終了する。 When the above survey is completed for all 32 comparison targets and the determination in step S2007 is Yes, the CPU 201 stores the lowest key number of the range in which the waveform data of the waveform number to be surveyed indicated by the variable W is currently sounded. Structure element WM_ST[W]. The value of the variable KEY_LO is stored in KEY_LO (step S2008). After that, the CPU 201 terminates the cover range key range lower limit setting routine of step S1606 of FIG. 16 shown in the flowchart of FIG.

以上説明したように、本実施形態では、複数波形に依って構成される音色選択が発生した際に、その音色において、鍵域や演奏の強さ(ベロシティ)などの使用頻度や、各鍵域、強さの波形の汎用性を考慮し、予め波形メモリ206に波形データをロードする順序を音色毎に決定しておいたり、あるいは実際の演奏を解析して各波形の使用頻度を求めたりして、その順序に従って波形メモリ206への波形データの読み込みを行い、読込みが完了した波形を代用して、読込み中もしくはこれから読込みを行う波形の鍵域、強さ(ベロシティ域)を読込みが完了するまで一時的にカバーして発音させることが可能となる。この結果として、音色切替えに伴う波形入替えによる無音状態の時間を最初の波形の読込み時間のみに短縮することがでる。例えば最初に読み込まれる波形データが全体の波形の10%の容量であれば、最後に読み込まれる波形データに対応した演奏を行った場合の発音可能になるまでの待ち時間は10分の1と大幅に短縮できることになる。これにより、演奏者のストレスを軽減、或いは全く感じさせないレベルに抑制することができる。 As described above, in the present embodiment, when a tone color selection consisting of a plurality of waveforms occurs, the frequency of use such as the key range and playing strength (velocity), and each key range in the tone color. In consideration of the versatility of the waveform of strength, the order of loading the waveform data to the waveform memory 206 is determined in advance for each tone color, or the frequency of use of each waveform is obtained by analyzing the actual performance. Then, the waveform data is read into the waveform memory 206 in that order, and the waveform that has been read is used as a substitute, and the reading of the key range and strength (velocity range) of the waveform being read or being read is completed. It will be possible to cover up to and pronounce it temporarily. As a result, it is possible to reduce the time of the silent state due to the waveform replacement due to the tone color switching to only the reading time of the first waveform. For example, if the waveform data that is read first is 10% of the overall waveform capacity, the waiting time until sound can be generated when the performance corresponding to the waveform data that is read last is 1/10 It can be shortened to. As a result, the stress of the player can be reduced or suppressed to a level at which the player does not feel it at all.

以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
楽音の音色毎でかつ、複数種の演奏情報夫々に対応した複数種の音色波形データを記憶する二次記憶装置から、前記複数種の音色波形データを順次読み出し、前記読み出した音色波形データを二次記憶装置に順次書き込む波形書き込み処理と、
前記演奏情報が入力した際に前記演奏情報に対応する音色波形データの書き込みが完了していない場合は、前記一次記憶装置への読込みが完了している他の音色波形データを読み出す読み出し処理と、を実行する処理部と、
を備えた波形書き込み装置。
(付記2)
前記処理部は、前記書き込み処理として、音色選択情報の入力に応答して、楽音の音色毎でかつ、複数種の演奏情報夫々に対応した複数種の音色波形データを記憶する二次記憶装置から、前記入力した音色選択情報に対応する複数種の音色波形データを順次読み出し、前記読み出した音色波形データを二次記憶装置に順次書き込む処理を実行する、付記1に記載の波形書き込み装置。
(付記3)
前記処理部は、前記読み出し処理として、前記演奏情報の入力に応答して、前記演奏情報に対応する音色波形データが前記二次記憶装置に書き込みが完了されているか否か判別し、前記書き込みが完了していると判別された場合は、前記演奏情報に対応する音色波形データを前記二次記憶装置から読み出すとともに、前記書き込みが完了していないと判別された場合は、前記一次記憶装置への読込みが完了している他の音色波形データを読み出す処理を実行する、付記1又は2に記載の波形書き込み装置。
(付記4)
前記演奏情報は、発生すべき楽音の音高情報とベロシティ情報とを少なくとも含み、
前記複数種の音色波形データ夫々は、前記音高情報及びベロシティ情報の少なくとも一方が異なる演奏情報夫々に対応する、付記1乃至3のいずれかに記載の波形書き込み装置。
(付記5)
前記処理部は、前記読み出し処理において、前記他の波形データは、前記入力された演奏情報の音高情報より低い音高情報を有する演奏情報に対応する音色波形データ及び前記入力された演奏情報のベロシティ情報より小さいベロシティ情報を有する演奏情報に対応する音色波形データのいずれか一方である、付記4に記載の波形書き込み装置。
(付記6)
前記二次記憶装置は、ランダムアクセスメモリを備え、前記一次記憶装置は、前記二次記憶装置より容量の大きいフラッシュメモリを備えた、付記1乃至4のいずれかに記載の波形書き込み装置。
(付記7)
処理部を有する波形書き込み装置に用いられる波形書き込み方法であって、前記処理部が、
楽音の音色毎でかつ、複数種の演奏情報夫々に対応した複数種の音色波形データを記憶する二次記憶装置から、前記複数種の音色波形データを順次読み出し、前記読み出した音色波形データを二次記憶装置に順次書き込み、
前記演奏情報が入力した際に前記演奏情報に対応する音色波形データの書き込みが完了していない場合は、前記一次記憶装置への読込みが完了している他の音色波形データを読み出す、波形読み込み方法。
(付記8)
波形書き込み装置として用いられるコンピュータに、
楽音の音色毎でかつ、複数種の演奏情報夫々に対応した複数種の音色波形データを記憶する二次記憶装置から、前記複数種の音色波形データを順次読み出し、前記読み出した音色波形データを二次記憶装置に順次書き込む波形書き込みステップと、
前記演奏情報が入力した際に前記演奏情報に対応する音色波形データの書き込みが完了していない場合は、前記一次記憶装置への読込みが完了している他の音色波形データを読み出す読み出しステップと、
を実行させるプログラム。
(付記9)
付記1乃至6のいずれかに記載の波形書き込み装置と、
演奏情報を入力する演奏操作子と、
複数種の音色波形データが記憶された一次記憶装置と、
二次記憶装置と、
前記演奏操作子からの演奏情報により前記二次記憶装置から読み出された音色波形データに基づいた音色の楽音を生成する音源と、
を有する電子楽器。
Regarding the above embodiment, the following supplementary notes will be further disclosed.
(Appendix 1)
The plurality of types of tone color waveform data are sequentially read out from a secondary storage device that stores a plurality of types of tone color waveform data corresponding to each of a plurality of types of performance information for each tone color of a musical tone, and the read tone color waveform data is stored in duplicate. Waveform writing processing to sequentially write to the next storage device,
When the writing of the tone color waveform data corresponding to the performance information is not completed when the performance information is input, a reading process of reading another tone color waveform data whose reading to the primary storage device is completed, A processing unit that executes
Waveform writing device equipped with.
(Appendix 2)
The processing unit, as the writing process, responds to the input of the tone color selection information from a secondary storage device that stores a plurality of types of tone color waveform data for each tone color of a musical tone and corresponding to a plurality of types of performance information. The waveform writing device according to appendix 1, which executes a process of sequentially reading a plurality of types of tone color waveform data corresponding to the input tone color selection information and sequentially writing the read tone color waveform data in a secondary storage device.
(Appendix 3)
As the reading process, the processing unit determines whether or not the tone color waveform data corresponding to the performance information has been written in the secondary storage device in response to the input of the performance information, and the writing is performed. When it is determined that the writing is completed, the tone color waveform data corresponding to the performance information is read from the secondary storage device, and when it is determined that the writing is not completed, the tone color waveform data is written to the primary storage device. 3. The waveform writing device according to appendix 1 or 2, which executes a process of reading another tone color waveform data that has been read.
(Appendix 4)
The performance information includes at least pitch information and velocity information of a musical tone to be generated,
4. The waveform writing device according to any one of appendices 1 to 3, wherein each of the plurality of types of tone color waveform data corresponds to each piece of performance information in which at least one of the pitch information and the velocity information is different.
(Appendix 5)
In the reading process, the processing unit stores the other waveform data of tone color waveform data corresponding to performance information having pitch information lower than the pitch information of the input performance information and the input performance information. 5. The waveform writing device according to appendix 4, which is one of tone color waveform data corresponding to performance information having velocity information smaller than the velocity information.
(Appendix 6)
5. The waveform writing device according to any one of appendices 1 to 4, wherein the secondary storage device includes a random access memory, and the primary storage device includes a flash memory having a larger capacity than the secondary storage device.
(Appendix 7)
A waveform writing method used in a waveform writing device having a processing section, wherein the processing section comprises:
The plurality of types of tone color waveform data are sequentially read from the secondary storage device that stores the plurality of types of tone color waveform data corresponding to each of the plurality of types of performance information for each tone color of the musical tone, and the read tone color waveform data is stored in two Sequentially write to the next storage device,
When writing of the tone color waveform data corresponding to the performance information is not completed when the performance information is input, another tone color waveform data whose reading to the primary storage device is completed is read out. ..
(Appendix 8)
A computer used as a waveform writer,
The plurality of types of tone color waveform data are sequentially read out from a secondary storage device that stores a plurality of types of tone color waveform data corresponding to each of a plurality of types of performance information for each tone color of a musical tone, and the read tone color waveform data is stored in duplicate. Waveform writing step to sequentially write to the next storage device,
If the writing of the tone color waveform data corresponding to the performance information is not completed when the performance information is input, a reading step of reading other tone color waveform data whose reading to the primary storage device is completed,
A program to execute.
(Appendix 9)
The waveform writing device according to any one of appendices 1 to 6,
A performance controller for inputting performance information,
A primary storage device storing a plurality of types of tone color waveform data,
A secondary storage device,
A sound source that generates a tone color tone based on tone color waveform data read from the secondary storage device based on performance information from the performance operator.
Electronic musical instrument having.

100 電子鍵盤楽器
101 鍵盤
102 音色選択ボタン
103 機能選択ボタン
104 ベンダ/モジュレーション・ホイール
105 LCD
201 CPU
202 ROM
203 RAM
204 大容量フラッシュメモリ
205 音源LSI
206 波形メモリ
207 キー・スキャナ
208 A/Dコンバータ
209 LCDコントローラ
210 D/Aコンバータ
211 アンプ
213 MIDI I/F
214 システムバス
100 electronic keyboard instrument 101 keyboard 102 tone selection button 103 function selection button 104 vendor/modulation wheel 105 LCD
201 CPU
202 ROM
203 RAM
204 Large-capacity flash memory 205 Sound source LSI
206 Waveform Memory 207 Key Scanner 208 A/D Converter 209 LCD Controller 210 D/A Converter 211 Amplifier 213 MIDI I/F
214 system bus

Claims (8)

楽音の音色毎に設けられ、少なくとも音域及びベロシティ域の一方が異なる複数のグループそれぞれに対応した音色波形データを記憶している二次記憶装置から、前記複数のグループそれぞれに対応する音色波形データを順次読み出し、前記読み出した音色波形データを一次記憶装置に順次書き込む書き込み処理と、
演奏情報が入力された際に前記演奏情報が示す音高及びベロシティが属するグループに対応する音色波形データの前記一次記憶装置への書き込みが完了していない場合は、前記一次記憶装置への書き込みが完了している他のグループに対応する音色波形データを読み出す読み出し処理と、を実行する処理部、
を備えた波形書き込み装置。
Tone waveform data corresponding to each of the plurality of groups is stored from a secondary storage device that is provided for each tone color of the musical tone and stores tone color waveform data corresponding to each of a plurality of groups in which at least one of the tone range and the velocity range is different. A writing process for sequentially reading and sequentially writing the read tone color waveform data in a primary storage device;
If the writing of the tone color waveform data corresponding to the group to which the pitch and velocity indicated by the performance information belongs to the primary storage device when the performance information is input, the writing to the primary storage device is not completed. A processing unit that executes a reading process of reading tone color waveform data corresponding to another completed group ,
Waveform writing device equipped with.
前記処理部は、音色選択情報の入力に応答して、前記二次記憶装置から、前記入力した音色選択情報が示す音色に対応する複数の音色波形データを順次読み出し、前記読み出した音色波形データを一次記憶装置に順次書き込む書き込み処理を実行する、請求項1に記載の波形書き込み装置。 In response to the input of the tone color selection information, the processing unit sequentially reads a plurality of tone color waveform data corresponding to the tone color indicated by the input tone color selection information from the secondary storage device, and outputs the read tone color waveform data. The waveform writing device according to claim 1, which executes a writing process for sequentially writing to the primary storage device. 前記処理部は、前記演奏情報の入力に応答して、前記演奏情報が示す音高及びベロシティが属するグループに対応する音色波形データが前記一次記憶装置に書き込みが完了されているか否か判別し、前記書き込みが完了していると判別された場合は、前記演奏情報が示す音高及びベロシティが属するグループに対応する音色波形データを前記一次記憶装置から読み出すとともに、前記書き込みが完了していないと判別された場合は、前記一次記憶装置への読込みが完了している他のグループに対応する音色波形データを読み出す処理を実行する、請求項1又は2に記載の波形書き込み装置。 In response to the input of the performance information, the processing unit determines whether or not the tone color waveform data corresponding to the group to which the pitch and velocity indicated by the performance information belong has been written to the primary storage device, When it is determined that the writing is completed, the tone color waveform data corresponding to the group to which the pitch and velocity indicated by the performance information belongs is read from the primary storage device, and it is determined that the writing is not completed. The waveform writing device according to claim 1 or 2, which executes a process of reading tone color waveform data corresponding to another group whose reading to the primary storage device has been completed. 前記処理部が実行する前記読み出し処理において、前記他のグループに対応する音色波形データは、前記入力された演奏情報が示す音高より高い音高が属するグループに対応する音色波形データ及び前記入力された演奏情報が示すベロシティより大きいベロシティが属するグループに対応する音色波形データのいずれか一方である、請求項1乃至3のいずれかに記載の波形書き込み装置。 In the reading process executed by the processing unit, the tone color waveform data corresponding to the other group is the tone color waveform data corresponding to the group to which a pitch higher than the pitch indicated by the input performance information belongs, and the input tone color waveform data. The waveform writing device according to claim 1 , wherein the waveform writing device is one of the tone color waveform data corresponding to a group to which a velocity larger than the velocity indicated by the performance information belongs. 前記一次記憶装置は、ランダムアクセスメモリを備え、前記二次記憶装置は、前記一次記憶装置より容量の大きいフラッシュメモリを備えた、請求項1乃至のいずれかに記載の波形書き込み装置。 Said primary storage device includes a random access memory, the secondary storage device, said comprising a large flash memory capacity than the primary storage device, the waveform writing apparatus according to any one of claims 1 to 4. 処理部を有する波形書き込み装置に用いられる波形書き込み方法であって、前記処理部が、
楽音の音色毎に設けられ、少なくとも音域及びベロシティ域の一方が異なる複数のグループそれぞれに対応した音色波形データを記憶している二次記憶装置から、前記複数のグループそれぞれに対応する音色波形データを順次読み出し、前記読み出した音色波形データを一次記憶装置に順次書き込み、
前記演奏情報が入力された際に前記演奏情報が示す音高及びベロシティが属するグループに対応する音色波形データの前記一次記憶装置への書き込みが完了していない場合は、前記一次記憶装置への書き込みが完了している他のグループに対応する音色波形データを読み出す、
波形読み込み方法。
A waveform writing method used in a waveform writing device having a processing section, wherein the processing section comprises:
Tone waveform data corresponding to each of the plurality of groups is stored from a secondary storage device that is provided for each tone color of the musical tone and stores tone color waveform data corresponding to each of a plurality of groups in which at least one of the tone range and the velocity range is different. Sequential reading, sequentially writing the read tone color waveform data in the primary storage device,
If a write to the primary storage device tone waveform data corresponding to the group to which pitch and velocity performance information indicates belongs to when the performance information has been input is not completed, writing of the to the primary storage device Read out the tone color waveform data corresponding to the other groups for which
Waveform reading method.
波形書き込み装置として用いられるコンピュータに、
楽音の音色毎に設けられ、少なくとも音域及びベロシティ域の一方が異なる複数のグループそれぞれに対応した音色波形データを記憶している二次記憶装置から、前記複数のグループそれぞれに対応する音色波形データを順次読み出し、前記読み出した音色波形データを一次記憶装置に順次書き込む書き込みステップと、
前記演奏情報が入力された際に前記演奏情報が示す音高及びベロシティが属するグループに対応する音色波形データの前記一次記憶装置への書き込みが完了していない場合は、前記一次記憶装置への書き込みが完了している他のグループに対応する音色波形データを読み出す読み出しステップと、
を実行させるプログラム。
A computer used as a waveform writer,
Tone waveform data corresponding to each of the plurality of groups is stored from a secondary storage device that is provided for each tone color of the musical tone and stores tone color waveform data corresponding to each of a plurality of groups in which at least one of the tone range and the velocity range is different. A writing step of sequentially reading and sequentially writing the read tone color waveform data in a primary storage device;
If a write to the primary storage device tone waveform data corresponding to the group to which pitch and velocity performance information indicates belongs to when the performance information has been input is not completed, writing of the to the primary storage device And a read step of reading out the tone color waveform data corresponding to the other groups,
A program to execute.
請求項1乃至のいずれかに記載の波形書き込み装置と、
演奏情報を入力する演奏操作子と、
複数種の音色波形データが記憶された前記二次記憶装置と、
前記一次記憶装置と、
前記演奏操作子からの演奏情報により前記一次記憶装置から読み出された音色波形データに基づいた音色の楽音を生成する音源と、
を有する電子楽器。
A waveform writing device according to any one of claims 1 to 5 ,
A performance controller that inputs performance information,
A secondary storage device storing a plurality of types of tone color waveform data;
The primary storage device;
A sound source that generates a tone color tone based on tone color waveform data read from the primary storage device based on performance information from the performance operator.
Electronic musical instrument having.
JP2015175809A 2015-09-07 2015-09-07 Waveform writing device, method, program, and electronic musical instrument Active JP6724316B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015175809A JP6724316B2 (en) 2015-09-07 2015-09-07 Waveform writing device, method, program, and electronic musical instrument

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015175809A JP6724316B2 (en) 2015-09-07 2015-09-07 Waveform writing device, method, program, and electronic musical instrument

Publications (3)

Publication Number Publication Date
JP2017053898A JP2017053898A (en) 2017-03-16
JP2017053898A5 JP2017053898A5 (en) 2018-10-11
JP6724316B2 true JP6724316B2 (en) 2020-07-15

Family

ID=58316417

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015175809A Active JP6724316B2 (en) 2015-09-07 2015-09-07 Waveform writing device, method, program, and electronic musical instrument

Country Status (1)

Country Link
JP (1) JP6724316B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6443772B2 (en) * 2017-03-23 2018-12-26 カシオ計算機株式会社 Musical sound generating device, musical sound generating method, musical sound generating program, and electronic musical instrument

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3541718B2 (en) * 1999-03-24 2004-07-14 ヤマハ株式会社 Music generator
JP3878485B2 (en) * 2002-01-11 2007-02-07 ローランド株式会社 Waveform playback device

Also Published As

Publication number Publication date
JP2017053898A (en) 2017-03-16

Similar Documents

Publication Publication Date Title
JP6708179B2 (en) Information processing method, information processing apparatus, and program
US10373595B2 (en) Musical sound generation device
JP5790686B2 (en) Chord performance guide apparatus, method, and program
JP3637578B2 (en) Music generation method
US10475425B2 (en) Musical sound generation device
JP6657693B2 (en) Waveform writing device, method, program, and electronic musical instrument
JP6724316B2 (en) Waveform writing device, method, program, and electronic musical instrument
EP3435371B1 (en) Musical sound generation device, musical sound generation method and storage medium
CN107230471B (en) Waveform writing device, method, electronic musical instrument, and storage medium
JP6455189B2 (en) Waveform reading apparatus, method, program, and electronic musical instrument
JP2017054075A (en) Waveform writing device, method, program, and electronic musical instrument
CN113674725B (en) Audio mixing method, device, equipment and storage medium
US11114079B2 (en) Interactive music audition method, apparatus and terminal
JP6452234B2 (en) Musical sound generator and program
JP4211650B2 (en) Accompaniment pattern generation apparatus and accompaniment pattern generation program
JP6996148B2 (en) Music generators, methods, programs, and electronic musical instruments
JP6540057B2 (en) Waveform reading apparatus, method, program, and electronic musical instrument
JP4305315B2 (en) Automatic performance data characteristic changing device and program thereof
JP6606839B2 (en) Waveform writing apparatus, method, program, and electronic musical instrument
JP2715677B2 (en) Electronic musical instrument
US6545210B2 (en) Musical sound generator
JP2002041545A (en) Device and method for information distribution
JP2018054857A (en) Electronic musical instrument, control method for electronic musical instrument and program
JP6443773B2 (en) Musical sound generating device, musical sound generating method, musical sound generating program, and electronic musical instrument
JP4011592B2 (en) Music generator

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180830

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180830

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20190415

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190730

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200410

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200608

R150 Certificate of patent or registration of utility model

Ref document number: 6724316

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150