JPH0519756A - エンベロープ波形生成装置 - Google Patents

エンベロープ波形生成装置

Info

Publication number
JPH0519756A
JPH0519756A JP3159250A JP15925091A JPH0519756A JP H0519756 A JPH0519756 A JP H0519756A JP 3159250 A JP3159250 A JP 3159250A JP 15925091 A JP15925091 A JP 15925091A JP H0519756 A JPH0519756 A JP H0519756A
Authority
JP
Japan
Prior art keywords
data
envelope waveform
envelope
loudness
waveform
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.)
Pending
Application number
JP3159250A
Other languages
English (en)
Inventor
Tsutomu Saito
勉 斉藤
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.)
Kawai Musical Instrument Manufacturing Co Ltd
Original Assignee
Kawai Musical Instrument Manufacturing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kawai Musical Instrument Manufacturing Co Ltd filed Critical Kawai Musical Instrument Manufacturing Co Ltd
Priority to JP3159250A priority Critical patent/JPH0519756A/ja
Publication of JPH0519756A publication Critical patent/JPH0519756A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 (修正有) 【目的】本発明は、エンベロープ波形の演算結果をシフ
トするにあたり、このシフト内容を、エンベロープ波形
のレベル値が大きくなるときと、エンベロープ波形のレ
ベル値が小さくなるときとで異ならせることにより、エ
ンベロープ波形のシフト内容を、エンベロープ波形の一
部のフェーズで相殺する必要がなくなり、データ処理内
容をシンプルににしたものである。 【構成】エンベロープ発生器11で生成されたエンベロ
ープ波形データENは、セレクタ12、波形乗算器13
を介して、シフタ15で、エンベロープ波形データEN
の上位データaに応じてシフトダウンされる。このダウ
ンシフト量は、エンベロープ波形データEN(上位デー
タa)が小さくなるに従って大きくなる。これにより、
デイケイ、リリースの波形が実現される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はエンベロープ波形生成装
置に関し、特にエンベロープデータをシフトすることに
より曲線形状のエンベロープ波形を生成する装置に関す
る。
【0002】
【従来技術】従来、このようなエンベロープ波形生成装
置としては、特開平2−126292〜4各号(特願昭
63−281100〜2各号)の各公報に記載されたも
のがある。この公報に記載されたエンベロープ波形生成
装置においては、エンベロープ波形生成のスピードを表
わすエンベロープスピードデータが順次累算され、この
エンベロープ累算データが大きくなるに従って、上記エ
ンベロープスピードデータがシフトされて小さくなる。
【0003】ここで、エンベロープ累算データ(16ビ
ット)は、上記4ビットの指数データと下位12ビット
の仮数データとに分割され、下位12ビットの仮数デー
タと波形データとを乗算した結果を、上位4ビットの指
数データの値に基づいてシフトを行っている。これによ
り、累算回路と比較回路だけで、エンベロープ波形デー
タを生成することができ、乗算回路は不要となって、回
路構成をコンパクトにでき、演算速度も速くなる。ま
た、エンベロープデータと波形データとの乗算を行う乗
算器は、12ビット×12ビットの大きさに押さえ、し
かも量子化12ビット/ダイナミックレンジ16ビット
(96dB)の楽音波形を得ることができる。
【0004】
【発明が解決しようとする課題】ところで、エンベロー
プ波形は、アタックフェーズの形状を逆エクスポーネン
シャルまたはリニアな形状にしつつ、ディケイフェーズ
またはリリースフェーズの形状をエクスポーネンシャル
またはリニアな形状にすることが望ましい。このため上
記従来のエンベロープ波形生成装置は、エンベロープ累
算データ全体をシフトダウンする回路のほか、アタック
フェーズにおいてこのシフトダウンを相殺して、アタッ
クフェーズのエンベロープスピードデータをシフトアッ
プする回路が必要であった。
【0005】さらに、従来では音量を制御するラウドネ
スデータの補間を行っていなかったため、ラウドネスデ
ータの急激な変化に対し、聴覚上違和感が生じ、しかも
アフタータッチ情報またはインシャルタッチ情報をラウ
ドネスデータとして使用することが困難であった。
【0006】これに対し、本発明は従来の利点をそのま
ま生かしながら、エンベロープ波形生成装置のデータ処
理内容をシンプルにし、演算速度も速いエンベロープ波
形生成装置を提供することを目的としている。また、ラ
ウドネスデータの急激な変化に対し、聴覚上違和感が生
じないエンベロープ波形生成装置を提供することも目的
としている。
【0007】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、エンベロープ波形の演算結果をシフトす
るにあたり、このシフト内容を、エンベロープ波形のレ
ベル値が大きくなるときと、エンベロープ波形のレベル
値が小さくなるときとで異ならせるようにした。また、
楽音の音量を示す新たなラウドネスデータが発生された
とき、古いラウドネスデータからこの新たなラウドネス
データに向かって段階的に補間を行い、この補間したラ
ウドネスデータをエンベロープ波形データに対し順次演
算して合成するようにした。
【0008】
【作用】これにより、エンベロープ波形のシフト内容
を、エンベロープ波形の一部のフェーズで相殺する必要
がなくなり、データ処理内容をシンプルにすることがで
きる。また、ラウドネスデータの急激な変化があって
も、古いラウドネスデータからこの新たなラウドネスデ
ータに向かって段階的に補間を行い、ラウドネスデータ
の急激な変化を緩和して、聴覚上違和感が生じないよう
にすることができる。
【0009】
【実施例】1.全体回路 図1は電子楽器の全体回路を示している。キーボード1
の各キーは、キースキャン回路2によってスキャンさ
れ、キーオン、キーオフを示すデータが検出され、CP
U5によってRAM6に書き込まれる。そして、それま
でRAM6に記憶されていた各キーのオン、オフの状態
を示すデータと比較され、各キーのオンイベント、オフ
イベントの判別が、CPU5によって行われる。なお、
上記キーボード1は、電子弦楽器、電子吹奏(管)楽
器、電子打楽器(パッド等)、コンピュータのキーボー
ド等で代用してもよい。
【0010】パネルスイッチ群3の各キーは、パネルス
キャン回路4によって、スキャンされる。このスキャン
により、各キーのオン、オフを示すデータが検出され、
CPU5によってRAM6に書き込まれる。そして、そ
れまでRAM6に記憶されていた各キーのオン、オフの
状態を示すデータと比較され、各キーのオンイベント、
オフイベントの判別が、CPU5によって行われる。
【0011】RAM6には、上述したデータのほか、各
種処理データも記憶され、さらに後述するパラメータレ
ジスタ群100も形成されている。ROM7には、CP
U5が各種処理を行うためのプログラムが記憶されてい
る。
【0012】トーンジェネレータ8では、上記キーボー
ド1及びパネルスイッチ群3から入力されたキーナンバ
(音高)、タッチ、トーンナンバ(音色)等の楽音情報
に応じた楽音データが生成される。このトーンジェネレ
ータ8には、複数チャンネル分、例えば16チャンネル
分またはそれ以上の楽音生成系が時分割処理により形成
されており、楽音をポリフォニックに発音させることが
できる。上記楽音データはサウンドシステム9へ送出さ
れて発音される。
【0013】上記各チャンネルに割り当てられる上記楽
音情報はアサインメントメモリ10に記憶される。この
アサインメントメモリ10には、ROM7やRAM6に
記憶され、順次読み出される自動演奏情報に応じた楽音
情報や、ミディインタフェースを介して送られてくる楽
音情報等もセットされる。このアサインメントメモリ1
0は、RAM6内やトーンジェネレータ8内に設けても
よい。このアサインメントメモリ10への楽音情報のセ
ットは、キーオン時に行われ、後述するエンベロープ波
形の生成が開始される。
【0014】2.トーンジェネレータ8 図2はトーンジェネレータ8の全体回路を示すものであ
る。エンベロープ発生器11では複数のエンベロープ波
形データENが時分割に演算される。この演算によって
生成されるエンベロープ波形の形状は図3に示すように
直線状である。この演算は、エンベロープ波形のアタッ
クフェーズでは増大する演算であり、デイケイフェー
ズ、リリースフェーズでは減小する演算であり、サステ
ィンフェーズでは一定演算値が保持される。このエンベ
ロープ波形データENは、16ビットデータであり、こ
のうちセレクタ12で、12ビットのデータが選択さ
れ、波形乗算器13に送られて、波形発生器14からの
波形データWFが乗算される。
【0015】セレクタ12では、図4に示すように、ア
タックフェーズの増大演算時には、16ビットのエンベ
ロープ波形データENのうち上位12ビット(a3 〜a
0 、b11〜b4 )が選択され、デイケイフェーズ、リリ
ースフェーズの減小演算時には、16ビットのエンベロ
ープ波形データENのうち最下位ビットLSBを除いた
下位11ビット(b11〜b1 )が選択される。この下位
11ビットは、上位に“1”が付加され12ビットデー
タとなる。このような選択はアタックデータatに基づ
いて行われる。アタックデータatはアタックフェーズ
のときのみ「1」となる1ビットデータである。
【0016】波形乗算器13で乗算された楽音波形デー
タMWは、シフタ15で、データシフトが行われて、図
5に示すように、エンベロープ波形のリリースフェーズ
の形状が曲線状となる。このデータシフトは、エンベロ
ープ波形データENの上位4ビットの上位データaと上
記アタックデータatに基づいて行われる。アタックデ
ータatは上述したように、アタックフェーズのときの
み「1」となる1ビットデータであり、デイケイフェー
ズとリリースフェーズのときのみ、楽音波形データMW
に対してデータシフトが行われる。また上位データaの
値が小さいほど、シフト量は大きくなり、図5に示すよ
うな曲線状のデイケイフェーズ、リリースフェーズの形
状が実現される。
【0017】シフタ15でシフトされた楽音波形データ
MWは、ラウドネス乗算器16でラウドネスデータLN
が乗算されて、設定音量に応じた大きさにされ、累算器
18で16チャンネル分の楽音波形データMWが累算さ
れ、D−A変換器17でアナグロデータに変換されて出
力される。なお、累算器17を省略して、D−A変換器
17の次にサンプリング/ホールド回路を設けてもよ
い。
【0018】上記ラウドネスデータLNは、ラウドネス
レジスタ19より出力される。ラウドネスレジスタ19
は、16段のシフトレジスタであり、各チャンネルに割
り当てられた楽音の音量を示すラウドネスデータLNが
セットされる。なお、このラウドネスレジスタ19は1
5段以下のレジスタとして、音量レベルを複数の楽音に
ついて同じとしてもよい。このラウドネスデータLNの
セッティングは、パネルスイッチの各音色、音域ごとに
操作される音量レバーによってセットされたり、読み出
された自動演奏データ内のラウドネスデータLNがその
ままセットされたり、これらのデータにタッチデータを
付加または演算したデータがセットされたりする。
【0019】ラウドネスデータLNは8ビットデータで
あり、これに1ビットデータの補間指示データimpが
付加されており、ラウドネスデータLNは時間の経過に
応じて変化する。そして、ラウドネス補間器20で補間
されて12ビットデータとして出力され、上記ラウドネ
ス乗算器16に入力される。ラウドネス乗算器16は、
波形発生器14と波形乗算器13との間、またはセレク
タ12と波形乗算器13との間に設けてもよい。また、
ラウドネス乗算器16、波形乗算器13は、データの形
式によっては、加算器等で代用することも可能である。
さらに、シフタ15はセレクタ12と波形乗算器13と
の間またはラウドネス乗算器16と累算器17との間に
設けてもよい。
【0020】3.エンベロープ発生器11 図6はエンベロープ発生器11を示している。エンベロ
ープ波形の各フェーズの演算ステップ量を示す各アタッ
クフェーズスピードデータSPD0、デイケイフェーズ
スピードデータSPD1、リリースフェーズスピードデ
ータSPD2は、セレクタ22でいずれか1つが選択さ
れ、イクスクルシブオアゲート群23を介し、アダー2
4でそれまでのエンベロープ波形データENに加算さ
れ、セレクタ26を介し、エンベロープレジスタ27に
セットされる。このエンベロープレジスタ27には16
チャンネル分のエンベロープ波形データENが記憶さ
れ、順次時分割にシフトされて出力され、上記アダー2
4に入力される。
【0021】また、エンベロープ波形の各フェーズの演
算目標値を示す各アタックフェーズ目標データLVL
0、デイケイフェーズ目標データLVL1、リリースフ
ェーズ目標データLVL2は、セレクタ21でいずれか
1つが選択され、コンパレータ25に与えられる。この
コンパレータ25には、上記アダー24からのエンベロ
ープ波形データENも与えられており、エンベロープ波
形データENがフェーズ目標データLVLに一致すると
一致信号agが出力される。この一致信号agは、上記
セレクタ26に与えられ、エンベロープ波形データEN
として上記フェーズ目標データLVLが選択される。
【0022】この一致信号agは、フェーズインクリメ
ンタ28にも与えられて、フェーズデータPHが+1さ
れる。フェーズデータPHは、エンベロープ波形のアタ
ックフェーズ(00)、デイケイフェーズ(サスティン
フェーズ)(01)、リリースフェーズ(10)を示す
データである。このフェーズデータPHは、コンパレー
タ25からの一致信号agまたはオン/オフ信号ON/
OFFによって歩進される。フェーズデータPHは、上
記セレクタ21、22に与えられて、各フェーズに応じ
たフェーズ目標データLVL、フェーズスピードデータ
SPDが選択される。
【0023】また、フェーズデータPHは2ビットデー
タであるが、各ビットデータはオアゲート29を介し
て、上記イクスクルシブオアゲート群23の各ゲートに
与えられるとともに、上記アダー24のCin端子に入
力される。これにより、エンベロープフェーズがデイケ
イフェーズ(01)、リリースフェーズ(10)のと
き、フェーズスピードデータSPDがエンベロープ波形
データENに対し減算され、エンベロープ波形のレベル
値が小さくなるように演算される。また、エンベロープ
フェーズがアタックフェーズ(00)のとき、フェーズ
スピードデータSPDがエンベロープ波形データENに
対し加算され、エンベロープ波形のレベル値が大きくな
るように演算される。
【0024】上記オアゲート29の出力は、上述したア
タックデータatとして出力される。また、上記各フェ
ーズ目標データLVLのうち、アタックフェーズ目標デ
ータLVL0は、「11…1」であり、リリースフェー
ズ目標データLVL2は「00…0」であり、デイケイ
フェーズ目標データLVL1は「11…1」と「00…
0」の間の任意の値に設定される。このデイケイフェー
ズ目標データLVL1は、エンベロープ波形のサスティ
ンレベルと同じである。
【0025】4.フェーズインクリメンタ28 図7は、フェーズインクリメンタ28を示している。フ
ェーズレジスタ31には16チャンネル分のフェーズデ
ータPHが記憶され、順次時分割にシフトされて出力さ
れ、図7の論理ゲート群を介して帰還入力される。上記
オン/オフ信号ON/OFFは、インバータ32、アン
ドゲート33、オアゲート35を介して、フェーズデー
タPHの上位ビットデータとしてフェーズレジスタ31
に入力される。
【0026】また、コンパレータ25からの一致信号a
gは、アンドゲート34、オアゲート36を介して、フ
ェーズデータPHの下位ビットデータとしてフェーズレ
ジスタ31に入力される。これにより、一致信号agが
与えられたとき、フェーズデータPHはデイケイ(0
1)とされ、オン/オフ信号ON/OFFがオフ状態と
なったとき、フェーズデータPHはリリース(10)と
される。
【0027】また、オン/オフ信号ON/OFFの反転
信号と、一致信号agとは、ナンドゲート37を介し、
上記アンドゲート34に与えられる。これにより、一致
信号agが与えられると同時に、オン/オフ信号ON/
OFFがオフ状態になると、アンドゲート34が閉成さ
れ、フェーズデータPHは“11”とはならず、リリー
ス(10)とされる。さらに、オン/オフ信号ON/O
FFと、一致信号agがインバータ39を介した反転信
号と、フェーズデータPHの下位ビットデータとは、ア
ンドゲート40を介し、上記オアゲート36を経て、フ
ェーズデータPHの下位ビットデータとしてフェーズレ
ジスタ31に入力される。
【0028】これにより、フェーズデータPHがデイケ
イ(01)のときは、オン/オフ信号ON/OFFがオ
ン状態で、一致信号agが“0”であっても、フェーズ
データPHは“00”とならず、“01”が保持され
る。フェーズデータPHの上位ビットデータは、インバ
ータ41を介し、上記アンドゲート33、34に開成信
号として与えられる。従って、上述したオン/オフ信号
ON/OFF及び一致信号agがフェーズデータPHと
して使用されるのは、フェーズデータPHがアタック
(00)、デイケイ(01)のときに限られる。
【0029】一方、フェーズレジスタ31からのフェー
ズデータPHは、アンドゲート42、43を介し、上記
オアゲート35、36を介して、フェーズレジスタ31
に帰還入力される。ここで、フェーズデータPHの上位
ビットデータと、フェーズデータPHの下位ビットデー
タがインバータ44を介した反転信号とは、アンドゲー
ト45を介し、上記アンドゲート42、43に開成信号
として与えられる。これにより、フェーズデータPHが
リリース(10)になったときは、アンドゲート33、
34が閉成され、アンドゲート42、43が開成され
て、リリース(10)が保持される。
【0030】また、上記アンドゲート45の出力とオン
/オフ信号ON/OFFとは、ナンドゲート38を介
し、上記アンドゲート42に開成信号として与えられ
る。これにより、フェーズデータPHがリリース(1
0)のとき、オン/オフ信号ON/OFFが“1”にな
ると、アンドゲート42が閉じられて、フェーズデータ
PHはアタック(00)となる。
【0031】5.ラウドネス補間器20 図8はラウドネス補間器20を示している。上記ラウド
ネスレジスタ19より出力された各ラウドネスデータL
Nは、セレクタ53を介し、補間ラウドネスレジスタ5
4に記憶される。この補間ラウドネスレジスタ54に
は、16チャンネル分の補間ラウドネスデータLNSが
記憶され、順次時分割にシフトされて出力され、アダー
52で+1または−1されて、上記セレクタ53を介
し、再び上記補間ラウドネスレジスタ54に記憶され
る。
【0032】上記セレクタ53に与えられるラウドネス
データLNは、8ビットデータであるが、下位側に“0
000”が付加されて、12ビットデータとして出力さ
れる。このセレクタ53には、上記ラウドネスレジスタ
19からの補間指示データimpがセレクト信号として
与えられ、補間するときは(1)、補間ラウドネスデー
タLNSが選択され、補間しないときは(0)、ラウド
ネスデータLNが選択される。
【0033】上記補間ラウドネスデータLNSの上位8
ビットデータと、上記ラウドネスデータLNとは、コン
パレータ51に与えられ、ラウドネスデータLNの方が
大きいときは、その判別信号(A>B信号)が上記アダ
ー52のCin端子に送出され、補間ラウドネスデータ
LNSが+1される。上記補間ラウドネスデータLNS
の上位8ビットデータと、上記ラウドネスデータLNと
が一致すると、A>B信号、A<B信号ともに“0”と
なるので、上記アダー52では補間ラウドネスデータL
NSに“0”が加算される処理が行われることになる。
【0034】また、ラウドネスデータLNの方が小さい
ときは、その判別信号(A<B信号)が12ビット分、
上記アダー52に送出され、“11…1”が加算、すな
わち−1される。これにより、図9に示すように、ラウ
ドネスデータLNの変化に対し、補間ラウドネスデータ
LNSが補間演算される。この補間演算は、1チャンネ
ル周期ごとに実行されるが、ラウドネスデータLNの変
化は、CPU5等で制御するため、通常この1チャンネ
ル周期より大きい周期で行われる。
【0035】6.パラメータレジスタ群100 図10はパラメータレジスタ群100を示している。こ
のパラメータレジスタ群100は、上記RAM6内に形
成されているが、トーンジェネレータ8内に形成しても
よい。スピードレジスタ101、102、103には、
それぞれ、上述のアタックフェーズスピードデータSP
D0、デイケイフェーズスピードデータSPD1、リリ
ースフェーズスピードデータSPD2がセットされる。
目標レジスタ104には、上記デイケイフェーズ目標デ
ータLVL1のみがセットされる。
【0036】なお、アタックフェーズ目標データLVL
0は必ず「11…1」とするので、記憶する必要がな
い。またリリース2として「00…0」以外の値を設定
した場合は、リリースの目標レジスタも設けて、リリー
スフェーズ目標データLVL2も記憶することになる。
オン/オフレジスタ105には、上記オン/オフ信号O
N/OFFが記憶される。これらの各データは、上述の
エンベロープ発生器11のセレクタ22、21、フェー
ズインクリメンタ28に送られる。
【0037】ラウドネスレジスタ106には、上述のラ
ウドネスデータLNがセットされる。補間指示レジスタ
107には、上述の補間指示データimpがセットされ
る。これらの各データは、上述のラウドネスレジスタ1
9に送られる。
【0038】これら各レジスタ101〜107の各デー
タは、上記アサインメントメモリ10からの楽音情報が
そのままコピーされたり、変換メモリ等を通じて変換さ
れて、セットされる。このセットは、各チャンネル周期
のタイムスロットごとに行われる。むろん、アサインメ
ントメモリ10をトーンジェネレータ内に設けて、アサ
インメントメモリ10の各チャンネルエリアのデータを
時分割に読み出して、各データをエンベロープ発生器1
1、ラウドネスレジスタ19に送るようにしてもよい。
【0039】7.シフタ15 図11は、シフタ15を示している。上記波形乗算器1
3からの、エンベロープ波形データENに波形データW
Dの乗算された楽音波形データMWは、セレクタ63を
介し、16ビットダウンシフトして出力されるか、また
はそのまま出力される。次のセレクタ64では、8ビッ
トシフトダウンして出力されるか、またはそのまま出力
され、さらに次のセレクタ65では、4ビットシフトダ
ウンして出力されるか、またはそのまま出力される。
【0040】またさらに次のセレクタ66では、2ビッ
トシフトダウンして出力されるか、またはそのまま出力
され、最後のセレクタ67では、1ビットシフトダウン
して出力されるか、またはそのまま出力される。これら
各セレクタ63〜67でのシフトダウンするかしないか
の選択は、アダー62からのシフトデータasの各ビッ
トデータに基づいて行われ、ダウンシフト量は図12に
示すようにシフトデータasの大きさに基づく。
【0041】上記エンベロープ波形データENの上位デ
ータaは、ノアゲート群61を介し、上位に“0”が付
加されて、アダー62に入力される。また、上記アタッ
クデータatがノアゲート群61の各ゲートに入力され
るとともに、インバータ68を介して、上位に“000
0”が付加されて、アダー62に入力される。
【0042】これにより、エンベロープ波形データEN
の上位データaは、図12に示すように、反転した値に
+1されて、上記シフトデータasとして出力される。
ただし、アタックデータatが“1”で、エンベロープ
波形がアタックフェーズにあるときは、ノアゲート群6
1の出力は“0000”となり、インバータ68の出力
も“0”となるから、シフトデータasは“0000
0”となり、シフトダウンは行われない。
【0043】これにより、エンベロープ波形がデイケイ
フェーズまたはリリースフェーズにあるとき、エンベロ
ープ波形データEN(音楽波形データMW)をシフトダ
ウンして、図3のようなエンベロープ波形の形状を、図
5のような曲線形状とすることができる。なお、エンベ
ロープ波形がアタックフェーズにあるとき、エンベロー
プ波形データEN(楽音波形データMW)をシフトアッ
プして、図14に示すような曲線形状とすることもでき
る。
【0044】また、エンベロープ波形がアタックフェー
ズにあるとき、従来のようなエンベロープ累算値の生成
を行えば、つまりエンベロープスピードデータのシフト
ダウンを行えば、エンベロープ波形データEN(楽音波
形データMW)をシフトアップするのと同じ結果を得る
ことができ、図14に示すような曲線形状とすることが
できる。
【0045】この場合、各セレクタ63〜67のデータ
セレクト状態を図15に示すようなシフトアップ状態と
し、上記インバータ68を省略し、アタックデータat
をインバータを介してノアゲート群61の各ゲートに与
えることになる。また、このような回路を使って、エン
ベロープ波形がアタックフェーズにあるときシフトダウ
ンを行い、エンベロープ波形がデイケイフェーズまたは
リリースフェーズにあるときシフトアップを行うことも
一応できる。
【0046】また、このようなシフトアップ状態の各セ
レクタと、アタックデータatをインバータを介してノ
アゲート群61の各ゲートに与える回路とを、上記図1
1のシフタ15に付加してもよい。この場合、入力され
る楽音波形データMW(エンベロープ波形データEN)
を、この付加回路または図11のシフタ15のいずれか
にデータセレクトして与える。そして、このデータセレ
クト切換信号は、上記アタックデータatが使われる。
【0047】8.エンベロープ発生器11(別の例) 図13は、エンベロープ発生器11の別の例を示してい
る。この例ではエンベロープ波形のアタックフェーズを
図14のような曲線形状とするものである。図6のエン
ベロープ発生器11との相違点は、シフタ111とシフ
ト制御回路112とを従来通り設けたことである。シフ
タ111では、セレクタ22からのフェーズスピードデ
ータSPDがシフトアップされて出力される。シフト制
御回路112は、シフタ111のシフトアップんの内容
を制御するもので、シフトアップをアタックフェーズに
ついてのみ行い、さらにアップシフト量を制御する。こ
れにより、図14に示すように、アタックフェーズのエ
ンベロープ波形の形状が曲線形状となる。
【0048】図15は、上記シフタ111とシフト制御
回路112とを示している。上記セレクタ22からのフ
ェーズスピードデータSPDは、セレクタ113で、8
ビットシフトアップして出力されるか、またはそのまま
出力され、次のセレクタ114で、4ビットシフトアッ
プして出力されるか、またはそのまま出力される。さら
に次のセレクタ115で、2ビットシフトアップして出
力されるか、またはそのまま出力され、最後のセレクタ
116で、1ビットシフトアップして出力されるか、ま
たはそのまま出力される。
【0049】これら、各セレクタ113〜116でのシ
フトアップするかしないかの選択は、シフト制御回路1
12(ノアゲート群117〜120)を介した、エンベ
ロープ波形データENの補間指示データimpの各ビッ
トデータに基づいて行われ、ダウンアップ量は図16に
示すように上位データaに基づく。
【0050】上記ノアゲート117、118、119、
120には、上記オアゲート29からのアタックデータ
atが入力されており、エンベロープ波形がアタックフ
ェーズにあるとき、上位データaはそのまま上記セレク
タ113〜116に与えられ、デイケイフェーズまたは
リリースフェーズにあるとき、上位データaは“000
0”となり、シフトアップは行われない。
【0051】なお、エンベロープ波形がデイケイフェー
ズまたはリリースフェーズにあるとき、フェーズスピー
ドデータSPDをシフトダウンして、図5に示すような
曲線形状とすることもできる。この場合、各セレクタ1
13〜116のデータセレクト状態を図11に示すよう
なシフトダウン状態とし、オアゲート29をノアゲート
にすることになる。また、このような回路を使って、エ
ンベロープ波形がアタックフェーズにあるとき、フェー
ズスピードデータSPDのシフトダウンを行い、エンベ
ロープ波形がデイケイフェーズまたはリリースフェーズ
にあるとき、フェーズスピードデータSPDのシフトア
ップを行うことも一応できる。
【0052】また、このようなシフトダウン状態の各セ
レクタと、オアゲート29をノアゲートにした回路と
を、上記図15のシフタ111に付加してもよい。この
場合、入力されるフェーズスピードデータSPDを、こ
の付加回路または図15のシフタ111のいずれかにデ
ータセレクトして与える。そして、このデータセレクト
切換信号は、上記アタックデータatまたはフェーズデ
ータPHが使われる。
【0053】9.トーンジェネレータ8(別の例) 図17は、トーンジェネレータ8の別の例を示してい
る。この例では、図20に示すように、波形データWD
を乗算するエンベロープ波形データENを、アタックフ
ェーズでも下位データbとしたものである。このトーン
ジェネレータ8では、セレクタ12を省略し、エンベロ
ープ発生器11からのエンベロープ波形データENの下
位データbと波形発生器14からの波形データWDとが
波形乗算器13で乗算され、アダー131で、さらに波
形データWDが加算されて、シフタ15に送られ、エン
ベロープ波形データENのシフトが行われる。
【0054】アダー131に送られる波形データWD
は、アンドゲート群130を介して、上記アダー131
へ送られる。このアンドゲート群130の各ゲートに
は、上記エンベロープ発生器11からのアタックデータ
atが入力され、エンベロープ波形がデイケイフェーズ
またはリリースフェーズにあるときのみ、アダー131
での加算が行われる。これにより、1+b/4096の
演算が行われる。アタックフェーズにあるときは、波形
データWDの加算は行われない。他の構成、動作は、図
2のトーンジェネレータ8と同じである。
【0055】10.エンベロープ発生器11(別の例) 図18は、図17のトーンジェネレータ8におけるエン
ベロープ発生器11を示している。このエンベロープ発
生器11では、セレクタ132が付加されている。セレ
クタ132では、アダー24でフェーズスピードデータ
SPDの加算されたエンベロープ波形データENそのま
まと、このエンベロープ波形データENの下位データb
に対し上位に“1111”の付加されたエンベロープ波
形データENとのいずれかが選択され、コンパレータ2
5に与えられる。このセレクタ132には、上記オアゲ
ート29からのアタックデータatがセレクト信号とし
て与えられており、アタックフェーズのときには“11
11”の付加されたエンベロープ波形データEN(下位
データb)が選択され、デイケイフェーズまたはリリー
スフェーズのときにはエンベロープ波形データENが選
択される。
【0056】これにより、エンベロープ波形データEN
は図19に示すように、アタックフェーズにおいて、
“OFFFн(нは16進数であることを示す記号)”
に達しただけで、次のデイケイフェーズに進む。そし
て、この図19に示すエンベロープ波形データENがア
ダー131、シフタ15を介して、図21に示すような
エンベロープ波形となる。
【0057】図19に示すようなアタックフェーズのエ
ンベロープ波形とするのは、アタックフェーズのエンベ
ロープ波形データENのうち、波形データWDと乗算す
るのを、デイケイフェーズ及びリリースフェーズと同様
に、エンベロープ波形データENの下位データbとする
ためである。これをシフタ15でシフトダウンすると図
21に示すように整合性のあるエンベロープ波形とな
る。むろん、エンベロープ波形データENの上位データ
a及び下位データb両方に対し、波形データWDを乗算
し、乗算前の上位データaでシフトを行うようにしても
よい。エンベロープ波形データENのうち、波形データ
WDの乗算される部分は任意に選択できる。
【0058】また、エンベロープ波形データENのう
ち、シフト量を決定する上位データaと、そうでない下
位データbとの分け方は任意であり、上述のものに限ら
れないし、上位データaと下位データbとが一部または
全部重複していてもよい。さらに、この上位データaと
下位データbに対しては、上述した上位に“1”を付加
する以外に、各種データを付加したり、演算したりした
後、上述のシフトを行うようにしてもよい。
【0059】11.ラウドネス補間器20(別の例) 図22はラウドネス補間器20の別の例を示している。
この例では、補間指示データimpを省略し、常時ラウ
ドネスデータLNの補間を行うようにしたものである。
図8との相違点は、オン/オフレジスタ133とアンド
ゲート134を設けたことである。アンドゲート134
には、上記オン/オフ信号ON/OFFが与えられる。
一方、オン/オフレジスタ133には、オン/オフ信号
ON/OFFが16チャンネル分セットされ、16チャ
ンネル分の時間後、アンドゲート134に与えられる。
【0060】従って、オン/オフ信号ON/OFFが
“0”から“1”になる、キーオンイベント時には、ア
ンドゲート134の出力が“0”となって、セレクタ5
3を介して新たなラウドネスデータLNが取り込まれ
る。上記キーオンイベント後は、オン/オフ信号ON/
OFFは“1”を継続するので、セレクタ53は、アダ
ー52からの補間されたラウドネスデータLNが出力さ
れていく。
【0061】本発明は上記実施例に限定されず、本発明
の趣旨を逸脱しない範囲で種々変更可能である。例え
ば、フェーズデータPHは、アタックフェーズ、デイケ
イフェーズ、リリースフェーズそれぞれにおいて2つ以
上の値をとってもよい。この場合、オアゲート29は、
アタックフェーズのすべてのフェーズデータPHを検出
するゲートとなり、フェーズスピードデータSPD、フ
ェーズ目標データLVLの数も増えることになる。この
とき、アタックフェーズでエンベロープ波形データEN
が減小したり、デイケイフェーズまたはリリースフェー
ズでエンベロープ波形データENが増大したりすること
も可能である。
【0062】また、本発明のエンベロープ波形生成装置
で生成されるエンベロープ波形は、音量の時間的変化の
パラメータのほか、音高の時間的変化のパラメータ、高
調波成分等の特定周波数成分の時間的変化のパラメー
タ、音色の時間的変化のパラメータ、リバーブの深さ等
のエフェクトの時間的変化のパラメータ、周波数変調の
時間的変化のパラメータ等であってもよい。さらに、エ
ンベロープ発生器11は、エンベロープ波形データEN
を記憶し、これを順次読み出すものであってもよい。
【0063】上記シフタ15、シフタ111でのデータ
シフト処理、エンベロープ発生器11でのエンベロープ
波形データEN生成処理、ラウドネス補間器20でのラ
ウドネスデータLN補間処理は、プログラムに基づいて
CPU5がRAM6またはアサインメントメモリ10を
使って行うようにしてもよい。
【0064】この場合、エンベロープ波形データENの
生成については、各フェーズに応じたフェーズスピード
データSPDを選択して、アサインメントメモリ10ま
たはRAM6より読み出したエンベロープ波形データE
Nに加算または減算し、この演算結果がフェーズ目標デ
ータLVLに達していればフェーズを進め、上記演算し
たエンベロープ波形データENをアサインメントメモリ
10またはRAM6に戻す。
【0065】また、データシフトについては、上記アサ
インメントメモリ10またはRAM6より読み出したエ
ンベロープ波形データENを上位データaに基づいてシ
フトした後、ラウドネス乗算器16または累算器17に
送り込むことになる。
【0066】さらに、ラウドネスデータLNの補間は、
新たなラウドネスデータLNが与えられたとき、この新
たなラウドネスデータLNがそれまでの古いラウドネス
データLNより大きいか小さいかを判別し、大きければ
古いラウドネスデータLNを順次+1し、小さければ古
いラウドネスデータLNを順次−1し、古いラウドネス
データLNが新たなラウドネスデータLNに一致すれ
ば、この演算処理を終了する。
【0067】上述した各実施例は組み合わせることもで
き、例えば図2のトーンジェネレータ8のエンベロープ
発生器11を図13または図18のエンベロープ発生器
11で置き換えてもよいし、図17のトーンジェネレー
タ8のエンベロープ発生器11を図6または図13のエ
ンベロープ発生器11で置き換えてもよい。図2のトー
ンジェネレータ8のラウドネス補間器20を図22のラ
ウドネス補間器20で置き換えてもよいし、図17のト
ーンジェネレータ8のラウドネス補間器20を図8のラ
ウドネス補間器20で置き換えてもよい。
【0068】上記フェーズスピードデータSPDまたは
フェーズ目標データは、そのままエンベロープ発生器1
1に与えられるのではなく、演算処理を行って与えても
よいし、エンベロープレジスタ27からのエンベロープ
波形データENは、そのままアダー24に与えられるの
ではなく、演算処理を行ってからアダー24に与えられ
てもよい。また、エンベロープ波形データENに波形デ
ータWFを乗算するのは、シフタ15でエンベロープ波
形データENをシフトした後でもよい。
【0069】
【発明の効果】以上詳述したように、本発明は、エンベ
ロープ波形の演算結果をシフトするにあたり、このシフ
ト内容を、エンベロープ波形のレベル値が大きくなると
きと、エンベロープ波形のレベル値が小さくなるときと
で異ならせるようにした。これにより、エンベロープ波
形のシフト内容を、エンベロープ波形の一部のフェーズ
で相殺する必要がなくなり、データ処理内容をシンプル
にすることができる。
【0070】また、楽音の音量を示す新たなラウドネス
データが発生されたとき、古いラウドネスデータからこ
の新たなラウドネスデータに向かって段階的に補間を行
い、この補間したラウドネスデータをエンベロープ波形
データに対し順次演算して合成するようにした。これに
より、ラウドネスデータの急激な変化があっても、古い
ラウドネスデータからこの新たなラウドネスデータに向
かって段階的に補間を行い、ラウドネスデータの急激な
変化を緩和して、聴覚上違和感が生じないようにするこ
とができる。
【図面の簡単な説明】
【図1】電子楽器の全体回路図である。
【図2】トーンジェネレータ8の回路図である。
【図3】シフト前のエンベロープ波形を示す図である。
【図4】エンベロープ波形データENの上位データaと
下位データbとを示す図である。
【図5】シフト後のエンベロープ波形を示す図である。
【図6】図2のエンベロープ発生器11の回路図であ
る。
【図7】図6のフェーズインクリメンタ28の回路図で
ある。
【図8】図2のラウドネス補間器20の回路図である。
【図9】図8または図22のラウドネス補間器20で補
間されるラウドネスデータLNを示す図である。
【図10】RAM6のパラメータレジスタ群100を示
す図である。
【図11】図2または図17のシフタ15の回路図であ
る。
【図12】エンベロープ波形データENの上位データa
とエンベロープ波形データENのダウンシフト量を示す
図である。
【図13】エンベロープ発生器11の別の例の回路図で
ある。
【図14】図13のエンベロープ発生器11によって生
成されるエンベロープ波形を示す図である。
【図15】図13のエンベロープ発生器11の中のシフ
タ111とシフト制御回路112の回路図である。
【図16】図15の回路におけるエンベロープ波形デー
タENの上位データaとエンベロープ波形データENの
アップシフト量を示す図である。
【図17】トーンジェネレータ8の別の例の回路図であ
る。
【図18】図17のエンベロープ発生器11の回路図で
ある。
【図19】図18のエンベロープ発生器11におけるシ
フト前のエンベロープ波形を示す図である。
【図20】図18のエンベロープ発生器11におけるエ
ンベロープ波形データENの上位データaと下位データ
bとを示す図である。
【図21】図18のエンベロープ発生器11におけるシ
フト後のエンベロープ波形を示す図である。
【図22】ラウドネス補間器20の別の例の回路図であ
る。
【符号の説明】
1…キーボード、3…パネルスイッチ群、5…CPU、
6…RAM、7…ROM、8…トーンジェネレータ、1
0…アサインメントメモリ、11…エンベロープ発生
器、15…シフタ、16…ラウドネス乗算器、19…ラ
ウドネスレジスタ、20…ラウドネス補間器、27…エ
ンベロープレジスタ、28…フェーズインクリメンタ、
31…フェーズレジスタ、54…補間ラウドネスレジス
タ、76…オン/オフレジスタ、100…パラメータレ
ジスタ群、101〜103…スピードレジスタ、104
…目標レジスタ、105…オン/オフレジスタ、106
…ラウドネスレジスタ、107…補間指示レジスタ、1
11…シフタ、112…シフト制御回路。

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】エンベロープ波形の生成の開始を指示する
    開始指示手段と、 この開始指示手段によるエンベロープ波形の生成の開始
    指示以降、エンベロープ波形のレベル値を大きくなるよ
    うに演算する増大演算手段と、 この開始指示手段によるエンベロープ波形の生成の開始
    指示以降、エンベロープ波形のレベル値を小さくなるよ
    うに演算する減小演算手段と、 上記減小演算手段で演算されたエンベロープ波形の演算
    結果をシフトするシフト手段と、 このシフト手段のシフト量を上記エンベロープ波形の演
    算結果に応じて変化させるシフト量制御手段と、 このシフト量制御手段または上記シフト手段のシフト内
    容を、上記増大演算手段による演算においてと、減小演
    算手段による演算においてとで異ならせる切換手段とを
    備えたことを特徴とするエンベロープ波形生成装置。
  2. 【請求項2】エンベロープ波形の生成の開始を指示する
    開始指示手段と、 この開始指示手段によるエンベロープ波形の生成の開始
    指示以降、エンベロープ波形のレベル値を大きくなるよ
    うに演算する増大演算手段と、 この開始指示手段によるエンベロープ波形の生成の開始
    指示以降、エンベロープ波形のレベル値を小さくなるよ
    うに演算する減小演算手段と、 上記増大演算手段で演算されたエンベロープ波形の演算
    結果をシフトアップするシフトアップ手段と、 このシフトアップ手段のアップシフト量を、上記エンベ
    ロープ波形の演算結果が大きいほどシフト量を小さくす
    る手段とを備えたことを特徴とするエンベロープ波形生
    成装置。
  3. 【請求項3】エンベロープ波形のレベル値の変化のスピ
    ードを決定するエンベロープスピードデータを発生する
    スピードデータ発生手段と、 この発生手段で発生されたエンベロープスピードデータ
    を繰り返し加算または減算することにより、エンベロー
    プ波形を生成するエンベロープ波形生成手段と、 上記スピードデータ発生手段で発生されるエンベロープ
    スピードデータをシフトダウンするシフトダウン手段
    と、 このシフトダウン手段のダウンシフト量を、上記エンベ
    ロープ波形生成手段で生成されたエンベロープ波形のレ
    ベル値が小さくなるに従って大きくするシフト量制御手
    段とを備えたことを特徴とするエンベロープ波形生成装
    置。
  4. 【請求項4】上記増大演算手段によって演算されたエン
    ベロープ波形データ、減小演算手段によって演算された
    エンベロープ波形データ、またはエンベロープ波形生成
    手段によって生成されたエンベロープ波形データに対
    し、波形データを演算して合成することを特徴とする請
    求項1、2または3記載のエンベロープ波形生成装置。
  5. 【請求項5】上記シフト手段は、上記増大演算手段で演
    算されたエンベロープ波形の演算結果のすべてもしくは
    一部と、上記減小演算手段で演算されたエンベロープ波
    形の演算結果のすべてもしくは一部の、いずれかを選択
    してシフトする手段であることを特徴とする請求項1記
    載のエンベロープ波形生成装置。
  6. 【請求項6】上記増大演算手段、上記減小演算手段また
    は上記エンベロープ波形生成手段は、複数のエンベロー
    プ波形につき、時分割に演算または生成を行うものであ
    ることを特徴とする請求項1、2、3、4または5記載
    のエンベロープ波形生成装置。
  7. 【請求項7】上記エンベロープ波形生成装置は、上記エ
    ンベロープ波形のレベル値に対し、さらに楽音の音量を
    示すラウドネスデータを演算して合成する手段を備えた
    ことを特徴とする請求項1、2、3、4、5または6記
    載のエンベロープ波形生成装置。
  8. 【請求項8】上記ラウドネスデータは設定音量または発
    音操作の速さもしくは強さを示すデータであることを特
    徴とする請求項7記載のエンベロープ波形生成装置。
  9. 【請求項9】上記ラウドネスデータは、時間の経過に応
    じて変化し、この変化が補間されるものであることを特
    徴とする請求項7記載のエンベロープ波形生成装置。
  10. 【請求項10】エンベロープ波形の生成のためのエンベ
    ロープ波形データを記憶するエンベロープ記憶手段と、 このエンベロープ記憶手段からエンベロープ波形データ
    を読み出す読み出し手段と、 この読み出し手段によって読み出されたエンベロープ波
    形データに基づいて、エンベロープ波形を生成するエン
    ベロープ波形生成手段と、 楽音の音量を示すラウドネスデータを順次発生するラウ
    ドネス発生手段と、 ラウドネス発生手段から発生されたラウドネスデータ
    を、上記エンベロープ波形生成手段から発生されたエン
    ベロープ波形データに対し順次演算して合成する合成手
    段と、 上記ラウドネス発生手段から新たなラウドネスデータが
    発生されたとき、古いラウドネスデータからこの新たな
    ラウドネスデータに向かって段階的に補間を行い、この
    補間したラウドネスデータを上記演算合成手段に与える
    補間手段とを備えたことを特徴とするエンベロープ波形
    生成装置。
  11. 【請求項11】上記補間手段は、エンベロープ波形の生
    成開始時には、補間を行わないことを特徴とする請求項
    10記載のエンベロープ波形生成装置。
JP3159250A 1991-06-29 1991-06-29 エンベロープ波形生成装置 Pending JPH0519756A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3159250A JPH0519756A (ja) 1991-06-29 1991-06-29 エンベロープ波形生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3159250A JPH0519756A (ja) 1991-06-29 1991-06-29 エンベロープ波形生成装置

Publications (1)

Publication Number Publication Date
JPH0519756A true JPH0519756A (ja) 1993-01-29

Family

ID=15689642

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3159250A Pending JPH0519756A (ja) 1991-06-29 1991-06-29 エンベロープ波形生成装置

Country Status (1)

Country Link
JP (1) JPH0519756A (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59101698A (ja) * 1982-12-01 1984-06-12 ヤマハ株式会社 電子楽器のエンベロ−プ信号発生装置
JPS59195693A (ja) * 1983-04-22 1984-11-06 ヤマハ株式会社 電子楽器のタツチレスポンス装置
JPS6380297A (ja) * 1987-08-06 1988-04-11 株式会社河合楽器製作所 電子楽器
JPH02126294A (ja) * 1988-11-07 1990-05-15 Kawai Musical Instr Mfg Co Ltd 波形生成方式

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59101698A (ja) * 1982-12-01 1984-06-12 ヤマハ株式会社 電子楽器のエンベロ−プ信号発生装置
JPS59195693A (ja) * 1983-04-22 1984-11-06 ヤマハ株式会社 電子楽器のタツチレスポンス装置
JPS6380297A (ja) * 1987-08-06 1988-04-11 株式会社河合楽器製作所 電子楽器
JPH02126294A (ja) * 1988-11-07 1990-05-15 Kawai Musical Instr Mfg Co Ltd 波形生成方式

Similar Documents

Publication Publication Date Title
US5432293A (en) Waveform generation device capable of reading waveform memory in plural modes
EP0235768B1 (en) Parameter supply device in an electronic musical instrument
US5446237A (en) Electronic musical instrument having a control section memory for generating musical tone parameters
US5248842A (en) Device for generating a waveform of a musical tone
JP2605916B2 (ja) 波形信号発生装置
EP0235538B1 (en) Waveform generator for electronic musical instrument
JP2766662B2 (ja) 楽音発生装置の波形データ読み出し装置及び波形データ読み出し方法
JPH0519756A (ja) エンベロープ波形生成装置
JP2546098B2 (ja) 電子楽器
JP2580814B2 (ja) 楽音信号発生装置
US5374776A (en) System for processing musical sound data having overflow/underflow compensation
US5245126A (en) Waveform generation system with reduced memory requirement, for use in an electronic musical instrument
US5284080A (en) Tone generating apparatus utilizing preprogrammed fade-in and fade-out characteristics
JPH0310959B2 (ja)
US5022304A (en) Musical tone signal generating apparatus
JP3016470B2 (ja) 音源装置
JPS6310836B2 (ja)
JPH07325581A (ja) 楽音発生装置
JP2830326B2 (ja) エンベロープ制御装置
JP3104873B2 (ja) 音源装置
JP2705042B2 (ja) エンベロープ波形生成方式
JP2910632B2 (ja) 波形メモリ音源装置
JP2723041B2 (ja) 楽音発生装置
JP2576390B2 (ja) エンベロープ波形発生装置
JP3059617B2 (ja) エンベロープ信号発生装置およびこれを用いた電子楽器