JP2017054076A - Waveform writing device, method, program, and electronic musical instrument - Google Patents
Waveform writing device, method, program, and electronic musical instrument Download PDFInfo
- Publication number
- JP2017054076A JP2017054076A JP2015179675A JP2015179675A JP2017054076A JP 2017054076 A JP2017054076 A JP 2017054076A JP 2015179675 A JP2015179675 A JP 2015179675A JP 2015179675 A JP2015179675 A JP 2015179675A JP 2017054076 A JP2017054076 A JP 2017054076A
- Authority
- JP
- Japan
- Prior art keywords
- waveform
- timbre
- area
- waveform data
- selection information
- 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
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
Description
本発明は、波形書き込み装置、方法、プログラム、及びその装置を用いた電子楽器に関する。 The present invention relates to a waveform writing device, a method, a program, and an electronic musical instrument using the device.
波形読込み方式により楽音波形を発生する音源装置では、より多数の、より長時間の波形データを利用できるようにするために、使用しない波形データはフラッシュメモリやハードディスク等の大容量の補助記憶装置(2次記憶装置)に保存しておき、使用する波形データのみを音源装置が直接アクセスできる波形メモリ(1次記憶装置)に転送して発音させるというシステムを採用するものがある。
つまり、高価な波形メモリ(1次記憶装置)が有する記憶容量以上の記憶容量の波形データを安価な補助記憶装置(2次記憶装置)に保持しておき、必要な場合のみ移動して発音に使用するというコスト的には効率的な方法であると言える。
In a sound source device that generates a musical sound waveform by the 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.
しかしながら、上述した従来技術では依然として、補助記憶装置から波形メモリ等への波形データの移動に時間がかかるため、演奏に支障を来す場合がある。具体的には、演奏者が多数の音色の中から好みの音色を選ぶような際には、音色の切り替えの度に一定時間待たされて発音されない時間が存在するため、演奏者はストレスを感じるといった課題があった。また、予め演奏する楽曲で使用する複数の音色波形をメモリ上に読み込んでおく方法も考えられるが、どの音色をメモリ上に配置しておくかを演奏者が管理しなければならない。また、音色を比較して選択するようなケースでは音色を切り替える度にメモリ読み込みが発生するか、予め比較したい音色をメモリ上に並べておくなど面倒な作業が必要である。いずれのケースでもユーザーに負担をかけることになる。 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. Although a method of reading a plurality of timbre waveforms used in a musical piece to be played in advance into the memory is also conceivable, the performer must manage which timbre is placed in the memory. Also, in cases where timbres are compared and selected, a troublesome work is required such as reading the memory every time the timbre is switched or arranging timbres to be compared in advance on the memory. In either case, the user is burdened.
そこで、本発明は、音色切り替えの際に、波形メモリに所望の音色の波形が存在しないために発音できないという演奏者のストレスを軽減、あるいは全く感じさせないレベルに抑制することを目的とする。 SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to reduce a player's stress that sound cannot be generated because a waveform of a desired tone color does not exist in the waveform memory at the time of tone color switching, or to suppress it to a level that does not make it feel at all.
態様の一例では、楽音の音色夫々に対応した音色波形データのいずれかを指定するための音色選択情報が入力される毎に、入力された音色選択情報の入力順序に対応する優先値を入力された音色選択情報に付与する優先度付与処理と、入力された音色選択情報に対応する音色波形データが、第1の記憶装置内に設けられ音色波形データ夫々が記憶可能な複数の波形エリアのいずれにも記憶されていない場合に、複数の波形エリア夫々に記憶されている音色波形データに対応する音色選択情報に付与された優先値に基づき、複数の波形エリアからひとつの波形エリアを選択する選択処理と、入力された音色選択情報に対応する音色波形データを第2の記憶装置から読み出すとともに、読み出された音色波形データを、選択された波形エリアに書き込む波形書き込み処理と、を実行する処理部を備える。 In one example, every time timbre selection information for designating one of timbre waveform data corresponding to each tone color of a musical tone is input, a priority value corresponding to the input order of the input timbre selection information is input. The priority assigning process to be given to the selected timbre selection information, and the timbre waveform data corresponding to the inputted timbre selection information are provided in the first storage device, and any one of a plurality of waveform areas in which the timbre waveform data can be stored. Selection to select one waveform area from the plurality of waveform areas based on the priority value assigned to the timbre selection information corresponding to the timbre waveform data stored in each of the plurality of waveform areas. The timbre waveform data corresponding to the processing and the input timbre selection information is read from the second storage device, and the read timbre waveform data is written to the selected waveform area. Comprising a processing unit that executes a waveform write processing writing, the.
本発明によれば、音色切り替えの際に、現実的な再読み込みの可能性を予測して使用可能性の低いと思われる波形から書き換えを行うようにしたので、波形読み込みの発生する可能性を低く抑えることができ、波形無音時間の期待値を短縮することが可能となる。これにより演奏者のストレスを軽減、あるいは全く感じさせないレベルに抑制することが出来る。 According to the present invention, at the time of timbre switching, a realistic rereading possibility is predicted and rewriting is performed from a waveform that seems to be less usable. Therefore, the expected value of the waveform silent time can be shortened. As a result, the stress of the performer can be reduced or suppressed to a level that does not feel the player at all.
以下、本発明を実施するための形態(以下「本実施形態」と記載する)について図面を参照しながら詳細に説明する。本実施形態は、例えば電子鍵盤楽器に適用される、音高(鍵域)や音量(ベロシティ:打鍵の速さ)などの演奏情報によって音色が変化するのを再現するために、大容量の2次記憶装置(例えばフラッシュメモリ)から1次記憶装置(例えばRAMによる波形メモリ)に、音高又は音量毎の波形データ(以下これを「スプリット波形」と呼ぶ)を読み込む楽音発生装置を対象とする。本実施形態は、このような楽音発生装置において、演奏者は1つの楽曲の中で同じ音色を繰り返し選択すること、選択された時刻が新しい音色ほど再度選択する可能性が高いことに着目し、音色選択の履歴情報を保持して、より新しく選択されてた音色の波形ほど優先順位を高く設定し、複数音色分の波形データを読み込むことができる一次記憶装置の波形メモリに新たな波形を読み込む際には、優先順位の低い音色が使用している波形メモリエリアから先にオーバーライトすることにより、音色の切替えに伴って所望の音色の波形が存在しない為に演奏できないという状態を最小限に留めることができる電子鍵盤楽器を実現するものである。すなわち、演奏者が今後どの波形が再利用する可能性が高く、どの波形が再利用する可能性が低いかを考慮して波形エリアの管理する必要から開放し、波形読込みの発生を最小限に食い止めることができる電子楽器を実現するものである。 DESCRIPTION OF EMBODIMENTS Hereinafter, a mode for carrying out the present invention (hereinafter referred to as “the present embodiment”) will be described in detail with reference to the drawings. This embodiment is applied to an electronic keyboard instrument, for example, in order to reproduce the change in timbre according to performance information such as pitch (key range) and volume (velocity: speed of keystroke). A musical tone generator that reads waveform data for each pitch or volume (hereinafter referred to as “split waveform”) from a secondary storage device (for example, flash memory) to a primary storage device (for example, waveform memory using RAM) is targeted. . The present embodiment focuses on the fact that in such a musical tone generator, the performer repeatedly selects the same timbre in one piece of music, and the timbre selected at the selected time is more likely to be selected again. Holds timbre selection history information, sets newer timbre waveforms to higher priorities, and loads new waveforms into the waveform memory of the primary storage device that can read waveform data for multiple timbres In this case, by overwriting the waveform memory area used by the timbre with the lower priority, the state where the performance cannot be performed because the waveform of the desired timbre does not exist with the timbre switching is minimized. An electronic keyboard instrument that can be fastened is realized. In other words, the performer is free from the need to manage the waveform area considering which waveforms are likely to be reused in the future and which waveforms are unlikely to be reused, and waveform reading is minimized. An electronic musical instrument that can be stopped is realized.
図1は、本発明による電子鍵盤楽器の実施形態の外観図である。本実施形態は、電子鍵盤楽器100として実施される。電子鍵盤楽器100は、演奏操作子としての複数の鍵からなる鍵盤101と、音色選択操作子としての音色選択を行うための音色選択ボタン102及び音色以外の各種機能選択を行う機能選択ボタン103からなるスイッチ・パネルと、ピッチベンドやトレモロ、ビブラート等の各種モジュレーション(演奏効果)を付加するベンダ/モジュレーション・ホイール104、音色や音色以外の各種設定情報を表示するLCD(Liquid Crystal Display:液晶ディスプレイ)105等を備える。また、電子鍵盤楽器100は、特には図示しないが、演奏により生成された楽音を放音するスピーカを裏面部、側面部、又は背面部等に備える。 FIG. 1 is an external view of an embodiment of an electronic keyboard instrument according to the present invention. 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 timbre selection button 102 for selecting a timbre as a timbre selection operator, and a function selection button 103 for selecting various functions other than the timbre. Switch panel, a vendor / modulation wheel 104 for adding various modulations (performance effects) such as pitch bend, tremolo, vibrato, etc., and an LCD (Liquid Crystal Display) 105 for displaying various setting information other than timbre and timbre Etc. 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)等の各種音色のカテゴリを選択するためのボタン群である。演奏者は、この音色選択ボタン102を押下することにより、例えば16音色のうちの何れかを選択することができる。 As shown in FIG. 1, the timbre selection button 102 includes a piano (“Piano” in the figure), an electric piano (“E. piano” in the figure), an organ (“Organ” in the figure), a guitar (“Guitar” in the figure). ), Etc. The player can select any one of 16 timbres by pressing the timbre selection button 102, for example.
図2は、図1の電子鍵盤楽器100の実施形態のハードウェア構成例を示す図である。図2において、電子鍵盤楽器100は、CPU(中央演算処理装置)201、ROM(リードオンリーメモリ)202、RAM(ランダムアクセスメモリ)203、大容量フラッシュ(Flash)メモリ204、波形メモリ206が接続される音源LSI(大規模集積回路)205、図1の鍵盤105と図1の音色選択ボタン102及び機能選択ボタン103からなるスイッチ・パネルとが接続されるキー・スキャナ207、図1のベンダ/モジュレーション・ホイール104が接続されるA/Dコンバータ208、図1のLCD105が接続されるLCDコントローラ209、及びMIDI(Musical Instrument Digital Interface)入力を受け付けるMIDI I/F(インタフェース)213が、それぞれシステムバス214に接続される構成を備える。また、音源LSI205から出力されるデジタル楽音波形データは、D/Aコンバータ208によりアナログ楽音波形信号に変換され、アンプ211で増幅された後に、特には図示しないスピーカ又は出力端子から出力される。 FIG. 2 is a diagram illustrating a hardware configuration example of the embodiment of the electronic keyboard instrument 100 of FIG. 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, a key scanner 207 to which the keyboard 105 in FIG. 1 is connected to a switch panel comprising the tone color selection button 102 and the function selection button 103 in FIG. 1, and the vendor / modulation in FIG. An A / D converter 208 to which the wheel 104 is connected, an LCD controller 209 to which the LCD 105 in FIG. 1 is connected, and a MIDI I / F (interface) 213 for receiving a MIDI (Musical Instrument Digital Interface) input Each with a structure to be 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.
LCDコントローラ209は、LCD105を制御するIC(集積回路)である。キー・スキャナ207は、鍵盤105や音色選択ボタン102又は機能選択ボタン103等のスイッチ・パネルの状態を走査して、CPU201に通知するICである。A/Dコンバータ208は、ベンダ/モジュレーション・ホイール104の操作位置を検出するICである。16bitフリーランニング・タイマカウンタ212は、イベントの時刻検出のための計時を行う。 The LCD controller 209 is an IC (integrated circuit) that controls the LCD 105. The key scanner 207 is an IC that scans the state of the switch panel such as the keyboard 105, the timbre selection button 102, or the function 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は、波形データ読込み動作の説明図である。本実施形態では、音源LSI205が波形データの発音読出しに使用するための波形エリアとしては、音源LSI205内の波形メモリ206上に、波形エリア0〜4の4エリアが確保されている。 FIG. 3 is an explanatory diagram of the waveform data reading operation. In the present embodiment, four areas of waveform areas 0 to 4 are secured on the waveform memory 206 in the tone generator LSI 205 as waveform areas used by the tone generator LSI 205 to read out the waveform data.
大容量フラッシュメモリ204上には全16音色分の波形データが記録されており、その中から選択された音色の波形データを音源LSI205の波形メモリ206の1つの波形エリアに読み込むことで、発音が可能となる。この音色情報は、ROM202に記憶されるフラッシュメモリ音色情報テーブルによって管理される。図4(a)は、フラッシュメモリ音色情報テーブルのデータ構成例を示す図である。このフラッシュメモリ音色情報テーブルは、図2のROM202に記憶されている。図4(a)に例示されるように、フラッシュメモリ音色情報テーブルの各音色毎のエントリには、音色番号を示す「番号」項目値と、「音色名」項目値と、大容量フラッシュメモリ204の波形記憶領域の先頭からの記憶アドレスのオフセット(16進数)を示す「波形アドレスオフセット」項目値と、その音色に含まれる波形データ群の全体の波形サイズ(16進数)を示す「波形サイズ」項目値が記憶されている。図4(a)に示されるように、大容量フラッシュメモリ204上での各音色の波形データのサイズは様々であるが、全て100000H(「H」は16進数を示す)バイト以下になっている。1音色で用いる波形データは1つのみとする。波形メモリ206上の各波形エリアのサイズも、この最大サイズと等しい。従って、任意の音色の波形データを任意の波形エリアに読み込むことが可能である。 Waveform data for all 16 timbres is recorded on the large-capacity flash memory 204, and the tone data selected from the timbre is read into one waveform area of the waveform memory 206 of the tone generator LSI 205 to generate sound. It becomes possible. This timbre information is managed by a flash memory timbre information table stored in the ROM 202. FIG. 4A is a diagram showing a data configuration example of the flash memory tone color information table. This flash memory tone color information table is stored in the ROM 202 of FIG. As illustrated in FIG. 4A, an entry for each tone color in the flash memory tone color information table includes a “number” item value indicating a tone number, a “tone name” item value, and a large-capacity flash memory 204. "Waveform address offset" item value indicating the offset (hexadecimal number) of the storage address from the beginning of the waveform storage area, and "Waveform size" indicating the overall waveform size (hexadecimal number) of the waveform data group included in the tone color The item value is stored. As shown in FIG. 4A, the size of the waveform data of each tone color on the large-capacity flash memory 204 varies, but all are less than 100000H (“H” indicates a hexadecimal number) bytes or less. . Only one waveform data is used for one tone color. The size of each waveform area on the waveform memory 206 is also equal to this maximum size. Therefore, waveform data of an arbitrary tone color can be read into an arbitrary waveform area.
図3に示したように、波形メモリ206上の波形エリアは4組が用意されている。ユーザの音色選択操作によって選択された音色が、すでに波形メモリ206上の4つの波形エリアの何れかに存在すれば、その音色波形のアドレス情報を更新するだけなので瞬時に音色切り替えが完了する。もし、選択された音色がどの波形エリアにも存在しなければ、大容量フラッシュメモリ204から波形メモリ206上の何れかの波形エリアに波形データを読み込む処理を行うことになるが、この時点で使用される可能性が最も低いと思われる音色を履歴から判断して、そのエリアに読み込むことになる。これを具体的に説明すると以下のようになる。 As shown in FIG. 3, four sets of waveform areas on the waveform memory 206 are prepared. If the timbre selected by the user's timbre selection operation already exists in any of the four waveform areas on the waveform memory 206, the timbre switching is completed instantaneously because only the address information of the timbre waveform is updated. If the selected timbre does not exist in any waveform area, the waveform data is read from the large-capacity flash memory 204 into any waveform area on the waveform memory 206. The tone that seems to be the least likely to be played is judged from the history and loaded into that area. This will be specifically described as follows.
図4(b)は、ROM202に記憶される音色選択優先度テーブルのデータ構成例を示す図である。図4(b)に示されるように、まず優先度は、音色選択の発生順序が新しいほど大きな重みづけポイント(以下これを「優先度ポイント」と呼ぶ)が付与される。これは固定的係数なので変化はない。図5(a)は、図2のRAM203上に記憶される音色選択履歴管理テーブルのデータ構成例を示す図である。ユーザによる実際の音色選択操作によって、図5(a)に示されるように、例えば過去8回の音色選択履歴には、各発生順序及び各選択音色番号(音色名)ごとに、その発生順序に従ってROM202に記憶されている図4(b)の音色選択優先度テーブルが参照されることにより、それぞれ優先度ポイントが付加される。音色選択履歴管理テーブルに残っていない音色名の優先度ポイントはゼロポイントである。図5(b)は、RAM203に記憶される音色波形エリア情報テーブルのデータ構成例を示す図である。図5(b)に示されるように、波形メモリ206上の4つの波形エリアのそれぞれについて、当該波形エリアに読み込まれている波形データの音色番号(音色名)が図5(a)の音色選択履歴管理テーブルの選択音色番号(音色名)から検索され、マッチしたエントリの優先度ポイントの合計値が、当該波形エリアの優先度ポイントとして集計される。例えば、エリア番号1の波形エリアの音色名「03(Guitar)」は、音色選択履歴管理テーブル上の発生順序1番(最古)、3番、及び6番に記録されており、音色選択優先度テーブルよりそれぞれ優先度ポイント1、4、16が付与されている。従って、エリア番号1の波形エリアの音色名「03(Guitar)」の優先度ポイントは1+4+16=21点となる。同様に、エリア番号2の波形エリアの音色名「01(Piano)」は、音色選択履歴管理テーブル上の発生順序8番(最新として選択中)に記録されており、音色選択優先度テーブルより優先度ポイント29が付与されている。従って、エリア番号2の波形エリアの音色名「01(Piano)」の優先度ポイントは29点となる。同様に、エリア番号3の波形エリアの音色名「06(Synth1)」は、音色選択履歴管理テーブル上の発生順序4番及び7番に記録されており、音色選択優先度テーブルよりそれぞれ優先度ポイント7及び22が付与されている。従って、エリア番号3の波形エリアの音色名「06(Synth1)」の優先度ポイントは7+22=29点となる。更に、エリア番号4の波形エリアの音色名「02(Organ)」は、音色選択履歴管理テーブル上の発生順序5番に記録されており、音色選択優先度テーブルより優先度ポイント11が付与されている。従って、エリア番号4の波形エリアの音色名「06(Organ)」の優先度ポイントは11点となる。 FIG. 4B is a diagram illustrating a data configuration example of a timbre selection priority table stored in the ROM 202. As shown in FIG. 4B, first, the priority is given a larger weighting point (hereinafter referred to as “priority point”) as the timbre selection generation order is newer. Since this is a fixed coefficient, there is no change. FIG. 5A is a diagram showing a data configuration example of a timbre selection history management table stored on the RAM 203 of FIG. As shown in FIG. 5A by the actual timbre selection operation by the user, for example, in the past eight timbre selection histories, for each generation order and each selected timbre number (timbre name), according to the generation order. By referring to the timbre selection priority table of FIG. 4B stored in the ROM 202, priority points are added respectively. The priority points of tone names that do not remain in the tone selection history management table are zero points. FIG. 5B is a diagram showing a data configuration example of a timbre waveform area information table stored in the RAM 203. As shown in FIG. 5B, for each of the four waveform areas on the waveform memory 206, the timbre number (timbre name) of the waveform data read into the waveform area is the timbre selection in FIG. 5A. A search is made from the selected tone number (timbre name) in the history management table, and the total value of the priority points of the matched entries is totaled as the priority points of the waveform area. For example, the tone name “03 (Guitar)” of the waveform area of area number 1 is recorded in the generation order No. 1 (oldest), No. 3, and No. 6 on the tone selection history management table, and tone selection priority is given. Priority points 1, 4, and 16 are assigned from the degree table, respectively. Therefore, the priority point of the timbre name “03 (Guital)” in the waveform area of area number 1 is 1 + 4 + 16 = 21 points. Similarly, the timbre name “01 (Piano)” of the waveform area of area number 2 is recorded in the generation order No. 8 (selected as the latest) in the timbre selection history management table, and has priority over the timbre selection priority table. Degree points 29 are given. Therefore, the priority point of the tone name “01 (Piano)” in the waveform area of area number 2 is 29 points. Similarly, the timbre name “06 (Synth1)” of the waveform area of area number 3 is recorded in the generation order Nos. 4 and 7 on the timbre selection history management table, and each is a priority point from the timbre selection priority table. 7 and 22 are assigned. Accordingly, the priority point of the tone name “06 (Synth 1)” in the waveform area of area number 3 is 7 + 22 = 29 points. Furthermore, the timbre name “02 (Organ)” of the waveform area of area number 4 is recorded in the generation order No. 5 on the timbre selection history management table, and the priority point 11 is given from the timbre selection priority table. Yes. Therefore, the priority point of the tone name “06 (Organ)” in the waveform area of area number 4 is 11 points.
次に、波形エリアに存在しない音色への切替えが発生した際には、音色波形エリア情報テーブル上で優先度ポイントが最も低い音色番号(音色波形)に割り当てられているエリア番号の波形エリアが、新しく選択された音色波形のためにオーバーライトされる。 Next, when switching to a timbre that does not exist in the waveform area occurs, the waveform area of the area number assigned to the timbre number (timbre waveform) with the lowest priority point on the timbre waveform area information table is Overwritten for the newly selected timbre waveform.
本実施形態では、波形読込みの指示が発生すると、上述の制御に基づいて決定された波形エリアに、大容量フラッシュメモリ204から波形データの読込みが行われるが、操作子や鍵盤の読込みを滞らせないようにするために、波形読込み処理はバックグラウンド処理として実行される。もし、演奏発音時に波形読み込みが完了していない波形データについては、演奏情報は捨てられ発音は行わない。 In this embodiment, when a waveform reading instruction is generated, waveform data is read from the large-capacity flash memory 204 into the waveform area determined based on the above-described control, but the reading of the operator and the keyboard is delayed. In order to avoid this, the waveform reading process is executed as a background process. If the waveform data is not yet loaded when the performance is sounded, the performance information is discarded and no sound is generated.
図6は、図2のCPU201が実行する制御処理において使用する主要な変数の一覧を示す図である。各変数については、後述する制御処理の詳細説明において詳述する。 FIG. 6 is a diagram showing a list of main variables used in the control process executed by the CPU 201 in 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.
図7は、CPU201が実行する制御処理の全体処理の例を示すメインルーチンのフローチャートである。この処理例は、CPU201がROM202に記憶された制御プログラムを実行する処理例である。 FIG. 7 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の内容を初期化した後(ステップS701)、ステップS702からS711の一連の処理で示される定常ループ処理に入る。 The CPU 201 first initializes the contents of the RAM 203 (step S701), and then enters a steady loop process indicated by a series of processes from steps S702 to S711.
定常ループ処理では、CPU201はまず、ユーザインタフェース処理(図中「ユーザI/F」と表示)を実行する(ステップS702)。ここでは、CPU201は、図2のキー・スキャナ207を介して図1の音色選択ボタン102の状態を取得する。 In the steady loop process, the CPU 201 first executes a user interface process (displayed as “user I / F” in the figure) (step S702). Here, the CPU 201 acquires the state of the timbre selection button 102 in FIG. 1 via the key scanner 207 in FIG.
次に、CPU201は、ステップS702の処理の結果、演奏者が音色選択ボタン102を操作することにより音色選択イベントが発生したか否かを判定する(ステップS703)。 Next, as a result of the processing in step S702, the CPU 201 determines whether or not a timbre selection event has occurred by the player operating the timbre selection button 102 (step S703).
そして、CPU201は、音色切り替えが発生した場合(ステップS703の判定がYesの場合)は、音色切替え処理を実行する(ステップS704)。ステップS703の判定がNoならば、CPU201は、ステップS704の処理はスキップする。 When the timbre switching has occurred (when the determination in step S703 is Yes), the CPU 201 executes a timbre switching process (step S704). If the determination in step S703 is No, the CPU 201 skips the process in step S704.
次に、CPU201は、鍵盤処理を実行する(ステップS705)。ここでは、CPU201は、図2のキー・スキャナ207を介して図1の鍵盤105の押鍵状態を取得する。 Next, the CPU 201 executes keyboard processing (step S705). Here, the CPU 201 acquires the key pressing state of the keyboard 105 in FIG. 1 via the key scanner 207 in FIG.
次に、CPU201は、ステップS705の処理の結果、演奏者が鍵盤105上の何れかの鍵を押鍵することにより押鍵イベントが発生したか否かを判定する(ステップS706)。 Next, as a result of the processing in step S705, the CPU 201 determines whether or not a key pressing event has occurred due to the player pressing any key on the keyboard 105 (step S706).
そして、CPU201は、押鍵イベントが発生した場合(ステップS706の判定がYesの場合)は、音源発音処理を実行する(ステップS707)。ステップS706の判定がNoならば、CPU201は、ステップS707の処理はスキップする。 When the key depression event occurs (when the determination in step S706 is Yes), the CPU 201 executes a sound source sound generation process (step S707). If the determination in step S706 is No, the CPU 201 skips the process in step S707.
続いて、CPU201は、ステップS705の処理の結果、演奏者が鍵盤105上の何れかの押鍵中の鍵を離鍵することにより離鍵イベントが発生したか否かを判定する(ステップS708)。 Subsequently, as a result of the process in step S705, the CPU 201 determines whether or not a key release event has occurred as a result of the player releasing the key being pressed on the keyboard 105 (step S708). .
そして、CPU201は、離鍵イベントが発生した場合(ステップS708の判定がYesの場合)は、音源リリース処理を実行する(ステップS709)。ステップS708の判定がNoならば、CPU201は、ステップS709の処理はスキップする。 Then, when a key release event occurs (when the determination in step S708 is Yes), the CPU 201 executes a sound source release process (step S709). If the determination in step S708 is No, the CPU 201 skips the process in step S709.
その後、CPU201は、音源定常サービス処理を実行する(ステップS710)。ここでは、例えば図1の機能選択ボタン103が押された場合に対応する処理や、図1のベンダ/モジュレーション・ホイール104が操作された場合に対応する処理等の、電子鍵盤楽器100に対する一般的な処理が実行される。 Thereafter, the CPU 201 executes a sound source steady service process (step S710). Here, for example, general processing for the electronic keyboard instrument 100, such as processing corresponding to the case where the function 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は、波形読込み処理を実行する(ステップS711)。 Finally, the CPU 201 executes a waveform reading process (step S711).
その後、CPU201は、ステップS702の定常ループ処理の先頭に戻る。 Thereafter, the CPU 201 returns to the beginning of the steady loop process in step S702.
図8は、図7のステップS701の初期化処理の詳細例を示すフローチャートである。 FIG. 8 is a flowchart showing a detailed example of the initialization process in step S701 of FIG.
まず、CPU201は、RAM203上の図6に示される変数の値を、全て「0」にする(ステップS801)。 First, the CPU 201 sets all the values of the variables shown in FIG. 6 on the RAM 203 to “0” (step S801).
次に、CPU201は、RAM203上の変数iについて、ステップS802において値「0」に初期設定した後、ステップS805で+1ずつインクリメントしながら、ステップS804で値「7」に達したと判定するまで、RAM203上の図6に示される音色番号履歴変数TS_HIS[i]に音色未選択を示す無効値「−1」を格納する処理(ステップS803)を、繰り返し実行する。この音色番号履歴変数TS_HIS[i](0≦i≦7)は、図5(a)の音色選択履歴管理テーブルの「発生順序」項目値が1から8の各エントリの「選択音色番号(音色名)」項目値を保持する。 Next, the CPU 201 initializes the variable i on the RAM 203 to the value “0” in step S802 and then increments it by +1 in step S805 until determining that the value “7” is reached in step S804. The process (step S803) of storing an invalid value “−1” indicating that the timbre is not selected in the timbre number history variable TS_HIS [i] shown in FIG. 6 on the RAM 203 is repeatedly executed. This timbre number history variable TS_HIS [i] (0 ≦ i ≦ 7) is the “selected timbre number (timbre) of each entry whose“ occurrence order ”item value is 1 to 8 in the timbre selection history management table of FIG. Name) "item value is retained.
続いて、CPU201は、変数iについて、ステップS806において値「0」に初期設定した後、ステップS809で+1ずつインクリメントしながら、ステップS808で値「3」に達したと判定するまで、RAM203上の図6に示される波形エリア音色番号変数WM_ST[i].TONEに無効値「−1」を格納する処理と、同じくRAM203上の図6に示される波形エリアアドレスオフセット変数WM_ST[i].RAM_OFFSETにオフセット値「i×100000H」を格納する処理(ステップS807)を、繰り返し実行する。波形エリア音色番号変数WM_ST[i].TONE(0≦i≦3)は、図5(b)の音色波形エリア情報テーブルの「エリア番号」項目値が1から4の各エントリの「音色番号(音色名)」項目値を保持する。また、図3の説明で前述したように、波形メモリ206上の各波形エリアはそれぞれ100000Hの固定サイズを有するため、波形エリアアドレスオフセット変数WM_ST[i].RAM_OFFSET(0≦i≦3)が示す、図5(b)の音色波形エリア情報テーブルの「エリア番号」項目値が1から4の各エントリに対応する各波形エリアの波形メモリ206の先頭アドレスからのアドレスオフセットは、ステップS807の繰返し処理により、固定的にi×100000H(0≦i≦3)として算出される。すなわち、「エリア番号」項目値=「1」「2」「3」「4」の各波形エリアのアドレスオフセットはそれぞれ、「0」、「100000H」、「200000H」、及び「300000H」として算出される。 Subsequently, the CPU 201 initializes the variable i to the value “0” in step S806 and then increments it by +1 in step S809 until it determines that the value “3” is reached in step S808. The waveform area tone number variable WM_ST [i]. Similarly to the process of storing the invalid value “−1” in TONE, the waveform area address offset variable WM_ST [i]. The process of storing the offset value “i × 100,000H” in RAM_OFFSET (step S807) is repeatedly executed. Waveform area tone number variable WM_ST [i]. TONE (0 ≦ i ≦ 3) holds the “tone number (tone name)” item value of each entry whose “area number” item value is 1 to 4 in the tone color waveform area information table of FIG. In addition, as described above with reference to FIG. 3, each waveform area on the waveform memory 206 has a fixed size of 100000H, so the waveform area address offset variable WM_ST [i]. RAM_OFFSET (0 ≦ i ≦ 3) indicates, from the top address of the waveform memory 206 of each waveform area corresponding to each entry whose “area number” item value in the timbre waveform area information table of FIG. Is fixedly calculated as i × 100000H (0 ≦ i ≦ 3) by the repetition processing in step S807. That is, the address offset of each waveform area of “area number” item value = “1” “2” “3” “4” is calculated as “0”, “100000H”, “200000H”, and “300000H”, respectively. The
その後、CPU201は、現在読込み中の波形の番号を示す変数READING_WAVE(図6参照)に、無効値「−1」を格納する。また、CPU201は、図5(a)の音色毎履歴管理テーブルに対応するRAM203上の音色番号履歴変数TS_HIS[i](0≦i≦7)の8エントリのうち、最新の履歴が格納されるべき要素値を格納するRAM203上のポインタ変数TS_HIS_WP(図6参照)に、先頭位置を示す初期値「0」を格納する(以上、ステップS810)。 Thereafter, the CPU 201 stores an invalid value “−1” in a variable READING_WAVE (see FIG. 6) indicating the number of the waveform currently being read. In addition, the CPU 201 stores the latest history among the eight entries of the tone number history variable TS_HIS [i] (0 ≦ i ≦ 7) on the RAM 203 corresponding to the tone-by-timbre history management table of FIG. The initial value “0” indicating the head position is stored in the pointer variable TS_HIS_WP (see FIG. 6) on the RAM 203 that stores the power element value (step S810).
最後に、CPU201は、音色番号の初期値「0」(Piano)を格納したRAM203上の音色番号変数Tを引数として、音色切替えサブルーチンを実行する(ステップS811)。その後、CPU201は、図8のフローチャートで示される図7のステップS701の初期化処理を終了する。 Finally, the CPU 201 executes a timbre switching subroutine with the timbre number variable T on the RAM 203 storing the initial timbre number “0” (Piano) as an argument (step S811). Thereafter, the CPU 201 ends the initialization process in step S701 of FIG. 7 shown in the flowchart of FIG.
図9は、上述の図7のステップS701の初期化処理内の図8のステップS811の音色切替え処理、又は図7の音色選択イベント発生時(ステップS703の判定がYesのとき)のステップS704の音色切替え処理の、詳細例を示すフローチャートである。この処理の実行時には、RAM203上の音色番号変数Tの値が引き渡される。音色番号変数Tには、ステップS811の実行時には前述したように初期値「0」が格納され、ステップS704の実行時には、ユーザによる図1の音色選択ボタン102の操作に基づいて図7のステップS702のユーザインタフェース処理で取り込まれたユーザが選択した音色の音色番号が格納される。 FIG. 9 shows the timbre switching process in step S811 in FIG. 8 in the initialization process in step S701 in FIG. 7 described above, or in step S704 when the timbre selection event in FIG. 7 occurs (when the determination in step S703 is Yes). It is a flowchart which shows the detailed example of a timbre switching process. When this process is executed, the value of the timbre number variable T on the RAM 203 is handed over. As described above, the initial value “0” is stored in the timbre number variable T when step S811 is executed. When the step S704 is executed, step S702 of FIG. 7 is performed based on the operation of the timbre selection button 102 of FIG. The timbre number of the timbre selected by the user that is captured in the user interface process is stored.
図9の音色切替え処理のフローチャートにおいて、CPU201はまず、音色エリア検索サブルーチンを実行する(ステップS901)。この処理では、音色番号変数Tに得られている選択された音色番号が、波形メモリ206上の図3の4つの波形エリアのうちのどの波形エリアに存在するかが検索される。この処理の詳細については、図10のフローチャートを用いて後述する。この処理の結果、RAM203上の変数Aに、波形エリアの番号(0≦A≦3)が得られる。 In the flowchart of the timbre switching process of FIG. 9, the CPU 201 first executes a timbre area search subroutine (step S901). In this processing, it is searched in which waveform area of the four waveform areas in FIG. 3 on the waveform memory 206 the selected timbre number obtained in the timbre number variable T exists. Details of this processing will be described later with reference to the flowchart of FIG. As a result of this processing, the waveform area number (0 ≦ A ≦ 3) is obtained as the variable A on the RAM 203.
次に、CPU201は、変数Aに得られた波形エリアの番号が無効値「−1」であるか否か、即ち、音色番号変数Tの選択音色番号が未だ波形メモリ206のどの波形エリアにもロードされていないか否かを判定する(ステップS902)。 Next, the CPU 201 determines whether or not the waveform area number obtained in the variable A is an invalid value “−1”, that is, the selected timbre number of the timbre number variable T is still in any waveform area of the waveform memory 206. It is determined whether it has not been loaded (step S902).
音色番号変数Tの選択音色番号が既に波形メモリ206上の何れかの波形エリアにロードされている(ステップS902の判定がNoである)場合には、CPU201は、変数Aの値をRAM203上の変数C_AREAにコピーする。変数C_AREAは、現在選択されている波形データが読込み済みもしくは読込み中となっている、その波形データの格納先の波形エリアのエリア番号を示している(図6参照)。次に、CPU201は、現在発音中の音色の音色番号を格納する変数C_TONE(図6参照)に、変数Tの値をコピーする(ステップS910)。その後、CPU201は、図9のフローチャートで示される音色切替え処理を終了する。 If the selected timbre number of the timbre number variable T has already been loaded into any waveform area on the waveform memory 206 (No in step S902), the CPU 201 sets the value of the variable A on the RAM 203. Copy to variable C_AREA. The variable C_AREA indicates the area number of the waveform area where the currently selected waveform data has been read or is being read (see FIG. 6). Next, the CPU 201 copies the value of the variable T to the variable C_TONE (see FIG. 6) that stores the tone number of the tone that is currently sounding (step S910). Thereafter, the CPU 201 ends the timbre switching process shown in the flowchart of FIG.
音色番号変数Tの選択音色番号が未だ波形メモリ206上のどの波形エリアにもロードされていない(ステップS902の判定がNoである)場合には、CPU201はまず、現在読込み中の波形の番号を示す変数READING_WAVEの値が無効値「−1」であるか否か、即ち、現在別の音色の波形データの読込み処理が実行中でないか否かを判定する(ステップS903)。 If the selected timbre number of the timbre number variable T is not yet loaded in any waveform area on the waveform memory 206 (No in step S902), the CPU 201 first sets the number of the waveform currently being read. It is determined whether or not the value of the variable READING_WAVE shown is an invalid value “−1”, that is, whether or not a process for reading waveform data of another timbre is currently being executed (step S903).
現在別の音色の波形データの読込み処理が実行中でない(ステップS903の判定がYes)の場合には、CPU201は、優先順位判断サブルーチンを実行する(ステップS904)。この処理では、図6(b)に例示される音色波形エリア情報テーブル上の4つのエリアのエントリのうち、「優先度ポイント」項目値が最も小さい即ち優先順位が最も低いエントリのエリア番号が判断され、そのエリア番号が変数Aにセットされる。新たに選択された音色の波形データは、大容量フラッシュメモリ204からこのエリア番号Aの波形エリアにロードされる。この処理の詳細については、図11のフローチャートを用いて後述する。 If the process of reading waveform data of another tone color is not currently being executed (Yes in step S903), the CPU 201 executes a priority determination subroutine (step S904). In this process, among the entries in the four areas on the timbre waveform area information table illustrated in FIG. 6B, the area number of the entry having the smallest “priority point” item value, that is, the lowest priority is determined. The area number is set in the variable A. The waveform data of the newly selected tone color is loaded from the large-capacity flash memory 204 into the waveform area of area number A. Details of this processing will be described later with reference to the flowchart of FIG.
次に、CPU201は、RAM203上の現在選択されている波形データが読込み済みもしくは読込み中となっている、その波形データの格納先の波形エリアのエリア番号を示す変数C_AREA(図6参照)に、ステップS904で変数Aにセットされたエリア番号の値をコピーする(ステップS905)。 Next, the CPU 201 sets a variable C_AREA (see FIG. 6) indicating the area number of the waveform area where the waveform data stored in the RAM 203 is already read or is being read. The value of the area number set in the variable A in step S904 is copied (step S905).
一方、現在別の音色の波形データの読込み処理が実行中である場合には、上述のステップS904とS905の処理はスキップされる。このとき、変数C_AREAには、その読込み処理が実行中の波形エリアのエリア番号がセットされている。従って、この場合には、次のステップS906の処理によって、その読込み処理が中止されて、その読込み処理中であった波形エリアに、新たに選択された音色の波形データが大容量フラッシュメモリ204からロードされることになる。 On the other hand, when the reading process of waveform data of another tone color is currently being executed, the processes of steps S904 and S905 described above are skipped. At this time, the area number of the waveform area in which the reading process is being executed is set in the variable C_AREA. Therefore, in this case, the reading process is stopped by the process of the next step S906, and the waveform data of the newly selected tone color is transferred from the large-capacity flash memory 204 to the waveform area being read. Will be loaded.
その後、CPU201はまず、ROM202に記憶されている図4(a)に例示されるフラッシュメモリ音色情報テーブルの、「音色名」項目の値が変数Tに得られている新たに選択された音色名に対応するエントリから「波形アドレスオフセット」項目値と「波形サイズ」項目値を抽出し、それらをそれぞれ、変数C_AREAのエリア番号によって指定される読込み処理が開始される波形エリアに関するRAM203上の波形オフセット構造体要素WM_ST[C_AREA].FLASH_OFFSET及び波形サイズ構造体要素WM_ST[C_AREA].WAVE_SIZE(共に図6参照)にコピーする。また、上記波形エリア上の波形データの有無を保持するRAM203上の構造体要素WM_ST[C_AREA].WAVEに、まだ波形データが存在していないことを示す値「0」を初期設定する。更に、上記波形エリアへの前回までに転送済みの波形データのサイズを示す構造体要素WM_ST[W].READ_SIZE(図6参照)に、未転送を示す値「0」を格納する。加えて、現在読込み中の波形の番号を示すRAM203上の変数READING_WAVE(図6参照)に、新規であることを示す無効値「−1」を格納する。(以上、図9のステップS906)。 Thereafter, the CPU 201 firstly selects a newly selected tone name in which the value of the “tone name” item is obtained in the variable T in the flash memory tone color information table illustrated in FIG. "Waveform address offset" item value and "Waveform size" item value are extracted from the entry corresponding to, and the waveform offset on the RAM 203 relating to the waveform area where the reading process specified by the area number of the variable C_AREA is started, respectively. Structure element WM_ST [C_AREA]. FLASH_OFFSET and waveform size structure element WM_ST [C_AREA]. Copy to WAVE_SIZE (both see FIG. 6). Further, a structure element WM_ST [C_AREA]. A value “0” indicating that waveform data does not yet exist is initialized in WAVE. Further, a structure element WM_ST [W]. Indicating the size of the waveform data transferred to the waveform area up to the previous time. A value “0” indicating untransferred is stored in READ_SIZE (see FIG. 6). In addition, an invalid value “−1” indicating newness is stored in a variable READING_WAVE (see FIG. 6) on the RAM 203 indicating the number of the waveform currently being read. (Thus, step S906 of FIG. 9).
その後、CPU201は、音色選択履歴更新サブルーチンを実行する(ステップS907)。この処理では、変数Tに保持されている新たに選択された音色の音色番号が、RAM203内の図5(a)に例示される音色選択履歴管理テーブルに登録、更新される。この処理の詳細については、図12のフローチャートを用いて後述する。 Thereafter, the CPU 201 executes a timbre selection history update subroutine (step S907). In this process, the timbre number of the newly selected timbre held in the variable T is registered and updated in the timbre selection history management table illustrated in FIG. Details of this processing will be described later with reference to the flowchart of FIG.
その後、CPU201は、優先度計算サブルーチンを実行する(ステップS907)。この処理では、ステップS907で図5(a)に例示される音色選択履歴管理テーブルの内容が更新された後に、波形メモリ206内の4つの波形エリアについて、図5(b)の音色波形エリア情報テーブルの「優先度ポイント」項目値が再計算される。この処理の詳細については、図13のフローチャートを用いて後述する。 Thereafter, the CPU 201 executes a priority calculation subroutine (step S907). In this process, after the contents of the timbre selection history management table exemplified in FIG. 5A are updated in step S907, the timbre waveform area information of FIG. 5B is obtained for the four waveform areas in the waveform memory 206. The "priority point" item value in the table is recalculated. Details of this processing will be described later with reference to the flowchart of FIG.
ステップS908の処理の後、CPU201は、現在発音中の音色の音色番号を格納する変数C_TONE(図6参照)に、新たに選択された音色の音色番号が格納されている変数Tの値をコピーする(ステップS910)。その後、CPU201は、図9のフローチャートで示される音色切替え処理を終了する。 After the processing in step S908, the CPU 201 copies the value of the variable T in which the timbre number of the newly selected timbre is stored in the variable C_TONE (see FIG. 6) that stores the timbre number of the timbre currently sounding. (Step S910). Thereafter, the CPU 201 ends the timbre switching process shown in the flowchart of FIG.
図10は、図9のステップS901の音色エリア検索サブルーチンの詳細処理例を示すフローチャートである。前述したように、この処理では、音色番号変数Tに得られている新たに選択された音色番号が、波形メモリ206上の図3の4つの波形エリアのうちのどの波形エリアに存在するかが検索される。 FIG. 10 is a flowchart showing an example of detailed processing of the timbre area search subroutine in step S901 of FIG. As described above, in this processing, in which waveform area of the four waveform areas in FIG. 3 on the waveform memory 206 the newly selected timbre number obtained in the timbre number variable T exists. Searched.
CPU201はまず、各波形エリアのエリア番号を格納するカウンタ変数Aについて、ステップS1001において値「0」に初期設定した後、ステップS1003で+1ずつインクリメントしながら、ステップS1004で値「4」に達したと判定するまで、新たに選択された音色番号を格納する変数Tの値が、変数Aのエリア番号の波形エリアに割り当てられている音色番号を示す構造体要素WM_ST[A].TONEの値と等しいか否かを判定する処理(ステップS1002)を、繰り返し実行する。 First, the CPU 201 initially sets the counter variable A for storing the area number of each waveform area to the value “0” in step S1001, and then incremented by +1 in step S1003 and reached the value “4” in step S1004. Until the determination is made, the value of the variable T that stores the newly selected timbre number is a structure element WM_ST [A]. The process of determining whether or not it is equal to the value of TONE (step S1002) is repeatedly executed.
CPU201は、変数Aの0から3までの何れかの値において、ステップ1002の判定がYesになったら、その変数Aの値を検索により見つかったエリア番号の戻り値として、図10のフローチャートで示される図9のステップS901の処理を終了する。 When the CPU 201 determines Yes in step 1002 for any value of the variable A from 0 to 3, the value of the variable A is shown in the flowchart of FIG. 10 as the return value of the area number found by the search. The process of step S901 in FIG.
CPU201は、変数Aの0から3までのどの値においてもステップ1002の判定がNoで、やがてステップS1004の判定がYesになると、変数Aに検索で見つからなかったことを示す無効値「−1」を格納して戻り値とし、図10のフローチャートで示される図9のステップS901の処理を終了する。 If the determination in step 1002 is No for any value of the variable A from 0 to 3, and the determination in step S1004 becomes Yes, the CPU 201 eventually indicates an invalid value “−1” indicating that the variable A was not found by the search. Is stored as a return value, and the process of step S901 of FIG. 9 shown in the flowchart of FIG. 10 ends.
次に、図11は、図9のステップS904の優先順位判断サブルーチンの詳細処理例を示すフローチャートである。前述したようにこの処理では、図6(b)に例示される音色波形エリア情報テーブル上の4つのエリアのエントリのうち、「優先度ポイント」項目値が最も小さい即ち優先順位が最も低いエントリのエリア番号が判断される。本実施形態では、新たに選択された音色の波形データを大容量フラッシュメモリ204から波形メモリ206にロードするときに、波形メモリ206上の4つの波形エリアのうち、優先順位が最も低いエントリの波形データが、新たな波形データによって置換される。 Next, FIG. 11 is a flowchart showing an example of detailed processing of the priority determination subroutine in step S904 of FIG. As described above, in this process, among the entries in the four areas on the timbre waveform area information table illustrated in FIG. 6B, the entry with the smallest “priority point” item value, that is, the entry with the lowest priority order. An area number is determined. In this embodiment, when loading waveform data of a newly selected tone color from the large-capacity flash memory 204 to the waveform memory 206, the waveform of the entry with the lowest priority among the four waveform areas on the waveform memory 206 is displayed. Data is replaced with new waveform data.
CPU201はまず、処理を行う波形エリアのエリア番号をカウントするRAM203上のカウンタ変数Wと、優先度が現時点で最も低い波形エリアのエリア番号を格納するRAM203上の変数Aに、共に初期値0を格納する。また、CPU201は、優先順位を比較するためのRAM203上のバッファ変数Sに、優先順位が非常に小さいことを示す大きな値「255」を格納する(ステップS1101)。 The CPU 201 first sets the initial value 0 to both the counter variable W on the RAM 203 that counts the area number of the waveform area to be processed and the variable A on the RAM 203 that stores the area number of the waveform area having the lowest priority at the present time. Store. Further, the CPU 201 stores a large value “255” indicating that the priority is very small in the buffer variable S on the RAM 203 for comparing the priorities (step S1101).
次に、CPU201は、カウンタ変数Wについて、ステップS1101において上述のように値「0」を初期設定した後、ステップS1104で+1ずつインクリメントしながら、ステップS1105で値「4」に達したと判定するまで、以下のステップS1102及びS1103の処理を、繰り返し実行する。CPU201は、ステップS1102で、変数Wのエリア番号の波形エリアに割り当てられている優先度ポイントを示す構造体要素WM_ST[W].SIGの値が、優先順位比較バッファ変数Sの現在の値よりも小さいか否かを判定する。ステップS1102の判定がYesならば、CPU201は、ステップS1103で、変数Wのエリア番号の波形エリアに割り当てられている優先度ポイントを示す構造体要素WM_ST[W].SIGの値を優先順位比較バッファ変数Sに格納し、優先度が現時点で最も低い波形エリアのエリア番号を格納する変数Aに変数Wの値を格納する。この構造体要素WM_ST[W].SIG(0≦W≦3)は、図5(b)の音色波形エリア情報テーブルの「優先度ポイント」項目値に対応する。なお、図5(b)の音色波形エリア情報テーブルの「音色番号(音色名)」項目値は、構造体要素WM_ST[W].TONE(0≦W≦3)(図6参照)が対応する。ステップS1102の判定がNoならば、CPU201は、ステップS1103の処理はスキップして次のインクリメントされた変数Wが示すエリア番号についての処理に移行する。 Next, after initializing the value “0” for the counter variable W in step S1101 as described above, the CPU 201 increments by +1 in step S1104 and determines that the value has reached “4” in step S1105. Until then, the following steps S1102 and S1103 are repeatedly executed. In step S1102, the CPU 201 determines whether the structure element WM_ST [W] .P indicates the priority point assigned to the waveform area having the area number of the variable W. It is determined whether or not the value of SIG is smaller than the current value of the priority comparison buffer variable S. If the determination in step S1102 is Yes, the CPU 201 determines in step S1103 that the structure element WM_ST [W] .P indicates the priority point assigned to the waveform area having the area number of the variable W. The value of SIG is stored in priority comparison buffer variable S, and the value of variable W is stored in variable A that stores the area number of the waveform area having the lowest priority at the present time. This structure element WM_ST [W]. SIG (0 ≦ W ≦ 3) corresponds to the “priority point” item value in the timbre waveform area information table of FIG. Note that the “tone number (tone name)” item value in the tone color waveform area information table of FIG. 5B is the structure element WM_ST [W]. TONE (0 ≦ W ≦ 3) (see FIG. 6) corresponds. If the determination in step S1102 is No, the CPU 201 skips the process in step S1103 and proceeds to the process for the area number indicated by the next incremented variable W.
以上のステップS1102からS1105までの一連の処理が繰り返し実行された結果、ステップS1105の判定がYesになると、CPU201は、優先度が最終的に最も低い波形エリアのエリア番号を格納する変数Aの値を戻り値として、図11のフローチャートで示される図9のステップS904の優先順位判断サブルーチンの処理を終了する。 As a result of the series of processing from step S1102 to S1105 being repeatedly executed, as a result of the determination in step S1105, the CPU 201 determines the value of the variable A that stores the area number of the waveform area that finally has the lowest priority. Is a return value, and the processing of the priority determination subroutine in step S904 of FIG. 9 shown in the flowchart of FIG. 11 is terminated.
図12は、図9のステップS907の音色選択履歴更新サブルーチンの詳細処理例を示すフローチャートである。前述したようにこの処理では、変数Tに保持されている新たに選択された音色の音色番号が、RAM203内の図5(a)に例示される音色選択履歴管理テーブルに登録、更新される。 FIG. 12 is a flowchart showing a detailed processing example of the timbre selection history update subroutine in step S907 of FIG. As described above, in this process, the timbre number of the newly selected timbre held in the variable T is registered and updated in the timbre selection history management table illustrated in FIG.
CPU201はまず、RAM203上のポインタ変数TS_HIS_WP(図6参照)が示す最新の履歴が格納されるべきRAM203上の音色番号履歴変数TS_HIS[i](図6参照)に、変数Tに保持されている新たに選択された音色の音色番号を格納する(ステップS1201)。 First, the CPU 201 holds a variable T in a timbre number history variable TS_HIS [i] (see FIG. 6) on the RAM 203 in which the latest history indicated by the pointer variable TS_HIS_WP (see FIG. 6) on the RAM 203 is to be stored. The timbre number of the newly selected timbre is stored (step S1201).
次に、CPU201は、ポインタ変数TS_HIS_WPの値を+1進める(ステップS1202)。 Next, the CPU 201 advances the value of the pointer variable TS_HIS_WP by +1 (step S1202).
続いて、CPU201は、ポインタ変数TS_HIS_WPの値が「8」に達したか否かを判定する(ステップS1203)。 Subsequently, the CPU 201 determines whether or not the value of the pointer variable TS_HIS_WP has reached “8” (step S1203).
ステップS1203の判定がYesの場合、CPU201は、ポインタ変数TS_HIS_WPの値を0にリセットする(ステップS1204)。ステップS1203の判定がNoの場合、CPU201は、ステップS1204の処理はスキップする。その後、CPU201は、図12のフローチャートで示される図9のステップS907の音色選択履歴更新サブルーチンの処理を終了する。 When the determination in step S1203 is Yes, the CPU 201 resets the value of the pointer variable TS_HIS_WP to 0 (step S1204). When the determination in step S1203 is No, the CPU 201 skips the process in step S1204. Thereafter, the CPU 201 ends the processing of the timbre selection history update subroutine of step S907 of FIG. 9 shown in the flowchart of FIG.
以上の音色選択履歴更新サブルーチンの処理により、RAM203上の図5(a)の音色選択履歴管理テーブルにおいて、ポインタ変数TS_HIS_WPが示す発生順序毎に、「選択音色番号(音色名)」項目に変数Tの新たに選択された音色番号が設定されてゆく。 As a result of the above-described timbre selection history update subroutine, in the timbre selection history management table of FIG. 5A on the RAM 203, the variable T The newly selected tone number will be set.
図13は、図9のステップS907の優先度計算サブルーチンの詳細処理例を示すフローチャートである。前述したようにこの処理では、ステップS907で図5(a)に例示される音色選択履歴管理テーブルの内容が更新された後に、波形メモリ206内の4つの波形エリアについて、図5(b)の音色波形エリア情報テーブルの「優先度ポイント」項目値が再計算される。 FIG. 13 is a flowchart showing a detailed processing example of the priority calculation subroutine in step S907 of FIG. As described above, in this process, after the contents of the timbre selection history management table exemplified in FIG. 5A are updated in step S907, the four waveform areas in the waveform memory 206 are updated as shown in FIG. The “priority point” item value in the timbre waveform area information table is recalculated.
CPU201はまず、図5(b)の音色波形エリア情報テーブルの上で処理を行う波形エリアのエリア番号をカウントするRAM203上のカウンタ変数Wについて、ステップS1301において値「0」を初期設定した後、ステップS1303で+1ずつインクリメントしながら、ステップS1304で値「4」に達したと判定するまで、図5(b)の音色波形エリア情報テーブルの変数Wが示すエリア番号の「優先度ポイント」項目値に対応する構造体要素WM_ST[W].SIGの値を「0」にリセットする処理(ステップS1302)を、繰り返し実行する。 The CPU 201 first initializes the value “0” in step S1301 for the counter variable W on the RAM 203 that counts the area number of the waveform area to be processed on the timbre waveform area information table of FIG. While incrementing by +1 in step S1303, the "priority point" item value of the area number indicated by the variable W in the timbre waveform area information table in FIG. 5B is determined until it is determined in step S1304 that the value "4" has been reached. Structure element WM_ST [W]. The process of resetting the SIG value to “0” (step S1302) is repeatedly executed.
次に、CPU201は、図5(a)の音色選択履歴管理テーブルの各履歴エントリをカウントするためのRAM203上の履歴番号カウンタ変数Hについて、ステップS1305で値「0」に初期化した後、ステップS1309で+1ずつインクリメントしながら、ステップS1310で値「8」に達したと判定されるまで、以下のステップS1308からS1308までの一連の処理を、繰り返し実行する。 Next, the CPU 201 initializes the history number counter variable H on the RAM 203 for counting each history entry in the timbre selection history management table of FIG. 5A to a value “0” in step S1305, While incrementing by +1 in S1309, the following series of processing from Step S1308 to S1308 is repeatedly executed until it is determined in Step S1310 that the value “8” has been reached.
上述の一連の処理において、CPU201は更に、図5(b)の音色波形エリア情報テーブル上で処理を行う波形エリアのエリア番号をカウントするRAM203上のカウンタ変数Wについて、ステップS1306において値「0」を初期設定した後、ステップS1310で+1ずつインクリメントしながら、ステップS1311で値「4」に達したと判定するまで、図5(b)の音色波形エリア情報テーブルの変数Wが示すエリア番号の各エントリ毎に、以下のステップS1307からS1309までの一連の処理を繰り返し実行する。 In the series of processes described above, the CPU 201 further sets the value “0” in step S1306 for the counter variable W on the RAM 203 that counts the area number of the waveform area to be processed on the timbre waveform area information table of FIG. After the initial setting, each increment of +1 is incremented in step S1310 and each of the area numbers indicated by the variable W in the timbre waveform area information table in FIG. 5B is determined until it is determined that the value “4” is reached in step S1311. For each entry, the following series of processing from step S1307 to S1309 is repeatedly executed.
この一連の処理において、CPU201はまず、履歴番号カウンタ変数Hが示す音色番号履歴変数TS_HIS[H]に、無効値「−1」が格納されているか否かを判定する(ステップS1307)。 In this series of processing, the CPU 201 first determines whether or not an invalid value “−1” is stored in the timbre number history variable TS_HIS [H] indicated by the history number counter variable H (step S1307).
ステップS1307の判定がNoの場合、CPU201は、上記音色番号履歴変数TS_HIS[H]の値が、図5(b)の音色波形エリア情報テーブルの変数Wが示すエリア番号に対応するエントリの「音色番号(音色名)」項目を示す構造体要素WM_ST[W].TONE(図6参照)の値に等しいか否かを判定する(ステップS1308)。 If the determination in step S1307 is No, the CPU 201 determines that the value of the timbre number history variable TS_HIS [H] corresponds to the “timbre” of the entry corresponding to the area number indicated by the variable W in the timbre waveform area information table of FIG. Structure element WM_ST [W]. It is determined whether it is equal to the value of TONE (see FIG. 6) (step S1308).
音色番号履歴変数TS_HIS[H]の値が構造体要素WM_ST[W].TONEの値に等しい(ステップS1308の判定がYes)ならば、CPU201は、図5(b)の音色波形エリア情報テーブルの変数Wが示すエリア番号に対応するエントリの「優先度ポイント」項目を示す構造体要素WM_ST[W].SIG(図6参照)の値に、図4(b)の音色選択優先度テーブルの履歴番号カウンタ変数Hが示す発生順序のエントリの「優先度ポイント」項目を示す変数HIS_SIG[H](図6参照)の値を加算し、その加算結果値を新たに構造体要素WM_ST[W].SIGに格納する(ステップS1309)。 The value of the tone number history variable TS_HIS [H] is the structure element WM_ST [W]. If it is equal to the value of TONE (Yes in step S1308), the CPU 201 indicates the “priority point” item of the entry corresponding to the area number indicated by the variable W in the timbre waveform area information table of FIG. Structure element WM_ST [W]. A variable HIS_SIG [H] (FIG. 6) indicating the “priority point” item of the entry in the generation order indicated by the history number counter variable H of the tone color selection priority table of FIG. 4B is added to the value of SIG (see FIG. 6). Value), and the addition result value is newly added to the structure element WM_ST [W]. Store in the SIG (step S1309).
履歴番号カウンタ変数Hが示す音色番号履歴変数TS_HIS[H]に、無効値「−1」が格納されている場合(ステップS1307の判定がYesの場合)、又は音色番号履歴変数TS_HIS[H]の値が構造体要素WM_ST[W].TONEの値に等しくない(ステップS1308の判定がNo)ならば、CPU201は、ステップS1309の処理はスキップして、インクリメントされた次の変数Wに対応するエリア番号に対する処理に移行する。 When an invalid value “−1” is stored in the timbre number history variable TS_HIS [H] indicated by the history number counter variable H (when the determination in step S1307 is Yes), or the timbre number history variable TS_HIS [H] The value is a structure element WM_ST [W]. If it is not equal to the value of TONE (No in step S1308), the CPU 201 skips the process in step S1309 and proceeds to a process for the area number corresponding to the next variable W incremented.
以上のステップS1305からS1310までの一連の処理により、図5(b)に示されるように、波形メモリ206上の4つの波形エリアのそれぞれについて、当該波形エリアに読み込まれている波形データの音色番号(音色名)が図5(a)の音色選択履歴管理テーブルの選択音色番号(音色名)から検索され、マッチしたエントリの優先度ポイントの合計値が、当該波形エリアの優先度ポイントとして集計される。 As a result of the series of processes from step S1305 to step S1310, as shown in FIG. 5B, for each of the four waveform areas on the waveform memory 206, the timbre number of the waveform data read into the waveform area. (Timbre name) is searched from the selected timbre number (timbre name) in the timbre selection history management table of FIG. 5A, and the total value of the priority points of the matched entries is aggregated as the priority points of the waveform area. The
ステップS1310の判定がYesになると、CPU201は、図13のフローチャートで示される図9のステップS908の優先度計算サブルーチンの処理を終了する。 When the determination in step S1310 is Yes, the CPU 201 ends the priority calculation subroutine of step S908 of FIG. 9 shown in the flowchart of FIG.
図14は、図7のステップS707の音源発音処理の詳細例を示すフローチャートである。 FIG. 14 is a flowchart showing a detailed example of the sound source sound generation process in step S707 of FIG.
CPU201はまず、変数C_AREAのエリア番号を示す最新に選択されている波形データの格納先の波形エリアの有無を示す構造体要素WM_ST[W].WAVE(図6参照)の値が「1」であるか否か、すなわち、その波形エリアに波形データが存在するか否かを判定する(ステップS1401)。 First, the CPU 201 first sets a structure element WM_ST [W]... Indicating the presence or absence of a waveform area where the latest selected waveform data indicating the area number of the variable C_AREA is stored. It is determined whether or not the value of WAVE (see FIG. 6) is “1”, that is, whether or not waveform data exists in the waveform area (step S1401).
CPU201は、当該波形エリアに波形データが存在する(ステップS1401の判定がYes)ならば、その波形データに対する発音処理を、音源LSI205に対して指示する発音処理を実行する(ステップS1402)。 If waveform data exists in the waveform area (Yes in step S1401), the CPU 201 executes sound generation processing for instructing the sound generator LSI 205 to generate sound processing for the waveform data (step S1402).
CPU201は、当該波形エリアに波形データが未だ読み込まれていない(ステップS1401の判定がNo)ならば、ステップS1402の発音処理はスキップし、発音を行わない。 If the waveform data has not yet been read into the waveform area (No in step S1401), the CPU 201 skips the sound generation process in step S1402 and does not generate sound.
図15は、図7のステップS711の波形読込み処理の詳細例を示すフローチャートである。演奏による発音処理を止めないようにするために、図7に例示したメインループにおいて、ステップS711で波形読込み処理だけに処理を集中させず、他の処理も並行に処理するために、ステップS711で波形読込み処理の1回の実行においては、一定の容量のメモリ転送が完了した時点で処理を中断し、他のメインループの処理を行って再び波形転送プログラムが起動された時に処理が再開される。 FIG. 15 is a flowchart showing a detailed example of the waveform reading process in step S711 of FIG. In order not to stop the sound generation process due to the performance, in the main loop illustrated in FIG. 7, in step S711, the processing is not concentrated only on the waveform reading process in step S711, and other processes are performed in parallel. In a single 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. .
CPU201はまず、RAM203上の変数である今回読込みサイズカウンタ変数cに初期値「0」をセットする。また、CPU201は、大容量フラッシュメモリ204上の読込みアドレスを示すRAM203上の変数rpに、先頭アドレス値「0」をセットする。更に、CPU201は、波形メモリ206上の書込みアドレスを示すRAM203上の変数wpに、先頭アドレス値「0」をセットする。加えて、CPU201は、RAM203上の変数aに、RAM203上の現在選択されている波形データが読込み済みもしくは読込み中となっている、その波形データの格納先の波形エリアのエリア番号を示す変数C_AREA(図6参照)の値を格納する(以上、図15のステップS1501)。 First, the CPU 201 sets an initial value “0” to the current read size counter variable c, which is a variable on the RAM 203. In addition, the CPU 201 sets a head address value “0” in a variable rp on the RAM 203 indicating a read address on the large-capacity flash memory 204. Further, the CPU 201 sets a head address value “0” in a variable wp on the RAM 203 indicating a write address on the waveform memory 206. In addition, the CPU 201 sets a variable C_AREA indicating the area number of the waveform area where the waveform data currently stored in the RAM 203 has been read or is being read in the variable a on the RAM 203. The value (see FIG. 6) is stored (step S1501 in FIG. 15).
次に、CPU201は、RAM203上の変数READING_WAVEが示す現在読込み中の波形の番号の値が無効値「−1」であるか否か、すなわち、現在波形データの読込みが行われていないか否かを判定する(図15のステップS1502)。 Next, the CPU 201 determines whether or not the value of the waveform number currently being read indicated by the variable READING_WAVE on the RAM 203 is an invalid value “−1”, that is, whether or not the current waveform data is being read. Is determined (step S1502 in FIG. 15).
現在波形データの読込みが行われておらず新規の読込み処理である場合(ステップS1502の判定がYesの場合)には、CPU201は、変数READING_WAVEに、RAM203上の変数C_TONE(図6参照)に格納されている現在の音色番号の値を格納する。また、CPU201は、変数aが示す処理対象の波形エリアへの前回までに転送済みの波形データのサイズを示す構造体要素WM_ST[a].READ_SIZE(図6参照)に、未転送を示す初期値「0」を格納する(以上、ステップS1503)。 If waveform data is not currently being read and the process is a new reading process (when the determination in step S1502 is Yes), the CPU 201 stores the variable READING_WAVE in the variable C_TONE on the RAM 203 (see FIG. 6). Stores the value of the current tone number. In addition, the CPU 201 determines whether the structure element WM_ST [a]. The initial value “0” indicating non-transfer is stored in READ_SIZE (see FIG. 6) (step S1503).
現在波形データの読込みが行われており継続の読込み処理である場合(ステップS1502の判定がNoの場合)には、CPU201は、ステップS1503の処理はスキップし、変数READING_WAVEと構造体要素WM_ST[a].READ_SIZEの値はそのまま引き継ぐ。 If the current waveform data is being read and the process is a continuous reading process (if the determination in step S1502 is No), the CPU 201 skips the process in step S1503 and sets the variable READING_WAVE and the structure element WM_ST [a ]. The value of READ_SIZE is inherited as it is.
その後、CPU201は、ステップS1504以降の処理に移行し、変数Wに得られた波形番号の波形データを大容量フラッシュメモリ204から波形メモリ206へ転送する処理を開始する。 Thereafter, the CPU 201 proceeds to the processing after step S1504, and starts the processing of transferring the waveform data of the waveform number obtained in the variable W from the large-capacity flash memory 204 to the waveform memory 206.
CPU201はまず、大容量フラッシュメモリ204からの読込み処理を実行する(ステップS1504)。即ち、CPU201は、変数rp(初期値はステップS1501でセットされた「0」)の値に、図7のステップS704の音色切替え処理内の図9のステップS906で変数a(=変数C_AREA)の処理対象波形エリアに対応する構造体要素WM_ST[a].OFFSET_ADRSに格納されたオフセットアドレス値を加算する。更に、CPU201は、変数rpの値に、変数a(=変数C_AREA)が示す処理対象波形エリアに対応する前回までに転送済みの波形データのサイズを示す構造体要素WM_ST[a].READ_SIZEの値を加算する。そして、CPU201は、このようにして得られる変数rpが示す大容量フラッシュメモリ204上のアドレスから、1ワード分の波形データを読み込み、RAM203上の変数dに格納する。 First, the CPU 201 executes a reading process from the large-capacity flash memory 204 (step S1504). That is, the CPU 201 sets the variable rp (initial value is “0” set in step S1501) to the value of the variable a (= variable C_AREA) in step S906 in FIG. 9 in the timbre switching process in step S704 in FIG. Structure element WM_ST [a]. The offset address value stored in OFFSET_ADRS is added. Further, the CPU 201 sets the structure element WM_ST [a]. Indicating the size of the waveform data transferred up to the previous time corresponding to the processing target waveform area indicated by the variable a (= variable C_AREA) as the value of the variable rp. Add the value of READ_SIZE. The CPU 201 reads the waveform data for one word from the address on the large-capacity flash memory 204 indicated by the variable rp obtained in this way, and stores it in the variable d on the RAM 203.
次に、CPU201は、波形メモリ206への書込み処理を実行する(ステップS1505)。即ち、CPU201は、変数wp(初期値はステップS1501でセットされた「0」)の値に、ステップS1504と同様の構造体要素WM_ST[a].OFFSET_ADRSに格納されたオフセットアドレス値を加算する。更に、CPU201は、変数wpの値に、ステップS1504と同様の構造体要素WM_ST[a].READ_SIZEの値を加算する。そして、CPU201は、このようにして得られる変数wpが示す波形メモリ206上のアドレスに、変数dに格納されている1ワード分の波形データを、音源LSI205経由で書き込む。 Next, the CPU 201 executes a writing process to the waveform memory 206 (step S1505). That is, the CPU 201 sets the structure element WM_ST [a] .. similar to that in step S1504 to the value of the variable wp (initial value is “0” set in step S1501). The offset address value stored in OFFSET_ADRS is added. Furthermore, the CPU 201 sets the structure element WM_ST [a]. Add the value of READ_SIZE. Then, the CPU 201 writes the waveform data for one word stored in the variable d via the tone generator LSI 205 to the address on the waveform memory 206 indicated by the variable wp thus obtained.
その後、CPU201は、今回までに転送済みの波形データのサイズを示す構造体要素WM_ST[a].READ_SIZEの値を+1インクリメントし、今回読込みサイズカウンタ変数cの値を+1インクリメントする(ステップS1506)。 Thereafter, the CPU 201 determines the structure element WM_ST [a]. The value of READ_SIZE is incremented by +1, and the value of the current read size counter variable c is incremented by +1 (step S1506).
そして、CPU201は、今回までに転送済みの波形データのサイズを示す構造体要素WM_ST[a].READ_SIZEの値が、変数aが示す処理対象波形エリアに対応する波形データのサイズ要素WM_ST[a].WAVE_SIZEの値に等しくなったか否かを判定する(ステップS1507)。 Then, the CPU 201 determines the structure element WM_ST [a]. The value of READ_SIZE is a waveform data size element WM_ST [a]. It is determined whether or not the value is equal to WAVE_SIZE (step S1507).
ステップS1507の判定がNoならば、CPU201は、今回読込みサイズカウンタ変数cの値が100000バイトに等しくなったか否か、すなわち、今回転送されたサイズが100KB(キロバイト)に達したか否かを判定する(ステップS1508)。 If the determination in step S1507 is No, the CPU 201 determines whether or not the value of the current read size counter variable c is equal to 100000 bytes, that is, whether or not the currently transferred size has reached 100 KB (kilobytes). (Step S1508).
ステップS1508の判定がNoならば、CPU201は、ステップS1504の処理に戻って転送を続行する。 If the determination in step S1508 is No, the CPU 201 returns to the process in step S1504 and continues the transfer.
ステップS1507の判定がYesになると、CPU201は、変数aが示す処理対象波形エリアでの波形データの有無を示す要素WM_ST[a].WAVE(図6参照)に、波形有りを示す値「1」をセットする。また、CPU201は、現在読込み中の波形の番号を示す変数READING_WAVE(図6参照)に、無効値「−1」を格納する(以上、ステップS1509)。 If the determination in step S1507 is Yes, the CPU 201 determines whether there is an element WM_ST [a]. A value “1” indicating the presence of a waveform is set in WAVE (see FIG. 6). Further, the CPU 201 stores an invalid value “−1” in a variable READING_WAVE (see FIG. 6) indicating the number of the waveform currently being read (step S1509).
ステップS1509の処理の後、又はステップS1508の判定がYesとなったら、CPU201は、図15のフローチャートで示される図7のステップS711の波形読込み処理を終了する。 After the processing in step S1509 or when the determination in step S1508 is Yes, the CPU 201 ends the waveform reading processing in step S711 of FIG. 7 shown in the flowchart of FIG.
このように、本実施形態では、一定の容量(例えば100KB)のメモリ転送が完了した時点で処理が中断され、他のメインループの処理を行って再び波形転送プログラムが起動された時に図18のステップS1802からS1803を介して、処理が再開される。このとき、変数Wの波形番号に対応する前回までに転送済みのデータサイズを示す要素値WM_ST[W].READ_SIZEには、図19のステップS1812の処理によって前回までに転送が完了したサイズが格納されているため、図18のステップS1805、図19のステップS1806及びS1807のアドレス演算処理によって、前回転送が完了したアドレスの次のアドレスから転送を再開することができる。 As described above, in the present embodiment, 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, FIG. The process is resumed through steps S1802 to S1803. At this time, the element value WM_ST [W]. Indicating the data size transferred up to the previous time corresponding to the waveform number of the variable W. Since READ_SIZE stores the size that has been transferred up to the previous time by the processing of step S1812 in FIG. 19, the previous transfer is completed by the address calculation processing in steps S1805 of FIG. 18 and steps S1806 and S1807 of FIG. The transfer can be resumed from the address next to the address.
以上説明した実施形態により、音色選択の際に、現実的な再読み込みの可能性を予測して使用可能性の低いと思われる波形から書き換えを行うようにしたので、波形読み込みの発生する可能性を低く抑えることができ、波形無音時間の期待値を短縮することが可能となる。これにより、演奏者のストレスを軽減、或いは全く感じさせないレベルに抑制することができる。 According to the above-described embodiment, when selecting a timbre, the possibility of waveform reading is generated because the possibility of realistic re-reading is predicted and rewriting is performed from a waveform that seems unlikely to be used. Can be kept low, and the expected value of the waveform silence time can be shortened. Thereby, a player's stress can be reduced or it can be suppressed to the level which does not make it feel at all.
以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
楽音の音色夫々に対応した音色波形データのいずれかを指定するための音色選択情報が入力される毎に、前記入力された音色選択情報の入力順序に対応する優先値を前記入力された音色選択情報に付与する優先度付与処理と、
前記入力された音色選択情報に対応する音色波形データが、第1の記憶装置内に設けられ音色波形データ夫々が記憶可能な複数の波形エリアのいずれにも記憶されていない場合に、前記複数の波形エリア夫々に記憶されている音色波形データに対応する音色選択情報に付与された優先値に基づき、前記複数の波形エリアからひとつの波形エリアを選択する選択処理と、
前記入力された音色選択情報に対応する音色波形データを第2の記憶装置から読み出すとともに、前記読み出された音色波形データを、前記選択された波形エリアに書き込む波形書き込み処理と、
を実行する処理部を備えた波形書き込み装置。
(付記2)
前記処理部は、前記優先度付与処理において、前記入力された音色選択情報と前記音色波形情報に付与された優先値とをメモリに記憶する処理を実行する、付記1に記載の波形書き込み装置。
(付記3)
前記第1の記憶装置は、ランダムアクセスメモリを備え、前記第2の記憶装置は、前記第1の記憶装置より容量の大きいフラッシュメモリを備えた、付記1又は2記載の波形書き込み装置。
(付記4)
前記処理部は、前記選択処理において、前記音色選択情報に付与された優先値を、前記音色選択情報毎に累算し、前記累算された優先値に基づき、前記複数の波形エリアからひとつの波形エリアを選択する処理を実行する、付記1乃至3のいずれかに記載の波形書き込み装置。
(付記5)
前記入力順序が新しい音色選択情報順に、大きな優先値が付与され、
前記処理部は、前記選択処理において、前記累算された優先値が最小の音色選択情報を記憶する波形エリアを検索する処理を実行する、付記4に記載の波形書き込み装置。
(付記6)
前記処理部は、前記波形書き込み処理として、
前記音色波形データの前記波形エリアへの読込みが完了前に、前記音色波形データに対応する音色選択情報とは異なる新たな音色選択情報が入力された場合は、前記波形エリアへの前記音色波形データの読込み処理を中止するとともに、前記波形エリアに、前記新たな音色選択情報に対応する音色波形データを前記第2の記憶装置から読み込ませる、付記1乃至5のいずれかに記載の波形書き込み装置。
(付記7)
処理部を有する波形書き込み装置に用いられる波形書き込み方法であって、前記処理部は、
楽音の音色夫々に対応した音色波形データのいずれかを指定するための音色選択情報が入力される毎に、前記入力された音色選択情報の入力順序に対応する優先値を前記入力された音色選択情報に付与し、
前記入力された音色選択情報に対応する音色波形データが、第1の記憶装置内に設けられ音色波形データ夫々が記憶可能な複数の波形エリアのいずれにも記憶されていない場合に、前記複数の波形エリア夫々に記憶されている音色波形データに対応する音色選択情報に付与された優先値に基づき、前記複数の波形エリアからひとつの波形エリアを選択し、
前記入力された音色選択情報に対応する音色波形データを前記第2の記憶装置から読み出すとともに、前記読み出された音色波形データを、前記選択された波形エリアに書き込む、波形書き込み方法。
(付記8)
波形書き込み装置に用いられるコンピュータに、
楽音の音色夫々に対応した音色波形データのいずれかを指定するための音色選択情報が入力される毎に、前記入力された音色選択情報の入力順序に対応する優先値を前記入力された音色選択情報に付与する優先度付与ステップと、
前記入力された音色選択情報に対応する音色波形データが、第1の記憶装置内に設けられ音色波形データ夫々が記憶可能な複数の波形エリアのいずれにも記憶されていない場合に、前記複数の波形エリア夫々に記憶されている音色波形データに対応する音色選択情報に付与された優先値に基づき、前記複数の波形エリアからひとつの波形エリアを選択する選択ステップと、
前記入力された音色選択情報に対応する音色波形データを前記第2の記憶装置から読み出すとともに、前記読み出された音色波形データを、前記選択された波形エリアに書き込む書き込みステップと、
を実行させるプログラム。
(付記9)
付記1乃至6に記載の波形書き込み装置と、
演奏情報を入力する演奏操作子と、
音色選択情報を入力する音色選択操作子と、
複数種の音色波形データが記憶された第1の記憶装置と、
第2の記憶装置と、
前記演奏操作子による演奏情報の入力に応答して、前記第2の記憶装置から読み出された波形データに対応する楽音を生成する音源と、
を備えた電子楽器。
Regarding the above embodiment, the following additional notes are disclosed.
(Appendix 1)
Each time timbre selection information for designating one of timbre waveform data corresponding to each tone color is input, a priority value corresponding to the input order of the input timbre selection information is selected. Prioritization processing to be given to information,
When the timbre waveform data corresponding to the input timbre selection information is not stored in any of the plurality of waveform areas provided in the first storage device and each of the timbre waveform data can be stored, the plurality of timbre waveform data A selection process for selecting one waveform area from the plurality of waveform areas based on the priority value assigned to the timbre selection information corresponding to the timbre waveform data stored in each waveform area;
A waveform writing process for reading out the timbre waveform data corresponding to the input timbre selection information from the second storage device, and writing the read timbre waveform data in the selected waveform area;
The waveform writing device provided with the processing part which performs.
(Appendix 2)
The waveform writing apparatus according to appendix 1, wherein the processing unit executes a process of storing in the memory the input tone color selection information and the priority value assigned to the tone color waveform information in the priority assignment process.
(Appendix 3)
The waveform writing device according to appendix 1 or 2, wherein the first storage device includes a random access memory, and the second storage device includes a flash memory having a larger capacity than the first storage device.
(Appendix 4)
In the selection process, the processing unit accumulates the priority value assigned to the timbre selection information for each timbre selection information, and based on the accumulated priority value, outputs one of the plurality of waveform areas. 4. The waveform writing device according to any one of appendices 1 to 3, which executes a process of selecting a waveform area.
(Appendix 5)
A large priority value is given in order of the timbre selection information in which the input order is new,
The waveform writing apparatus according to appendix 4, wherein the processing unit executes a process of searching for a waveform area storing the timbre selection information with the minimum accumulated priority value in the selection process.
(Appendix 6)
The processing unit, as the waveform writing process,
If new timbre selection information different from the timbre selection information corresponding to the timbre waveform data is input before the timbre waveform data is read into the waveform area, the timbre waveform data to the waveform area is input. The waveform writing device according to any one of appendices 1 to 5, wherein the timbre waveform data corresponding to the new timbre selection information is read from the second storage device in the waveform area.
(Appendix 7)
A waveform writing method used in a waveform writing apparatus having a processing unit, wherein the processing unit includes:
Each time timbre selection information for designating one of timbre waveform data corresponding to each tone color is input, a priority value corresponding to the input order of the input timbre selection information is selected. To the information,
When the timbre waveform data corresponding to the input timbre selection information is not stored in any of the plurality of waveform areas provided in the first storage device and each of the timbre waveform data can be stored, the plurality of timbre waveform data Based on the priority value assigned to the timbre selection information corresponding to the timbre waveform data stored in each waveform area, one waveform area is selected from the plurality of waveform areas,
A waveform writing method of reading timbre waveform data corresponding to the input timbre selection information from the second storage device and writing the read timbre waveform data to the selected waveform area.
(Appendix 8)
In the computer used for the waveform writing device,
Each time timbre selection information for designating one of timbre waveform data corresponding to each tone color is input, a priority value corresponding to the input order of the input timbre selection information is selected. A step of giving priority to information,
When the timbre waveform data corresponding to the input timbre selection information is not stored in any of the plurality of waveform areas provided in the first storage device and each of the timbre waveform data can be stored, the plurality of timbre waveform data A selection step of selecting one waveform area from the plurality of waveform areas based on the priority value assigned to the timbre selection information corresponding to the timbre waveform data stored in each waveform area;
A writing step of reading the timbre waveform data corresponding to the input timbre selection information from the second storage device, and writing the read timbre waveform data in the selected waveform area;
A program that executes
(Appendix 9)
The waveform writing device according to appendices 1 to 6,
A performance controller for inputting performance information;
A tone selection operator for inputting tone selection information;
A first storage device storing a plurality of types of timbre waveform data;
A second storage device;
A sound source that generates a musical sound corresponding to the waveform data read from the second storage device in response to input of performance information by the performance operator;
Electronic musical instrument with
100 電子鍵盤楽器
101 鍵盤
102 音色選択ボタン
103 機能選択ボタン
104 ベンダ/モジュレーション・ホイール
105 LCD
201 CPU
202 ROM
203 RAM
204 大容量フラッシュメモリ
205 音源LSI
206 波形メモリ
207 キー・スキャナ
208 A/Dコンバータ
209 LCDコントローラ
210 D/Aコンバータ
211 アンプ
213 MIDI I/F
214 システムバス
100 Electronic Keyboard Instrument 101 Keyboard 102 Tone Selection Button 103 Function Selection Button 104 Vendor / Modulation Wheel 105 LCD
201 CPU
202 ROM
203 RAM
204 Large-capacity flash memory 205 Sound source LSI
206 Waveform memory 207 Key scanner 208 A / D converter 209 LCD controller 210 D / A converter 211 Amplifier 213 MIDI I / F
214 System bus
Claims (9)
前記入力された音色選択情報に対応する音色波形データが、第1の記憶装置内に設けられ音色波形データ夫々が記憶可能な複数の波形エリアのいずれにも記憶されていない場合に、前記複数の波形エリア夫々に記憶されている音色波形データに対応する音色選択情報に付与された優先値に基づき、前記複数の波形エリアからひとつの波形エリアを選択する選択処理と、
前記入力された音色選択情報に対応する音色波形データを第2の記憶装置から読み出すとともに、前記読み出された音色波形データを、前記選択された波形エリアに書き込む波形書き込み処理と、
を実行する処理部を備えた波形書き込み装置。 Each time timbre selection information for designating one of timbre waveform data corresponding to each tone color is input, a priority value corresponding to the input order of the input timbre selection information is selected. Prioritization processing to be given to information,
When the timbre waveform data corresponding to the input timbre selection information is not stored in any of the plurality of waveform areas provided in the first storage device and each of the timbre waveform data can be stored, the plurality of timbre waveform data A selection process for selecting one waveform area from the plurality of waveform areas based on the priority value assigned to the timbre selection information corresponding to the timbre waveform data stored in each waveform area;
A waveform writing process for reading out the timbre waveform data corresponding to the input timbre selection information from the second storage device, and writing the read timbre waveform data in the selected waveform area;
The waveform writing device provided with the processing part which performs.
前記処理部は、前記選択処理において、前記累算された優先値が最小の音色選択情報を記憶する波形エリアを検索する処理を実行する、請求項4に記載の波形書き込み装置。 A large priority value is given in order of the timbre selection information in which the input order is new,
5. The waveform writing device according to claim 4, wherein in the selection process, the processing unit executes a process of searching for a waveform area in which the timbre selection information with the minimum accumulated priority value is stored.
前記音色波形データの前記波形エリアへの読込みが完了前に、前記音色波形データに対応する音色選択情報とは異なる新たな音色選択情報が入力された場合は、前記波形エリアへの前記音色波形データの読込み処理を中止するとともに、前記波形エリアに、前記新たな音色選択情報に対応する音色波形データを前記第2の記憶装置から読み込ませる、請求項1乃至5のいずれかに記載の波形書き込み装置。 The processing unit, as the waveform writing process,
If new timbre selection information different from the timbre selection information corresponding to the timbre waveform data is input before the timbre waveform data is read into the waveform area, the timbre waveform data to the waveform area is input. 6. The waveform writing device according to claim 1, wherein the timbre waveform data corresponding to the new timbre selection information is read from the second storage device in the waveform area. .
楽音の音色夫々に対応した音色波形データのいずれかを指定するための音色選択情報が入力される毎に、前記入力された音色選択情報の入力順序に対応する優先値を前記入力された音色選択情報に付与し、
前記入力された音色選択情報に対応する音色波形データが、第1の記憶装置内に設けられ音色波形データ夫々が記憶可能な複数の波形エリアのいずれにも記憶されていない場合に、前記複数の波形エリア夫々に記憶されている音色波形データに対応する音色選択情報に付与された優先値に基づき、前記複数の波形エリアからひとつの波形エリアを選択し、
前記入力された音色選択情報に対応する音色波形データを前記第2の記憶装置から読み出すとともに、前記読み出された音色波形データを、前記選択された波形エリアに書き込む、波形書き込み方法。 A waveform writing method used in a waveform writing apparatus having a processing unit, wherein the processing unit includes:
Each time timbre selection information for designating one of timbre waveform data corresponding to each tone color is input, a priority value corresponding to the input order of the input timbre selection information is selected. To the information,
When the timbre waveform data corresponding to the input timbre selection information is not stored in any of the plurality of waveform areas provided in the first storage device and each of the timbre waveform data can be stored, the plurality of timbre waveform data Based on the priority value assigned to the timbre selection information corresponding to the timbre waveform data stored in each waveform area, one waveform area is selected from the plurality of waveform areas,
A waveform writing method of reading timbre waveform data corresponding to the input timbre selection information from the second storage device and writing the read timbre waveform data to the selected waveform area.
楽音の音色夫々に対応した音色波形データのいずれかを指定するための音色選択情報が入力される毎に、前記入力された音色選択情報の入力順序に対応する優先値を前記入力された音色選択情報に付与する優先度付与ステップと、
前記入力された音色選択情報に対応する音色波形データが、第1の記憶装置内に設けられ音色波形データ夫々が記憶可能な複数の波形エリアのいずれにも記憶されていない場合に、前記複数の波形エリア夫々に記憶されている音色波形データに対応する音色選択情報に付与された優先値に基づき、前記複数の波形エリアからひとつの波形エリアを選択する選択ステップと、
前記入力された音色選択情報に対応する音色波形データを前記第2の記憶装置から読み出すとともに、前記読み出された音色波形データを、前記選択された波形エリアに書き込む書き込みステップと、
を実行させるプログラム。 In the computer used for the waveform writing device,
Each time timbre selection information for designating one of timbre waveform data corresponding to each tone color is input, a priority value corresponding to the input order of the input timbre selection information is selected. A step of giving priority to information,
When the timbre waveform data corresponding to the input timbre selection information is not stored in any of the plurality of waveform areas provided in the first storage device and each of the timbre waveform data can be stored, the plurality of timbre waveform data A selection step of selecting one waveform area from the plurality of waveform areas based on the priority value assigned to the timbre selection information corresponding to the timbre waveform data stored in each waveform area;
A writing step of reading the timbre waveform data corresponding to the input timbre selection information from the second storage device, and writing the read timbre waveform data in the selected waveform area;
A program that executes
演奏情報を入力する演奏操作子と、
音色選択情報を入力する音色選択操作子と、
複数種の音色波形データが記憶された第1の記憶装置と、
第2の記憶装置と、
前記演奏操作子による演奏情報の入力に応答して、前記第2の記憶装置から読み出された波形データに対応する楽音を生成する音源と、
を備えた電子楽器。 The waveform writing device according to claim 1,
A performance controller for inputting performance information;
A tone selection operator for inputting tone selection information;
A first storage device storing a plurality of types of timbre waveform data;
A second storage device;
A sound source that generates a musical sound corresponding to the waveform data read from the second storage device in response to input of performance information by the performance operator;
Electronic musical instrument with
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015179675A JP6657693B2 (en) | 2015-09-11 | 2015-09-11 | Waveform writing device, method, program, and electronic musical instrument |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015179675A JP6657693B2 (en) | 2015-09-11 | 2015-09-11 | Waveform writing device, method, program, and electronic musical instrument |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017054076A true JP2017054076A (en) | 2017-03-16 |
JP6657693B2 JP6657693B2 (en) | 2020-03-04 |
Family
ID=58320743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015179675A Active JP6657693B2 (en) | 2015-09-11 | 2015-09-11 | Waveform writing device, method, program, and electronic musical instrument |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6657693B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018159869A (en) * | 2017-03-23 | 2018-10-11 | カシオ計算機株式会社 | Musical sound creation device, musical sound creation method, musical sound creation program, and electronic musical instrument |
JP2018159871A (en) * | 2017-03-23 | 2018-10-11 | カシオ計算機株式会社 | Musical sound creation device, musical sound creation method, musical sound creation program, and electronic musical instrument |
US10475425B2 (en) | 2017-03-23 | 2019-11-12 | Casio Computer Co., Ltd. | Musical sound generation device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000276172A (en) * | 1999-03-24 | 2000-10-06 | Yamaha Corp | Musical sound generating device and storage medium |
JP2002287757A (en) * | 2001-03-23 | 2002-10-04 | Yamaha Corp | Sound data transfer method and sound data transfer apparatus, and program |
JP2012059204A (en) * | 2010-09-13 | 2012-03-22 | Nec Corp | Information processing apparatus, information processing method and computer program |
-
2015
- 2015-09-11 JP JP2015179675A patent/JP6657693B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000276172A (en) * | 1999-03-24 | 2000-10-06 | Yamaha Corp | Musical sound generating device and storage medium |
JP2002287757A (en) * | 2001-03-23 | 2002-10-04 | Yamaha Corp | Sound data transfer method and sound data transfer apparatus, and program |
JP2012059204A (en) * | 2010-09-13 | 2012-03-22 | Nec Corp | Information processing apparatus, information processing method and computer program |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018159869A (en) * | 2017-03-23 | 2018-10-11 | カシオ計算機株式会社 | Musical sound creation device, musical sound creation method, musical sound creation program, and electronic musical instrument |
JP2018159871A (en) * | 2017-03-23 | 2018-10-11 | カシオ計算機株式会社 | Musical sound creation device, musical sound creation method, musical sound creation program, and electronic musical instrument |
US10373595B2 (en) | 2017-03-23 | 2019-08-06 | Casio Computer Co., Ltd. | Musical sound generation device |
US10475425B2 (en) | 2017-03-23 | 2019-11-12 | Casio Computer Co., Ltd. | Musical sound generation device |
Also Published As
Publication number | Publication date |
---|---|
JP6657693B2 (en) | 2020-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6708179B2 (en) | Information processing method, information processing apparatus, and program | |
US10325581B2 (en) | Singing voice edit assistant method and singing voice edit assistant device | |
US10373595B2 (en) | Musical sound generation device | |
JP6657693B2 (en) | Waveform writing device, method, program, and electronic musical instrument | |
US10475425B2 (en) | Musical sound generation device | |
US20190103084A1 (en) | Singing voice edit assistant method and singing voice edit assistant device | |
EP3550555B1 (en) | Electronic musical instrument, method, and storage medium | |
JP6455189B2 (en) | Waveform reading apparatus, method, program, and electronic musical instrument | |
KR102082239B1 (en) | Providing method, apparatus and computer-readable medium of music contents using a user terminal linking with an electronic musical instrument | |
JP6428689B2 (en) | Waveform reading apparatus, method, program, and electronic musical instrument | |
JP2019028200A (en) | Musical sound generator, method, program, and electronic musical instrument | |
JP6724316B2 (en) | Waveform writing device, method, program, and electronic musical instrument | |
JP4265408B2 (en) | Electronic music apparatus and computer program applied to the apparatus | |
JP2017054075A (en) | Waveform writing device, method, program, and electronic musical instrument | |
JP4096952B2 (en) | Music generator | |
JP6606839B2 (en) | Waveform writing apparatus, method, program, and electronic musical instrument | |
JP4082313B2 (en) | Tone generator and program | |
JP6540057B2 (en) | Waveform reading apparatus, method, program, and electronic musical instrument | |
JP3635658B2 (en) | Editing instruction apparatus, method, and program related to the method | |
JP2000122645A (en) | Electronic musical instrument with help function | |
JP2019032566A (en) | Musical sound creation device, musical sound creation method, musical sound creation program, and electronic musical instrument | |
WO2001065535A1 (en) | Musical sound generator | |
JP2009216902A (en) | Electronic information processor and program | |
JPH10124059A (en) | Musical sound generating method and storage medium | |
JP2018054857A (en) | Electronic musical instrument, control method for electronic musical instrument and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180830 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20190415 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190719 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190730 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190917 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191126 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191216 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200107 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200120 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6657693 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |