JP3000894B2 - Musical tone generation method - Google Patents

Musical tone generation method

Info

Publication number
JP3000894B2
JP3000894B2 JP7173941A JP17394195A JP3000894B2 JP 3000894 B2 JP3000894 B2 JP 3000894B2 JP 7173941 A JP7173941 A JP 7173941A JP 17394195 A JP17394195 A JP 17394195A JP 3000894 B2 JP3000894 B2 JP 3000894B2
Authority
JP
Japan
Prior art keywords
waveform
tone
samples
generating
generated
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.)
Expired - Lifetime
Application number
JP7173941A
Other languages
Japanese (ja)
Other versions
JPH096364A (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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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
Priority to JP7173941A priority Critical patent/JP3000894B2/en
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to US08/666,671 priority patent/US5831193A/en
Priority to EP96109783A priority patent/EP0750290B1/en
Priority to DE69623866T priority patent/DE69623866T2/en
Priority to CN200410061672XA priority patent/CN1591564B/en
Priority to CNB961023139A priority patent/CN1174370C/en
Priority to SG1996010096A priority patent/SG42418A1/en
Priority to KR1019960022426A priority patent/KR100319481B1/en
Publication of JPH096364A publication Critical patent/JPH096364A/en
Application granted granted Critical
Publication of JP3000894B2 publication Critical patent/JP3000894B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、演算処理装置の波形演
算により楽音波形サンプルを生成する楽音発生方法に関
するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a musical tone generating method for generating musical tone waveform samples by calculating the waveform of an arithmetic processing unit.

【0002】[0002]

【従来の技術】従来の演算処理装置を用いて楽音波形サ
ンプルを波形生成演算により生成するようにした複数チ
ャンネル同時発音可能な音源においては、各楽音発生チ
ャンネルにおける単位時間当たりに演算生成する波形サ
ンプルの数(演算サイクルと呼ぶ)は各音源毎に一定と
されている。また、1発音中においても、楽音波形サン
プルを演算する前記波形演算サイクルは固定とされてお
り、1発音の途中で前記波形演算サイクルを変化させる
ことは行なわれていない。
2. Description of the Related Art In a sound source capable of simultaneously generating a plurality of channels by generating a tone waveform sample by a waveform generation operation using a conventional arithmetic processing unit, a waveform sample calculated and generated per unit time in each tone generation channel is used. (Referred to as operation cycle) is constant for each sound source. The waveform calculation cycle for calculating the musical tone waveform sample is fixed even during one tone generation, and the waveform calculation cycle is not changed during one tone generation.

【0003】ここで、定義された「演算サイクル」は、
本発明に特徴的な考え方の尺度である。演算サイクル、
すなわち、単位時間当たりに演算生成されるサンプル数
が異なれば、当然、生成された楽音が含有することので
きる周波数帯域の上限周波数も異なってくる。演算サイ
クルを、1秒間当たりに生成するサンプル数(等価サン
プリング周波数)に換算すれば、サンプリングの定理に
より前記上限は、そのほぼ1/2の周波数となる。例え
ば、単位時間1/375秒毎に128サンプルの演算生
成を行う場合、等価サンプリング周波数は128×37
5=48(kHz)となり、生成する楽音は上限とされ
る約24(kHz)までの周波数成分を有することがで
きる。一般に、サンプリング周波数はディジタル楽音の
品質を決める要素であるので、演算サイクルに応じて楽
音のクォリティが左右される。
Here, the defined "operation cycle" is
This is a measure of the concept of the present invention. Operation cycle,
That is, if the number of samples calculated and generated per unit time is different, the upper limit frequency of the frequency band in which the generated musical tone can be included naturally also differs. If the operation cycle is converted into the number of samples generated per second (equivalent sampling frequency), the upper limit is almost half the frequency by the sampling theorem. For example, when calculating and generating 128 samples every 1/375 second, the equivalent sampling frequency is 128 × 37.
5 = 48 (kHz), and the generated tone can have frequency components up to about 24 (kHz), which is the upper limit. In general, the sampling frequency is an element that determines the quality of a digital tone, and thus the quality of the tone depends on the operation cycle.

【0004】一方、この演算サイクルは楽音生成演算の
単位時間当たりの演算量にもダイレクトに反映する。1
サンプル分の楽音の生成で行われる演算はサンプル毎に
それほど変わらないので、単位時間に演算生成するサン
プル数にほぼ比例して必要な演算量も増大する。つま
り、前記楽音のクォリティを改善しようとして演算サイ
クルを高くすると、前記必要な演算量が増えてしまい回
路規模が大きくなる。場合によっては演算不可能になっ
てしまうという互いに相容れない関係にあり、如何にバ
ランスを取るかが音源を設計する際のポイントになる。
On the other hand, this operation cycle is directly reflected on the operation amount per unit time of the musical sound generation operation. 1
Since the calculation performed in generating the musical tones for the samples does not change so much for each sample, the required calculation amount increases substantially in proportion to the number of samples generated and generated per unit time. That is, if the number of calculation cycles is increased in order to improve the quality of the musical tone, the required amount of calculation increases and the circuit scale increases. In some cases, there is an incompatible relationship that calculation becomes impossible, and how to achieve balance is a point when designing a sound source.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、各楽音
発生チャンネルにおいて生成される楽音波形の周波数帯
域は各楽音の音色等に応じて一般に異なる場合が多く、
前記した従来の音源のように各楽音発生チャンネルにお
ける波形演算サイクルを一定とすると、広帯域が必要で
ない楽音波形を発生するチャンネルについては、不要な
周波数帯域までの無駄な演算を行なってしまうことにな
るという問題点があった。また、波形演算サイクルを広
帯域が必要でない楽音波形に合わせて設定した場合に
は、広帯域の必要な楽音波形サンプルの生成ができない
という問題点があった。
However, the frequency band of the musical tone waveform generated in each musical tone generating channel generally differs depending on the tone color of each musical tone in many cases.
If the waveform calculation cycle in each tone generation channel is constant as in the above-described conventional sound source, useless calculation up to an unnecessary frequency band is performed for a channel that generates a tone waveform that does not require a wide band. There was a problem. Further, when the waveform calculation cycle is set in accordance with a musical tone waveform which does not require a wide band, there is a problem that a musical tone waveform sample requiring a wide band cannot be generated.

【0006】さらに、減衰音系の1発音中の楽音波形
は、そのアタック部においては高調波が多く含まれて広
帯域とされるが、減衰の進んだ持続部においては高調波
が少なく余り広帯域とされていない。この場合に、従来
のように1発音中において楽音波形サンプルを演算する
波形演算サイクルを固定とすると、1発音中の広帯域が
必要でない部分においては不要な周波数帯域までの無駄
な演算を行なってしまうことになるという問題点があっ
た。また、波形演算サイクルを広帯域が必要でない部分
に合わせて設定した場合には、広帯域の必要な部分の生
成ができないという問題点があった。
Further, the tone waveform of one sound of the attenuated sound system has a wide band including many harmonics in its attack portion, but has a small number of harmonics in a sustained portion where attenuation has progressed and has a very wide band. It has not been. In this case, if the waveform calculation cycle for calculating the musical tone waveform sample during one tone generation is fixed as in the related art, useless calculation up to an unnecessary frequency band is performed in a portion where a wide band is not required during one tone generation. There was a problem that would be. Further, when the waveform calculation cycle is set in accordance with a portion that does not require a wide band, there is a problem that a portion that requires a wide band cannot be generated.

【0007】そこで、本発明は、演算処理装置の波形演
算により楽音波形サンプルを生成する楽音発生方法にお
いて、無駄な演算が生じないと共に、広帯域の楽音波形
サンプルを効率よく生成できるようにすることを目的と
している。
SUMMARY OF THE INVENTION Accordingly, the present invention provides a musical tone generating method for generating musical tone waveform samples by waveform computation of an arithmetic processing unit so that unnecessary computation does not occur and a wideband musical tone waveform sample can be efficiently generated. The purpose is.

【0008】[0008]

【課題を解決するための手段】前記目的を達成するため
に、本発明の楽音発生方法は、演算処理装置の波形演算
により楽音波形サンプルを生成する楽音発生方法におい
て、音高を示す音高情報と、単位時間当たりに演算生成
する波形サンプル数を示す演算サイクル情報とを受信
し、前記演算サイクル情報に応じて各発音チャンネル毎
前記単位時間当たりに演算生成する波形サンプル数が
決定されると共に、前記音高情報および前記演算サイク
ル情報に応じて位相情報を発生し、該位相情報に応じて
楽音波形サンプルを生成するようにしたものである。ま
た、上記本発明の楽音発生方法において、前記波形演算
サイクル情報が、各発音チャンネルにおいて生成される
前記楽音波形サンプルの楽音波形の性質、および各発音
チャンネルの重要度に応じて各発音チャンネル毎に決定
されているものである。さらに、本発明の他の楽音発生
方法は、演算処理装置の波形演算により楽音波形サンプ
ルを生成する楽音発生方法において、1発音中の楽音波
形サンプルにおける時間の経過と共に変化する高調波の
含有割合に応じて、1発音中の途中で前記波形演算の
位時間当たりに演算生成する波形サンプル数を示す演算
サイクル情報を変更するようにしたものである。
To SUMMARY OF THE INVENTION To achieve the above object, the tone generating method of the present invention, the tone generating method of generating a tone waveform samples by the waveform calculation processing unit, pitch information indicating a pitch And operation calculation per unit time
Calculation cycle information indicating the number of waveform samples
And the calculation cycle waveform sample number for calculating generated per unit time for each of tone generation channels in accordance with information is <br/> determined Rutotomoni, the pitch information and the operational cycle
Phase information is generated according to the phase information, and the phase information is generated according to the phase information.
A musical tone waveform sample is generated . Further, in the musical sound generating method according to the present invention, the waveform calculation
Cycle information is generated for each pronunciation channel
The properties of the sound waveform of the sound waveform sample and each pronunciation
Determined for each sound channel according to the importance of the channel
Is what is being done. Further, another musical tone generating method of the present invention is a musical tone generating method for generating a musical tone waveform sample by a waveform calculation of an arithmetic processing unit, wherein a harmonic content changing with time in a musical tone waveform sample during one sounding is obtained. Accordingly, the waveform calculation is simply performed during one sounding.
The calculation cycle information indicating the number of waveform samples calculated and generated per unit time is changed.

【0009】さらにまた、本発明のさらに他の楽音発生
方法は、複数の発音チャンネルについて楽音生成演算を
行い、前記複数の発音チャンネルに対応した複数の楽音
の波形データを生成する以下の(1)ないし(4)のス
テップを含むものである。 (1)前記複数の発音チャンネルで生成される楽音の特
性を、各発音チャンネル毎に指示する少なくとも楽音ピ
ッチ情報を含む第1制御データを発生する楽音制御ステ
ップ (2)単位時間当たりに生成する楽音のサンプル数を、
各発音チャンネル毎に指示する第2制御データを発生す
る演算制御ステップ (3)各発音チャンネル毎に指示された前記第2制御デ
ータに応じたサンプル数の波形データを、前記第1制御
データ、前記第2制御データとに応じて発生された位
相情報に応じて、それぞれ演算生成する楽音生成ステッ
プ (4)前記楽音生成ステップで生成された複数チャンネ
ル分の波形データに基づき楽音を発生するステップ
[0009] Furthermore, yet another tone generating method of the present invention performs a tone generation operation for a plurality of tone generation channels, following which generates waveform data of a plurality of musical tones corresponding to said plurality of tone generation channels (1) Or (4). (1) At least a tone pitch for designating the characteristics of the tone generated by the plurality of tone channels for each tone channel.
Musical tone control step of generating first control data including switch information (2) The number of musical tone samples generated per unit time
An arithmetic control step for generating second control data instructed for each sounding channel (3) the second control data instructed for each sounding channel
The number of samples of the waveform data corresponding to the over data, wherein the first control data, the second control data and the generated position according to
Step phase in accordance with the information to generate a musical tone based on the waveform data for a plurality of channels generated by each tone generating step (4) for calculating generate the musical tone generating step

【0010】さらにまた、本発明のさらに他の楽音発生
方法は、複数の発音チャンネルについて楽音生成演算を
行い、前記複数の発音チャンネルに対応した複数の楽音
の波形データを生成する以下の(1)ないし(4)のス
テップを含むものである。 (1)前記複数の発音チャンネルで生成される楽音の特
性を、各発音チャンネル毎に指示する第1制御データを
発生する楽音制御ステップ (2)単位時間当たりに生成する楽音のサンプル数を、
各発音チャンネル毎に指示する第2制御データを発生す
る演算制御ステップ (3)所定の周期で起動され、前記複数の発音チャンネ
ルについて、前記第1制御データの指示する楽音特性を
有する波形データを、該起動の度に前記第2制御データ
の指示するサンプル数ずつ演算生成する楽音生成ステッ
(4)前記楽音生成ステップで生成された複数チャンネ
ル分の波形データに基づき楽音を発生するステップ さら
にまた、上記楽音発生方法において、前記演算制御ステ
ップは、各発音チャンネルで生成する波形データの楽音
特性に対応させて、前記第2制御データを発生するよう
にしたものであり、また、前記演算ステップは、各発音
チャンネルで発生する波形データの楽音特性の時間変化
に対応させて、発生する前記第2制御データを変化させ
るようにしたものである。
[0010] Still another tone generation according to the present invention.
The method uses a tone generation operation for multiple pronunciation channels.
Performing a plurality of musical tones corresponding to the plurality of sounding channels
Of the following (1) to (4) to generate the waveform data of
It includes steps. (1) Characteristics of musical tones generated by the plurality of tone generation channels
Control data for designating the soundness for each sounding channel.
Generated musical tone control step (2) The number of musical tone samples generated per unit time is
Generates second control data for each sounding channel
Is activated that calculation control step (3) at a predetermined period, the plurality of sound channels
The tone characteristics indicated by the first control data
The waveform data having the second control data
The tone generation step calculates and generates the number of samples
Step (4): the plurality of channels generated in the tone generation step.
Generating a musical tone based on the waveform data for each tone. In the above musical tone generating method, the arithmetic control step includes generating the second control data in accordance with the musical tone characteristics of the waveform data generated in each sounding channel. And the calculating step changes the generated second control data in accordance with a temporal change of the tone characteristic of the waveform data generated in each sounding channel. .

【0011】さらにまた、本発明の楽音発生方法は、少
なくとも2つの楽音を同時に演算生成する以下(1)な
いし(5)のステップを含むものである。 (1)所定の周期毎に、高い周波数成分を多く含む第1
楽音波形を、Nサンプル分まとめて演算生成する第1生
成ステップ (2)所定の周期毎に、高い周波数成分の少ない第2楽
音波形を、M(ただし、M<N)サンプル分まとめて演
生成する第2生成ステップ (3)生成された前記Mサンプルの第2楽音波形を補間
処理し、Nサンプルの第2楽音波形に変換する変換ステ
ップ (4)生成された前記Nサンプルの第1楽音波形と変換
された前記Nサンプルの第2楽音波形を、各サンプル毎
に順次加算しNサンプルの混合楽音波形を得る混合ステ
ップ (5)前記混合ステップで得られた混合楽音波形に基づ
楽音を発生するステップ
Further, the musical tone generating method of the present invention includes the following steps (1) to (5) for simultaneously calculating and generating at least two musical tones. (1) The first method including many high frequency components every predetermined period
A first generation step of calculating and generating musical tone waveforms for N samples at a time. (2) At predetermined intervals, a second musical tone waveform having a small number of high frequency components is performed for M (M <N) samples at once.
A second generation step of calculating and generating (3) a conversion step of interpolating the generated second musical tone waveform of the M samples to convert it into a second musical tone waveform of N samples; and (4) a first of the generated N samples. Musical sound waveform and conversion
A mixing step of sequentially adding, for each sample, the second musical tone waveforms of the N samples to obtain a mixed musical tone waveform of N samples; (5) a step of generating a musical tone based on the mixed musical tone waveform obtained in the mixing step

【0012】さらにまた、本発明の楽音発生方法は、複
数の発音チャンネルについて楽音生成演算を行い、前記
複数の発音チャンネルに対応した複数の楽音の波形デー
タを生成する以下(1)ないし(6)のステップを含む
ものである。 (1)前記複数の発音チャンネルを、第1グループと第
2グループにグループ分けする分割ステップ (2)所定周期毎に、第1グループの各発音チャンネル
について、Nサンプル分まとめて楽音波形を演算生成
し、複数チャンネル間で順次加算して、Nサンプル分の
第1混合波形を出力する第1生成ステップ (3)所定周期毎に、第2グループの各発音チャンネル
について、M(M<N)サンプル分まとめて楽音波形を
演算生成し、複数チャンネル間で順次加算して、Mサン
プル分の第2混合波形を出力する第2生成ステップ (4)混合された前記Mサンプルの第2混合波形を補間
処理し、Nサンプルの第2混合波形に変換する変換ステ
ップ (5)生成された前記Nサンプルの第1混合波形と変換
された前記Nサンプルの第2混合波形を、各サンプル毎
に順次加算しNサンプルの混合楽音波形を得る混合ステ
ップ (6)前記混合ステップで得られた混合楽音波形に基づ
楽音を発生するステップ
Further, in the musical tone generating method according to the present invention, a musical tone generating operation is performed for a plurality of tone generating channels to generate waveform data of a plurality of musical tones corresponding to the plurality of tone generating channels. Steps are included. (1) a dividing step of dividing the plurality of sounding channels into a first group and a second group; (2) calculating and generating a musical sound waveform for each sounding channel of the first group by N samples at predetermined intervals; A first generation step of sequentially adding up a plurality of channels to output a first mixed waveform of N samples (3) For each predetermined period , M (M <N) samples for each sounding channel of the second group the minutes together tone waveform
Calculated generated, sequentially adds across multiple channels, a second generating step (4) for outputting a second mixed waveform of M samples of the second mixed waveform of mixed the M samples by interpolating process, the N samples conversion step of converting the second mixing waveform (5) converts the first mixed waveform of the generated said N samples
A mixing step of sequentially adding the second mixed waveforms of the N samples for each sample to obtain a mixed musical tone waveform of N samples (6) a step of generating a musical tone based on the mixed musical tone waveform obtained in the mixing step

【0013】[0013]

【作用】本発明によれば、各発音チャンネルごとに、発
音される楽音波形が広帯域とされているか否か、あるい
は重要度に応じて波形演算サイクルを決定することがで
きるので、楽音波形の広帯域あるいは狭帯域にかかわら
ず、無駄な波形演算を生じることがなく、楽音波形サン
プルを生成することができる。また、減衰音系の場合1
発音中のアタック部では波形演算サイクルを大きくして
多くの波形サンプルを生成し、持続部においては波形演
算サイクルを小さくして波形サンプルを少なく生成して
いるので、無駄な波形演算が生じないと共に、効率的に
波形サンプルを生成することができる。
According to the present invention, the waveform calculation cycle can be determined according to whether or not the tone waveform to be emitted has a wide band for each tone generation channel, or according to the degree of importance. Alternatively, a tone waveform sample can be generated without causing useless waveform calculation regardless of the narrow band. In the case of a damped sound system, 1
In the attack portion during sound generation, the waveform calculation cycle is increased to generate many waveform samples, and in the sustain portion, the waveform calculation cycle is reduced to generate fewer waveform samples. Thus, waveform samples can be efficiently generated.

【0014】このように、特定の発音チャンネルにおけ
る波形演算の節約をすることができるため、その他のチ
ャンネルの楽音波形の波形演算量を増やすことができ、
そのチャンネルの楽音クォリティを改善したり、発音チ
ャンネル数を増やしたりすることができる。さらに、各
発音チャンネル毎に独立して、単位時間当たりの生成楽
音サンプル数を制御することができるので、発音チャン
ネル間で生成楽音のクォリティ差をつけられるようにな
った。また、クォリティが低くても影響の少ない発音チ
ャンネルの演算量を削減できる。
As described above, it is possible to save the calculation of the waveform in a specific sounding channel, so that it is possible to increase the amount of calculation of the waveform of the musical tone waveform in the other channels.
The tone quality of the channel can be improved, and the number of sounding channels can be increased. Furthermore, since the number of generated musical tone samples per unit time can be controlled independently for each sounding channel, it is possible to make a difference in quality of generated musical sounds between sounding channels. In addition, it is possible to reduce the calculation amount of the sounding channel which has little influence even if the quality is low.

【0015】[0015]

【実施例】本発明の楽音発生方法を実行できる楽音生成
装置の構成を示すブロック図を図1に示す。この図にお
いて、1はアプリケーションプログラム等を実行して楽
音波形サンプルの生成等の各種制御を行なう演算処理装
置ユニット(CPU)、2はCPUの動作プログラムや
プリセット音色データ等が記憶されているリード・オン
リ・メモリ(ROM)、3はCPU1のワークメモリエ
リアや音色データエリア等の記憶エリアを有するランダ
ム・アクセス・メモリ(RAM)、4は時刻を指示する
と共に、タイマ割込処理のタイミングをCPU1に指示
するタイマ、5はMIDIイベントが入力されると共
に、生成されたMIDIイベントを出力するMIDIイ
ンタフェース、6は英字、かな、数字、記号などを備え
るいわゆるパーソナル・コンピュータ用のキーボードで
ある。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 is a block diagram showing a configuration of a musical sound generating apparatus capable of executing a musical sound generating method according to the present invention. In this figure, 1 is an arithmetic processing unit (CPU) for executing various control such as generation of musical tone waveform samples by executing an application program and the like, and 2 is a read / write device storing an operation program of the CPU, preset timbre data and the like. Only memory (ROM), 3 is a random access memory (RAM) having a storage area such as a work memory area and a tone color data area of the CPU 1, and 4 is an instruction of time and a timer interrupt processing timing to the CPU 1. The instructing timer 5 is a MIDI interface that receives a MIDI event and outputs the generated MIDI event, and 6 is a so-called personal computer keyboard provided with letters, kana, numbers, symbols, and the like.

【0016】7はユーザが楽音生成装置と対話するため
のディスプレイ(モニタ)、8は楽音を生成するプログ
ラム等のアプリケーションプログラムが予めインストー
ルされていると共に、楽音波形サンプルを生成するため
に使用する楽音波形データ等が記録されているハードデ
ィスク(HDD)、9はCPU1により指定されたRA
M3の一部のエリアに記憶されている楽音波形サンプル
のデータをCPU1を介することなく直接に受渡を行な
い、一定の再生周期(再生サンプリング周波数)ごとに
1サンプルづつ読み出してディジタル・アナログ変換器
(DAC)に供給する再生部(DMA:Direct Memory
Access)、10は楽音波形サンプルのデータを受け取り
アナログ信号に変換するディジタル・アナログ変換器
(DAC)、11はDAC10から出力されたアナログ
信号に変換された楽音信号を放音するサウンドシステム
である。
Reference numeral 7 denotes a display (monitor) for allowing a user to interact with the musical tone generating apparatus, and 8 denotes a musical tone used for generating a musical tone waveform sample while an application program such as a musical tone generating program is installed in advance. A hard disk (HDD) 9 on which waveform data and the like are recorded is an RA designated by the CPU 1.
The data of the musical tone waveform samples stored in a part of the area of M3 is directly transferred without passing through the CPU 1, and is read out one sample at a constant reproduction cycle (reproduction sampling frequency) to obtain a digital / analog converter ( Reproducing unit (DMA: Direct Memory) to supply to DAC
Access) 10 is a digital-to-analog converter (DAC) that receives the data of the musical tone waveform sample and converts it into an analog signal, and 11 is a sound system that emits a tone signal converted into an analog signal output from the DAC 10.

【0017】次に、RAM3に設定される各種レジスタ
のエリアの構成を図2ないし図5に示すが、図2に音色
データおよび波形データが記憶されるエリアの構成を、
図3にMIDIインターフェース5を介して入力される
MIDIメッセージが格納される入力バッファの構成
を、図4に各発音チャンネルの楽音波形サンプルを生成
するに必要な各種パラメータが記憶される音源レジスタ
の構成を示している。図2に示すエリアには、PD1,
PD2,・・・PD16の16種類分の音色データと、
WD1,WD2,・・・WDnのn種類の波形データが
記憶されている。なお、後述するOPEG波形が波形デ
ータ毎に用意されて、波形データWD1,WD2,・・
・WDnと共に記憶されている。
Next, FIGS. 2 to 5 show the structure of the area of various registers set in the RAM 3. FIG. 2 shows the structure of the area where tone color data and waveform data are stored.
FIG. 3 shows a configuration of an input buffer for storing a MIDI message input via the MIDI interface 5, and FIG. 4 shows a configuration of a tone generator register for storing various parameters necessary for generating tone waveform samples of each tone generation channel. Is shown. In the area shown in FIG.
PD2,... PD16 16 kinds of tone data,
.. WDn are stored. An OPEG waveform described later is prepared for each waveform data, and the waveform data WD1, WD2,.
-Stored together with WDn.

【0018】なお、それぞれの音色データPD1,PD
2,・・・PD16は、各音域の波形を指定するデータ
(各音域波形指定)、ビブラート等の効果をかけるため
のLFO(Low Frequency Oscillator) 制御用のデータ
(LFO制御OD)、音色フィルタ特性を時間の経過と
共に変化させるフィルタ・エンベロープの発生制御用の
データ(FEG制御OD)、音量変化特性を制御する音
量エンベロープの発生制御用のデータ(AEG制御O
D)、ベロシティにより楽音の立ち上がりの速さ等を変
えるタッチ制御用のデータ(タッチ制御OD)、後述す
る演算サイクル制御データ等のその他のデータ(その他
OD)からなっている。
Each tone data PD1, PD
2,... PD 16 includes data for specifying the waveform of each tone range (each tone range waveform designation), LFO (Low Frequency Oscillator) control data for applying an effect such as vibrato (LFO control OD), and tone filter characteristics. For generating a filter envelope (FEG control OD) for changing the volume over time (FEG control OD), and data for controlling the generation of a volume envelope (AEG control O
D), data for touch control (touch control OD) for changing the rising speed of a musical tone according to velocity, and other data (other OD) such as operation cycle control data to be described later.

【0019】また、図3に示す入力バッファのエリアに
は、MIDIインターフェース5を介して入力されるノ
ートオン、ノートオフや各種イベントデータID1,I
D2,ID3・・・が順次書き込まれ、このMIDIイ
ベントデータID1,ID2,ID3・・・が読み出さ
れてそのイベント処理が楽音生成装置内において実行さ
れることにより、イベントに応じた楽音波形サンプルが
生成される。なお、MIDIイベントデータID1,I
D2,ID3・・・は、MIDIイベントのデータ内容
(データ1等)と、そのイベントデータの発生時刻(デ
ータ1発生時刻等)とが1組として構成される。この発
生時刻はタイマ4の現在時刻を取り込むことにより知る
ことができる。
In the area of the input buffer shown in FIG. 3, note-on, note-off and various event data ID1, I2 input via the MIDI interface 5 are stored.
.. Are sequentially written, the MIDI event data ID1, ID2, ID3,... Are read out, and the event processing is executed in the musical sound generation device, so that a musical tone waveform sample corresponding to the event is generated. Is generated. Note that the MIDI event data ID1, I
D2, ID3,... Are configured as a set of the data content (data 1 and the like) of the MIDI event and the occurrence time of the event data (data 1 occurrence time and the like). This occurrence time can be known by taking in the current time of the timer 4.

【0020】次の図4に示すエリアは、それぞれの発音
チャンネルで生成される楽音波形サンプルの制御を行な
う各種楽音パラメータが記憶される各発音チャンネルご
とに用意されたレジスタ(1ch,2ch,3ch,・
・・32ch)からなる音源レジスタとして使用され
る。なお、この例では発音チャンネルが32チャンネル
とされた場合の音源レジスタとされている。
The next area shown in FIG. 4 is a register (1 ch, 2 ch, 3 ch, 3 ch, 3 ch, 3 ch, 3 ch) prepared for each tone channel in which various tone parameters for controlling tone waveform samples generated in each tone channel are stored.・
.. 32 ch) is used as a tone generator register. In this example, the tone generator register is used when the sound channel is set to 32 channels.

【0021】各発音チャンネルのレジスタ(1ch,2
ch,3ch,・・・32ch)には、その発音チャン
ネルで発音される楽音のノート・ナンバ、RAM3に記
憶されている波形データのいずれかを指定する波形指定
データ(波形指定D)、LFO制御データ(LFO制御
D)、フィルタ・エンベロープ制御データ(FEG制御
D)、音量エンベロープ制御データ(AEG制御D)、
ノートオンデータ、その他のデータ(その他D)、およ
び各発音チャンネルの楽音サンプルの生成時に使用され
るワークエリアからなっている。なお、各発音チャンネ
ルの波形指定D、LFO制御D、AEG制御Dは、前記
した音色データPD1,PD2,PD3,・・・PD1
6のいずれかをMIDIイベントの内容に応じて加工し
て作成されたデータとされる。
The registers (1 ch, 2
ch, 3ch,..., 32ch) include the note number of the tone generated by the sounding channel, waveform designation data (waveform designation D) for designating any of the waveform data stored in the RAM 3, and LFO control. Data (LFO control D), filter envelope control data (FEG control D), volume envelope control data (AEG control D),
It consists of note-on data, other data (others D), and a work area used when generating tone samples for each sounding channel. Note that the waveform designation D, LFO control D, and AEG control D of each sounding channel correspond to the above-described tone color data PD1, PD2, PD3,.
6 is data created by processing any one of the MIDI events according to the contents of the MIDI event.

【0022】次の図5には出力バッファを示すが、本発
明の楽音発生方法においては演算サイクルが異なると、
演算時刻が到来した時に一括して演算生成される楽音波
形サンプル数が異なるようになるため、演算サイクルC
Cごとに出力バッファが用意される。図示する場合は、
演算サイクルが3種類とされた場合を示しており、同図
(a)〜(c)に示すように、基本演算サイクル(CC
=0:等価サンプリング周波数48kHz)用のバッフ
ァ0、基本演算サイクルの1/2の演算サイクル(CC
=1:等価サンプリング周波数24kHz)用のバッフ
ァ1、基本演算サイクルの1/4の演算サイクル(CC
=2:等価サンプリング周波数12kHz)用のバッフ
ァ2が用意されている。したがって、図示するようにバ
ッファ1はバッファ0の1/2のサンプル数を記憶でき
る容量とされ、バッファ2はバッファ0の1/4のサン
プル数を記憶できる容量とされる。
FIG. 5 shows an output buffer. In the tone generating method of the present invention, if the operation cycle differs,
Since the number of musical tone waveform samples that are collectively calculated when the calculation time arrives differs, the calculation cycle C
An output buffer is prepared for each C. In the case shown,
This shows a case where there are three types of operation cycles, and as shown in FIGS.
= 0: Buffer 0 for equivalent sampling frequency 48 kHz, half operation cycle (CC) of basic operation cycle
= 1: buffer 1 for equivalent sampling frequency 24 kHz, 1/4 operation cycle (CC) of basic operation cycle
= 2: an equivalent sampling frequency of 12 kHz) is provided. Therefore, as shown in the figure, the buffer 1 has a capacity capable of storing half the number of samples of the buffer 0, and the buffer 2 has a capacity capable of storing one-fourth the number of samples of the buffer 0.

【0023】なお、演算サイクルCCは、各発音チャン
ネルごとおよび1発音中の楽音波形において指定され、
演算時刻ごとに行なわれる1単位区間用の波形として、
各発音チャンネルで演算生成される楽音波形サンプル数
を指定するものであり、生成される楽音発音サンプル数
に対応する等価サンプリング周波数で示すこともでき
る。この演算サイクルCCの指定は、生成すべき楽音波
形サンプルの周波数帯域に応じて決定される。
The operation cycle CC is specified for each tone generation channel and for one tone waveform during one tone generation.
As a waveform for one unit section performed at each calculation time,
This specifies the number of musical tone waveform samples calculated and generated in each sounding channel, and can also be indicated by an equivalent sampling frequency corresponding to the number of generated musical tone sounding samples. The designation of the operation cycle CC is determined according to the frequency band of the musical tone waveform sample to be generated.

【0024】すなわち、図5(a)に示すバッファ0は
楽音波形の周波数帯域が広帯域とされる場合のものであ
り、演算時刻が到来するごとに生成される128サンプ
ル(SD1,SD2,SD3・・SD128)の楽音波
形サンプルが記憶される出力バッファとされ、同図
(b)に示すバッファ1は楽音波形の周波数帯域が余り
広くない場合のものであり、演算時刻が到来するごとに
生成された64サンプル(SD1,SD2,SD3・・
SD64)の楽音波形サンプルが記憶される出力バッフ
ァとされ、同図(c)に示すバッファ2は楽音波形の周
波数帯域が狭い場合のものであり、演算時刻が到来する
ごとに生成された32サンプル(SD1,SD2,SD
3・・SD32)の楽音波形サンプルが記憶される出力
バッファとされている。
That is, the buffer 0 shown in FIG. 5 (a) is for the case where the frequency band of the musical tone waveform is widened, and 128 samples (SD1, SD2, SD3. (SD128) is an output buffer for storing the musical tone waveform sample, and the buffer 1 shown in FIG. 3B is for the case where the frequency band of the musical tone waveform is not so wide, and is generated every time the calculation time arrives. 64 samples (SD1, SD2, SD3 ...
SD64) is used as an output buffer for storing musical tone waveform samples, and a buffer 2 shown in FIG. 3C is for a case where the frequency band of the musical tone waveform is narrow, and 32 samples generated each time the calculation time arrives (SD1, SD2, SD
3... SD32) are output buffers for storing musical tone waveform samples.

【0025】これらのバッファ0ないしバッファ2の出
力バッファには、発音チャンネルによらず、演算サイク
ルCCが同じにされた(周波数帯域が略同じにされた)
楽音波形サンプルが全発音チャンネルにわたって足し込
まれて格納されている。すなわち、新しく演算生成され
た楽音波形サンプルは、すでに記憶されている楽音波形
サンプルに加算されて、同じ出力バッファの同じ位置に
記憶される。また、全発音チャンネルの楽音波形サンプ
ルの生成が終了すると、すべての発音チャンネルの楽音
波形サンプルが累算されて再生部9に渡されて発音され
ることになるが、楽音波形サンプル数がバッファ0とバ
ッファ1とバッファ2とで異なるために単純に累算する
ことはできない。
The output buffers of these buffers 0 and 2 have the same operation cycle CC (substantially the same frequency band) regardless of the tone generation channel.
A musical sound waveform sample is added and stored over all sounding channels. That is, the tone waveform sample newly calculated is added to the tone waveform sample already stored, and is stored at the same position in the same output buffer. When the generation of the musical tone waveform samples of all the sounding channels is completed, the musical tone waveform samples of all the sounding channels are accumulated and passed to the reproducing unit 9 for sounding. , And cannot be simply accumulated because they differ between buffer 1 and buffer 2.

【0026】そこで、バッファ1の64サンプルの楽音
波形サンプルを補間することにより128サンプルの楽
音波形サンプルを得るようにして図2(d)に示すバッ
ファ1’に記憶し、バッファ2の32サンプルの楽音波
形サンプルを補間することにより128サンプルの楽音
波形サンプルを得るようにして図2(e)に示すバッフ
ァ2’に記憶するようにする。この場合、バッファ1’
の楽音波形サンプルSD1、SD2、SD3、・・SD
128は1つおきにバッファ1の楽音波形サンプルSD
1、SD2、SD3、・・SD64と同じになり、バッ
ファ2’の楽音波形サンプルSD1、SD2、SD3、
・・SD128は3つおきにバッファ2の楽音波形サン
プルSD1、SD2、SD3、・・SD32と同じにな
る。
Therefore, by interpolating 64 tone waveform samples of the buffer 1 to obtain 128 tone waveform samples, they are stored in the buffer 1 'shown in FIG. By interpolating the musical tone waveform samples, 128 musical tone waveform samples are obtained and stored in the buffer 2 'shown in FIG. In this case, buffer 1 '
Musical sound waveform samples SD1, SD2, SD3, SD
128 is a musical tone waveform sample SD of buffer 1 every other buffer 128
1, SD2, SD3,..., SD64, and the tone waveform samples SD1, SD2, SD3,
... SD128 becomes the same as tone waveform samples SD1, SD2, SD3,.

【0027】このようにして、それぞれ128サンプル
とされたバッファ0と、バッファ1’と、バッファ2’
の同じ位置の楽音波形サンプルが累算されて、例えばバ
ッファ0の同じ位置に記憶される。そして、バッファ0
は再生予約されて再生部9から読み出されて発音される
ようになる。なお、全発音チャンネルの楽音波形サンプ
ルをバッファ0に必ずしも記憶する必要はなく、128
サンプルのエリアを有する出力バッファであればいずれ
でも良い。
In this manner, buffer 0, buffer 1 ', and buffer 2' each having 128 samples
Are accumulated and stored, for example, at the same position in buffer 0. And buffer 0
Is reserved for playback, read out from the playback unit 9 and sounded. Note that it is not always necessary to store the tone waveform samples of all tone generation channels in the buffer 0, and 128
Any output buffer having a sample area may be used.

【0028】次に、前記したように出力バッファを使用
する図1に示す楽音生成装置において実行される楽音発
生方法の概要を図6ないし図11を参照して説明する。
ここで、楽音生成装置は波形メモリ音源方式とされてお
り、図6は1発音中の波形データの例を示しており、図
7は図6に示す波形データの各時点での周波数スペクト
ルを示しており、図8は生成された楽音波形サンプルを
定再生レートで再生した場合の1発音中の楽音波形の時
刻に対するピッチ変化の例を示しており、図9は1発音
中の楽音波形サンプルを演算生成する時刻に対する演算
サイクルの変化の変化態様の例を示しており、図10は
1発音中の楽音波形サンプルを演算生成する時刻に対し
てFナンバを変化させる変化態様の例を示しており、図
11は楽音波形生成を行なう音源処理におけるタイミン
グ・チャートを示している。
Next, an outline of a tone generation method executed in the tone generator shown in FIG. 1 using the output buffer as described above will be described with reference to FIGS.
Here, the tone generator is of a waveform memory tone generator type. FIG. 6 shows an example of waveform data during one tone generation, and FIG. 7 shows a frequency spectrum at each point of the waveform data shown in FIG. FIG. 8 shows an example of a pitch change with respect to the time of one tone waveform during one sound when the generated tone waveform sample is reproduced at a constant reproduction rate. FIG. 9 shows the tone waveform sample during one tone. FIG. 10 shows an example of a change in the change of the operation cycle with respect to the time at which the operation is generated, and FIG. 10 shows an example of a change in which the F number is changed with respect to the time at which the musical sound waveform sample for one tone is generated. FIG. 11 shows a timing chart in tone generator processing for generating a musical tone waveform.

【0029】本発明の楽音発生方法においては、図11
(a)に示すように、演算の時刻が到来するごとに、再
生部9から読み出されるべき1単位区間用の楽音波形サ
ンプルが演算生成される。この場合、演算時間と演算時
間との間では同図(b)に示すように新たなノートオン
・イベントやノートオフ・イベントが受信され、これら
のイベントに応じた複数の楽音波形サンプルが同図
(c)に示す時間で一括されて演算生成されるようにな
る。そして、演算生成されて前記したように出力バッフ
ァ0に記憶されている全発音チャンネル分の楽音波形サ
ンプルが、同図(d)に示すように再生部9において1
単位区間の楽音波形サンプルとして読み出され、定再生
レート(一定の再生サンプリング周波数)で再生されて
発音される。
FIG. 11 shows a tone generation method according to the present invention.
As shown in (a), each time the calculation time arrives, a musical tone waveform sample for one unit section to be read from the reproducing unit 9 is calculated and generated. In this case, between the calculation times, new note-on events and note-off events are received as shown in FIG. 3B, and a plurality of musical tone waveform samples corresponding to these events are generated. The operations are collectively generated and generated at the time shown in (c). Then, the tone waveform samples for all the tone generation channels which have been generated and stored in the output buffer 0 as described above are output to the playback unit 9 as shown in FIG.
It is read out as a musical tone waveform sample in a unit section, reproduced at a constant reproduction rate (constant reproduction sampling frequency), and sounded.

【0030】本発明においては、出力バッファの説明に
おいて述べたように1単位区間用の複数の楽音波形サン
プルが演算生成される時に、演算生成される楽音波形の
周波数帯域に応じた演算サイクルCCに変更するように
している。そこで、演算サイクルCCを変更する態様に
ついて説明する。減衰音系の1発音中の波形データは例
えば図6に示すように変化するが、その横軸は発音中の
時刻を示しており、a,b,c,dの時点の波形データ
に含まれる基本波および高調波のスペクトル分布を図7
に示す。時点aで示す部分はアタック部であり、その楽
音波形を例えばその上に示すが、図7(a)に示すよう
に高調波のスペクトルが多く含まれた複雑な波形となっ
ている。次に、時点bで示す部分は減衰が若干進んだ部
分であり、図7(b)に示すように周波数の高い高調波
のスペクトルの減衰が速く進んでいる。
In the present invention, as described in the description of the output buffer, when a plurality of musical tone waveform samples for one unit section are arithmetically generated, the arithmetic cycle CC corresponding to the frequency band of the musical tone waveform to be arithmetically generated is generated. I am trying to change it. Therefore, a mode of changing the operation cycle CC will be described. The waveform data during one sound generation of the decay sound system changes as shown in FIG. 6, for example, and the horizontal axis indicates the time at which sound is generated, and is included in the waveform data at points a, b, c, and d. FIG. 7 shows the spectral distribution of the fundamental wave and the harmonics.
Shown in The portion shown at time point a is an attack portion, and its musical tone waveform is shown, for example, above it, and has a complex waveform containing many harmonics as shown in FIG. 7A. Next, the portion shown at the time point b is a portion where the attenuation is slightly advanced, and as shown in FIG. 7B, the attenuation of the spectrum of the high-frequency harmonic is advanced rapidly.

【0031】さらに、時点cで示す部分は減衰がさらに
進んだ持続部(サスティン部)であり、その楽音波形を
例えばその上に示すが、図7(c)に示すように高調波
のスペクトルが減衰して基本波に近い単純な波形となっ
ている。次に、時点dで示す部分は減衰がかなり進んだ
部分であり、図7(d)に示すように周波数の高い高調
波のスペクトルはほとんど減衰してほぼ基本波となって
いる。このように1発音中の波形データは、その1発音
中の時刻によって波形データの周波数帯域が異なるもの
とされ、その最も広い周波数帯域の波形データを演算生
成できるような演算サイクルに固定しておくと、前述し
たように不要な周波数帯域までもの波形データを演算生
成することになる。
Further, the portion shown at the time point c is a sustained portion (sustain portion) in which the attenuation is further advanced, and its musical sound waveform is shown, for example, on the sustained portion, and as shown in FIG. It is attenuated and becomes a simple waveform close to the fundamental wave. Next, the portion shown at the time point d is a portion where the attenuation is considerably advanced, and as shown in FIG. 7 (d), the spectrum of the high frequency harmonic is almost attenuated and becomes almost the fundamental wave. As described above, the frequency range of the waveform data of one sounding is different depending on the time of the one sounding, and is fixed to an operation cycle that can generate and generate the waveform data of the widest frequency band. Then, as described above, waveform data up to an unnecessary frequency band is calculated and generated.

【0032】そこで、本発明の楽音発生方法では、図9
に示すように演算サイクルCCを1発音中の時刻の経過
に応じて変更している。図示する場合は、時刻t2まで
は演算サイクルCCが基本演算サイクルの周波数である
48kHzとされ、時刻t2から時刻t4までは今まで
の1/2の演算サイクルに相当する24kHzとされ、
時刻t4以降はさらに1/2の演算サイクルに相当する
12kHzとされて演算サイクルCCが変更されてい
る。なお、この演算サイクルCCの変更は、前記図11
に示す1単位区間を最小単位として1単位区間内では変
更しないようにする。
Therefore, in the tone generation method of the present invention, FIG.
As shown in (1), the operation cycle CC is changed in accordance with the passage of time during one tone. In the case shown, the operation cycle CC is set to 48 kHz, which is the frequency of the basic operation cycle, until time t2, and is set to 24 kHz from time t2 to time t4, which is equivalent to a half operation cycle up to now.
After time t4, the operation cycle CC is changed to 12 kHz corresponding to a half operation cycle. Note that this change of the operation cycle CC is performed in accordance with FIG.
1 is set as the minimum unit and is not changed in one unit section.

【0033】このように、周波数帯域に応じた演算サイ
クルCCとしたので、本発明は不要な周波数帯域までも
の波形サンプルの演算生成を極力行うことがなく、無駄
な演算を低減することができる。そして、低減した演算
を他の発音チャンネルの演算に振り分けると、そのチャ
ンネルの楽音のクォリティを向上することができ、ま
た、低減した演算により発音チャンネル数を増加するこ
ともできる。なお、各発音チャンネルの演算サイクルを
1単位区間の途中で変更するように設計することもでき
る。その場合、変更される演算サイクルCCに応じて、
各チャンネルの生成演算を変更すると共に、そのチャン
ネルの出力を足し込む出力バッファを、1単位区間の途
中で変更する。
As described above, since the calculation cycle CC is set according to the frequency band, the present invention can reduce the useless calculation without performing calculation generation of waveform samples even to unnecessary frequency bands as much as possible. Then, if the reduced operation is distributed to the operation of another sounding channel, the quality of the musical tone of that channel can be improved, and the number of sounding channels can be increased by the reduced operation. It is also possible to design such that the operation cycle of each sounding channel is changed in the middle of one unit section. In that case, according to the operation cycle CC to be changed,
The generation calculation of each channel is changed, and the output buffer to which the output of the channel is added is changed in the middle of one unit section.

【0034】ところで、前記図2に示すRAM3に記憶
されている波形データWD1,WD2,・・WDnは、
前記したように1発音中において記録に必要な周波数帯
域が変化するため、この変化に応じて波形データをサン
プリングして記憶させるサンプリング周波数を変化させ
るようにして、記憶される波形データ量を低減してい
る。この場合、アタック部においてはサンプリング周波
数が高くされ、波形データの減衰に伴いサンプリング周
波数も次第に低くされるのが一般的である。このよう
に、1発音中でサンプリング周波数を変化させながら記
憶した波形データを、定レートでRAM3から読み出し
た場合、波形データのピッチがそのサンプリング周波数
に応じて変化するようになる。
The waveform data WD1, WD2,... WDn stored in the RAM 3 shown in FIG.
As described above, since the frequency band required for recording changes during one tone, the sampling frequency at which the waveform data is sampled and stored according to this change is changed, and the amount of stored waveform data is reduced. ing. In this case, it is general that the sampling frequency is increased in the attack section, and the sampling frequency is gradually reduced with the attenuation of the waveform data. As described above, when the waveform data stored while changing the sampling frequency during one tone is read out from the RAM 3 at a constant rate, the pitch of the waveform data changes according to the sampling frequency.

【0035】なお、図6において時点aと時点cのそれ
ぞれ1周期分の波形形状が図示されているが、時点cの
波形の横軸方向の幅が時点aの波形の横軸方向の幅の約
半分となっているのは、上記説明した1発音中でのサン
プリング周波数の変化による。すなわち、もともとの波
形のピッチは時点aと時点cでほぼ同じであったのであ
るが、波形を録音する際のサンプリング周波数が時点c
では時点aの約半分の周波数であったため、波形メモリ
に記憶された波形の1周期分に相当するアドレスの長さ
が時点cでは時点aの1周期分に相当するアドレスの長
さの約半分になっている。
FIG. 6 shows the waveform shape for one cycle of each of the time point a and the time point c. The width of the waveform at the time point c in the horizontal axis direction is equal to the width of the waveform at the time point a in the horizontal axis direction. The reason why the frequency is reduced to about half is due to the change in the sampling frequency during one sound generation described above. That is, although the pitch of the original waveform was almost the same at the time point a and the time point c, the sampling frequency at the time of recording the waveform was changed to the time point c.
At this time, the frequency corresponding to one cycle of the waveform stored in the waveform memory is about half the length of the address corresponding to one cycle of the time a at the time c. It has become.

【0036】例えば、波形データを基本演算サイクル
(図9に示す例では48kHz)ごとに1サンプルづつ
読み出した場合のピッチである元ピッチOPの、1発音
中でのピッチの変化の様子を示す波形(OPEG)の例
は図8に示すようになる。この図においては、ノート・
ナンバC2の元ピッチOPが、時刻t1から時刻t3に
かけて1オクターブ上のノート・ナンバC3のピッチに
直線的に変化している例が示されている。(ただし、縦
軸はセントスケールとされている。)したがって、この
ような波形データを読み出して楽音サンプルを生成する
場合には、1発音中においてピッチが変化しないように
読み出し速度(=Fナンバ=生成する楽音1サンプル毎
の波形メモリの読み出しアドレスの進み量)を制御する
必要がある。ここで、波形データをサンプリングして波
形メモリへ取り込む時のサンプリング周波数は、上述し
たOPEG波形と丁度反対の変化(セントスケール上)
であり、録音時にサンプリング周波数の変化を制御した
データに基づいて、OPEG波形の形状を制御するOP
EG制御データが生成される。
For example, a waveform showing the change of the pitch during one tone of the original pitch OP, which is the pitch when the waveform data is read out one sample at a time every basic operation cycle (48 kHz in the example shown in FIG. 9). An example of (OPEG) is as shown in FIG. In this figure, note
An example is shown in which the original pitch OP of the number C2 linearly changes to the pitch of the note number C3 one octave higher from time t1 to time t3. (However, the vertical axis is a cent scale.) Therefore, when such waveform data is read out to generate a musical tone sample, the reading speed (= F number = It is necessary to control the amount of advance of the read address of the waveform memory for each sample of the generated musical tone. Here, the sampling frequency when the waveform data is sampled and loaded into the waveform memory changes just opposite to the above-mentioned OPEG waveform (on the cent scale).
, Which controls the shape of the OPEG waveform based on the data that controls the change in the sampling frequency during recording.
EG control data is generated.

【0037】指定されたピッチを有する楽音を発生する
ためには、該ピッチとOPEG波形に基づいて、元ピッ
チ(OPEG波形の値で示される)を指定された該ピッ
チまでピッチシフトさせるためのピッチ変更量としてF
ナンバを生成すればよい。具体的な手段としては、ま
ず、セント単位上において、発音ピッチとして指定され
たピッチと元ピッチの差を計算する。次に、得られた差
を、セント単位からHz単位に変換すると、Fナンバが
得られる。この場合、指示される発音ピッチが変動しな
くとも、OPEGが時間変化すると、FナンバはOPE
Gの変化に応じて変化する。
In order to generate a musical tone having a specified pitch, a pitch for shifting the original pitch (indicated by the value of the OPEG waveform) to the specified pitch based on the pitch and the OPEG waveform is used. F as change amount
A number may be generated. As a specific means, first, a difference between a pitch designated as a sounding pitch and an original pitch is calculated in cent units. Next, when the obtained difference is converted from a cent unit to a Hz unit, an F number is obtained. In this case, even if the designated sounding pitch does not change, if the OPEG changes over time, the F number is changed to the OPE.
It changes according to the change of G.

【0038】また、演算時刻が到来するごとに1単位区
間の波形サンプル数として演算サイクルCCで示される
数の波形サンプルを演算生成しているのであるが、図9
に示すように1発音の途中で演算サイクルCCを変化し
た場合には、その時点で1サンプル演算ごとに読み出す
波形データの進み量(=Fナンバ=読み出し速度)を、
演算サイクルCCに応じて変化させる必要がある。例え
ば、48kHz(CC=0)の基本演算サイクルCCを
24kHz(CC=1)に半減した場合、1サンプル演
算ごとの進み量を当初の2倍にし、さらに、12kHz
(CC=2)に低減された場合は、当初の4倍の進み量
とする必要がある。そこで、本発明では演算生成時に指
定された波形データを読み出すアドレスカウンタの、楽
音波形の1サンプル演算ごとの進み量であるFナンバ
を、演算サイクルCCが変化するタイミングで一緒に変
化させるようになっている。演算サイクルCCは、各発
音チャンネルの無駄な波形演算量を節約するように、チ
ャンネル毎に設定される。
Also, every time the operation time arrives, the number of waveform samples indicated by the operation cycle CC is calculated and generated as the number of waveform samples in one unit section.
When the calculation cycle CC is changed in the middle of one tone, as shown in (1), the advance amount (= F number = read speed) of the waveform data to be read for each sample calculation at that time is
It is necessary to change according to the operation cycle CC. For example, when the basic operation cycle CC of 48 kHz (CC = 0) is halved to 24 kHz (CC = 1), the advance amount for each sample operation is doubled from the initial value, and furthermore, 12 kHz
When it is reduced to (CC = 2), it is necessary to set the advance amount to four times the initial amount. Therefore, in the present invention, the F-number, which is the advance amount for each one-sample operation of the musical tone waveform, of the address counter for reading out the waveform data designated at the time of the operation generation is changed together at the timing when the operation cycle CC changes. ing. The calculation cycle CC is set for each channel so as to save a useless waveform calculation amount of each sounding channel.

【0039】本発明では、波形データのサンプリング周
波数変化による波形圧縮(図8に示すOPEG波形の変
化)と、演算サイクルCCの変化による波形演算量の節
約(図9に示すCCの変化)の両方が実現されており、
結果として、Fナンバは1発音中で図10のように変化
する。この図に示すように、当初FN0 であったFナン
バは、OPEG波形の変化に応じて、時刻t1から時刻
t2にかけて曲線状に低下している。さらに時刻t2に
おいて、演算サイクルCCが半分になったことに対応し
てFナンバが2倍にされ、時刻t2から時刻t3にかけ
てOPEG波形の変化に応じて、先程と同様、曲線状に
低下している。
In the present invention, both the waveform compression (change of the OPEG waveform shown in FIG. 8) due to the change of the sampling frequency of the waveform data and the saving of the waveform calculation amount by the change of the operation cycle CC (the change of the CC shown in FIG. 9). Has been realized,
As a result, the F number changes as shown in FIG. 10 during one tone. As shown in this figure, the F number that was initially FN 0 decreases in a curve from time t1 to time t2 in accordance with the change in the OPEG waveform. Further, at time t2, the F number is doubled in response to the halving of the operation cycle CC, and from the time t2 to the time t3, the F number is reduced like a curve in the same manner as described above according to the change in the OPEG waveform. I have.

【0040】次いで、時刻t3から時刻t4までは一定
値FN0 (2倍になったOPEG波形と半分になった演
算サイクルCCが互いに打ち消しあって、たまたま元の
Fナンバに戻る。)とされ、時刻t4で演算サイクルC
Cが当初の1/4倍とされたことに対応して、さらに2
倍にされており、時刻t4以降では一定値(2FN0
とされる。
Next, from the time t3 to the time t4, the constant value FN 0 (the doubled OPEG waveform and the halved operation cycle CC cancel each other out and return to the original F number by chance), and Operation cycle C at time t4
In response to the fact that C was reduced to 1/4 of its original value,
And a constant value (2FN 0 ) after time t4
It is said.

【0041】このFナンバを算出する式を次式に示す。 Fナンバ=2(SP-OP)/1200*2CC ただし、この式においてSPは発音すべきノート・ナン
バのピッチであり、OPは元ピッチ、CCは基本演算サ
イクル(48kHz)に対する割合を示す値であり、演
算サイクルが基本演算サイクルの時はCC=0、演算サ
イクルが1/2とされた時はCC=1、演算サイクルが
1/4とされた時はCC=2である。
The equation for calculating the F number is shown in the following equation. F number = 2 (SP-OP) / 1200 * 2 CC In this equation, SP is the pitch of the note number to be pronounced, OP is the original pitch, and CC is a value indicating the ratio to the basic operation cycle (48 kHz). Where CC = 0 when the operation cycle is a basic operation cycle, CC = 1 when the operation cycle is 1 /, and CC = 2 when the operation cycle is 1 /.

【0042】図12は、CPU1が実行する本発明の楽
音発生方法を適用したソフトウェア音源のメインルーチ
ンのフローチャートを示す図であり、メインルーチンが
スタートされるとステップS10にて初期設定が行われ
る。初期設定では全発音チャンネルのクリアや、音色デ
ータおよび波形データ等の準備が行われる。次いで、ス
テップS20にて受信データがあるか否かが判定される
が、この判定は前記した図3に示す入力バッファにMI
DI受信データが記録されているか否かを判定すること
により行なわれる。そして、入力バッファにMIDI受
信データがない場合はそのままステップS40に進む
が、入力バッファに受信データがある場合には、ステッ
プS30にて受信されたMIDIイベントに応じた処理
(ノートオン処理、ノートオフ処理等)やその他処理を
行なう受信データ処理が行われる。
FIG. 12 is a flowchart showing a main routine of a software tone generator to which the musical tone generating method of the present invention is applied, which is executed by the CPU 1. When the main routine is started, initialization is performed in step S10. In the initial setting, all tone generation channels are cleared, and tone color data and waveform data are prepared. Next, in step S20, it is determined whether or not there is received data. This determination is made in the input buffer shown in FIG.
This is performed by determining whether or not DI reception data is recorded. If there is no MIDI reception data in the input buffer, the process directly proceeds to step S40, but if there is reception data in the input buffer, processing (note-on processing, note-off processing) corresponding to the MIDI event received in step S30 is performed. Processing) and other received data processing.

【0043】そして、ステップS40にてスイッチ(S
W)が操作されたか否かが判定され、スイッチが操作さ
れていない場合にはそのままステップS60に進むが、
スイッチが操作された場合はSWイベントありと判定さ
れて、操作されたパネルスイッチに応じて複数パートの
各パートの音色を設定するための処理がステップS50
のパネルSWイベント処理において行なわれる。続い
て、ステップS60にて演算時刻が到来するごとに楽音
波形サンプルを一括して演算生成する音源処理が行わ
れ、ステップS70にてその他の処理が行われ、ステッ
プS20に戻り、ステップS20ないしステップS70
の処理が循環して繰返し行われる(定常ループ)。な
お、再生部9を、アルゴリズム選択可能専用音源、また
は、DSP音源とした場合、ステップS60の音源処理
は不要になる。
Then, in step S40, the switch (S
It is determined whether or not W) has been operated. If the switch has not been operated, the process proceeds directly to step S60.
If the switch is operated, it is determined that there is a SW event, and processing for setting the tone color of each part of the plurality of parts according to the operated panel switch is performed in step S50.
In the panel SW event processing. Subsequently, in step S60, every time the calculation time arrives, a sound source process for collectively calculating and generating musical tone waveform samples is performed. In step S70, other processes are performed, and the process returns to step S20, and returns to step S20 to step S20. S70
Is repeated and performed repeatedly (steady loop). If the reproducing unit 9 is an algorithm-selectable exclusive sound source or a DSP sound source, the sound source processing in step S60 becomes unnecessary.

【0044】次に、CPU1の実行するMIDI受信割
込処理のフローチャートを図13に示す。この処理は、
MIDIインタフェース5が外部より何らかのMIDI
イベントを受信した際に割込により起動される。このM
IDI受信割込処理は、他の処理より優先して行われる
処理である。このMIDI受信割込処理が開始される
と、ステップS80にてMIDIインターフェース5に
より受信された受信データが取り込まれ、ステップS9
0にてその受信データは受信された時点の時刻データと
組にされて図3に示されるような形式で前述した入力バ
ッファに書き込まれて、割込発生時の処理へリターンさ
れる。これにより、受信したMIDIデータは、順次、
受信時刻と共に入力バッファに書き込まれるようにな
る。
Next, FIG. 13 shows a flowchart of the MIDI reception interrupt processing executed by the CPU 1. This process
MIDI interface 5 receives some MIDI from outside
Triggered by an interrupt when an event is received. This M
The IDI reception interrupt process is a process performed with priority over other processes. When the MIDI reception interrupt process is started, the received data received by the MIDI interface 5 is fetched in step S80, and the process proceeds to step S9.
At 0, the received data is combined with the time data at the time of reception, written in the above-described input buffer in a format as shown in FIG. 3, and the process returns to the process when an interrupt occurs. Thereby, the received MIDI data is sequentially
The data is written to the input buffer together with the reception time.

【0045】次に、メインルーチンのステップS50に
て行なわれるパネルスイッチイベント処理の例としてパ
ート1の音色選択イベント処理のフローチャートを図1
4に示す。パート1の音色選択イベント処理が開始され
ると、ステップS100にてパネルスイッチで選択され
た音色番号がレジスタにt1として格納されて、この処
理は終了する。これにより、パート1の音色が決定さ
れ、図示しないがすべてのパートの音色が選択される処
理がメインルーチンのステップS50にて行なわれる。
Next, as an example of the panel switch event processing performed in step S50 of the main routine, a flowchart of the tone color selection event processing of Part 1 is shown in FIG.
It is shown in FIG. When the timbre selection event process of part 1 is started, the timbre number selected by the panel switch is stored in the register as t1 in step S100, and this process ends. Thus, the tone color of part 1 is determined, and although not shown, a process of selecting the tone colors of all parts is performed in step S50 of the main routine.

【0046】次に、メインルーチンの定常ループでステ
ップS30として実行される受信データ処理において行
なわれるノートオン・イベント処理、およびノートオフ
・イベント処理の詳細フローチャートを図15(a)
(b)に示す。受信データがノートオン・イベントの場
合に図15(a)に示すノートオン・イベント処理が開
始され、ステップS110にて、入力バッファ中のその
ノートオン・イベントのノートナンバがNNとして、ベ
ロシティがVELとして、パート別音色がtとしてそれ
ぞれレジスタに取り込まれ、さらにそのノートオン・イ
ベントの発生時刻がTMとしてレジスタに取り込まれ
る。次いで、ステップS120にてレジスタに取り込ま
れたノートナンバNNの発音割当処理が行われ、割り当
てられたチャンネル(ch)の番号iがレジスタに取り
込まれる。
Next, a detailed flowchart of the note-on event processing and the note-off event processing performed in the reception data processing executed as step S30 in the regular loop of the main routine is shown in FIG.
(B). If the received data is a note-on event, note-on event processing shown in FIG. 15A is started. In step S110, the note number of the note-on event in the input buffer is set to NN, and the velocity is set to VEL. , The timbre of each part is fetched into the register as t, and the occurrence time of the note-on event is fetched into the register as TM. Next, in step S120, the tone number assignment process of the note number NN taken into the register is performed, and the number i of the assigned channel (ch) is taken into the register.

【0047】さらに、ステップS130にて前記パート
別に設定されている音色tの音色データTP(t)をノ
ート・ナンバNNおよびベロシティVELに応じて加工
する。この場合の音色データは図2に示す音色データP
D1ないしPD16のうちの選択されたいずれかの音色
データである。そして、ステップS140にて図4に示
す音源レジスタのうちレジスタに取り込まれたch番号
iの音源レジスタに、発音すべきピッチSPを含む前記
ステップの処理で加工された音色データを、前記ノート
オン・イベントの発生時刻TMと共に書き込む。ここ
で、音源レジスタに書き込まれる波形指定データDは、
図2に示す音色データ中の音域波形指定データをノート
ナンバNNで参照することにより求められ、該ノートナ
ンバNNに対応した楽音生成に用いるべき波形として、
波形データWD1から波形データWDnのうちのいずれ
か1つが指定される。
Further, in step S130, the tone color data TP (t) of the tone color t set for each part is processed in accordance with the note number NN and the velocity VEL. The tone data in this case is the tone data P shown in FIG.
This is any tone data selected from D1 to PD16. Then, in step S140, the tone color data processed in the above-described processing including the pitch SP to be sounded is stored in the tone generator register of ch number i taken into the register among the tone generator registers shown in FIG. It is written together with the event occurrence time TM. Here, the waveform designation data D written to the tone generator register is
The tone range designation data in the tone color data shown in FIG. 2 is obtained by referring to the note number NN, and the waveform to be used for generating a tone corresponding to the note number NN is as follows.
One of the waveform data WD1 to WDn is designated.

【0048】次に、ステップS150にてレジスタに取
り込まれたichの演算サイクルを変更するタイミン
グ、および変更する演算サイクル値を指定する演算サイ
クル制御データが音源レジスタのich領域に設定され
る。この演算サイクル制御データの設定は、ichで選
択された音色データ中に記憶された演算サイクル制御デ
ータに基づいて設定される。演算サイクルを変更するタ
イミングは前記した演算時刻ごとに演算を行なう1単位
区間を最小単位として指定されるので、演算時刻に達す
る回数によりタイミングを検出し、変更を実行すること
ができる。次いで、ステップS160にてレジスタに取
り込まれたichに波形データエリアから読み出された
OPEG制御データが音源レジスタのich領域に設定
される。このOPEG制御データは、前記図8に示すよ
うな元ピッチの1発音中での変化の様子を示すOPEG
波形の形状を制御するデータである。次いで、ステップ
S170にてレジスタに取り込まれたichの音源レジ
スタにノートオンが書き込まれ、ノートオン・イベント
処理は終了する。
Next, at step S150, the timing of changing the operation cycle of ich taken into the register and the operation cycle control data for specifying the operation cycle value to be changed are set in the ich area of the tone generator register. The setting of the operation cycle control data is set based on the operation cycle control data stored in the tone color data selected by ich. Since the timing of changing the operation cycle is specified as a minimum unit of one unit section in which the operation is performed for each operation time, the timing can be detected based on the number of times to reach the operation time and the change can be executed. Next, in step S160, the OPEG control data read from the waveform data area is set in the ich area of the sound source register in the ich taken into the register in step S160. The OPEG control data includes an OPEG indicating the state of change of the original pitch during one tone as shown in FIG.
This is data for controlling the shape of the waveform. Next, note-on is written to the tone generator register of ich taken into the register in step S170, and the note-on event process ends.

【0049】図15(b)に示すフローチャートのノー
トオフ処理は、受信したデータがノートオフ・イベント
の場合に開始され、ステップS180にて、入力バッフ
ァ中のそのノートオフ・イベントのノートナンバがNN
として、パート別音色がtとしてそれぞれレジスタに取
り込まれ、ノートオフ・イベントの発生時刻がTMとし
てレジスタに取り込まれる。次いで、ステップS190
にて音色t,ノートナンバNNで発音されている発音チ
ャンネル(ch)がサーチされ、見つかった発音chの
番号iがレジスタに取り込まれる。次に、ステップS2
00にてこのichの音源レジスタに前記レジスタに取
り込まれた発生時刻TMとノートオフが書き込まれてノ
ートオフ処理は終了する。
The note-off process of the flowchart shown in FIG. 15B is started when the received data is a note-off event. In step S180, the note number of the note-off event in the input buffer is set to NN.
, The timbre for each part is fetched into the register as t, and the note-off event occurrence time is fetched into the register as TM. Next, step S190
Is searched for a sound channel (ch) sounded by the tone color t and the note number NN, and the number i of the found sound channel is taken into the register. Next, step S2
At 00, the generation time TM and the note-off taken into the register are written into the tone generator register of this ich, and the note-off process ends.

【0050】次に、メインルーチンの定常ループでステ
ップS60として実行される音源処理の詳細フローチャ
ートを図16を参照しながら説明する。音源処理が開始
されると、ステップS210にて音源レジスタのチェッ
クが行なわれ、新規な書き込みがない場合にはステップ
S220からそのままステップS250に進むが、ステ
ップS220にて新規な書き込みがあったと判定された
場合には、ステップS230にて書き込まれたデータ
を、波形演算を制御するための制御データに変換する。
次いで、ステップS240にて変換された制御データの
準備が行なわれるが、ここでは変換後のデータに基づい
て、ノートオン/オフ,ピッチ・ベンド,EXP,パン
等の変換後のデータに基づいた音源制御準備や、制御時
刻/制御データ等のセットの作成が行なわれる。すなわ
ち、ステップS230およびステップS240にて書き
込みがあるごとに、あとに実行される楽音生成ステップ
S270〜ステップS290のための演算の準備が行な
われる。
Next, a detailed flowchart of the sound source processing executed as step S60 in the steady loop of the main routine will be described with reference to FIG. When the tone generator process is started, the tone generator register is checked in step S210, and if there is no new writing, the process directly proceeds from step S220 to step S250, but it is determined in step S220 that there is new writing. In such a case, the data written in step S230 is converted into control data for controlling the waveform calculation.
Next, in step S240, control data converted is prepared. Here, based on the converted data, a tone generator based on converted data such as note on / off, pitch bend, EXP, and pan is used. Preparation for control and creation of a set of control time / control data are performed. That is, every time there is a write in steps S230 and S240, preparations are made for calculations for tone generation steps S270 to S290 to be executed later.

【0051】続くステップS250では再生部9におけ
る再生波形データの読出しが途切れないように、再生中
の波形データが終了する時刻より所定時間だけ早いタイ
ミングを指定する演算時刻管理が行なわれる。すなわ
ち、図11に示すように、同図(a)に示す演算時刻と
された時に、同図(c)に示すように1単位区間に相当
する複数の楽音波形サンプルの演算生成が実行され、こ
の演算生成された楽音波形サンプルが、同図(d)に示
すように1単位区間の楽音波形として再生部9により読
み出されて再生されるが、再生部9の読み出す波形サン
プルが途切れないよう図11(c)に示す演算生成に要
する時間を考慮して、同図(a)に示す演算時刻を設定
するように演算時刻管理が行なわれる。
In the subsequent step S250, calculation time management for designating a timing earlier by a predetermined time than the end time of the waveform data being reproduced is performed so that the reading of the reproduced waveform data in the reproducing section 9 is not interrupted. That is, as shown in FIG. 11, when the calculation time shown in FIG. 11A is reached, the calculation and generation of a plurality of musical tone waveform samples corresponding to one unit section are executed as shown in FIG. The calculated and generated musical tone waveform sample is read out and reproduced by the reproducing unit 9 as a musical tone waveform of one unit section as shown in FIG. 3D, so that the waveform sample read by the reproducing unit 9 is not interrupted. The operation time management is performed such that the operation time shown in FIG. 11A is set in consideration of the time required for the operation generation shown in FIG. 11C.

【0052】次いで、ステップS260にて演算時刻管
理が行なわれた演算時刻に達したか否かが判定される
が、演算時刻に達していない場合はそのまま音源処理は
終了する。そして、音源レジスタに新規書き込みがな
く、かつ、演算時刻に達していない場合は、音源処理は
何も処理を行うことなく抜けてしまうが、定常ループが
何回か循環すると演算時刻に達し、ステップS270以
降において1単位区間に相当する楽音波形サンプルの演
算生成処理が行なわれる。すなわち、ステップS270
にて各チャンネルの生成する楽音に応じて、ここで演算
生成する楽音波形サンプル数を指定する演算サイクルC
Cの変更処理、および重要な楽音を発生しているチャン
ネル順に演算を行なうよう各チャンネルの演算順序を決
定する演算順序決定処理、さらに演算サイクルCCを変
更しても全発音チャンネルの楽音波形サンプルを生成で
きない場合に、演算順序の最後から消音するチャンネル
を決定する消音ch処理が行なわれる。
Next, in step S260, it is determined whether or not the calculation time at which the calculation time management was performed has been reached. If the calculation time has not been reached, the sound source processing is terminated. If there is no new writing in the sound source register and the operation time has not been reached, the sound source processing exits without performing any processing. After S270, the calculation and generation processing of the musical tone waveform sample corresponding to one unit section is performed. That is, step S270
In accordance with the tone generated by each channel, a calculation cycle C for designating the number of tone waveform samples to be calculated here
C change processing, calculation order determination processing for determining the calculation order of each channel so that calculation is performed in the order of channels generating important musical tones, and even if the calculation cycle CC is changed, tone waveform samples of all tone generation channels are changed. If the channel cannot be generated, a mute channel process for determining a mute channel from the end of the calculation order is performed.

【0053】次いで、前記ステップS240において音
源制御準備されたデータを、時間軸上で展開して演算準
備を行なう制御データ展開処理がステップS280にて
実行され、さらに、ステップS290にて展開されたデ
ータに基づいて1単位区間分の再生波形データ(楽音波
形サンプル)を算出する波形演算が実行される。さら
に、前記図5を用いて説明したように、演算サイクルの
異なる再生波形データは基本演算サイクルで生成される
サンプル数と同じサンプル数となるよう補間されて、同
じサンプル数とされて全発音チャンネルの再生波形デー
タが累算され、例えばバッファ0に格納される処理が行
なわれる。そして、ステップS300にて作成した再生
波形データを、再生部9が読み出すように予約する再生
予約処理が行なわれるが、ここでは、再生予約は全発音
チャンネルの再生波形データが累算された再生波形デー
タが格納されているバッファ0に対して行なわれる。
Next, control data expansion processing for expanding the data prepared for sound source control in step S240 on the time axis to prepare for calculation is executed in step S280, and further, the data expanded in step S290. The waveform calculation for calculating the reproduction waveform data (musical tone waveform sample) for one unit section is performed based on. Further, as described with reference to FIG. 5, the reproduced waveform data having different operation cycles are interpolated so as to have the same number of samples as the number of samples generated in the basic operation cycle. Are reproduced and stored, for example, in buffer 0. Then, a reproduction reservation process for reserving the reproduction waveform data created in step S300 so that the reproduction section 9 reads the reproduction waveform data is performed. In this case, the reproduction reservation is a reproduction waveform data obtained by accumulating the reproduction waveform data of all tone generation channels. This is performed for buffer 0 in which data is stored.

【0054】本発明は、発音チャンネルごとに演算サイ
クルを変更すること、および、各発音チャンネルの1発
音の途中で演算サイクルを変更することができるが、各
発音チャンネルの1発音の途中で演算サイクルを変更す
る処理等が行なわれる、前記した音源処理におけるステ
ップS270にて実行されるチャンネル制御処理の詳細
フローチャートを図17に示す。チャンネル制御処理が
開始されると、ステップS310にて各チャンネルが有
している演算サイクル制御データに基づく1発音の途中
での演算サイクルを変更する制御処理が行なわれる。こ
こでは、時刻のカウントを行ない、演算サイクルを変更
するタイミングを管理している。そして、管理の結果、
現時点では演算サイクルを変更するチャンネルがない場
合には、そのままステップS340に進むが、演算サイ
クルを変更するチャンネルがあった場合(そのチャンネ
ルの演算サイクル制御データの指定する変更タイミング
に達した場合)には、ステップS320にてありと判定
されて、該チャンネルの演算サイクルCCがステップS
330にて新値(同演算サイクル制御データの指定する
同タイミングでの変更値)に変更される。
According to the present invention, the operation cycle can be changed for each sounding channel, and the operation cycle can be changed during one sounding of each sounding channel. FIG. 17 shows a detailed flowchart of the channel control process executed in step S270 in the above-described sound source process in which the process of changing the sound source is performed. When the channel control process is started, a control process of changing a calculation cycle in the middle of one tone based on the calculation cycle control data of each channel is performed in step S310. Here, the time is counted and the timing of changing the operation cycle is managed. And as a result of management,
If there is no channel whose arithmetic cycle is to be changed at this time, the process proceeds to step S340. If there is a channel whose arithmetic cycle is to be changed (when the change timing specified by the arithmetic cycle control data of the channel has been reached). Is determined to be present in step S320, and the operation cycle CC of the channel is changed to step S320.
At 330, the value is changed to a new value (change value at the same timing specified by the same operation cycle control data).

【0055】次いで、ステップS340にて発音チャン
ネルの演算順序の決定処理が行なわれるが、ここでは前
記したように重要な音や消音しては困る音を発音してい
るチャンネルの演算が優先して演算が行なわれるように
チャンネルの演算順序が決定される。ここで、楽音を生
成中でない発音チャンネルについては演算が行われない
ので演算順序に含めなくてもよい。そして、ステップS
350にて各発音チャンネルの演算量を累算し、全演算
量が算出される。この場合、各発音チャンネルの演算量
は、各発音チャンネルの演算サイクルによって異なり、
また、各チャンネルごとに発音方式が異なっていれば、
それによっても異なるものとされる。次いで、ステップ
S360にて算出された全演算量が多過ぎるか否かが判
定されるが、算出された全演算量が所定範囲内であった
場合にはそのままチャンネル制御処理は終了し、波形演
算処理が行なわれる。
Next, in step S340, a process for determining the calculation order of the sounding channels is performed. Here, as described above, the calculation of the channel generating the important sound or the sound that is difficult to mute is prioritized. The calculation order of the channels is determined so that the calculation is performed. In this case, since the calculation is not performed for the tone generation channel for which the musical tone is not being generated, it need not be included in the calculation order. And step S
At 350, the calculation amount of each sounding channel is accumulated, and the total calculation amount is calculated. In this case, the operation amount of each sound channel differs depending on the operation cycle of each sound channel.
Also, if the pronunciation method is different for each channel,
It will also be different. Next, it is determined whether or not the total amount of calculation calculated in step S360 is too large. If the calculated total amount of calculation is within a predetermined range, the channel control process is terminated and the waveform calculation is performed. Processing is performed.

【0056】また、ステップS360にて算出された全
演算量が多過ぎてそのまま全演算を行うと、再生部9が
読み出すタイミングまでに演算が終了せず再生波形デー
タが途切れると判定された場合には、ステップS370
にて所定順位の演算順序以降とされた発音チャンネルの
演算サイクルCCを、必要数だけ「+1」する。すなわ
ち、演算サイクルCCを小さく(CC=0のチャンネル
はCC=1に、CC=1のチャンネルはCC=2に)し
て生成されるサンプル数を減少させる。この結果、全演
算量が所定範囲内に納まったか否かがステップS380
にて判定され、所定範囲内とされた場合にはチャンネル
制御処理は終了するが、依然として所定範囲を超えてい
ると判定された場合には、ステップS390にて演算順
序の最後とされたチャンネルから順に消音チャンネルを
決定し、消音処理が実行される。
If the total amount of calculation calculated in step S360 is too large and the entire calculation is performed as it is, it is determined that the calculation does not end by the timing of reading by the reproducing unit 9 and the reproduced waveform data is interrupted. Is a step S370
Then, the necessary number of operation cycles CC of the sounding channels determined to be after the predetermined order of operation is incremented by "1". That is, the number of samples generated by reducing the operation cycle CC (CC = 1 for the channel of CC = 0 and CC = 2 for the channel of CC = 1) is reduced. As a result, it is determined in step S380 whether or not all the calculation amounts fall within the predetermined range.
Is determined to be within the predetermined range, the channel control processing ends. However, when it is determined that the channel is still beyond the predetermined range, the channel in the calculation order at step S390 starts from the last. The silencing channels are determined in order, and the silencing process is executed.

【0057】従来の音源制御では、発音すべき楽音が多
過ぎる場合、トランケート処理、つまり発音中の楽音の
うちのいずれかを消音する処理が行われている。本実施
例では、ステップS360で「YES」と判定された場
合でも、ステップS370からステップS390の処理
で、まず、演算サイクルを落とすことにより、従来行わ
れていた楽音の消音を回避している。しかも、この場合
に演算サイクルが落とされるのは、重要度の低い音であ
るので、音楽上の影響は少ない。また本実施例では、上
記演算サイクルの低減だけで対処できない時には、従来
と同様の消音処理が実行される。これで、チャンネル制
御処理が終了し、波形演算の処理が続いて行なわれるよ
うになる。
In the conventional sound source control, when there are too many musical tones to be produced, a truncation process, that is, a process of silencing any of the musical tones being produced is performed. In the present embodiment, even in the case where "YES" is determined in step S360, in the processing from step S370 to step S390, first, the operation cycle is reduced, thereby avoiding the silencing of the musical tone which has been conventionally performed. In addition, in this case, since the operation cycle is dropped for a sound of low importance, the influence on music is small. Further, in the present embodiment, when the above cannot be dealt with only by reducing the operation cycle, a silencing process similar to the conventional one is executed. Thus, the channel control process is completed, and the waveform calculation process is performed subsequently.

【0058】次に波形演算処理の詳細なフローチャート
を図18に示し、その説明を行なう。波形演算処理が開
始されると、ステップS400にて演算順序1番の発音
チャンネル準備が行なわれる。この場合、図5に示す各
出力バッファは演算に先立ちすべてクリアされる。次い
で、ステップS410にて発音するピッチSP、演算サ
イクルCCおよび元ピッチOPに基づき、前記した式1
によりFナンバを発生する。このステップS410にて
各チャンネルのFナンバを毎回算出しているため、発音
途中での演算サイクルCCや元ピッチOPの変化に応
じ、Fナンバが直ちに変化する。さらに、ピッチベンド
やビブラート等の効果による発音途中で発音ピッチSP
の変化に応じて、Fナンバを変化させることもできる。
なお、演算時刻の発生する時間間隔は一般に数ミリ秒程
度であるので、1単位区間分の楽音生成演算の途中でF
ナンバを変化させる必要はない。
Next, a detailed flowchart of the waveform calculation processing is shown in FIG. 18 and will be described. When the waveform calculation processing is started, the preparation of the first sounding channel in the calculation order is performed in step S400. In this case, all the output buffers shown in FIG. 5 are cleared prior to the operation. Next, based on the pitch SP pronounced in step S410, the operation cycle CC, and the original pitch OP, the above-described equation 1 is obtained.
Generates the F number. Since the F number of each channel is calculated each time in step S410, the F number changes immediately according to the change in the calculation cycle CC or the original pitch OP during sound generation. In addition, during the sound generation by the effects such as pitch bend and vibrato, the sound pitch SP
The F number can also be changed in accordance with the change in.
The time interval at which the calculation time occurs is generally on the order of several milliseconds.
There is no need to change the number.

【0059】次いで、ステップS420にて読み出しア
ドレスを作成し、作成された読み出しアドレスの整数部
に基づいて波形データを読み出すと共に、読み出しアド
レスの小数部に基づいて連続する波形データ間の補間処
理を行なう。ステップS420の処理では、補間サンプ
ル毎の読み出しアドレス作成から補間処理を1単位とし
て、この単位とされた処理を演算サイクルCCに応じた
回数繰り返すようになっている。この結果、演算サイク
ルCCに応じた数の補間サンプルが生成される。なお、
各補間サンプルの読み出しアドレスは、直前の補間サン
プルの読み出しアドレスにFナンバを加算することによ
り求められる。したがって、読み出しアドレスは、各補
間サンプル毎にFナンバに応じた速さで進行し、その進
行速度に応じて読み出された波形のピッチが制御され
る。
Next, in step S420, a read address is created, waveform data is read based on the integer part of the created read address, and interpolation processing between continuous waveform data is performed based on the decimal part of the read address. . In the process of step S420, the interpolation process is set as one unit from the creation of the read address for each interpolation sample, and the process in this unit is repeated a number of times corresponding to the operation cycle CC. As a result, the number of interpolation samples corresponding to the operation cycle CC is generated. In addition,
The read address of each interpolated sample is obtained by adding the F number to the read address of the immediately preceding interpolated sample. Therefore, the read address advances at a speed corresponding to the F number for each interpolation sample, and the pitch of the read waveform is controlled according to the advance speed.

【0060】さらに、ステップS430にて前ステップ
で生成された補間サンプルに音量EG波形による音量制
御が施された後、演算サイクルCCに応じた出力バッフ
ァのバッファ0ないしバッファ2のいずれかに足し込ま
れる。この音量EG波形は、楽音の立ち上がりから減衰
までの音量エンベロープの変化を制御する波形であり、
各発音チャンネルのレジスタに設定されたAEG制御D
に基づいて、各補間サンプルに対応させて演算生成され
る。すでに説明したように、生成する補間サンプルの数
と選択される出力バッファの記憶するサンプル数は、共
に、各発音チャンネルの演算サイクルCCで制御されて
おり、互いに同数である。そのため、ステップS430
の処理も、先程のステップS430と同様に各サンプル
単位である。つまり、生成された補間サンプルに対し、
音量EG波形による音量制御、および演算サイクルCC
に応じた出力バッファの対応する順番位置への足し込み
が、サンプル単位で順次行われる。以上のような手順で
各処理を実行することにより、CPU1の演算レジスタ
の書き込み/読み出しの回数を最小限に押さえ、全体と
しての処理速度を向上させている。
Further, after the interpolated sample generated in the previous step is subjected to volume control by the volume EG waveform in step S430, the interpolated sample is added to any one of buffers 0 and 2 of the output buffer according to the operation cycle CC. It is. This volume EG waveform is a waveform that controls the change of the volume envelope from the rise of the musical tone to the attenuation.
AEG control D set in the register of each sounding channel
Is calculated and generated in correspondence with each interpolated sample. As described above, the number of interpolation samples to be generated and the number of samples stored in the selected output buffer are both controlled by the operation cycle CC of each tone generation channel, and are the same as each other. Therefore, step S430
Is performed in units of each sample similarly to step S430. That is, for the generated interpolation sample,
Volume control by volume EG waveform and calculation cycle CC
Is added to the corresponding order position of the output buffer in order of sample. By executing each process in the above procedure, the number of times of writing / reading of the operation register of the CPU 1 is minimized, and the overall processing speed is improved.

【0061】このようにして、図5に示すように、バッ
ファ0には基本演算サイクルの発音チャンネルで演算さ
れた楽音サンプルが、バッファ1には基本演算サイクル
の1/2の演算サイクルの発音チャンネルで演算された
楽音サンプルが、バッファ2には基本演算サイクルの1
/4の演算サイクルの発音チャンネルで演算された楽音
サンプルが、それぞれそれまでに格納されていたデータ
値に順次足し込まれてそれぞれ格納されるが、この場合
は1番目に演算された補間サンプルであるので、そのチ
ャンネルの演算サイクルCCに対応した出力バッファに
そのまま格納される。
In this way, as shown in FIG. 5, the buffer 0 stores the tone samples calculated in the tone generation channel of the basic operation cycle, and the buffer 1 stores the tone generation channel in the half operation cycle of the basic operation cycle. The tone sample calculated in step 2 is stored in the buffer 2 in the basic calculation cycle 1
The tone samples calculated in the tone generation channel of the calculation cycle of / 4 are sequentially added to the data values stored up to that time and stored, respectively. In this case, the interpolation sample calculated first is used. Therefore, the data is directly stored in the output buffer corresponding to the operation cycle CC of the channel.

【0062】次に、ステップS440にて演算すべき全
発音チャンネルの演算が終了したか否かが判定される
が、また、演算すべき(発音中の)発音チャンネルが残
っている場合は、終了していないと判定されてステップ
S480に進み、2番目の順番の発音チャンネルの準備
が行なわれてステップS410に戻る。そして、全発音
チャンネルの演算が終了するまで、ステップS410な
いしステップS480のループの処理が行なわれる。な
お、本発明のプログラム以外のソフトをCPU1が並列
実行していると、そのソフトの処理に時間が取られて、
本演算が遅れることがあるが、その場合、再生部9の再
生が途切れないように、未だ演算されていないチャンネ
ルがあっても、ステップS440にて終了したと判定す
ることがある。
Next, in step S440, it is determined whether or not the calculation of all tone generation channels to be calculated has been completed. If not, the flow advances to step S480 to prepare the second sounding channel, and the flow returns to step S410. Until the calculation of all the sounding channels is completed, the loop processing from step S410 to step S480 is performed. If the CPU 1 executes software other than the program of the present invention in parallel, the processing of the software takes time,
Although this calculation may be delayed, in such a case, it may be determined in step S440 that the calculation has been completed even if there is a channel that has not been calculated so that the reproduction of the reproduction unit 9 is not interrupted.

【0063】これにより、図5に示すバッファ0、バッ
ファ1、およびバッファ2に演算サイクルCCに応じて
格納された複数チャンネルの補間サンプルが累算されて
格納されるようになる。全発音チャンネルの演算が終了
すると、ステップS450にてバッファ1に格納されて
いる波形サンプルの補間処理(2倍オーバサンプリン
グ)が行なわれて、基本演算サイクルで演算した場合の
サンプル数(この場合、128サンプル)と同じサンプ
ル数とされてバッファ0と同じ構成のバッファ1’に格
納される。(図5(d)参照)次いで、ステップS46
0にてバッファ2に格納されている波形サンプルの補間
処理(4倍オーバサンプリング)が行なわれて、基本演
算サイクルで演算した場合のサンプル数と同じサンプル
数とされてバッファ0と同じ構成のバッファ2’に格納
される(図5(e)参照)。
Thus, the interpolated samples of a plurality of channels stored in the buffers 0, 1 and 2 shown in FIG. 5 according to the operation cycle CC are accumulated and stored. When the calculation of all the sounding channels is completed, the interpolation process (double oversampling) of the waveform samples stored in the buffer 1 is performed in step S450, and the number of samples calculated in the basic calculation cycle (in this case, (128 samples) and stored in the buffer 1 'having the same configuration as the buffer 0. (Refer to FIG. 5D) Next, step S46
At 0, the interpolation processing (4 times oversampling) of the waveform samples stored in the buffer 2 is performed, and the number of samples is equal to the number of samples calculated in the basic operation cycle. 2 '(see FIG. 5 (e)).

【0064】続いて、ステップS470にてバッファ0
に、バッファ1’、バッファ2’の波形サンプルを足し
込むことにより、全発音チャンネルの波形サンプルを累
算した波形サンプルをバッファ0上に実現する(図5
(f)参照)。これにより、波形演算処理は終了し、バ
ッファ0上の波形サンプルは予約されて再生部9により
読み出されて発音されるようになる。
Subsequently, in step S470, buffer 0
By adding the waveform samples of the buffers 1 ′ and 2 ′, the waveform samples obtained by accumulating the waveform samples of all the tone generation channels are realized on the buffer 0 (FIG. 5).
(F)). As a result, the waveform calculation processing ends, and the waveform samples on the buffer 0 are reserved, read out by the reproducing unit 9 and sounded.

【0065】以上においては、前記図1に示す楽音生成
装置にて実行されるプログラムとして本発明の楽音発生
方法の説明を行った。また、本発明の楽音発生方法を、
Windows (米マイクロソフト社のパソコン用OS)やそ
の他のオペレーティング・システムの動作する汎用コン
ピュータ上で、1つのアプリケーションプログラムとし
て実行させてもよい。
In the above, the tone generating method of the present invention has been described as a program executed by the tone generating apparatus shown in FIG. In addition, the musical sound generation method of the present invention includes:
It may be executed as one application program on a general-purpose computer running Windows (OS for a personal computer of Microsoft Corporation) or another operating system.

【0066】[0066]

【発明の効果】本発明は以上のように構成されているた
め、各発音チャンネルごとに、発音される楽音波形が広
帯域とされているか否か、あるいは重要度に応じて波形
演算サイクルを決定することができ、楽音波形の広帯域
あるいは狭帯域にかかわらず、無駄な波形演算を行なう
ことなく楽音波形サンプルを演算生成することができ
る。また、減衰音系の場合1発音中のアタック部では波
形演算サイクルを大きくして多くの波形サンプルを生成
し、持続部においては波形演算サイクルを小さくして波
形サンプルを少なく生成しているので、無駄な波形演算
が生じないと共に、効率的に1発音中の波形サンプルを
生成することができる。
Since the present invention is constructed as described above, the waveform calculation cycle is determined for each tone generation channel according to whether the tone waveform to be emitted has a wide band or the importance. Thus, regardless of whether the tone waveform is in a wide band or a narrow band, tone waveform samples can be calculated and generated without performing unnecessary waveform calculations. Further, in the attack portion of 1 being sounded if the attenuation sound system to generate a number of waveform samples by increasing the waveform calculation cycle, since the generated reduced waveform sample by reducing the waveform calculation cycle in duration unit, Useless waveform calculation does not occur, and a waveform sample during one tone generation can be efficiently generated.

【0067】このように、特定の発音チャンネルにおけ
る波形演算の節約をすることができるため、その他のチ
ャンネルの楽音波形の波形演算量を増やすと、そのチャ
ンネルの楽音クォリティを改善することができ、また節
約された波形演算量により発音チャンネル数を増やすこ
とができる。さらに、各発音チャンネル毎に独立して、
単位時間当たりの生成楽音サンプル数を制御することが
できるので、発音チャンネル間で生成楽音のクォリティ
差をつけられるにようになった。また、クォリティが低
くても影響の少ない発音チャンネルの演算量を削減でき
る。
As described above, it is possible to save the waveform calculation in a specific sounding channel. Therefore, if the waveform calculation amount of the tone waveform of the other channel is increased, the tone quality of that channel can be improved. The number of sounding channels can be increased by the saved waveform calculation amount. Furthermore, independently for each sounding channel,
Since the number of generated musical tone samples per unit time can be controlled, the quality difference of generated musical tones between tone generation channels can be provided. In addition, it is possible to reduce the calculation amount of the sounding channel which has little influence even if the quality is low.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 本発明の楽音発生方法を実行する楽音生成装
置の構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a musical sound generating device that executes a musical sound generating method of the present invention.

【図2】 本発明のRAM上の音色データおよび波形デ
ータエリアを示す図である。
FIG. 2 is a diagram showing tone color data and a waveform data area on a RAM according to the present invention.

【図3】 本発明のRAM上の入力バッファエリアを示
す図である。
FIG. 3 is a diagram showing an input buffer area on a RAM according to the present invention.

【図4】 本発明のRAM上の音源レジスタエリアを示
す図である。
FIG. 4 is a diagram showing a tone generator register area on a RAM according to the present invention.

【図5】 本発明のRAM上の出力バッファエリアおよ
びその動作説明するための図である。
FIG. 5 is a diagram for explaining an output buffer area on a RAM and its operation according to the present invention;

【図6】 1発音中の波形データの例を示す図である。FIG. 6 is a diagram showing an example of waveform data during one tone generation.

【図7】 1発音中の波形データのスペクトル分布を示
す図である。
FIG. 7 is a diagram showing a spectrum distribution of waveform data during one tone generation.

【図8】 1発音中のOPEGの波形の一例を示す図で
ある。
FIG. 8 is a diagram showing an example of an OPEG waveform during one tone generation.

【図9】 本発明の楽音発生方法の1発音中の演算サイ
クルの変化の例を示す図である。
FIG. 9 is a diagram showing an example of a change in an operation cycle during one tone generation according to the musical sound generation method of the present invention.

【図10】 本発明の楽音発生方法の1発音中のFナン
バの変化の例を示す図である。
FIG. 10 is a diagram showing an example of a change in the F number during one tone generation in the musical tone generating method of the present invention.

【図11】 本発明の楽音発生方法の音源処理のタイミ
ングチャートを示す図である。
FIG. 11 is a diagram showing a timing chart of sound source processing in the musical sound generation method of the present invention.

【図12】 本発明の楽音発生方法のメインルーチンの
フローチャートを示す図である。
FIG. 12 is a diagram showing a flowchart of a main routine of the musical sound generation method of the present invention.

【図13】 本発明の楽音発生方法のMIDI受信割込
処理のフローチャートを示す図である。
FIG. 13 is a diagram showing a flowchart of MIDI reception interrupt processing of the musical sound generation method of the present invention.

【図14】 本発明の楽音発生方法のパート1の音色選
択イベント処理のフローチャートを示す図である。
FIG. 14 is a diagram showing a flowchart of a tone color selection event process of Part 1 of the tone generation method of the present invention.

【図15】 本発明の楽音発生方法の受信データ処理に
おけるノートオン・イベント処理およびノートオフ・イ
ベント処理のフローチャートを示す図である。
FIG. 15 is a diagram showing a flowchart of note-on event processing and note-off event processing in received data processing of the musical sound generation method of the present invention.

【図16】 本発明の楽音発生方法のメインルーチンに
おける音源処理のフローチャートを示す図である。
FIG. 16 is a diagram showing a flowchart of a sound source process in a main routine of the musical sound generation method of the present invention.

【図17】 本発明の楽音発生方法の音源処理における
チャンネル制御処理のフローチャートを示す図である。
FIG. 17 is a diagram showing a flowchart of a channel control process in a sound source process of the musical sound generation method of the present invention.

【図18】 本発明の楽音発生方法の音源処理における
波形演算処理のフローチャートを示す図である。
FIG. 18 is a diagram showing a flowchart of a waveform calculation process in the sound source process of the musical sound generation method of the present invention.

【符号の説明】[Explanation of symbols]

1 CPU、2 ROM、3 RAM、4 タイマ、5
MIDIインターフェース、6 キーボード、7 デ
ィスプレイ、8 ハードディスク、9 再生部、10
DAC、11 サウンドシステム
1 CPU, 2 ROM, 3 RAM, 4 timer, 5
MIDI interface, 6 keyboard, 7 display, 8 hard disk, 9 playback unit, 10
DAC, 11 sound system

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G10H 7/02 G10H 1/02 ──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int.Cl. 7 , DB name) G10H 7/02 G10H 1/02

Claims (9)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 演算処理装置の波形演算により楽音波形
サンプルを生成する楽音発生方法において、音高を示す音高情報と、単位時間当たりに演算生成する
波形サンプル数を示す演算サイクル情報とを受信し、前
記演算サイクル情報 に応じて各発音チャンネル毎に前記
単位時間当たりに演算生成する波形サンプル数が決定さ
ると共に、前記音高情報および前記演算サイクル情報
に応じて位相情報を発生し、該位相情報に応じて楽音波
形サンプルを生成することを特徴とする楽音発生方法。
In a musical tone generating method for generating a musical tone waveform sample by a waveform operation of an arithmetic processing unit, pitch information indicating a pitch and an arithmetic operation are generated per unit time.
Receives operation cycle information indicating the number of waveform samples and
Wherein each sound channel according to serial operation cycle information
Are waveform number of samples determined for calculating generated per unit time Rutotomoni, the pitch information and the operation cycle information
Phase information is generated according to the
A method for generating a musical tone, comprising generating a shape sample .
【請求項2】 前記波形演算サイクル情報が、各発音チ
ャンネルにおいて生成される前記楽音波形サンプルの楽
音波形の性質、および各発音チャンネルの重要度に応じ
て各発音チャンネル毎に決定されていることを特徴とす
る請求項1記載の楽音発生方法。
2. The method according to claim 1, wherein the waveform calculation cycle information is
The sound waveform sample generated in the channel
Depending on the nature of the sound waveform and the importance of each sound channel
Is determined for each sound channel.
The method for generating a musical tone according to claim 1.
【請求項3】 演算処理装置の波形演算により楽音波形
サンプルを生成する楽音発生方法において、 1発音中の楽音波形サンプルにおける時間の経過と共に
変化する高調波の含有割合に応じて、1発音中の途中で
前記波形演算の単位時間当たりに演算生成する波形サン
プル数を示す演算サイクル情報を変更するようにしたこ
とを特徴とする楽音発生方法。
3. A musical tone generating method for generating a musical tone waveform sample by a waveform operation of an arithmetic processing unit, wherein a musical tone waveform sample during one tone generation is changed according to a content ratio of a harmonic which changes with time in one tone. Waveform samples generated and generated per unit time of the waveform calculation on the way
A method for generating a musical tone, wherein calculation cycle information indicating the number of pulls is changed.
【請求項4】 複数の発音チャンネルについて楽音生成
演算を行い、前記複数の発音チャンネルに対応した複数
の楽音の波形データを生成する以下の(1)ないし
(4)のステップを含む楽音発生方法。 (1)前記複数の発音チャンネルで生成される楽音の特
性を、各発音チャンネル毎に指示する少なくとも楽音ピ
ッチ情報を含む第1制御データを発生する楽音制御ステ
ップ (2)単位時間当たりに生成する楽音のサンプル数を、
各発音チャンネル毎に指示する第2制御データを発生す
る演算制御ステップ (3)各発音チャンネル毎に指示された前記第2制御デ
ータに応じたサンプル数の波形データを、前記第1制御
データ、前記第2制御データとに応じて発生された位
相情報に応じて、それぞれ演算生成する楽音生成ステッ
プ (4)前記楽音生成ステップで生成された複数チャンネ
ル分の波形データに基づき楽音を発生するステップ
4. A musical sound generating method comprising the following steps (1) to (4) of performing musical sound generation calculation for a plurality of sound channels and generating waveform data of a plurality of musical sounds corresponding to the plurality of sound channels. (1) At least a tone pitch for designating the characteristics of the tone generated by the plurality of tone channels for each tone channel.
Musical tone control step of generating first control data including switch information (2) The number of musical tone samples generated per unit time
An arithmetic control step for generating second control data instructed for each sounding channel (3) the second control data instructed for each sounding channel
The number of samples of the waveform data corresponding to the over data, wherein the first control data, the second control data and the generated position according to
Step phase in accordance with the information to generate a musical tone based on the waveform data for a plurality of channels generated by each tone generating step (4) for calculating generate the musical tone generating step
【請求項5】 複数の発音チャンネルについて楽音生成
演算を行い、前記複数の発音チャンネルに対応した複数
の楽音の波形データを生成する以下の(1)ないし
(4)のステップを含む楽音発生方法。 (1)前記複数の発音チャンネルで生成される楽音の特
性を、各発音チャンネル毎に指示する第1制御データを
発生する楽音制御ステップ (2)単位時間当たりに生成する楽音のサンプル数を、
各発音チャンネル毎に指示する第2制御データを発生す
る演算制御ステップ (3)所定の周期で起動され、前記複数の発音チャンネ
ルについて、前記第1制御データの指示する楽音特性を
有する波形データを、該起動の度に前記第2制御データ
の指示するサンプル数ずつ演算生成する楽音生成ステッ
(4)前記楽音生成ステップで生成された複数チャンネ
ル分の波形データに基づき楽音を発生するステップ
5. A tone generator for a plurality of tone generation channels.
Performs an operation and calculates a plurality of channels corresponding to the plurality of sound channels.
The following (1) to
A tone generating method including the step (4). (1) Characteristics of musical tones generated by the plurality of tone generation channels
Control data for designating the soundness for each sounding channel.
Generated musical tone control step (2) The number of musical tone samples generated per unit time is
Generates second control data for each sounding channel
Is activated that calculation control step (3) at a predetermined period, the plurality of sound channels
The tone characteristics indicated by the first control data
The waveform data having the second control data
The tone generation step calculates and generates the number of samples
Step (4): the plurality of channels generated in the tone generation step.
For generating a musical tone based on waveform data for
【請求項6】 前記演算制御ステップは、各発音チャン
ネルで生成する波形データの楽音特性に対応させて、前
記第2制御データを発生することを特徴とする請求項
あるいは5記載の楽音発生方法。
6. The operation control step according to claim 4 , wherein the second control data is generated in accordance with a tone characteristic of waveform data generated in each sounding channel.
Alternatively, the tone generating method described in 5 .
【請求項7】 前記演算制御ステップは、各発音チャン
ネルで発生する波形データの楽音特性の時間変化に対応
させて、発生する前記第2制御データを変化させること
を特徴とする請求項4あるいは5記載の楽音発生方法。
7. The arithmetic control step according to claim 4, wherein the second control data generated is changed in accordance with a temporal change of a tone characteristic of waveform data generated in each sounding channel. Musical tone generation method described.
【請求項8】 少なくとも2つの楽音を同時に演算生成
する以下(1)ないし(5)のステップを含む楽音発生
方法。 (1)所定の周期毎に、高い周波数成分を多く含む第1
楽音波形を、Nサンプル分まとめて演算生成する第1生
成ステップ (2)所定の周期毎に、高い周波数成分の少ない第2楽
音波形を、M(ただし、M<N)サンプル分まとめて演
生成する第2生成ステップ (3)生成された前記Mサンプルの第2楽音波形を補間
処理し、Nサンプルの第2楽音波形に変換する変換ステ
ップ (4)生成された前記Nサンプルの第1楽音波形と変換
された前記Nサンプルの第2楽音波形を、各サンプル毎
に順次加算しNサンプルの混合楽音波形を得る混合ステ
ップ (5)前記混合ステップで得られた混合楽音波形に基づ
楽音を発生するステップ
8. A musical tone generating method including the following steps (1) to (5) for simultaneously calculating and generating at least two musical tones. (1) The first method including many high frequency components every predetermined period
A first generation step of calculating and generating musical tone waveforms for N samples at a time. (2) At predetermined intervals, a second musical tone waveform having a small number of high frequency components is performed for M (M <N) samples at once.
A second generation step of calculating and generating (3) a conversion step of interpolating the generated second musical tone waveform of the M samples to convert it into a second musical tone waveform of N samples; and (4) a first of the generated N samples. Musical sound waveform and conversion
A mixing step of sequentially adding, for each sample, the second musical tone waveforms of the N samples to obtain a mixed musical tone waveform of N samples; (5) a step of generating a musical tone based on the mixed musical tone waveform obtained in the mixing step
【請求項9】 複数の発音チャンネルについて楽音生成
演算を行い、前記複数の発音チャンネルに対応した複数
の楽音の波形データを生成する以下(1)ないし(6)
のステップを含む楽音発生方法。 (1)前記複数の発音チャンネルを、第1グループと第
2グループにグループ分けする分割ステップ (2)所定周期毎に、第1グループの各発音チャンネル
について、Nサンプル分まとめて楽音波形を演算生成
し、複数チャンネル間で順次加算して、Nサンプル分の
第1混合波形を出力する第1生成ステップ (3)所定周期毎に、第2グループの各発音チャンネル
について、M(M<N)サンプル分まとめて楽音波形を
演算生成し、複数チャンネル間で順次加算して、Mサン
プル分の第2混合波形を出力する第2生成ステップ (4)混合された前記Mサンプルの第2混合波形を補間
処理し、Nサンプルの第2混合波形に変換する変換ステ
ップ (5)生成された前記Nサンプルの第1混合波形と変換
された前記Nサンプルの第2混合波形を、各サンプル毎
に順次加算しNサンプルの混合楽音波形を得る混合ステ
ップ (6)前記混合ステップで得られた混合楽音波形に基づ
楽音を発生するステップ
9. A musical tone generation operation is performed for a plurality of tone generation channels to generate waveform data of a plurality of tone sounds corresponding to the plurality of tone generation channels.
Music generation method including the steps of: (1) a dividing step of dividing the plurality of sounding channels into a first group and a second group; (2) calculating and generating a musical sound waveform for each sounding channel of the first group by N samples at predetermined intervals; A first generation step of sequentially adding up a plurality of channels to output a first mixed waveform of N samples (3) For each predetermined period , M (M <N) samples for each sounding channel of the second group the minutes together tone waveform
Calculated generated, sequentially adds across multiple channels, a second generating step (4) for outputting a second mixed waveform of M samples of the second mixed waveform of mixed the M samples by interpolating process, the N samples conversion step of converting the second mixing waveform (5) converts the first mixed waveform of the generated said N samples
A mixing step of sequentially adding the second mixed waveforms of the N samples for each sample to obtain a mixed musical tone waveform of N samples (6) a step of generating a musical tone based on the mixed musical tone waveform obtained in the mixing step
JP7173941A 1995-06-19 1995-06-19 Musical tone generation method Expired - Lifetime JP3000894B2 (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP7173941A JP3000894B2 (en) 1995-06-19 1995-06-19 Musical tone generation method
EP96109783A EP0750290B1 (en) 1995-06-19 1996-06-18 Method and device for forming a tone waveform by combined use of different waveform sample forming resolutions
DE69623866T DE69623866T2 (en) 1995-06-19 1996-06-18 Method and apparatus for forming a tone waveform using a combined use of different resolutions of the samples of the waveforms
CN200410061672XA CN1591564B (en) 1995-06-19 1996-06-18 Method and device for forming a tone waveform
US08/666,671 US5831193A (en) 1995-06-19 1996-06-18 Method and device for forming a tone waveform by combined use of different waveform sample forming resolutions
CNB961023139A CN1174370C (en) 1995-06-19 1996-06-18 Method and device for forming tone waveform by combined use of different waveform sample forming resolutions
SG1996010096A SG42418A1 (en) 1995-06-19 1996-06-18 Method and device for forming a tone waveform by combined use of different waveform sample forming resolutions
KR1019960022426A KR100319481B1 (en) 1995-06-19 1996-06-19 Method and device for forming a tone waveform by combined use of different waveform sample forming resolutions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7173941A JP3000894B2 (en) 1995-06-19 1995-06-19 Musical tone generation method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP02119299A Division JP3603638B2 (en) 1999-01-29 1999-01-29 Musical tone generation method

Publications (2)

Publication Number Publication Date
JPH096364A JPH096364A (en) 1997-01-10
JP3000894B2 true JP3000894B2 (en) 2000-01-17

Family

ID=15969911

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7173941A Expired - Lifetime JP3000894B2 (en) 1995-06-19 1995-06-19 Musical tone generation method

Country Status (1)

Country Link
JP (1) JP3000894B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5841054A (en) * 1996-04-06 1998-11-24 Yamaha Corporation Musical tone synthesizing apparatus having competibility of tone color parameters for different systems
ES2305182T3 (en) * 2002-09-02 2008-11-01 Telefonaktiebolaget Lm Ericsson (Publ) SOUND SYNTHETIZER.
JP5029898B2 (en) * 2007-10-26 2012-09-19 カシオ計算機株式会社 Tone generator and tone generator processing program
JP5789993B2 (en) * 2011-01-20 2015-10-07 ヤマハ株式会社 Music signal generator

Also Published As

Publication number Publication date
JPH096364A (en) 1997-01-10

Similar Documents

Publication Publication Date Title
USRE41757E1 (en) Sound source system based on computer software and method of generating acoustic waveform data
KR100421589B1 (en) Tone generating method and apparatus thereof
US5831193A (en) Method and device for forming a tone waveform by combined use of different waveform sample forming resolutions
US6326537B1 (en) Method and apparatus for generating musical tone waveforms by user input of sample waveform frequency
JP3482685B2 (en) Sound generator for electronic musical instruments
JP3000894B2 (en) Musical tone generation method
JP3603638B2 (en) Musical tone generation method
JP3397082B2 (en) Music generating apparatus and method
JP3603849B2 (en) Musical tone generation method
JP3918817B2 (en) Music generator
JP2000276172A (en) Musical sound generating device and storage medium
JPH07121181A (en) Sound information processor
JP3658826B2 (en) Music generation method
JP3637577B2 (en) Music generation method
JP3019755B2 (en) Music sound generation method and music sound generation device
JPH11288285A (en) Method and device for generating musical sound
JPH07306681A (en) Musical sound producing device
JP2956552B2 (en) Musical sound generating method and apparatus
JP3164096B2 (en) Musical sound generating method and apparatus
JPH0944160A (en) Musical tone generating method
JP3627590B2 (en) Sound generation method
JPS6023358B2 (en) electronic musical instruments
JP3832382B2 (en) Musical sound generating apparatus and program
JP3520553B2 (en) Sound source device
JPS6352399B2 (en)

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

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

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081112

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081112

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091112

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101112

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101112

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111112

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111112

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121112

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121112

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 14

EXPY Cancellation because of completion of term