JP2016142912A - Waveform loading device, method, program, and electric musical instrument - Google Patents

Waveform loading device, method, program, and electric musical instrument Download PDF

Info

Publication number
JP2016142912A
JP2016142912A JP2015018507A JP2015018507A JP2016142912A JP 2016142912 A JP2016142912 A JP 2016142912A JP 2015018507 A JP2015018507 A JP 2015018507A JP 2015018507 A JP2015018507 A JP 2015018507A JP 2016142912 A JP2016142912 A JP 2016142912A
Authority
JP
Japan
Prior art keywords
waveform
storage device
waveform data
timbre
read
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.)
Granted
Application number
JP2015018507A
Other languages
Japanese (ja)
Other versions
JP2016142912A5 (en
JP6540057B2 (en
Inventor
佐藤 博毅
Hirotake Sato
博毅 佐藤
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 JP2015018507A priority Critical patent/JP6540057B2/en
Publication of JP2016142912A publication Critical patent/JP2016142912A/en
Publication of JP2016142912A5 publication Critical patent/JP2016142912A5/ja
Application granted granted Critical
Publication of JP6540057B2 publication Critical patent/JP6540057B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To provide a waveform loading type music tone generation electric musical instrument in which silent time when sound production cannot be performed because no required waveform exists in the waveform memory is remarkably shortened when performing tone switching with transportation of a plurality of waveforms.SOLUTION: A sequential tone comparison state determination subroutine (S801) detects a sequential tone comparison state in which a player switches tones to an arrangement order to compare for tone selection. A loading tone number determination subroutine S804 for the sequential tone comparison state and a loading tone number setting subroutine S805 set, when the sequential tone comparison state is detected, a loading instruction in which the tone waveform data selected by the player and the tone waveform data arranged before and after the tone selected by the player are loaded from the large capacity flash memory into a waveform memory connected with a sound source LSI, and a waveform loading process loads the waveform data from the large capacity flash memory into the waveform memory on the basis of the setting.SELECTED DRAWING: Figure 8

Description

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

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

一従来技術として、次のような技術が知られている(例えば特許文献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 color. The tone generator LSI (Large Scale Integrated Circuit) refers to the song data of the specified song, identifies the waveform data that is necessary for the pronunciation of the musical tone, and the waveform data that is identified as necessary is Identify the necessary parts further. As a result, only the necessary part of the waveform data necessary for sound generation is read from the ROM, transferred to the RAM, and stored. This provides a musical sound generator that can further reduce the amount of data when waveform data is stored in a work memory for generating a peak value of a musical sound to be generated.

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

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

しかしながら、上述した従来技術では依然として、補助記憶装置から波形メモリ等への波形データの移動に時間がかかるため、演奏に支障を来す場合がある。具体的には、演奏者が多数の音色の中から好みの音色を選ぶような際には、音色の切り替えの度に一定時間待たされて発音されない時間が存在するため、演奏者はストレスを感じるといった課題があった。   However, in the above-described prior 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 performer chooses a favorite tone from among a large number of tones, the performer feels stress because there is a time when the tone is switched for a certain period of time and is not pronounced. There was a problem.

そこで、本発明は、複数波形の転送を伴う音色切り替えの際に、波形メモリに所望の波形が存在しないために発音できないという無音時間を大幅に短縮することを目的とする。   SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to drastically reduce the silent time during which sound cannot be generated because a desired waveform does not exist in the waveform memory at the time of timbre switching involving transfer of a plurality of waveforms.

態様の一例では、一次記憶装置と、複数種の波形データを記憶する二次記憶装置と、外部より波形選択信号が供給される毎に、第1のモード及び第2のモードのいずれかを判別する判別処理と、第1のモードであると判別された場合に、波形選択信号により選択される波形データを二次記憶装置から読み出し、二次記憶装置から読み出された波形データを一次記憶装置に記憶させる通常読み込み処理と、第2のモードであると判別された場合に、波形選択信号により選択される波形データと、その波形データと関連する他の波形データとを二次記憶装置から読み出し、二次記憶装置から読み出された波形データを一次記憶装置に記憶させる音色設定読み込み処理と、を実行する処理部と、を備える。   In one example, the primary storage device, the secondary storage device that stores a plurality of types of waveform data, and each time the waveform selection signal is supplied from the outside, the first mode or the second mode is determined. The waveform data selected by the waveform selection signal is read out from the secondary storage device and the waveform data read out from the secondary storage device is read out from the secondary storage device when it is determined that the first mode is selected. Read out from the secondary storage device the waveform data selected by the waveform selection signal and other waveform data related to the waveform data when it is determined that the normal mode is the second mode. And a timbre setting reading process for storing the waveform data read from the secondary storage device in the primary storage device.

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

本発明による電子鍵盤楽器の実施形態の外観図である。1 is an external view of an embodiment of an electronic keyboard instrument according to the present invention. 電子鍵盤楽器の実施形態のハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of embodiment of an electronic keyboard musical instrument. 波形メモリと大容量フラッシュメモリとの音色の配置関係の例を示す図である。It is a figure which shows the example of the arrangement | positioning relationship of the timbre of a waveform memory and a high capacity | capacitance flash memory. フラッシュメモリ音色情報テーブルのデータ構成例を示す図である。It is a figure which shows the data structural example of a flash memory timbre information table. 変数の一覧を示す図である。It is a figure which shows the list of variables. 制御処理の全体処理の例を示すメインルーチンのフローチャートである。It is a flowchart of the main routine which shows the example of the whole process of a control process. 初期化処理の詳細例を示すフローチャートである。It is a flowchart which shows the detailed example of an initialization process. 音色切替え処理の詳細例を示すフローチャートである。It is a flowchart which shows the detailed example of a timbre switching process. 順次音色比較状態判断サブルーチンの詳細処理例を示すフローチャートである。It is a flowchart which shows the detailed process example of a sequential tone color comparison state determination subroutine. 通常状態用読み込み音色番号決定サブルーチンの詳細処理例を示すフローチャートである。It is a flowchart which shows the example of a detailed process of the read tone number determination subroutine for normal states. 順次音色比較状態用読み込み音色番号決定サブルーチンの詳細処理例を示すフローチャートである。It is a flowchart which shows the detailed process example of the reading tone color number determination subroutine for sequential tone color comparison states. 読み込み音色番号設定サブルーチンの詳細処理例を示すフローチャート(その1)である。It is a flowchart (the 1) which shows the example of a detailed process of a reading timbre number setting subroutine. 読み込み音色番号設定サブルーチンの詳細処理例を示すフローチャート(その2)である。It is a flowchart (the 2) which shows the detailed process example of a read tone number setting subroutine. 音色切り替え履歴処理サブルーチンの詳細処理例を示すフローチャートである。It is a flowchart which shows the detailed process example of a timbre switching log | history processing subroutine. 波形読み込み処理の詳細例を示すフローチャート(その1)である。It is a flowchart (the 1) which shows the detailed example of a waveform reading process. 波形読み込み処理の詳細例を示すフローチャート(その2)である。It is a flowchart (the 2) which shows the detailed example of a waveform reading process.

以下、本発明を実施するための形態(以下「本実施形態」と記載する)について図面を参照しながら詳細に説明する。電子楽器において演奏者が音色選択を行うときには、演奏のために予め決まっている音色を呼び出すケースと、ある音色カテゴリの中から最も演奏したい楽曲に適したものをひとつ選び出すようなケースに大別できる。後者の場合、例えば最も演奏したい楽曲に適したピアノ音色を選びだそうという場合、演奏者がはまずピアノ音色の音色カテゴリを選択し、その中で複数用意されているピアノ音色を次々選択しては聴き比べるという操作を行うことが多い。すなわち、ある番号の音色が指定されているときに、それに対して音色番号増加ボタン、または音色番号減少ボタンを連続的に押しながら、隣り合う番号の音色を次々に選択してゆく動作をする場合が多い。そこで、本実施形態では、ある番号の音色用の波形エリアに、その前後の番号の音色用の波形エリアを加えた、合計3個の波形エリア(波形エリア1、波形エリア2、波形エリア3)が用意される。そして、演奏者が音色番号増加ボタンまたは音色番号減少ボタンを操作するごとに、指定された番号およびその前後の波形データを3つの波形エリアに格納することで、隣り合った音色移動を瞬時にできるようにすることで、無音状態を最小限に留めることができる電子楽器を実現するものである。   DESCRIPTION OF EMBODIMENTS Hereinafter, embodiments for carrying out the present invention (hereinafter referred to as “this embodiment”) will be described in detail with reference to the drawings. When a player selects a timbre in an electronic musical instrument, it can be roughly divided into a case in which a timbre predetermined for performance is called and a case in which one of the timbre categories that is most suitable for the music to be played is selected. . In the latter case, for example, when a player wants to select a piano tone suitable for the music to be played most, the performer first selects the tone category of the piano tone, and then selects a plurality of piano tones that are prepared one after another. Often perform operations such as listening and comparing. In other words, when a timbre of a certain number is specified, the timbre number increase button or the timbre number decrease button is continuously pressed against the timbre, and the timbre of the adjacent number is selected one after another. There are many. Therefore, in this embodiment, a total of three waveform areas (waveform area 1, waveform area 2, and waveform area 3) are obtained by adding a waveform area for timbres with numbers before and after that to a waveform area for timbres with a certain number. Is prepared. Each time the performer operates the timbre number increase button or the timbre number decrease button, the specified number and the waveform data before and after the number are stored in three waveform areas, so that adjacent timbre movement can be instantaneously performed. By doing so, an electronic musical instrument that can keep the silent state to a minimum is realized.

図1は、本発明による電子鍵盤楽器の実施形態の外観図である。本実施形態は、電子鍵盤楽器100として実施される。電子鍵盤楽器100は、演奏操作子としての複数の鍵からなる鍵盤101と、音色選択を行うための音色選択ボタン102、波形選択操作子としての音色番号増加ボタン(以下「Incボタン」(「Increment:増加」の略))106aと音色番号減少ボタン(以下「Decボタン」(Decrement:減少 の略)と呼ぶ)106b、および音色以外の各種機能選択を行うレジストレーション選択ボタン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 color selection button 102 for selecting a tone, and a tone number increment button (hereinafter referred to as “Increment”) as a waveform selection operator. : Abbreviation of “increase”)) 106a, a tone number decrease button (hereinafter referred to as “decrement”) 106b, and a registration selection button 103 for selecting various functions other than the tone. And a vendor / modulation wheel 104 for adding various modulations (performance effects) such as pitch bend, tremolo, and vibrato, and an LCD (Liquid Crystal Display) 105 for displaying various setting information other than timbre and timbre. The electronic keyboard instrument 100 includes a speaker that emits a musical tone generated by a performance on a back surface, a side surface, a back surface, or the like, although not particularly illustrated.

音色選択ボタン102は、図1に示されるように、ピアノ(図中「Piano」)、エレクトリックピアノ(図中「E.piano」)、オルガン(図中「Organ」)、ギター/ベース(図中「Guitar/Bass」)、ウインド(図中「Wind」)、ストリング(図中「String」)、シンセ(図中「Synth」)、またはパーカッション(図中「Percussion」)等の各種音色のカテゴリを選択するためのカテゴリボタン群(図中「Category」)と、各カテゴリ内の音色番号を選択するための例えば1〜8の音色番号ボタン群(図中「Number」)を備える。すなわち、演奏者は、まずいずれかのカテゴリボタンを押下することにより音色のカテゴリを選択し、そののちにいずれかの音色番号ボタンを押下することにより選択したカテゴリ内の音色番号を指定する。また、Incボタン106aは、現在選択されているカテゴリ内で音色番号を+1ずつアップさせてゆくボタンである。Decボタン106bは、現在選択されているカテゴリ内で音色番号を+1ずつダウンさせてゆくボタンである。
レジストレーション選択ボタン103は、所望の音色番号を含めて各種演奏状態を8種類記憶したレジストレーションメモリから、所望のものをワンタッチで呼び出すためのボタンであり、音色も連動して切り替えることができる。
As shown in FIG. 1, the tone selection button 102 includes a piano (“Piano” in the figure), an electric piano (“E. piano” in the figure), an organ (“Organ” in the figure), a guitar / bass (in the figure). "Guitar / Bass"), Wind ("Wind" in the figure), string ("String" in the figure), synth ("Synth" in the figure), or percussion ("Percussion" in the figure) A category button group (“Category” in the figure) for selection and a timbre number button group (for example, “Number” in the figure) of 1 to 8 for selecting a timbre number in each category are provided. That is, the performer first selects a timbre category by pressing one of the category buttons, and then specifies a timbre number within the selected category by pressing one of the timbre number buttons. The Inc button 106a is a button for increasing the timbre number by +1 in the currently selected category. The Dec button 106b is a button for decreasing the timbre number by +1 within the currently selected category.
The registration selection button 103 is a button for calling a desired one by one touch from a registration memory storing eight kinds of various performance states including a desired tone color number, and the tone color can be switched in conjunction with it.

図2は、図1の電子鍵盤楽器100の実施形態のハードウェア構成例を示す図である。図2において、電子鍵盤楽器100は、CPU(中央演算処理装置)201、ROM(リードオンリーメモリ)202、RAM(ランダムアクセスメモリ)203、大容量フラッシュ(Flash)メモリ204、波形メモリ206が接続される音源LSI(大規模集積回路)205、図1の鍵盤105と図1の音色選択ボタン102、Incボタン106a、Decボタン106b、およびレジストレーション選択ボタン103からなるスイッチ・パネルとが接続されるキー・スキャナ207、図1のベンダ/モジュレーション・ホイール104が接続されるA/Dコンバータ208、図1のLCD105が接続されるLCDコントローラ209、16bit(ビット)フリーランニング・タイマカウンタ212、および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. 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. 1 is connected to a switch panel made up of a tone generator LSI (large scale integrated circuit) 205, the keyboard 105 of FIG. 1, and the tone selection button 102, the Inc button 106a, the Dec button 106b, and the registration selection button 103 of FIG. 1. Scanner 207, A / D converter 208 to which the vendor / modulation wheel 104 in FIG. 1 is connected, LCD controller 209 to which the LCD 105 in FIG. 1 is connected, 16-bit (bit) free-running timer counter 212, and MIDI (Mus cal Instrument Digital Interface) receives an input MIDI I / F (interface) 213, having the configuration are respectively connected to the system bus 214. The digital musical sound waveform data output from the tone generator LSI 205 is converted into an analog musical sound waveform signal by the D / A converter 208, amplified by the amplifier 211, and then output from a speaker or an output terminal (not shown).

CPU201は、RAM203をワークメモリとして使用しながらROM202に記憶された制御プログラムを実行することにより、図1の電子鍵盤楽器100の制御動作を実行する。また、ROM202は、上記制御プログラムおよび各種固定データを記憶する。   The CPU 201 executes the control operation of the electronic keyboard instrument 100 of FIG. 1 by executing the control program stored in the ROM 202 while using the RAM 203 as a work memory. 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, the tone generator LSI 205 is connected to a waveform memory 206 composed of a RAM for developing waveform data, and the waveform data of the musical sound to be generated must be arranged on the waveform memory 206 without fail. The CPU 201 can read out the waveform data from the large-capacity flash memory 204 and transfer it to the waveform memory 206 via the tone generator LSI 205, thereby replacing the timbre data.

音源LSI205は、波形メモリ206に転送された対象となる音色の記憶領域から、波形データを演奏で指定された鍵の音高に対応する速度で読み出し、その読み出した波形データに対して演奏で指定されたベロシティの振幅エンベロープを付加し、その結果得られる波形データを出力楽音波形データとして出力する。   The tone generator LSI 205 reads the waveform data from the storage area of the target timbre transferred to the waveform memory 206 at a speed corresponding to the pitch of the key designated by the performance, and designates the read waveform data by the performance. The amplitude envelope of the velocity is added, and the waveform data obtained as a result is output as output musical sound waveform data.

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

図3は、波形メモリ206と大容量フラッシュメモリ204(図中では「Flashメモリ」と表示)との音色の配置関係の例を示す図である。図3に示されるように、大容量フラッシュメモリ204には、図1の音色選択ボタン102内のカテゴリボタン群で指定される音色カテゴリごとに、図1の音色選択ボタン102内の音色番号ボタン群、あるいは図1のIncボタン106aまたはDecボタン106bで指定される音色番号ごとの波形データがシーケンシャルに記憶されている。図3の例では、大容量フラッシュメモリ204に、Piano音色カテゴリに対してPiano1波形、Piano2波形、・・・、Piano20波形の波形データが記憶され、E.Piano音色カテゴリに対してE.Piano1波形、E.Piano2波形、・・・、E.Piano20波形の波形データが記憶されている例が示されている。1つの音色カテゴリ内では最大で20音色の波形データが連続する記憶エリアに順次記憶されており、さらに16の音色カテゴリ分がシーケンシャルに記憶されている。従って、大容量フラッシュメモリ204には、合計で、20×16=320音色分の波形データが、連続する記憶エリアに順次記憶されている。一方、波形メモリ206には、波形エリア1、波形エリア2、および波形エリア3の、合計3個の波形エリアが用意される。そして、演奏者が図1のIncボタン106aまたはDecボタン106bを連続的に押しながら隣り合う番号の音色を次々に選択してゆく動作をしている場合において、現在例えば図3に示されるPiano4音色の波形データが選択されているときに、その波形データが大容量フラッシュメモリ204から波形メモリ206上の1つの波形エリア(図3の例では波形エリア2)に転送される動作に連続して、Incボタン106aまたはDecボタン106bによってPiano4音色の前後に選択され得るPiano3音色とPiano5音色の各波形データがそれぞれ、大容量フラッシュメモリ204から波形メモリ206上の他の2つの波形エリア(図3の例では波形エリア1と3)に、発音処理に並行したバックグラウンド処理によって転送される。これにより、演奏者がIncボタン106aまたはDecボタン106bによって次の音色を指定したときに、音源LSI205は、波形メモリ206上で波形エリアを瞬時に切り換えて、切り換えられた音色の波形データを出力楽音波形データとして出力することが可能となり、無音状態を最小限に留めることができる。   FIG. 3 is a diagram showing an example of a timbre arrangement relationship between the waveform memory 206 and the large-capacity flash memory 204 (shown as “Flash memory” in the drawing). As shown in FIG. 3, the large-capacity flash memory 204 has a tone number button group in the tone color selection button 102 in FIG. 1 for each tone category specified by the category button group in the tone color selection button 102 in FIG. Alternatively, waveform data for each timbre number designated by the Inc button 106a or the Dec button 106b in FIG. 1 is stored sequentially. In the example of FIG. 3, the large-capacity flash memory 204 stores waveform data of a Piano 1 waveform, a Piano 2 waveform,..., A Piano 20 waveform with respect to the Piano tone color category. For the Piano timbre category. Piano 1 waveform, E.I. Piano 2 waveform,. An example in which waveform data of a Piano 20 waveform is stored is shown. Within one timbre category, waveform data of up to 20 timbres are sequentially stored in a continuous storage area, and 16 timbre categories are sequentially stored. Accordingly, in the large-capacity flash memory 204, waveform data for a total of 20 × 16 = 320 timbres is sequentially stored in a continuous storage area. On the other hand, the waveform memory 206 is prepared with a total of three waveform areas, waveform area 1, waveform area 2, and waveform area 3. Then, in the case where the performer performs an operation of successively selecting the timbres of adjacent numbers while continuously pressing the Inc button 106a or the Dec button 106b of FIG. 1, for example, the Piano 4 timbre shown in FIG. When the waveform data is selected, the waveform data is transferred from the large-capacity flash memory 204 to one waveform area on the waveform memory 206 (waveform area 2 in the example of FIG. 3). The waveform data of the Piano 3 timbre and Piano 5 timbre that can be selected before and after the Piano 4 timbre by the Inc button 106 a or the Dec button 106 b are respectively stored in the other two waveform areas on the waveform memory 206 from the large-capacity flash memory 204 (example in FIG. In the waveform areas 1 and 3), background processing in parallel with sound generation processing Therefore, to be transferred. Thus, when the performer designates the next tone color by using the Inc button 106a or the Dec button 106b, the tone generator LSI 205 instantaneously switches the waveform area on the waveform memory 206 and outputs the waveform data of the switched tone color as an output musical tone. It becomes possible to output as waveform data, and silence can be kept to a minimum.

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

本実施形態では、CPU201は、演奏者が音色選択のために音色の比較操作を順次行っている状態を検知した場合に、演奏者は図1のIncボタン106aまたはDecボタン106bを連続的に操作しながら音色選択を行う可能性が高いと判断し、次の波形データとして、現在選択されている音色番号の波形データに続いて、その音色番号に対して±1の各音色番号の各波形データを優先的に、大容量フラッシュメモリ204から波形メモリ206に転送する。このような状態を第2のモード状態、すなわち「順次音色比較状態」と呼ぶ。   In the present embodiment, the CPU 201 continuously operates the Inc button 106a or the Dec button 106b in FIG. 1 when detecting that the performer sequentially performs a tone color comparison operation for selecting a tone color. Therefore, it is determined that there is a high possibility of selecting a timbre, and as the next waveform data, the waveform data of each timbre number ± 1 with respect to the timbre number following the waveform data of the currently selected timbre number Are transferred from the large-capacity flash memory 204 to the waveform memory 206 with priority. Such a state is referred to as a second mode state, that is, a “sequential tone color comparison state”.

このため、本実施形態では、順次音色比較状態を検出する処理が必要となる。本実施形態において、現在の状態が順次音色比較状態にあるか否かは、Incボタン106aまたはDecボタン106bの操作の有無と音色切替えの頻度とに基づいて判定する。通常の演奏状態と比較したときに、順次音色比較状態では、演奏者は、Incボタン106aまたはDecボタン106bを操作し、かつ複数の音色を短時間の間にいくつも選択しては比較する事が多い。そこで、本実施形態では、CPU201は、演奏者が或る音色を選択したときに、Incボタン106aまたはDecボタン106bによって音色の選択操作が行われ、それに先行する過去2回の音色選択がやはりIncボタン106aまたはDecボタン106bによって行われかつ30秒以内に発生していたとしたら、通常演奏とは考えづらいため、現在の状態が順次音色比較状態であると判定する。   For this reason, in the present embodiment, a process for sequentially detecting the timbre comparison state is required. In the present embodiment, whether or not the current state is the sequential tone color comparison state is determined based on whether or not the Inc button 106a or the Dec button 106b is operated and the frequency of tone color switching. When compared with the normal performance state, in the timbre comparison state, the performer operates the Inc button 106a or the Dec button 106b and selects a plurality of timbres within a short period of time for comparison. There are many. Therefore, in the present embodiment, when the performer selects a certain tone color, the CPU 201 performs a tone color selection operation with the Inc button 106a or the Dec button 106b, and the previous two tone color selections are also performed in accordance with the Inc button 106a or the Dec button 106b. If it is performed by the button 106a or the Dec button 106b and has occurred within 30 seconds, it is difficult to consider it as a normal performance, so it is determined that the current state is a sequential tone color comparison state.

以上の順次音色比較状態の判定および鍵域の決定を行うために、本実施形態では、CPU201は、過去2回の音色切替え時に操作されたボタンの情報と発生時刻を、常に取得する。なお、本実施形態では、上述の時刻の測定と管理は、タイマカウンタを使って行われる。このカウンタは、1秒毎にインクリメントし続ける、図2に示される16bitフリーランニング・タイマカウンタ212である。イベントが発生した時には、この値を読み込んで時刻を記録しておき、このタイマの現在値と比較して経過時間を計算する。このタイマは、最大値を超えた場合0に戻るが、経過時刻は現在の16bitのタイマ値の符号なし減算によって算出されるため、問題ない。   In this embodiment, the CPU 201 always obtains information on the button operated at the time of the previous two timbre switchings and the generation time in order to perform the above-described sequential timbre comparison state determination and key range determination. In the present embodiment, the above time measurement and management is performed using a timer counter. This counter is a 16-bit free running timer counter 212 shown in FIG. 2 that continues to increment every second. When an event occurs, this value is read and the time is recorded, and the elapsed time is calculated by comparison with the current value of this timer. This timer returns to 0 when the maximum value is exceeded, but there is no problem because the elapsed time is calculated by unsigned subtraction of the current 16-bit timer value.

次に、本実施形態における波形切替え時の処理について説明する。まず、CPU201は、音色比較選択操作が発生した場合、現在の状態が順次音色比較状態であるか否かを判定する。CPU201は、順次音色比較状態であると判定した場合は、現在指定されている音色番号と、その音色番号に対して+1した音色番号と−1した音色番号を算出する。なお、現在指定されている音色番号が、ある音色カテゴリ内の20番目の音色番号である場合には、その音色番号に対して+1した音色番号としては、その音色カテゴリの次の音色カテゴリの1番目の音色番号が算出される。あるいは、現在指定されている音色番号が、ある音色カテゴリ内の1番目の音色番号である場合には、その音色番号に対して−1した音色番号としては、その音色カテゴリの前の音色カテゴリの20番目の音色番号が算出される。なお、音色番号としては、16の音色カテゴリ内のそれぞれ20音色に対して通しで番号付けされた番号が使用される。その後、CPU201はまず、ROM202内のフラッシュメモリ音色情報テーブル(図4参照)上で、現在選択されている音色番号の値を「番号」項目値に有するのエントリの「波形アドレスオフセット」項目値および「波形サイズ」項目値とから、その音色の波形データの大容量フラッシュメモリ204上での記憶領域を特定し、その領域から現在選択されている音色番号に対応する波形データを読み出し、その波形データを音源LSI205を介して波形メモリ206上の1つの波形エリアに転送する。波形メモリ206の波形エリアとしては、現在指定されている音色番号またはその音色番号に対して+1した音色番号または−1した音色番号に等しい波形データが既に読み込み済みか読み込み途中である波形エリア以外のものが指定される。   Next, processing at the time of waveform switching in the present embodiment will be described. First, when a timbre comparison / selection operation occurs, the CPU 201 determines whether or not the current state is a timbre comparison state sequentially. When the CPU 201 determines that the timbre comparison state is in sequence, the CPU 201 calculates a timbre number that is currently designated, a timbre number that is +1 with respect to that timbre number, and a timbre number that is -1. If the currently designated tone number is the twentieth tone number in a tone category, the tone number obtained by adding +1 to the tone number is 1 in the tone category next to the tone category. The th tone number is calculated. Alternatively, when the currently designated tone number is the first tone number in a certain tone color category, the tone number obtained by subtracting -1 from the tone number is the tone number of the previous tone category. A twentieth tone color number is calculated. As the timbre numbers, numbers that are serially numbered for each of the 20 timbres in the 16 timbre categories are used. Thereafter, the CPU 201 firstly sets the “waveform address offset” item value of the entry having the value of the currently selected timbre number as the “number” item value on the flash memory timbre information table (see FIG. 4) in the ROM 202. A storage area on the large-capacity flash memory 204 for the waveform data of the timbre is specified from the “waveform size” item value, waveform data corresponding to the currently selected timbre number is read from the area, and the waveform data Are transferred to one waveform area on the waveform memory 206 via the tone generator LSI 205. The waveform area of the waveform memory 206 is a waveform area other than the waveform area in which waveform data equal to the tone number that is currently designated, the tone number that is incremented by one or the tone number that is decremented by -1 is already read, or is being read. Things are specified.

必要な波形データが大容量フラッシュメモリ204から波形メモリ206に読み込まれるまでに演奏が発生した場合は発音は行うことはできないが、読み込みが完了した音色の波形データの押鍵が発生した時には発音処理を行うことができる。   If a performance occurs before the necessary waveform data is read from the large-capacity flash memory 204 into the waveform memory 206, no sound can be produced, but a sound generation process is performed when a key is pressed on the waveform data of the tone that has been read. It can be performed.

また、演奏中でも、CPU201は、バックグラウンド処理により、現在選択されている音色番号に対して+1した音色番号および−1した音色番号に対して2番目および3番目の優先順位を付け、ROM202内のフラッシュメモリ音色情報テーブル(図4参照)上で、それらの音色番号の値を「番号」項目値に有するのエントリの「波形アドレスオフセット」項目値および「波形サイズ」項目値とから、それらの音色番号に対応する波形データの大容量フラッシュメモリ204上での各記憶領域を特定し、それらの記憶領域からそれらの音色番号に対応する各波形データを読み出し、それらの波形データを音源LSI205を介して波形メモリ206上の1つの波形エリアに転送する。これにより、演奏者がIncボタン106aまたはDecボタン106bを押したときに、CPU201は、新たに指定された音色番号の波形データを波形メモリ206上に短時間で揃えることができ、その後、音源LSI205は新たに指定された音色番号の波形データに基づく発音処理を即座に実行することが可能となる。   Even during the performance, the CPU 201 assigns the second and third priorities to the timbre number incremented by +1 and the timbre number decremented by -1 with respect to the currently selected timbre number by background processing. From the “Waveform Address Offset” item value and “Waveform Size” item value of the entry having those tone number values in the “Number” item value on the flash memory tone information table (see FIG. 4), those tone colors Each storage area of the waveform data corresponding to the number on the large-capacity flash memory 204 is specified, each waveform data corresponding to the tone color number is read from the storage area, and the waveform data is read via the tone generator LSI 205 Transfer to one waveform area on the waveform memory 206. Thus, when the performer presses the Inc button 106a or the Dec button 106b, the CPU 201 can align the waveform data of the newly designated tone number in the waveform memory 206 in a short time, and then the tone generator LSI 205. Can immediately execute sound generation processing based on the waveform data of the newly specified tone color number.

CPU201は、現在の状態が順次音色比較状態ではないと判定した場合はまず、現在選択されている音色番号の値を「番号」項目値に有するのエントリの「波形アドレスオフセット」項目値および「波形サイズ」項目値とから、その音色の波形データの大容量フラッシュメモリ204上での記憶領域を特定し、その領域から現在選択されている音色番号に対応する波形データを読み出し、その波形データを音源LSI205を介して波形メモリ206上の1つの波形エリアに転送する。   When the CPU 201 determines that the current state is not the sequential tone color comparison state, first, the “waveform address offset” item value and the “waveform” of the entry having the value of the currently selected tone number as the “number” item value The storage area of the timbre waveform data on the large-capacity flash memory 204 is identified from the “size” item value, the waveform data corresponding to the currently selected timbre number is read from the area, and the waveform data is read out as the sound source The data is transferred to one waveform area on the waveform memory 206 via the LSI 205.

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

以下に、上述の動作を実現するためにCPU201が実行する制御処理の詳細例について説明する。   Below, the detailed example of the control processing which CPU201 performs in order to implement | achieve the above-mentioned operation | movement is demonstrated.

図6は、CPU201が実行する制御処理の全体処理の例を示すメインルーチンのフローチャートである。この処理例は、CPU201がROM202に記憶された制御プログラムを実行する処理例である。   FIG. 6 is a flowchart of a main routine showing an example of the entire control process 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の内容初期化した後(ステップS601)、ステップS602からS611の一連の処理で示される定常ループ処理に入る。   The CPU 201 first initializes the contents of the RAM 203 (step S601), and then enters a steady loop process indicated by a series of processes from steps S602 to S611.

定常ループ処理では、CPU201はまず、ユーザインタフェース処理(図中「ユーザI/F」と表示)を実行する(ステップS602)。ここでは、CPU201は、図2のキー・スキャナ207を介して図1の音色選択ボタン102、Incボタン106a、およびDecボタン106bの状態を取得する。次に、CPU201は、ステップS602の処理の結果、演奏者が音色選択ボタン102、Incボタン106a、またはDecボタン106bを操作することにより音色選択イベントが発生したか否かを判定する(ステップS603)。そして、CPU201は、音色切り替えが発生した場合(ステップS603の判定がYesの場合)は、音色切替え処理を実行する(ステップS604)。   In the steady loop process, the CPU 201 first executes a user interface process (displayed as “user I / F” in the figure) (step S602). Here, the CPU 201 acquires the states of the tone color selection button 102, the Inc button 106a, and the Dec button 106b in FIG. 1 via the key scanner 207 in FIG. Next, as a result of the processing in step S602, the CPU 201 determines whether or not a timbre selection event has occurred by the player operating the timbre selection button 102, the Inc button 106a, or the Dec button 106b (step S603). . Then, when timbre switching occurs (when the determination in step S603 is Yes), the CPU 201 executes timbre switching processing (step S604).

次に、CPU201は、鍵盤処理を実行する(ステップS605)。ここでは、CPU201は、図2のキー・スキャナ207を介して図1の鍵盤105の押鍵状態を取得する。次に、CPU201は、ステップS605の処理の結果、演奏者が鍵盤105上のいずれかの鍵を押鍵することにより押鍵イベントが発生したか否かを判定する(ステップS606)。そして、CPU201は、押鍵イベントが発生した場合(ステップS606の判定がYesの場合)は、音源発音処理を実行する(ステップS607)。   Next, the CPU 201 executes keyboard processing (step S605). Here, the CPU 201 acquires the key pressing state of the keyboard 105 in FIG. 1 via the key scanner 207 in FIG. Next, as a result of the processing in step S605, the CPU 201 determines whether or not a key pressing event has occurred when the performer presses any key on the keyboard 105 (step S606). When the key depression event occurs (when the determination in step S606 is Yes), the CPU 201 executes a sound source sound generation process (step S607).

続いて、CPU201は、ステップS605の処理の結果、演奏者が鍵盤105上のいずれかの押鍵中の鍵を離鍵することにより離鍵イベントが発生したか否かを判定する(ステップS608)。そして、CPU201は、離鍵イベントが発生した場合(ステップS608の判定がYesの場合)は、音源リリース処理を実行する(ステップS609)。   Subsequently, as a result of the process in step S605, the CPU 201 determines whether or not a key release event has occurred as a result of the player releasing any of the keys pressed on the keyboard 105 (step S608). . Then, when a key release event occurs (when the determination in step S608 is Yes), the CPU 201 executes a sound source release process (step S609).

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

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

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

これ以降、本実施形態に関係するステップS601の初期化処理、ステップS604の音色切替え処理、およびステップS611の波形読み込み処理について、詳細に説明してゆく。   Hereinafter, the initialization process in step S601, the timbre switching process in step S604, and the waveform reading process in step S611 related to the present embodiment will be described in detail.

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

まず、CPU201は、RAM203上の図5に示される「変数」の値を全て「0
にする(以上、ステップS701)。
First, the CPU 201 sets all the values of the “variable” shown in FIG.
(Step S701).

ただし、音色選択履歴バッファ中の音色選択ボタン要素TS_HIS[i].BUTTON(i=0,1)、波形メモリステータス中の音色通し番号WM_ST[i].TONE(i=1,2)、読み込み予定波形の音色番号RT[i](i=0,1,2)、および現在読み込み中の波形の番号READING_WAVEの各変数(図5参照)については、無効であることを意味する値「−1」を格納し直しておく。すなわち、CPU201は、以下の一連の処理を実行する。   However, the tone color selection button element TS_HIS [i]. BUTTON (i = 0, 1), timbre serial number WM_ST [i]. Invalid for each variable of TONE (i = 1, 2), tone number RT [i] (i = 0, 1, 2) of the waveform to be read, and number READING_WAVE of the waveform currently being read (see FIG. 5) The value “−1” which means that is stored again. That is, the CPU 201 executes the following series of processes.

まず、CPU201は、ステップS702で変数iに初期値「0」を格納した後、ステップS705で変数iの値を+1ずつインクリメントしながら、ステップS704で変数iの値が1になったと判定されるまで、各繰り返しごとに、ステップS703を実行する。ステップS703では、CPU201は、変数iで指定される音色選択履歴バッファ中の音色選択ボタン要素TS_HIS[i].BUTTON(図5参照)に、無効値「−1」を格納する。この処理が、変数iの値として0および1が指定される2回について実行されることにより、過去2回分の音色選択履歴バッファ中の音色選択ボタン要素TS_HIS[i].BUTTON[0].TONEおよびTS_HIS[i].BUTTON[1].TONEに、それぞれ無効値「−1」が格納される。   First, after storing the initial value “0” in the variable i in step S702, the CPU 201 increments the value of the variable i by +1 in step S705, and determines that the value of the variable i becomes 1 in step S704. Step S703 is executed for each iteration. In step S703, the CPU 201 determines the tone color selection button element TS_HIS [i]. The invalid value “−1” is stored in BUTTON (see FIG. 5). This process is performed twice for the variable i specified as 0 and 1, whereby the timbre selection button elements TS_HIS [i]. BUTTON [0]. TONE and TS_HIS [i]. BUTTON [1]. An invalid value “−1” is stored in each TONE.

次に、CPU201は、ステップS706で変数iに初期値「1」を格納した後、ステップS709で変数iの値を+1ずつインクリメントしながら、ステップS708で変数iの値が2になったと判定されるまで、各繰り返しごとに、ステップS707を実行する。ステップS707では、CPU201は、変数iで指定される波形メモリステータス中の音色通し番号WM_ST[i].TONE(図5参照)に、無効値「−1」を格納する。この処理が、変数iの値として1と2が指定される2回について実行されることにより、波形メモリステータス中の音色通し番号WM_ST[1].TONEおよびWM_ST[2].TONEに、それぞれ無効値「−1」が格納される。   Next, after storing the initial value “1” in the variable i in step S706, the CPU 201 determines that the value of the variable i has become 2 in step S708 while incrementing the value of the variable i by +1 in step S709. Step S707 is executed for each repetition until the first time. In step S707, the CPU 201 determines the timbre serial number WM_ST [i]. The invalid value “−1” is stored in TONE (see FIG. 5). This process is executed twice for the value of 1 and 2 specified as the value of the variable i, so that the timbre serial number WM_ST [1]. TONE and WM_ST [2]. An invalid value “−1” is stored in each TONE.

続いて、CPU201は、ステップS710で変数iに初期値「0」を格納した後、ステップS714で変数iの値を+1ずつインクリメントしながら、ステップS713で変数iの値が2になったと判定されるまで、各繰り返しごとに、ステップS712を実行する。ステップS712では、CPU201は、変数iで指定される読み込み予定波形の音色番号RT[i](図5参照)に、無効値「−1」を格納する。この処理が、変数iの値として0と1と2が指定される3回について実行されることにより、読み込み予定波形の音色番号RT[0]、RT[1]、およびRT[2]に、それぞれ無効値「−1」が格納される。   Subsequently, after storing the initial value “0” in the variable i in step S710, the CPU 201 determines that the value of the variable i has become 2 in step S713 while incrementing the value of the variable i by +1 in step S714. Step S712 is executed for each iteration until the first time. In step S712, the CPU 201 stores the invalid value “−1” in the tone number RT [i] (see FIG. 5) of the waveform to be read designated by the variable i. By executing this process for three times when 0, 1, and 2 are designated as the value of the variable i, the tone numbers RT [0], RT [1], and RT [2] of the waveform to be read are Each invalid value “−1” is stored.

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

図8は、図6のステップS604の音色切替え処理の詳細例を示すフローチャートである。ここで、RAM203上の変数CCに、演奏者が音色選択ボタン102内のカテゴリボタンを操作して選択した音色カテゴリ番号が設定され、同じく変数CTに、演奏者が音色選択ボタン102内の音色番号ボタンを操作して選択した音色番号(音色カテゴリ内で指定される音色番号)が設定され、同じく変数Tに現在の16bitフリーランニング・タイマカウンタ212のタイマ値が設定され、同じく変数Bに、演奏者がIncボタン106aもしくはDecボタン106bを操作した情報(Incボタン106aが操作された場合B=1、Decボタン106bが操作された場合B=0)が設定されているとする。   FIG. 8 is a flowchart showing a detailed example of the timbre switching process in step S604 of FIG. Here, the timbre category number selected by the player by operating the category button in the timbre selection button 102 is set in the variable CC on the RAM 203, and the timbre number in the timbre selection button 102 by the player is also set in the variable CT. The timbre number selected by operating the button (the timbre number specified in the timbre category) is set, the timer value of the current 16-bit free running timer counter 212 is also set in the variable T, and the performance is also set in the variable B. It is assumed that information on the user operating the Inc button 106a or the Dec button 106b (B = 1 when the Inc button 106a is operated, B = 0 when the Dec button 106b is operated) is set.

まず、CPU201は、順次音色比較状態判断サブルーチンを実行する(図8のステップS801)。この結果、RAM203上の変数sに順次音色比較状態の有無が設定される。この値が「1」のときは、現在の状態が、演奏者が多数の音色を次々に切り換えて試し演奏をしながら好みの音色を選ぶ順次音色比較状態にあることを示し、「0」のときは順次音色比較状態にはない(通常モード状態である)ことを示す。   First, the CPU 201 sequentially executes a timbre comparison state determination subroutine (step S801 in FIG. 8). As a result, the presence or absence of the tone color comparison state is sequentially set in the variable s on the RAM 203. When this value is “1”, this indicates that the current state is a sequential tone comparison state in which the player selects a favorite tone while switching a number of tones one after another and performing a trial performance. In this case, the timbre comparison state is not in effect (normal mode state).

続いて、CPU201は、ステップS801で得られた変数sの値が1であるか否か、すなわち現在の状態が順次音色比較状態であるか否かを判定する(ステップS802)。   Subsequently, the CPU 201 determines whether or not the value of the variable s obtained in step S801 is 1, that is, whether or not the current state is a sequential tone color comparison state (step S802).

現在の状態が順次音色比較状態でない場合(ステップS802の判定がNoの場合)、CPU201は第1のモード状態、すなわち通常状態用読み込み音色番号決定サブルーチンを実行する(ステップS803)。ここでは、演奏者が通常の音色番号の選択を行った場合に対応する処理が実行される。   If the current state is not the sequential tone color comparison state (No in step S802), the CPU 201 executes a first mode state, that is, a normal state read tone number determination subroutine (step S803). Here, processing corresponding to the case where the performer selects a normal timbre number is executed.

一方、現在の状態が順次音色比較状態でない場合(ステップS802の判定がNoの場合)、CPU201は、順次音色比較状態用読み込み音色番号決定サブルーチンを実行する(ステップS804)。ここでは、演奏者が音色選択を行うためにIncボタン106aまたはDecボタン106bを連続的に押しながら隣り合う番号の音色を次々に選択してゆく動作を行った場合に対応する処理が実行される。   On the other hand, if the current state is not the sequential timbre comparison state (if the determination in step S802 is No), the CPU 201 executes a sequential timbre comparison state read timbre number determination subroutine (step S804). Here, processing corresponding to the case where the performer performs an operation of successively selecting the timbres of adjacent numbers while continuously pressing the Inc button 106a or the Dec button 106b in order to perform the timbre selection. .

ステップS803またはS804の処理の後、CPU201は、読み込み音色番号設定サブルーチンを実行する(ステップS805)。ここでは、ステップS803またはS804で決定された音色番号に対応する波形データを、大容量フラッシュメモリ204から波形メモリ206にバックグラウンド転送させるための、波形読み込みの優先度の設定等の準備設定処理が実行される。   After the processing of step S803 or S804, the CPU 201 executes a read tone number setting subroutine (step S805). Here, preparation setting processing such as setting of the waveform reading priority for transferring the waveform data corresponding to the timbre number determined in step S803 or S804 from the large-capacity flash memory 204 to the waveform memory 206 is performed. Executed.

最後に、CPU201は、音色切り替え履歴処理サブルーチンを実行する(ステップS806)。ここでは、直近過去2回分の音色選択における操作ボタンと選択時刻の履歴が記録される。   Finally, the CPU 201 executes a timbre switching history processing subroutine (step S806). Here, a history of operation buttons and selection times in the last two timbre selections is recorded.

図9は、図8のステップS801の順次音色比較状態判断サブルーチンの詳細処理例を示すフローチャートである。   FIG. 9 is a flowchart showing a detailed processing example of the sequential tone color comparison state determination subroutine in step S801 of FIG.

CPU201はまず、演奏者がIncボタン106aまたはDecボタン106bのいずれかが操作されたか否か、すなわちRAM203上の変数Bの値が「0」または「1」のいずれかであるか否かを判定する(ステップS901)。演奏者が音色選択のために、図1のIncボタン106aを押した場合にはB=1が設定され、Decボタン106bを押した場合にはB=0が設定され、それら以外のボタン(図1の音色選択ボタン102)を押した場合には例えばB=−1が設定される。   First, the CPU 201 determines whether or not the performer has operated either the Inc button 106a or the Dec button 106b, that is, whether or not the value of the variable B on the RAM 203 is “0” or “1”. (Step S901). When the performer presses the Inc button 106a in FIG. 1 to select a timbre, B = 1 is set, and when the Dec button 106b is pressed, B = 0 is set. When the timbre selection button 102) is pressed, for example, B = -1 is set.

ステップS901の判定がNoの場合には、CPU201は、変数sに値「0」を設定することにより、現在の状態が通常状態であること設定する(ステップS910)。その後、CPU201は、図9のフローチャートで例示される図8のステップS801の順次音色比較状態判断サブルーチンを終了する。   If the determination in step S901 is No, the CPU 201 sets that the current state is the normal state by setting a value “0” to the variable s (step S910). Thereafter, the CPU 201 ends the sequential tone color comparison state determination subroutine of step S801 of FIG. 8 illustrated by the flowchart of FIG.

ステップS901の判定がYesの場合には、CPU201は、RAM203上の変数T_OLDに、RAM203上の変数である音色選択履歴バッファ書き込みポインタTS_WPによって指定される過去2回の音色選択のうち古いほうの音色選択時の時刻要素TS_HIS[TS_WP].TIMEの値を格納する(ステップS902)。なお、音色選択履歴バッファ書き込みポインタTS_WPの値は、後述する図14のステップS1402〜S1404の処理によって、過去2回の音色選択のうち直近の音色選択でないほう、すなわち古いほうの音色選択時をポイントしている。   If the determination in step S901 is Yes, the CPU 201 sets the old tone color of the two previous tone color selections specified by the tone color selection history buffer write pointer TS_WP, which is a variable on the RAM 203, to the variable T_OLD on the RAM 203. Time element TS_HIS [TS_WP]. The value of TIME is stored (step S902). Note that the value of the timbre selection history buffer write pointer TS_WP is determined by the processing of steps S1402 to S1404 in FIG. doing.

次に、CPU201は、RAM203上の変数T_CURに、現在の16bitフリーランニング・タイマカウンタ212のタイマ値を格納する(ステップS903)。   Next, the CPU 201 stores the current timer value of the 16-bit free running timer counter 212 in a variable T_CUR on the RAM 203 (step S903).

そして、CPU201は、変数T_CURの値から変数T_OLDの値を減算して得られる過去2回の音色選択のうち古いほうの音色選択から今回の音色選択までの経過時間が31秒よりも短いか否かを判定する(ステップS904)。   Then, the CPU 201 determines whether or not the elapsed time from the older timbre selection to the current timbre selection of the past two timbre selections obtained by subtracting the value of the variable T_OLD from the value of the variable T_CUR is shorter than 31 seconds. Is determined (step S904).

ステップS904の判定がNoならば、CPU201は、変数sに値「0」を設定することにより、現在の状態が通常状態であることを設定する(ステップS910)。その後、CPU201は、図9のフローチャートで例示される図8のステップS801の順次音色比較状態判断サブルーチンを終了する。   If the determination in step S904 is No, the CPU 201 sets that the current state is the normal state by setting the value “0” to the variable s (step S910). Thereafter, the CPU 201 ends the sequential tone color comparison state determination subroutine of step S801 of FIG. 8 illustrated by the flowchart of FIG.

一方、ステップS904の判定がYesならば、CPU201は、ステップS905でRAM203上の変数iに値「0」を設定した後、ステップS907で変数iの値を+1ずつインクリメントしながら、ステップS908で変数iの値が1を越えたと判定するまで、ステップS906の判定処理を実行する。CPU201は、ステップS906の各繰り返し実行で、変数iの各値によって指示される過去2回分の、RAM203上の変数である音色選択履歴バッファ中の音色選択操作ボタン要素TS_HIS[i].BUTTONの値が「0」または「1」のいずれかであるか否か、すなわち過去2回の演奏者による音色選択操作がIncボタン106aまたはDecボタン106bのいずれかの操作によって行われたか否かを判定する。   On the other hand, if the determination in step S904 is Yes, the CPU 201 sets a value “0” to the variable i on the RAM 203 in step S905, and then increments the value of the variable i by +1 in step S907, while the variable in step S908. The determination process in step S906 is executed until it is determined that the value of i exceeds 1. In each repeated execution of step S906, the CPU 201 performs the timbre selection operation button element TS_HIS [i]. In the timbre selection history buffer, which is a variable on the RAM 203, for the past two times indicated by each value of the variable i. Whether or not the value of BUTTON is “0” or “1”, that is, whether or not the timbre selection operation by the player in the past two has been performed by either the Inc button 106a or the Dec button 106b. Determine.

ステップS906の判定がNoならば、CPU201は、変数sに値「0」を設定することにより、現在の状態が通常状態であることを設定する(ステップS910)。その後、CPU201は、図9のフローチャートで例示される図8のステップS801の順次音色比較状態判断サブルーチンを終了する。   If the determination in step S906 is No, the CPU 201 sets that the current state is the normal state by setting a value “0” to the variable s (step S910). Thereafter, the CPU 201 ends the sequential tone color comparison state determination subroutine of step S801 of FIG. 8 illustrated by the flowchart of FIG.

変数i=0および1の両方に対応するステップS906の判定がYesとなった後に、ステップS907で変数iの値が「2」となってステップS908の判定がYesになると、CPU201は、変数sに値「1」を設定することにより、現在の状態が、演奏者が多数の音色をIncボタン106aまたはDecボタン106bにより次々に切り換えて試し演奏をしながら好みの音色を選ぶ順次音色比較状態にあることを設定する(ステップS909)。その後、CPU201は、図9のフローチャートで例示される図8のステップS801の順次音色比較状態判断サブルーチンを終了する。   After the determination in step S906 corresponding to both the variables i = 0 and 1 is Yes, the value of the variable i is “2” in step S907 and the determination in step S908 is Yes, the CPU 201 determines that the variable s By setting the value to “1”, the current state changes to a sequential tone comparison state in which the performer switches a number of tones one after another using the Inc button 106a or the Dec button 106b and selects a favorite tone while performing a trial performance. Something is set (step S909). Thereafter, the CPU 201 ends the sequential tone color comparison state determination subroutine of step S801 of FIG. 8 illustrated by the flowchart of FIG.

図10は、図8のステップS803の通常状態用読み込み音色番号決定サブルーチンの詳細処理例を示すフローチャートである。   FIG. 10 is a flowchart showing a detailed process example of the normal state read tone number determination subroutine in step S803 of FIG.

CPU201はまず、以下の(1)式に示されるように、RAM203上の変数CCに格納されている現在指定されている音色カテゴリ番号CCと、同じく変数CTに格納されている現在指定されている音色カテゴリ内での音色番号CTとに基づいて、大容量フラッシュメモリ204上での通しの音色番号(図4の説明参照)を算出し、その算出結果を、RAM203上の変数である読み込み予定波形の音色番号の1番目の要素RT[0]に格納する(ステップS1001)。   First, as shown in the following equation (1), the CPU 201 designates the currently designated tone category number CC stored in the variable CC on the RAM 203 and the current designation stored in the variable CT as well. Based on the timbre number CT in the timbre category, a continuous timbre number (see the description of FIG. 4) on the large-capacity flash memory 204 is calculated, and the calculation result is a waveform to be read which is a variable on the RAM 203. Is stored in the first element RT [0] of the timbre number (step S1001).

RT[0]=CC×20+CT ・・・(1)     RT [0] = CC × 20 + CT (1)

続いて、CPU201は、RAM203上の変数である読み込み予定波形の音色番号の2番目と3番目の各要素RT[1]とRT[2]に、それぞれ無効値「−1」を格納する(ステップS1002、S1003)。その後、CPU201は、図10のフローチャートで例示される図8のステップS803の通常状態用読み込み音色番号決定サブルーチンの処理を終了する。   Subsequently, the CPU 201 stores the invalid value “−1” in each of the second and third elements RT [1] and RT [2] of the timbre number of the waveform to be read which is a variable on the RAM 203 (step S1). S1002, S1003). Thereafter, the CPU 201 ends the processing of the normal state read tone number determination subroutine of step S803 of FIG. 8 illustrated in the flowchart of FIG.

以上の通常状態用読み込み音色番号決定サブルーチンの処理により、演奏者が通常の音色選択操作を行った場合には、読み込み予定の波形データとしては、演奏者が選択した音色番号(通し番号)に対応する波形データのみを大容量フラッシュメモリ204から波形メモリ206に転送する設定のみが行われる。   When the performer performs a normal tone selection operation by the above-described normal state read tone number determination subroutine, the waveform data to be read corresponds to the tone number (serial number) selected by the performer. Only the setting for transferring only the waveform data from the large-capacity flash memory 204 to the waveform memory 206 is performed.

図11は、図8のステップS804の順次音色比較状態用読み込み音色番号決定サブルーチンの詳細処理例を示すフローチャートである。   FIG. 11 is a flowchart showing an example of detailed processing of the read tone color number determination subroutine for the sequential tone color comparison state in step S804 of FIG.

CPU201はまず、RAM203上の変数Bの値が0であるか否か、すなわち演奏者がDecボタン106bを押したかIncボタン106aを押したかを判定する(ステップS1101)。   The CPU 201 first determines whether or not the value of the variable B on the RAM 203 is 0, that is, whether the performer has pressed the Dec button 106b or the Inc button 106a (step S1101).

CPU201は、ステップS1101の判定がNo、すなわち演奏者がIncボタン106aを押したと判定した場合は、まずRAM203上の音色カテゴリ内の音色番号を指定する変数CTの値を+1インクリメントする(ステップS1102)。   If the determination in step S1101 is No, that is, if it is determined that the performer has pressed the Inc button 106a, the CPU 201 first increments the value of the variable CT specifying the timbre number in the timbre category on the RAM 203 by +1 (step S1102). .

次に、CPU201は、ステップS1103からS1105の一連の処理により、読み込み予定波形の音色番号の1番目の要素値RT[0]に、新たに現在指定された音色番号(通し番号)を設定する。すなわち、CPU201はまず、ステップS1102でインクリメントされた変数CTの値が1つの音色カテゴリ内で指定可能な音色番号の最大値「19」を越えた値「20」になったか否かを判定する(ステップS1103)。ステップS1103の判定がYesならば、CPU201は、音色カテゴリ番号を示す変数CCの値を+1インクリメントするとともに、音色番号を示す変数CTの値を変数CCが示す音色カテゴリ内の最初の音色番号を示す値「0」に設定する(ステップS1104)。この処理により、ある音色カテゴリ内の最後の音色番号が指定されている状態でIncボタン106aが押されると、次の音色カテゴリ内の最初の音色番号が指定されることになる。なお、最後(16番目)の音色カテゴリ内の最後の音色番号が指定されている状態でIncボタン106aが押された場合には、例えば、ステップS1104の処理が実行されないようにしてそれ以上音色番号が進まないように制御されてよい。ステップS1103の判定がNoならば、CPU201は、ステップS1104の処理をスキップすることにより、ステップS1102で現在の音色カテゴリ内で単純に音色番号が+1された状態が維持される。その後、CPU201は、図10のステップS1001の説明で前述した(1)式と同様の下記(2)式に基づいて、RAM203上の変数CCに格納されている音色カテゴリ番号CCと、同じく変数CTに格納されている音色カテゴリ内での音色番号CTとに基づいて、Incボタン106aの操作により新たに指定された音色番号(大容量フラッシュメモリ204上での通しの音色番号(図4の説明参照))を算出し、その算出結果を、RAM203上の変数である読み込み予定波形の音色番号の1番目の要素RT[0]に格納する(ステップS1105)。   Next, the CPU 201 sets the timbre number (serial number) newly designated at the first element value RT [0] of the timbre number of the waveform to be read by a series of processing from step S1103 to S1105. That is, the CPU 201 first determines whether or not the value of the variable CT incremented in step S1102 has become a value “20” that exceeds the maximum value “19” of timbre numbers that can be specified within one timbre category ( Step S1103). If the determination in step S1103 is Yes, the CPU 201 increments the value of the variable CC indicating the timbre category number by +1, and indicates the value of the variable CT indicating the timbre number indicating the first timbre number in the timbre category indicated by the variable CC. The value is set to “0” (step S1104). By this process, when the Inc button 106a is pressed in a state where the last timbre number in a certain timbre category is designated, the first timbre number in the next timbre category is designated. If the Inc button 106a is pressed in a state where the last timbre number in the last (16th) timbre category is specified, for example, the timbre number is not increased so that the process of step S1104 is not executed. May be controlled so as not to advance. If the determination in step S1103 is No, the CPU 201 skips the process in step S1104, thereby maintaining the state where the timbre number is simply incremented by 1 in the current timbre category in step S1102. Thereafter, the CPU 201 uses the same timbre category number CC stored in the variable CC on the RAM 203 as the variable (CT) based on the following formula (2) similar to the formula (1) described above in step S1001 of FIG. Timbre number newly stored by the operation of the Inc button 106a based on the timbre number CT in the timbre category stored in (a timbre number on the large-capacity flash memory 204 (see the description of FIG. 4) )), And the calculation result is stored in the first element RT [0] of the tone number of the waveform to be read which is a variable on the RAM 203 (step S1105).

RT[0]=CC×20+CT ・・・(2)     RT [0] = CC × 20 + CT (2)

続いて、CPU201は、ステップS1106からS1109の一連の処理により、読み込み予定波形の音色番号の2番目の要素値RT[1]に、新たに現在指定された音色番号に+1した音色番号(通し番号)(以下これを「+1の音色番号」と呼ぶ)を設定する。すなわち、CPU201はまず、ステップS1102でインクリメントされた変数CTの値に+1した値をRAM203上の変数CT′に格納する(ステップS1106)。次に、CPU201は、変数CT′の値が1つの音色カテゴリ内で指定可能な音色番号の最大値「19」を越えた値「20」になったか否かを判定する(ステップS1107)。ステップS1107の判定がYesならば、CPU201は、音色カテゴリ番号を示す変数CCの値を+1インクリメントして得られる値をRAM203上の変数CC′に格納するとともに、+1の音色番号を示す変数CT′の値を変数CC′が示す音色カテゴリ内の最初の音色番号を示す値「0」に設定する(ステップS1108)。この処理により、Incボタン106aの操作により変数CTが或る音色カテゴリ内の最後の音色番号(=19)を指した場合に、+1の音色番号として次の音色カテゴリ内の最初の音色番号が指定されることになる。ステップS1107の判定がNoならば、CPU201は、ステップS1108の処理をスキップして、ステップS1106の変数CT′の計算結果を維持する。その後、CPU201は、下記(3)式に基づいて、RAM203上の変数CC′に格納されている音色カテゴリ番号CC′と、同じく変数CT′に格納されている音色カテゴリ内での音色番号CT′とに基づいて、Incボタン106aの操作により新たに指定された音色番号を+1した音色番号を算出し、その算出結果を、RAM203上の変数である読み込み予定波形の音色番号の2番目の要素RT[1]に格納する(ステップS1109)。   Subsequently, the CPU 201 performs a series of processing from step S1106 to step S1109 to set the timbre number (serial number) obtained by adding +1 to the newly designated timbre number to the second element value RT [1] of the timbre number of the waveform to be read. (Hereinafter referred to as “+1 tone number”). That is, the CPU 201 first stores a value obtained by adding 1 to the value of the variable CT incremented in step S1102 in the variable CT ′ on the RAM 203 (step S1106). Next, the CPU 201 determines whether or not the value of the variable CT ′ has reached a value “20” that exceeds the maximum value “19” of timbre numbers that can be specified within one timbre category (step S1107). If the determination in step S1107 is Yes, the CPU 201 stores the value obtained by incrementing the value of the variable CC indicating the timbre category number by +1 in the variable CC ′ on the RAM 203, and the variable CT ′ indicating the +1 timbre number. Is set to a value “0” indicating the first timbre number in the timbre category indicated by the variable CC ′ (step S1108). With this processing, when the variable CT points to the last timbre number (= 19) in a certain timbre category by operating the Inc button 106a, the first timbre number in the next timbre category is designated as the +1 timbre number. Will be. If the determination in step S1107 is No, the CPU 201 skips the process in step S1108 and maintains the calculation result of the variable CT ′ in step S1106. Thereafter, the CPU 201, based on the following equation (3), the timbre category number CC ′ stored in the variable CC ′ on the RAM 203 and the timbre number CT ′ within the timbre category also stored in the variable CT ′. Based on the above, the timbre number obtained by adding 1 to the timbre number newly designated by the operation of the Inc button 106a is calculated, and the calculation result is used as the second element RT of the timbre number of the waveform to be read which is a variable on the RAM 203. Stored in [1] (step S1109).

RT[1]=CC′×20+CT′ ・・・(3)     RT [1] = CC ′ × 20 + CT ′ (3)

なお、Incボタン106aの操作により変数CTが最後(16番目)の音色カテゴリ内の最後の音色番号(=19)を指した場合には例えば、RT[1]=−1(無効値)として、+1の音色番号が指定されないように制御されてよい。   If the variable CT indicates the last timbre number (= 19) in the last (16th) timbre category by operating the Inc button 106a, for example, RT [1] = − 1 (invalid value) It may be controlled so that the +1 tone number is not specified.

続いて、CPU201は、ステップS1110からS1113の一連の処理により、読み込み予定波形の音色番号の3番目の要素値RT[2]に、新たに現在指定された音色番号を−1した音色番号(通し番号)(以下これを「−1の音色番号」と呼ぶ)を設定する。すなわち、CPU201はまず、ステップS1102でインクリメントされた変数CTの値を−1した値をRAM203上の変数CT′に格納する(ステップS1110)。次に、CPU201は、変数CT′の値が1つの音色カテゴリ内で指定可能な音色番号の最小値「0」を下回ったマイナス値になったか否かを判定する(ステップS1111)。ステップS1111の判定がYesならば、CPU201は、音色カテゴリ番号を示す変数CCの値を−1デクリメントして得られる値をRAM203上の変数CC′に格納するとともに、−1の音色番号を示す変数CT′の値を変数CC′が示す音色カテゴリ内の最後の音色番号を示す値「19」に設定する(ステップS1112)。この処理により、Incボタン106aの操作により変数CTが或る音色カテゴリ内の最初の音色番号(=0)を指した場合に、−1の音色番号として1つ前の音色カテゴリ内の最後の音色番号が指定されることになる。ステップS1111の判定がNoならば、CPU201は、ステップS1112の処理をスキップして、ステップS1110の変数CT′の計算結果を維持する。その後、CPU201は、下記(4)式に基づいて、RAM203上の変数CC′に格納されている音色カテゴリ番号CC′と、同じく変数CT′に格納されている音色カテゴリ内での音色番号CT′とに基づいて、Incボタン106aの操作により新たに指定された音色番号を−1した音色番号を算出し、その算出結果を、RAM203上の変数である読み込み予定波形の音色番号の3番目の要素RT[2]に格納する(ステップS1113)。   Subsequently, the CPU 201 performs a series of processing in steps S1110 to S1113, and a timbre number (serial number) obtained by subtracting the timbre number newly designated by -1 in the third element value RT [2] of the timbre number of the waveform to be read. ) (Hereinafter referred to as “-1 tone number”). That is, the CPU 201 first stores a value obtained by subtracting -1 from the value of the variable CT incremented in step S1102 in the variable CT 'on the RAM 203 (step S1110). Next, the CPU 201 determines whether or not the value of the variable CT ′ has become a negative value that is below the minimum value “0” of timbre numbers that can be specified within one timbre category (step S1111). If the determination in step S1111 is Yes, the CPU 201 stores the value obtained by decrementing the value of the variable CC indicating the timbre category number by −1 in the variable CC ′ on the RAM 203 and also the variable indicating the timbre number of −1. The value of CT ′ is set to a value “19” indicating the last timbre number in the timbre category indicated by the variable CC ′ (step S1112). By this process, when the variable CT indicates the first timbre number (= 0) in a certain timbre category by the operation of the Inc button 106a, the last timbre in the previous timbre category is set as the timbre number of -1. A number will be specified. If the determination in step S1111 is No, the CPU 201 skips the process in step S1112 and maintains the calculation result of the variable CT ′ in step S1110. Thereafter, the CPU 201, based on the following equation (4), the timbre category number CC ′ stored in the variable CC ′ on the RAM 203 and the timbre number CT ′ within the timbre category also stored in the variable CT ′. Based on the above, the timbre number newly calculated by decrementing the timbre number designated by the operation of the Inc button 106a is calculated, and the calculated result is used as the third element of the timbre number of the waveform to be read which is a variable on the RAM 203. Store in RT [2] (step S1113).

RT[2]=CC′×20+CT′ ・・・(4)     RT [2] = CC ′ × 20 + CT ′ (4)

その後、CPU201は、図11のフローチャートで例示される図8のステップS804の順次音色比較状態用読み込み音色番号決定サブルーチンの処理を終了する。   Thereafter, the CPU 201 ends the processing of the sequential tone color comparison state read tone number determination subroutine of step S804 of FIG. 8 exemplified by the flowchart of FIG.

一方、CPU201は、ステップS1101の判定がYes、すなわち演奏者がDecボタン106bを押したと判定した場合は、まずRAM203上の音色カテゴリ内の音色番号を指定する変数CTの値を−1デクリメントする(ステップS1114)。   On the other hand, if the determination in step S1101 is Yes, that is, if it is determined that the performer has pressed the Dec button 106b, the CPU 201 first decrements the value of the variable CT that specifies the timbre number in the timbre category on the RAM 203 by −1 ( Step S1114).

次に、CPU201は、ステップS1115からS1117の一連の処理により、読み込み予定波形の音色番号の1番目の要素値RT[0]に、新たに現在指定された音色番号(通し番号)を設定する。すなわち、CPU201はまず、ステップS1114でデクリメントされた変数CTの値が1つの音色カテゴリ内で指定可能な音色番号の最小値「0」を下回ったマイナス値になったか否かを判定する(ステップS1115)。ステップS1115の判定がYesならば、CPU201は、音色カテゴリ番号を示す変数CCの値を−1デクリメントするとともに、音色番号を示す変数CTの値を変数CCが示す音色カテゴリ内の最後の音色番号を示す値「19」に設定する(ステップS1116)。この処理により、ある音色カテゴリ内の最初の音色番号が指定されている状態でDecボタン106bが押されると、1つ前の音色カテゴリ内の最後の音色番号が指定されることになる。なお、最初(1番目)の音色カテゴリ内の最初の音色番号が指定されている状態でDecボタン106bが押された場合には、例えば、ステップS1116の処理が実行されないようにしてそれ以上音色番号が戻らないように制御されてよい。ステップS1115の判定がNoならば、CPU201は、ステップS1116の処理をスキップすることにより、ステップS1114で現在の音色カテゴリ内で単純に音色番号が−1された状態が維持される。その後、CPU201は、ステップS1115の場合と同様の(2)式に基づいて、RAM203上の変数CCに格納されている音色カテゴリ番号CCと、同じく変数CTに格納されている音色カテゴリ内での音色番号CTとに基づいて、Decボタン106bの操作により新たに指定された音色番号を算出し、その算出結果を、RAM203上の変数である読み込み予定波形の音色番号の1番目の要素RT[0]に格納する(ステップS1117)。   Next, the CPU 201 sets the newly designated tone number (serial number) as the first element value RT [0] of the tone number of the waveform to be read by a series of processing from steps S1115 to S1117. That is, the CPU 201 first determines whether or not the value of the variable CT decremented in step S1114 has become a negative value that is less than the minimum value “0” of timbre numbers that can be specified in one timbre category (step S1115). ). If the determination in step S1115 is Yes, the CPU 201 decrements the value of the variable CC indicating the timbre category number by −1 and sets the value of the variable CT indicating the timbre number to the last timbre number in the timbre category indicated by the variable CC. The indicated value “19” is set (step S1116). With this process, when the Dec button 106b is pressed in a state where the first timbre number in a certain timbre category is designated, the last timbre number in the previous timbre category is designated. If the Dec button 106b is pressed in a state where the first timbre number in the first (first) timbre category is specified, for example, the timbre number is increased so that the process of step S1116 is not executed. May be controlled not to return. If the determination in step S1115 is No, the CPU 201 skips the process in step S1116, thereby maintaining the state where the timbre number is simply set to -1 in the current timbre category in step S1114. Thereafter, the CPU 201 uses the same formula (2) as in step S1115 to set the timbre category number CC stored in the variable CC on the RAM 203 and the timbre in the timbre category also stored in the variable CT. Based on the number CT, a timbre number newly designated by the operation of the Dec button 106b is calculated, and the calculation result is used as the first element RT [0] of the timbre number of the waveform to be read which is a variable on the RAM 203. (Step S1117).

続いて、CPU201は、ステップS1118からS1121の一連の処理により、読み込み予定波形の音色番号の2番目の要素値RT[1]に、新たに現在指定された音色番号を−1した音色番号(−1の音色番号)を設定する。すなわち、CPU201はまず、ステップS1114でデクリメントされた変数CTの値を−1した値をRAM203上の変数CT′に格納する(ステップS1118)。次に、CPU201は、変数CT′の値が1つの音色カテゴリ内で指定可能な音色番号の最小値「0」を下回ったマイナス値になったか否かを判定する(ステップS1119)。ステップS1119の判定がYesならば、CPU201は、音色カテゴリ番号を示す変数CCの値を−1デクリメントして得られる値をRAM203上の変数CC′に格納するとともに、−1の音色番号を示す変数CT′の値を変数CC′が示す音色カテゴリ内の最後の音色番号を示す値「19」に設定する(ステップS1120)。この処理により、Decボタン106bの操作により変数CTが或る音色カテゴリ内の最初の音色番号(=0)を指した場合に、−1の音色番号として1つ前の音色カテゴリ内の最後の音色番号が指定されることになる。ステップS1119の判定がNoならば、CPU201は、ステップS1120の処理をスキップして、ステップS1118の変数CT′の計算結果を維持する。その後、CPU201は、ステップS1109の場合と同様の(3)式に基づいて、RAM203上の変数CC′に格納されている音色カテゴリ番号CC′と、同じく変数CT′に格納されている音色カテゴリ内での音色番号CT′とに基づいて、Decボタン106bの操作により新たに指定された音色番号を−1した音色番号を算出し、その算出結果を、RAM203上の変数である読み込み予定波形の音色番号の2番目の要素RT[1]に格納する(ステップS1121)。   Subsequently, the CPU 201 performs a series of processes from step S1118 to step S1121 to set a timbre number (-) to the second element value RT [1] of the timbre number of the waveform to be read newly minus the timbre number designated at present. 1 tone number). That is, the CPU 201 first stores a value obtained by decrementing the value of the variable CT decremented in step S1114 by −1 in the variable CT ′ on the RAM 203 (step S1118). Next, the CPU 201 determines whether or not the value of the variable CT ′ has become a negative value that is below the minimum value “0” of timbre numbers that can be specified within one timbre category (step S1119). If the determination in step S1119 is Yes, the CPU 201 stores a value obtained by decrementing the value of the variable CC indicating the timbre category number by −1 in the variable CC ′ on the RAM 203, and a variable indicating the timbre number of −1. The value of CT ′ is set to a value “19” indicating the last timbre number in the timbre category indicated by the variable CC ′ (step S1120). With this processing, when the variable CT indicates the first timbre number (= 0) in a certain timbre category by the operation of the Dec button 106b, the last timbre in the previous timbre category is set as the timbre number of -1. A number will be specified. If the determination in step S1119 is No, the CPU 201 skips the process in step S1120 and maintains the calculation result of the variable CT ′ in step S1118. Thereafter, based on the same expression (3) as in step S1109, the CPU 201 stores the timbre category number CC ′ stored in the variable CC ′ on the RAM 203 and the timbre category stored in the variable CT ′. Based on the timbre number CT ′ at, a timbre number obtained by decrementing the timbre number newly designated by the operation of the Dec button 106 b is calculated, and the calculated result is used as the timbre of the waveform to be read which is a variable on the RAM 203 The number is stored in the second element RT [1] (step S1121).

なお、Decボタン106bの操作により変数CTが最初(1番目)の音色カテゴリ内の最初の音色番号(=0)を指した場合には例えば、RT[1]=−1(無効値)として、−1の音色番号が指定されないように制御されてよい。   When the variable CT indicates the first timbre number (= 0) in the first (first) timbre category by operating the Dec button 106b, for example, RT [1] =-1 (invalid value) It may be controlled so that the tone number of -1 is not specified.

