JP2000056763A - Musical tone forming method, musical tone forming apparatus and recording medium recording musical tone forming process program - Google Patents
Musical tone forming method, musical tone forming apparatus and recording medium recording musical tone forming process programInfo
- Publication number
- JP2000056763A JP2000056763A JP10219363A JP21936398A JP2000056763A JP 2000056763 A JP2000056763 A JP 2000056763A JP 10219363 A JP10219363 A JP 10219363A JP 21936398 A JP21936398 A JP 21936398A JP 2000056763 A JP2000056763 A JP 2000056763A
- Authority
- JP
- Japan
- Prior art keywords
- waveform data
- section
- waveform
- read
- reading
- 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
【0001】[0001]
【発明の属する技術分野】本発明は、プログラム処理に
より、楽音を生成する楽音生成方法、楽音生成装置及び
楽音生成処理プログラムを記録した記録媒体に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a musical sound generating method, a musical sound generating apparatus, and a recording medium on which a musical sound generating program is recorded.
【0002】[0002]
【従来の技術】従来から、例えば特開平9−17955
6号公報に示されているように、プログラム処理によ
り、楽音を表す波形データを所定の区間毎に繰り返し生
成して記憶手段に書き込んでおき、同記憶手段に書き込
まれた各区間の波形データを所定レートで順次読出すと
ともに各区間の波形データの読出しが終了する毎に次の
区間の波形データの前記読出しを開始するようにして、
連続した楽音を生成することは知られている。2. Description of the Related Art Conventionally, for example, Japanese Unexamined Patent Publication No. 9-17955
As disclosed in Japanese Patent Application Publication No. 6 (1994), waveform data representing a musical tone is repeatedly generated for each predetermined section by a program processing and written in the storage means, and the waveform data of each section written in the storage means is stored in the storage means. By sequentially reading out the waveform data in each section at a predetermined rate and starting reading the waveform data in the next section each time the reading of the waveform data in each section ends,
It is known to generate continuous musical tones.
【0003】[0003]
【発明が解決しようとする課題】しかし、上記従来例に
おいては、波形データを生成するための処理よりも優先
順位の高いプログラム処理が実行されて、次の区間の波
形データの読出し開始タイミングまでに同次の区間の波
形データの生成及び書き込みが終了していないと、楽音
が途切れたり、不自然な楽音が発生されるという問題が
ある。However, in the above-mentioned conventional example, a program process having a higher priority than the process for generating waveform data is executed, and by the time when the reading of waveform data in the next section is started. If the generation and the writing of the waveform data of the same section are not completed, there is a problem that the musical sound is interrupted or an unnatural musical sound is generated.
【0004】[0004]
【発明の概要】本発明は、上記問題に対処するためにな
されたもので、その目的は波形データを生成するための
処理よりも優先順位の高いプログラム処理が実行されて
も、楽音が途切れたり、不自然な楽音が発生されないよ
うにした楽音生成方法、楽音生成装置及び楽音生成処理
プログラムを記録した記録媒体を提供することにある。SUMMARY OF THE INVENTION The present invention has been made to address the above-described problem, and has as its object to prevent interruption of musical sounds even if a program process having a higher priority than a process for generating waveform data is executed. It is another object of the present invention to provide a tone generating method, a tone generating device, and a recording medium storing a tone generating program for preventing unnatural tone from being generated.
【0005】上記目的を達成するために、本発明の構成
上の特徴は、楽音を表す波形データを所定の区間毎に繰
り返し生成して記憶手段に書き込んでおき、同記憶手段
に書き込まれた各区間の波形データを所定レートで順次
読出すとともに各区間の波形データの読出しが終了する
毎に次の区間の波形データの前記読出しを開始するよう
にして、連続した楽音を生成する楽音生成方法、楽音生
成装置及び楽音生成処理プログラムを記録した記録媒体
において、次の区間の波形データの読出し開始タイミン
グまでに同次の区間の波形データの生成及び書き込みが
終了するか否かを判定し、同次の波形データの生成及び
書き込みが終了しないと判定されたとき記憶手段に書き
込まれていて既に読出された区間の波形データを再読出
しするようにしたことにある。In order to achieve the above object, a structural feature of the present invention is that waveform data representing a musical tone is repeatedly generated at predetermined intervals and written into a storage means, and each of the data written into the storage means is stored. A tone generating method for sequentially reading out waveform data of a section at a predetermined rate and starting reading of the waveform data of the next section each time the reading of the waveform data of each section is completed; In the recording medium in which the musical sound generation device and the musical sound generation processing program are recorded, it is determined whether or not the generation and the writing of the waveform data in the same section are completed by the timing to start reading the waveform data in the next section. When it is determined that the generation and the writing of the waveform data are not completed, the waveform data of the section which has been written to the storage means and has already been read is re-read. In the door.
【0006】これによれば、次の区間の波形データの読
出し開始タイミングまでに同次の区間の波形データの生
成及び書き込みが終了していなくても、波形データの読
出しが途切れることがなくなるので、生成される楽音を
途切れさせることなく発生させることができる。また、
再読出しに利用される波形データとしては、記憶手段に
書き込まれていて既に読出された区間の波形データ、す
なわち現在読出されている波形データに近い波形デー
タ、例えば前記読出し開始タイミングまで読出されてい
た区間の波形データを利用できる。したがって、生成さ
れる楽音が極端に変化することを回避して、同楽音を自
然に連続させることができ、生成楽音の音質を良好にで
きる。According to this, even if the generation and the writing of the waveform data of the same section are not completed by the timing of starting the reading of the waveform data of the next section, the reading of the waveform data is not interrupted. The generated musical sound can be generated without interruption. Also,
As the waveform data used for re-reading, the waveform data of the section which has been written and already read, ie, the waveform data close to the currently read waveform data, for example, has been read until the read start timing. The waveform data of the section can be used. Therefore, it is possible to avoid the generated musical sound from being extremely changed, and to allow the musical sound to be naturally continued, thereby improving the sound quality of the generated musical sound.
【0007】また、前記本発明の他の構成上の特徴は、
前記読出し開始タイミングよりも所定時間だけ前の判定
タイミングで、次の区間の波形データの生成及び書き込
みが同読出し開始タイミングまでに終了するか否かを判
定するようにしたことにある。これによれば、次の区間
の波形データの生成及び書き込みが終了しているか否か
が、同読出し開始タイミング前に確実に判定されるの
で、前記再読出しが確実に行われるようになる。Another feature of the present invention is that:
At a determination timing a predetermined time before the read start timing, it is determined whether or not the generation and writing of the waveform data of the next section is completed by the read start timing. According to this, it is reliably determined whether the generation and writing of the waveform data of the next section has been completed before the read start timing, so that the re-reading is reliably performed.
【0008】さらに、前記本発明の他の構成上の特徴
は、次の波形データの生成及び書き込みが終了しないと
判定されたとき、前記判定タイミングから前記読出し開
始タイミングまで、同判定タイミングまで読出されてい
た区間の波形データと同判定タイミングまで読出されて
いた区間よりも一つの前の区間の波形データとを混合し
て出力するようにしたことにある。これによれば、前記
再読出しの開始時における波形データの連続性がさらに
改善され、生成される楽音の連続性がより良好になる。Further, another feature of the present invention is that when it is determined that the generation and writing of the next waveform data are not completed, the data is read from the determination timing to the read start timing and up to the same determination timing. This is to mix and output the waveform data of the previous section and the waveform data of the section immediately before the section read out until the same determination timing. According to this, the continuity of the waveform data at the start of the re-reading is further improved, and the continuity of the generated musical tone is further improved.
【0009】[0009]
【発明の実施の形態】以下、本発明の一実施形態を図面
を用いて説明すると、図1は本発明に係りプログラム処
理によって楽音を生成する楽音生成装置の全体を概略的
に示している。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 schematically shows an entire musical tone generating apparatus for generating musical tones by program processing according to the present invention.
【0010】この楽音生成装置は、バス10に接続され
てコンピュータ本体部を構成するCPU(中央処理装
置)11、ROM(リード・オンリイ・メモリ)12、
タイマ13、RAM(ランダム・アクセス・メモリ)1
4及び波形インターフェース回路15を備えている。C
PU11は、マイクロプロセッサなどにより構成され、
楽音を表す波形データを生成出力するための図3のソフ
ト音源プログラム及び波形データの再生を制御するため
の図4の波形再生デバイス制御プログラムや、図示しな
い各種アプリケーションプログラムを実行するものであ
る。ROM12は、ハードディスク21から装置のシス
テムプログラムをブートするためのプログラムなどを記
憶しているものである。タイマ13は、時刻を計時指示
するとともにタイマ割込み処理のタイミングをCPU1
1に指示するものである。This musical sound generating apparatus is connected to a bus 10 and constitutes a computer main unit, a CPU (central processing unit) 11, a ROM (read only memory) 12,
Timer 13, RAM (random access memory) 1
4 and a waveform interface circuit 15. C
The PU 11 is configured by a microprocessor or the like,
The program executes the software tone generator program of FIG. 3 for generating and outputting waveform data representing a musical tone, the waveform reproduction device control program of FIG. 4 for controlling reproduction of waveform data, and various application programs (not shown). The ROM 12 stores a program for booting the system program of the apparatus from the hard disk 21 and the like. The timer 13 instructs the time measurement, and sets the timing of the timer interrupt processing to the CPU 1.
1.
【0011】RAM14は、CPU11のワークエリ
ア、波形データエリア、音色データエリア、チャンネル
レジスタエリア、波形バッファエリアなどの各種データ
エリアからなるメモリである。本実施形態においては、
特に図2に詳細に示すように、前記波形バッファエリア
として、プログラム処理により生成された所定区間分の
波形データをそれぞれ一時的に記憶するための波形バッ
ファ14a,14b,14cが用意される。以降、この
所定区間を1フレームというとともに、波形バッファ1
4a,14b,14cに記憶される1フレームずつの波
形データをそれぞれ波形データA,B,Cという。The RAM 14 is a memory composed of various data areas such as a work area of the CPU 11, a waveform data area, a tone color data area, a channel register area, and a waveform buffer area. In the present embodiment,
In particular, as shown in detail in FIG. 2, as the waveform buffer area, waveform buffers 14a, 14b, and 14c for temporarily storing waveform data for a predetermined section generated by the program processing are prepared. Hereinafter, this predetermined section is referred to as one frame, and the waveform buffer 1
The waveform data for each frame stored in 4a, 14b, and 14c are referred to as waveform data A, B, and C, respectively.
【0012】波形インターフェース回路15は、サンプ
リングクロック発生器15a、DMAC(ダイレクト・
メモリ・アクセス・コントローラ)15b,15c、A
DC(アナログ・ディジタル・コンバータ)15d及び
DAC(ディジタル・アナログ・コンバータ)15eか
らなる。サンプリングクロック発生器15aは、CPU
11によりバス10を介して指示されたサンプリング周
期にてサンプリングクロック信号をDMAC15b,1
5cにそれぞれ供給するものである。DMAC15b
は、CPU11によりバス10を介して制御される制御
回路、前記サンプリングクロック信号に応答してカウン
トアップするアドレスカウンタ回路などからなり、アド
レスカウンタ回路によるアドレスカウント値の更新時に
は優先的にバス10を確保するとともにRAM14のア
ドレスを直接指定して、CPU11の指示に依らずに波
形データをRAM14に直接書き込む。The waveform interface circuit 15 includes a sampling clock generator 15a, a DMAC (direct
Memory access controller) 15b, 15c, A
It comprises a DC (analog-to-digital converter) 15d and a DAC (digital-to-analog converter) 15e. The sampling clock generator 15a has a CPU
The sampling clock signal is supplied to the DMAC 15b,
5c. DMAC15b
Comprises a control circuit controlled by the CPU 11 via the bus 10, an address counter circuit that counts up in response to the sampling clock signal, and the like. The bus 10 is preferentially secured when the address counter circuit updates the address count value. At the same time, the address of the RAM 14 is directly specified, and the waveform data is directly written to the RAM 14 without depending on the instruction of the CPU 11.
【0013】DMAC15cは、DMAC15bと同様
な制御回路及びアドレスカウンタ回路などからなるが、
本発明に密接に関係するので、その機能を図7の機能フ
ローチャートに従って説明しておく。このDMAC15
cの作動はソフト音源プログラム(図3)の処理によっ
て許容され、この状態でサンプリングクロック発生器1
5aからサンプリングクロック信号が供給される毎に、
図7の機能フローチャートのステップ300にて制御動
作を開始し、ステップ302〜314からなる制御動作
後、ステップ316にて次の制御動作の開始を待つ。ス
テップ302〜306からなる制御動作は、RAM14
内の波形バッファ14a〜14cのうちのいずれかから
楽音波形の瞬時値を表すサンプリングデータ(波形デー
タ)を一つずつ直接読み出してDAC15eに供給す
る。この場合、ステップ302の制御動作は、CPU1
1に対してバス10の割込み要求を発し、DMAC15
cから波形バッファ14a〜14cに対するアドレス指
定と、同バッファ14a〜14cからDMAC15cへ
のサンプリングデータの供給とのために、バス10を他
のプログラム処理に優先して一時的に開放させるもので
ある。ステップ304の制御動作は、波形バッファ14
a〜14cからサンプリングデータを読出して、DAC
15eに供給するものである。ステップ306の制御動
作は、次のサンプリングデータの読出しのために、アド
レスカウンタ回路を歩進させておくものである。The DMAC 15c includes a control circuit and an address counter circuit similar to those of the DMAC 15b.
Since the function is closely related to the present invention, its function will be described with reference to the function flowchart of FIG. This DMAC15
The operation of c is permitted by the processing of the soft sound source program (FIG. 3), and in this state, the sampling clock generator 1
Each time a sampling clock signal is supplied from 5a,
The control operation is started in step 300 of the functional flowchart in FIG. 7, and after the control operation including steps 302 to 314, the control waits for the start of the next control operation in step 316. The control operation consisting of steps 302 to 306
The sampling data (waveform data) representing the instantaneous value of the musical tone waveform is directly read out one by one from one of the waveform buffers 14a to 14c in FIG. In this case, the control operation of step 302 is performed by the CPU 1
1 issues an interrupt request of the bus 10 to the DMAC 15
The bus 10 is temporarily opened prior to other program processing in order to specify addresses from c to the waveform buffers 14a to 14c and to supply sampling data from the buffers 14a to 14c to the DMAC 15c. The control operation of step 304 is performed by the waveform buffer 14
a. Read the sampling data from
15e. The control operation in step 306 is to advance the address counter circuit for reading the next sampling data.
【0014】また、ステップ308,310の制御動作
は、アドレスカウンタ回路によるアドレスカウント値を
用いて、1フレーム分の波形データの再生終了タイミン
グの少し前の所定の判定タイミングで、図3の音源ソフ
トプログラムに対して波形生成終了チェックを要求する
ものである(図8参照)。ステップ312,314の制
御動作は、前記と同様にアドレスカウンタ回路によるア
ドレスカウント値を用いて、1フレーム分の波形データ
の再生終了のタイミングで、図3のソフト音源プログラ
ム及び図4の波形再生デバイス制御プログラムに対して
前記再生終了を通知するものである(図8参照)。The control operation in steps 308 and 310 is performed by using the address count value of the address counter circuit at a predetermined judgment timing slightly before the end of the reproduction of the waveform data for one frame. It requests the program to check the end of waveform generation (see FIG. 8). The control operations of steps 312 and 314 are performed by using the address count value of the address counter circuit in the same manner as described above, at the timing when the reproduction of the waveform data for one frame is completed, and the soft sound source program of FIG. This notifies the control program of the end of the reproduction (see FIG. 8).
【0015】ADC15dは、外部から入力されたアナ
ログ波形信号をディジタル波形データに変換してDMA
C15bに出力する。DAC15eは、DMAC15c
により読出されたディジタル波形データをアナログ波形
信号に変換して出力する。この波形インターフェース回
路15のDAC15eの出力には、アンプ、スピーカな
どからなって楽音を発生するサウンドシステム16が接
続されている。The ADC 15d converts an analog waveform signal input from the outside into digital waveform data and performs DMA conversion.
Output to C15b. The DAC 15e is a DMAC 15c.
Converts the read digital waveform data into an analog waveform signal and outputs the analog waveform signal. The output of the DAC 15e of the waveform interface circuit 15 is connected to a sound system 16 for generating a musical sound, which includes an amplifier and a speaker.
【0016】バス10には、キーボード及びマウス1
7、表示器18、ハードディスク21及びリムーバブル
ディスク22も接続されている。キーボード及びマウス
17は、使用者により操作される操作子であってCPU
11に外部から指示を与えるものである。表示器18
は、CPU11による処理状態などを表示するものであ
る。ハードディスク21及びリムーバブルディスク22
は、本発明に係るソフト音源プログラム及び波形再生デ
バイス制御プログラムや、各種アプリケーションプログ
ラム、波形データ、音色制御データなどを記憶しておく
大容量のメモリ装置である。The bus 10 includes a keyboard and a mouse 1.
7, the display 18, the hard disk 21 and the removable disk 22 are also connected. The keyboard and mouse 17 are controls operated by the user and
11 is given an external instruction. Display 18
Displays the processing state of the CPU 11 and the like. Hard disk 21 and removable disk 22
Is a large-capacity memory device for storing a software sound source program and a waveform reproduction device control program according to the present invention, various application programs, waveform data, timbre control data, and the like.
【0017】さらに、バス10には、読取り及び書込み
装置23、外部インターフェース24及びMIDI(Mu
sical Instrument Digital Interface)インターフェー
ス25も接続されている。読取り及び書込み装置23
は、外部記録媒体としてのコンパクトディスク23a及
びフレキシブルディスク23bに記憶されている各種プ
ログラム及びデータを読取るとともに、前記両ディスク
23a,23bに各種プログラム及びデータを書き込む
ためのものである。外部インターフェース24は、各種
プログラム及びデータを電話回線などを介して外部とや
り取りするものである。MIDIインターフェースは、
自動演奏装置、電子楽器などの図示しない外部機器との
音高、キーオン、キーオフなどのMIDIデータ(演奏
データ)のやり取りに利用されるものである。Further, the bus 10 includes a read / write device 23, an external interface 24, and a MIDI (Mu).
(Sical Instrument Digital Interface) interface 25 is also connected. Read and write device 23
Is for reading various programs and data stored in the compact disk 23a and the flexible disk 23b as external recording media, and for writing various programs and data in the disks 23a and 23b. The external interface 24 exchanges various programs and data with the outside via a telephone line or the like. The MIDI interface is
It is used for exchanging MIDI data (performance data) such as pitch, key-on, and key-off with an external device (not shown) such as an automatic performance device and an electronic musical instrument.
【0018】次に、上述した楽音生成装置を用いて楽音
を生成する動作について説明する。この装置を用いて楽
音を生成させる前に、使用者は、楽音の生成に関係する
ソフト音源プログラム及び波形再生デバイス制御プログ
ラムや、アプリケーションプログラムなどの各種プログ
ラム、並びに波形データ、音色制御データなどの各種デ
ータを記録したコンパクトディスク23a又はフレキシ
ブルディスク23bを読取り及び書込み装置23にセッ
トして、表示器18を見ながらキーボード及びマウス1
7を操作することにより、前記各種プログラム及びデー
タをコンパクトディスク23a又はフレキシブルディス
ク23bから読取ってハードディスク21又はリムーバ
ブルディスク22に書込んでおく。なお、外部機器に記
憶されている前記各種プログラム及びデータを外部イン
ターフェース24を介して入力して、ハードディスク2
1又はリムーバブルディスク22に書込んでおくように
してもよい。Next, the operation of generating a musical tone using the musical tone generating apparatus described above will be described. Before generating a musical tone using this apparatus, the user must make various programs such as a software tone generator program and a waveform reproducing device control program relating to musical tone generation, an application program, and various other programs such as waveform data and timbre control data. The compact disk 23a or the flexible disk 23b on which the data is recorded is set in the reading and writing device 23, and the keyboard and the mouse 1 are watched while watching the display 18.
By operating the computer 7, the various programs and data are read from the compact disk 23a or the flexible disk 23b and written to the hard disk 21 or the removable disk 22. The various programs and data stored in the external device are input via the external interface 24 and the hard disk 2
1 or the removable disk 22.
【0019】この準備の終了後、楽音の生成を必要とす
る図示しないアプリケーションプログラムを起動させる
と、図3のソフト音源プログラム及び図4の波形再生デ
バイス制御プログラムも同時に自動的に立ち上げられ
る。なお、アプリケーションプログラムによっては、使
用者が、キーボード及びマウス17の操作によって前記
ソフト音源プログラム及び波形再生デバイス制御プログ
ラムを立ち上げることもある。そして、この楽音生成の
制御が実行される場合には、前記アプリケーションプロ
グラムによって生成されたMIDIデータ(音高デー
タ、キーオンデータ、キーオフデータ)がソフト音源プ
ログラムに対して与えられるか、MIDIインターフェ
ース25を介して外部から供給される。After completion of the preparation, when an application program (not shown) that requires generation of a musical tone is started, the software tone generator program shown in FIG. 3 and the waveform reproduction device control program shown in FIG. 4 are automatically started at the same time. Depending on the application program, the user may operate the keyboard and mouse 17 to start up the software tone generator program and the waveform reproduction device control program. When the tone generation control is executed, the MIDI data (pitch data, key-on data, key-off data) generated by the application program is supplied to the software tone generator program or the MIDI interface 25 is transmitted. Supplied from outside via
【0020】前記図3のソフト音源プログラムの起動に
あたっては、CPU11は、ステップ100における起
動指示後、ステップ102にてステップ104〜122
の処理を実行するためのプログラム及びデータをハード
ディスク21又はリムーバブルディスク22から読出し
てRAM14に記憶し、波形インターフェース回路15
の作動を許容し(特に、サンプリングクロック発生器1
5a及びDMAC15cの作動を許容し)、かつステッ
プ104〜122の処理により利用される波形データエ
リア、音色データエリア、チャンネルレジスタエリア、
波形バッファエリアなどの各種データエリアをRAM1
4内に確保する。In starting the software tone generator program shown in FIG. 3, the CPU 11 issues a start instruction in step 100, and then executes steps 104 to 122 in step 102.
A program and data for executing the processing are read out from the hard disk 21 or the removable disk 22 and stored in the RAM 14, and the waveform interface circuit 15
(In particular, the sampling clock generator 1
5a and the operation of the DMAC 15c), and the waveform data area, timbre data area, channel register area,
Various data areas such as waveform buffer area are stored in RAM1
Secure within 4.
【0021】前記ステップ102の初期設定処理後、ス
テップ104にて、ステップ110〜120の各処理の
下記起動要因〜をチェックする。 アプリケーションプログラム又は外部からMIDIデ
ータがこのソフト音源プログラムに対して供給された
か。 DMAC15cからこのソフト音源プログラムに対し
て1フレーム分の波形データの再生終了が通知された
か。 DMAC15cからこのソフト音源プログラムに対し
て次の1フレーム分の波形データの生成終了のチェック
要求があったか。 アプリケーションプログラム、外部又はキーボード及
びマウス17などからこのソフト音源プログラムに対し
て楽音の音色及び音量の変更などのその他の指示があっ
たか。 アプリケーションプログラム、外部又はキーボード及
びマウス17からこのソフト音源プログラムに対して終
了の要求があったか。After the initial setting process in step 102, in step 104, the following starting factors of each process in steps 110 to 120 are checked. Has MIDI data been supplied to this software tone generator program from an application program or externally? Has the DMAC 15c notified the soft tone generator program of the end of the reproduction of the waveform data for one frame? Is there a check request from the DMAC 15c for the generation of the waveform data for the next one frame to the software tone generator program? Was there any other instruction from the application program, the outside, the keyboard and the mouse 17, etc., to the soft tone generator program, such as changing the tone and volume of the musical sound? Is there a request from the application program, the outside, or the keyboard and mouse 17 to terminate the software tone generator program?
【0022】前記チェックの結果、前記〜の起動要
因がなければ、ステップ106にて「NO」と判定し
て、ステップ104,106からなる循環処理を続け
る。一方、前記〜の起動要因があれば、ステップ1
06,108の判定処理により、CPU11はステップ
110〜120のいずれかの処理を実行する。なお、こ
れらの各処理については、楽音の発音動作を関連して詳
しく後述する。As a result of the above-mentioned check, if there is no above-mentioned starting factor, "NO" is determined in step 106, and the circulation processing consisting of steps 104 and 106 is continued. On the other hand, if there are the above-mentioned activation factors, step 1
The CPU 11 executes any one of steps 110 to 120 by the determination process of steps 06 and 108. Each of these processes will be described later in detail with reference to the tone generation operation of musical tones.
【0023】前記図4の波形再生デバイス制御プログラ
ムの起動にあたっては、CPU11は、ステップ200
における起動指示後、ステップ202にてステップ20
4〜218の処理を実行するためのプログラム及びデー
タをハードディスク21又はリムーバブルディスク22
から読出してRAM14に記憶し、かつステップ204
〜218の処理により利用される各種データエリアをR
AM14内に確保する。When starting the waveform reproduction device control program shown in FIG.
After the start instruction at step 202, the process proceeds to step 20 at step 202.
4 to 218 are stored in the hard disk 21 or the removable disk 22.
And stored in the RAM 14, and
The various data areas used by the processing of
Secured in AM14.
【0024】前記ステップ202の初期設定処理後、ス
テップ204にて、ステップ210〜216の各処理の
下記起動要因〜をチェックする。 ソフト音源プログラムからこの波形再生デバイス制御
プログラムに対して次の1フレーム分の波形データの生
成終了が通知されたか。 DMAC15cからこの波形再生デバイス制御プログ
ラムに対して1フレーム分の波形データの再生終了が通
知されたか。 アプリケーションプログラム、外部又はソフト音源プ
ログラムからこの波形再生デバイス制御プログラムに対
してその他の処理を実行すべき指示があったか。 アプリケーションプログラム、外部又はキーボード及
びマウス17からこの波形再生デバイス制御プログラム
に対して終了の要求があったか。After the initial setting process in step 202, in step 204, the following starting factors of the processes in steps 210 to 216 are checked. Has the software sound source program notified the waveform reproduction device control program that generation of the next one frame of waveform data has been completed? Has the DMAC 15c notified the waveform reproduction device control program that reproduction of the waveform data for one frame has been completed? Was there an instruction from the application program, external or software sound source program to execute other processing to this waveform reproduction device control program? Is there an end request from the application program, the external device, or the keyboard and mouse 17 to the waveform reproduction device control program?
【0025】前記チェックの結果、前記〜の起動要
因がなければ、ステップ206にて「NO」と判定し
て、ステップ204,206からなる循環処理を続け
る。一方、前記〜の起動要因があれば、ステップ2
06,208の判定処理により、CPU11はステップ
210〜216のいずれかの処理を実行する。なお、こ
れらの各処理についても、楽音の発音動作を関連して詳
しく後述する。As a result of the above-mentioned check, if there is no above-mentioned starting factor, "NO" is determined in the step 206, and the circulation processing consisting of the steps 204 and 206 is continued. On the other hand, if there are the above-mentioned activation factors, step 2
By the determination processing of steps 06 and 208, the CPU 11 executes any one of steps 210 to 216. Each of these processes will be described later in detail with reference to the tone generation operation.
【0026】次に、楽音の発音動作について詳しく説明
するが、上述した各プログラムの各ステップの処理は、
図示しないオペレーティング・システム(OS)の制御
のもとに、一つのステップの処理が終了するまで実行さ
れ続けるものではなく、各ステップの処理は一部ずつ実
行されるものであり、実質的には複数のプログラムの処
理が同時に進行しているものと等価である(いわゆるマ
ルチタスク処理)。Next, the tone generation operation of a musical tone will be described in detail.
Under the control of an operating system (OS) (not shown), the processing is not continuously executed until the processing of one step is completed, and the processing of each step is executed one by one. This is equivalent to the processing of a plurality of programs being performed simultaneously (so-called multitask processing).
【0027】まず、図3のソフト音源プログラムに対し
て図8(A)に示すようにMIDIデータが供給される
と、CPU11は、ステップ104〜108の判定処理
により、ステップ110のMIDI処理ルーチンを実行
する。このMIDI処理ルーチンでは、音高データ及び
キーオンデータなどの楽音発生開始のためのMIDIデ
ータが供給された場合、同供給されたMIDIデータを
予め用意されている複数の発音チャンネルのいずれかに
割当てるとともに、同MIDIデータに対応した楽音制
御データをRAM14内に設けたチャンネルレジスタに
記憶して、同データに対応した楽音の発生を準備する。
また、音高データ及びキーオフデータなどの楽音発生終
了のためのMIDIデータが供給された場合には、同デ
ータが割り当てられている発音チャンネルを捜して、同
チャンネルにおける楽音の発生終了を準備する。これら
の楽音の発生開始又は発生終了の準備が終了すると、M
IDI処理ルーチンの実行は終了され、新たなMIDI
データがこのソフト音源プログラムに再び供給されたと
きにはじめて、前記ステップ110のMIDI処理ルー
チンが実行される。First, when the MIDI data is supplied to the software tone generator program of FIG. 3 as shown in FIG. 8A, the CPU 11 executes the MIDI processing routine of step 110 by the determination processing of steps 104 to 108. Execute. In the MIDI processing routine, when MIDI data for starting musical tone generation such as pitch data and key-on data is supplied, the supplied MIDI data is assigned to one of a plurality of tone channels prepared in advance. The tone control data corresponding to the MIDI data is stored in a channel register provided in the RAM 14 to prepare for generation of a tone corresponding to the data.
When MIDI data such as pitch data and key-off data for terminating the generation of musical tones is supplied, a tone generation channel to which the data is assigned is searched for, and preparation for terminating generation of musical tones in the channel is prepared. When preparation for starting or ending the generation of these musical tones is completed, M
The execution of the IDI processing routine is terminated, and a new MIDI
Only when data is supplied again to the soft tone generator program, the MIDI processing routine of the step 110 is executed.
【0028】一方、DMAC15cから図3のソフト音
源プログラム及び図4の波形再生デバイス制御プログラ
ムに対して、1フレーム分の波形データの再生終了が通
知されると(図8参照)、CPU11は、図3のステッ
プ104〜108の判定処理により、ステップ112の
波形生成処理ルーチンを実行する。この波形生成処理ル
ーチンでは、次の1フレーム分の波形データを生成して
RAM14内に設けた波形バッファ14a〜14cのい
ずれかに記憶しておくために、チャンネルレジスタに記
憶されている楽音制御データに基づいて、複数の発音チ
ャンネルにそれぞれ割当てられている複数の楽音の各瞬
時値を表すサンプリングデータを生成するとともに、同
生成した各サンプリングデータを加算混合して複数の楽
音を混合した混合楽音の瞬時値を表すサンプリングデー
タを順次生成して、波形バッファ14a〜14cいずれ
かに記憶していく。この場合、前記各楽音に関するサン
プリングデータの生成に当たっては、RAM14内に記
憶した音色データ、楽音波形を表す波形データなどを利
用して、波形メモリ読出し方式、変調方式、高調波加算
方式などの楽音合成方式により楽音波形を生成する。ま
た、混合楽音に関するサンプリングデータの波形バッフ
ァ14a〜14cへの記憶に関しては、1フレーム分の
波形データを、波形バッファ14a,14b,14c,
14a…の順に波形データA,B,C,A…として順次
記憶させる。On the other hand, when the DMAC 15c notifies the soft tone generator program of FIG. 3 and the waveform reproduction device control program of FIG. 4 of the end of the reproduction of the waveform data for one frame (see FIG. 8), the CPU 11 proceeds to FIG. The waveform generation processing routine of step 112 is executed by the determination processing of steps 104 to 108 of 3. In this waveform generation processing routine, in order to generate waveform data for the next one frame and store it in one of the waveform buffers 14a to 14c provided in the RAM 14, the tone control data stored in the channel register On the basis of the above, generates sampling data representing each instantaneous value of a plurality of musical tones assigned to a plurality of tone generation channels, and adds and mixes the generated sampling data to mix a plurality of musical tones. Sampling data representing an instantaneous value is sequentially generated and stored in one of the waveform buffers 14a to 14c. In this case, when generating the sampling data for each tone, the tone data stored in the RAM 14, the waveform data representing the tone waveform, and the like are used to generate a tone synthesis such as a waveform memory reading method, a modulation method, and a harmonic addition method. A tone waveform is generated by the method. As for the storage of the sampling data relating to the mixed musical tone in the waveform buffers 14a to 14c, the waveform data for one frame is stored in the waveform buffers 14a, 14b, 14c,
.. Are sequentially stored as waveform data A, B, C, A,.
【0029】なお、次の1フレーム分の波形データが次
の再生終了タイミングまでに生成される場合には、図8
に示すような再生終了タイミングより少し前の所定の判
定タイミングで、DMAC15cからこのソフト音源プ
ログラムに対して次の1フレーム分の波形データの生成
終了のチェック要求があっても、実質的な処理は実行さ
れない。すなわち、ステップ102〜108の処理によ
り、プログラムはステップ114に進められるが、同ス
テップ114にて波形生成は終了しているとの判定のも
とにプログラムはステップ104に戻される。If the waveform data for the next one frame is generated before the next reproduction end timing, FIG.
Even if the DMAC 15c issues a request to the software tone generator program to check the end of the generation of waveform data for the next one frame at a predetermined judgment timing slightly before the end timing of reproduction as shown in FIG. Not executed. In other words, the program proceeds to step 114 by the processing of steps 102 to 108, but the program returns to step 104 based on the determination that the waveform generation has been completed in step 114.
【0030】最初に、前記ステップ112の波形生成処
理により、次の1フレーム分の波形データの生成が正常
に終了した場合、正確には図8に示す判定タイミングま
でに同波形データの生成が終了している場合について説
明する。この場合、前記波形生成処理ルーチンにおい
て、生成終了時に、波形再生デバイス制御プログラムに
対して次の1フレーム分の波形データの生成終了が通知
される。具体的には、CPU11が、RAM14内に設
けられて波形再生デバイス制御プログラム用のワークエ
リアにその旨を書き込んでおく。これにより、CPU1
1は、図4の波形再生デバイス制御プログラムのステッ
プ204,206の循環処理中、波形受取り処理の起動
要因ありと判定して、ステップ208の処理によりステ
ップ210の波形受取り処理ルーチンを実行をする。First, when the generation of the waveform data for the next one frame is normally completed by the waveform generation processing in step 112, the generation of the same waveform data is completed by the determination timing shown in FIG. Will be described. In this case, in the waveform generation processing routine, at the end of generation, the waveform reproduction device control program is notified of the end of generation of the next one frame of waveform data. Specifically, the CPU 11 writes the fact in a work area provided in the RAM 14 for the waveform reproduction device control program. Thereby, the CPU 1
1 determines that there is an activation factor of the waveform reception processing during the circulation processing in steps 204 and 206 of the waveform reproduction device control program in FIG. 4, and executes the waveform reception processing routine of step 210 by the processing of step 208.
【0031】この波形受取り処理ルーチンの詳細は、図
5に詳細に示されており、その実行がステップ230に
て開始され、ステップ232にて波形バッファ14a〜
14cのうちで前記波形生成処理により次の1フレーム
の波形データを記憶させた波形バッファの先頭アドレス
をワークエリアに記憶しておく。次に、ステップ234
にて、受け取った波形データの再生を予約、すなわちワ
ークエリアに次の1フレーム分の波形データを受け取っ
た旨を書込んでおき、ステップ236にてこの波形受け
取り処理ルーチンの実行を終了する。The details of this waveform reception processing routine are shown in detail in FIG. 5, and its execution is started at step 230, and at step 232, the waveform buffers 14a to 14a are processed.
In the work area 14c, the head address of the waveform buffer in which the waveform data of the next one frame is stored by the waveform generation processing is stored. Next, step 234
Then, the reproduction of the received waveform data is reserved, that is, the fact that the next one frame of the waveform data has been received is written in the work area, and the execution of this waveform reception processing routine is terminated in step 236.
【0032】そして、DMAC15cから1フレーム分
の波形データの再生終了が通知されると、CPU11は
ステップ204〜208の処理により、ステップ212
のフレーム処理ルーチンを実行する。このフレーム処理
ルーチンの詳細は、図6に詳細に示されているように、
ステップ240にて開始され、ステップ242にて再生
予約があるか否かを判定する。この場合、前記のように
して次の1フレームの波形データの再生予約がなされて
いるので、ステップ242における「YES」との判定
のもとに、ステップ244,246の処理を実行する。
ステップ244においては、前記再生予約を解除すなわ
ち前記次の1フレームの波形データを受け取った旨の内
容をワークエリアから消す。ステップ246において
は、次の1フレーム分の波形データの再生をDMAC1
5cに指示する。具体的には、DMAC15c内の制御
回路内に前記次の1フレーム分の波形データを記憶した
波形バッファの先頭アドレスを先頭アドレスデータHA
Dとして記憶させるとともに、アドレスカウンタ回路の
カウント値PPを「0」にクリアする。そして、ステッ
プ250にて、このフレーム処理ルーチンの実行を終了
する。When the DMAC 15c notifies the end of the reproduction of the waveform data of one frame, the CPU 11 executes the processing of steps 204 to 208 to execute step 212.
Of the frame processing routine of FIG. The details of this frame processing routine are as shown in detail in FIG.
The process starts at step 240, and at step 242, it is determined whether or not there is a reproduction reservation. In this case, since the reproduction of the waveform data of the next one frame has been reserved as described above, the processes of steps 244 and 246 are executed based on the determination of “YES” in step 242.
In step 244, the reproduction reservation is canceled, that is, the content indicating that the waveform data of the next one frame has been received is erased from the work area. In step 246, the reproduction of the waveform data of the next one frame is performed by the DMAC1.
Instruct 5c. Specifically, the head address of the waveform buffer storing the waveform data of the next one frame is stored in the control circuit in the DMAC 15c as the head address data HA.
At the same time, the count value PP of the address counter circuit is cleared to “0”. Then, in step 250, the execution of the frame processing routine ends.
【0033】このように、次の1フレーム分の波形デー
タの再生がDMAC15cに対して指示されると、DM
AC15cは、前記次の1フレーム分の波形データを再
生するようになる。すなわち、サンプリングクロック発
生器15aからのサンプリングクロック信号の到来毎
に、ステップ302〜306の制御動作により、アドレ
スカウンタ回路のカウント値PPを「1」ずつ進めなが
ら、波形バッファ14a〜14cのうちで先頭アドレス
がHADである波形バッファ内のサンプリングデータ、
すなわち前記波形生成処理ルーチンにて生成された次の
1フレーム分の波形データを記憶した波形バッファ内の
サンプリングデータを順次読出して、DAC15eに供
給する。DAC15eは、前記サンプリングデータをD
/A変換して、同D/A変換されたアナログ波形信号を
サウンドシステム16に供給し、同サウンドシステム1
6は前記アナログ波形信号に対応した楽音を発音する。As described above, when the reproduction of the waveform data for the next frame is instructed to the DMAC 15c, the DMC 15c
The AC 15c reproduces the waveform data of the next one frame. That is, every time a sampling clock signal arrives from the sampling clock generator 15a, the control operation of steps 302 to 306 causes the count value PP of the address counter circuit to be advanced by "1", and the top of the waveform buffers 14a to 14c. Sampling data in the waveform buffer whose address is HAD,
That is, the sampling data in the waveform buffer storing the waveform data of the next one frame generated by the waveform generation processing routine is sequentially read and supplied to the DAC 15e. The DAC 15e converts the sampling data into D
A / A conversion and the D / A converted analog waveform signal are supplied to the sound system 16 and the sound system 1
Reference numeral 6 produces a musical tone corresponding to the analog waveform signal.
【0034】なお、前記においては、図3のステップ1
12の波形生成処理ルーチンの説明を、図4の波形再生
デバイス制御ルーチンのステップ212のフレーム処理
ルーチンの説明よりも先に行ったが、これは波形生成後
に同生成した波形が発生されることを理解し易くするた
めであり、実際にはフレーム処理ルーチンの方が波形生
成処理ルーチンよりも先に実行される。すなわち、前述
のようにDMAC15cからソフト音源プログラム及び
波形再生デバイス制御プログラムに対して同時に1フレ
ーム分の波形データの再生終了が通知されるが、この場
合には、前記フレーム処理ルーチンが波形生成処理ルー
チンよりも優先して処理されるようになっている。In the above, step 1 in FIG.
The description of the 12 waveform generation processing routine was made earlier than the description of the frame processing routine of step 212 of the waveform reproduction device control routine of FIG. 4. This is because the generated waveform is generated after the waveform generation. In order to facilitate understanding, the frame processing routine is actually executed before the waveform generation processing routine. That is, as described above, the DMAC 15c simultaneously notifies the soft sound source program and the waveform reproduction device control program of the end of the reproduction of one frame of the waveform data. In this case, the frame processing routine is executed by the waveform generation processing routine. Processing is performed with higher priority.
【0035】このようにして、波形データは1フレーム
ずつ生成されるとともに、波形バッファ14a〜14c
に順番に記憶され、同記憶された波形データは次の再生
終了タイミングから順次読み出されて、楽音として発音
される。したがって、ステップ112の波形生成処理に
よって次の1フレーム分の波形データの生成が正常に終
了した場合、各フレーム毎に新たに生成された複数チャ
ンネル分の波形データに基づく楽音が継続的に発生され
るので、楽音は常に連続的に変化しながら発音されるこ
とになる。As described above, the waveform data is generated one frame at a time, and the waveform buffers 14a to 14c
, And the stored waveform data is sequentially read from the next reproduction end timing and is emitted as a musical tone. Therefore, when the generation of the waveform data of the next one frame is completed normally by the waveform generation processing of step 112, a tone based on the newly generated waveform data of a plurality of channels is continuously generated for each frame. Therefore, the musical tone is always generated while continuously changing.
【0036】次に、前記ステップ112の波形生成処理
により、次の1フレーム分の波形データの生成が正常に
終了しない場合、すなわち、図8に示す判定タイミング
において「同波形データの生成が次のフレームの開始ま
でに完了しない」と判定される場合について説明する。
この場合、前記判定タイミングにDMAC15cからソ
フト音源プログラムに対して波形データの生成終了のチ
ェック要求があると、CPU11は、ステップ104〜
108の処理により、プログラムをステップ114に進
める。そして、ステップ114にて、ステップ112に
よる波形生成が終了していないことを判定して、プログ
ラムをステップ116に進める。Next, when the generation of the waveform data for the next one frame does not end normally by the waveform generation processing of step 112, that is, at the determination timing shown in FIG. The case where it is determined that the process is not completed before the start of the frame will be described.
In this case, when the DMAC 15c requests the software tone generator program to check the end of waveform data generation at the determination timing, the CPU 11 proceeds to steps 104 to 104.
By the processing of 108, the program proceeds to step 114. Then, in step 114, it is determined that the waveform generation in step 112 has not been completed, and the program proceeds to step 116.
【0037】ステップ116においては、前記判定タイ
ミングから次のフレームタイミングまで、同判定タイミ
ングまで読出されていたフレームの波形データと同フレ
ームの一つの前のフレームの波形データとをクロスフェ
ード処理する。例えば、図8のフレーム4に示すよう
に、ステップ112の処理によってフレーム5の波形デ
ータAを生成するとともに波形バッファ14aに書き込
んでいる際、判定タイミングで波形生成が終了しないと
判定された場合について説明する。この場合、波形バッ
ファ14c内に記憶されていてDMAC15cによって
読出し再生中の波形データCであって、判定タイミング
から次の再生終了タイミングまでに対応した波形データ
(各サンプリングデータ)の振幅を徐々に小さくするフ
ェードアウト処理を行う。これと同時に、波形バッファ
14bに記憶されていて波形データCの前の波形データ
Bであって、判定タイミングから次の再生終了タイミン
グまでに対応した波形データ(各サンプリングデータ)
の振幅を徐々に大きくするフェードイン処理を行う。そ
して、これらのフェードアウト処理されたサンプリング
データとフェードイン処理されたサンプリングデータと
を加算(混合)してクロスフェードサンプリングデータ
を生成し、生成したクロスフェードサンプリングデータ
を、判定タイミングから次の再生終了タイミングまでに
対応した各サンプリングデータ(波形データCの終わり
の部分)に代えて波形バッファ14cに書き込む。な
お、このステップ116のクロスフェード処理がなされ
る状態では、前述したステップ112の波形生成処理は
次の再生終了タイミングまで実行されない。In step 116, from the determination timing to the next frame timing, the waveform data of the frame read up to the determination timing and the waveform data of the previous frame of the same frame are cross-fade. For example, as shown in frame 4 in FIG. 8, when the waveform data A of frame 5 is generated by the processing of step 112 and is written in the waveform buffer 14a, it is determined that the waveform generation does not end at the determination timing. explain. In this case, the amplitude of the waveform data C (each sampling data) stored in the waveform buffer 14c and being read and reproduced by the DMAC 15c and corresponding to the period from the determination timing to the next reproduction end timing is gradually reduced. Perform a fade-out process. At the same time, the waveform data B stored in the waveform buffer 14b and before the waveform data C and corresponding to the waveform data (each sampling data) from the determination timing to the next reproduction end timing.
Is performed to gradually increase the amplitude. Then, the fade-out processed sampling data and the fade-in processed sampling data are added (mixed) to generate cross-fade sampling data, and the generated cross-fade sampling data is output from the determination timing to the next reproduction end timing. Is written in the waveform buffer 14c in place of the corresponding sampling data (the end portion of the waveform data C). In the state where the cross-fade processing in step 116 is performed, the above-described waveform generation processing in step 112 is not executed until the next reproduction end timing.
【0038】一方、DMAC15cは、サンプリングク
ロック発生器15aからのサンプリングクロック信号の
到来毎に、ステップ302〜306の制御動作により、
アドレスカウンタ回路のカウント値PPを「1」ずつ進
めながら、波形バッファ14cからサンプリングデータ
を順次読出し続けるので、前記クロスフェード処理され
たサンプリングデータが順次読出される。なお、このD
MAC15cによるサンプリングデータの読出し時に
は、前記ステップ116のクロックフェード処理は一時
的に中断されるが、同サンプリングデータの読出しレー
トはそれほど速くないので、前記クロスフェード処理に
よるサンプリングデータの生成及び書込みは充分に間に
合う。On the other hand, every time a sampling clock signal arrives from the sampling clock generator 15a, the DMAC 15c performs
Since the sampling data is continuously read from the waveform buffer 14c while incrementing the count value PP of the address counter circuit by "1", the cross-fade-processed sampling data is sequentially read. Note that this D
At the time of reading the sampling data by the MAC 15c, the clock fading process in the step 116 is temporarily interrupted. However, since the reading rate of the sampling data is not so fast, the generation and writing of the sampling data by the cross-fading process are not sufficiently performed. In time.
【0039】そして、DMAC15cから1フレーム分
の波形データの再生終了が通知されると、前述した場合
と同様に、CPU11はステップ204〜208の判定
処理によりステップ212のフレーム処理ルーチンを実
行する。この場合、波形受取り処理ルーチン(図5)の
ステップ234による波形再生の予約がなされていない
ので、フレーム処理ルーチンにおいては、ステップ24
2にて「NO」と判定されてプログラムがステップ24
8に進められる。ステップ248においては、現在読出
し中の1フレーム分の波形データの再生をDMAC15
cに指示する。具体的には、DMAC15cの制御回路
は現在読出し中の波形バッファの先頭アドレスを示す先
頭アドレスデータHADをそのままに維持して、アドレ
スカウンタ回路のカウント値PPを「0」にクリアす
る。したがって、次のフレーム(例えば、図8に示すよ
うにフレーム5)では、前回読出した1フレーム分の波
形データ(例えば、図8に示すクロスフェード処理した
波形データC)を繰り返し読出すことになる。When the end of the reproduction of the waveform data for one frame is notified from the DMAC 15c, the CPU 11 executes the frame processing routine of step 212 by the determination processing of steps 204 to 208 as in the case described above. In this case, since the reservation of the waveform reproduction in step 234 of the waveform reception processing routine (FIG. 5) has not been made, step 24 is executed in the frame processing routine.
2 is determined as "NO" and the program proceeds to step 24.
Proceed to 8. In step 248, the reproduction of the waveform data of one frame currently being read is performed by the DMAC 15.
Instruct c. Specifically, the control circuit of the DMAC 15c clears the count value PP of the address counter circuit to "0" while maintaining the head address data HAD indicating the head address of the waveform buffer currently being read. Therefore, in the next frame (for example, frame 5 as shown in FIG. 8), one frame of previously read waveform data (for example, cross-fade-processed waveform data C shown in FIG. 8) is repeatedly read. .
【0040】この1フレーム分の波形データの繰り返し
読出し後には、同読出し中に次の波形データの生成が正
常に行われれば上述のように同生成された次の1フレー
ム分の波形データが読出される。また、前記読出し中に
次の波形データの生成が正常に行われなければ、前記と
同様に、読出された1フレーム分の波形データが繰り返
し読出されることになる。After repeatedly reading out the waveform data for one frame, if the next waveform data is normally generated during the reading, the waveform data for the next one frame generated as described above is read out. Is done. If the generation of the next waveform data is not performed normally during the reading, the read waveform data of one frame is repeatedly read in the same manner as described above.
【0041】また、アプリケーションプログラム、外
部、又はキーボード及びマウス17などからソフト音源
プログラムに対して楽音の音色及び音量の変更などのそ
の他の指示があった場合にも、CPU11は、図3のス
テップ104〜108の判定処理により、ステップ11
8にて前記指示に応じた処理を実行する。また、アプリ
ケーションプログラム、外部、又はキーボード及びマウ
ス17などから波形再生デバイス制御プログラムに対し
てその他の指示があった場合には、CPU11は、図4
のステップ204〜208の判定処理により、ステップ
214にて前記指示に応じた処理を実行する。Also, when there is another instruction such as a change of the tone and volume of a musical tone from the application program, the outside, or the keyboard and mouse 17 to the software tone generator program, the CPU 11 executes the step 104 of FIG. Steps 11 through
At step 8, a process corresponding to the instruction is executed. When another instruction is given to the waveform reproduction device control program from the application program, the outside, or the keyboard and the mouse 17, the CPU 11 executes the processing shown in FIG.
According to the determination processing in steps 204 to 208, the processing corresponding to the instruction is executed in step 214.
【0042】さらに、アプリケーションプログラム、外
部、又はキーボード及びマウス17からソフト音源プロ
グラム及び波形再生デバイス制御プログラムに対して終
了の要求があった場合には、図3のソフト音源プログラ
ムにおいては、CPU11がステップ104〜108の
判定処理によりステップ120の終了処理を実行して、
ステップ122にてこのソフト音源プログラムの実行を
終了する。一方、図3の波形再生デバイス制御プログラ
ムにおいては、CPU11がステップ204〜208の
判定処理によりステップ216の終了処理を実行して、
ステップ218にてこの波形再生デバイス制御プログラ
ムの実行を終了する。なお、前記両終了処理において
は、各プログラムにて使用していたRAM14内のエリ
アを開放するとともに、波形インターフェース回路15
の作動を停止する。Further, when there is a request from the application program, the outside, or the keyboard and mouse 17 to terminate the soft tone generator program and the waveform reproduction device control program, the CPU 11 in the soft tone generator program of FIG. By performing the end processing of step 120 by the determination processing of 104 to 108,
In step 122, the execution of the software tone generator program is terminated. On the other hand, in the waveform reproduction device control program of FIG. 3, the CPU 11 executes the termination processing of step 216 by the determination processing of steps 204 to 208,
In step 218, the execution of the waveform reproduction device control program ends. In the both end processing, the area in the RAM 14 used by each program is released, and the waveform interface circuit 15
Stop the operation of.
【0043】上記作動説明からも理解できるとおり、ス
テップ112の波形生成処理により判定タイミングまで
に次のフレームの波形データが生成されないとき、RA
M14に既に記憶されていて現在読出し中の波形データ
を次のフレームの波形データとして繰り返し読出すよう
にしたので、常に読出される波形データが途切れること
もなく、かつ読出される波形データが極端に変化するこ
ともなくなり、発生楽音を自然に連続させることができ
るようになる。また、前記波形データの繰り返し読出し
の際には、判定タイミングから次の波形データの再生終
了タイミングまで、同判定タイミングまで読出されてい
た波形データと一つ前のフレームの終わりの部分の波形
データとをクロスフェード処理して出力するようにした
ので、前記繰り返し読出しの開始時における波形データ
の連続性がさらに改善され、生成される楽音の連続性が
より良好になる。As can be understood from the above operation description, when the waveform data of the next frame is not generated by the determination timing by the waveform generation processing of step 112, RA
Since the waveform data already stored in M14 and currently being read is repeatedly read as the waveform data of the next frame, the waveform data to be read is not interrupted and the read waveform data is extremely It does not change, and the generated musical tones can be naturally continued. Further, when the waveform data is repeatedly read, from the determination timing to the reproduction end timing of the next waveform data, the waveform data read up to the same determination timing and the waveform data at the end of the immediately preceding frame are compared with Is output after cross-fade processing, the continuity of the waveform data at the start of the repeated reading is further improved, and the continuity of the generated musical tone is further improved.
【0044】なお、上記実施形態においては、前記波形
データの繰り返し読出しの際にクロスフェード処理を行
うようにしたが、プログラム及び波形処理を簡素化する
ために、クロスフェード処理を省略して次のフレームの
開始時に今まで読出していた波形データを単に繰り返し
読出すようにしてもよい。このようにしても、隣合うフ
レームの波形データが連続して読出されるので、波形の
連続性は保たれる。また、この場合、1フレームの波形
データの生成終了の判定タイミングを、1フレーム分の
波形データの再生終了タイミングの直前など同再生終了
タイミングとほぼ同一タイミングにするようにしてもよ
い。In the above embodiment, the cross-fade processing is performed at the time of repeatedly reading the waveform data. However, in order to simplify the program and the waveform processing, the cross-fade processing is omitted and the following is performed. At the start of the frame, the waveform data that has been read up to now may be simply read out repeatedly. Even in this case, since the waveform data of the adjacent frames is continuously read, the continuity of the waveform is maintained. In this case, the timing for determining the end of generation of one frame of waveform data may be set to be substantially the same as the same reproduction end timing, such as immediately before the end of reproduction of one frame of waveform data.
【0045】また、上記実施形態では、一旦途切れた波
形生成処理が復帰するときに、新たに生成された波形デ
ータをいきなり出力するようになっていたが(図8のフ
レーム6)、そこのところを、それまで繰り返し出力し
ていた波形データをフェードアウトし、同新たに生成さ
れた波形データをフェードインするように変更してもよ
い。このようにすれば、復帰時のクリックノイズの発生
を防止できる。In the above-described embodiment, when the interrupted waveform generation processing returns, the newly generated waveform data is output immediately (frame 6 in FIG. 8). May be changed so that waveform data that has been repeatedly output up to that point is faded out, and the newly generated waveform data is faded in. By doing so, it is possible to prevent the generation of click noise at the time of return.
【0046】また、上記実施形態では、3つの波形バッ
ファを使用するソフト音源であったが、本発明を10個
とか、20個とか、それ以外の数の波形バッファを使用
するソフト音源で実施してもよい。また、所定周期で波
形を生成し、DMAC15cで読み出される1つのリン
グバッファに、順次追加していくタイプのソフト音源で
実現してもよい。In the above embodiment, the soft sound source uses three waveform buffers. However, the present invention is implemented with a soft sound source using ten, twenty, or any other number of waveform buffers. You may. Alternatively, a soft tone generator that generates a waveform at a predetermined cycle and sequentially adds the waveform to one ring buffer read by the DMAC 15c may be used.
【0047】また、上記実施形態では、波形生成に障害
が生じた場合、1フレーム分の波形データを繰り返し出
力するようになっていたが、波形バッファにそれよりも
長時間の波形データが残っている場合には、それよりも
大きなサイズの波形データを繰り返し読み出すようにし
てもよい。ループサイズを大きくした方が、繰り返し読
み出しに固有なピッチを目立たなくすることができる。
また、1フレームのループサイズは、生成している楽音
のピッチとは全く関係のない大きさであったが、何れか
1つ若しくは複数の発音チャンネルで生成している楽音
のピッチに応じたループサイズを設定し、そのループサ
イズで繰り返し読み出しを行うようにしてもよい。その
場合、繰り返し読み出しにより発生するピッチは、それ
まで発音チャンネルで発生していた楽音のピッチを引き
継いでおり、ループピッチによる悪影響を防止できる。In the above-described embodiment, when a failure occurs in the waveform generation, the waveform data for one frame is repeatedly output. However, the waveform buffer for a longer time remains in the waveform buffer. In this case, waveform data having a larger size may be repeatedly read. Increasing the loop size makes the pitch unique to repeated reading less noticeable.
The loop size of one frame has a size completely unrelated to the pitch of the tone being generated, but the loop size corresponding to the pitch of the tone being generated in any one or a plurality of tone generation channels. The size may be set, and reading may be repeatedly performed with the loop size. In this case, the pitch generated by repeated reading inherits the pitch of the musical tone generated in the sounding channel up to that time, so that the adverse effect of the loop pitch can be prevented.
【0048】さらに、上記実施形態では、クロスフェー
ドによりループ波形の終わりをループ波形の先頭に接続
していたが、ループの終わりと先頭の近傍で同じような
値と傾きをもつサンプルをサーチして、そこで直接接続
するようにしてもよい。また、同じ波形データを単に繰
り返し読み出しするだけでは単調なので、波形生成に障
害が生じた場合に、過去に再生した複数の異なる波形デ
ータを繰り返し再生するとともに、その繰り返し再生す
る波形データを徐々にフェードアウトするようにしても
よい。Further, in the above embodiment, the end of the loop waveform is connected to the beginning of the loop waveform by cross-fading. However, samples having similar values and gradients near the end and the beginning of the loop are searched for. The connection may be made directly there. Also, simply reading the same waveform data repeatedly is monotonous, so if a waveform generation failure occurs, a plurality of different waveform data that have been reproduced in the past are repeatedly reproduced, and the repeatedly reproduced waveform data is gradually faded out. You may make it.
【図1】 本発明に係る楽音生成装置の全体を示す概略
ブロック図である。FIG. 1 is a schematic block diagram showing the entirety of a musical sound generation device according to the present invention.
【図2】 図1の波形インターフェース回路及びRAM
の詳細を示すブロック図である。FIG. 2 is a waveform interface circuit and a RAM of FIG. 1;
FIG. 4 is a block diagram showing the details of.
【図3】 図1の楽音生成装置にて実行されるソフト音
源プログラムのフローチャートである。FIG. 3 is a flowchart of a software tone generator program executed by the tone generator of FIG. 1;
【図4】 図1の楽音生成装置にて実行される波形再生
デバイス制御プログラムのフローチャートである。FIG. 4 is a flowchart of a waveform reproduction device control program executed by the musical sound generation device of FIG. 1;
【図5】 図4の波形受取り処理ルーチンの詳細を示す
フローチャートである。FIG. 5 is a flowchart showing details of a waveform reception processing routine of FIG. 4;
【図6】 図4のフレーム処理ルーチンの詳細を示すフ
ローチャートである。FIG. 6 is a flowchart showing details of a frame processing routine of FIG. 4;
【図7】 図1,2の波形インターフェース回路の機能
を示す機能フローチャートである。FIG. 7 is a functional flowchart showing functions of the waveform interface circuit of FIGS.
【図8】 (A)は波形データの生成及び再生を説明する
ためのタイムチャートであり、(B)はクロスフェード処
理を説明するためのタイムチャートである。FIG. 8A is a time chart for explaining generation and reproduction of waveform data, and FIG. 8B is a time chart for explaining cross-fade processing.
10…バス、11…CPU、14…RAM、14a〜1
4c…波形バッファ、15…波形インターフェース回
路、15a…サンプリングクロック発生器、15b,1
5c…DMAC、21…ハードディスク、22…リムー
バルディスク、23a…コンパクトディスク、23b…
フレキシブルディスク。10 bus, 11 CPU, 14 RAM, 14a-1
4c: Waveform buffer, 15: Waveform interface circuit, 15a: Sampling clock generator, 15b, 1
5c DMAC, 21 hard disk, 22 removable disk, 23a compact disk, 23b
Flexible disk.
Claims (9)
繰り返し生成して記憶手段に書き込んでおき、同記憶手
段に書き込まれた各区間の波形データを所定レートで順
次読出すとともに各区間の波形データの読出しが終了す
る毎に次の区間の波形データの前記読出しを開始するよ
うにして、連続した楽音を生成する楽音生成方法におい
て、 次の区間の波形データの読出し開始タイミングまでに同
次の区間の波形データの生成及び書き込みが終了するか
否かを判定し、同次の波形データの生成及び書き込みが
終了しないと判定されたとき前記記憶手段に書き込まれ
ていて既に読出された区間の波形データを再読出しする
ようにしたことを特徴とする楽音生成方法。1. Waveform data representing a musical tone is repeatedly generated for each predetermined section and written in a storage means, and the waveform data of each section written in the storage means is sequentially read out at a predetermined rate. In the musical tone generating method for generating a continuous musical tone by starting the reading of the waveform data of the next section every time the reading of the waveform data is completed, the same procedure is performed until the start timing of reading the waveform data of the next section. It is determined whether the generation and the writing of the waveform data of the section of the section are completed, and when it is determined that the generation and the writing of the same waveform data are not completed, the section of the section that has been written to the storage means and has already been read. A tone generation method, wherein waveform data is re-read.
いて、前記再読出しする波形データは、前記読出し開始
タイミングまで読出されていた区間の波形データである
楽音生成方法。2. The musical tone generating method according to claim 1, wherein the waveform data to be re-read is waveform data of a section which has been read up to the read start timing.
いて、前記読出し開始タイミングよりも所定時間だけ前
の判定タイミングで、前記次の区間の波形データの生成
及び書き込みが同読出し開始タイミングまでに終了する
か否かを判定するようにした楽音生成方法。3. The musical tone generating method according to claim 1, wherein the generation and the writing of the waveform data of the next section are performed by the determination timing before the read start timing by a predetermined time before the read start timing. A tone generation method for determining whether or not to end.
いて、次の波形データの生成及び書き込みが終了しない
と判定されたとき、前記判定タイミングから前記読出し
開始タイミングまで、同判定タイミングまで読出されて
いた区間の波形データと同判定タイミングまで読出され
ていた区間よりも一つの前の区間の波形データとを混合
して出力するようにした楽音生成方法。4. The musical tone generating method according to claim 3, wherein when it is determined that generation and writing of the next waveform data are not completed, the waveform data is read from the determination timing to the read start timing and up to the same determination timing. A music tone generating method for mixing and outputting the waveform data of the section that has been performed and the waveform data of the section immediately before the section that has been read up to the same determination timing.
繰り返し生成して記憶手段に書き込む波形データ生成手
段と、前記記憶手段に書き込まれた各区間の波形データ
を所定レートで順次読出すとともに各区間の波形データ
の読出しが終了する毎に次の区間の波形データの前記読
出しを開始する波形データ再生手段とを備え、連続した
楽音を生成する楽音生成装置において、 次の区間の波形データの読出し開始タイミングまでに同
次の区間の波形データの生成及び書き込みが終了するか
否かを判定する判定手段と、 前記判定手段により前記次の区間の波形データの生成及
び書き込みが終了しないと判定されたとき前記波形デー
タ再生手段を制御して前記記憶手段に書き込まれていて
既に読出された区間の波形データを再読出しする再読出
し制御手段とを設けたことを特徴とする楽音生成装置。5. A waveform data generating means for repeatedly generating waveform data representing a musical tone for each predetermined section and writing the same in a storage means, and sequentially reading out the waveform data of each section written in said storage means at a predetermined rate. And a waveform data reproducing means for starting the reading of the waveform data of the next section each time the reading of the waveform data of each section is completed. Determining means for determining whether or not generation and writing of waveform data of the same section are completed by a read start timing; and determining that generation and writing of the waveform data of the next section are not completed by the determination means. A re-reading system for controlling the waveform data reproducing means to re-read the waveform data of the section which has been written in the storage means and has already been read. Tone generation apparatus which characterized in that a means.
いて、前記再読出し制御手段は、前記読出し開始タイミ
ングまで読出されていた区間の波形データの再読出しを
制御するものである楽音生成装置。6. The tone generating apparatus according to claim 5, wherein said re-reading control means controls re-reading of waveform data in a section which has been read up to said reading start timing.
いて、前記判定手段は、前記読出し開始タイミングより
も所定時間だけ前の判定タイミングで、前記波形データ
生成手段による次の区間の波形データの生成及び書き込
みが同読出し開始タイミングまでに終了するか否かを判
定するものである楽音生成装置。7. The musical sound generating device according to claim 5, wherein the determining means determines the timing of the next section of the waveform data by the waveform data generating means at a determination timing a predetermined time before the reading start timing. A tone generator for determining whether or not generation and writing are completed by the read start timing.
いて、前記判定手段により前記次の区間の波形データの
生成及び書き込みが終了しないと判定されたとき、前記
判定タイミングから前記読出し開始タイミングまで、同
判定タイミングまで読出されていた区間の波形データと
同判定タイミングまで読出されていた区間よりも一つの
前の区間の波形データとを混合して出力する混合手段を
設けたことを特徴とする楽音生成装置。8. The musical sound generating apparatus according to claim 7, wherein when the determination means determines that the generation and writing of the waveform data of the next section are not completed, the determination timing to the read start timing. And mixing means for mixing and outputting the waveform data of the section read up to the same determination timing and the waveform data of the section immediately before the section read up to the same determination timing. Music generator.
的に記憶するためのバッファメモリと、前記バッファメ
モリに記憶されている波形データを所定レートで順次読
出すための読出し回路とを備え、プログラム処理により
連続した楽音を生成するための楽音生成装置に適用さ
れ、 楽音を表す波形データを所定の区間毎に繰り返し生成し
て前記バッファメモリに書き込む波形データ生成ステッ
プと、 前記読出し回路を制御して前記バッファメモリに書き込
まれた各区間の波形データを所定レートで順次読出させ
るとともに各区間の波形データの読出しが終了する毎に
次の区間の波形データの前記読出しを開始させる波形デ
ータ再生ステップと、 次の区間の波形データの読出し開始タイミングまでに同
次の区間の波形データの生成及び書き込みが終了するか
否かを判定する判定ステップと、 前記判定ステップにより前記次の区間の波形データの生
成及び書き込みが終了しないと判定されたとき前記読出
し回路を制御して前記バッファメモリに書き込まれてい
て既に読出された区間の波形データを再読出しさせる再
読出しステップとを含む楽音生成処理プログラムを記録
した記録媒体。9. A buffer memory for temporarily storing waveform data representing a musical tone to be generated, and a reading circuit for sequentially reading the waveform data stored in the buffer memory at a predetermined rate. The method is applied to a tone generation device for generating a continuous tone by a program process, wherein the waveform data representing the tone is repeatedly generated in predetermined intervals and written into the buffer memory, and the readout circuit is controlled. A waveform data reproducing step of sequentially reading the waveform data of each section written in the buffer memory at a predetermined rate, and starting the reading of the waveform data of the next section each time the reading of the waveform data of each section ends. Generate and write waveform data of the same section by the start timing of reading the waveform data of the next section A determination step for determining whether or not the processing is completed; and when the determination step determines that generation and writing of the waveform data of the next section are not completed, the readout circuit is controlled to be written to the buffer memory. And a re-reading step of re-reading the waveform data of the section that has already been read out.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21936398A JP3518357B2 (en) | 1998-08-03 | 1998-08-03 | Music generating method, musical sound generating apparatus and computer readable recording medium storing musical sound generating processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21936398A JP3518357B2 (en) | 1998-08-03 | 1998-08-03 | Music generating method, musical sound generating apparatus and computer readable recording medium storing musical sound generating processing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000056763A true JP2000056763A (en) | 2000-02-25 |
JP3518357B2 JP3518357B2 (en) | 2004-04-12 |
Family
ID=16734265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21936398A Expired - Fee Related JP3518357B2 (en) | 1998-08-03 | 1998-08-03 | Music generating method, musical sound generating apparatus and computer readable recording medium storing musical sound generating processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3518357B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6762358B2 (en) | 2002-01-11 | 2004-07-13 | Roland Corporation | Waveform reproduction apparatus |
JP2010522361A (en) * | 2007-03-22 | 2010-07-01 | クゥアルコム・インコーポレイテッド | Shared buffer management for processing audio files |
-
1998
- 1998-08-03 JP JP21936398A patent/JP3518357B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6762358B2 (en) | 2002-01-11 | 2004-07-13 | Roland Corporation | Waveform reproduction apparatus |
JP2010522361A (en) * | 2007-03-22 | 2010-07-01 | クゥアルコム・インコーポレイテッド | Shared buffer management for processing audio files |
Also Published As
Publication number | Publication date |
---|---|
JP3518357B2 (en) | 2004-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH11126070A (en) | Musical sound generating method | |
JPH08160959A (en) | Sound source control unit | |
KR100392621B1 (en) | Method and apparatus for generating a tone waveform | |
JP2001005459A (en) | Method and device for synthesizing musical sound | |
JP3518357B2 (en) | Music generating method, musical sound generating apparatus and computer readable recording medium storing musical sound generating processing program | |
JP3661556B2 (en) | Music signal processor | |
JP3637577B2 (en) | Music generation method | |
JP3799711B2 (en) | Musical sound generation method and musical sound generator | |
JP3978928B2 (en) | Music generator | |
JP2798077B2 (en) | Sound source device for electronic musical instruments | |
JP3666467B2 (en) | Waveform editing apparatus and waveform editing program | |
JP3781171B2 (en) | Music generation method | |
JP3003559B2 (en) | Music generation method | |
JP6531432B2 (en) | Program, sound source device and acoustic signal generation device | |
JP2001022348A (en) | Waveform reader and waveform read program storage medium | |
JPH1031486A (en) | Method and device for performance data storage and reproducing | |
JP3632744B2 (en) | Sound generation method | |
JP4120979B2 (en) | Waveform playback device | |
JP2956550B2 (en) | Music sound generating apparatus and music sound generating method | |
JP2765469B2 (en) | Music signal playback device | |
JP3627590B2 (en) | Sound generation method | |
JP3235557B2 (en) | Waveform reproducing device, waveform recording / reproducing device, waveform output circuit, waveform input / output circuit, waveform reproducing method, and waveform recording / reproducing method | |
JP3660379B2 (en) | Sound source control information storage method and sound source control apparatus | |
JPH10312189A (en) | Musical sound generation method | |
JP3147111B2 (en) | Automatic performance recording and playback device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040106 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040119 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080206 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090206 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090206 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100206 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110206 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120206 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130206 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |