JP6657693B2 - 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
JP6657693B2
JP6657693B2 JP2015179675A JP2015179675A JP6657693B2 JP 6657693 B2 JP6657693 B2 JP 6657693B2 JP 2015179675 A JP2015179675 A JP 2015179675A JP 2015179675 A JP2015179675 A JP 2015179675A JP 6657693 B2 JP6657693 B2 JP 6657693B2
Authority
JP
Japan
Prior art keywords
waveform
timbre
tone
waveform data
tone color
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
JP2015179675A
Other languages
Japanese (ja)
Other versions
JP2017054076A (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 JP2015179675A priority Critical patent/JP6657693B2/en
Publication of JP2017054076A publication Critical patent/JP2017054076A/en
Application granted granted Critical
Publication of JP6657693B2 publication Critical patent/JP6657693B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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 tone generator that generates a tone waveform by a waveform reading method, unused waveform data is stored in a large-capacity auxiliary storage device such as a flash memory or a hard disk in order to use a greater number of waveform data for a longer time. Some systems employ a system in which only waveform data to be used is stored in a secondary storage device and transferred to a waveform memory (primary storage device) that can be directly accessed by a sound source device to generate sound.
In other words, waveform data having a storage capacity equal to or larger than that of the expensive waveform memory (primary storage device) is stored in an inexpensive auxiliary storage device (secondary storage device), and moved only when necessary to generate sound It can be said that it is an efficient method in terms of cost to use.

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

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

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

しかしながら、上述した従来技術では依然として、補助記憶装置から波形メモリ等への波形データの移動に時間がかかるため、演奏に支障を来す場合がある。具体的には、演奏者が多数の音色の中から好みの音色を選ぶような際には、音色の切り替えの度に一定時間待たされて発音されない時間が存在するため、演奏者はストレスを感じるといった課題があった。また、予め演奏する楽曲で使用する複数の音色波形をメモリ上に読み込んでおく方法も考えられるが、どの音色をメモリ上に配置しておくかを演奏者が管理しなければならない。また、音色を比較して選択するようなケースでは音色を切り替える度にメモリ読み込みが発生するか、予め比較したい音色をメモリ上に並べておくなど面倒な作業が必要である。いずれのケースでもユーザーに負担をかけることになる。   However, in the above-described related art, 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 a player chooses a desired tone from a large number of tones, the player feels stress because there is a period of time in which the tone is switched off and the tone is not pronounced. There was such a problem. In addition, a method of reading a plurality of tone color waveforms used in a musical piece to be played in advance into a memory is also conceivable, but a player must manage which tone color is to be arranged in the memory. In addition, in the case where the timbres are compared and selected, it is necessary to perform a troublesome operation such as reading the memory every time the timbres are switched or arranging the timbres to be compared in advance in the memory. Either case puts a burden on the user.

そこで、本発明は、音色切り替えの際に、波形メモリに所望の音色の波形が存在しないために発音できないという演奏者のストレスを軽減、あるいは全く感じさせないレベルに抑制することを目的とする。   SUMMARY OF THE INVENTION It is an object of the present invention to reduce or reduce a player's stress that sound cannot be generated because a waveform of a desired timbre does not exist in a waveform memory at the time of timbre switching.

態様の一例では、楽音の音色夫々に対応した音色波形データのいずれかを指定するための音色選択情報入力順序に基づいて、入力された複数の前記音色選択情報それぞれに優先値を付与するとともに、各音色選択情報に付与された優先値を、各音色選択情報で指定される音色波形データの音色毎に累計して音色毎の優先度を決定する優先度決定処理と、入力された音色選択情報に対応する音色波形データが、第1の記憶装置内に設けられ音色波形データ夫々が記憶可能な複数の波形エリアのいずれにも記憶されていない場合に、前記複数の波形エリア夫々に記憶されている音色波形データの音色に対応して前記優先度決定処理により決定された優先度に基づき、前記複数の波形エリアからひとつの波形エリアを選択する選択処理と、前記入力された音色選択情報に対応する音色波形データを第2の記憶装置から読み出すとともに、前記読み出された音色波形データを、前記選択された波形エリアに書き込む波形書き込み処理と、を実行する処理部を備える。 In an example of the aspect, based on the input order of the tone color selection information for designating any one of the tone color waveform data corresponding to each tone color of the musical tone , a priority value is given to each of the plurality of input tone color selection information. the granted priority value to each tone color selection information, the priority determining process of determining a priority for each tone in total for each tone timbre waveform data designated by the tone color selection information, tone color selection input When the timbre waveform data corresponding to the information is not stored in any of the plurality of waveform areas provided in the first storage device and each of which can store the timbre waveform data, the timbre waveform data is stored in each of the plurality of waveform areas. based on the priority determining priority determined by the processing in response to the tone color of the tone color waveform data are, a selection process for selecting one of the waveform area from said plurality of waveform areas, the entering Reading out the timbre waveform data corresponding to the read timbre selection information from the second storage device and writing the read timbre waveform data to the selected waveform area. Prepare.

本発明によれば、音色切り替えの際に、現実的な再読み込みの可能性を予測して使用可能性の低いと思われる波形から書き換えを行うようにしたので、波形読み込みの発生する可能性を低く抑えることができ、波形無音時間の期待値を短縮することが可能となる。これにより演奏者のストレスを軽減、あるいは全く感じさせないレベルに抑制することが出来る。   According to the present invention, when switching between timbres, the possibility of realistic rereading is predicted and rewritten from a waveform that is considered to be less likely to be used. Therefore, the expected value of the waveform silence time can be shortened. As a result, the stress of the player can be reduced or suppressed to a level where the player does not feel it at all.

本発明による電子鍵盤楽器の実施形態の外観図である。1 is an external view of an embodiment of an electronic keyboard instrument according to the present invention. 電子鍵盤楽器の実施形態のハードウェア構成例を示す図である。FIG. 2 is a diagram illustrating a hardware configuration example of an embodiment of an electronic keyboard instrument. 波形データ読込み動作の説明図である。FIG. 9 is an explanatory diagram of a waveform data reading operation. フラッシュメモリ音色情報テーブルと音色選択優先度テーブルのデータ構成例を示す図である。FIG. 3 is a diagram illustrating an example of a data configuration of a flash memory timbre information table and a timbre selection priority table. 音色選択履歴管理テーブルと音色波形エリア情報テーブルのデータ構成例を示す図である。FIG. 8 is a diagram illustrating an example of a data configuration of a tone color selection history management table and a tone color waveform area information table. 主要変数の一覧を示す図である。It is a figure showing a list of main variables. 制御処理の全体処理の例を示すメインルーチンのフローチャートである。9 is a flowchart of a main routine illustrating an example of an entire control process. 初期化処理の詳細例を示すフローチャートである。9 is a flowchart illustrating a detailed example of an initialization process. 音色切替え処理の詳細例を示すフローチャートである。It is a flowchart which shows the detailed example of a tone color switching process. 音色エリア検索サブルーチンの詳細処理例を示すフローチャートである。It is a flowchart which shows the detailed process example of a tone color area search subroutine. 優先順位判断サブルーチンの詳細処理例を示すフローチャートである。It is a flowchart which shows the detailed processing example of a priority determination subroutine. 音色選択履歴更新サブルーチンの詳細処理例を示すフローチャートである。It is a flowchart which shows the detailed process example of a tone color selection history update subroutine. 優先度計算サブルーチンの詳細処理例を示すフローチャートである。It is a flowchart which shows the detailed process example of a priority calculation subroutine. 音源発音処理の詳細例を示すフローチャートである。It is a flowchart which shows the detailed example of a sound source sound generation process. 波形読込み処理の詳細例を示すフローチャートである。It is a flowchart which shows the detailed example of a waveform reading process.

以下、本発明を実施するための形態(以下「本実施形態」と記載する)について図面を参照しながら詳細に説明する。本実施形態は、例えば電子鍵盤楽器に適用される、音高(鍵域)や音量(ベロシティ:打鍵の速さ)などの演奏情報によって音色が変化するのを再現するために、大容量の2次記憶装置(例えばフラッシュメモリ)から1次記憶装置(例えばRAMによる波形メモリ)に、音高又は音量毎の波形データ(以下これを「スプリット波形」と呼ぶ)を読み込む楽音発生装置を対象とする。本実施形態は、このような楽音発生装置において、演奏者は1つの楽曲の中で同じ音色を繰り返し選択すること、選択された時刻が新しい音色ほど再度選択する可能性が高いことに着目し、音色選択の履歴情報を保持して、より新しく選択されてた音色の波形ほど優先順位を高く設定し、複数音色分の波形データを読み込むことができる一次記憶装置の波形メモリに新たな波形を読み込む際には、優先順位の低い音色が使用している波形メモリエリアから先にオーバーライトすることにより、音色の切替えに伴って所望の音色の波形が存在しない為に演奏できないという状態を最小限に留めることができる電子鍵盤楽器を実現するものである。すなわち、演奏者が今後どの波形が再利用する可能性が高く、どの波形が再利用する可能性が低いかを考慮して波形エリアの管理する必要から開放し、波形読込みの発生を最小限に食い止めることができる電子楽器を実現するものである。   Hereinafter, a mode 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 employs a large-capacity 2 to reproduce a change in timbre due to performance information such as a pitch (key range) and a volume (velocity: speed of keying) applied to an electronic keyboard instrument, for example. A tone generator that reads waveform data (hereinafter referred to as a "split waveform") for each pitch or volume from a secondary storage device (for example, a flash memory) to a primary storage device (for example, a waveform memory such as a RAM). . The present embodiment focuses on such a musical tone generating apparatus that the player repeatedly selects the same timbre in one music piece and that the selected time is more likely to be selected again with a new timbre. Holds the history information of tone selection, sets higher priority to the waveform of the newly selected tone, and reads a new waveform into the waveform memory of the primary storage device that can read waveform data for a plurality of tones. In this case, by overwriting the waveform memory area used by the low-priority tone first, it is possible to minimize the state in which the waveform cannot be played because the desired tone waveform does not exist due to the tone switching. An electronic keyboard instrument that can be held is realized. In other words, the performer relieves the need to manage the waveform area in consideration of which waveforms are likely to be reused in the future and which waveforms are unlikely to be reused, and minimizes the occurrence of waveform reading. It is to realize an electronic musical instrument that can be stopped.

図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. This embodiment is implemented as an electronic keyboard instrument 100. The electronic keyboard instrument 100 includes a keyboard 101 composed of a plurality of keys as performance operators, a tone selection button 102 for selecting a tone as a tone selection operator, and a function selection button 103 for selecting various functions other than the tone. Switch panel, a bender / modulation wheel 104 for adding various modulations (performance effects) such as pitch bend, tremolo, vibrato, etc., and an LCD (Liquid Crystal Display) 105 for displaying various setting information other than tone and tone color. Etc. are provided. Although not particularly shown, the electronic keyboard instrument 100 includes a speaker that emits a musical tone generated by the performance on a back portion, a side portion, a back portion, or the like.

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

図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 illustrating a hardware configuration example of the embodiment of the electronic keyboard instrument 100 of FIG. In FIG. 2, an electronic keyboard instrument 100 is connected to a CPU (Central Processing Unit) 201, a ROM (Read Only Memory) 202, a RAM (Random Access Memory) 203, a large capacity flash (Flash) memory 204, and a waveform memory 206. A key scanner 207 in which a sound source LSI (large scale integrated circuit) 205, a keyboard 105 in FIG. 1 and a switch panel including a tone selection button 102 and a function selection button 103 in FIG. 1 are connected, and a 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 in FIG. 1 is connected, and a MIDI I / F (interface) 213 for receiving MIDI (Musical Instrument Digital Interface) input. Each with a structure to be connected to the system bus 214. The digital tone waveform data output from the sound source 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 in FIG. 1 by executing the control program stored in the ROM 202 while using the RAM 203 as a work memory. 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 large-capacity data such as waveform data, and is sequentially accessed by sequential access. On the other hand, a waveform memory 206 composed of a RAM for expanding waveform data is connected to the tone generator LSI 205, and the waveform data of a musical tone to be generated must be arranged on the waveform memory 206. The CPU 201 can sequentially read out the waveform data from the large-capacity flash memory 204 and transfer it to the waveform memory 206 via the sound source LSI 205, thereby exchanging 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 states of switch panels such as the keyboard 105, the tone selection button 102, and the function selection button 103, and notifies the CPU 201. The A / D converter 208 is an IC that detects an operation position of the vendor / modulation wheel 104. The 16-bit free running timer counter 212 performs time measurement for detecting the time of an event.

図3は、波形データ読込み動作の説明図である。本実施形態では、音源LSI205が波形データの発音読出しに使用するための波形エリアとしては、音源LSI205内の波形メモリ206上に、波形エリア0〜4の4エリアが確保されている。   FIG. 3 is an explanatory diagram of the waveform data reading operation. In the present embodiment, four waveform areas 0 to 4 are secured on the waveform memory 206 in the tone generator LSI 205 as waveform areas to be used by the tone generator LSI 205 for reading out the sound of the waveform data.

大容量フラッシュメモリ204上には全16音色分の波形データが記録されており、その中から選択された音色の波形データを音源LSI205の波形メモリ206の1つの波形エリアに読み込むことで、発音が可能となる。この音色情報は、ROM202に記憶されるフラッシュメモリ音色情報テーブルによって管理される。図4(a)は、フラッシュメモリ音色情報テーブルのデータ構成例を示す図である。このフラッシュメモリ音色情報テーブルは、図2のROM202に記憶されている。図4(a)に例示されるように、フラッシュメモリ音色情報テーブルの各音色毎のエントリには、音色番号を示す「番号」項目値と、「音色名」項目値と、大容量フラッシュメモリ204の波形記憶領域の先頭からの記憶アドレスのオフセット(16進数)を示す「波形アドレスオフセット」項目値と、その音色に含まれる波形データ群の全体の波形サイズ(16進数)を示す「波形サイズ」項目値が記憶されている。図4(a)に示されるように、大容量フラッシュメモリ204上での各音色の波形データのサイズは様々であるが、全て100000H(「H」は16進数を示す)バイト以下になっている。1音色で用いる波形データは1つのみとする。波形メモリ206上の各波形エリアのサイズも、この最大サイズと等しい。従って、任意の音色の波形データを任意の波形エリアに読み込むことが可能である。   Waveform data for all 16 tones is recorded on the large-capacity flash memory 204, and the waveform data of the tone selected from the read data is read into one waveform area of the waveform memory 206 of the tone generator LSI 205 to generate a sound. It becomes possible. This tone color information is managed by a flash memory tone color information table stored in the ROM 202. FIG. 4A is a diagram illustrating a data configuration example of a flash memory timbre information table. This flash memory timbre information table is stored in the ROM 202 of FIG. As illustrated in FIG. 4A, in the entry for each tone in the flash memory tone information table, a “number” item value indicating a tone number, a “tone name” item value, and a large-capacity flash memory 204 are stored. "Waveform address offset" item value indicating the storage address offset (hexadecimal number) from the beginning of the waveform storage area, and "waveform size" indicating the entire waveform size (hexadecimal number) of the waveform data group included in the timbre. Item values are stored. As shown in FIG. 4A, the size of the waveform data of each timbre on the large-capacity flash memory 204 varies, but all are less than or equal to 100,000 H (“H” indicates a hexadecimal number) bytes. . It is assumed that only one waveform data is used for one tone color. The size of each waveform area on the waveform memory 206 is also equal to this maximum size. Therefore, it is possible to read waveform data of an arbitrary timbre into an arbitrary waveform area.

図3に示したように、波形メモリ206上の波形エリアは4組が用意されている。ユーザの音色選択操作によって選択された音色が、すでに波形メモリ206上の4つの波形エリアの何れかに存在すれば、その音色波形のアドレス情報を更新するだけなので瞬時に音色切り替えが完了する。もし、選択された音色がどの波形エリアにも存在しなければ、大容量フラッシュメモリ204から波形メモリ206上の何れかの波形エリアに波形データを読み込む処理を行うことになるが、この時点で使用される可能性が最も低いと思われる音色を履歴から判断して、そのエリアに読み込むことになる。これを具体的に説明すると以下のようになる。   As shown in FIG. 3, four sets of waveform areas on the waveform memory 206 are prepared. If the timbre selected by the user's timbre selection operation already exists in any of the four waveform areas on the waveform memory 206, the timbre switching is completed instantaneously because only the address information of the timbre waveform is updated. If the selected timbre does not exist in any waveform area, the waveform data is read from the large-capacity flash memory 204 into any one of the waveform areas in the waveform memory 206. The timbre which is considered to be least likely to be performed is determined from the history and read into that area. This will be specifically described as follows.

図4(b)は、ROM202に記憶される音色選択優先度テーブルのデータ構成例を示す図である。図4(b)に示されるように、まず優先度は、音色選択の発生順序が新しいほど大きな重みづけポイント(以下これを「優先度ポイント」と呼ぶ)が付与される。これは固定的係数なので変化はない。図5(a)は、図2のRAM203上に記憶される音色選択履歴管理テーブルのデータ構成例を示す図である。ユーザによる実際の音色選択操作によって、図5(a)に示されるように、例えば過去8回の音色選択履歴には、各発生順序及び各選択音色番号(音色名)ごとに、その発生順序に従ってROM202に記憶されている図4(b)の音色選択優先度テーブルが参照されることにより、それぞれ優先度ポイントが付加される。音色選択履歴管理テーブルに残っていない音色名の優先度ポイントはゼロポイントである。図5(b)は、RAM203に記憶される音色波形エリア情報テーブルのデータ構成例を示す図である。図5(b)に示されるように、波形メモリ206上の4つの波形エリアのそれぞれについて、当該波形エリアに読み込まれている波形データの音色番号(音色名)が図5(a)の音色選択履歴管理テーブルの選択音色番号(音色名)から検索され、マッチしたエントリの優先度ポイントの合計値が、当該波形エリアの優先度ポイントとして集計される。例えば、エリア番号1の波形エリアの音色名「03(Guitar)」は、音色選択履歴管理テーブル上の発生順序1番(最古)、3番、及び6番に記録されており、音色選択優先度テーブルよりそれぞれ優先度ポイント1、4、16が付与されている。従って、エリア番号1の波形エリアの音色名「03(Guitar)」の優先度ポイントは1+4+16=21点となる。同様に、エリア番号2の波形エリアの音色名「01(Piano)」は、音色選択履歴管理テーブル上の発生順序8番(最新として選択中)に記録されており、音色選択優先度テーブルより優先度ポイント29が付与されている。従って、エリア番号2の波形エリアの音色名「01(Piano)」の優先度ポイントは29点となる。同様に、エリア番号3の波形エリアの音色名「06(Synth1)」は、音色選択履歴管理テーブル上の発生順序4番及び7番に記録されており、音色選択優先度テーブルよりそれぞれ優先度ポイント7及び22が付与されている。従って、エリア番号3の波形エリアの音色名「06(Synth1)」の優先度ポイントは7+22=29点となる。更に、エリア番号4の波形エリアの音色名「02(Organ)」は、音色選択履歴管理テーブル上の発生順序5番に記録されており、音色選択優先度テーブルより優先度ポイント11が付与されている。従って、エリア番号4の波形エリアの音色名「06(Organ)」の優先度ポイントは11点となる。   FIG. 4B is a diagram illustrating a data configuration example of a tone color selection priority table stored in the ROM 202. As shown in FIG. 4B, the priority is assigned to a larger weighting point (hereinafter referred to as a “priority point”) as the order of occurrence of the tone color selection becomes newer. Since this is a fixed coefficient, there is no change. FIG. 5A is a diagram showing a data configuration example of a tone color selection history management table stored on the RAM 203 of FIG. As shown in FIG. 5A, for example, in the past eight timbre selection histories, according to the actual timbre selection operation performed by the user, each generation order and each selected timbre number (timbre name) are used in accordance with the generation order. By referring to the tone color selection priority table of FIG. 4B stored in the ROM 202, priority points are respectively added. The priority point of the tone color name not remaining in the tone color selection history management table is zero point. FIG. 5B is a diagram illustrating a data configuration example of a tone color waveform area information table stored in the RAM 203. As shown in FIG. 5B, for each of the four waveform areas on the waveform memory 206, the timbre number (timbre name) of the waveform data read into the waveform area is the timbre selection in FIG. A search is made from the selected tone color number (tone color name) in the history management table, and the total value of the priority points of the matched entries is totaled as the priority point of the waveform area. For example, the timbre name “03 (Guitar)” of the waveform area having the area number 1 is recorded in the chronological order No. 1 (oldest), third, and sixth in the timbre selection history management table. Priority points 1, 4, and 16 are given from the degree table. Therefore, the priority point of the tone color name “03 (Guitar)” of the waveform area of area number 1 is 1 + 4 + 16 = 21 points. Similarly, the timbre name "01 (Piano)" of the waveform area of area number 2 is recorded in the generation order number 8 (selected as the latest) in the timbre selection history management table, and has priority over the timbre selection priority table. A degree point 29 is given. Therefore, the priority point of the tone name “01 (Piano)” of the waveform area of area number 2 is 29 points. Similarly, the timbre name “06 (Synth1)” of the waveform area having the area number 3 is recorded in the order of occurrence 4 and 7 in the timbre selection history management table. 7 and 22 are provided. Accordingly, the priority point of the tone color name “06 (Synth1)” of the waveform area of area number 3 is 7 + 22 = 29 points. Further, the timbre name “02 (Organ)” of the waveform area of area number 4 is recorded in the generation order No. 5 in the timbre selection history management table, and the priority point 11 is given from the timbre selection priority table. I have. Therefore, the priority point of the tone color name “06 (Organ)” of the waveform area of area number 4 is 11 points.

次に、波形エリアに存在しない音色への切替えが発生した際には、音色波形エリア情報テーブル上で優先度ポイントが最も低い音色番号(音色波形)に割り当てられているエリア番号の波形エリアが、新しく選択された音色波形のためにオーバーライトされる。   Next, when switching to a tone that does not exist in the waveform area occurs, the waveform area of the area number assigned to the tone color number (tone color waveform) having the lowest priority point on the tone color waveform area information table becomes Overwritten for the newly selected tone waveform.

本実施形態では、波形読込みの指示が発生すると、上述の制御に基づいて決定された波形エリアに、大容量フラッシュメモリ204から波形データの読込みが行われるが、操作子や鍵盤の読込みを滞らせないようにするために、波形読込み処理はバックグラウンド処理として実行される。もし、演奏発音時に波形読み込みが完了していない波形データについては、演奏情報は捨てられ発音は行わない。   In the present embodiment, when an instruction to read a waveform is issued, the waveform data is read from the large-capacity flash memory 204 into the waveform area determined based on the above-described control. In order to avoid such a situation, the waveform reading process is executed as a background process. If the waveform data has not been read at the time of performance sound generation, the performance information is discarded and no sound is generated.

図6は、図2のCPU201が実行する制御処理において使用する主要な変数の一覧を示す図である。各変数については、後述する制御処理の詳細説明において詳述する。   FIG. 6 is a diagram showing a list of main variables used in the control processing executed by the CPU 201 of FIG. Each variable will be described in detail in the following detailed description of the control processing.

以下に、上述の動作を実現するためにCPU201が実行する制御処理の詳細例について説明する。   Hereinafter, 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 a main routine showing an example of the entire processing of the control processing executed by the CPU 201. This processing example is a processing example in which the CPU 201 executes a 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 regular loop process represented by a series of processes from steps S702 to S711.

定常ループ処理では、CPU201はまず、ユーザインタフェース処理(図中「ユーザI/F」と表示)を実行する(ステップS702)。ここでは、CPU201は、図2のキー・スキャナ207を介して図1の音色選択ボタン102の状態を取得する。   In the regular 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 in FIG. 1 via the key scanner 207 in FIG.

次に、CPU201は、ステップS702の処理の結果、演奏者が音色選択ボタン102を操作することにより音色選択イベントが発生したか否かを判定する(ステップS703)。   Next, as a result of the processing in 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, when tone color switching has occurred (when the determination in step S703 is Yes), the CPU 201 executes tone color switching processing (step S704). If the determination in step S703 is No, the CPU 201 skips the processing in step S704.

次に、CPU201は、鍵盤処理を実行する(ステップS705)。ここでは、CPU201は、図2のキー・スキャナ207を介して図1の鍵盤105の押鍵状態を取得する。   Next, the CPU 201 executes a keyboard process (step S705). Here, the CPU 201 obtains the key pressed 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 in step S705, the CPU 201 determines whether or not a key press 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 press event has occurred (when the determination in step S706 is Yes), the CPU 201 executes a sound source tone generation process (step S707). If the determination in step S706 is No, the CPU 201 skips the processing in step S707.

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

そして、CPU201は、離鍵イベントが発生した場合(ステップS708の判定がYesの場合)は、音源リリース処理を実行する(ステップS709)。ステップS708の判定がNoならば、CPU201は、ステップS709の処理はスキップする。   Then, when a key release event has occurred (when the determination in step S708 is Yes), the CPU 201 executes a sound source release process (step S709). If the determination in step S708 is No, the CPU 201 skips the processing in 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 in FIG. 1 is pressed and a process corresponding to a case where the vendor / modulation wheel 104 in FIG. Is performed.

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

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

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

まず、CPU201は、RAM203上の図6に示される変数の値を、全て「0」にする(ステップS801)。   First, the CPU 201 sets all the values of the variables shown in FIG. 6 on the RAM 203 to “0” (step S801).

次に、CPU201は、RAM203上の変数iについて、ステップS802において値「0」に初期設定した後、ステップS805で+1ずつインクリメントしながら、ステップS804で値「7」に達したと判定するまで、RAM203上の図6に示される音色番号履歴変数TS_HIS[i]に音色未選択を示す無効値「−1」を格納する処理(ステップS803)を、繰り返し実行する。この音色番号履歴変数TS_HIS[i](0≦i≦7)は、図5(a)の音色選択履歴管理テーブルの「発生順序」項目値が1から8の各エントリの「選択音色番号(音色名)」項目値を保持する。   Next, the CPU 201 initializes the variable i on the RAM 203 to a value “0” in step S802, increments the value by +1 in step S805, and continues until the value is determined to reach the value “7” in step S804. The process of storing the invalid value “−1” indicating that the tone color has not been selected in the tone color number history variable TS_HIS [i] shown in FIG. 6 on the RAM 203 (step S803) is repeatedly executed. This timbre number history variable TS_HIS [i] (0 ≦ i ≦ 7) corresponds to the “selected timbre number (tone color)” of each entry having an “order of occurrence” item value of 1 to 8 in the timbre selection history management table of FIG. Name) ”item value.

続いて、CPU201は、変数iについて、ステップS806において値「0」に初期設定した後、ステップS809で+1ずつインクリメントしながら、ステップS808で値「3」に達したと判定するまで、RAM203上の図6に示される波形エリア音色番号変数WM_ST[i].TONEに無効値「−1」を格納する処理と、同じくRAM203上の図6に示される波形エリアアドレスオフセット変数WM_ST[i].RAM_OFFSETにオフセット値「i×100000H」を格納する処理(ステップS807)を、繰り返し実行する。波形エリア音色番号変数WM_ST[i].TONE(0≦i≦3)は、図5(b)の音色波形エリア情報テーブルの「エリア番号」項目値が1から4の各エントリの「音色番号(音色名)」項目値を保持する。また、図3の説明で前述したように、波形メモリ206上の各波形エリアはそれぞれ100000Hの固定サイズを有するため、波形エリアアドレスオフセット変数WM_ST[i].RAM_OFFSET(0≦i≦3)が示す、図5(b)の音色波形エリア情報テーブルの「エリア番号」項目値が1から4の各エントリに対応する各波形エリアの波形メモリ206の先頭アドレスからのアドレスオフセットは、ステップS807の繰返し処理により、固定的にi×100000H(0≦i≦3)として算出される。すなわち、「エリア番号」項目値=「1」「2」「3」「4」の各波形エリアのアドレスオフセットはそれぞれ、「0」、「100000H」、「200000H」、及び「300000H」として算出される。   Subsequently, the CPU 201 initializes the variable i to a value “0” in step S806, increments it by +1 in step S809, and keeps incrementing the value in the RAM 203 by one until it determines that the value has reached “3” in step S808. The waveform area tone color number variable WM_ST [i]. The process of storing the invalid value “−1” in the TONE and the waveform area address offset variable WM_ST [i]. The process of storing the offset value “i × 100000H” in RAM_OFFSET (step S807) is repeatedly executed. Waveform area tone number variable WM_ST [i]. TONE (0 ≦ i ≦ 3) holds the “tone color number (tone color name)” item value of each entry having an “area number” item value of 1 to 4 in the tone color waveform area information table of FIG. Further, as described above with reference to FIG. 3, since each waveform area on the waveform memory 206 has a fixed size of 100000H, the waveform area address offset variable WM_ST [i]. RAM_OFFSET (0 ≦ i ≦ 3), from the top address of the waveform memory 206 of each waveform area corresponding to each entry of “1” to “4” in the “area number” item value of the tone color waveform area information table of FIG. Is fixedly calculated as i × 100,000H (0 ≦ i ≦ 3) by the repetitive processing of step S807. That is, the address offset of each waveform area of “area number” item value = “1”, “2”, “3”, “4” is calculated as “0”, “100000H”, “200000H”, and “300000H”, respectively. You.