続いて、CPU201は、ステップS1122からS1125の一連の処理により、読み込み予定波形の音色番号の3番目の要素値RT[2]に、新たに現在指定された音色番号を+1した音色番号(+1の音色番号)を設定する。すなわち、CPU201はまず、ステップS1114でデクリメントされた変数CTの値を+1した値をRAM203上の変数CT′に格納する(ステップS1122)。次に、CPU201は、変数CT′の値が1つの音色カテゴリ内で指定可能な音色番号の最大値「19」を越えた値「20」になったか否かを判定する(ステップS1123)。ステップS1123の判定がYesならば、CPU201は、音色カテゴリ番号を示す変数CCの値を+1インクリメントして得られる値をRAM203上の変数CC′に格納するとともに、+1の音色番号を示す変数CT′の値を変数CC′が示す音色カテゴリ内の最初の音色番号を示す値「0」に設定する(ステップS1124)。この処理により、Decボタン106bの操作により変数CTが或る音色カテゴリ内の最後の音色番号(=19)を指した場合に、+1の音色番号として次の音色カテゴリ内の最初の音色番号が指定されることになる。ステップS1123の判定がNoならば、CPU201は、ステップS1124の処理をスキップして、ステップS11222の変数CT′の計算結果を維持する。その後、CPU201は、ステップS1113の場合と同様の(4)式に基づいて、RAM203上の変数CC′に格納されている音色カテゴリ番号CC′と、同じく変数CT′に格納されている音色カテゴリ内での音色番号CT′とに基づいて、Decボタン106bの操作により新たに指定された音色番号を+1した音色番号を算出し、その算出結果を、RAM203上の変数である読み込み予定波形の音色番号の3番目の要素RT[2]に格納する(ステップS1125)。   Subsequently, the CPU 201 performs a series of processes in steps S1122 to S1125 to add a timbre number (+1) to the third element value RT [2] of the timbre number of the waveform to be read by adding +1 to the newly designated timbre number. Set the tone number. That is, the CPU 201 first stores a value obtained by adding 1 to the value of the variable CT decremented in step S1114 in the variable CT ′ on the RAM 203 (step S1122). Next, the CPU 201 determines whether or not the value of the variable CT ′ has become a value “20” that exceeds the maximum value “19” of timbre numbers that can be specified within one timbre category (step S1123). If the determination in step S1123 is Yes, the CPU 201 stores the value obtained by incrementing the value of the variable CC indicating the timbre category number by +1 in the variable CC ′ on the RAM 203, and the variable CT ′ indicating the +1 timbre number. Is set to a value “0” indicating the first timbre number in the timbre category indicated by the variable CC ′ (step S1124). With this processing, when the variable CT indicates the last tone number (= 19) in a certain tone category by operating the Dec button 106b, the first tone number in the next tone category is designated as the tone number of +1. Will be. If the determination in step S1123 is No, the CPU 201 skips the process in step S1124 and maintains the calculation result of the variable CT ′ in step S11222. Thereafter, based on the same expression (4) as in step S1113, the CPU 201 stores the timbre category number CC ′ stored in the variable CC ′ on the RAM 203 and the timbre category stored in the variable CT ′. The tone number obtained by adding +1 to the tone number newly designated by the operation of the Dec button 106b is calculated on the basis of the tone number CT ′ at, and the calculated result is used as the tone number of the waveform to be read which is a variable on the RAM 203. In the third element RT [2] (step S1125).

その後、CPU201は、図11のフローチャートで例示される図8のステップS804の順次音色比較状態用読み込み音色番号決定サブルーチンの処理を終了する。   Thereafter, the CPU 201 ends the processing of the sequential tone color comparison state read tone number determination subroutine of step S804 of FIG. 8 exemplified by the flowchart of FIG.

以上のようにして、演奏者がIncボタン106aを押した場合には、読み込み予定波形の音色番号の1番目の要素RT[0]と2番目の要素RT[1]と3番目の要素RT[2]に、新たにインクリメントされた現在の音色番号と、+1した音色番号と、−1した音色番号が、それぞれ格納される。また、演奏者がDecボタン106bを押した場合には、読み込み予定波形の音色番号の1番目の要素RT[0]と2番目の要素RT[1]と3番目の要素RT[2]に、新たにデクリメントされた現在の音色番号と、−1した音色番号と、+1した音色番号が、それぞれ格納される。ここで、読み込み予定波形の音色番号の要素の番号(0、1、2)は、それぞれの要素に格納された音色番号の波形データが大容量フラッシュメモリ204から波形メモリ206上の3つの波形エリア(図3参照)に転送される優先順位を示している。すなわち、演奏者がIncボタン106aを押した場合には、1番目の要素RT[0]に格納された新たにインクリメントされた現在の音色番号の波形データが最初に転送され、2番目の要素RT[1]に格納された+1した音色番号の波形データが次に転送され、3番目の要素RT[2]に格納された−1した音色番号の波形データが最後に転送されるように制御される。これは、演奏者は、音色選択時には、Incボタン106aを1回押した場合には次にも再びIncボタン106aを押す傾向があるため、まず現在の音色番号の波形データを最初に転送し、次に+1した音色番号の波形データを転送し、Decボタン106bの操作により−1される音色番号の波形データの転送の優先順位は最下位にするのが、効率的であるからである。逆に、演奏者がDecボタン106bを押した場合には、1番目の要素RT[0]に格納された新たにデクリメントされた現在の音色番号の波形データが最初に転送され、2番目の要素RT[1]に格納された−1した音色番号の波形データが次に転送され、3番目の要素RT[2]に格納された+1した音色番号の波形データが最後に転送されるように制御される。これは、演奏者は、音色選択時には、Decボタン106bを1回押した場合には次にも再びDecボタン106bを押す傾向があるため、まず現在の音色番号の波形データを最初に転送し、次に−1した音色番号の波形データを転送し、Incボタン106aの操作により+1される音色番号の波形データの転送の優先順位は最下位にするのが、効率的であるからである。   As described above, when the performer presses the Inc button 106a, the first element RT [0], the second element RT [1], and the third element RT [ 2] stores the newly incremented current timbre number, +1 timbre number, and -1 timbre number. When the performer presses the Dec button 106b, the first element RT [0], the second element RT [1], and the third element RT [2] of the tone number of the waveform to be read are The newly decremented current timbre number, -1 timbre number, and +1 timbre number are stored. Here, the timbre number element number (0, 1, 2) of the waveform to be read is stored in the three waveform areas in the waveform memory 206 from the large-capacity flash memory 204. (Refer to FIG. 3) shows the transfer priority. That is, when the performer presses the Inc button 106a, the waveform data of the newly incremented current tone number stored in the first element RT [0] is transferred first, and the second element RT. The waveform data of the +1 tone color number stored in [1] is transferred next, and the waveform data of the -1 tone number stored in the third element RT [2] is transferred last. The This is because the player tends to press the Inc button 106a again when he / she presses the Inc button 106a once when selecting a timbre, so the waveform data of the current timbre number is transferred first, This is because it is efficient to transfer the waveform data of the timbre number incremented by +1 and set the priority of the waveform data of the timbre number decremented by -1 by the operation of the Dec button 106b to the lowest. Conversely, when the performer presses the Dec button 106b, the newly decremented current tone number waveform data stored in the first element RT [0] is transferred first, and the second element Control is performed so that the waveform data of -1 tone color number stored in RT [1] is transferred next, and the waveform data of +1 tone color number stored in the third element RT [2] is transferred last. Is done. This is because the player tends to press the Dec button 106b again when the Dec button 106b is pressed once at the time of selecting a tone, so the waveform data of the current tone number is transferred first, This is because it is efficient to transfer the waveform data of the timbre number decremented by 1 and transfer the waveform data of the timbre number incremented by the operation of the Inc button 106a to the lowest priority.

図12および図13は、図8のステップS805の読み込み音色番号設定サブルーチンの詳細処理例を示すフローチャートである。ここでは、図8のステップS803の通常状態用読み込み音色番号決定サブルーチンでRAM203上の読み込み予定波形の音色番号の要素値RT[0]に得られた音色番号に対応する波形データの転送を、波形メモリ206上の3つの波形エリアのうちの空いている1つに割り振る処理(要素値RT[1]とRT[2]には無効値「−1」が設定されている)、あるいは、図8のステップS804の順次音色比較状態用読み込み音色番号決定サブルーチンでRAM203上の読み込み予定波形の音色番号の3つの要素値RT[0]、RT[1]、およびRT[2]に得られた3つの音色番号に対応する各波形データの優先順位を付けた転送を、波形メモリ206上の3つの波形エリアに割り振る処理が実行される。   12 and 13 are flowcharts showing a detailed processing example of the read tone number setting subroutine in step S805 of FIG. Here, the transfer of the waveform data corresponding to the tone number obtained in the element value RT [0] of the tone number of the waveform to be read in the RAM 203 in the normal state reading tone number determination subroutine in step S803 of FIG. A process of allocating to one of the three waveform areas on the memory 206 (element values RT [1] and RT [2] are set to invalid values “−1”), or FIG. In step S804, the three tone values RT [0], RT [1], and RT [2] of the tone number of the waveform to be read on the RAM 203 in the sequential tone color comparison state read tone number determination subroutine in the RAM 203 are obtained. A process of assigning the transfer with the priority order of each waveform data corresponding to the tone color number to the three waveform areas on the waveform memory 206 is executed.

まず、CPU201は、ステップS1201からS1213までの一連の処理において、演奏者の音色選択操作によってRAM203上の読み込み予定波形の音色番号の要素値RT[0]、RT[1]、およびRT[2]として得られた1つ(図8のステップS803の場合)または3つ(図8のステップS804の場合)の音色番号のそれぞれに対応する波形データが、波形メモリ206上の3つの波形エリア(図3参照)上に存在するか、または現在読み込み中であるか否かをチェックする。3つの波形エリアの状態は、RAM203上の構造体変数である波形メモリステータスWM_ST[0]、WM_ST[1]、WM_ST[2]に格納されている。そこで、CPU201は、ステップS1201で3つの波形エリアのそれぞれを指定するためのRAM203上の変数wに「0」を格納した後、ステップS1212で変数wの値を+1ずつインクリメントしながら、ステップS1213で変数wの値が「3」に達したと判定されるまで、ステップS1202からS1211までの一連の処理を3回繰り返し実行することにより、各波形エリアwに対応する波形メモリステータスWM_ST[w]を、読み込み予定波形の音色番号の3つの要素値RT[r](r=0、1、2)のそれぞれと比較する。この場合、CPU201は、上記各繰り返しにおいて、ステップS1202で読み込み予定波形の音色番号を指定するためのRAM203上の変数rに「0」を格納した後、ステップS1210で変数rの値を+1ずつインクリメントしながら、ステップS1211で変数rの値が「3」に達したと判定されるまで、ステップS1203からS1209までの一連の処理を3回繰り返し実行することにより、波形メモリステータスWM_ST[w]と読み込み予定波形の音色番号の各要素値RT[r]との比較を行う。   First, the CPU 201 performs element values RT [0], RT [1], and RT [2] of the tone number of the waveform to be read on the RAM 203 by a player's tone selection operation in a series of processing from steps S1201 to S1213. Waveform data corresponding to one (in the case of step S803 in FIG. 8) or three (in the case of step S804 in FIG. 8) timbre numbers obtained as three waveform areas (see FIG. 3) Check whether it exists above or is currently being read. The states of the three waveform areas are stored in waveform memory statuses WM_ST [0], WM_ST [1], and WM_ST [2] that are structure variables on the RAM 203. Therefore, the CPU 201 stores “0” in the variable w on the RAM 203 for designating each of the three waveform areas in step S1201, and then increments the value of the variable w by +1 in step S1212, and in step S1213. Until it is determined that the value of the variable w has reached “3”, the series of processing from step S1202 to S1211 is repeatedly executed three times, thereby obtaining the waveform memory status WM_ST [w] corresponding to each waveform area w. Each of the three element values RT [r] (r = 0, 1, 2) of the timbre number of the waveform to be read is compared. In this case, the CPU 201 stores “0” in the variable r on the RAM 203 for designating the timbre number of the waveform to be read in step S1202 in each iteration, and then increments the value of the variable r by +1 in step S1210. However, until it is determined in step S1211 that the value of the variable r has reached “3”, the waveform memory status WM_ST [w] is read by repeatedly executing a series of processes from step S1203 to S1209 three times. Comparison is made with each element value RT [r] of the timbre number of the scheduled waveform.

上記2重の繰り返し処理において、CPU201はまず、読み込み予定波形の音色番号の要素値RT[r]の値が無効値「−1」であるか否かを判定する(ステップS1203)。   In the double repetition process, the CPU 201 first determines whether or not the element value RT [r] of the tone number of the waveform to be read is an invalid value “−1” (step S1203).

ステップS1203の判定がYesならば、CPU201は、制御をステップS1210の処理に移行させて、次の変数rの値に対応する読み込み予定波形の次の音色番号に対応する処理に移行する。   If the determination in step S1203 is Yes, the CPU 201 shifts control to the process in step S1210, and shifts to a process corresponding to the next timbre number of the waveform to be read corresponding to the value of the next variable r.

ステップS1203の判定がNoならば、CPU201は次に、変数wが示す波形エリアの通しの音色番号(図4の説明および図5を参照)を示す波形メモリステータス中の音色通し番号WM_ST[w].TONEが、読み込み予定波形の音色番号の要素値RT[r]の値に一致するか否かを判定する(ステップS1204)。   If the determination in step S1203 is No, the CPU 201 next selects the timbre serial number WM_ST [w]. In the waveform memory status indicating the continuous timbre number of the waveform area indicated by the variable w (see the description of FIG. 4 and FIG. 5). It is determined whether TONE matches the value of the element value RT [r] of the tone color number of the waveform to be read (step S1204).

ステップS1204の判定がNoならば、CPU201は、制御をステップS1210の処理に移行させて、次の変数rの値に対応する読み込み予定波形の次の音色番号に対応する処理に移行する。   If the determination in step S1204 is No, the CPU 201 shifts the control to the process in step S1210, and shifts to a process corresponding to the next timbre number of the waveform to be read corresponding to the value of the next variable r.

ステップS1204の判定がYesならば、CPU201は続いて、波形メモリ206上の変数wが示す波形エリアでの波形データの有無を示す要素値WM_ST[w].WAVE(図5参照)が「有り」を示す値「1」であるか否かを判定する(ステップS1205)。   If the determination in step S1204 is Yes, the CPU 201 continues with an element value WM_ST [w] .W indicating whether or not there is waveform data in the waveform area indicated by the variable w on the waveform memory 206. It is determined whether or not WAVE (see FIG. 5) is a value “1” indicating “present” (step S1205).

ステップS1205の判定がYesならば、CPU201は、制御をステップS1207に進める。   If the determination in step S1205 is Yes, the CPU 201 advances the control to step S1207.

ステップS1205の判定がNoならば、CPU201は、現在読み込み中の波形の番号を示すRAM203上の変数READING_WAVE(図5参照)の値が、読み込み予定波形の音色番号の要素値RT[r]の値に一致するか否かを判定する(ステップS1206)。   If the determination in step S1205 is No, the CPU 201 determines that the value of the variable READING_WAVE (see FIG. 5) on the RAM 203 indicating the number of the waveform currently being read is the value of the element value RT [r] of the tone number of the waveform to be read. Is determined (step S1206).

ステップS1206の判定がNoならば、CPU201は、制御をステップS1210の処理に移行させて、次の変数rの値に対応する読み込み予定波形の次の音色番号に対応する処理に移行する。   If the determination in step S1206 is No, the CPU 201 shifts the control to the process in step S1210, and shifts to a process corresponding to the next timbre number of the waveform to be read corresponding to the value of the next variable r.

ステップS1206の判定がYesならば、変数rに対応する読み込み予定波形の音色番号の要素値RT[r]が、波形メモリステータスWM_ST[w]に対応する変数wが示す波形エリアに対応付けられて処理中である。従って、これ以後、要素値RT[r]については他の波形メモリステータスWM_ST[w]とのチェックは不要となるため、CPU201は、現在の変数rに対応する読み込み予定波形の音色番号の要素値RT[r]に無効値「−1」を格納する(ステップS1207)。   If the determination in step S1206 is Yes, the element value RT [r] of the timbre number of the waveform to be read corresponding to the variable r is associated with the waveform area indicated by the variable w corresponding to the waveform memory status WM_ST [w]. It is being processed. Accordingly, since the element value RT [r] does not need to be checked with another waveform memory status WM_ST [w], the CPU 201 determines the element value of the tone number of the waveform to be read corresponding to the current variable r. An invalid value “−1” is stored in RT [r] (step S1207).

続いて、CPU201は、現在の変数wに対応する波形エリアの大容量フラッシュメモリ204から波形メモリ206への転送(読み込み)の優先順位を示す波形メモリステータスの要素値WM_ST[w].PRI(図5参照)に、新たにそれに対応付けられた読み込み予定波形の音色番号の要素値RT[r]の優先順位を示す変数rの値(図11の最後の説明参照)を設定し直す(ステップS1208)。   Subsequently, the CPU 201 uses the waveform memory status element value WM_ST [w] .P indicating the priority of transfer (reading) from the large-capacity flash memory 204 to the waveform memory 206 in the waveform area corresponding to the current variable w. In PRI (see FIG. 5), the value of the variable r (see the last explanation in FIG. 11) indicating the priority of the element value RT [r] of the tone color number of the waveform to be read newly associated with it is reset. (Step S1208).

そして、CPU201は、現在の変数wに対応する波形エリアへの新たな書き込みを行わせないために、波形メモリステータスの書き換え保護フラグWM_ST[w].PROTECT(図5参照)に保護を示す値「1」を格納する(ステップS1209)。   Then, the CPU 201 does not perform a new write to the waveform area corresponding to the current variable w, so that the rewrite protection flag WM_ST [w]. A value “1” indicating protection is stored in PROTECT (see FIG. 5) (step S1209).

以上の処理が、変数rの全ての値0、1、2および変数wの全ての値0、1、2について繰り返し実行されることにより、3つの波形エリア(波形メモリステータス)のそれぞれごとに、当該波形エリアの音色番号が読み込み予定波形の音色番号の3つの要素値RT[0]、RT[1]、またはRT[2]に新たに設定された音色番号のいずれかと一致し、かつその音色番号に対応する波形データが当該波形エリアに既に読み込み済みであるか、または読み込み中である場合には、その波形エリア(波形メモリステータス)が保護されることになる。逆に言えば、読み込み予定波形の音色番号の3つの要素値RT[0]、RT[1]、またはRT[2]に新たに設定された音色番号に対応する波形データが、まだどの波形エリアにも読み込み済みでなくかつ読み込み中でもない場合には、保護されていない波形エリアにその波形データを新たに読み込む設定をすることができる。その処理を実行するのが、図13のステップS1214からS1222までの一連の処理である。   The above processing is repeatedly executed for all values 0, 1, and 2 of the variable r and all values 0, 1, and 2 of the variable w, so that for each of the three waveform areas (waveform memory status), The timbre number of the waveform area matches one of the timbre numbers newly set in the three element values RT [0], RT [1], or RT [2] of the timbre number of the waveform to be read, and the timbre When the waveform data corresponding to the number has already been read into the waveform area or is being read, the waveform area (waveform memory status) is protected. In other words, the waveform data corresponding to the timbre number newly set in the three element values RT [0], RT [1], or RT [2] of the timbre number of the waveform to be read is still in which waveform area. If the waveform data has not been read and is not being read, the waveform data can be newly read into the unprotected waveform area. The process is executed by a series of processes from steps S1214 to S1222 of FIG.

CPU201は、ステップS1214で読み込み予定波形の音色番号を指定するための変数rに「0」を格納した後、ステップS1221で変数rの値を+1ずつインクリメントしながら、ステップS1222で変数rの値が「3」に達したと判定されるまで、ステップS1215で無効値「−1」が設定されている読み込み予定波形の音色番号の要素値RT[r]についてはその判定がYesとなることにより処理対象からはずしながら、ステップS1216からS1220までの一連の処理を3回繰り返し実行する。この制御により、まだ波形エリアへの割り当てが行われていない読み込み予定波形の音色番号の要素値RT[r]について、その割り当てが行われる。ステップS1216からS1220までの一連の処理において、CPU201は、ステップS1216で3つの波形エリアのそれぞれを指定するためのRAM203上の変数wに「0」を格納した後、ステップS1219で変数wの値を+1ずつインクリメントしながら、ステップS1220で変数wの値が「3」に達したと判定されるまで、ステップS1217で波形メモリステータスの書き換え保護フラグWM_ST[w].PROTECT(図5参照)の値が「0」である(保護されていない)ものを探しながら、ステップS1218で、波形エリアへの割り当てが行われていない読み込み予定波形の音色番号の要素値RT[r]を、空いている波形エリアに対応する波形メモリステータスWM_ST[w]へ登録する。   The CPU 201 stores “0” in the variable r for designating the tone number of the waveform to be read in step S1214, and then increments the value of the variable r by +1 in step S1221, while the value of the variable r is increased in step S1222. Until it is determined that the value reaches “3”, the element value RT [r] of the timbre number of the to-be-read waveform for which the invalid value “−1” is set in step S1215 is processed as the determination is Yes. While removing from the target, the series of processing from step S1216 to S1220 is repeated three times. With this control, the element value RT [r] of the tone color number of the waveform to be read that has not yet been assigned to the waveform area is assigned. In a series of processing from step S1216 to S1220, the CPU 201 stores “0” in the variable w on the RAM 203 for designating each of the three waveform areas in step S1216, and then sets the value of the variable w in step S1219. While incrementing by +1, until the value of the variable w reaches “3” in step S1220, the waveform memory status rewrite protection flag WM_ST [w]. While searching for a PROTECT (see FIG. 5) value of “0” (not protected), in step S1218, the element value RT [ r] is registered in the waveform memory status WM_ST [w] corresponding to the free waveform area.

すなわち、CPU201は、ステップS1218において、波形メモリステータス中の音色通し番号WM_ST[w].TONEに、読み込み予定波形の音色番号の要素値RT[r]を格納する。また、CPU201は、波形メモリステータスの波形読み込み優先順位WM_ST[w].PRI(図5参照)に、読み込み予定波形の音色番号の要素値RT[r]の優先順位を示す変数rの値(図11の最後の説明参照)を設定する。さらに、CPU201は、波形メモリステータスの波形データの有無を示す要素値WM_ST[w].WAVE(図5参照)にまだ波形データが転送されていないので「無し」を示す値「0」を設定する。また、CPU201は、波形メモリステータスの読み込み音色の波形データのフラッシュメモリ上での格納先頭アドレスWM_ST[w].FLASH_ADRS(図5参照)に、ROM202内の図4に例示されるフラッシュメモリ音色情報テーブルにおける、「番号」項目値が読み込み予定波形の音色番号の要素値RT[r]に等しいエントリの「波形アドレスオフセット」項目値(音色波形先頭アドレス)を設定する。加えて、CPU201は、波形メモリステータスの波形サイズ要素値WM_ST[w].WAVE_SIZEに、ROM202内の図4に例示されるフラッシュメモリ音色情報テーブルにおける、「番号」項目値が読み込み予定波形の音色番号の要素値RT[r]に等しいエントリの「波形サイズ」項目値を設定する。そして、CPU201は、波形メモリステータスの転送済みのデータサイズを示す要素値WM_ST[w].READ_SIZEを値「0」に初期設定する。   That is, the CPU 201 determines in step S1218 that the timbre serial number WM_ST [w]. The element value RT [r] of the tone color number of the waveform to be read is stored in TONE. Further, the CPU 201 sets the waveform memory status waveform reading priority WM_ST [w]. In the PRI (see FIG. 5), the value of the variable r (see the last explanation in FIG. 11) indicating the priority order of the element value RT [r] of the timbre number of the waveform to be read is set. Further, the CPU 201 uses the element value WM_ST [w]. Since the waveform data has not yet been transferred to WAVE (see FIG. 5), a value “0” indicating “none” is set. Further, the CPU 201 stores the waveform memory status read tone waveform data on the flash memory at the storage start address WM_ST [w]. In FLASH_ADRS (see FIG. 5), in the flash memory timbre information table illustrated in FIG. 4 in the ROM 202, the “waveform address” of the entry whose “number” item value is equal to the element value RT [r] of the timbre number of the waveform to be read Set the "Offset" item value (timbre waveform start address). In addition, the CPU 201 calculates the waveform size element value WM_ST [w]. In the WAVE_SIZE, the “waveform size” item value of the entry in which the “number” item value is equal to the element value RT [r] of the timbre number of the waveform to be read in the flash memory timbre information table illustrated in FIG. To do. Then, the CPU 201 transmits an element value WM_ST [w]. Initialize READ_SIZE to the value “0”.

以上の処理が、変数rの全ての値0、1、2および変数wの全ての値0、1、2について繰り返し実行されることにより、波形エリアへの割り当てが行われていない読み込み予定波形の音色番号の要素値RT[r]が、空いている波形エリアに対応する波形メモリステータスWM_ST[w]へ登録される。   The above processing is repeatedly executed for all the values 0, 1, and 2 of the variable r and all the values 0, 1, and 2 of the variable w, whereby the waveform to be read that has not been assigned to the waveform area. The element value RT [r] of the timbre number is registered in the waveform memory status WM_ST [w] corresponding to the free waveform area.

ステップS1222の判定がYesとなった後、CPU201は、ステップS1223で3つの波形エリアのそれぞれを指定するためのRAM203上の変数wに「0」を格納した後、ステップS1225で変数wの値を+1ずつインクリメントしながら、ステップS1226で変数wの値が「3」に達したと判定されるまで、ステップS1224の処理を実行する。CPU201は、ステップS1224において、各波形エリアに対応する波形メモリステータスの書き換え保護フラグWM_ST[w].PROTECT(図5参照)値を「0」にリセットする。その後、CPU201は、図12および図13のフローチャートで例示される図8のステップS805の読み込み音色番号設定サブルーチンを終了する。   After the determination in step S1222 is Yes, the CPU 201 stores “0” in the variable w on the RAM 203 for designating each of the three waveform areas in step S1223, and then sets the value of the variable w in step S1225. While incrementing by +1, the process of step S1224 is executed until it is determined in step S1226 that the value of the variable w has reached “3”. In step S1224, the CPU 201 rewrites the waveform memory status rewrite protection flag WM_ST [w]. The PROTECT (see FIG. 5) value is reset to “0”. Thereafter, the CPU 201 ends the read tone number setting subroutine in step S805 of FIG. 8 illustrated by the flowcharts of FIGS.

図14は、図8のステップS809の音色切り替え履歴処理サブルーチンの詳細処理例を示すフローチャートである。   FIG. 14 is a flowchart showing a detailed processing example of the timbre switching history processing subroutine of step S809 in FIG.

CPU201は、RAM203上の変数である音色選択履歴バッファ書き込みポインタTS_WP(図5参照)によって指定される音色選択履歴バッファの音色選択操作ボタン要素TS_HIS[TS_WP].BUTTON(図5参照)および音色選択時の時刻要素TS_HIS[TS_WP].TIME(図5参照)に、変数B、Tにそれぞれ格納されている現在の音色番号および現在時刻を格納する(ステップS1401)。   The CPU 201 selects the tone color selection operation button element TS_HIS [TS_WP]... Of the tone color selection history buffer designated by the tone color selection history buffer write pointer TS_WP (see FIG. 5) which is a variable on the RAM 203. BUTTON (see FIG. 5) and time element TS_HIS [TS_WP]. In TIME (see FIG. 5), the current timbre number and the current time stored in variables B and T are stored (step S1401).

ここで、CPU201は、図8のステップS809の音色切り替え履歴処理サブルーチンが実行されるごとに、ステップS1402で音色選択履歴バッファ書き込みポインタTS_WPの値を+1ずつインクリメントしながら、ステップS1403で音色選択履歴バッファ書き込みポインタTS_WPの値が「1」になったか否かを判定している。そして、CPU201は、ステップS1403の判定がYesになると、ステップS1404で音色選択履歴バッファ書き込みポインタTS_WPの値を「0」に戻す。これにより、音色選択履歴バッファ書き込みポインタTS_WPの値が「0」と「1」の間でサイクリックに変化し、直近2つ分の音色選択履歴が、音色選択履歴バッファTS_HIS[0]とTS_HIS[1]にサイクリックに得られることになる。   Here, the CPU 201 increments the value of the timbre selection history buffer write pointer TS_WP by +1 in step S1402 every time the timbre switching history processing subroutine in step S809 of FIG. 8 is executed, and in step S1403 the timbre selection history buffer. It is determined whether or not the value of the write pointer TS_WP is “1”. If the determination in step S1403 is Yes, the CPU 201 returns the value of the timbre selection history buffer write pointer TS_WP to “0” in step S1404. As a result, the value of the timbre selection history buffer write pointer TS_WP changes cyclically between “0” and “1”, and the timbre selection histories for the two latest timbre selection history buffers TS_HIS [0] and TS_HIS [ 1] is obtained cyclically.

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

CPU201はまず、ステップS1501において、各種初期設定を行う。具体的には、CPU201は、RAM203上の変数である、今回読み込みサイズカウンタc、波形メモリ上のアドレスカウンタwp、最高プライオリティ波形番号h、および波形番号カウンタwに、それぞれ初期値「0」を設定する。また、CPU201は、RAM203上の変数であるプライオリティカウンタpに、最低優先度(プライオリティ)の値「3」を初期値として格納する。   First, in step S1501, the CPU 201 performs various initial settings. Specifically, the CPU 201 sets initial values “0” to the current reading size counter c, the address counter wp on the waveform memory, the highest priority waveform number h, and the waveform number counter w, which are variables on the RAM 203. To do. Further, the CPU 201 stores the lowest priority (priority) value “3” as an initial value in the priority counter p which is a variable on the RAM 203.

上記初期設定の後、CPU201は、RAM203上の変数である現在読み込み中の波形の番号READING_WAVEの値が無効値「−1」であるか否か、すなわち、現在波形データの読み込みが行われていないか否かを判定する(ステップS1502)。   After the above initial setting, the CPU 201 determines whether or not the value of the number READING_WAVE of the waveform currently being read which is a variable on the RAM 203 is an invalid value “−1”, that is, the current waveform data is not read. It is determined whether or not (step S1502).

現在波形データの読み込みが行われていない(ステップS1502の判定がYesである)場合には、CPU201は、(ステップS1501で初期値「0」に初期化されている)波形番号カウンタwの値をステップS1508で+1ずつインクリメントしながら、ステップS1509で2に達したと判定されるまで、ステップS1504からS1507の一連の処理を繰り返し実行する。この一連の処理の繰り返しにより、CPU201は、波形番号カウンタwが示す波形メモリステータスの要素値WM_ST[w].PRIに書き込まれている波形読み込みの優先順位を順次調べ、波形転送が必要かつ、完了していないものの中で最も優先順位の高い波形データを選定する。   If waveform data is not currently read (Yes in step S1502), the CPU 201 sets the value of the waveform number counter w (initialized to the initial value “0” in step S1501). While incrementing by +1 in step S1508, a series of processing from step S1504 to S1507 is repeatedly executed until it is determined in step S1509 that 2 is reached. By repeating this series of processing, the CPU 201 causes the waveform memory status element value WM_ST [w]. The waveform reading priority written in the PRI is sequentially checked, and the waveform data with the highest priority is selected among those that need to be transferred and have not been transferred.

ステップS1504からS1507の一連の処理において、CPU201はまず、波形番号カウンタwが示す波形メモリ206上の波形エリアでの波形データの有無を示すRAM203上の波形メモリステータスの要素値WM_ST[w].WAVEの値が「1」であるか否か、すなわち、波形番号カウンタwが示す波形メモリ206上の波形エリアへの波形データの転送が完了しているか否かを判定する(ステップS1504)。   In a series of processing from steps S1504 to S1507, the CPU 201 firstly sets the waveform memory status element value WM_ST [w] .wm indicating the presence or absence of waveform data in the waveform area on the waveform memory 206 indicated by the waveform number counter w. It is determined whether or not the value of WAVE is “1”, that is, whether or not the transfer of waveform data to the waveform area on the waveform memory 206 indicated by the waveform number counter w has been completed (step S1504).

波形番号カウンタwが示す波形メモリ206上の波形エリアへの波形データの転送が完了している(ステップS1504の判定がYes)ならば、その波形データはさらに転送の必要はないため、CPU201は、ステップS1508の処理に移行して、次の波形番号に対する処理に進む。   If the transfer of the waveform data to the waveform area on the waveform memory 206 indicated by the waveform number counter w has been completed (Yes in step S1504), the waveform data does not need to be further transferred. The process proceeds to step S1508 to proceed to the process for the next waveform number.

波形番号カウンタwが示す波形メモリ206上の波形エリアへの波形データの転送が完了していない(ステップS1504の判定がNo)ならば、CPU201は、波形番号カウンタwが指し示す波形メモリステータスの波形サイズ要素値WM_ST[w].WAVE_SIZEが「0」であるか否かを判定する(ステップS1505)。図4に例示されるフラッシュメモリ音色情報テーブル上で、波形番号カウンタwに対応する「波形番号」項目値に対して、波形データが登録されていない場合には、「波形サイズ」項目値が「0」になっている。そして、図13のステップS1218の説明で前述したように、波形データが登録されていない波形番号のデータについては、波形サイズ要素値WM_ST[w].WAVE_SIZEに、音声波形サイズとして「0」がセットされる。   If the transfer of the waveform data to the waveform area on the waveform memory 206 indicated by the waveform number counter w has not been completed (No in step S1504), the CPU 201 determines the waveform size of the waveform memory status indicated by the waveform number counter w. Element value WM_ST [w]. It is determined whether or not WAVE_SIZE is “0” (step S1505). When no waveform data is registered for the “waveform number” item value corresponding to the waveform number counter w on the flash memory tone color information table illustrated in FIG. 4, the “waveform size” item value is “ 0 ”. As described above with reference to step S1218 of FIG. 13, the waveform size element value WM_ST [w]. “0” is set as the speech waveform size in WAVE_SIZE.

このため、WM_ST[w].WAVE_SIZEが「0」(ステップS1505の判定がYes)ならば、波形番号カウンタwに対応する波形データは存在しないため、CPU201は、ステップS1508の処理に移行して、次の波形番号に対する処理に進む。   For this reason, WM_ST [w]. If WAVE_SIZE is “0” (Yes in step S1505), there is no waveform data corresponding to the waveform number counter w, so the CPU 201 proceeds to the process in step S1508 and proceeds to the process for the next waveform number. .

WM_ST[w].WAVE_SIZEが「0」でない(ステップS1505の判定がNO)ならば、CPU201は、波形番号カウンタwが指し示す波形メモリステータスの要素値WM_ST[w].PRIに書き込まれている波形読み込みの優先順位が、プライオリティカウンタpの値よりも小さいか否か(優先順位が高いか否か)を判定する(ステップS1506)。   WM_ST [w]. If WAVE_SIZE is not “0” (NO in step S1505), the CPU 201 determines that the waveform memory status element value WM_ST [w]. It is determined whether the waveform reading priority written in the PRI is smaller than the value of the priority counter p (whether the priority is high) (step S1506).

WM_ST[w].PRIの優先順位がプライオリティカウンタpの値よりも小さい(ステップS1506の判定がYesである)場合には、CPU201は、カウンタ変数hに波形番号カウンタwの値を格納して記憶させ、また、プライオリティカウンタpの優先順位をWM_ST[w].PRIの優先順位で書き換える(ステップS1507)。   WM_ST [w]. If the PRI priority is smaller than the value of the priority counter p (Yes in step S1506), the CPU 201 stores and stores the value of the waveform number counter w in the counter variable h. The priority of the counter p is set to WM_ST [w]. Rewriting is performed in the priority order of PRI (step S1507).

WM_ST[w].PRIの優先順位がプライオリティカウンタpの値よりも小さくはない(ステップS1506の判定がNoである)場合には、CPU201は、ステップS1507の書き換えは行わない。   WM_ST [w]. If the PRI priority is not smaller than the value of the priority counter p (No in step S1506), the CPU 201 does not rewrite step S1507.

初期状態では、プライオリティカウンタpには、最低の優先順位「3」が設定されている(ステップS1501参照)。これを初期値として、上述のステップS1504からS1507の一連の処理が繰り返し実行される結果、最終的にカウンタ変数hには、波形転送が必要かつ完了していないものの中で最も優先順位の高い波形データの「波形番号」が得られることになる。例えば、演奏者が音色番号を通常状態で指定した場合、w=0,1,2のうちいずれか一つのw値に対応するWM_ST[w]に対してのみ有効なデータが設定されている。従って、この場合には、カウンタ変数hには、演奏者が選択し波形転送が完了していない音色番号に対応する波形データの「波形番号」が1つだけ得られることになる。一方、演奏者306が順次音色比較状態で指定した場合、w=0,1,2のそれぞれに対応する各WM_ST[w]には、演奏者が選択した音色番号と、その音色番号を+1および−1した2つの音色番号が設定されている。従って、この場合には、カウンタ変数hには、演奏者が選択し波形転送が完了していない音色番号に対応する波形データの「波形番号」がまず得られる。   In the initial state, the lowest priority “3” is set in the priority counter p (see step S1501). With this as an initial value, the series of processing in steps S1504 to S1507 is repeatedly executed. As a result, the counter variable h finally has a waveform with the highest priority among the waveforms that require waveform transfer and have not been completed. The “waveform number” of the data is obtained. For example, when the performer specifies the timbre number in the normal state, valid data is set only for WM_ST [w] corresponding to any one of w = 0, 1, and 2. Accordingly, in this case, only one “waveform number” of the waveform data corresponding to the timbre number selected by the performer and having not completed waveform transfer is obtained as the counter variable h. On the other hand, when the performer 306 sequentially designates in the timbre comparison state, each WM_ST [w] corresponding to each of w = 0, 1, and 2 includes the timbre number selected by the performer and the timbre number of +1 and Two timbre numbers minus -1 are set. Accordingly, in this case, the “waveform number” of the waveform data corresponding to the timbre number selected by the performer and having not completed waveform transfer is first obtained as the counter variable h.

上記繰り返し処理の結果、ステップS1509の判定がYesになると、CPU201は、カウンタ変数hに得られた優先順位の最も高い波形番号をRAM203上の変数である現在読み込み中の波形番号READING_WAVEに格納し、また、波形番号カウンタwが示す波形メモリステータスの、転送済みのデータサイズを示す要素値WM_ST[w].READ_SIZEを値「0」(まだ転送が開始されていない状態)に初期設定する(ステップS1510)。   As a result of the above repeated processing, when the determination in step S1509 is Yes, the CPU 201 stores the waveform number with the highest priority obtained in the counter variable h in the waveform number READING_WAVE currently being read, which is a variable on the RAM 203, In addition, the element value WM_ST [w]. Indicating the transferred data size of the waveform memory status indicated by the waveform number counter w. READ_SIZE is initially set to a value “0” (a state where transfer has not yet started) (step S1510).

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

前述したステップS1502の判定において、現在波形データの読み込みが行われている(ステップS1502の判定がNoである)と判定された場合には、CPU201は、カウンタ変数hに、RAM203上の変数である現在読み込み中の波形番号READING_WAVEの値を格納した後、図16のステップS1511以降の処理に移行し、カウンタ変数hに得られた波形番号の残りの波形データを大容量フラッシュメモリ204から波形メモリ206へ転送する処理を実行する。   If it is determined in step S1502 described above that waveform data is currently being read (NO in step S1502), the CPU 201 is a variable on the RAM 203 in the counter variable h. After storing the value of the currently read waveform number READING_WAVE, the process proceeds to step S1511 and subsequent steps in FIG. 16, and the remaining waveform data of the waveform number obtained in the counter variable h is transferred from the large-capacity flash memory 204 to the waveform memory 206. Execute the process to transfer to.

上記転送処理において、CPU201はまず、大容量フラッシュメモリ204において、それぞれカウンタ変数hに対応する波形メモリステータスの要素値であるWM_ST[h].FLASH_ADRSとWM_ST[h].READ_SIZEとを加算して得られるアドレスから、1ワード分の波形データを読み込み、RAM203上の変数dに代入する(ステップS1511)。ここで、要素値WM_ST[h].FLASH_ADRSには、前述した図12のステップS1218で、変数hが示す波形番号に対応する波形メモリ206上の波形エリアに転送されるべき波形データの、大容量フラッシュメモリ204上での先頭アドレスが格納されている。また、要素値WM_ST[h].READ_SIZEには、現在までに転送済みのデータサイズが格納されている。従って、「WM_ST[h].FLASH_ADRS+WM_ST[h].READ_SIZE」は、次に読み出されるべき大容量フラッシュメモリ204上のアドレスとなる。   In the above transfer process, the CPU 201 first, in the large-capacity flash memory 204, uses WM_ST [h]., Which is the element value of the waveform memory status corresponding to the counter variable h. FLASH_ADRS and WM_ST [h]. One word of waveform data is read from an address obtained by adding READ_SIZE, and substituted into a variable d on the RAM 203 (step S1511). Here, the element value WM_ST [h]. FLASH_ADRS stores the start address on the large-capacity flash memory 204 of the waveform data to be transferred to the waveform area on the waveform memory 206 corresponding to the waveform number indicated by the variable h in step S1218 of FIG. Has been. Also, element value WM_ST [h]. READ_SIZE stores the data size that has been transferred so far. Therefore, “WM_ST [h] .FLASH_ADRS + WM_ST [h] .READ_SIZE” is an address on the large-capacity flash memory 204 to be read next.

次に、CPU201は、波形メモリ206において、カウンタ変数hに対応する波形番号の波形エリアの波形メモリ206上での先頭アドレスとカウンタ変数hに対応する波形メモリステータスの要素値であるWM_ST[h].READ_SIZEとを加算して得られるアドレスに、変数dに格納されている1ワード分の波形データを、音源LSI205経由で書き込む(ステップS1512)。   Next, in the waveform memory 206, the CPU 201 stores the start address on the waveform memory 206 of the waveform area corresponding to the counter number corresponding to the counter variable h and the element value of the waveform memory status corresponding to the counter variable h WM_ST [h]. . The waveform data for one word stored in the variable d is written to the address obtained by adding READ_SIZE via the tone generator LSI 205 (step S1512).

その後、CPU201は、カウンタ変数hが示す波形番号に対応する波形メモリステータスの転送済みのデータサイズを示す要素値WM_ST[h].READ_SIZEの値を+1インクリメントし、また、RAM203上の変数である(ステップS1501で値「0」に初期化されている)今回読み込みサイズカウンタcの値を+1インクリメントする(ステップS1513)。   Thereafter, the CPU 201 transmits an element value WM_ST [h] .h indicating the transferred data size of the waveform memory status corresponding to the waveform number indicated by the counter variable h. The value of READ_SIZE is incremented by +1, and the value of the current read size counter c, which is a variable on the RAM 203 (initialized to the value “0” in step S1501), is incremented by +1 (step S1513).

そして、CPU201は、カウンタ変数hが示す波形番号に対応する波形メモリステータスの転送済みのデータサイズを示す要素値WM_ST[h].READ_SIZEの値が、カウンタ変数hが示す波形番号に対応する波形メモリステータスの波形サイズ要素値WM_ST[w].WAVE_SIZEに等しくなったか否かを判定する(ステップS1514)。波形サイズ要素値WM_ST[w].WAVE_SIZEには、図6のステップS604の音色切替え処理内の図8のステップS805の読み込み音色番号設定サブルーチン内の図13のステップS1218において、現在の音色に対応するROM202内のフラッシュメモリ音色情報テーブルから、図4に示される「波形サイズ」項目値がセットされている。   The CPU 201 then transmits an element value WM_ST [h] .h indicating the transferred data size of the waveform memory status corresponding to the waveform number indicated by the counter variable h. The value of READ_SIZE is the waveform size element value WM_ST [w] .W of the waveform memory status corresponding to the waveform number indicated by the counter variable h. It is determined whether or not it becomes equal to WAVE_SIZE (step S1514). Waveform size element value WM_ST [w]. In WAVE_SIZE, in step S1218 in FIG. 13 in the read tone number setting subroutine in step S805 in FIG. 8 in the tone color switching process in step S604 in FIG. 6, from the flash memory tone information table in the ROM 202 corresponding to the current tone. The “waveform size” item value shown in FIG. 4 is set.

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

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

ステップS1515の判定がYesになったならば、CPU201は、図15および図16のフローチャートで例示される図6のステップS611の波形読み込み処理を終了する。このように、本実施形態では、一定の容量(例えば100KB)のメモリ転送が完了した時点で処理が中断され、他のメインループの処理を行って再び波形転送プログラムが起動された時に図15のステップS1502→S1503を介して、処理が再開される。このとき、カウンタ変数hが示す波形メモリステータスの、転送済みのデータサイズを示す要素値WM_ST[w].READ_SIZEには、図16のステップS1513の処理によって前回までに転送が完了したサイズが格納されているため、図16のステップS1511およびS1512のアドレス演算処理によって、前回転送が完了したアドレスの次のアドレスから転送を再開することができる。   If the determination in step S1515 is Yes, the CPU 201 ends the waveform reading process in step S611 of FIG. 6 illustrated in the flowcharts of FIGS. As described above, in the present embodiment, when the memory transfer of a certain capacity (for example, 100 KB) is completed, the process is interrupted, and when the waveform transfer program is started again by performing another main loop process, the process shown in FIG. The process is resumed via steps S1502 to S1503. At this time, the element value WM_ST [w]. Indicating the transferred data size of the waveform memory status indicated by the counter variable h. Since READ_SIZE stores the size that has been transferred up to the previous time by the processing of step S1513 in FIG. 16, the address next to the address for which the previous transfer has been completed by the address calculation processing in steps S1511 and S1512 of FIG. The transfer can be resumed from.

転送済みのデータサイズを示す要素値WM_ST[h].READ_SIZEの値が波形サイズ要素値WM_ST[w].WAVE_SIZEに等しくなった場合(ステップS1514の判定がYesになった場合)、CPU201は、カウンタ変数hが示す波形メモリステータス中の波形メモリ206上での波形の有無を示す要素値WM_ST[w].WAVE(図5参照)に、変数hが示す波形番号に対応する波形データが波形メモリ206の波形エリアに存在することを示す値「1」を設定する(ステップS1516)。その後、CPU201は、図15および図16のフローチャートで例示される図6のステップS611の波形読み込み処理を終了する。   Element value WM_ST [h]. Indicating the transferred data size. The value of READ_SIZE is the waveform size element value WM_ST [w]. When it becomes equal to WAVE_SIZE (when the determination in step S1514 is Yes), the CPU 201 uses the element value WM_ST [w] .W indicating the presence / absence of a waveform on the waveform memory 206 in the waveform memory status indicated by the counter variable h. A value “1” indicating that the waveform data corresponding to the waveform number indicated by the variable h exists in the waveform area of the waveform memory 206 is set in WAVE (see FIG. 5) (step S1516). Thereafter, the CPU 201 ends the waveform reading process in step S611 of FIG. 6 exemplified by the flowcharts of FIGS.

上述の一連の処理により優先順位の最も高い波形データの転送が完了すると、次のタイミング以降図6のステップS611の波形読み込み処理が実行されるときに、ステップS1502→S1504〜S1510によって、優先順位が2番目に高い波形データの転送の設定が行われて転送が実行され、さらに続いて優先順位が最も低い波形データの転送の設定が行われて転送が実行される。具体的には、演奏者306がIncボタン106aを操作したときには、演奏者306が選択した優先順位の最も高い音色番号に対応する波形データの転送に続いて、優先順位が2番目に高いその音色番号を+1した音色番号に対応する波形データの転送が実行され、最後に優先順位が最も低いその音色番号を−1した音色番号に対応する波形データの転送が実行される。逆に、演奏者306がDecボタン106bを操作しているときには、演奏者306が選択した優先順位の最も高い音色番号に対応する波形データの転送に続いて、優先順位が2番目に高いその音色番号を−1した音色番号に対応する波形データの転送が実行され、最後に優先順位が最も低いその音色番号を+1した音色番号に対応する波形データの転送が実行される(以上、図11の最後の説明と図12のステップS1208の説明を参照)。   When the transfer of the waveform data with the highest priority is completed by the above-described series of processes, the priority is set by steps S1502 to S1504 to S1510 when the waveform reading process in step S611 in FIG. The second highest waveform data transfer is set and transferred, and the waveform data transfer setting with the lowest priority is set and transferred. Specifically, when the performer 306 operates the Inc button 106a, the tone having the second highest priority is transmitted following the transfer of the waveform data corresponding to the tone number having the highest priority selected by the player 306. Waveform data corresponding to the timbre number corresponding to the timbre number obtained by adding +1 is executed, and finally, waveform data corresponding to the timbre number obtained by subtracting -1 from the timbre number having the lowest priority order is executed. On the contrary, when the performer 306 operates the Dec button 106b, the tone having the second highest priority is transmitted following the transfer of the waveform data corresponding to the tone number having the highest priority selected by the performer 306. The waveform data corresponding to the timbre number with the number -1 is transferred, and finally the waveform data corresponding to the timbre number with the lowest priority assigned to the timbre number is transferred (see FIG. 11). (See the last description and the description of step S1208 in FIG. 12).

以上のようにして、波形メモリ206上の波形エリアへの波形データの転送が完了した後、演奏者が鍵盤105を演奏する操作に対応して、CPU201は、図6のステップS607の音源発音処理で、音源LSI205に対して波形エリアの波形データの読み出しによる楽音発音処理を指示することができる。すなわち、CPU201は、押鍵イベントが発生した場合(図6のステップS606の判定がYesの場合)、演奏者によって現在選択されている音色番号と同じ値が要素値TONE(図5参照)に設定されている波形メモリステータスWM_ST[w]を抽出する。次に、CPU201は、その波形メモリステータスの要素値WM_ST[w].WAVE(図5参照)の値が「1」であるか否か、すなわち、変数wが示す波形番号に対応する波形メモリ206上の波形エリアに波形データの転送が完了しているか否かを判定する。この転送完了の判定がYesならば、CPU201は、変数wが示す波形番号に対応する波形メモリ206上の波形エリアに対する発音処理を、音源LSI205に対して指示する。上記転送完了の判定がNoならば、CPU201は、音源LSI205に対する発音処理の指示はスキップする。   As described above, after the transfer of the waveform data to the waveform area on the waveform memory 206 is completed, the CPU 201 performs the sound source sound generation process in step S607 of FIG. Thus, it is possible to instruct the tone generator LSI 205 to perform tone generation processing by reading waveform data in the waveform area. That is, the CPU 201 sets the same value as the timbre number currently selected by the performer in the element value TONE (see FIG. 5) when a key depression event occurs (when the determination in step S606 in FIG. 6 is Yes). The waveform memory status WM_ST [w] being extracted is extracted. Next, the CPU 201 determines the element value WM_ST [w]. It is determined whether or not the value of WAVE (see FIG. 5) is “1”, that is, whether or not the transfer of waveform data to the waveform area on the waveform memory 206 corresponding to the waveform number indicated by the variable w has been completed. To do. If the transfer completion determination is Yes, the CPU 201 instructs the tone generator LSI 205 to generate sound for the waveform area on the waveform memory 206 corresponding to the waveform number indicated by the variable w. If the determination of transfer completion is No, the CPU 201 skips the sound generation processing instruction to the tone generator LSI 205.

以上説明した実施形態により、複数波形の転送を伴う音色の順次切り替えの際に、波形メモリに所望の波形が存在しないために発音できないという無音時間を大幅に短縮することが可能となる。これにより、演奏者のストレスを軽減、あるいは全く感じさせないレベルに抑制することができる。例えば、1つの音色に必要な波形のうち、10パーセントの容量を持つ1つの波形データが揃っただけで演奏可能となるケースでは、予想が外れない限りは、無音状態が10分の1まで短縮ができることになる。予想が外れても押鍵されたものから読み込みを行うので、全部読み込むよりは遥かに短い無音時間で済むという効果が得られる。   According to the above-described embodiment, it is possible to greatly reduce the silent time in which sound cannot be generated because a desired waveform does not exist in the waveform memory when sequentially switching timbres accompanied by transfer of a plurality of waveforms. Thereby, a player's stress can be reduced or it can be suppressed to the level which does not feel at all. For example, in a case where it is possible to perform with only one waveform data having a capacity of 10% of the waveforms required for one tone, the silent state is reduced to 1/10 unless expected. Will be able to. Even if it is unexpected, reading is performed from the key pressed, so that it is possible to obtain a much shorter silence time than reading everything.

以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
一次記憶装置と、
複数種の波形データを記憶する二次記憶装置と、
外部より波形選択信号が供給される毎に、第1のモード及び第2のモードのいずれかを判別する判別処理と、前記第1のモードであると判別された場合に、前記波形選択信号により選択される波形データを前記二次記憶装置から読み出し、前記二次記憶装置から読み出された波形データを前記一次記憶装置に記憶させる通常読み込み処理と、前記第2のモードであると判別された場合に、前記波形選択信号により選択される波形データと、当該波形データと関連する他の波形データとを前記二次記憶装置から読み出し、前記二次記憶装置から読み出された波形データを前記一次記憶装置に記憶させる音色設定読み込み処理と、を実行する処理部と、
を備えた波形読み込み装置。
(付記2)
前記一次記憶装置は、ランダムアクセスメモリを備え、前記二次記憶装置は、前記一次記憶装置より容量の大きいフラッシュメモリを備えた付記1記載の波形読み込み装置。
(付記3)
前記波形読み込み装置はさらに、波形選択信号を供給する波形選択操作子を有し、
前記処理部はさらに、前記二次記憶装置に記憶されている複数の波形データの中から、前記波形選択操作子により供給される波形選択信号に対応する波形データを選択する波形選択処理を実行する、付記1または2に記載の波形読み込み装置。
(付記4)
前記複数種の波形データ夫々は、前記二次記憶装置内の連続したエリアに順次記憶され、
前記処理部において、前記音色設定読み込み処理は、前記波形選択処理により選択された波形データ、及び当該波形データが記憶されているエリアに隣接するエリアに記憶されている波形データを読み出す、付記3に記載の波形読み込み装置。
(付記5)
前記波形選択操作子は操作される毎に、前記二次記憶装置内の連続したエリアに記憶されている順に波形データを選択させる波形選択信号を供給する、付記4に記載の波形読み込み装置。
(付記6)
前記処理部はさらに、前記波形選択情報が供給される毎に、当該波形選択情報が供給されるタイミングを波形選択履歴バッファに順次記憶する波形選択履歴記憶処理を実行し、
前記判別処理は、前記波形選択情報が供給される毎に、当該波形選択情報が供給されるタイミングと前記波形選択履歴バッファに記憶されているタイミングとの差が予め定められた値を超えている場合は第1のモードと判別し、前記予め定められた値を超えていない場合は第2のモードと判別する、付記1に記載の波形読み込み装置。
(付記7)
一次記憶装置と、複数種の波形データが記憶された二次記憶装置と、を備えた波形読み込み装置に用いられる波形読み込み方法であって、前記波形読み込み装置が、
外部より波形選択信号が供給される毎に、第1のモード及び第2のモードのいずれかを判別し、
前記第1のモードであると判別された場合に、前記波形選択信号により選択される波形データを前記二次記憶装置から読み出し、前記二次記憶装置から読み出された波形データを前記一次記憶装置に記憶させ、
前記第2のモードであると判別された場合に、前記波形選択信号により選択される波形データと、当該波形データと関連する他の波形データとを前記二次記憶装置から読み出し、前記二次記憶装置から読み出された波形データを前記一次記憶装置に記憶させる、波形読み込み方法。
(付記8)
一次記憶装置と、複数種の波形データが記憶された二次記憶装置と、を備えた波形読み込み装置として用いられるコンピュータに、
外部より波形選択信号が供給される毎に、第1のモード及び第2のモードのいずれかを判別するステップ、
前記第1のモードであると判別された場合に、前記波形選択信号より選択される波形データを前記二次記憶装置から読み出し、前記二次記憶装置から読み出された波形データを前記一次記憶装置に記憶させるステップと、
前記第2のモードであると判別された場合に、前記波形選択信号により選択される波形データと、当該波形データと関連する他の波形データとを前記二次記憶装置から読み出し、前記二次記憶装置から読み出された波形データを前記一次記憶装置に記憶させるステップと、
を実行させるプログラム。
(付記9)
付記1に記載の波形読み込み装置と、
発音すべき楽音の音高を指定する演奏操作子と、
前記波形選択信号により選択される波形データを、前記演奏操作子により指定された音高に基づいて前記一次記憶装置から読み出すことにより、楽音を生成する音源と、
を備えた電子楽器。
(付記10)
一次記憶装置と、
複数種の波形データが記憶された二次記憶装置と、
外部より波形選択信号が供給される毎に、第1のモード及び第2のモードのいずれかを判別する判別部と、
前記第1のモードであると判別された場合に、前記波形選択信号により選択される波形データを前記二次記憶装置から読み出し、前記二次記憶装置から読み出された波形データを前記一次記憶装置に記憶させる通常読み込み部と、
前記第2のモードであると判別された場合に、前記波形選択信号により選択される波形データと、当該波形データと関連する他の波形データとを前記二次記憶装置から読み出し、前記二次記憶装置から読み出された波形データを前記一次記憶装置に記憶させる音色設定読み込み部と、
を備えた波形読み込み装置。
Regarding the above embodiment, the following additional notes are disclosed.
(Appendix 1)
A primary storage device;
A secondary storage device for storing plural types of waveform data;
Each time a waveform selection signal is supplied from the outside, a determination process for determining either the first mode or the second mode, and when it is determined that the mode is the first mode, the waveform selection signal It is determined that the selected waveform data is read from the secondary storage device and the waveform data read from the secondary storage device is stored in the primary storage device, and the second mode is selected. In this case, waveform data selected by the waveform selection signal and other waveform data related to the waveform data are read from the secondary storage device, and the waveform data read from the secondary storage device is read from the primary storage device. A processing unit for executing timbre setting reading processing to be stored in the storage device;
Waveform reading device with
(Appendix 2)
The waveform reading device according to claim 1, wherein the primary storage device includes a random access memory, and the secondary storage device includes a flash memory having a larger capacity than the primary storage device.
(Appendix 3)
The waveform reading device further includes a waveform selection operator for supplying a waveform selection signal,
The processing unit further executes a waveform selection process for selecting waveform data corresponding to a waveform selection signal supplied by the waveform selection operator from a plurality of waveform data stored in the secondary storage device. The waveform reading device according to appendix 1 or 2.
(Appendix 4)
Each of the plurality of types of waveform data is sequentially stored in a continuous area in the secondary storage device,
In the processing section, the timbre setting reading process reads waveform data selected by the waveform selection process and waveform data stored in an area adjacent to the area where the waveform data is stored. The waveform reading device described.
(Appendix 5)
The waveform reading device according to appendix 4, wherein each time the waveform selection operator is operated, a waveform selection signal for selecting waveform data in the order stored in a continuous area in the secondary storage device is supplied.
(Appendix 6)
The processing unit further executes a waveform selection history storage process for sequentially storing the timing at which the waveform selection information is supplied in the waveform selection history buffer every time the waveform selection information is supplied,
In the determination process, every time the waveform selection information is supplied, the difference between the timing at which the waveform selection information is supplied and the timing stored in the waveform selection history buffer exceeds a predetermined value. The waveform reading apparatus according to appendix 1, wherein the first mode is discriminated as a case, and the second mode is discriminated when the predetermined value is not exceeded.
(Appendix 7)
A waveform reading method used in a waveform reading device comprising a primary storage device and a secondary storage device in which a plurality of types of waveform data are stored, the waveform reading device comprising:
Each time a waveform selection signal is supplied from the outside, it is determined whether the first mode or the second mode,
When it is determined that the first mode is selected, the waveform data selected by the waveform selection signal is read from the secondary storage device, and the waveform data read from the secondary storage device is read from the primary storage device Remember
When it is determined that the second mode is selected, the waveform data selected by the waveform selection signal and other waveform data related to the waveform data are read from the secondary storage device, and the secondary storage is performed. A waveform reading method for storing waveform data read from a device in the primary storage device.
(Appendix 8)
In a computer used as a waveform reading device comprising a primary storage device and a secondary storage device in which a plurality of types of waveform data are stored,
A step of discriminating between the first mode and the second mode every time a waveform selection signal is supplied from the outside;
When it is determined that the mode is the first mode, the waveform data selected by the waveform selection signal is read from the secondary storage device, and the waveform data read from the secondary storage device is read from the primary storage device Memorizing steps,
When it is determined that the second mode is selected, the waveform data selected by the waveform selection signal and other waveform data related to the waveform data are read from the secondary storage device, and the secondary storage is performed. Storing waveform data read from the device in the primary storage device;
A program that executes
(Appendix 9)
The waveform reading device according to appendix 1,
A performance controller that specifies the pitch of the musical sound to be pronounced;
A sound source for generating a musical sound by reading out waveform data selected by the waveform selection signal from the primary storage device based on a pitch specified by the performance operator;
Electronic musical instrument with
(Appendix 10)
A primary storage device;
A secondary storage device storing a plurality of types of waveform data;
A discriminator for discriminating between the first mode and the second mode every time a waveform selection signal is supplied from the outside;
When it is determined that the first mode is selected, the waveform data selected by the waveform selection signal is read from the secondary storage device, and the waveform data read from the secondary storage device is read from the primary storage device A normal reading unit to be stored in
When it is determined that the second mode is selected, the waveform data selected by the waveform selection signal and other waveform data related to the waveform data are read from the secondary storage device, and the secondary storage is performed. A tone color setting reading unit for storing waveform data read from the device in the primary storage device;
Waveform reading device 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 アンプ
212 16bitフリーランニング・タイマカウンタ
213 MIDI I/F
214 システムバス
100 Electronic Keyboard Instrument 101 Keyboard 102 Tone Selection Button 103 Registration 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 212 16-bit free-running timer counter 213 MIDI I / F
214 System bus

Claims (10)

一次記憶装置と、
複数種の波形データを記憶する二次記憶装置と、
外部より波形選択信号が供給される毎に、第1のモード及び第2のモードのいずれかを判別する判別処理と、前記第1のモードであると判別された場合に、前記波形選択信号により選択される波形データを前記二次記憶装置から読み出し、前記二次記憶装置から読み出された波形データを前記一次記憶装置に記憶させる通常読み込み処理と、前記第2のモードであると判別された場合に、前記波形選択信号により選択される波形データと、当該波形データと関連する他の波形データとを前記二次記憶装置から読み出し、前記二次記憶装置から読み出された波形データを前記一次記憶装置に記憶させる音色設定読み込み処理と、を実行する処理部と、
を備えた波形読み込み装置。
A primary storage device;
A secondary storage device for storing plural types of waveform data;
Each time a waveform selection signal is supplied from the outside, a determination process for determining either the first mode or the second mode, and when it is determined that the mode is the first mode, the waveform selection signal It is determined that the selected waveform data is read from the secondary storage device and the waveform data read from the secondary storage device is stored in the primary storage device, and the second mode is selected. In this case, waveform data selected by the waveform selection signal and other waveform data related to the waveform data are read from the secondary storage device, and the waveform data read from the secondary storage device is read from the primary storage device. A processing unit for executing timbre setting reading processing to be stored in the storage device;
Waveform reading device with
前記一次記憶装置は、ランダムアクセスメモリを備え、前記二次記憶装置は、前記一次記憶装置より容量の大きいフラッシュメモリを備えた請求項1記載の波形読み込み装置。   The waveform reading device according to claim 1, wherein the primary storage device includes a random access memory, and the secondary storage device includes a flash memory having a larger capacity than the primary storage device. 前記波形読み込み装置はさらに、波形選択信号を供給する波形選択操作子を有し、
前記処理部はさらに、前記二次記憶装置に記憶されている複数の波形データの中から、前記波形選択操作子により供給される波形選択信号に対応する波形データを選択する波形選択処理を実行する、請求項1または2に記載の波形読み込み装置。
The waveform reading device further includes a waveform selection operator for supplying a waveform selection signal,
The processing unit further executes a waveform selection process for selecting waveform data corresponding to a waveform selection signal supplied by the waveform selection operator from a plurality of waveform data stored in the secondary storage device. The waveform reading device according to claim 1 or 2.
前記複数種の波形データ夫々は、前記二次記憶装置内の連続したエリアに順次記憶され、
前記処理部において、前記音色設定読み込み処理は、前記波形選択処理により選択された波形データ、及び当該波形データが記憶されているエリアに隣接するエリアに記憶されている波形データを読み出す、請求項3に記載の波形読み込み装置。
Each of the plurality of types of waveform data is sequentially stored in a continuous area in the secondary storage device,
4. The timbre setting reading process in the processing unit reads waveform data selected by the waveform selection process and waveform data stored in an area adjacent to the area where the waveform data is stored. The waveform reading device described in 1.
前記波形選択操作子は操作される毎に、前記二次記憶装置内の連続したエリアに記憶されている順に波形データを選択させる波形選択信号を供給する、請求項4に記載の波形読み込み装置。   5. The waveform reading device according to claim 4, wherein each time the waveform selection operator is operated, a waveform selection signal for selecting waveform data in the order stored in a continuous area in the secondary storage device is supplied. 前記処理部はさらに、前記波形選択情報が供給される毎に、当該波形選択情報が供給されるタイミングを波形選択履歴バッファに順次記憶する波形選択履歴記憶処理を実行し、
前記判別処理は、前記波形選択情報が供給される毎に、当該波形選択情報が供給されるタイミングと前記波形選択履歴バッファに記憶されているタイミングとの差が予め定められた値を超えている場合は第1のモードと判別し、前記予め定められた値を超えていない場合は第2のモードと判別する、請求項1に記載の波形読み込み装置。
The processing unit further executes a waveform selection history storage process for sequentially storing the timing at which the waveform selection information is supplied in the waveform selection history buffer every time the waveform selection information is supplied,
In the determination process, every time the waveform selection information is supplied, the difference between the timing at which the waveform selection information is supplied and the timing stored in the waveform selection history buffer exceeds a predetermined value. The waveform reading device according to claim 1, wherein the waveform reading device is determined to be the first mode when it is not, and is determined to be the second mode when the predetermined value is not exceeded.
一次記憶装置と、複数種の波形データが記憶された二次記憶装置と、を備えた波形読み込み装置に用いられる波形読み込み方法であって、前記波形読み込み装置が、
外部より波形選択信号が供給される毎に、第1のモード及び第2のモードのいずれかを判別し、
前記第1のモードであると判別された場合に、前記波形選択信号により選択される波形データを前記二次記憶装置から読み出し、前記二次記憶装置から読み出された波形データを前記一次記憶装置に記憶させ、
前記第2のモードであると判別された場合に、前記波形選択信号により選択される波形データと、当該波形データと関連する他の波形データとを前記二次記憶装置から読み出し、前記二次記憶装置から読み出された波形データを前記一次記憶装置に記憶させる、波形読み込み方法。
A waveform reading method used in a waveform reading device comprising a primary storage device and a secondary storage device in which a plurality of types of waveform data are stored, the waveform reading device comprising:
Each time a waveform selection signal is supplied from the outside, it is determined whether the first mode or the second mode,
When it is determined that the first mode is selected, the waveform data selected by the waveform selection signal is read from the secondary storage device, and the waveform data read from the secondary storage device is read from the primary storage device Remember
When it is determined that the second mode is selected, the waveform data selected by the waveform selection signal and other waveform data related to the waveform data are read from the secondary storage device, and the secondary storage is performed. A waveform reading method for storing waveform data read from a device in the primary storage device.
一次記憶装置と、複数種の波形データが記憶された二次記憶装置と、を備えた波形読み込み装置として用いられるコンピュータに、
外部より波形選択信号が供給される毎に、第1のモード及び第2のモードのいずれかを判別するステップ、
前記第1のモードであると判別された場合に、前記波形選択信号より選択される波形データを前記二次記憶装置から読み出し、前記二次記憶装置から読み出された波形データを前記一次記憶装置に記憶させるステップと、
前記第2のモードであると判別された場合に、前記波形選択信号により選択される波形データと、当該波形データと関連する他の波形データとを前記二次記憶装置から読み出し、前記二次記憶装置から読み出された波形データを前記一次記憶装置に記憶させるステップと、
を実行させるプログラム。
In a computer used as a waveform reading device comprising a primary storage device and a secondary storage device in which a plurality of types of waveform data are stored,
A step of discriminating between the first mode and the second mode every time a waveform selection signal is supplied from the outside;
When it is determined that the mode is the first mode, the waveform data selected by the waveform selection signal is read from the secondary storage device, and the waveform data read from the secondary storage device is read from the primary storage device Memorizing steps,
When it is determined that the second mode is selected, the waveform data selected by the waveform selection signal and other waveform data related to the waveform data are read from the secondary storage device, and the secondary storage is performed. Storing waveform data read from the device in the primary storage device;
A program that executes
請求項1に記載の波形読み込み装置と、
発音すべき楽音の音高を指定する演奏操作子と、
前記波形選択信号により選択される波形データを、前記演奏操作子により指定された音高に基づいて前記一次記憶装置から読み出すことにより、楽音を生成する音源と、
を備えた電子楽器。
A waveform reading device according to claim 1;
A performance controller that specifies the pitch of the musical sound to be pronounced;
A sound source for generating a musical sound by reading out waveform data selected by the waveform selection signal from the primary storage device based on a pitch specified by the performance operator;
Electronic musical instrument with
一次記憶装置と、
複数種の波形データが記憶された二次記憶装置と、
外部より波形選択信号が供給される毎に、第1のモード及び第2のモードのいずれかを判別する判別部と、
前記第1のモードであると判別された場合に、前記波形選択信号により選択される波形データを前記二次記憶装置から読み出し、前記二次記憶装置から読み出された波形データを前記一次記憶装置に記憶させる通常読み込み部と、
前記第2のモードであると判別された場合に、前記波形選択信号により選択される波形データと、当該波形データと関連する他の波形データとを前記二次記憶装置から読み出し、前記二次記憶装置から読み出された波形データを前記一次記憶装置に記憶させる音色設定読み込み部と、
を備えた波形読み込み装置。
A primary storage device;
A secondary storage device storing a plurality of types of waveform data;
A discriminator for discriminating between the first mode and the second mode every time a waveform selection signal is supplied from the outside;
When it is determined that the first mode is selected, the waveform data selected by the waveform selection signal is read from the secondary storage device, and the waveform data read from the secondary storage device is read from the primary storage device A normal reading unit to be stored in
When it is determined that the second mode is selected, the waveform data selected by the waveform selection signal and other waveform data related to the waveform data are read from the secondary storage device, and the secondary storage is performed. A tone color setting reading unit for storing waveform data read from the device in the primary storage device;
Waveform reading device with
JP2015018507A 2015-02-02 2015-02-02 Waveform reading apparatus, method, program, and electronic musical instrument Active JP6540057B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015018507A JP6540057B2 (en) 2015-02-02 2015-02-02 Waveform reading apparatus, method, program, and electronic musical instrument

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015018507A JP6540057B2 (en) 2015-02-02 2015-02-02 Waveform reading apparatus, method, program, and electronic musical instrument

Publications (3)

Publication Number Publication Date
JP2016142912A true JP2016142912A (en) 2016-08-08
JP2016142912A5 JP2016142912A5 (en) 2018-03-22
JP6540057B2 JP6540057B2 (en) 2019-07-10

Family

ID=56568698

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015018507A Active JP6540057B2 (en) 2015-02-02 2015-02-02 Waveform reading apparatus, method, program, and electronic musical instrument

Country Status (1)

Country Link
JP (1) JP6540057B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000284783A (en) * 1999-03-29 2000-10-13 Kawai Musical Instr Mfg Co Ltd Musical signal generator
JP2003208181A (en) * 2002-01-11 2003-07-25 Roland Corp Waveform reproducing device
JP2007271827A (en) * 2006-03-30 2007-10-18 Casio Comput Co Ltd Musical sound generating device and program
JP2009145696A (en) * 2007-12-14 2009-07-02 Casio Comput Co Ltd Musical sound generator and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000284783A (en) * 1999-03-29 2000-10-13 Kawai Musical Instr Mfg Co Ltd Musical signal generator
JP2003208181A (en) * 2002-01-11 2003-07-25 Roland Corp Waveform reproducing device
JP2007271827A (en) * 2006-03-30 2007-10-18 Casio Comput Co Ltd Musical sound generating device and program
JP2009145696A (en) * 2007-12-14 2009-07-02 Casio Comput Co Ltd Musical sound generator and program

Also Published As

Publication number Publication date
JP6540057B2 (en) 2019-07-10

Similar Documents

Publication Publication Date Title
JP6260191B2 (en) Electronic musical instrument, program and pronunciation pitch selection method
EP3435371B1 (en) Musical sound generation device, musical sound generation method and storage medium
JP6455189B2 (en) Waveform reading apparatus, method, program, and electronic musical instrument
JP6657693B2 (en) Waveform writing device, method, program, and electronic musical instrument
JP6540057B2 (en) Waveform reading apparatus, method, program, and electronic musical instrument
JP4613890B2 (en) Electronic music equipment
JP6720728B2 (en) Tone setting device, electronic musical instrument system, and tone setting method
JP2017054075A (en) Waveform writing device, method, program, and electronic musical instrument
JP6724316B2 (en) Waveform writing device, method, program, and electronic musical instrument
JP2759163B2 (en) Electronic musical instrument with built-in pedal effect adding device
JP3230265B2 (en) Sound channel assignment device for electronic musical instruments
JP2005215709A (en) Musical sound generating device
JP6606839B2 (en) Waveform writing apparatus, method, program, and electronic musical instrument
JP5141012B2 (en) Arpeggio generator and program
JP6904140B2 (en) Music generators, methods, programs, and electronic musical instruments
EP4213142A1 (en) Electronic musical instrument, method, and program
JP2947525B2 (en) Envelope generator
JP6847429B2 (en) Music editing system, music editing service provision method, and music editing program
JP6399155B2 (en) Electronic musical instrument, program and pronunciation pitch selection method
JP3050779B2 (en) Signal processing device
JP5168962B2 (en) Music application device, electronic musical instrument, and program
JP6693372B2 (en) Electronic musical instrument, electronic musical instrument control method, and program
JP2640560B2 (en) Envelope signal generator
JP3705203B2 (en) Music generation method
JP3488037B2 (en) Automatic performance device

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180202

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190118

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20190415

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190527

R150 Certificate of patent or registration of utility model

Ref document number: 6540057

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150