JPH10274982A - Electronic instrument - Google Patents
Electronic instrumentInfo
- Publication number
- JPH10274982A JPH10274982A JP9094491A JP9449197A JPH10274982A JP H10274982 A JPH10274982 A JP H10274982A JP 9094491 A JP9094491 A JP 9094491A JP 9449197 A JP9449197 A JP 9449197A JP H10274982 A JPH10274982 A JP H10274982A
- Authority
- JP
- Japan
- Prior art keywords
- vibrato
- delay
- depth
- calculation
- tone
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、電子楽器に関し、
特に、音色効果としてディレイビブラートをかけること
ができる電子楽器に関する。TECHNICAL FIELD The present invention relates to an electronic musical instrument,
In particular, it relates to an electronic musical instrument to which delay vibrato can be applied as a tone effect.
【0002】[0002]
【従来の技術】電子楽器の音色効果の1つとしてディレ
イビブラートが知られる。これは、弦楽器、管楽器等、
持続音系の楽器の音をより忠実に再現するための効果で
あり、発音開始から少しずつビブラートの深さを深くし
ていき、時間をかけて予定深さのビブラートに到達させ
るものである。2. Description of the Related Art Delay vibrato is known as one of tone effects of electronic musical instruments. This is a string instrument, wind instrument, etc.
This is an effect for reproducing the sound of a continuous tone instrument more faithfully. The depth of the vibrato is gradually increased from the start of sounding, and the vibrato having the predetermined depth is taken over time.
【0003】図9は、音源の発音チャネル毎のディレイ
ビブラートの波形図である。同図(a)は、発音開始か
ら予定深さに到達するまでのビブラート波形を、発音チ
ャネル毎に計算して発音させる例である。この例では、
各発音チャネルch1〜ch3では、ビブラート開始S
から予定深さDに達するまでの振幅増加領域、およびそ
の後の持続領域において計算により求められたビブラー
トが継続して付加される。FIG. 9 is a waveform diagram of delay vibrato for each sound source channel of a sound source. FIG. 6A shows an example in which a vibrato waveform from the start of sound generation to the scheduled depth is calculated for each sound generation channel and sound is generated. In this example,
In each sounding channel ch1 to ch3, vibrato start S
The vibrato calculated is continuously added in a region where the amplitude increases until the predetermined depth D is reached, and in a continuous region thereafter.
【0004】図9(b)は、無音時から最初に楽音を発
生させた時は、計算に基づくディレイビブラートを実施
し、この発音中に他の発音チャネルch2,ch3で発
音があったときは、その時点で発音中のビブラートと同
じ深さからビブラートを開始させる例である。FIG. 9 (b) shows that when a musical tone is generated for the first time from silence, a delay vibrato based on a calculation is performed, and when a sound is generated on another sounding channel ch2 or ch3 during this sounding. In this example, the vibrato is started from the same depth as the vibrato that is currently sounding.
【0005】図9(c)は、無音時から最初に楽音を発
生させた時は、計算に基づくディレイビブラートを実施
し、この発音中に次の発音があったときは、その時点
(図中t)で発音中のビブラートは停止し、新たに、最
初の発音時と同様、振幅「0」からディレイ時間DTを
経過した後、少しずつ深さを深くしていく例である。FIG. 9 (c) shows that when a musical tone is first generated from a silence, a delay vibrato based on a calculation is performed. In this example, the vibrato sounding is stopped at t), and the depth is gradually increased a little after the delay time DT has elapsed from the amplitude “0” similarly to the first sounding.
【0006】ディレイビブラートの付加方法に関し、R
AMに記憶した発音チャネルデータに基づいて楽音波形
のピッチを変更することにより、出力楽音波形データに
ディレイビブラート効果を付加する電子楽器の例が特開
平7−199931号公報に記載されている。[0006] Regarding the method of adding delay vibrato,
An example of an electronic musical instrument that adds a delay vibrato effect to output musical sound waveform data by changing the pitch of the musical sound waveform based on the sounding channel data stored in the AM is described in JP-A-7-199931.
【0007】[0007]
【発明が解決しようとする課題】従来のディレイビブラ
ート付加方法では、次のような問題点がある。まず、発
音チャネル毎の発音チャネルデータとしてディレイビブ
ラートの波形パラメータを計算し、これに基づいてディ
レイビブラートを付加する方法(図9(a))では、計
算のために使用されるメモリの領域が大きくなるほか、
計算も大掛かりになって処理時間がかかるという問題点
がある。The conventional delay vibrato adding method has the following problems. First, in the method of calculating delay vibrato waveform parameters as sounding channel data for each sounding channel, and adding delay vibrato based on the waveform parameters (FIG. 9A), a large memory area is used for the calculation. In addition,
There is a problem that the calculation becomes large and the processing time is required.
【0008】また、先に発音されている楽音に基づいて
その次の発音におけるビブラートの時間や深さを計算す
る方法(図9(b))、および楽音発生毎に、先のビブ
ラートを一旦クリアにする方法(図9(c))では楽音
に不自然さがでるという問題点がある。Further, a method of calculating the time and depth of vibrato in the next sound generation based on the previously generated musical sound (FIG. 9B), and clearing the previous vibrato once for each musical sound generation (FIG. 9 (c)) has a problem that the musical tone becomes unnatural.
【0009】本発明は、上記問題点を解消し、ビブラー
ト周波数の計算に使用されるメモリ領域を大きくするこ
となく、かつ、不自然さがでないようにしてディレイビ
ブラートを付加することができる電子楽器を提供するこ
とを目的とする。The present invention solves the above-mentioned problems, and can add a delay vibrato without increasing the memory area used for calculating the vibrato frequency and without causing unnaturalness. The purpose is to provide.
【0010】[0010]
【課題を解決するための手段】上記の課題を解決し、目
的を達成するための本発明は、楽音発生からビブラート
開始までの遅延区間、該遅延区間に続くビブラート深さ
増加区間、ならびにビブラート深さが一定値に維持され
た持続区間からなるディレイビブラート効果を付加する
ことができる電子楽器において、ビブラート深さを計算
する計算手段と、前記計算手段で計算されたビブラート
深さを記憶する記憶手段と、前記計算手段で計算された
ビブラート深さに対応するビブラート周波数を基本波形
の基本周波数に加算する周波数加算手段とを具備し、前
記持続区間では予め設定されたビブラート深さを使用す
るようにして、後発の楽音に対応するビブラート深さ計
算のため前記計算手段および記憶手段を解放するととも
に、先発のディレイビブラートの遅延区間および増加区
間において後発のディレイビブラート要求が発生した場
合は、前記記憶手段に記憶されたビブラート深さに基づ
いてディレイビブラートをかけ、先発のディレイビブラ
ートの持続区間において後発のディレイビブラート要求
が発生した場合は、前記計算手段で計算したビブラート
深さに基づいて該後発のディレイビブラート要求に対応
したディレイビブラートをかけるように構成した点に第
1の特徴があり、前記計算手段を音色毎に設けた点に第
2の特徴がある。SUMMARY OF THE INVENTION In order to solve the above-mentioned problems and achieve the object, the present invention provides a delay section from the generation of a musical tone to the start of vibrato, a vibrato depth increasing section following the delay section, and a vibrato depth. An electronic musical instrument capable of adding a delay vibrato effect comprising a duration in which a vibrato depth is maintained at a constant value, a calculating means for calculating a vibrato depth, and a storage means for storing the vibrato depth calculated by the calculating means And frequency adding means for adding a vibrato frequency corresponding to the vibrato depth calculated by the calculating means to a basic frequency of a basic waveform, wherein a predetermined vibrato depth is used in the duration. The calculation means and the storage means are released for calculating the vibrato depth corresponding to the subsequent musical tone, and the starting delay is calculated. When a later delay vibrato request occurs in the delay section and the increase section of the vibrato, a delay vibrato is applied based on the vibrato depth stored in the storage means, and a later delay vibrato request is made in the duration of the preceding delay vibrato. The first feature is that when a delay occurs, a delay vibrato corresponding to the subsequent delay vibrato request is applied based on the vibrato depth calculated by the calculation means. Has a second feature.
【0011】第1および第2の特徴によれば、ディレイ
ビブラート深さ計算用の計算手段は、ビブラートの深さ
が予定の最大深さに達した後に解放される。したがっ
て、無音状態から最初に発生される楽音信号のビブラー
トだけでなく、後発の楽音信号に対応するビブラート
も、遅延区間を含む完全なディレイビブラート波形とし
て供給することができる。また、計算手段が解放される
までに発生した後発の楽音信号に対しては、先の楽音信
号に対応してすでに計算されたビブラート深さが使用さ
れるので、この後発の楽音信号に対応してビブラートを
かけるために計算用バッファを使用する必要はない。According to the first and second aspects, the calculating means for calculating the delay vibrato depth is released after the vibrato depth reaches a predetermined maximum depth. Therefore, not only the vibrato of the tone signal generated first from the silence state, but also the vibrato corresponding to the later tone signal can be supplied as a complete delay vibrato waveform including the delay section. In addition, since the vibrato depth already calculated corresponding to the previous tone signal is used for the subsequent tone signal generated before the calculation means is released, the following tone signal is used. There is no need to use a calculation buffer to apply vibrato.
【0012】[0012]
【発明の実施の形態】以下に、図面を参照して本発明を
詳細に説明する。図2は本発明の一実施形態に係る音源
装置を含む電子楽器の構成を示すブロック図である。同
図において、鍵盤装置1は複数のキー1aと、該複数の
キー1aの押鍵および離鍵状態を検出するため、各キー
1aに対応して設けられたセンサ1bとを有する。セン
サ1bはバス2に接続されていて、センサ1bで検出さ
れたキーコードやタッチの情報はバス2を介してCPU
3に入力される。CPU3には、電源スイッチ、音色選
択スイッチ、音量スイッチ等、種々のスイッチ類を有す
る操作パネル4、およびダンパ効果やソフト効果を与え
るためのペダル5が接続されている。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described below in detail with reference to the drawings. FIG. 2 is a block diagram showing a configuration of an electronic musical instrument including a sound source device according to one embodiment of the present invention. In FIG. 1, the keyboard device 1 has a plurality of keys 1a and sensors 1b provided corresponding to the respective keys 1a to detect a pressed state and a released state of the plurality of keys 1a. The sensor 1 b is connected to the bus 2, and key codes and touch information detected by the sensor 1 b are transmitted to the CPU 2 via the bus 2.
3 is input. The CPU 3 is connected to an operation panel 4 having various switches such as a power switch, a tone selection switch, and a volume switch, and a pedal 5 for providing a damper effect and a soft effect.
【0013】さらに、CPU3には、MIDIインタフ
ェース6を介して外部機器が接続される。ROM7は、
CPU3で実行されるプログラムを格納するプログラム
メモリ、および音色データを格納するための音色データ
メモリ(波形メモリ)としての領域を有する。自動演奏
用のデータメモリもROM7に設定される。RAM8に
はレジスタやフラグ等の変化データを記憶するための領
域、つまりワークエリアが設けられる。後述のディレイ
ビブラート計算部としてのバッファもこの領域の一部に
設定される。Further, an external device is connected to the CPU 3 via a MIDI interface 6. ROM7 is
It has an area as a program memory for storing a program executed by the CPU 3 and a timbre data memory (waveform memory) for storing timbre data. A data memory for automatic performance is also set in the ROM 7. The RAM 8 is provided with an area for storing change data such as registers and flags, that is, a work area. A buffer as a delay vibrato calculation unit described later is also set in a part of this area.
【0014】CPU3は鍵盤装置1、操作パネル4、お
よびペダル5から入力された信号に従い、ROM7やR
AM8に記憶されたプログラムやデータを使用して処理
を行い、その処理結果による指示を楽音発生部9に供給
する。楽音発生部9はCPU3の指示に基づいて楽音信
号を生成し、これをD/A変換した後、サウンドシステ
ム10に供給する。サウンドシステム10は前記楽音信
号に基づいて楽音を発生する。楽音発生部9は時分割処
理により、発音チャネル数に対応した楽音信号を処理す
ることができる。The CPU 3 responds to signals input from the keyboard 1, the operation panel 4, and the pedal 5 to read data from the ROM 7 or the R
Processing is performed using the programs and data stored in the AM 8, and an instruction based on the processing result is supplied to the musical sound generation unit 9. The tone generator 9 generates a tone signal based on an instruction from the CPU 3, D / A converts the tone signal, and supplies it to the sound system 10. The sound system 10 generates a tone based on the tone signal. The tone generator 9 can process tone signals corresponding to the number of sounding channels by time division processing.
【0015】次に、本実施形態の動作概要を説明する。
なお、以下の説明では、MIDIインタフェース6を介
して外部機器から楽音発生信号が入力された場合を想定
する。図3はディレイビブラートの発生タイミングを示
す図である。ディレイビブラートaについて、タイミン
グt1で最初の楽音発生信号が入力されると、カウンタ
によるディレイタイムDTの計数を開始する。そして、
ディレイタイムDTの経過すると遅延区間が終了し、深
さ増加区間に移り、タイミングt2から徐々にビブラー
トの深さを増大させていく。ビブラートの深さ(振幅)
が予定値Bdに達したとき、つまりタイミングt3以降
は持続区間であり、楽音発生信号が停止されるまでこの
予定値Bdのビブラート深さが保持される。そこで、本
実施形態では、ビブラートの深さが予定値Bdに達した
ならば、その後はビブラート計算用のバッファを解放
し、該バッファを、次に発生した楽音のディレイビブラ
ートの計算に使用できるようにする。Next, an outline of the operation of this embodiment will be described.
In the following description, it is assumed that a tone generation signal is input from an external device via the MIDI interface 6. FIG. 3 is a diagram showing the timing of occurrence of delay vibrato. For the delay vibrato a, when the first tone generation signal is input at timing t1, the counter starts counting the delay time DT. And
When the delay time DT elapses, the delay section ends, and a transition is made to a depth increasing section, where the vibrato depth is gradually increased from timing t2. Vibrato depth (amplitude)
Has reached the scheduled value Bd, that is, the period after the timing t3 is a continuous period, and the vibrato depth of the scheduled value Bd is held until the musical sound generation signal is stopped. Therefore, in the present embodiment, when the depth of the vibrato reaches the predetermined value Bd, the buffer for vibrato calculation is released thereafter, and the buffer can be used for calculating the delay vibrato of the musical tone generated next. To
【0016】すなわち、ディレイビブラートaの発生中
に、次の楽音発生信号が入力されると、楽音発生信号の
入力タイミングに従って次のように処理がなされる。デ
ィレイビブラートaの深さが予定値Bdに達するまでの
期間において、例えば、タイミングt4やタイミングt
5で第2番目の楽音発生信号が入力された場合は、第1
のディレイビブラートaの計算によって得られた深さに
従ってディレイビブラートbまたはcをかける。That is, when the next tone generation signal is input during the generation of the delay vibrato a, the following processing is performed according to the input timing of the tone generation signal. In the period until the depth of the delay vibrato a reaches the predetermined value Bd, for example, at the timing t4 or the timing t4
If the second tone generation signal is input in step 5, the first
The delay vibrato b or c is applied according to the depth obtained by the calculation of the delay vibrato a.
【0017】また、ディレイビブラートaが予定深さに
達した後のタイミングt6で次の楽音発生信号が入力さ
れた場合は、ディレイビブラートの計算用のバッファが
空いているので、該ディレイビブラートdの発生のため
にこのバッファを使用することができる。つまりディレ
イビブラートdは、振幅が「0」の状態からディレイタ
イムを経過した後徐々に深さを増大していくような所望
の波形にすることができる。When the next tone generation signal is input at a timing t6 after the delay vibrato a reaches the predetermined depth, the buffer for calculating the delay vibrato is vacant. This buffer can be used for generation. That is, the delay vibrato d can have a desired waveform in which the depth gradually increases after the delay time has elapsed from the state where the amplitude is “0”.
【0018】このように、本実施形態では、すべての発
音チャネルに対応してディレイビブラートの計算用のバ
ッファを確保しておく必要がない。しかも、従来技術
(図6(b))と異なり、先のディレイビブラートの深
さが予定値に達した後の持続区間で発生したディレイビ
ブラートは、計算に基づく精度のよいディレイビブラー
トとすることができる。As described above, in the present embodiment, it is not necessary to reserve buffers for calculating the delay vibrato corresponding to all the tone generation channels. In addition, unlike the prior art (FIG. 6B), the delay vibrato generated in the continuous section after the depth of the previous delay vibrato has reached the predetermined value may be an accurate delay vibrato based on the calculation. it can.
【0019】次に、前記楽音発生部9の要部機能を説明
する。図1において、ROM7に設けられるディレイビ
ブラート情報記憶部11には、基本ビブラート波形なら
びに、発生させようとするディレイビブラート情報つま
りディレイビブラートの最大深さBd、ディレイタイム
DT、および深さの単位増加量Δdつまりレイトが記憶
される。ディレイビブラート情報は例えば音色毎に設定
されている。Next, the main functions of the tone generator 9 will be described. In FIG. 1, a delay vibrato information storage unit 11 provided in a ROM 7 stores a basic vibrato waveform and delay vibrato information to be generated, that is, a maximum depth Bd of the delay vibrato, a delay time DT, and a unit increment of the depth. Δd, that is, the rate is stored. The delay vibrato information is set, for example, for each tone color.
【0020】ディレイビブラート計算部12は、前記デ
ィレイタイムDTを計数するカウンタと、該カウンタの
カウントアップに応答し、前記ディレイビブラート情報
記憶部11に記憶されたデータに基づき、予定の割込み
タイミング毎のディレイビブラート深さおよびビブラー
ト周波数を計算する機能を有する。計算されたディレイ
ビブラート深さは発音チャネル領域13に出力されると
ともに、計算結果は計算結果記憶部14に記憶される。
計算結果記憶部14には各発音チャネル毎の、計算され
たビブラート深さが記憶されている。The delay vibrato calculating section 12 responds to the count up of the delay time DT and counts up by the counter. Based on the data stored in the delay vibrato information storage section 11, the delay vibrato calculating section 12 performs It has a function of calculating the delay vibrato depth and vibrato frequency. The calculated delay vibrato depth is output to the sound generation channel area 13 and the calculation result is stored in the calculation result storage unit 14.
The calculation result storage unit 14 stores the calculated vibrato depth for each sounding channel.
【0021】ディレイビブラート計算部12のうちビブ
ラート深さ計算に使用されるバッファ領域および計算結
果記憶部14は、計算中のディレイビブラートの深さが
最大値に達した時点で、次のディレイビブラート深さの
計算に使用するためクリアされる。ディレイビブラート
の深さが最大値に達した後は、MIDI情報により楽音
停止信号が入力されるまでは、ディレイビブラート計算
部12によるリアルタイムの計算結果によらず、一定
値、つまり最大深さBdを有するディレイビブラート波
形に対応した周波数が発音チャネル領域13に出力され
る。この最大深さBdは、図示しない記憶部に別途記憶
された固定データを使用できる。The buffer area used in the vibrato depth calculation and the calculation result storage section 14 of the delay vibrato calculation section 12 store the next delay vibrato depth when the depth of the delay vibrato being calculated reaches the maximum value. Cleared for use in calculating the height. After the depth of the delay vibrato has reached the maximum value, a constant value, that is, the maximum depth Bd is maintained regardless of the real-time calculation result by the delay vibrato calculation unit 12 until a tone stop signal is input by MIDI information. The frequency corresponding to the delayed vibrato waveform is output to the sound channel area 13. As the maximum depth Bd, fixed data separately stored in a storage unit (not shown) can be used.
【0022】ディレイビブラートパート判別部15は、
MIDI情報つまり演奏情報からディレイビブラートパ
ートであるか否かを判断し、ディレイビブラートパート
ならば状態判別部16に検出信号を出力する。状態判別
部16はディレイビブラートパート判別部15から入力
された検出信号に応答してディレイビブラート計算部1
2をサーチし、その空き状態を判別する。The delay vibrato part discriminating section 15
It is determined from the MIDI information, that is, the performance information, whether or not it is a delay vibrato part, and if it is a delay vibrato part, a detection signal is output to the state determination unit 16. The state determination unit 16 responds to the detection signal input from the delay vibrato part determination unit 15 by using the delay vibrato calculation unit 1.
2 to determine its empty state.
【0023】ディレイビブラート計算部12が空いてい
る場合は、状態判別部16は該計算部12に計算を実行
させる。ディレイビブラート計算部12が空いていない
場合、つまり先のディレイビブラート発生のための計算
を実行中であれば、状態判別部16は計算結果記憶部1
4から現在のディレイビブラート深さに基づく周波数を
前記発音チャネル領域13に読み出すための信号を供給
する。なお、ディレイビブラートパートでない場合に
は、通常のビブラートをかけるための、予め設定された
一定深さのビブラート波形に基づいて周波数を計算し、
前記発音チャネル領域13に出力する。When the delay vibrato calculation section 12 is free, the state determination section 16 causes the calculation section 12 to execute the calculation. If the delay vibrato calculation unit 12 is not empty, that is, if the calculation for generating the previous delay vibrato is being performed, the state determination unit 16 sets the calculation result storage unit 1
4 supplies a signal for reading a frequency based on the current delay vibrato depth to the sound generation channel area 13. If the part is not a delay vibrato part, the frequency is calculated based on a preset vibrato waveform of a predetermined depth for applying normal vibrato,
The signal is output to the sound channel region 13.
【0024】基本周波数計算部17は、ROM7に設け
られる楽音波形記憶部18に記憶されている楽音波形を
キーコードに従って読み出し、前記演奏情報に基づいて
基本周波数を決定する。基本周波数は前記発音チャネル
領域13に供給される。基本周波数には演奏情報に含ま
れるベンド情報等によって装飾を加えることができる。The fundamental frequency calculation section 17 reads out the tone waveform stored in the tone waveform storage section 18 provided in the ROM 7 in accordance with the key code, and determines the fundamental frequency based on the performance information. The fundamental frequency is supplied to the sound channel area 13. A decoration can be added to the fundamental frequency by using bend information or the like included in the performance information.
【0025】MIDI情報は、予め定めた手順により、
アサイナ19によって各発音チャネルに割り当てられ
る。発音チャネル領域13では、アサイナ19によって
割り当てられた各発音チャネル毎に、基本周波数にディ
レイビブラート周波数が加算されて楽音信号が生成され
る。楽音信号はサウンドシステム10に出力される。The MIDI information is obtained by a predetermined procedure.
Assigned to each sounding channel by the assigner 19. In the sound channel area 13, a tone signal is generated by adding the delay vibrato frequency to the fundamental frequency for each sound channel assigned by the assigner 19. The tone signal is output to the sound system 10.
【0026】次に、上述の機能に基づく電子楽器の動作
をフローチャートを参照して説明する。図4はメインル
ーチンのフローチャートである。電源が投入された後、
ステップS1では、CPU3、RAM8、楽音発生部9
を構成するLSI等を初期化する。ステップS2のスイ
ッチイベント処理では、音色を指定するスイッチ等の状
態を読み込んで処理をする。ステップS3の鍵盤イベン
ト処理では、キー1aに対応して設けられたセンサ1b
で検出されたキーコードやベロシティ情報等を読み込ん
で処理をする。ステップS4のMIDI処理では、MI
DIインタフェース6を通じて入力されるMIDI情報
を読み込んで処理をする。ステップS5のビブラート処
理では上述の機能(図1)に基づくビブラート波形の生
成処理を行う。ステップS6のその他の処理では、必要
に応じて音響効果を与えるための種々の処理を行う。な
お、必要に応じて自動演奏処理を行うこともできる。Next, the operation of the electronic musical instrument based on the above functions will be described with reference to flowcharts. FIG. 4 is a flowchart of the main routine. After the power is turned on,
In step S1, the CPU 3, the RAM 8, the musical sound generator 9
Is initialized. In the switch event process of step S2, the state of a switch or the like for specifying a tone color is read and processed. In the keyboard event process of step S3, the sensor 1b provided corresponding to the key 1a
The key code and the velocity information detected in the step are read and processed. In the MIDI processing of step S4, the MI
The MIDI information input through the DI interface 6 is read and processed. In the vibrato process in step S5, a process of generating a vibrato waveform based on the above-described function (FIG. 1) is performed. In the other processes in step S6, various processes for giving a sound effect are performed as necessary. Note that an automatic performance process can be performed as needed.
【0027】次に、発音開始時処理を図5のフローチャ
ートを参照して説明する。この発音開始時処理は、キー
オンまたはMIDI情報の入力時に実行される。ステッ
プS10では、基本周波数計算部17において、発音す
る音のキーナンバ、オクターブ変更情報、トランスポー
ズ情報等に基づき、楽音波形記憶部18の楽音波形に基
づいて基本周波数の計算をする。前記キーナンバ、オク
ターブ変更情報、トランスポーズ情報等はベンドやビブ
ラート等、発音中の音程変化の処理にも使用するため、
バッファに保持される。ステップS11では、前記基本
周波数にベンド情報やチューニング変更情報等、音程に
関する情報を加算する。これらの情報は発音中に変更可
能なものであり、ここでは発音開始時点に加算されるべ
き予定の情報を加算する。Next, the tone generation start process will be described with reference to the flowchart of FIG. This sound generation start process is executed when key-on or MIDI information is input. In step S10, the fundamental frequency calculation unit 17 calculates the fundamental frequency based on the tone waveform in the tone waveform storage unit 18 based on the key number, octave change information, transpose information, and the like of the sound to be emitted. Since the key number, octave change information, transpose information, and the like are also used for processing pitch changes during sounding, such as bends and vibratos,
It is held in a buffer. In step S11, information on a pitch, such as bend information or tuning change information, is added to the fundamental frequency. These pieces of information can be changed during sound generation. Here, information to be added at the start of sound generation is added.
【0028】ステップS12では、テーブル等により音
色毎に予め設定されたデータを参照して、発音する音の
パートに割当てられた音がディレイビブラートのパート
か否かを判別する。判別結果はチェックフラグに記憶さ
れる。ディレイビブラートパートでないと判断された場
合は、ステップS13に移行して通常のビブラートをか
けるためのデータを設定する。つまり、発音開始から終
了まで予め設定された一定の深さでビブラートをかける
ためのデータを設定する。In step S12, it is determined whether or not the sound assigned to the sounding part is a delay vibrato part by referring to data set in advance for each timbre from a table or the like. The determination result is stored in the check flag. If it is determined that the part is not a delay vibrato part, the process proceeds to step S13 to set data for applying normal vibrato. In other words, data for applying vibrato at a preset constant depth from the start to the end of sound generation is set.
【0029】一方、ディレイビブラートパートである場
合は、ステップS14に進み、ディレイビブラート計算
用のバッファが空いているか否かを判別する。これは、
計算用バッファの空き状態を示すバッファチェックフラ
グFに基づいて判別される。バッファチェックフラグF
はメインルーチン内で設定(後述)される。計算用バッ
ファが空いていれば、ステップS15に進んで計算用バ
ッファ使用中を示すフラグFをセットし、ステップS1
6では計算用バッファを確保する。ステップS17で
は、ディレイタイムDTを計数するカウンタをスタート
する。On the other hand, if it is the delay vibrato part, the process proceeds to step S14, and it is determined whether or not the buffer for delay vibrato calculation is empty. this is,
The determination is made based on the buffer check flag F indicating the empty state of the calculation buffer. Buffer check flag F
Is set in the main routine (described later). If the calculation buffer is free, the process proceeds to step S15, where a flag F indicating that the calculation buffer is being used is set, and step S1 is executed.
In step 6, a calculation buffer is reserved. In step S17, a counter for counting the delay time DT is started.
【0030】計算用バッファが空いていなければ、ステ
ップS14からステップS18に進み、当該パートにお
けるビブラート深さ現在値をビブラート深さとして設定
する。すなわち、計算用バッファが空いていないとうこ
とは、該パート内で、ビブラートが定常状態になってい
ない音があることを意味し、ここでは、この定常状態に
なっていない音のビブラート深さにならって、その次に
発生すべき音のビブラート深さを決定する。If the calculation buffer is not empty, the flow advances from step S14 to step S18 to set the current value of the vibrato depth of the part as the vibrato depth. That is, the fact that the calculation buffer is not empty means that there is a sound in the part where the vibrato is not in a steady state, and here, the sound follows the vibrato depth of the sound in which the vibrato is not in a steady state. Then, the vibrato depth of the sound to be generated next is determined.
【0031】つづいて、図6を参照してメインルーチン
におけるビブラート処理についてさらに説明する。ステ
ップS50では、ディレイビブラートパートか否かを判
別する。この判別は前記発音開始時処理において記憶さ
れた判別結果を示すチェックフラグを参照して行う。ス
テップS51では、割り込み処理で減算された前記ディ
レイタイムDTのカウンタ値が「0」か否かにより、デ
ィレイタイムDTが経過したか否かを判断する。Next, the vibrato process in the main routine will be further described with reference to FIG. In step S50, it is determined whether or not the part is a delay vibrato part. This determination is made with reference to a check flag indicating the determination result stored in the tone generation start process. In step S51, it is determined whether or not the delay time DT has elapsed based on whether or not the counter value of the delay time DT subtracted in the interrupt processing is "0".
【0032】ディレイタイムDTが経過したならば、ス
テップS52に進み、ビブラートの深さが予定の最大深
さBdに達したか否かを判断する。最大深さBdに達し
ていない場合は、ステップS53に進み、ビブラート深
さの現在値に単位増加量Δdを加算した値が最大深さB
dに達したか否かを判断する。この判断が肯定ならば、
ビブラートは定常状態に達していないと判断し、ステッ
プS54に進んで前記現在値に単位増加量Δdを加算し
た値でビブラート深さを更新する。If the delay time DT has elapsed, the flow advances to step S52 to determine whether or not the vibrato depth has reached a predetermined maximum depth Bd. If the maximum depth Bd has not been reached, the process proceeds to step S53, and the value obtained by adding the unit increase amount Δd to the current value of the vibrato depth is the maximum depth Bd.
It is determined whether or not d has been reached. If this judgment is affirmative,
It is determined that the vibrato has not reached the steady state, and the flow advances to step S54 to update the vibrato depth with a value obtained by adding the unit increment Δd to the current value.
【0033】ステップS53の判断が否定ならば、ビブ
ラートは定常状態に達したと判断してステップS55に
進み、最大値Bdをビブラート深さとして設定すると同
時に計算用バッファを開放する。ステップS56では、
計算用バッファが開放されていることを表すため、フラ
グFに「0」をセットする。ステップS57では、上述
のビブラート深さでビブラートをかけるための計算を行
う。If the determination in step S53 is negative, it is determined that the vibrato has reached the steady state, and the flow advances to step S55 to set the maximum value Bd as the vibrato depth and release the calculation buffer. In step S56,
The flag F is set to "0" to indicate that the calculation buffer is released. In step S57, calculation for applying vibrato at the above-described vibrato depth is performed.
【0034】つづいて、上記ビブラート計算をさらに詳
細に説明する。図7はビブラート基本波形の1周期分を
示す図であり、一例として鋸歯状波を示す。同図におい
て、横軸は時間であり、縦軸は変位である。各時間毎の
変位はデジタルデータとして記憶しているため階段状で
表されている。Next, the vibrato calculation will be described in more detail. FIG. 7 is a diagram showing one period of the vibrato basic waveform, and shows a sawtooth wave as an example. In the figure, the horizontal axis is time, and the vertical axis is displacement. Since the displacement at each time is stored as digital data, it is represented in a step-like manner.
【0035】図8は、前記ビブラート基本波形および前
記ビブラート深さに基づくビブラート計算のフローチャ
ートである。ステップS571では、割込みタイマのカ
ウンタ値に基づき、図7の基本ビブラート波形から変位
を読み出す。ステップS572では、加算周波数つまり
ビブラートの周波数を計算する。ここでは、抽出された
前記変位に前記ビブラート深さを乗算して、現在のビブ
ラート深さを計算する。すなわち、前記タイミングt1
〜t2(図3)で乗算されるビブラート深さは「0」で
あり、タイミングt2〜t3で乗算されるビブラート深
さは、そのタイミングに応じて「0」〜「Bd」の間の
値である。そして、前記現在のビブラート深さに基づい
てビブラート波形の周波数を算出する。ビブラート深さ
に基づく周波数の算出手段は、例えばVCOによって実
現できる。ステップS573では、算出された加算周波
数を、前記ステップS10で算出された基本周波数に加
算し、発音チャネル領域13に書き込む。FIG. 8 is a flowchart of the vibrato calculation based on the vibrato basic waveform and the vibrato depth. In step S571, displacement is read from the basic vibrato waveform in FIG. 7 based on the counter value of the interrupt timer. In step S572, an addition frequency, that is, a vibrato frequency is calculated. Here, a current vibrato depth is calculated by multiplying the extracted displacement by the vibrato depth. That is, the timing t1
The vibrato depth multiplied at time t2 (FIG. 3) is “0”, and the vibrato depth multiplied at timing t2 to t3 is a value between “0” and “Bd” according to the timing. is there. Then, the frequency of the vibrato waveform is calculated based on the current vibrato depth. The frequency calculating means based on the vibrato depth can be realized by, for example, a VCO. In step S573, the calculated addition frequency is added to the fundamental frequency calculated in step S10, and the result is written in the sound generation channel area 13.
【0036】以上のビブラート処理は発音チャネル毎に
時分割処理されるが、ディレイビブラート計算用のバッ
ファは、例えばMIDIチャネル毎つまりパート毎に共
通で使用するように設定しておくものとする。The above-described vibrato processing is time-division-processed for each sounding channel. However, it is assumed that the buffer for calculating the delay vibrato is set so as to be commonly used for each MIDI channel, that is, for each part.
【0037】以上のように、本実施形態では、ディレイ
ビブラート深さの計算は、ビブラートの深さが予定の最
大値Bdになるまで行い、その後は計算によらず、固定
値として記憶されている最大値Bdに基づいてビブラー
ト波形の周波数を計算することができるのでビブラート
深さ計算用のバッファは解放できる。解放されたバッフ
ァはその後に発生した楽音信号に対応するディレイビブ
ラート深さの計算に使用できるので、ディレイビブラー
ト深さ計算用バッファの領域を大きくとらないですむ。
ディレイビブラート深さ計算用のバッファは、上述のよ
うに、MIDIチャネル毎つまり音色毎またはパート毎
に対応して設けるようにすればよい。As described above, in this embodiment, the calculation of the delay vibrato depth is performed until the vibrato depth reaches the predetermined maximum value Bd, and thereafter, the delay vibrato is stored as a fixed value regardless of the calculation. Since the frequency of the vibrato waveform can be calculated based on the maximum value Bd, the buffer for calculating the vibrato depth can be released. Since the released buffer can be used for calculating the delay vibrato depth corresponding to the tone signal generated thereafter, the area of the delay vibrato depth calculation buffer does not need to be large.
The buffer for calculating the delay vibrato depth may be provided for each MIDI channel, that is, for each tone color or each part, as described above.
【0038】なお、本実施形態では、MIDI情報に従
ってディレイビブラートをかける場合を想定したが、キ
ーから入力される演奏情報に基づいてディレイビブラー
トをかける場合にも適用できるのはもちろんである。In this embodiment, it is assumed that delay vibrato is applied according to MIDI information. However, it is needless to say that delay vibrato can be applied based on performance information input from a key.
【0039】[0039]
【発明の効果】以上の説明から明らかなように、請求項
1および請求項2の発明では、先発のディレイビブラー
トが一定深さの持続区間に達した後に発生した後発のビ
ブラート波形は完全なディレイビブラート波形となるの
で、違和感のない自然な効果としてのディレイビブラー
トになる。As is apparent from the above description, according to the first and second aspects of the present invention, the subsequent vibrato waveform generated after the preceding delay vibrato reaches the duration of a certain depth is completely delayed. Since it becomes a vibrato waveform, it becomes a delay vibrato as a natural effect without discomfort.
【0040】また、前記持続区間に達するまでに発生し
た後発のディレイビブラート波形のための計算は簡略化
できるので、結果的にはディレイビブラート波形計算用
のバッファを小容量にすることができる。Further, the calculation for the delayed vibrato waveform that occurs until the end of the duration can be simplified, and as a result, the buffer for calculating the delay vibrato waveform can be reduced in capacity.
【図1】 本発明の実施形態に係る電子楽器の要部機能
を示すブロック図である。FIG. 1 is a block diagram illustrating main functions of an electronic musical instrument according to an embodiment of the present invention.
【図2】 本発明の実施形態に係る電子楽器のハード構
成を示すブロック図である。FIG. 2 is a block diagram showing a hardware configuration of the electronic musical instrument according to the embodiment of the present invention.
【図3】 ディレイビブラート波形の一例を示す図であ
る。FIG. 3 is a diagram illustrating an example of a delay vibrato waveform.
【図4】 本発明の実施形態に係る電子楽器の動作を示
すメインフローチャートである。FIG. 4 is a main flowchart showing an operation of the electronic musical instrument according to the embodiment of the present invention.
【図5】 ビブラート深さ計算のフローチャートであ
る。FIG. 5 is a flowchart of vibrato depth calculation.
【図6】 ビブラート処理のフローチャートである。FIG. 6 is a flowchart of a vibrato process.
【図7】 ビブラート波形の一例を示す図である。FIG. 7 is a diagram illustrating an example of a vibrato waveform.
【図8】 ビブラート計算のフローチャートである。FIG. 8 is a flowchart of vibrato calculation.
【図9】 従来技術に係るディレイビブラート波形の一
例を示す図である。FIG. 9 is a diagram illustrating an example of a delay vibrato waveform according to the related art.
【符号の説明】 1…鍵盤装置、 6…MIDIインタフェース、 9…
楽音発生部、 11…ディレイビブラート情報記憶部、
12…ディレイビブラート計算部、 13…発音チャ
ネル領域、 14…計算結果記憶部[Description of reference numerals] 1 ... keyboard device, 6 ... MIDI interface, 9 ...
Tone generator, 11 ... Delay vibrato information storage,
12: delay vibrato calculation unit, 13: sound generation channel area, 14: calculation result storage unit
Claims (2)
区間、該遅延区間に続くビブラート深さ増加区間、なら
びにビブラート深さが一定値に維持された持続区間から
なるディレイビブラート効果を付加することができる電
子楽器において、 ビブラート深さを計算する計算手段と、 前記計算手段で計算されたビブラート深さを記憶する記
憶手段と、 前記計算手段で計算されたビブラート深さに対応するビ
ブラート周波数を基本波形の基本周波数に加算する周波
数加算手段とを具備し、 前記持続区間では予め設定されたビブラート深さを使用
するようにして、後発の楽音に対応するビブラート深さ
計算のため前記計算手段および記憶手段を解放するとと
もに、 先発のディレイビブラートの遅延区間および増加区間に
おいて後発のディレイビブラート要求が発生した場合
は、前記記憶手段に記憶されたビブラート深さに基づい
てディレイビブラートをかけ、 先発のディレイビブラートの持続区間において後発のデ
ィレイビブラート要求が発生した場合は、前記計算手段
で計算したビブラート深さに基づいて該後発のディレイ
ビブラート要求に対応したディレイビブラートをかける
ように構成したことを特徴とする電子楽器。1. A delay vibrato effect comprising a delay section from the generation of a musical tone to the start of vibrato, a vibrato depth increasing section following the delay section, and a duration section in which the vibrato depth is maintained at a constant value can be added. In the electronic musical instrument, calculating means for calculating a vibrato depth, storage means for storing the vibrato depth calculated by the calculating means, and a vibrato frequency corresponding to the vibrato depth calculated by the calculating means, Frequency adding means for adding to a fundamental frequency, wherein the duration section uses a preset vibrato depth, and the calculating means and the storage means for calculating a vibrato depth corresponding to a subsequent tone. Release, and the later delay vib in the delay section and the increase section of the first delay vibrato When a delay request is generated, a delay vibrato is applied based on the vibrato depth stored in the storage means, and when a subsequent delay vibrato request is generated in the duration of the preceding delay vibrato, the calculation means uses the delay vibrato. An electronic musical instrument configured to apply delay vibrato corresponding to the subsequent delay vibrato request based on the calculated vibrato depth.
徴とする請求項1記載の電子楽器。2. The electronic musical instrument according to claim 1, wherein said calculation means is provided for each tone color.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09449197A JP3583575B2 (en) | 1997-03-31 | 1997-03-31 | Electronic musical instrument |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09449197A JP3583575B2 (en) | 1997-03-31 | 1997-03-31 | Electronic musical instrument |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10274982A true JPH10274982A (en) | 1998-10-13 |
JP3583575B2 JP3583575B2 (en) | 2004-11-04 |
Family
ID=14111777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09449197A Expired - Fee Related JP3583575B2 (en) | 1997-03-31 | 1997-03-31 | Electronic musical instrument |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3583575B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004111993A1 (en) * | 2003-06-13 | 2004-12-23 | Sony Corporation | Signal combination method and device, singing voice synthesizing method and device, program and recording medium, and robot device |
-
1997
- 1997-03-31 JP JP09449197A patent/JP3583575B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004111993A1 (en) * | 2003-06-13 | 2004-12-23 | Sony Corporation | Signal combination method and device, singing voice synthesizing method and device, program and recording medium, and robot device |
Also Published As
Publication number | Publication date |
---|---|
JP3583575B2 (en) | 2004-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7396992B2 (en) | Tone synthesis apparatus and method | |
JPH09127941A (en) | Electronic musical instrument | |
JPH09114462A (en) | Musical sound generating method | |
JP3583575B2 (en) | Electronic musical instrument | |
US6031173A (en) | Apparatus for generating musical tones using impulse response signals | |
JP3634130B2 (en) | Musical sound generating apparatus and musical sound generating method | |
JP3019755B2 (en) | Music sound generation method and music sound generation device | |
JP2701177B2 (en) | Tone generator | |
JP2715795B2 (en) | Musical sound synthesizer having pronunciation assigning means | |
JPH09179561A (en) | Musical tone generating method | |
JP3122661B2 (en) | Electronic musical instrument | |
JP3660125B2 (en) | Electronic musical instrument sound image localization control device | |
JP3409333B2 (en) | Music generator | |
JP2646812B2 (en) | Electronic musical instrument | |
US5895879A (en) | Musical tone-generating method and apparatus capable of approximating envelope characteristic of a waveform of a musical tone by a polygonal line | |
JP3652504B2 (en) | Electronic instrument reverberation effect adding device | |
JP2853588B2 (en) | Electronic musical instrument | |
JP2833485B2 (en) | Tone generator | |
JPH05181479A (en) | Sound generation channel assignment device of electronic musical instrument | |
JP2626474B2 (en) | Tone generator | |
JP3090383B2 (en) | Tone assigning device and tone generating device | |
JP3316530B2 (en) | Music control device | |
JP2674476B2 (en) | Electronic musical instrument | |
JP3716701B2 (en) | Sound channel assignment method and apparatus | |
JPH0863160A (en) | Envelop generator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040628 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040727 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040729 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |