[go: up one dir, main page]

JP5995054B2 - Waveform generator, program, waveform generation method, and electronic musical instrument - Google Patents

Waveform generator, program, waveform generation method, and electronic musical instrument Download PDF

Info

Publication number
JP5995054B2
JP5995054B2 JP2012066789A JP2012066789A JP5995054B2 JP 5995054 B2 JP5995054 B2 JP 5995054B2 JP 2012066789 A JP2012066789 A JP 2012066789A JP 2012066789 A JP2012066789 A JP 2012066789A JP 5995054 B2 JP5995054 B2 JP 5995054B2
Authority
JP
Japan
Prior art keywords
waveform
reading
data samples
slave
master
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012066789A
Other languages
Japanese (ja)
Other versions
JP2013200326A5 (en
JP2013200326A (en
Inventor
佐藤 博毅
博毅 佐藤
肇 川島
肇 川島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2012066789A priority Critical patent/JP5995054B2/en
Publication of JP2013200326A publication Critical patent/JP2013200326A/en
Publication of JP2013200326A5 publication Critical patent/JP2013200326A5/en
Application granted granted Critical
Publication of JP5995054B2 publication Critical patent/JP5995054B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

本発明は、電子楽器の音源に用いて好適な波形発生装置、プログラム、波形発生方法および電子楽器に関する。 The present invention relates to a waveform generation device , a program, a waveform generation method, and an electronic musical instrument suitable for use as a sound source of an electronic musical instrument .

マスター側およびスレーブ側の2系統のオシレータを備え、スレーブオシレータの波形発生開始タイミングを、マスターオシレータの波形発生開始タイミングに強制的に同期させる、いわゆるオシレータ同期型の波形発生装置が知られている。この種の波形発生装置では、例えばスレーブ波形出力のピッチを一定にして、マスター波形出力のピッチのみを変化させると、スレーブ波形出力の波形形状が変形され、これによりピッチ変化と音色変化とが同時に得られる独特な音響効果(オシレータシンクロナイズ効果)を備えた波形を生成し得るようになっており、この種の装置については例えば特許文献1に開示されている。   2. Description of the Related Art A so-called oscillator-synchronized waveform generator is known that includes two systems of oscillators on the master side and slave side and forcibly synchronizes the waveform generation start timing of the slave oscillator with the waveform generation start timing of the master oscillator. In this type of waveform generator, for example, if the pitch of the slave waveform output is made constant and only the pitch of the master waveform output is changed, the waveform shape of the slave waveform output is deformed, thereby causing the pitch change and the timbre change simultaneously. A waveform having a unique acoustic effect (oscillator synchronization effect) obtained can be generated, and this type of device is disclosed in, for example, Patent Document 1.

特開2009−42785号公報JP 2009-42785 A

ところで、一般的な波形データ読み出し方式の音源では、複数チャンネルのオシレータ(波形発生装置)を搭載していても、その内の任意の2組のオシレータをマスターオシレータとスレーブオシレータとに割り当て、スレーブオシレータが発生する波形の先頭をマスターオシレータの波形読み出し周期に強制的に同期させようとすると、この同期のためのハードウェア構成が必要となり、その分製品コスト高を招致してしまう。   By the way, even if a general waveform data readout type sound source is equipped with a multi-channel oscillator (waveform generator), any two sets of oscillators are assigned to a master oscillator and a slave oscillator, and a slave oscillator is provided. If it is attempted to forcibly synchronize the top of the waveform in which the error occurs with the waveform read cycle of the master oscillator, a hardware configuration for this synchronization is required, resulting in an increase in product cost.

本発明は、このような事情に鑑みてなされたもので、製品コスト高を招致することなく波形データ読み出し方式でオシレータシンクロナイズ効果を具現することができる波形発生装置、プログラム、波形発生方法および電子楽器を提供することを目的としている。 The present invention has been made in view of such circumstances, and a waveform generating apparatus , a program, a waveform generating method, and an electronic musical instrument capable of realizing an oscillator synchronization effect by a waveform data reading method without incurring high product costs The purpose is to provide.

上記目的を達成するため、本発明の波形発生装置は、
メモリから1周期分のマスター波形に対応する複数のデータサンプルを読み出す際のマスター波形読み出し速度及び前記メモリから1周期分のスレーブ波形に対応する複数のデータサンプルを読み出す際のスレーブ波形読み出し速度を設定する読み出し速度設定処理と、
前記設定されたマスター波形読み出し速度で前記1周期分のマスター波形に対応するデータサンプル数分読み出す間に、前記設定されたスレーブ波形読み出し速度で読み出し可能なデータサンプル数を取得する取得処理と、
前記設定されたマスター波形読み出し速度で、前記メモリから前記1周期分のマスター波形に対応する複数のデータサンプルを順次読み出す動作を繰り返す第1の波形読出処理と、
前記マスター波形に対応する複数のデータサンプルの読み出しの開始に同期して、前記メモリに記憶された前記1周期分のスレーブ波形に対応する複数のデータサンプルを、予め定められたデータサンプルの位置から読み出しを開始する読み出し開始処理と、
前記スレーブ波形に対応するデータサンプルの読み出しを開始した後、前記設定されたスレーブ波形読み出し速度で前記スレーブ波形に対応する複数のデータサンプルを順次読み出すとともに、前記読み出された前記スレーブ波形に対応するデータサンプル数が前記取得されたデータサンプル数と一致したか否か判別し、一致と判別された場合には、前記スレーブ波形の読み出しを前記予め定められたデータサンプルの位置に戻して前記1周期分のスレーブ波形に対応する複数のデータサンプルを読み出す動作を繰り返す第2の波形読出処理と、を実行する処理部を有することを特徴とする。
In order to achieve the above object, the waveform generator of the present invention comprises:
Sets the master waveform reading speed when reading a plurality of data samples corresponding to the master waveform for one period from the memory and the slave waveform reading speed when reading a plurality of data samples corresponding to the slave waveform for one period from the memory. Reading speed setting process to
An acquisition process for acquiring the number of data samples that can be read at the set slave waveform reading speed while reading the number of data samples corresponding to the master waveform for the one period at the set master waveform reading speed;
A first waveform reading process that repeats an operation of sequentially reading a plurality of data samples corresponding to the master waveform for one period from the memory at the set master waveform reading speed ;
Synchronously with the start of reading of the plurality of data samples corresponding to the master waveform, the plurality of data samples corresponding to the slave waveform for one period stored in the memory are determined from the position of the predetermined data sample. A reading start process for starting reading;
After starting reading data samples corresponding to the slave waveform, a plurality of data samples corresponding to the slave waveform are sequentially read at the set slave waveform reading speed, and corresponding to the read slave waveform It is determined whether or not the number of data samples matches the acquired number of data samples. If it is determined that the number of data samples matches, the reading of the slave waveform is returned to the position of the predetermined data sample and the one cycle a second waveform readout process of repeating an operation for reading a plurality of data samples corresponding to the amount of the slave waveform, characterized by having a processing unit for executing.

本発明では、製品コスト高を招致することなく波形データ読み出し方式でオシレータシンクロナイズ効果を具現することができる。   According to the present invention, the oscillator synchronization effect can be realized by the waveform data reading method without incurring high product cost.

実施の一形態による電子楽器100の全体構成を示すブロック図である。1 is a block diagram illustrating an overall configuration of an electronic musical instrument 100 according to an embodiment. 本発明による波形発生装置を備えた音源17の構成を示すブロック図である。It is a block diagram which shows the structure of the sound source 17 provided with the waveform generator by this invention. オシレータの波形読み出しを説明するための図である。It is a figure for demonstrating the waveform reading of an oscillator. マスターオシレータOSC1とスレーブオシレータOSC2との関係を説明するための図である。It is a figure for demonstrating the relationship between master oscillator OSC1 and slave oscillator OSC2. 発音処理の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of a sound generation process. ピッチ計算処理の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of a pitch calculation process. アドレス計算処理の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of an address calculation process. ハードウェアピッチ/アドレス処理の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of a hardware pitch / address process. 周期処理の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of a period process.

以下、図面を参照して本発明の実施形態について説明する。
A.構成
図1は、本発明の実施の一形態による電子楽器100の全体構成を示すブロック図である。この図に示す電子楽器100は、鍵盤10、スイッチ部11、ピッチベンダ12、CPU13、表示部14、ROM15、RAM16、音源17、D/A変換器18およびサウンドシステム19を備える。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
A. Constitution
FIG. 1 is a block diagram showing an overall configuration of an electronic musical instrument 100 according to an embodiment of the present invention. An electronic musical instrument 100 shown in this figure includes a keyboard 10, a switch unit 11, a pitch vendor 12, a CPU 13, a display unit 14, a ROM 15, a RAM 16, a sound source 17, a D / A converter 18, and a sound system 19.

鍵盤10は、押離鍵操作(演奏操作)に応じたキーオン/キーオフ信号、キーナンバ(鍵番号)およびベロシティ等からなる演奏情報を発生する。スイッチ部11は、楽器パネルに配設され、発生楽音の音色を選択する音色選択スイッチやオシレータシンクさせるか否かを指定するオシレータシンクスイッチなどの各種スイッチを備え、操作されるスイッチ種に応じた操作イベントを発生する。   The keyboard 10 generates performance information including a key-on / key-off signal, a key number (key number), velocity, and the like corresponding to a press / release key operation (performance operation). The switch unit 11 is provided on the musical instrument panel and includes various switches such as a tone color selection switch for selecting a tone color of the generated musical tone and an oscillator sync switch for designating whether or not to perform the oscillator sync. Generate an operation event.

ピッチベンダ12は、ユーザのベンダホイール回動操作に応じたピッチベンド値を発生してCPU13に供給する。ピッチベンド値は、後述するように、鍵盤10の演奏情報(キーナンバ)で指定されるピッチデータ(位相情報)を可変制御するために用いられる。   The pitch bender 12 generates a pitch bend value corresponding to the user's bender wheel turning operation and supplies it to the CPU 13. The pitch bend value is used to variably control pitch data (phase information) specified by performance information (key number) of the keyboard 10 as will be described later.

CPU13は、スイッチ部11のスイッチ操作に応じて発生する操作イベントに基づき楽器各部の動作状態を設定したり、鍵盤10から供給される演奏情報に応じたコマンド(例えば発音指示コマンドや消音指示コマンド等)を生成し、これを音源17に送出して楽音形成させる。また、CPU13はピッチベンダ12から供給されるピッチベンド値に応じて変化させたピッチデータ(位相情報)を音源17に与える。本発明の要旨に係わるCPU13の特徴的な処理動作については追って述べる。   The CPU 13 sets the operating state of each part of the musical instrument based on an operation event that occurs in response to a switch operation of the switch unit 11, and commands (for example, a sound generation instruction command, a mute instruction command, etc.) according to performance information supplied from the keyboard 10 ) And is sent to the sound source 17 to form a musical tone. Further, the CPU 13 gives pitch data (phase information) changed according to the pitch bend value supplied from the pitch bender 12 to the sound source 17. The characteristic processing operation of the CPU 13 according to the gist of the present invention will be described later.

表示部14は、液晶表示パネルおよび駆動回路から構成され、CPU13から供給される表示制御信号に応じて、例えばパラメータ設定状態や動作状態などを表示する。ROM15は、上記CPU13にロードされる各種制御プログラムや制御データ等を記憶する。ここで言う各種制御プログラムとは、後述するピッチ計算処理、アドレス計算処理およびハードウェアピッチ/アドレス処理を含む。RAM16は、CPU13のワークエリアとして用いられ、各種レジスタ・フラグデータを一時記憶する。   The display unit 14 includes a liquid crystal display panel and a drive circuit, and displays, for example, a parameter setting state and an operation state according to a display control signal supplied from the CPU 13. The ROM 15 stores various control programs and control data that are loaded into the CPU 13. The various control programs referred to here include pitch calculation processing, address calculation processing, and hardware pitch / address processing described later. The RAM 16 is used as a work area for the CPU 13 and temporarily stores various register / flag data.

音源17は、CPU13から供給される演奏情報に応じた楽音波形を発生する。音源17の構成については追って詳述する。D/A変換器18は、音源17から出力される楽音波形をアナログ形式の楽音信号に変換して出力する。サウンドシステム19は、D/A変換器18が出力する楽音信号から不要ノイズを除去する等のフィルタリングを施した後、これを増幅してスピーカから発音させる。   The sound source 17 generates a musical sound waveform corresponding to the performance information supplied from the CPU 13. The configuration of the sound source 17 will be described in detail later. The D / A converter 18 converts the musical sound waveform output from the sound source 17 into an analog musical sound signal and outputs it. The sound system 19 performs filtering such as removing unnecessary noise from the musical sound signal output from the D / A converter 18, and then amplifies it to make it sound from the speaker.

(2)音源17の構成
次に、図2を参照して音源17の構成について説明する。音源17はDSPを用いた周知の波形メモリ読み出し方式で構成される。したがって、図2はそのDSPにおいて実行されるマイクロプログラムの各機能をハードウェアイメージとして捉らえた機能ブロックを図示している。
(2) Configuration of Sound Source 17 Next, the configuration of the sound source 17 will be described with reference to FIG. The sound source 17 is configured by a well-known waveform memory reading method using a DSP. Therefore, FIG. 2 illustrates functional blocks in which each function of the microprogram executed in the DSP is regarded as a hardware image.

図2において、LFO(低周波発振器)171は、ピッチ変調用のLFO波形を発生する。加算器172は、ユーザのベンダホイール回動操作に応じてピッチベンダ12から出力されるピッチベンダ出力(ピッチベンド値)と、LFO171から出力されるLFO波形とを加算して発振器170aに供給する。   In FIG. 2, an LFO (low frequency oscillator) 171 generates an LFO waveform for pitch modulation. The adder 172 adds the pitch bender output (pitch bend value) output from the pitch bender 12 and the LFO waveform output from the LFO 171 according to the user's vendor wheel rotation operation, and supplies the sum to the oscillator 170a.

発振器170aは、押鍵に応じてCPU13から供給され、押鍵された鍵の音高(キーナンバ)に対応した読み出し速度を表すピッチデータ(位相情報)を、加算器172の出力で変調し、変調されたピッチデータ(位相情報)に従った読み出し速度で波形メモリ173から波形データを読み出す。波形メモリ173には、各種音色の波形データが記憶されており、この中からユーザにより選択された音色の波形データが上記発振器170aにより読み出される。   The oscillator 170 a is supplied from the CPU 13 in response to the key depression, and modulates the pitch data (phase information) representing the reading speed corresponding to the pitch (key number) of the depressed key with the output of the adder 172, The waveform data is read from the waveform memory 173 at a reading speed according to the pitch data (phase information). The waveform memory 173 stores waveform data of various timbres, and the timbre waveform data selected by the user is read out by the oscillator 170a.

EG(エンベロープジェネレータ)170bは、CPU13の制御の下に、音量制御に用いる公知のADSR型のエンベロープ波形を発生する。増幅器170cは、EG170bから供給されるエンベロープ波形に応じて、発振器170aから出力される波形データの振幅を制御して出力する。   An EG (envelope generator) 170 b generates a known ADSR type envelope waveform used for volume control under the control of the CPU 13. The amplifier 170c controls and outputs the amplitude of the waveform data output from the oscillator 170a in accordance with the envelope waveform supplied from the EG 170b.

上記構成において、発振器170a、EG170bおよび増幅器170cが、1つの発音チャンネルに対応する波形発生装置(オシレータOSC)170を構成する。本実施形態では、64組の波形発生装置(オシレータOSC)170−1〜170−64を備えており、これらの内の固定的な2組(マスターオシレータOSC1およびスレーブオシレータOSC2)を用いてオシレータシンク機能を具現する。ミキサ174は、各波形発生装置170−1〜170−64から出力される波形データを加算して楽音出力を発生する。   In the above configuration, the oscillator 170a, the EG 170b, and the amplifier 170c constitute a waveform generator (oscillator OSC) 170 corresponding to one sound generation channel. In the present embodiment, 64 sets of waveform generators (oscillator OSC) 170-1 to 170-64 are provided, and oscillator sync using two fixed sets (master oscillator OSC1 and slave oscillator OSC2) of these sets. Embody the function. The mixer 174 adds the waveform data output from the waveform generators 170-1 to 170-64 to generate a musical sound output.

ここで、図3および図4を参照してオシレータシンク機能を具現するマスターオシレータOSC1およびスレーブオシレータOSC2の波形読み出し動作について説明する。図3は、波形発生装置(オシレータOSC)170の波形読み出し動作を示す図である。波形メモリ173から波形データを読み出す波形発生装置(オシレータOSC)170には、波形データの先頭を指定する開始点SP(先頭アドレス)、波形データの末尾を指定する終了点EP(エンドアドレス)、ループ点LP(ループアドレス)および読み出し速度が指定される。   Here, with reference to FIG. 3 and FIG. 4, the waveform read operation of the master oscillator OSC1 and the slave oscillator OSC2 that implement the oscillator sync function will be described. FIG. 3 is a diagram showing a waveform reading operation of the waveform generator (oscillator OSC) 170. A waveform generator (oscillator OSC) 170 that reads waveform data from the waveform memory 173 includes a start point SP (start address) that specifies the beginning of the waveform data, an end point EP (end address) that specifies the end of the waveform data, and a loop. Point LP (loop address) and readout speed are specified.

本実施形態では、1周期の波形データを繰り返し読み出す為、繰り返し点となるループ点LPが開始点SPに一致する。波形の読み出し速度は、1サンプリング周期における読み出しアドレスの増加幅により表される。   In the present embodiment, since one cycle of waveform data is repeatedly read, the loop point LP serving as a repetition point coincides with the start point SP. The waveform reading speed is represented by the increase width of the reading address in one sampling period.

1発音当たり2つマスターオシレータOSC1およびスレーブオシレータOSC2を用いてオシレータシンク機能を具現する場合、マスターオシレータOSC1は通常の波形読み出し動作を行う。スレーブオシレータOSC2の開始点SPおよびループ点LPは波形の先頭になるが、終了点EPはマスターオシレータOSC1のピッチ(より詳しくは波形読み出し周期)に応じて変化する。これについて図4を参照して説明する。   When the oscillator sync function is implemented using two master oscillators OSC1 and slave oscillator OSC2 per tone generation, the master oscillator OSC1 performs a normal waveform reading operation. The start point SP and the loop point LP of the slave oscillator OSC2 are at the beginning of the waveform, but the end point EP changes according to the pitch (more specifically, the waveform read cycle) of the master oscillator OSC1. This will be described with reference to FIG.

図4(a)、(b)は、マスターオシレータOSC1のピッチがスレーブオシレータOSC2より高い(又は低い)場合の読み出し動作を図示している。オシレータシンク機能を具現する場合、スレーブオシレータOSC2は常にマスターオシレータOSC1と同じ周期で先頭アドレスに戻る。   4A and 4B illustrate a read operation when the pitch of the master oscillator OSC1 is higher (or lower) than that of the slave oscillator OSC2. When implementing the oscillator sync function, the slave oscillator OSC2 always returns to the start address in the same cycle as the master oscillator OSC1.

この為、マスターオシレータOSC1が1周期分の波形データを読み出し終える時点が、スレーブオシレータOSC2の終了点EPとなる。つまり、マスターオシレータOSC1のピッチがスレーブオシレータOSC2より高ければ、スレーブオシレータOSC2が1周期分の波形データを読み出す前に終了点EPとなり、一方、マスターオシレータOSC1のピッチがスレーブオシレータOSC2より低ければ、スレーブオシレータOSC2が1周期分以上の波形データを読み出した時点で終了点EPとなる。   Therefore, the end point EP of the slave oscillator OSC2 is the time point when the master oscillator OSC1 finishes reading one period of waveform data. In other words, if the pitch of the master oscillator OSC1 is higher than that of the slave oscillator OSC2, the slave oscillator OSC2 becomes the end point EP before reading one cycle of waveform data. On the other hand, if the pitch of the master oscillator OSC1 is lower than that of the slave oscillator OSC2, The end point EP is reached when the oscillator OSC2 reads waveform data for one period or more.

B.動作
次に、図5〜図9を参照して、CPU13を動作主体とする発音処理および周期処理の各動作について説明する。発音処理は押鍵イベントに応じて実行され、ピッチ計算処理、アドレス計算処理、ハードウェアピッチ/アドレス制御処理を備える。周期処理はタイマ割り込みにより一定周期(例えば1msec毎)に実行され、発音処理と同様、ピッチ計算処理、アドレス計算処理、ハードウェアピッチ/アドレス制御処理を備える。
B. Operation Next, with reference to FIG. 5 to FIG. 9, each operation of the sound generation process and the periodic process mainly performed by the CPU 13 will be described. The sound generation process is executed in response to a key depression event, and includes a pitch calculation process, an address calculation process, and a hardware pitch / address control process. The periodic process is executed at a constant period (for example, every 1 msec) by a timer interrupt, and includes a pitch calculation process, an address calculation process, and a hardware pitch / address control process similar to the sound generation process.

(1)発音処理の動作
図5は、発音処理の動作を示すフローチャートである。押鍵イベントに応じて本処理が実行されると、図5に図示するステップSA1を介してピッチ計算処理を実行する。ピッチ計算処理では、後述するように、マスターオシレータOSC1およびスレーブオシレータOSC2のそれぞれについて、発音すべき音高に応じた波形読み出し速度(1サンプリング周期当たりのアドレス増加分INC[n])を算出する。
(1) Sound Generation Process Operation FIG. 5 is a flowchart showing the sound generation process operation. When this process is executed in response to the key depression event, the pitch calculation process is executed via step SA1 shown in FIG. In the pitch calculation process, as will be described later, for each of the master oscillator OSC1 and the slave oscillator OSC2, a waveform read speed (address increment INC [n] per sampling period) corresponding to the pitch to be generated is calculated.

続いて、ステップSA2では、アドレス計算処理を実行する。アドレス計算処理では、後述するように、オシレータOSC[0]がマスターオシレータOSC1、オシレータOSC[1]がスレーブオシレータOSC2に割り当てられている場合には、オシレータOSC[0]が読み出す波形データの先頭アドレス、ループアドレスおよびエンドアドレスを、それぞれレジスタSADR[0]、レジスタLADR[0]、レジスタEADRにセットすると共に、オシレータOSC[1]が読み出す波形データの先頭アドレスおよびループアドレスを、それぞれレジスタSADR[1]、レジスタLADR[1]にセットする。   Subsequently, in step SA2, an address calculation process is executed. In the address calculation process, as described later, when the oscillator OSC [0] is assigned to the master oscillator OSC1 and the oscillator OSC [1] is assigned to the slave oscillator OSC2, the start address of the waveform data read by the oscillator OSC [0] The loop address and end address are set in the registers SADR [0], LADR [0], and EADR, respectively, and the start address and loop address of the waveform data read by the oscillator OSC [1] are set in the registers SADR [1], respectively. ], Register LADR [1].

そして、オシレータシンク機能を使用する場合には、オシレータOSC[1](スレーブオシレータOSC2)のエンドアドレス(レジスタEADR[1])を、オシレータOSC[0](マスターオシレータOSC1)の波形読み出し周期に合致させるように変更する。こうすることでオシレータOSC[1](スレーブオシレータOSC2)は、常にオシレータOSC[0](マスターオシレータOSC1)と同じ周期で先頭アドレスに戻る。   When the oscillator sync function is used, the end address (register EADR [1]) of the oscillator OSC [1] (slave oscillator OSC2) matches the waveform read cycle of the oscillator OSC [0] (master oscillator OSC1). Change to By doing so, the oscillator OSC [1] (slave oscillator OSC2) always returns to the head address in the same cycle as the oscillator OSC [0] (master oscillator OSC1).

次いで、ステップSA3では、ハードウェアピッチ/アドレス制御処理を実行する。ハードウェアピッチ/アドレス制御処理では、後述するように、音源17のオシレータOSC[0](マスターオシレータOSC1)およびオシレータOSC[1](スレーブオシレータOSC2)のそれぞれに、上述のピッチ計算処理で得られた読み出し速度(1サンプリング周期当たりのアドレス増加分INC)と、上述のアドレス計算処理で得られた先頭アドレス、ループアドレス、エンドアドレスを供給する。   Next, in step SA3, hardware pitch / address control processing is executed. In the hardware pitch / address control process, as will be described later, each of the oscillator OSC [0] (master oscillator OSC1) and the oscillator OSC [1] (slave oscillator OSC2) of the sound source 17 is obtained by the above-described pitch calculation process. The read speed (address increment INC per sampling period) and the start address, loop address, and end address obtained by the address calculation process described above are supplied.

そして、ステップSA4に進み、音源17のオシレータOSC[0](マスターオシレータOSC1)およびオシレータOSC[1](スレーブオシレータOSC2)に波形読み出しを開始させる。   In step SA4, the oscillator OSC [0] (master oscillator OSC1) and the oscillator OSC [1] (slave oscillator OSC2) of the sound source 17 are started to read waveforms.

以上のように、発音処理では、オシレータOSC[1](スレーブオシレータOSC2)が常にオシレータOSC[0](マスターオシレータOSC1)と同じ周期で先頭アドレスに戻るようにする為、スレーブオシレータOSC2のエンドアドレス(レジスタEADR[1])を、マスターオシレータOSC1の波形読み出し周期に合致するよう制御する。   As described above, in the sound generation process, the oscillator OSC [1] (slave oscillator OSC2) always returns to the start address in the same cycle as the oscillator OSC [0] (master oscillator OSC1). (Register EADR [1]) is controlled to match the waveform readout cycle of the master oscillator OSC1.

(2)ピッチ計算処理の動作
図6は、ピッチ計算処理の動作を示すフローチャートである。上述した発音処理のステップSA1(図5参照)を介して本処理が実行されると、図6に図示するステップSB1に進む。ステップSB1では、押鍵された鍵のキーナンバをレジスタKYNに、現在のLFO波高値をレジスタCLFに、ピッチベンド幅設定値をレジスタPBRに、現在のピッチベンド値をレジスタCPBにそれぞれストアする。
(2) Operation of Pitch Calculation Process FIG. 6 is a flowchart showing the operation of the pitch calculation process. When this process is executed through the above-described sound generation process step SA1 (see FIG. 5), the process proceeds to step SB1 shown in FIG. In step SB1, the key number of the depressed key is stored in the register KYN, the current LFO peak value is stored in the register CLF, the pitch bend width setting value is stored in the register PBR, and the current pitch bend value is stored in the register CPB.

続いて、ステップSB2では、オシレータ番号nをゼロリセットする。なお、オシレータ番号nの値は「0」又は「1」となり、「0」の場合にはマスターオシレータOSC1用の配列要素を指定し、「1」の場合にはスレーブオシレータOSC2用の配列要素を指定する。   Subsequently, in step SB2, the oscillator number n is reset to zero. The value of the oscillator number n is “0” or “1”. When “0”, the array element for the master oscillator OSC1 is designated, and when the value is “1”, the array element for the slave oscillator OSC2 is designated. specify.

次いで、ステップSB3では、オシレータ番号nで指定されるオシレータOSC[n]のLFOの掛かり具合をレジスタLFD[n]に、オシレータ番号nで指定されるオシレータOSC[n]のチューニング値をレジスタTUN[n]にストアした後、次式(1)に基づきオシレータ番号nで指定されるオシレータOSC[n]に指示する最終的なピッチOP[n]を算出する。
OP[n]←KYN+(CPB×PBR)+(CLF×LFD[n])+TUN[n]…(1)
Next, in step SB3, the LFO degree of the oscillator OSC [n] specified by the oscillator number n is stored in the register LFD [n], and the tuning value of the oscillator OSC [n] specified by the oscillator number n is stored in the register TUN [ n], the final pitch OP [n] instructed to the oscillator OSC [n] designated by the oscillator number n is calculated based on the following equation (1).
OP [n] ← KYN + (CPB × PBR) + (CLF × LFD [n]) + TUN [n] (1)

続いて、ステップSB4では、上記ステップSB3で得られたピッチOP[n]を次式(2)に従って平均律の周波数FRQ[n]に変換する。
FRQ[n]←MTN×2^((OP[n]−69.0)/12)…(2)
なお、上記(2)式において、MTNは基準音高であるA4音(周波数440Hz)をチューニングした周波数(420〜460Hz)を表す。また、「69.0」は、基準音高(A4音)のMIDIキーナンバーを表す。
Subsequently, in step SB4, the pitch OP [n] obtained in step SB3 is converted into an equal-tempered frequency FRQ [n] according to the following equation (2).
FRQ [n] ← MTN × 2 ^ ((OP [n] -69.0) / 12) (2)
In the above equation (2), MTN represents a frequency (420 to 460 Hz) obtained by tuning an A4 sound (frequency 440 Hz) that is a reference pitch. “69.0” represents the MIDI key number of the reference pitch (A4 sound).

さらに、ステップSB4では、オシレータ番号nで指定されるオシレータOSC[n]の読み出し波形の1波長分のサンプル数をレジスタWL[n]にストアする。そして、次式(3)に基づきレジスタWL[n]にストアされた読み出し波形の1波長分のサンプル数(波形データの数)と、変換された周波数FRQ[n]とから波形読み出し速度を表す1サンプリング周期当たりのアドレス増加分INC[n]を算出する。
INC[n]←WL[n]×(FRQ[n]/Fs)…(3)
なお、上記(3)式において、Fsは波形メモリ173に記憶される波形データのサンプリング周波数を表す
Further, in step SB4, the number of samples for one wavelength of the read waveform of the oscillator OSC [n] designated by the oscillator number n is stored in the register WL [n]. Based on the following equation (3), the waveform readout speed is expressed from the number of samples (number of waveform data) for one wavelength of the readout waveform stored in the register WL [n] and the converted frequency FRQ [n]. Address increment INC [n] per sampling period is calculated.
INC [n] ← WL [n] × (FRQ [n] / Fs) (3)
In the above equation (3), Fs represents the sampling frequency of the waveform data stored in the waveform memory 173.

次いで、ステップSB5では、オシレータ番号nをインクリメントして歩進させ、続くステップSB6では、歩進されたオシレータ番号nが「1」より大きいか否かを判断する。歩進されたオシレータ番号nが「1」ならば、判断結果は「NO」になり、上述したステップSB3に進み、オシレータOSC[1](スレーブオシレータOSC2)の最終的なピッチOP[n]を平均律の周波数FRQ[n]に変換し、変換された周波数FRQ[n]とから波形読み出し速度を表す1サンプリング周期当たりのアドレス増加分INC[n]を算出する。そして、ステップSB5において歩進されたオシレータ番号nが「2」になると、上記ステップSB6の判断結果が「YES」になり、本処理を終える。   Next, in step SB5, the oscillator number n is incremented and stepped, and in the subsequent step SB6, it is determined whether or not the stepped oscillator number n is greater than “1”. If the incremented oscillator number n is “1”, the determination result is “NO”, the process proceeds to step SB3 described above, and the final pitch OP [n] of the oscillator OSC [1] (slave oscillator OSC2) is set. An average increment frequency FRQ [n] is converted, and an address increment INC [n] per sampling period representing a waveform reading speed is calculated from the converted frequency FRQ [n]. Then, when the oscillator number n advanced in step SB5 becomes “2”, the determination result in step SB6 becomes “YES”, and this processing is finished.

このように、ピッチ計算処理では、マスターオシレータOSC1およびスレーブオシレータOSC2のそれぞれについて、最終的なピッチOP[n]に応じた波形読み出し速度(1サンプリング周期当たりのアドレス増加分INC[n])を算出する。   As described above, in the pitch calculation process, the waveform readout speed (address increment INC [n] per sampling period) corresponding to the final pitch OP [n] is calculated for each of the master oscillator OSC1 and the slave oscillator OSC2. To do.

(3)アドレス計算処理の動作
図7は、アドレス計算処理の動作を示すフローチャートである。本処理では、オシレータOSC[0]がマスターオシレータOSC1、オシレータOSC[1]がスレーブオシレータOSC2に割り当てられているものとする。前述した発音処理のステップSA2(図5参照)を介して本処理が実行されると、図7に図示するステップSC1に進み、オシレータOSC[0]が読み出す波形データの先頭アドレス、ループアドレスおよびエンドアドレスを、それぞれレジスタSADR[0]、レジスタLADR[0]、レジスタEADRにセットする。
(3) Address Calculation Processing Operation FIG. 7 is a flowchart showing the address calculation processing operation. In this processing, it is assumed that the oscillator OSC [0] is assigned to the master oscillator OSC1, and the oscillator OSC [1] is assigned to the slave oscillator OSC2. When this process is executed through the above-described sound generation process step SA2 (see FIG. 5), the process proceeds to step SC1 shown in FIG. 7, and the start address, loop address, and end of the waveform data read out by the oscillator OSC [0]. The addresses are set in the registers SADR [0], LADR [0], and EADR, respectively.

次いで、ステップSC2では、オシレータOSC[1]が読み出す波形データの先頭アドレスおよびループアドレスを、それぞれレジスタSADR[1]、レジスタLADR[1]にセットする。   Next, in step SC2, the start address and loop address of the waveform data read by the oscillator OSC [1] are set in the register SADR [1] and the register LADR [1], respectively.

続いて、ステップSC3では、オシレータシンクスイッチがオン設定されているか否かを判断する。オシレータシンクスイッチがオン設定されている場合には、判断結果が「YES」になり、ステップSC4に進み、オシレータOSC[1](スレーブオシレータOSC2)のエンドアドレスを、オシレータOSC[0](マスターオシレータOSC1)の波形読み出し周期に合致させるように制御する。   Subsequently, in step SC3, it is determined whether or not the oscillator sync switch is set to ON. If the oscillator sync switch is set to ON, the determination result is “YES”, the process proceeds to step SC4, and the end address of the oscillator OSC [1] (slave oscillator OSC2) is set to the oscillator OSC [0] (master oscillator). Control is performed to match the waveform readout cycle of OSC1).

すなわち、WL[0]/INC[0]=WL[1]/INC[1]の関係を成立させる為、次式(4)によりスレーブオシレータOSC2が読み出すべき波形データの数WL[1](図4に図示した読み出し波形の長さに相当)を算出する。
WL[1]←WL[0]×INC[1]/INC[0]…(4)
That is, in order to establish the relationship of WL [0] / INC [0] = WL [1] / INC [1], the number of waveform data WL [1] to be read by the slave oscillator OSC2 by the following equation (4) (FIG. 4) (corresponding to the length of the readout waveform shown in FIG. 4).
WL [1] ← WL [0] × INC [1] / INC [0] (4)

そして、次式(5)に表すように、算出したWL[1]をレジスタSADR[1](先頭アドレス)に加算して得たオシレータOSC[1](スレーブオシレータOSC2)のエンドアドレスをレジスタEADR[1]にセットして本処理を終える。
EADR[1]←SADR[1]+WL[1]…(5)
As shown in the following equation (5), the end address of the oscillator OSC [1] (slave oscillator OSC2) obtained by adding the calculated WL [1] to the register SADR [1] (start address) is used as the register EADR. Set to [1] to finish this process.
EADR [1] ← SADR [1] + WL [1] (5)

一方、オシレータシンクスイッチがオン設定されておらず、オシレータシンク機能を使用しない場合には、上記ステップSC3の判断結果が「NO」になり、ステップSC5に進み、オシレータOSC[1](スレーブオシレータOSC2)のエンドアドレスをレジスタEADR[1]にセットして本処理を終える。   On the other hand, if the oscillator sync switch is not set to ON and the oscillator sync function is not used, the determination result in step SC3 is “NO”, the process proceeds to step SC5, and the oscillator OSC [1] (slave oscillator OSC2 ) Is set in the register EADR [1], and this processing is completed.

このように、アドレス計算処理では、オシレータOSC[0]がマスターオシレータOSC1、オシレータOSC[1]がスレーブオシレータOSC2に割り当てられている場合には、オシレータOSC[0]が読み出す波形データの先頭アドレス、ループアドレスおよびエンドアドレスを、それぞれレジスタSADR[0]、レジスタLADR[0]、レジスタEADRにセットすると共に、オシレータOSC[1]が読み出す波形データの先頭アドレスおよびループアドレスを、それぞれレジスタSADR[1]、レジスタLADR[1]にセットする。そして、オシレータシンク機能を使用する場合には、オシレータOSC[1](スレーブオシレータOSC2)のエンドアドレス(レジスタEADR[1])を、オシレータOSC[0](マスターオシレータOSC1)の波形読み出し周期に合致させるよう制御する。   Thus, in the address calculation process, when the oscillator OSC [0] is assigned to the master oscillator OSC1 and the oscillator OSC [1] is assigned to the slave oscillator OSC2, the start address of the waveform data read by the oscillator OSC [0], The loop address and end address are set in the registers SADR [0], LADR [0], and EADR, respectively, and the top address and loop address of the waveform data read by the oscillator OSC [1] are set in the register SADR [1]. , Register LADR [1]. When the oscillator sync function is used, the end address (register EADR [1]) of the oscillator OSC [1] (slave oscillator OSC2) matches the waveform read cycle of the oscillator OSC [0] (master oscillator OSC1). To control.

(4)ハードウェアピッチ/アドレス制御処理
図8は、ハードウェアピッチ/アドレス制御処理の動作を示すフローチャートである。前述した発音処理のステップSA3(図5参照)を介して本処理が実行されると、図8に図示するステップSD1に進み、オシレータ番号nをゼロリセットする。続いて、ステップSD2では、波形読み出し速度を表す1サンプリング周期当たりのアドレス増加分INC[n]を、オシレータ番号nで指定されるオシレータOSC[n]のピッチレジスタにストアする。
(4) Hardware Pitch / Address Control Process FIG. 8 is a flowchart showing the operation of the hardware pitch / address control process. When this process is executed via the above-described sound generation process step SA3 (see FIG. 5), the process proceeds to step SD1 shown in FIG. 8 to reset the oscillator number n to zero. Subsequently, in step SD2, the address increment INC [n] per sampling period representing the waveform reading speed is stored in the pitch register of the oscillator OSC [n] designated by the oscillator number n.

また、ステップSD2では、レジスタSADR[n]に格納される先頭アドレスを、オシレータ番号nで指定されるオシレータOSC[n]のスタートアドレスレジスタにストアする。レジスタLADR[n]に格納されるループアドレスを、オシレータ番号nで指定されるオシレータOSC[n]のループアドレスレジスタにストアする。レジスタEADR[n]に格納されるエンドアドレスを、オシレータ番号nで指定されるオシレータOSC[n]のエンドアドレスレジスタにストアする。   In step SD2, the head address stored in the register SADR [n] is stored in the start address register of the oscillator OSC [n] specified by the oscillator number n. The loop address stored in the register LADR [n] is stored in the loop address register of the oscillator OSC [n] specified by the oscillator number n. The end address stored in the register EASR [n] is stored in the end address register of the oscillator OSC [n] specified by the oscillator number n.

続いて、ステップSD3では、オシレータ番号nをインクリメントして歩進させ、続くステップSD4では、歩進されたオシレータ番号nが「1」を超えたかどうかを判断する。歩進されたオシレータ番号nが「1」を超えていなければ、上記ステップSD2に処理を戻し、音源17のオシレータOSC[1](スレーブオシレータOSC2)に、波形読み出し速度を表す1サンプリング周期当たりのアドレス増加分INC[1]、レジスタSADR[1]の先頭アドレス、レジスタLADR[1]のループアドレスおよびレジスタEADR[1]のエンドアドレスを供給する。そして、歩進されたオシレータ番号nが「1」を超えると、ステップSD4の判断結果が「YES」になり、本処理を終える。   Subsequently, in step SD3, the oscillator number n is incremented and incremented, and in the subsequent step SD4, it is determined whether or not the incremented oscillator number n has exceeded “1”. If the stepped-up oscillator number n does not exceed “1”, the process returns to step SD2, and the oscillator OSC [1] (slave oscillator OSC2) of the sound source 17 returns the waveform reading speed per one sampling period. The address increment INC [1], the start address of the register SADR [1], the loop address of the register LADR [1], and the end address of the register EADR [1] are supplied. When the stepped-up oscillator number n exceeds “1”, the determination result in step SD4 is “YES”, and this process is finished.

このように、ハードウェアピッチ/アドレス制御処理では、音源17のオシレータOSC[0](マスターオシレータOSC1)およびオシレータOSC[1](スレーブオシレータOSC2)のそれぞれに、発音音高に対応した読み出し速度(1サンプリング周期当たりのアドレス増加分INC[1])、読み出すべき波形データの先頭アドレス、ループアドレス、エンドアドレスを供給する。これにより、音源17では、オシレータOSC[0](マスターオシレータOSC1)およびオシレータOSC[1](スレーブオシレータOSC2)が与えられたパラメータに従い、ピッチ変化と音色変化とが同時に得られるオシレータシンクロナイズ効果を備えた楽音を形成する。   As described above, in the hardware pitch / address control process, each of the oscillator OSC [0] (master oscillator OSC1) and the oscillator OSC [1] (slave oscillator OSC2) of the sound source 17 has a read speed (corresponding to the tone pitch). Address increment INC [1] per sampling period), the top address, the loop address, and the end address of the waveform data to be read are supplied. As a result, the sound source 17 has an oscillator synchronizing effect in which a pitch change and a timbre change can be obtained simultaneously according to the parameters given by the oscillator OSC [0] (master oscillator OSC1) and the oscillator OSC [1] (slave oscillator OSC2). Form a musical tone.

(5)周期処理の動作
図9は、周期処理の動作を示すフローチャートである。本処理はタイマ割り込みにより一定周期(例えば1msec毎)に実行される。実行タイミングになると、図9に図示するステップSE1を介して図6に図示するピッチ計算処理を実行する。ピッチ計算処理では、前述したように、マスターオシレータOSC1およびスレーブオシレータOSC2のそれぞれについて、発音すべき音高に応じた波形読み出し速度(1サンプリング周期当たりのアドレス増加分INC[n])を算出する。
(5) Operation of Periodic Processing FIG. 9 is a flowchart showing the operation of periodic processing. This process is executed at regular intervals (for example, every 1 msec) by a timer interrupt. At the execution timing, the pitch calculation process shown in FIG. 6 is executed via step SE1 shown in FIG. In the pitch calculation process, as described above, for each of the master oscillator OSC1 and the slave oscillator OSC2, the waveform reading speed (address increment INC [n] per sampling period) corresponding to the pitch to be generated is calculated.

続いて、ステップSE2を介して図7に図示するアドレス計算処理を実行する。アドレス計算処理では、前述したように、オシレータOSC[0]がマスターオシレータOSC1、オシレータOSC[1]がスレーブオシレータOSC2に割り当てられている場合には、オシレータOSC[0]が読み出す波形データの先頭アドレス、ループアドレスおよびエンドアドレスを、それぞれレジスタSADR[0]、レジスタLADR[0]、レジスタEADRにセットすると共に、オシレータOSC[1]が読み出す波形データの先頭アドレスおよびループアドレスを、それぞれレジスタSADR[1]、レジスタLADR[1]にセットする。   Subsequently, the address calculation process shown in FIG. 7 is executed via step SE2. In the address calculation process, as described above, when the oscillator OSC [0] is assigned to the master oscillator OSC1 and the oscillator OSC [1] is assigned to the slave oscillator OSC2, the start address of the waveform data read by the oscillator OSC [0] The loop address and end address are set in the registers SADR [0], LADR [0], and EADR, respectively, and the start address and loop address of the waveform data read by the oscillator OSC [1] are set in the registers SADR [1], respectively. ], Register LADR [1].

そして、オシレータシンク機能を使用する場合には、オシレータOSC[1](スレーブオシレータOSC2)のエンドアドレス(レジスタEADR[1])を、オシレータOSC[0](マスターオシレータOSC1)の波形読み出し周期に合致させるように変更する。こうすることでオシレータOSC[1](スレーブオシレータOSC2)は、常にオシレータOSC[0](マスターオシレータOSC1)と同じ周期で先頭アドレスに戻る。   When the oscillator sync function is used, the end address (register EADR [1]) of the oscillator OSC [1] (slave oscillator OSC2) matches the waveform read cycle of the oscillator OSC [0] (master oscillator OSC1). Change to By doing so, the oscillator OSC [1] (slave oscillator OSC2) always returns to the head address in the same cycle as the oscillator OSC [0] (master oscillator OSC1).

次いで、ステップSE3を介して図8に図示したハードウェアピッチ/アドレス制御処理を実行する。ハードウェアピッチ/アドレス制御処理では、前述したように、音源17のオシレータOSC[0](マスターオシレータOSC1)およびオシレータOSC[1](スレーブオシレータOSC2)のそれぞれに、上記ステップSE1で得られた読み出し速度(1サンプリング周期当たりのアドレス増加分INC)と、上記ステップSE2で得られた先頭アドレス、ループアドレス、エンドアドレスを供給して本処理を終える。   Next, the hardware pitch / address control process shown in FIG. 8 is executed through step SE3. In the hardware pitch / address control process, as described above, the readout obtained in step SE1 is performed on each of the oscillator OSC [0] (master oscillator OSC1) and the oscillator OSC [1] (slave oscillator OSC2) of the sound source 17. The speed (address increment INC per sampling period) and the start address, loop address, and end address obtained in step SE2 are supplied to complete the present process.

これにより、音源17では、オシレータOSC[0](マスターオシレータOSC1)およびオシレータOSC[1](スレーブオシレータOSC2)が与えられたパラメータに従い、ピッチ変化と音色変化とが同時に得られるオシレータシンクロナイズ効果を備えた楽音を形成する。   As a result, the sound source 17 has an oscillator synchronizing effect in which a pitch change and a timbre change can be obtained simultaneously according to the parameters given by the oscillator OSC [0] (master oscillator OSC1) and the oscillator OSC [1] (slave oscillator OSC2). Form a musical tone.

以上説明したように、本実施形態では、波形データ読み出し方式で構成される2組のマスターオシレータOSC1およびスレーブオシレータOSC2を用い、スレーブオシレータOSC2のエンドアドレス(レジスタEADR[1])を、マスターオシレータOSC1の波形読み出し周期に合致するよう制御する為、オシレータOSC[1](スレーブオシレータOSC2)が常にオシレータOSC[0](マスターオシレータOSC1)と同じ周期で先頭アドレスに戻るオシレータシンク機能が実現する。この結果、製品コスト高を招致せずに波形データ読み出し方式でオシレータシンクロナイズ効果を具現することができる。   As described above, in this embodiment, two sets of master oscillator OSC1 and slave oscillator OSC2 configured by the waveform data reading method are used, and the end address (register EADR [1]) of slave oscillator OSC2 is set as master oscillator OSC1. Therefore, an oscillator sync function is realized in which the oscillator OSC [1] (slave oscillator OSC2) always returns to the start address in the same cycle as the oscillator OSC [0] (master oscillator OSC1). As a result, the oscillator synchronization effect can be realized by the waveform data reading method without incurring high product costs.

以上、本発明の実施の一形態について説明したが、本発明はそれに限定されるものではなく、本願出願の特許請求の範囲に記載された発明とその均等の範囲に含まれる。以下では、本願出願当初の特許請求の範囲に記載された各発明について付記する。   As mentioned above, although one Embodiment of this invention was described, this invention is not limited to it, It is included in the invention described in the claim of this-application, and its equivalent range. Hereinafter, each invention described in the scope of claims at the beginning of the present application will be additionally described.

(付記)
[請求項1]
1周期分のマスター波形及びスレーブ波形を記憶するメモリと、
このメモリから1周期分のマスター波形を繰り返し読み出す第1の波形読出手段と、
前記第1の波形読出手段が前記1周期分のマスター波形を最初から最後まで読み出すまでの間に前記メモリから1周期分のスレーブ波形を最初から繰り返し読み出す動作を行うとともに、当該動作を前記1周期分のマスター波形の読み出しを開始する毎に繰り返して実行する第2の波形読出手段と、
を具備することを特徴とする波形発生装置。
(Appendix)
[Claim 1]
A memory for storing a master waveform and a slave waveform for one cycle;
First waveform reading means for repeatedly reading a master waveform for one period from the memory;
The first waveform reading means performs an operation of repeatedly reading the slave waveform for one cycle from the memory from the beginning until the master waveform for the one cycle is read from the beginning to the end, and the operation is performed for the one cycle. A second waveform readout means for repeatedly executing the master waveform readout every minute,
The waveform generator characterized by comprising.

[請求項2]
前記第2の波形読出手段がスレーブ波形を読み出す際の第2の波形読み出し速度と、前記第1の波形読出手段がマスター波形を発生する際の第1の波形読み出し速度との比率に応じて、前記1周期分のマスター波形の読出し終了時点における前記スレーブ波形の読み出し位置を制御することを特徴とする請求項1記載の波形発生装置。
[Claim 2]
According to the ratio between the second waveform reading speed when the second waveform reading means reads the slave waveform and the first waveform reading speed when the first waveform reading means generates the master waveform, 2. The waveform generating apparatus according to claim 1, wherein a reading position of the slave waveform at a time point when reading of the master waveform for one period is finished is controlled.

[請求項3]
1周期分のマスター波形及びスレーブ波形を記憶するメモリを有するコンピュータに、
このメモリから1周期分のマスター波形を繰り返し読み出す第1の波形読出ステップと、
前記1周期分のマスター波形を最初から最後まで読み出すまでの間に前記メモリから1周期分のスレーブ波形を最初から繰り返し読み出す動作を行うとともに、当該動作を前記1周期分のマスター波形の読み出しを開始する毎に繰り返して実行する第2の波形発生ステップと、
を実行させることを特徴とするプログラム。
[Claim 3]
To a computer having a memory for storing a master waveform and a slave waveform for one cycle,
A first waveform reading step for repeatedly reading a master waveform for one period from the memory;
While reading the master waveform for one cycle from the beginning to the end, the slave waveform for one cycle is read from the memory repeatedly from the beginning, and the master waveform for one cycle starts to be read. A second waveform generation step that is repeatedly executed each time;
A program characterized by having executed.

[請求項4]
前記第2の波形読出ステップがスレーブ波形を読み出す際の第2の波形読み出し速度と、前記第1の波形読出ステップがマスター波形を読み出す際の第1の波形読み出し速度との比率に応じて、前記1周期分のマスター波形の読出し終了時点における前記スレーブ波形の読み出し位置を制御することを特徴とする請求項3記載のプログラム。
[Claim 4]
In accordance with the ratio of the second waveform reading speed when the second waveform reading step reads the slave waveform and the first waveform reading speed when the first waveform reading step reads the master waveform, 4. The program according to claim 3, wherein the reading position of the slave waveform at the end of reading of the master waveform for one period is controlled.

10 鍵盤
11 スイッチ部
12 ピッチベンダ
13 CPU
14 表示部
15 ROM
16 RAM
17 音源
18 D/A変換器
19 サウンドシステム
100 電子楽器
10 Keyboard 11 Switch 12 Pitch Bender 13 CPU
14 Display 15 ROM
16 RAM
17 Sound source 18 D / A converter 19 Sound system 100 Electronic musical instrument

Claims (7)

メモリから1周期分のマスター波形に対応する複数のデータサンプルを読み出す際のマスター波形読み出し速度及び前記メモリから1周期分のスレーブ波形に対応する複数のデータサンプルを読み出す際のスレーブ波形読み出し速度を設定する読み出し速度設定処理と、
前記設定されたマスター波形読み出し速度で前記1周期分のマスター波形に対応するデータサンプル数分読み出す間に、前記設定されたスレーブ波形読み出し速度で読み出し可能なデータサンプル数を取得する取得処理と、
前記設定されたマスター波形読み出し速度で、前記メモリから前記1周期分のマスター波形に対応する複数のデータサンプルを順次読み出す動作を繰り返す第1の波形読出処理と、
前記マスター波形に対応する複数のデータサンプルの読み出しの開始に同期して、前記メモリに記憶された前記1周期分のスレーブ波形に対応する複数のデータサンプルを、予め定められたデータサンプルの位置から読み出しを開始する読み出し開始処理と、
前記スレーブ波形に対応するデータサンプルの読み出しを開始した後、前記設定されたスレーブ波形読み出し速度で前記スレーブ波形に対応する複数のデータサンプルを順次読み出すとともに、前記読み出された前記スレーブ波形に対応するデータサンプル数が前記取得されたデータサンプル数と一致したか否か判別し、一致と判別された場合には、前記スレーブ波形の読み出しを前記予め定められたデータサンプルの位置に戻して前記1周期分のスレーブ波形に対応する複数のデータサンプルを読み出す動作を繰り返す第2の波形読出処理と、
を実行する処理部を有する波形発生装置。
Sets the master waveform reading speed when reading a plurality of data samples corresponding to the master waveform for one period from the memory and the slave waveform reading speed when reading a plurality of data samples corresponding to the slave waveform for one period from the memory. Reading speed setting process to
An acquisition process for acquiring the number of data samples that can be read at the set slave waveform reading speed while reading the number of data samples corresponding to the master waveform for the one period at the set master waveform reading speed;
A first waveform reading process that repeats an operation of sequentially reading a plurality of data samples corresponding to the master waveform for one period from the memory at the set master waveform reading speed ;
Synchronously with the start of reading of the plurality of data samples corresponding to the master waveform, the plurality of data samples corresponding to the slave waveform for one period stored in the memory are determined from the position of the predetermined data sample. A reading start process for starting reading;
After starting reading data samples corresponding to the slave waveform, a plurality of data samples corresponding to the slave waveform are sequentially read at the set slave waveform reading speed, and corresponding to the read slave waveform It is determined whether or not the number of data samples matches the acquired number of data samples. If it is determined that the number of data samples matches, the reading of the slave waveform is returned to the position of the predetermined data sample and the one cycle A second waveform reading process that repeats an operation of reading a plurality of data samples corresponding to a minute slave waveform ;
The waveform generator which has a processing part which performs .
前記処理部は、前記第2の波形読出処理として、前記取得されたデータサンプル数が、1周期分のスレーブ波形のデータサンプル数より多い場合は、前記1周期分のスレーブ波形の終了位置に対応するデータサンプルまで読み出された後、再び前記1周期分のスレーブ波形の開始位置に対応するデータサンプル戻って読み出しを開始する処理を実行する、請求項1記載の波形発生装置。 When the acquired number of data samples is larger than the number of slave waveform data samples for one cycle , the processing unit corresponds to the end position of the slave waveform for one cycle. The waveform generation apparatus according to claim 1 , wherein after reading up to the data sample to be performed, the processing of returning to the data sample corresponding to the start position of the slave waveform for one cycle and starting reading is executed again . 波形発生装置として用いられるコンピュータに、
メモリから1周期分のマスター波形に対応する複数のデータサンプルを読み出す際のマスター波形読み出し速度及び前記メモリから1周期分のスレーブ波形に対応する複数のデータサンプルを読み出す際のスレーブ波形読み出し速度を設定する読み出し速度設定ステップと、
前記設定されたマスター波形読み出し速度で前記1周期分のマスター波形に対応するデータサンプル数分読み出す間に、前記設定されたスレーブ波形読み出し速度で読み出し可能なデータサンプル数を取得する取得ステップと、
前記設定されたマスター波形読み出し速度で、前記メモリから前記1周期分のマスター波形に対応する複数のデータサンプルを順次読み出す動作を繰り返す第1の波形読出ステップと、
前記マスター波形に対応する複数のデータサンプルの読み出しの開始に同期して、前記メモリに記憶された前記1周期分のスレーブ波形に対応する複数のデータサンプルを、予め定められたデータサンプルの位置から読み出しを開始する読み出し開始ステップと、
前記スレーブ波形に対応するデータサンプルの読み出しを開始した後、前記設定されたスレーブ波形読み出し速度で前記スレーブ波形に対応する複数のデータサンプルを順次読み出すとともに、前記読み出された前記スレーブ波形に対応するデータサンプル数が前記取得されたデータサンプル数と一致したか否か判別し、一致と判別された場合には、前記スレーブ波形の読み出しを前記予め定められたデータサンプルの位置に戻して前記1周期分のスレーブ波形に対応する複数のデータサンプルを読み出す動作を繰り返す第2の波形発生ステップと、
を実行させるプログラム。
In a computer used as a waveform generator ,
Sets the master waveform reading speed when reading a plurality of data samples corresponding to the master waveform for one period from the memory and the slave waveform reading speed when reading a plurality of data samples corresponding to the slave waveform for one period from the memory. Reading speed setting step to perform,
An acquisition step of acquiring the number of data samples that can be read at the set slave waveform reading speed while reading the number of data samples corresponding to the master waveform for the one period at the set master waveform reading speed;
A first waveform reading step that repeats an operation of sequentially reading a plurality of data samples corresponding to the master waveform for one period from the memory at the set master waveform reading speed ;
Synchronously with the start of reading of the plurality of data samples corresponding to the master waveform, the plurality of data samples corresponding to the slave waveform for one period stored in the memory are determined from the position of the predetermined data sample. A reading start step for starting reading;
After starting reading data samples corresponding to the slave waveform, a plurality of data samples corresponding to the slave waveform are sequentially read at the set slave waveform reading speed, and corresponding to the read slave waveform It is determined whether or not the number of data samples matches the acquired number of data samples. If it is determined that the number of data samples matches, the reading of the slave waveform is returned to the position of the predetermined data sample and the one cycle A second waveform generation step that repeats an operation of reading a plurality of data samples corresponding to a minute slave waveform ;
A program that executes
前記第2の波形読出ステップは、前記取得されたデータサンプル数が、1周期分のマスター波形のデータサンプル数より多い場合は、前記1周期分のスレーブ波形の終了位置に対応するデータサンプルまで読み出された後、再び前記1周期分のスレーブ波形の開始位置に対応するデータサンプルに戻って読み出しを開始する、請求項3記載のプログラム。 In the second waveform reading step , when the acquired number of data samples is larger than the number of data samples of the master waveform for one period, the second waveform reading step reads up to the data sample corresponding to the end position of the slave waveform for the one period. 4. The program according to claim 3 , wherein after reading out, the program returns to the data sample corresponding to the start position of the slave waveform for one cycle and starts reading . 波形発生装置として用いられる波形発生方法であって、前記波形発生装置が、
メモリから1周期分のマスター波形に対応する複数のデータサンプルを読み出す際のマスター波形読み出し速度及び前記メモリから1周期分のスレーブ波形に対応する複数のデータサンプルを読み出す際のスレーブ波形読み出し速度を設定し、
前記設定されたマスター波形読み出し速度で前記1周期分のマスター波形に対応するデータサンプル数分読み出す間に、前記設定されたスレーブ波形読み出し速度で読み出し可能なデータサンプル数を取得し、
前記設定されたマスター波形読み出し速度で、前記メモリから前記1周期分のマスター波形に対応する複数のデータサンプルを順次読み出す動作を繰り返し
前記マスター波形に対応する複数のデータサンプルの読み出しの開始に同期して、前記メモリに記憶された前記1周期分のスレーブ波形に対応する複数のデータサンプルを、予め定められたデータサンプルの位置から読み出しを開始し、
前記スレーブ波形に対応するデータサンプルの読み出しを開始した後、前記設定されたスレーブ波形読み出し速度で前記スレーブ波形に対応する複数のデータサンプルを順次読み出すとともに、前記読み出された前記スレーブ波形に対応するデータサンプル数が前記取得されたデータサンプル数と一致したか否か判別し、一致と判別された場合には、前記スレーブ波形の読み出しを前記予め定められたデータサンプルの位置に戻して前記1周期分のスレーブ波形に対応する複数のデータサンプルを読み出す動作を繰り返す、
波形発生方法。
A waveform generation method used as a waveform generator, wherein the waveform generator is
Sets the master waveform reading speed when reading a plurality of data samples corresponding to the master waveform for one period from the memory and the slave waveform reading speed when reading a plurality of data samples corresponding to the slave waveform for one period from the memory. And
While reading the number of data samples corresponding to the master waveform for one period at the set master waveform reading speed, the number of data samples that can be read at the set slave waveform reading speed is acquired,
Repeating the operation of sequentially reading a plurality of data samples corresponding to the master waveform for one period from the memory at the set master waveform reading speed ;
Synchronously with the start of reading of the plurality of data samples corresponding to the master waveform, the plurality of data samples corresponding to the slave waveform for one period stored in the memory are determined from the position of the predetermined data sample. Start reading,
After starting reading data samples corresponding to the slave waveform, a plurality of data samples corresponding to the slave waveform are sequentially read at the set slave waveform reading speed, and corresponding to the read slave waveform It is determined whether or not the number of data samples matches the acquired number of data samples. If it is determined that the number of data samples matches, the reading of the slave waveform is returned to the position of the predetermined data sample and the one cycle Repeat the operation to read multiple data samples corresponding to the slave waveform
Waveform generation method.
前記波形発生装置が、前記取得されたデータサンプル数が、1周期分のマスター波形のデータサンプル数より多い場合は、前記1周期分のスレーブ波形の終了位置に対応するデータサンプルまで読み出された後、再び前記1周期分のスレーブ波形の開始位置対応するデータサンプルに戻って読み出しを開始する、請求項5記載の波形発生方法。 When the acquired number of data samples is larger than the number of data samples of the master waveform for one cycle, the waveform generator reads up to the data sample corresponding to the end position of the slave waveform for the one cycle 6. The waveform generating method according to claim 5 , wherein after that, returning to the data sample corresponding to the start position of the slave waveform for one cycle again, reading is started . 請求項1に記載の波形発生装置と、
演奏操作に応じた演奏情報を発生する演奏情報発生部と、
前記演奏情報に応答して、前記波形発生装置から楽音信号を生成するための波形を発生させるように制御する制御部と、
を備えた電子楽器。
A waveform generator according to claim 1;
A performance information generator for generating performance information according to the performance operation;
A control unit that controls to generate a waveform for generating a musical sound signal from the waveform generator in response to the performance information;
Electronic musical instrument with
JP2012066789A 2012-03-23 2012-03-23 Waveform generator, program, waveform generation method, and electronic musical instrument Active JP5995054B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012066789A JP5995054B2 (en) 2012-03-23 2012-03-23 Waveform generator, program, waveform generation method, and electronic musical instrument

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012066789A JP5995054B2 (en) 2012-03-23 2012-03-23 Waveform generator, program, waveform generation method, and electronic musical instrument

Publications (3)

Publication Number Publication Date
JP2013200326A JP2013200326A (en) 2013-10-03
JP2013200326A5 JP2013200326A5 (en) 2015-05-07
JP5995054B2 true JP5995054B2 (en) 2016-09-21

Family

ID=49520649

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012066789A Active JP5995054B2 (en) 2012-03-23 2012-03-23 Waveform generator, program, waveform generation method, and electronic musical instrument

Country Status (1)

Country Link
JP (1) JP5995054B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11883628B2 (en) 2016-12-16 2024-01-30 Sorrento Therapeutics, Inc. Application device for a fluid delivery apparatus and method of use

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9318524D0 (en) * 1993-09-07 1993-10-20 Ethymonics Ltd Tone generator
JP3521800B2 (en) * 1999-06-14 2004-04-19 ヤマハ株式会社 Musical tone signal generator
JP2009042785A (en) * 2008-10-24 2009-02-26 Casio Comput Co Ltd Waveform generator and waveform generation processing program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11883628B2 (en) 2016-12-16 2024-01-30 Sorrento Therapeutics, Inc. Application device for a fluid delivery apparatus and method of use

Also Published As

Publication number Publication date
JP2013200326A (en) 2013-10-03

Similar Documents

Publication Publication Date Title
JP6252642B1 (en) Effect imparting device, effect imparting method, program, and electronic musical instrument
JP5995054B2 (en) Waveform generator, program, waveform generation method, and electronic musical instrument
JP6176480B2 (en) Musical sound generating apparatus, musical sound generating method and program
EP3789999B1 (en) Musical sound processing apparatus, musical sound processing method, and program
US9947306B2 (en) Electric acoustic apparatus
US8779272B2 (en) Musical sound producing apparatus, recording medium and musical sound producing method
JPS5925235B2 (en) electronic musical instruments
JP2745865B2 (en) Music synthesizer
JP6575585B2 (en) Effect imparting device, effect imparting method, program, and electronic musical instrument
JP2018159734A (en) Timbre controller, timbre control method, program, and electric musical instrument
JP4385401B2 (en) Low frequency oscillation device and low frequency oscillation processing program
KR100620484B1 (en) Sound synthesizing device and storage medium storing program
JP4479847B2 (en) Waveform generator and waveform generation processing program
JP3909693B2 (en) Musical sound modulation device, musical sound modulation method, and musical sound modulation program
JP2571918B2 (en) Electronic musical instrument
US20250111844A1 (en) Information processing device, electronic musical instrument, electronic musical instrument system, method, and storage medium
JP4232203B2 (en) Waveform generator and waveform generation processing program
JP2009042785A (en) Waveform generator and waveform generation processing program
JP4614131B2 (en) Waveform generator and waveform generation program
JP6524742B2 (en) Tone generator, method and program
JP5769080B2 (en) Sound channel assignment apparatus and program
JP4158198B2 (en) Waveform generator and waveform generation processing program
JP3543159B2 (en) Automatic accompaniment device
JP2012128152A (en) Performance practicing device and program
JP2012220861A (en) Musical sound generating device and program

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150319

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160810

R150 Certificate of patent or registration of utility model

Ref document number: 5995054

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150