その後、CPU201は、現在読込み中の波形の番号を示す変数READING_WAVE(図6参照)に、無効値「−1」を格納する。また、CPU201は、図5(a)の音色毎履歴管理テーブルに対応するRAM203上の音色番号履歴変数TS_HIS[i](0≦i≦7)の8エントリのうち、最新の履歴が格納されるべき要素値を格納するRAM203上のポインタ変数TS_HIS_WP(図6参照)に、先頭位置を示す初期値「0」を格納する(以上、ステップS810)。   Thereafter, the CPU 201 stores the invalid value “−1” in the variable READING_WAVE (see FIG. 6) indicating the number of the waveform currently being read. Further, the CPU 201 stores the latest history among the eight entries of the tone color number history variable TS_HIS [i] (0 ≦ i ≦ 7) on the RAM 203 corresponding to the tone color history management table of FIG. The initial value “0” indicating the head position is stored in the pointer variable TS_HIS_WP (see FIG. 6) on the RAM 203 that stores the power element value (step S810).

最後に、CPU201は、音色番号の初期値「0」(Piano)を格納したRAM203上の音色番号変数Tを引数として、音色切替えサブルーチンを実行する(ステップS811)。その後、CPU201は、図8のフローチャートで示される図7のステップS701の初期化処理を終了する。   Finally, the CPU 201 executes the tone color switching subroutine using the tone color number variable T in the RAM 203 storing the initial value "0" (Piano) of the tone color number as an argument (step S811). After that, the CPU 201 ends the initialization processing of step S701 of FIG. 7 shown in the flowchart of FIG.

図9は、上述の図7のステップS701の初期化処理内の図8のステップS811の音色切替え処理、又は図7の音色選択イベント発生時(ステップS703の判定がYesのとき)のステップS704の音色切替え処理の、詳細例を示すフローチャートである。この処理の実行時には、RAM203上の音色番号変数Tの値が引き渡される。音色番号変数Tには、ステップS811の実行時には前述したように初期値「0」が格納され、ステップS704の実行時には、ユーザによる図1の音色選択ボタン102の操作に基づいて図7のステップS702のユーザインタフェース処理で取り込まれたユーザが選択した音色の音色番号が格納される。   FIG. 9 shows the tone color switching process of step S811 of FIG. 8 in the above-described initialization process of step S701 of FIG. 7, or the process of step S704 when the tone color selection event of FIG. 7 occurs (when the determination of step S703 is Yes). It is a flowchart which shows the detailed example of a tone color switching process. When this process is executed, the value of the tone number variable T on the RAM 203 is delivered. As described above, the initial value “0” is stored in the tone color number variable T at the time of execution of step S811. At the time of execution of step S704, the user operates the tone color selection button 102 of FIG. The timbre number of the timbre selected by the user, which is captured in the user interface processing of the above, is stored.

図9の音色切替え処理のフローチャートにおいて、CPU201はまず、音色エリア検索サブルーチンを実行する(ステップS901)。この処理では、音色番号変数Tに得られている選択された音色番号が、波形メモリ206上の図3の4つの波形エリアのうちのどの波形エリアに存在するかが検索される。この処理の詳細については、図10のフローチャートを用いて後述する。この処理の結果、RAM203上の変数Aに、波形エリアの番号(0≦A≦3)が得られる。   In the flowchart of the tone color switching process of FIG. 9, the CPU 201 first executes a tone color area search subroutine (step S901). In this process, a search is made as to which of the four waveform areas in FIG. 3 the selected tone color number obtained in the tone color number variable T exists in the waveform memory 206. Details of this processing will be described later using the flowchart of FIG. As a result of this processing, the number of the waveform area (0 ≦ A ≦ 3) is obtained as the variable A on the RAM 203.

次に、CPU201は、変数Aに得られた波形エリアの番号が無効値「−1」であるか否か、即ち、音色番号変数Tの選択音色番号が未だ波形メモリ206のどの波形エリアにもロードされていないか否かを判定する(ステップS902)。   Next, the CPU 201 determines whether or not the number of the waveform area obtained for the variable A is the invalid value “−1”, that is, the selected timbre number of the timbre number variable T is not stored in any waveform area of the waveform memory 206 yet. It is determined whether it has not been loaded (step S902).

音色番号変数Tの選択音色番号が既に波形メモリ206上の何れかの波形エリアにロードされている(ステップS902の判定がNoである)場合には、CPU201は、変数Aの値をRAM203上の変数C_AREAにコピーする。変数C_AREAは、現在選択されている波形データが読込み済みもしくは読込み中となっている、その波形データの格納先の波形エリアのエリア番号を示している(図6参照)。次に、CPU201は、現在発音中の音色の音色番号を格納する変数C_TONE(図6参照)に、変数Tの値をコピーする(ステップS910)。その後、CPU201は、図9のフローチャートで示される音色切替え処理を終了する。   If the selected timbre number of the timbre number variable T has already been loaded into any of the waveform areas in the waveform memory 206 (the determination in step S902 is No), the CPU 201 stores the value of the variable A in the RAM 203. Copy to variable C_AREA. The variable C_AREA indicates the area number of the waveform area in which the currently selected waveform data has been read or is being read, where the waveform data is stored (see FIG. 6). Next, the CPU 201 copies the value of the variable T to a variable C_TONE (see FIG. 6) that stores the tone number of the tone currently being sounded (step S910). Thereafter, the CPU 201 ends the tone color switching processing shown in the flowchart of FIG.

音色番号変数Tの選択音色番号が未だ波形メモリ206上のどの波形エリアにもロードされていない(ステップS902の判定がNoである)場合には、CPU201はまず、現在読込み中の波形の番号を示す変数READING_WAVEの値が無効値「−1」であるか否か、即ち、現在別の音色の波形データの読込み処理が実行中でないか否かを判定する(ステップS903)。   If the selected timbre number of the timbre number variable T has not yet been loaded into any of the waveform areas on the waveform memory 206 (the determination in step S902 is No), the CPU 201 first determines the number of the waveform currently being read. It is determined whether or not the value of the indicated variable READING_WAVE is an invalid value “−1”, that is, whether or not reading processing of waveform data of another timbre is currently being executed (step S903).

現在別の音色の波形データの読込み処理が実行中でない(ステップS903の判定がYes)の場合には、CPU201は、優先順位判断サブルーチンを実行する(ステップS904)。この処理では、図6(b)に例示される音色波形エリア情報テーブル上の4つのエリアのエントリのうち、「優先度ポイント」項目値が最も小さい即ち優先順位が最も低いエントリのエリア番号が判断され、そのエリア番号が変数Aにセットされる。新たに選択された音色の波形データは、大容量フラッシュメモリ204からこのエリア番号Aの波形エリアにロードされる。この処理の詳細については、図11のフローチャートを用いて後述する。   If the reading process of the waveform data of another timbre is not currently being executed (the determination in step S903 is Yes), the CPU 201 executes a priority determination subroutine (step S904). In this process, the area number of the entry with the smallest “priority point” item value, that is, the entry with the lowest priority, among the entries of the four areas on the tone color waveform area information table illustrated in FIG. 6B is determined. The area number is set in the variable A. The waveform data of the newly selected timbre is loaded from the large-capacity flash memory 204 into this waveform area of area number A. Details of this processing will be described later with reference to the flowchart of FIG.

次に、CPU201は、RAM203上の現在選択されている波形データが読込み済みもしくは読込み中となっている、その波形データの格納先の波形エリアのエリア番号を示す変数C_AREA(図6参照)に、ステップS904で変数Aにセットされたエリア番号の値をコピーする(ステップS905)。   Next, the CPU 201 sets a variable C_AREA (see FIG. 6) indicating the area number of the waveform area in which the currently selected waveform data on the RAM 203 has been read or is being read and which stores the waveform data. The value of the area number set in the variable A in step S904 is copied (step S905).

一方、現在別の音色の波形データの読込み処理が実行中である場合には、上述のステップS904とS905の処理はスキップされる。このとき、変数C_AREAには、その読込み処理が実行中の波形エリアのエリア番号がセットされている。従って、この場合には、次のステップS906の処理によって、その読込み処理が中止されて、その読込み処理中であった波形エリアに、新たに選択された音色の波形データが大容量フラッシュメモリ204からロードされることになる。   On the other hand, when the reading process of the waveform data of another tone color is currently being executed, the processes of steps S904 and S905 described above are skipped. At this time, the area number of the waveform area where the reading process is being executed is set in the variable C_AREA. Therefore, in this case, the reading process is stopped by the process of the next step S906, and the waveform data of the newly selected timbre is stored in the waveform area being read from the large-capacity flash memory 204. Will be loaded.

その後、CPU201はまず、ROM202に記憶されている図4(a)に例示されるフラッシュメモリ音色情報テーブルの、「音色名」項目の値が変数Tに得られている新たに選択された音色名に対応するエントリから「波形アドレスオフセット」項目値と「波形サイズ」項目値を抽出し、それらをそれぞれ、変数C_AREAのエリア番号によって指定される読込み処理が開始される波形エリアに関するRAM203上の波形オフセット構造体要素WM_ST[C_AREA].FLASH_OFFSET及び波形サイズ構造体要素WM_ST[C_AREA].WAVE_SIZE(共に図6参照)にコピーする。また、上記波形エリア上の波形データの有無を保持するRAM203上の構造体要素WM_ST[C_AREA].WAVEに、まだ波形データが存在していないことを示す値「0」を初期設定する。更に、上記波形エリアへの前回までに転送済みの波形データのサイズを示す構造体要素WM_ST[W].READ_SIZE(図6参照)に、未転送を示す値「0」を格納する。加えて、現在読込み中の波形の番号を示すRAM203上の変数READING_WAVE(図6参照)に、新規であることを示す無効値「−1」を格納する。(以上、図9のステップS906)。   Thereafter, the CPU 201 first determines the value of the “timbre name” item of the flash memory timbre information table illustrated in FIG. , The "waveform address offset" item value and the "waveform size" item value are extracted from the entry corresponding to the waveform offset on the RAM 203 relating to the waveform area where the reading process specified by the area number of the variable C_AREA is started. Structure element WM_ST [C_AREA]. FLASH_OFFSET and waveform size structure element WM_ST [C_AREA]. Copy to WAVE_SIZE (both refer to FIG. 6). Also, a structure element WM_ST [C_AREA]. A value “0” indicating that the waveform data does not yet exist is initially set in WAVE. Further, a structure element WM_ST [W]... Indicating the size of the waveform data transferred to the waveform area up to the previous time. The value “0” indicating non-transfer is stored in READ_SIZE (see FIG. 6). In addition, an invalid value "-1" indicating newness is stored in a variable READING_WAVE (see FIG. 6) on the RAM 203 indicating the number of the waveform currently being read. (The above is Step S906 of FIG. 9).

その後、CPU201は、音色選択履歴更新サブルーチンを実行する(ステップS907)。この処理では、変数Tに保持されている新たに選択された音色の音色番号が、RAM203内の図5(a)に例示される音色選択履歴管理テーブルに登録、更新される。この処理の詳細については、図12のフローチャートを用いて後述する。   Thereafter, the CPU 201 executes a tone color selection history update subroutine (step S907). In this process, the tone number of the newly selected tone stored in the variable T is registered and updated in the tone selection history management table illustrated in FIG. Details of this processing will be described later using the flowchart of FIG.

その後、CPU201は、優先度計算サブルーチンを実行する(ステップS907)。この処理では、ステップS907で図5(a)に例示される音色選択履歴管理テーブルの内容が更新された後に、波形メモリ206内の4つの波形エリアについて、図5(b)の音色波形エリア情報テーブルの「優先度ポイント」項目値が再計算される。この処理の詳細については、図13のフローチャートを用いて後述する。   After that, the CPU 201 executes a priority calculation subroutine (step S907). In this processing, after the contents of the timbre selection history management table illustrated in FIG. 5A are updated in step S907, the timbre waveform area information of FIG. The "priority point" item value in the table is recalculated. Details of this processing will be described later using the flowchart of FIG.

ステップS908の処理の後、CPU201は、現在発音中の音色の音色番号を格納する変数C_TONE(図6参照)に、新たに選択された音色の音色番号が格納されている変数Tの値をコピーする(ステップS910)。その後、CPU201は、図9のフローチャートで示される音色切替え処理を終了する。   After the process of step S908, the CPU 201 copies the value of the variable T storing the tone number of the newly selected tone to the variable C_TONE (see FIG. 6) storing the tone number of the tone currently being sounded. (Step S910). Thereafter, the CPU 201 ends the tone color switching processing shown in the flowchart of FIG.

図10は、図9のステップS901の音色エリア検索サブルーチンの詳細処理例を示すフローチャートである。前述したように、この処理では、音色番号変数Tに得られている新たに選択された音色番号が、波形メモリ206上の図3の4つの波形エリアのうちのどの波形エリアに存在するかが検索される。   FIG. 10 is a flowchart showing a detailed processing example of the tone color area search subroutine of step S901 in FIG. As described above, in this processing, it is determined in which of the four waveform areas in FIG. 3 the newly selected timbre number obtained in the timbre number variable T exists in the waveform memory 206. Searched.

CPU201はまず、各波形エリアのエリア番号を格納するカウンタ変数Aについて、ステップS1001において値「0」に初期設定した後、ステップS1003で+1ずつインクリメントしながら、ステップS1004で値「4」に達したと判定するまで、新たに選択された音色番号を格納する変数Tの値が、変数Aのエリア番号の波形エリアに割り当てられている音色番号を示す構造体要素WM_ST[A].TONEの値と等しいか否かを判定する処理(ステップS1002)を、繰り返し実行する。   First, the CPU 201 initializes the counter variable A storing the area number of each waveform area to a value “0” in step S1001 and then reaches “4” in step S1004 while incrementing by +1 in step S1003. Until it is determined that the value of the variable T storing the newly selected tone number is a structure element WM_ST [A]. The process of determining whether or not the value is equal to the value of TONE (step S1002) is repeatedly executed.

CPU201は、変数Aの0から3までの何れかの値において、ステップ1002の判定がYesになったら、その変数Aの値を検索により見つかったエリア番号の戻り値として、図10のフローチャートで示される図9のステップS901の処理を終了する。   If the determination in step 1002 is “Yes” in any of the values of the variable A from 0 to 3, the CPU 201 determines the value of the variable A as the return value of the area number found by the search in the flowchart of FIG. The process of step S901 in FIG.

CPU201は、変数Aの0から3までのどの値においてもステップ1002の判定がNoで、やがてステップS1004の判定がYesになると、変数Aに検索で見つからなかったことを示す無効値「−1」を格納して戻り値とし、図10のフローチャートで示される図9のステップS901の処理を終了する。   The CPU 201 determines No in step 1002 for any of the values of the variable A from 0 to 3, and when the determination in step S1004 eventually becomes Yes, the invalid value “−1” indicating that the variable A was not found by the search. Is stored as a return value, and the process of step S901 in FIG. 9 shown in the flowchart of FIG. 10 ends.

次に、図11は、図9のステップS904の優先順位判断サブルーチンの詳細処理例を示すフローチャートである。前述したようにこの処理では、図6(b)に例示される音色波形エリア情報テーブル上の4つのエリアのエントリのうち、「優先度ポイント」項目値が最も小さい即ち優先順位が最も低いエントリのエリア番号が判断される。本実施形態では、新たに選択された音色の波形データを大容量フラッシュメモリ204から波形メモリ206にロードするときに、波形メモリ206上の4つの波形エリアのうち、優先順位が最も低いエントリの波形データが、新たな波形データによって置換される。 Next, FIG. 11 is a flowchart illustrating a detailed processing example of the priority order determination subroutine of step S904 in FIG. As described above, in this process, among the entries of the four areas on the tone color waveform area information table illustrated in FIG. 6B, the entry of the entry with the smallest “priority point” item value, that is, the entry with the lowest priority order The area number is determined. In the present embodiment, when the waveform data of the newly selected timbre is loaded from the large-capacity flash memory 204 to the waveform memory 206, the waveform of the entry having the lowest priority among the four waveform areas on the waveform memory 206 is selected. The data is replaced by the new waveform data.

CPU201はまず、処理を行う波形エリアのエリア番号をカウントするRAM203上のカウンタ変数Wと、優先度が現時点で最も低い波形エリアのエリア番号を格納するRAM203上の変数Aに、共に初期値0を格納する。また、CPU201は、優先順位を比較するためのRAM203上のバッファ変数Sに、優先順位が非常に小さいことを示す大きな値「255」を格納する(ステップS1101)。   The CPU 201 first sets the initial value 0 to a counter variable W on the RAM 203 for counting the area number of the waveform area to be processed and a variable A on the RAM 203 for storing the area number of the waveform area with the lowest priority at the present time. Store. Also, the CPU 201 stores a large value “255” indicating that the priority is very small in the buffer variable S on the RAM 203 for comparing the priority (step S1101).

次に、CPU201は、カウンタ変数Wについて、ステップS1101において上述のように値「0」を初期設定した後、ステップS1104で+1ずつインクリメントしながら、ステップS1105で値「4」に達したと判定するまで、以下のステップS1102及びS1103の処理を、繰り返し実行する。CPU201は、ステップS1102で、変数Wのエリア番号の波形エリアに割り当てられている優先度ポイントを示す構造体要素WM_ST[W].SIGの値が、優先順位比較バッファ変数Sの現在の値よりも小さいか否かを判定する。ステップS1102の判定がYesならば、CPU201は、ステップS1103で、変数Wのエリア番号の波形エリアに割り当てられている優先度ポイントを示す構造体要素WM_ST[W].SIGの値を優先順位比較バッファ変数Sに格納し、優先度が現時点で最も低い波形エリアのエリア番号を格納する変数Aに変数Wの値を格納する。この構造体要素WM_ST[W].SIG(0≦W≦3)は、図5(b)の音色波形エリア情報テーブルの「優先度ポイント」項目値に対応する。なお、図5(b)の音色波形エリア情報テーブルの「音色番号(音色名)」項目値は、構造体要素WM_ST[W].TONE(0≦W≦3)(図6参照)が対応する。ステップS1102の判定がNoならば、CPU201は、ステップS1103の処理はスキップして次のインクリメントされた変数Wが示すエリア番号についての処理に移行する。   Next, the CPU 201 initializes the value “0” for the counter variable W in step S1101 as described above, and determines that the value has reached “4” in step S1105 while incrementing by +1 in step S1104. Up to this point, the following steps S1102 and S1103 are repeatedly executed. In step S1102, the CPU 201 determines that the structure elements WM_ST [W]. It is determined whether or not the value of SIG is smaller than the current value of the priority comparison buffer variable S. If the determination in step S1102 is Yes, the CPU 201 determines in step S1103 that the structure elements WM_ST [W]... Indicating the priority points assigned to the waveform area of the area number of the variable W. The value of the SIG is stored in the priority comparison buffer variable S, and the value of the variable W is stored in the variable A storing the area number of the waveform area having the lowest priority at the present time. This structure element WM_ST [W]. SIG (0 ≦ W ≦ 3) corresponds to the “priority point” item value in the tone color waveform area information table of FIG. 5B. The item value of “tone number (tone name)” in the tone waveform area information table of FIG. 5B is the structure element WM_ST [W]. TONE (0 ≦ W ≦ 3) (see FIG. 6) corresponds. If the determination in step S1102 is No, the CPU 201 skips the process in step S1103 and proceeds to the process for the area number indicated by the next incremented variable W.

以上のステップS1102からS1105までの一連の処理が繰り返し実行された結果、ステップS1105の判定がYesになると、CPU201は、優先度が最終的に最も低い波形エリアのエリア番号を格納する変数Aの値を戻り値として、図11のフローチャートで示される図9のステップS904の優先順位判断サブルーチンの処理を終了する。   As a result of repeatedly executing the series of processes from steps S1102 to S1105, when the determination in step S1105 is Yes, the CPU 201 determines the value of the variable A storing the area number of the waveform area finally having the lowest priority. As a return value, the processing of the priority order determination subroutine of step S904 in FIG. 9 shown in the flowchart of FIG. 11 is ended.

図12は、図9のステップS907の音色選択履歴更新サブルーチンの詳細処理例を示すフローチャートである。前述したようにこの処理では、変数Tに保持されている新たに選択された音色の音色番号が、RAM203内の図5(a)に例示される音色選択履歴管理テーブルに登録、更新される。   FIG. 12 is a flowchart showing a detailed processing example of the tone color selection history update subroutine of step S907 in FIG. As described above, in this process, the timbre number of the newly selected timbre stored in the variable T is registered and updated in the timbre selection history management table illustrated in FIG.

CPU201はまず、RAM203上のポインタ変数TS_HIS_WP(図6参照)が示す最新の履歴が格納されるべきRAM203上の音色番号履歴変数TS_HIS[i](図6参照)に、変数Tに保持されている新たに選択された音色の音色番号を格納する(ステップS1201)。   First, the CPU 201 holds the tone color number history variable TS_HIS [i] (see FIG. 6) in the RAM 203 where the latest history indicated by the pointer variable TS_HIS_WP (see FIG. 6) on the RAM 203 is to be stored, as the variable T. The timbre number of the newly selected timbre is stored (step S1201).

次に、CPU201は、ポインタ変数TS_HIS_WPの値を+1進める(ステップS1202)。   Next, the CPU 201 advances the value of the pointer variable TS_HIS_WP by +1 (step S1202).

続いて、CPU201は、ポインタ変数TS_HIS_WPの値が「8」に達したか否かを判定する(ステップS1203)。   Subsequently, the CPU 201 determines whether or not the value of the pointer variable TS_HIS_WP has reached “8” (step S1203).

ステップS1203の判定がYesの場合、CPU201は、ポインタ変数TS_HIS_WPの値を0にリセットする(ステップS1204)。ステップS1203の判定がNoの場合、CPU201は、ステップS1204の処理はスキップする。その後、CPU201は、図12のフローチャートで示される図9のステップS907の音色選択履歴更新サブルーチンの処理を終了する。   If the determination in step S1203 is Yes, the CPU 201 resets the value of the pointer variable TS_HIS_WP to 0 (step S1204). If the determination in step S1203 is No, the CPU 201 skips the processing in step S1204. Thereafter, the CPU 201 ends the processing of the tone color selection history update subroutine of step S907 of FIG. 9 shown in the flowchart of FIG.

以上の音色選択履歴更新サブルーチンの処理により、RAM203上の図5(a)の音色選択履歴管理テーブルにおいて、ポインタ変数TS_HIS_WPが示す発生順序毎に、「選択音色番号(音色名)」項目に変数Tの新たに選択された音色番号が設定されてゆく。   By the above-described tone color selection history update subroutine, in the tone color selection history management table of FIG. 5A on the RAM 203, the variable T is added to the “selected tone color number (tone color name)” item for each generation order indicated by the pointer variable TS_HIS_WP. The newly selected tone number is set.

図13は、図9のステップS907の優先度計算サブルーチンの詳細処理例を示すフローチャートである。前述したようにこの処理では、ステップS907で図5(a)に例示される音色選択履歴管理テーブルの内容が更新された後に、波形メモリ206内の4つの波形エリアについて、図5(b)の音色波形エリア情報テーブルの「優先度ポイント」項目値が再計算される。   FIG. 13 is a flowchart showing a detailed processing example of the priority calculation subroutine of step S907 in FIG. As described above, in this process, after the contents of the tone color selection history management table illustrated in FIG. 5A are updated in step S907, the four waveform areas in the waveform memory 206 are updated as shown in FIG. The “priority point” item value of the tone color waveform area information table is recalculated.

CPU201はまず、図5(b)の音色波形エリア情報テーブルの上で処理を行う波形エリアのエリア番号をカウントするRAM203上のカウンタ変数Wについて、ステップS1301において値「0」を初期設定した後、ステップS1303で+1ずつインクリメントしながら、ステップS1304で値「4」に達したと判定するまで、図5(b)の音色波形エリア情報テーブルの変数Wが示すエリア番号の「優先度ポイント」項目値に対応する構造体要素WM_ST[W].SIGの値を「0」にリセットする処理(ステップS1302)を、繰り返し実行する。   The CPU 201 first initializes a value “0” in step S1301 for a counter variable W in the RAM 203 that counts the area number of the waveform area to be processed on the tone color waveform area information table in FIG. The “priority point” item value of the area number indicated by the variable W of the tone waveform area information table of FIG. 5B is incremented by +1 in step S1303 until it is determined that the value has reached “4” in step S1304. . WM_ST [W]. The process of resetting the value of SIG to “0” (step S1302) is repeatedly executed.

次に、CPU201は、図5(a)の音色選択履歴管理テーブルの各履歴エントリをカウントするためのRAM203上の履歴番号カウンタ変数Hについて、ステップS1305で値「0」に初期化した後、ステップS1309で+1ずつインクリメントしながら、ステップS1310で値「8」に達したと判定されるまで、以下のステップS1308からS1308までの一連の処理を、繰り返し実行する。   Next, the CPU 201 initializes a history number counter variable H on the RAM 203 for counting each history entry of the tone color selection history management table in FIG. A series of processes from the following steps S1308 to S1308 is repeatedly executed while incrementing by +1 in S1309 until it is determined in step S1310 that the value has reached “8”.

上述の一連の処理において、CPU201は更に、図5(b)の音色波形エリア情報テーブル上で処理を行う波形エリアのエリア番号をカウントするRAM203上のカウンタ変数Wについて、ステップS1306において値「0」を初期設定した後、ステップS1310で+1ずつインクリメントしながら、ステップS1311で値「4」に達したと判定するまで、図5(b)の音色波形エリア情報テーブルの変数Wが示すエリア番号の各エントリ毎に、以下のステップS1307からS1309までの一連の処理を繰り返し実行する。   In the series of processes described above, the CPU 201 further sets a value “0” in step S1306 for the counter variable W in the RAM 203 that counts the area number of the waveform area to be processed on the timbre waveform area information table in FIG. After the initial setting of the area number indicated by the variable W in the timbre waveform area information table of FIG. 5B, while incrementing by +1 in step S1310 until it is determined that the value has reached “4” in step S1311. A series of processes from step S1307 to S1309 described below is repeatedly executed for each entry.

この一連の処理において、CPU201はまず、履歴番号カウンタ変数Hが示す音色番号履歴変数TS_HIS[H]に、無効値「−1」が格納されているか否かを判定する(ステップS1307)。   In this series of processing, the CPU 201 first determines whether or not an invalid value “−1” is stored in the timbre number history variable TS_HIS [H] indicated by the history number counter variable H (step S1307).

ステップS1307の判定がNoの場合、CPU201は、上記音色番号履歴変数TS_HIS[H]の値が、図5(b)の音色波形エリア情報テーブルの変数Wが示すエリア番号に対応するエントリの「音色番号(音色名)」項目を示す構造体要素WM_ST[W].TONE(図6参照)の値に等しいか否かを判定する(ステップS1308)。   If the determination in step S1307 is No, the CPU 201 sets the value of the timbre number history variable TS_HIS [H] to the “timbre” in the entry corresponding to the area number indicated by the variable W in the timbre waveform area information table in FIG. No. (timbre name) ", a structure element WM_ST [W]. It is determined whether it is equal to the value of TONE (see FIG. 6) (step S1308).

音色番号履歴変数TS_HIS[H]の値が構造体要素WM_ST[W].TONEの値に等しい(ステップS1308の判定がYes)ならば、CPU201は、図5(b)の音色波形エリア情報テーブルの変数Wが示すエリア番号に対応するエントリの「優先度ポイント」項目を示す構造体要素WM_ST[W].SIG(図6参照)の値に、図4(b)の音色選択優先度テーブルの履歴番号カウンタ変数Hが示す発生順序のエントリの「優先度ポイント」項目を示す変数HIS_SIG[H](図6参照)の値を加算し、その加算結果値を新たに構造体要素WM_ST[W].SIGに格納する(ステップS1309)。   When the value of the tone number history variable TS_HIS [H] is equal to the structure element WM_ST [W]. If it is equal to the value of TONE (the determination in step S1308 is Yes), the CPU 201 indicates the “priority point” item of the entry corresponding to the area number indicated by the variable W in the tone color waveform area information table in FIG. Structure element WM_ST [W]. The value of SIG (see FIG. 6) is replaced by a variable HIS_SIG [H] (FIG. 6) indicating the “priority point” item of the entry in the order of occurrence indicated by the history number counter variable H in the tone color selection priority table of FIG. ), And the resulting value is newly added to the structure element WM_ST [W]. It is stored in SIG (step S1309).

履歴番号カウンタ変数Hが示す音色番号履歴変数TS_HIS[H]に、無効値「−1」が格納されている場合(ステップS1307の判定がYesの場合)、又は音色番号履歴変数TS_HIS[H]の値が構造体要素WM_ST[W].TONEの値に等しくない(ステップS1308の判定がNo)ならば、CPU201は、ステップS1309の処理はスキップして、インクリメントされた次の変数Wに対応するエリア番号に対する処理に移行する。   When the invalid value “−1” is stored in the tone number history variable TS_HIS [H] indicated by the history number counter variable H (when the determination in step S1307 is Yes), or when the tone number history variable TS_HIS [H] If the value is a structure element WM_ST [W]. If it is not equal to the value of TONE (No in step S1308), the CPU 201 skips the process in step S1309 and shifts to the process for the area number corresponding to the next incremented variable W.

以上のステップS1305からS1310までの一連の処理により、図5(b)に示されるように、波形メモリ206上の4つの波形エリアのそれぞれについて、当該波形エリアに読み込まれている波形データの音色番号(音色名)が図5(a)の音色選択履歴管理テーブルの選択音色番号(音色名)から検索され、マッチしたエントリの優先度ポイントの合計値が、当該波形エリアの優先度ポイントとして集計される。   As shown in FIG. 5B, by the series of processes from steps S1305 to S1310, for each of the four waveform areas on the waveform memory 206, the timbre number of the waveform data read into the waveform area (Tone name) is searched from the selected tone number (tone name) in the tone selection history management table of FIG. 5A, and the total value of the priority points of the matched entries is counted as the priority point of the waveform area. You.

ステップS1310の判定がYesになると、CPU201は、図13のフローチャートで示される図9のステップS908の優先度計算サブルーチンの処理を終了する。   If the determination in step S1310 is Yes, the CPU 201 ends the priority calculation subroutine in step S908 in FIG. 9 shown in the flowchart in FIG.

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

CPU201はまず、変数C_AREAのエリア番号を示す最新に選択されている波形データの格納先の波形エリアの有無を示す構造体要素WM_ST[W].WAVE(図6参照)の値が「1」であるか否か、すなわち、その波形エリアに波形データが存在するか否かを判定する(ステップS1401)。   The CPU 201 first determines whether or not there is a structure element WM_ST [W]. It is determined whether the value of WAVE (see FIG. 6) is “1”, that is, whether or not the waveform data exists in the waveform area (step S1401).

CPU201は、当該波形エリアに波形データが存在する(ステップS1401の判定がYes)ならば、その波形データに対する発音処理を、音源LSI205に対して指示する発音処理を実行する(ステップS1402)。   If the waveform data exists in the waveform area (the determination in step S1401 is Yes), the CPU 201 executes a tone generation process for instructing the sound source LSI 205 to generate a tone for the waveform data (step S1402).

CPU201は、当該波形エリアに波形データが未だ読み込まれていない(ステップS1401の判定がNo)ならば、ステップS1402の発音処理はスキップし、発音を行わない。   If the waveform data has not yet been read into the waveform area (No in step S1401), the CPU 201 skips the sound generation process in step S1402 and does not generate sound.

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

CPU201はまず、RAM203上の変数である今回読込みサイズカウンタ変数cに初期値「0」をセットする。また、CPU201は、大容量フラッシュメモリ204上の読込みアドレスを示すRAM203上の変数rpに、先頭アドレス値「0」をセットする。更に、CPU201は、波形メモリ206上の書込みアドレスを示すRAM203上の変数wpに、先頭アドレス値「0」をセットする。加えて、CPU201は、RAM203上の変数aに、RAM203上の現在選択されている波形データが読込み済みもしくは読込み中となっている、その波形データの格納先の波形エリアのエリア番号を示す変数C_AREA(図6参照)の値を格納する(以上、図15のステップS1501)。   First, the CPU 201 sets an initial value “0” to a currently read size counter variable c which is a variable on the RAM 203. Further, the CPU 201 sets a head address value “0” to a variable rp on the RAM 203 indicating a read address on the large-capacity flash memory 204. Further, the CPU 201 sets a head address value “0” to a variable wp on the RAM 203 indicating a write address on the waveform memory 206. In addition, the CPU 201 replaces the variable a in the RAM 203 with a variable C_AREA indicating the area number of the waveform area in which the currently selected waveform data in the RAM 203 has been read or is being read and where the waveform data is stored. (See FIG. 6) (step S1501 in FIG. 15).

次に、CPU201は、RAM203上の変数READING_WAVEが示す現在読込み中の波形の番号の値が無効値「−1」であるか否か、すなわち、現在波形データの読込みが行われていないか否かを判定する(図15のステップS1502)。   Next, the CPU 201 determines whether or not the value of the currently read waveform number indicated by the variable READING_WAVE on the RAM 203 is an invalid value “−1”, that is, whether or not the current waveform data is being read. Is determined (step S1502 in FIG. 15).

現在波形データの読込みが行われておらず新規の読込み処理である場合(ステップS1502の判定がYesの場合)には、CPU201は、変数READING_WAVEに、RAM203上の変数C_TONE(図6参照)に格納されている現在の音色番号の値を格納する。また、CPU201は、変数aが示す処理対象の波形エリアへの前回までに転送済みの波形データのサイズを示す構造体要素WM_ST[a].READ_SIZE(図6参照)に、未転送を示す初期値「0」を格納する(以上、ステップS1503)。   If the current waveform data has not been read and is a new read process (if the determination in step S1502 is Yes), the CPU 201 stores the variable READING_WAVE in the variable C_TONE (see FIG. 6) in the RAM 203. The value of the current tone number is stored. In addition, the CPU 201 generates a structure element WM_ST [a]... Indicating the size of the waveform data that has been transferred to the processing target waveform area indicated by the variable a until the previous time. The initial value “0” indicating non-transfer is stored in READ_SIZE (see FIG. 6) (step S1503).

現在波形データの読込みが行われており継続の読込み処理である場合(ステップS1502の判定がNoの場合)には、CPU201は、ステップS1503の処理はスキップし、変数READING_WAVEと構造体要素WM_ST[a].READ_SIZEの値はそのまま引き継ぐ。   If the reading of the waveform data is currently being performed and the reading processing is to be continued (No in step S1502), the CPU 201 skips the processing in step S1503 and skips the variable READING_WAVE and the structure element WM_ST [a. ]. The value of READ_SIZE is inherited as it is.

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

CPU201はまず、大容量フラッシュメモリ204からの読込み処理を実行する(ステップS1504)。即ち、CPU201は、変数rp(初期値はステップS1501でセットされた「0」)の値に、図7のステップS704の音色切替え処理内の図9のステップS906で変数a(=変数C_AREA)の処理対象波形エリアに対応する構造体要素WM_ST[a].OFFSET_ADRSに格納されたオフセットアドレス値を加算する。更に、CPU201は、変数rpの値に、変数a(=変数C_AREA)が示す処理対象波形エリアに対応する前回までに転送済みの波形データのサイズを示す構造体要素WM_ST[a].READ_SIZEの値を加算する。そして、CPU201は、このようにして得られる変数rpが示す大容量フラッシュメモリ204上のアドレスから、1ワード分の波形データを読み込み、RAM203上の変数dに格納する。   First, the CPU 201 executes a reading process from the large-capacity flash memory 204 (step S1504). That is, the CPU 201 changes the value of the variable a (= variable C_AREA) to the value of the variable rp (the initial value is “0” set in step S1501) in step S906 in FIG. 9 in the tone switching process in step S704 in FIG. The structure element WM_ST [a]. Corresponding to the processing target waveform area. The offset address value stored in OFFSET_ADRS is added. Further, the CPU 201 sets the value of the variable rp as a structure element WM_ST [a]... Indicating the size of the waveform data that has been transferred until the previous time corresponding to the processing target waveform area indicated by the variable a (= variable C_AREA). Add the value of READ_SIZE. Then, the CPU 201 reads the waveform data for one word from the address on the large-capacity flash memory 204 indicated by the variable rp thus obtained, and stores it in the variable d on the RAM 203.

次に、CPU201は、波形メモリ206への書込み処理を実行する(ステップS1505)。即ち、CPU201は、変数wp(初期値はステップS1501でセットされた「0」)の値に、ステップS1504と同様の構造体要素WM_ST[a].OFFSET_ADRSに格納されたオフセットアドレス値を加算する。更に、CPU201は、変数wpの値に、ステップS1504と同様の構造体要素WM_ST[a].READ_SIZEの値を加算する。そして、CPU201は、このようにして得られる変数wpが示す波形メモリ206上のアドレスに、変数dに格納されている1ワード分の波形データを、音源LSI205経由で書き込む。   Next, the CPU 201 executes a writing process to the waveform memory 206 (step S1505). That is, the CPU 201 sets the value of the variable wp (the initial value is “0” set in step S1501) to the same structure element WM_ST [a]. The offset address value stored in OFFSET_ADRS is added. Further, the CPU 201 sets the value of the variable wp in the same structure element WM_ST [a]. Add the value of READ_SIZE. Then, the CPU 201 writes the one-word waveform data stored in the variable d via the sound source LSI 205 to the address on the waveform memory 206 indicated by the variable wp obtained in this way.

その後、CPU201は、今回までに転送済みの波形データのサイズを示す構造体要素WM_ST[a].READ_SIZEの値を+1インクリメントし、今回読込みサイズカウンタ変数cの値を+1インクリメントする(ステップS1506)。   After that, the CPU 201 sets the structure elements WM_ST [a]. The value of READ_SIZE is incremented by +1 and the value of the currently read size counter variable c is incremented by +1 (step S1506).

そして、CPU201は、今回までに転送済みの波形データのサイズを示す構造体要素WM_ST[a].READ_SIZEの値が、変数aが示す処理対象波形エリアに対応する波形データのサイズ要素WM_ST[a].WAVE_SIZEの値に等しくなったか否かを判定する(ステップS1507)。   Then, the CPU 201 generates a structure element WM_ST [a]. When the value of READ_SIZE is the size element WM_ST [a]. Of the waveform data corresponding to the processing target waveform area indicated by the variable a. It is determined whether the value has become equal to the value of WAVE_SIZE (step S1507).

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

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

ステップS1507の判定がYesになると、CPU201は、変数aが示す処理対象波形エリアでの波形データの有無を示す要素WM_ST[a].WAVE(図6参照)に、波形有りを示す値「1」をセットする。また、CPU201は、現在読込み中の波形の番号を示す変数READING_WAVE(図6参照)に、無効値「−1」を格納する(以上、ステップS1509)。   If the determination in step S1507 is Yes, the CPU 201 determines whether the element WM_ST [a]. A value “1” indicating the presence of a waveform is set in WAVE (see FIG. 6). Further, the CPU 201 stores the invalid value “−1” in the variable READING_WAVE (see FIG. 6) indicating the number of the waveform currently being read (step S1509).

ステップS1509の処理の後、又はステップS1508の判定がYesとなったら、CPU201は、図15のフローチャートで示される図7のステップS711の波形読込み処理を終了する。   After the processing in step S1509, or when the determination in step S1508 is Yes, the CPU 201 ends the waveform reading processing in step S711 in FIG. 7 shown in the flowchart in FIG.

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

以上説明した実施形態により、音色選択の際に、現実的な再読み込みの可能性を予測して使用可能性の低いと思われる波形から書き換えを行うようにしたので、波形読み込みの発生する可能性を低く抑えることができ、波形無音時間の期待値を短縮することが可能となる。これにより、演奏者のストレスを軽減、或いは全く感じさせないレベルに抑制することができる。   According to the embodiment described above, at the time of selecting a tone, the possibility of realistic reading is predicted and rewriting is performed from a waveform which is considered to be low in usability. Can be kept low, and the expected value of the waveform silence time can be shortened. Thereby, the stress of the player can be reduced or suppressed to a level at which the player does not feel it at all.

以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
楽音の音色夫々に対応した音色波形データのいずれかを指定するための音色選択情報が入力される毎に、前記入力された音色選択情報の入力順序に対応する優先値を前記入力された音色選択情報に付与する優先度付与処理と、
前記入力された音色選択情報に対応する音色波形データが、第1の記憶装置内に設けられ音色波形データ夫々が記憶可能な複数の波形エリアのいずれにも記憶されていない場合に、前記複数の波形エリア夫々に記憶されている音色波形データに対応する音色選択情報に付与された優先値に基づき、前記複数の波形エリアからひとつの波形エリアを選択する選択処理と、
前記入力された音色選択情報に対応する音色波形データを第2の記憶装置から読み出すとともに、前記読み出された音色波形データを、前記選択された波形エリアに書き込む波形書き込み処理と、
を実行する処理部を備えた波形書き込み装置。
(付記2)
前記処理部は、前記優先度付与処理において、前記入力された音色選択情報と前記音色波形情報に付与された優先値とをメモリに記憶する処理を実行する、付記1に記載の波形書き込み装置。
(付記3)
前記第1の記憶装置は、ランダムアクセスメモリを備え、前記第2の記憶装置は、前記第1の記憶装置より容量の大きいフラッシュメモリを備えた、付記1又は2記載の波形書き込み装置。
(付記4)
前記処理部は、前記選択処理において、前記音色選択情報に付与された優先値を、前記音色選択情報毎に累算し、前記累算された優先値に基づき、前記複数の波形エリアからひとつの波形エリアを選択する処理を実行する、付記1乃至3のいずれかに記載の波形書き込み装置。
(付記5)
前記入力順序が新しい音色選択情報順に、大きな優先値が付与され、
前記処理部は、前記選択処理において、前記累算された優先値が最小の音色選択情報を記憶する波形エリアを検索する処理を実行する、付記4に記載の波形書き込み装置。
(付記6)
前記処理部は、前記波形書き込み処理として、
前記音色波形データの前記波形エリアへの読込みが完了前に、前記音色波形データに対応する音色選択情報とは異なる新たな音色選択情報が入力された場合は、前記波形エリアへの前記音色波形データの読込み処理を中止するとともに、前記波形エリアに、前記新たな音色選択情報に対応する音色波形データを前記第2の記憶装置から読み込ませる、付記1乃至5のいずれかに記載の波形書き込み装置。
(付記7)
処理部を有する波形書き込み装置に用いられる波形書き込み方法であって、前記処理部は、
楽音の音色夫々に対応した音色波形データのいずれかを指定するための音色選択情報が入力される毎に、前記入力された音色選択情報の入力順序に対応する優先値を前記入力された音色選択情報に付与し、
前記入力された音色選択情報に対応する音色波形データが、第1の記憶装置内に設けられ音色波形データ夫々が記憶可能な複数の波形エリアのいずれにも記憶されていない場合に、前記複数の波形エリア夫々に記憶されている音色波形データに対応する音色選択情報に付与された優先値に基づき、前記複数の波形エリアからひとつの波形エリアを選択し、
前記入力された音色選択情報に対応する音色波形データを前記第2の記憶装置から読み出すとともに、前記読み出された音色波形データを、前記選択された波形エリアに書き込む、波形書き込み方法。
(付記8)
波形書き込み装置に用いられるコンピュータに、
楽音の音色夫々に対応した音色波形データのいずれかを指定するための音色選択情報が入力される毎に、前記入力された音色選択情報の入力順序に対応する優先値を前記入力された音色選択情報に付与する優先度付与ステップと、
前記入力された音色選択情報に対応する音色波形データが、第1の記憶装置内に設けられ音色波形データ夫々が記憶可能な複数の波形エリアのいずれにも記憶されていない場合に、前記複数の波形エリア夫々に記憶されている音色波形データに対応する音色選択情報に付与された優先値に基づき、前記複数の波形エリアからひとつの波形エリアを選択する選択ステップと、
前記入力された音色選択情報に対応する音色波形データを前記第2の記憶装置から読み出すとともに、前記読み出された音色波形データを、前記選択された波形エリアに書き込む書き込みステップと、
を実行させるプログラム。
(付記9)
付記1乃至6に記載の波形書き込み装置と、
演奏情報を入力する演奏操作子と、
音色選択情報を入力する音色選択操作子と、
複数種の音色波形データが記憶された第1の記憶装置と、
第2の記憶装置と、
前記演奏操作子による演奏情報の入力に応答して、前記第2の記憶装置から読み出された波形データに対応する楽音を生成する音源と、
を備えた電子楽器。
Regarding the above embodiments, the following supplementary notes are further disclosed.
(Appendix 1)
Each time timbre selection information for specifying any of timbre waveform data corresponding to each timbre of a musical tone is input, a priority value corresponding to the input order of the input timbre selection information is set to the input timbre selection. Priority assigning process to assign to information;
When the timbre waveform data corresponding to the input timbre selection information is not stored in any of a plurality of waveform areas provided in the first storage device and each of which can store the timbre waveform data, A selection process of selecting one waveform area from the plurality of waveform areas based on a priority value given to tone color selection information corresponding to tone color waveform data stored in each of the waveform areas;
Reading out the timbre waveform data corresponding to the inputted timbre selection information from the second storage device, and writing the read timbre waveform data to the selected waveform area;
A waveform writing device including a processing unit that executes the processing.
(Appendix 2)
The waveform writing device according to claim 1, wherein the processing unit executes a process of storing the input tone color selection information and the priority value assigned to the tone color waveform information in a memory in the priority assigning process.
(Appendix 3)
3. The waveform writing device according to claim 1, wherein the first storage device includes a random access memory, and the second storage device includes a flash memory having a larger capacity than the first storage device.
(Appendix 4)
The processing unit, in the selection process, accumulates the priority value given to the timbre selection information for each timbre selection information, based on the accumulated priority value, one from the plurality of waveform areas 4. The waveform writing device according to any one of Supplementary notes 1 to 3, wherein the waveform writing device performs a process of selecting a waveform area.
(Appendix 5)
The input order is given a large priority value in the order of new tone color selection information,
5. The waveform writing device according to claim 4, wherein the processing unit executes a process of searching for a waveform area storing the timbre selection information having the smallest accumulated priority value in the selection process.
(Appendix 6)
The processing unit, as the waveform writing process,
If new timbre selection information different from timbre selection information corresponding to the timbre waveform data is input before the reading of the timbre waveform data into the waveform area is completed, the timbre waveform data to the waveform area is input. 6. The waveform writing device according to any one of supplementary notes 1 to 5, wherein the reading process is stopped and timbre waveform data corresponding to the new timbre selection information is read from the second storage device into the waveform area.
(Appendix 7)
A waveform writing method used in a waveform writing device having a processing unit, wherein the processing unit includes:
Each time timbre selection information for specifying any of timbre waveform data corresponding to each timbre of a musical tone is input, a priority value corresponding to the input order of the input timbre selection information is set to the input timbre selection. Information,
When the timbre waveform data corresponding to the input timbre selection information is not stored in any of a plurality of waveform areas provided in the first storage device and each of which can store the timbre waveform data, Based on the priority value given to the tone color selection information corresponding to the tone waveform data stored in each of the waveform areas, select one waveform area from the plurality of waveform areas,
A waveform writing method, wherein timbre waveform data corresponding to the inputted timbre selection information is read from the second storage device, and the read timbre waveform data is written to the selected waveform area.
(Appendix 8)
In the computer used for the waveform writing device,
Each time timbre selection information for specifying any of timbre waveform data corresponding to each timbre of a musical tone is input, a priority value corresponding to the input order of the input timbre selection information is set to the input timbre selection. A priority assigning step to assign to the information;
When the timbre waveform data corresponding to the input timbre selection information is not stored in any of a plurality of waveform areas provided in the first storage device and each of which can store the timbre waveform data, A selection step of selecting one waveform area from the plurality of waveform areas based on a priority value given to tone color selection information corresponding to tone color waveform data stored in each of the waveform areas;
A writing step of reading the tone color waveform data corresponding to the input tone color selection information from the second storage device, and writing the read tone color waveform data to the selected waveform area;
A program that executes
(Appendix 9)
A waveform writing device according to supplementary notes 1 to 6,
A performance operator for inputting performance information;
A tone selection operator for inputting tone selection information;
A first storage device storing a plurality of types of timbre waveform data,
A second storage device;
A sound source that generates a tone corresponding to the waveform data read from the second storage device in response to input of performance information by the performance operator;
Electronic musical instrument with.

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 システムバス
REFERENCE SIGNS LIST 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)

楽音の音色夫々に対応した音色波形データのいずれかを指定するための音色選択情報の入力順序に基づいて、入力された複数の前記音色選択情報それぞれに優先値を付与するとともに、各音色選択情報に付与された優先値を、各音色選択情報で指定される音色波形データの音色毎に累計して音色毎の優先度を決定する優先度決定処理と、
入力された音色選択情報に対応する音色波形データが、第1の記憶装置内に設けられ音色波形データ夫々が記憶可能な複数の波形エリアのいずれにも記憶されていない場合に、前記複数の波形エリア夫々に記憶されている音色波形データの音色に対応して前記優先度決定処理により決定された優先度に基づき、前記複数の波形エリアからひとつの波形エリアを選択する選択処理と、
前記入力された音色選択情報に対応する音色波形データを第2の記憶装置から読み出すとともに、前記読み出された音色波形データを、前記選択された波形エリアに書き込む波形書き込み処理と、
を実行する処理部を備えた波形書き込み装置。
Based on the input order of the tone color selection information for designating any one of the tone color waveform data corresponding to each tone color, a priority value is given to each of the plurality of input tone color selection information, and each tone color selection information is assigned. Priority determination processing of determining the priority of each tone by accumulating the priority value assigned to each tone of the tone waveform data specified by each tone selection information;
When the timbre waveform data corresponding to the inputted timbre selection information is not stored in any of a plurality of waveform areas provided in the first storage device and each of which can store the timbre waveform data, the plurality of waveforms Selection processing for selecting one waveform area from the plurality of waveform areas based on the priority determined by the priority determination processing corresponding to the tone color of the tone color waveform data stored in each area;
Reading out the timbre waveform data corresponding to the inputted timbre selection information from the second storage device, and writing the read timbre waveform data to the selected waveform area;
A waveform writing device including a processing unit that executes the processing.
前記処理部は、前記選択処理において、前記優先度決定処理により決定された優先度が最小の音色に対応する音色波形データが記憶されている波形エリアを選択する、請求項1に記載の波形書き込み装置。   2. The waveform writing device according to claim 1, wherein, in the selection process, the processing unit selects a waveform area in which timbre waveform data corresponding to a timbre having the lowest priority determined by the priority determination process is stored. apparatus. 前記第1の記憶装置は、ランダムアクセスメモリを備え、前記第2の記憶装置は、前記第1の記憶装置より容量の大きいフラッシュメモリを備えた、請求項1又は2記載の波形書き込み装置。   3. The waveform writing device according to claim 1, wherein the first storage device includes a random access memory, and the second storage device includes a flash memory having a larger capacity than the first storage device. 前記処理部は、前記優先度決定処理において、前記入力順序が新しい音色選択情報順に、大きな優先値を付与する、請求項1乃至3のいずれかに記載の波形書き込み装置。   4. The waveform writing device according to claim 1, wherein the processing unit assigns a larger priority value to the tone color selection information in the order of newer input in the priority determination process. 5. 前記処理部は、前記波形書き込み処理として、
前記音色波形データの前記波形エリアへの読込みが完了前に、前記音色波形データに対応する音色選択情報とは異なる新たな音色選択情報が入力された場合は、前記波形エリアへの前記音色波形データの読込み処理を中止するとともに、前記波形エリアに、前記新たな音色選択情報に対応する音色波形データを前記第2の記憶装置から読み込ませる、請求項1乃至4のいずれかに記載の波形書き込み装置。
The processing unit, as the waveform writing process,
If new timbre selection information different from timbre selection information corresponding to the timbre waveform data is input before the reading of the timbre waveform data into the waveform area is completed, the timbre waveform data to the waveform area is input. 5. The waveform writing device according to claim 1, wherein the reading process is stopped, and timbre waveform data corresponding to the new timbre selection information is read from the second storage device into the waveform area. 6. .
処理部を有する波形書き込み装置に用いられる波形書き込み方法であって、前記処理部が、
楽音の音色夫々に対応した音色波形データのいずれかを指定するための音色選択情報の入力順序に基づいて、入力された複数の前記音色選択情報それぞれに優先値を付与するとともに、各音色選択情報に付与された優先値を、各音色選択情報で指定される音色波形データの音色毎に累計して音色毎の優先度を決定する優先度決定処理と、
入力された音色選択情報に対応する音色波形データが、第1の記憶装置内に設けられ音色波形データ夫々が記憶可能な複数の波形エリアのいずれにも記憶されていない場合に、前記複数の波形エリア夫々に記憶されている音色波形データの音色に対応して前記優先度決定処理により決定された優先度に基づき、前記複数の波形エリアからひとつの波形エリアを選択する選択処理と、
前記入力された音色選択情報に対応する音色波形データを第2の記憶装置から読み出すとともに、前記読み出された音色波形データを、前記選択された波形エリアに書き込む波形書き込み処理と、
を実行する波形書き込み方法。
A waveform writing method used in a waveform writing device having a processing unit, wherein the processing unit includes:
Based on the input order of the tone color selection information for designating any one of the tone color waveform data corresponding to each tone color, a priority value is given to each of the plurality of input tone color selection information, and each tone color selection information is assigned. Priority determination processing of determining the priority of each tone by accumulating the priority value assigned to each tone of the tone waveform data specified by each tone selection information;
When the timbre waveform data corresponding to the inputted timbre selection information is not stored in any of a plurality of waveform areas provided in the first storage device and each of which can store the timbre waveform data, the plurality of waveforms Selection processing for selecting one waveform area from the plurality of waveform areas based on the priority determined by the priority determination processing corresponding to the tone color of the tone color waveform data stored in each area;
Reading out the timbre waveform data corresponding to the inputted timbre selection information from the second storage device, and writing the read timbre waveform data to the selected waveform area;
Perform the waveform writing method.
波形書き込み装置に用いられるコンピュータに、
楽音の音色夫々に対応した音色波形データのいずれかを指定するための音色選択情報の入力順序に基づいて、入力された複数の前記音色選択情報それぞれに優先値を付与するとともに、各音色選択情報に付与された優先値を、各音色選択情報で指定される音色波形データの音色毎に累計して音色毎の優先度を決定する優先度決定処理と、
前記入力された音色選択情報に対応する音色波形データが、第1の記憶装置内に設けられ音色波形データ夫々が記憶可能な複数の波形エリアのいずれにも記憶されていない場合に、前記複数の波形エリア夫々に記憶されている音色波形データの音色に対応して前記優先度決定処理により決定された優先度に基づき、前記複数の波形エリアからひとつの波形エリアを選択する選択ステップと、
前記入力された音色選択情報に対応する音色波形データを第2の記憶装置から読み出すとともに、前記読み出された音色波形データを、前記選択された波形エリアに書き込む書き込みステップと、
を実行させるプログラム。
In the computer used for the waveform writing device,
Based on the input order of the tone color selection information for designating any one of the tone color waveform data corresponding to each tone color, a priority value is given to each of the plurality of input tone color selection information, and each tone color selection information is assigned. Priority determination processing of determining the priority of each tone by accumulating the priority value assigned to each tone of the tone waveform data specified by each tone selection information;
When the timbre waveform data corresponding to the input timbre selection information is not stored in any of a plurality of waveform areas provided in the first storage device and each of which can store the timbre waveform data, A selection step of selecting one waveform area from the plurality of waveform areas based on the priority determined by the priority determination processing corresponding to the tone color of the tone color waveform data stored in each of the waveform areas;
Writing the timbre waveform data corresponding to the input timbre selection information from the second storage device, and writing the read timbre waveform data to the selected waveform area;
A program that executes
請求項1乃至5に記載の波形書き込み装置と、
演奏情報を入力する演奏操作子と、
音色選択情報を入力する音色選択操作子と、
複数種の音色波形データが記憶された第1の記憶装置と、
第2の記憶装置と、
前記演奏操作子による演奏情報の入力に応答して、前記第2の記憶装置から読み出された波形データに対応する楽音を生成する音源と、
を備えた電子楽器。
A waveform writing device according to claim 1,
A performance operator for inputting performance information;
A tone selection operator for inputting tone selection information;
A first storage device storing a plurality of types of timbre waveform data,
A second storage device;
A sound source that generates a tone corresponding to the waveform data read from the second storage device in response to input of performance information by the performance operator;
Electronic musical instrument with.
JP2015179675A 2015-09-11 2015-09-11 Waveform writing device, method, program, and electronic musical instrument Active JP6657693B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015179675A JP6657693B2 (en) 2015-09-11 2015-09-11 Waveform writing device, method, program, and electronic musical instrument

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015179675A JP6657693B2 (en) 2015-09-11 2015-09-11 Waveform writing device, method, program, and electronic musical instrument

Publications (2)

Publication Number Publication Date
JP2017054076A JP2017054076A (en) 2017-03-16
JP6657693B2 true JP6657693B2 (en) 2020-03-04

Family

ID=58320743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015179675A Active JP6657693B2 (en) 2015-09-11 2015-09-11 Waveform writing device, method, program, and electronic musical instrument

Country Status (1)

Country Link
JP (1) JP6657693B2 (en)

Families Citing this family (3)

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

Family Cites Families (3)

* 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
JP3630107B2 (en) * 2001-03-23 2005-03-16 ヤマハ株式会社 SOUND DATA TRANSFER METHOD, SOUND DATA TRANSFER DEVICE, AND PROGRAM
JP5585330B2 (en) * 2010-09-13 2014-09-10 日本電気株式会社 Information processing apparatus, information processing method, and computer program

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4655812B2 (en) Musical sound generator and program
JPH03119590A (en) Method and system for resequencing digital audio data
JP6657693B2 (en) Waveform writing device, method, program, and electronic musical instrument
US6635816B2 (en) Editor for musical performance data
US10474387B2 (en) Musical sound generation device, musical sound generation method, storage medium, and electronic musical instrument
CN107230471B (en) Waveform writing device, method, electronic musical instrument, and storage medium
JP6455189B2 (en) Waveform reading apparatus, method, program, and electronic musical instrument
JP4265408B2 (en) Electronic music apparatus and computer program applied to the apparatus
JP3918817B2 (en) Music generator
JP6724316B2 (en) Waveform writing device, method, program, and electronic musical instrument
JP2017054075A (en) Waveform writing device, method, program, and electronic musical instrument
JP4096952B2 (en) Music generator
JP3637577B2 (en) Music generation method
JP2936872B2 (en) Music control device
JP6540057B2 (en) Waveform reading apparatus, method, program, and electronic musical instrument
JP6606839B2 (en) Waveform writing apparatus, method, program, and electronic musical instrument
JP2641851B2 (en) Automatic performance device
JP3460524B2 (en) Music data processing method, processed music data reproduction method, and storage medium
JP3339372B2 (en) Storage medium storing program for realizing musical sound generating apparatus and musical sound generating method
JP3050779B2 (en) Signal processing device
JP4082313B2 (en) Tone generator and program
JP4055594B2 (en) Parameter setting device and parameter setting processing program
JP3705203B2 (en) Music generation method
JP2960107B2 (en) Electronic chime equipment
JP2009216902A (en) Electronic information processor and program

Legal Events

Date Code Title Description
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: 20190917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191126

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191216

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200120

R150 Certificate of patent or registration of utility model

Ref document number: 6657693

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150