JPH0125079B2 - - Google Patents

Info

Publication number
JPH0125079B2
JPH0125079B2 JP57084234A JP8423482A JPH0125079B2 JP H0125079 B2 JPH0125079 B2 JP H0125079B2 JP 57084234 A JP57084234 A JP 57084234A JP 8423482 A JP8423482 A JP 8423482A JP H0125079 B2 JPH0125079 B2 JP H0125079B2
Authority
JP
Japan
Prior art keywords
envelope
data
address
register
sample
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
Application number
JP57084234A
Other languages
English (en)
Other versions
JPS58200296A (ja
Inventor
Kinji Kawamoto
Kazuhiro Murase
Tetsuhiko Kaneaki
Masataka Nikaido
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP57084234A priority Critical patent/JPS58200296A/ja
Publication of JPS58200296A publication Critical patent/JPS58200296A/ja
Publication of JPH0125079B2 publication Critical patent/JPH0125079B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 本発明は、電子楽器に用いる楽音信号の種々の
包絡線信号をデイジタルデータとして生成する包
絡線信号発生方法に関し、特に、少量のデータで
広範な形状の信号が発生できるようにしたもので
ある。
第1図は、本発明の周波数制御方法を採用した
電子楽器のブロツク図である。
第2図は、本発明の包絡線信号発生装置の実施
例のブロツク図である。第2図は、第1図のパラ
メータROMとエンベロープ発生において使用さ
れる。第2図において、7は上述のパラメータ
ROMであつて、その内部には包絡線信号のサン
プル値を圧縮したデータが記憶されている。20
はサンプル演算器、21はタブレツトインタフエ
ース、22は鍵インタフエース、23は補間計算
器である。
タブレツトインタフエース21とパラメータ
ROM7には、第1図のCPUより音色コードが供
給される。音色コードのうちの上位3ビツトは、
8種類の楽器のうちの1つを指定するコードとし
てパラメータROM7の上位アドレスに印加さ
れ、パラメータROM7のうちの上記指定された
楽器音のパラメータが格納されている領域を選択
する。音色コードの下位ビツトには、音色のモー
ド、たとえば、エンベローブ形状が、オルガン型
かピアノ型かなどを示すデータが含まれており、
タブレツトインタフエース21を介してサンプル
演算器20に供給される。タブレツトインタフエ
ース21は、データラツチを含むもので、CPU
3がデータラツチに音色コードを書き込み、その
後、必要なタイミングにおいてサンプル演算器2
0が読み出す。CUP3は鍵インタフエース22
に対して、発生させようとする音の高さを表わす
ノートオクターブデータと、その音高の鍵がON
かOFFかを表わす鍵ON,OFF信号とを供給し、
内部のラツチに書き込む。サンプル演算器20
は、内部の所定のタイミングにしたがつてタブレ
ツトインタフエース21と鍵インタフエース22
の保持しているデータを読み出し、このデータに
もとづいて、パラメータROM7に対し、アドレ
スデータを出力して、その内容を読み出し、サン
プルを演算によつて生成し、補間計算器23に供
給する。補間計算器23は、つぎつぎに供給され
る包絡線サンプルの途中を補間計算、たとえば、
直線補間して、なめらかに変化する包絡線サンプ
ルを出力する。
第3図は、本発明において適用するサンプル演
算を説明するための包絡線信号とそれらのサンプ
ル値の例を示すものである。第3図bは、発生さ
せようとする包絡線をdB尺度で描いたものであ
つて、最大値を0dB、最小値を−80dBとしてい
る。この曲線上の黒点(S0,S1,S2,……)は、
時間間隔Ti=Tおよび2Tでサンプリングしたサ
ンプル値を表わす。このようなデータをもとに、
各サンプル値のdB尺度上の差分値をとると第3
図aの(ΔE0,ΔE1,ΔE2,……)ようになる。
第3図cは、第3図bの黒点で示すサンプル値
を、dB尺度からリニア尺度の値(LE0,LE1
LE2,……)に変換し、それぞれの点の間を点線
状の直線で結んだものである。本発明では、第3
図aに示したdB差分値ΔE0,ΔE1,ΔE2,……を
パラメータROM7に記憶しておく、これらのdB
差分値を順次読み出して累算してゆくことによ
り、dB尺度上の包絡線サンプルS0,S1,S2,…
…を得る。つぎにdB尺度上の包絡線サンプルを
対数−直線変換してリニア尺度上の包絡線サンプ
ルLE0,LE1,LE2,……を得る。この包絡線サ
ンプルのサンプル周期は、上記Ti=Tや2Tなど
であるが、この周期は、最終的に出力される楽音
サンプルの周期TSより大きい。したがつて楽音
のサンプル周期に対応した時刻での包絡線サンプ
ルをつぎつぎに生成するために、サンプルLE0
LE1,LE2,……の隣接する2つのサンプルの間
を直線補間計算し、周期TSごとに第3図cの点
数で示したような形状をもつ包絡線サンプルを得
る。
第4図は本発明の実施例のブロツク図で、第3
図に述べた演算手段を実現する。第4図において
読出演算制御部25は、音色コード,ノートオク
ターブデータ,鍵ON,OFFデータを読み込み、
これらのデータにしたがつて、音色コードと、ノ
ートオクターブデータに対応する包絡線信号を表
わすdB差分値ΔEiを格納してある番地のアドレス
ADを順次発生し、読出指令信号RDを出力して、
パラメータROM7よりdB差分値ΔEiを出力端子
DOに読み出し、ラツチ30に格納する。ラツチ
31には常にゼロが入つているものとする。加減
算器32は、ΔEiとゼロを加算してΔEiを出しこ
れを加減算器33の一方の入力に供給する。加減
算器33の出力は、レジスタ34に格納されると
共に、対数−直線変換器35に供給される。加減
算器33の他の入力にはレジスタ34の出力が供
給される。レジスタ34は、1ワードのラツチで
ある。加減算器33とレジスタ34とは、ΔEi
累算して、 Soo-1i=1 ΔEi ……(1) を生成し出力する累算器として働く。対数−直線
交換器35は、入力コードSoに対して、直線化さ
れた出力コードLEoを生成する読み出し専用メモ
リROMである。入力が8ビツト、出力が16ビツ
トとすると256×16=4096ビツトのROMになる。
包絡線サンプルLEoは、レジスタ36に加えら
れ、1サンプル時間遅延される。そして、減算器
37において、ΔLEo=LEo−LEo-1が演算され
る。減算器37の出力ΔLEoは、ビツトシフトレ
ジスタ38において下位に所定ビツトだけシフト
され、加減算器39の一方の入力に供給される。
加減算器39の出力は、シフトレジスタ40で、
楽音サンプル周期Tsだけ遅延されて加減算器3
9の他方の入力に供給される。ビツトシフトレジ
スタ38は一種の割算器で、 δo=(LEo−LEo-1)/ (To-1/Ts)(n=2,3,4,……) ……(2) を実行する。
To-1/Ts=2p ……(3) のように2のべき乗であれば、pビツトシフトす
ることが、割算に相当する。
δoを2p累算すると、 ΔLEo=LEo−LEo-1 (n=2,3,4,……) ……(4) になる。したがつて、LEo-1からLEoの間を、
To-1の時間で直線補間できる。補間された包絡
線サンプルは LEo,j=LEo-1+j (LEo−LEo-1)/(To-1/Ts) (j=1,……,To-1/Ts) ……(5) と表わすことができる。
So,LEo,ΔLEo,δoの生成は、Ti周期で実行
される。したがつて、ラツチ30,レジスタ3
4,36、ビツトシフトレジスタ38の記憶はTi
ごとのラツチパルスが読出演算制御部25より出
力されて、更新される。ビツトシフトレジスタ3
8のシフトビツト数は、読出演算制御部25から
出力されるTi/Tsに対応したPを表わすコード
により複数通りのシフトをされた出力コード
ΔLEo,ΔLEo/2,ΔLEo/22,……から選択さ
れ、その出力がラツチされる。レジスタ40は、
周期Tsごとにその内容が更新されるため、周期
Tsごとにラツチパルスが読出演算制御部25よ
り供給される。
第5図は、簡単化された包絡線データ{ΔEi
(i=1,2,3,……N)の例である。dB差分
値ΔEiがパラメータROM内のアドレス1〜Nに
配置されている。先頭の番地0には、レリーズア
ドレスRADが格納されている。今、簡単化する
ために、第3図bのTi(i=1,2,3,……)
が皆等しい場合について説明する。読出演算制御
部25に入力される鍵ON,OFF信号が“1”に
なり押鍵されると、まず、番地0を示すアドレス
ADがROM7に出力され、が“0”になつ
て、番地0に格納されているレリーズアドレス
RADを読み出し、これを内部のレジスタに格納
しておく。そのつぎにADを1増やし、かつ
を“0”にして1番地のΔE1をラツチ30に書き
込む。初期状態としてレジスタ30,34,3
6,38,40にゼロが格納してあつたとする
と、S1=0,LE1=0,ΔLE1=0,δ1=0であ
つた。したがつて加減算器33の出力はS2=ΔE1
となる。このあとは、先に述べた手順で演算が実
施される。iが1つ進むごとにアドレスADが1
ずつ増加する。
鍵を押しつづけるとTiはどんどん進むが、Ti
T15の直前になると、アドレスADの増加を停止
し、ビツトシフトレジスタ38の内容をクリアし
て、ゼロにし、直前の累算値を保持するようにす
れば、包絡線信号はLE15を維持したままになる。
その後、鍵ON,OFF信号が“0”になつて鍵が
はなされたことがわかると、Ti=T15に対応し
て、ΔE15を読み出して、S15〜S16の減衰過程に入
るようにする。T15はレリーズの開始点で、これ
に対応するΔE15が格納されている番地をレリー
ズアドレスRADとする。
Ti=T15になる前に、鍵ON,OFF信号が“0”
になると、アドレスADが1増加する代りにRAD
に書きかえられて出力され、ΔE15が読み出され
る。そしてそのあとは、RAD+1,RAD+2,
……とレリーズ過程を進むようにする。このよう
にすると、どの時刻に鍵がOFFになつても、そ
の時点あるいはそれにもつとも近い所定の時点で
RADに飛ぶことができ、鍵OFF後、速やかにレ
リーズに入つてゆく。しかも、dB差分値を用い
ているから、つながりがなめらかになる。たとえ
ばS12からS15へ飛ぶと、約5dBの不連続になる
が、ΔE11からΔE15に飛べば、S12のあとに、S15
〜S20がもとのデータにくらべ5dB低下してなめ
らかにつながることになる。したがつて、飛ぶ前
後のつながりが、どんな包絡線形状でも、不連続
を生じない。また、dB尺度上にあるから、レリ
ーズ過程の単位時間当りのdB変化(dB尺度上の
傾斜)は保たれる。したがつて、楽音の減衰の時
間変化の聴いた感じは、どの時点で鍵をOFFに
しても、同じものになる。
以上述べた動作を実現する読出演算制御部25
は、アドレスADを制御するレジスタ、RADを格
納するレジスタ,アドレスを増減したり、変更し
たりする演算装置、いわゆるALU、および、こ
れらをコントロールするプログラムの入つた
ROMとその解読器など、マイクロコンピユータ
において用いられている要素回路を用いて、マイ
クロコンピータの順序制御と同様の手法で実現す
ることができる。
第5図では1通りのdB差分値よりなる包絡線
データを示している。この一群のデータを、鍵盤
のオクターブが異なるごとに別々にもつたり、さ
らに1オクターブ内のノートが異なるごとに別々
にもつことができる。このように別々のデータを
持つておくと、各音域の鍵に対して最適な包絡線
を使用することができ、優れた音色がどの音域で
もつくり出せる。このために、第4図におけるノ
ートオクターブデータを受け取り、このデータに
よつてパラメータROMのアドレスADを変更し
て、第5図の0〜N番地と別の番地に格納された
同種の形式のデータを選択するようにもできる。
第5図のデータ形式では、Tiを一定としたが、
一般に楽音の立上りでは包絡線の変化が激しいの
で、Tiを小さくして、サンプル点を多くするのが
良い。Tiの大きさをiによつて変更できるように
するには、第6図のようなデータ形式にすれば良
い。第6図では0番地にレリーズアドレスRAD、
1番地にスローブデータSLOPE、2番地にポイ
ントインタバルPIとポイントナンバPN、その後
3〜7番地にΔE1〜ΔE5が格納されている。つぎ
にPIとPN、そのあとにΔE6〜ΔE1が格納され、
最後のグループとして、RAD番地にPIとPN、そ
の後にΔE15〜ΔE19が格納されている。RADは第
5図で述べたもの、SLOPEは、立上り部の平均
的増分を示すデータでΔE1〜ΔE5に対し共通に加
算されるものである。PIは、サンプル点間の間
隔Tiを示すコード、PNはサンプル点間隔Tiが何
ポイント続くかを示すコードである。第3図bの
包絡線であれば、2番地のRIはT1を指定し、PN
は5である。8番地ではPIはT6(=2T1)でPN
は9である。レリーズアドレスRADでは、PIは
T1を指定しPNは5である。
第4図の実施例において第6図のデータ形式の
パラメータROMを読み出す手順を説明する。鍵
がONになると、まず0番地のRADをRADレジ
スタに格納する。つぎにスロープデータSLOPE
を読み出しレジスタ31(第4図)に格納する。
その後PIとPNを読出しPIレジスタとPNレジス
タに格納する。つぎに3番地よりΔE1を読み出し
レジスタ30に格納する。そして、PNを1だけ
減じ、PIに従つて決まるTi/Tsに対応するビツ
トシフト用のコードをビツトシフトレジスタ38
に供給する。このようにすれば、区間T1の間の
包絡線サンプルLE1,jが計算される。T1の終了直
前に、4番地からΔE2を読出しレジスタ30に格
納し、PNを1だけ減じる。このようにして7番
地まで進むとPN=0になつているから、つぎは
PIとPNが格納されていることがわかる。したが
つて8番地を読み出し、PIレジスタとPNレジス
タに格納する。そして、その後ΔE6を読み出しレ
ジスタ30に格納すると共にレジスタ31をクリ
アする。さらにPN―1を求め、PIのコードに従
つて、T6(=2T1)に対応するビツトシフト用の
コードをビツトシフトレジスタ38に供給する。
RAD―1番地に達するとPNがゼロになるから、
つぎにPIとPNが格納されていることがわかる。
そこで8番地と同様の操作により、今度はレリー
ズ過程に入る。RADがレリーズ過程であること
はRADレジスタのデータと現アドレスとの比較
により判定できるから、ΔE19を読み出すとその
あとは、続いて同じΔE19を読み出すようにする
ことができる。鍵ONが続けば、RAD番地の前で
停止するようにすればよい。鍵がRADより前の
状態でOFFになつたときは、ADレジスタの内容
をRADに書きかえてレリーズ過程に入ればよい。
第6図のようにSLOPEデータを設けると、
ΔE1〜ΔE5の立上り部のデータ長を小さくするこ
とができ、データ圧縮できる。SLOPデータは第
3図bの包絡線形状の平均傾斜を示し、ΔE1
ΔE5はその傾斜からのずれ分になる。レリーズ過
程でRADに逆傾斜すなわち負のスローブデータ
を設けてもよい。
第6図のデータ形成のパラメータROMを読み
出す読出演算制御装置25はその内部に、第7図
に示すようなPIレジスタ、PNレジスタ、ADレ
ジスタ、RADレジスタなどを備え、さらにALU
(算術論理演算器)、これらの動作手順を指示する
ROM、プログラムカウンタ、命令解読器などマ
イクロコンピユータで周知の回路を用いて構成す
ることができる。また、マイクロコンピユータそ
のものを使つて構成することも可能である。
上記説明では、1通りの包絡線信号をつくり出
す場合について説明した。楽音は一般に複数の周
波数成分より成りたつているから、複数の包絡線
信号を必要とする。また、単施律だけでなく複音
を出す場合にも、それぞれの音に対して別々に包
絡線信号が必要になる。このためには、第4図の
実施例において、レジスタ34,36,40の内
部に、複数個のレジスタを設け、加減算器33,
39、減算器37、対数−直線変換器35、ビツ
トシフトレジスタ38を時分割多重化して使用す
るようにすればよい。レジスタ34,36,40
は多重化数の段数を備えたシフトレジスタでも良
い。読出演算制御部25の動作手順も、多重化数
に対応して時分割動作するように構成すればよ
い。
第8図は、第4図で説明した本発明の包絡線信
号発生装置のサンプル演算器の部分をマイクロプ
ロセツサと同様に、加減算器を時分割で使い、か
つ、種々のデータをバスライン上で伝送し、演算
手順をプログラム制御により実行するようにした
実施例である。
第8図において、50はアドレスコントローラ
で第1図のCPU3からアドレスコードADR、デ
ータDB、入出力指令信号、書込指令信号
WRを受けて、パラメータROM7にアドレスAD
を送出し、パラメータROM7からアドレスAD
により指定されたデータをデータバスRDBより
読み込む。51はタイミングパルスジエネレータ
(TPG)で、マイタクロツク周波数から内部に必
要なパルス信号をつくり出す。TPG51は、ク
ロツク発振器とカウンタとゲートを用いれば構成
できる。52はシーケンサで、アドレスや後述す
る書込指令信号や読出指令信号などを、演算手順
にしたがい出力させるための手順を記憶した
ROMである。53は命令解読器で、シーケンサ
52が出力する命令コードを入力とし、アドレス
コード、書込指令信号、読出指令信号を出力させ
る。
54は、トレモロ変調レジスタで、トレモロ変
調を生じさせる周期的変動データの差分値をデー
タバスRDBより受け入れ1の立上りで記憶
する。OC1が“1”のとき、内容をAバスに出
力する。スロープレジスタ55はデータバス
RDBよりスロープデータを受け入れ2の立
上りで記憶する。OC2が“1”のときAバスに
出力する。AD1にはスロープレジスタ55の中
にある120個のレジスタのうちの1つを指定する
アドレスコードが与えられる。56はdB差分レ
ジスタで120個のデータレジスタより成り、AD
1によりそのうちの1つが指定される。そして
WR3の立上りで、データバスRDBよりdB差分
データを受け入れて記憶し、OC3が“1”のと
き、その内容をBバスに出力する。57はエンベ
ロープレジスタで120個のデータレジスタより成
り、アドレスコードAD2によりそのうちの1つ
が指定され、Cバスより供給されるデータSo
WR4の立上りで記憶する。OC4が“1”のと
きdB尺度上の包絡線サンプルデータSoをAバス
に出力する。58は対数―直線変換器で、Cバス
より供給されるデータSoを5の立上りでラツ
チし、対数―直線変換された包絡線サンプルLEo
を、OC5が“1”のときにAバスに出力する。
59は、包絡線サンプルレジスタで120個のレジ
スタより成りアドレスコードAD3によりその1
つが指定され、Cバスより供給される包絡線サン
プルLEoが、6の立上りでラツチされ、OC6
が“1”のときBバスに出力される。60はワー
キングレジスタ(WREG)で2ワードのレジス
タにより構成され、アドレスコードAD3により
そのうちの1つが選択され、Cバスより供給され
るデータを7の立上りで内部に記憶し、OC
7Aが“1”のときにAバスにその内容を出力
し、OC7Bが“1”のときにBバスにその内容
を出力する。61は加減算器でAバスとBバスの
各入力データを演算して、Cバスに出力する。加
減算の切り換え選択は命令解読器53より指定さ
れる。
62は差分包絡線データレジスタでΔLEoを記
憶する。20個のレジスタより成りそのうちの1つ
がアドレスコードAD4により選択され、1
0の立上り時点で加減算器61が出力するΔLEo
を内部に記憶する。63は差分包絡線データレジ
スタで120個のデータレジスタより成りそのうち
の1つがアドレスデータAD5により指定され、
WR8が立上るときに入力データが記憶されOC
8が“1”のときに出力される。64は入力デー
タを所定のビツト数だけシフトするためのシフト
ゲートである。何ビツトシフトするかはSHIFT
信号により指定される。シフトされた信号は、デ
ータδoに対応する。65は累算用の加減算器であ
る。66は、加減算器65の出力を受けて記憶す
るレジスタで120個のレジスタから成る。アドレ
スデータAD5によりそのうちの1つが指定さ
れ、WR9の立上りで記憶し、OC9が“1”の
ときに出力する。
第8図の実施例では、1音当り20次の周波数成
分に対応する20個の包絡線信号を、8チヤンネル
すなわち8音分同時に発生するように、20×8=
160の160重の時分割多重動作をするようにしてい
る。8音のうちの何音目かをK=1〜8で表わ
し、20次のうちの何番目かをI=1〜20を表わ
す。
演算の手順をつぎに説明する。先に用いた添字
nの代りに、ここではiを用いる。WREG←
SLOPE(K,I)+ΔEi(K,I) …(6) WREG←WREG+Si(K,I) …(7) Si+1(K,I)←WREG+ΔAMi(K,I) …(8) LOG/LIN←WREG+ΔAMi(K,I) …(9) ΔLEi+1(K,I)←LOG/LIN−LEi(K,I) …(10) LEi+1(K,I)←LOG/LIN …(11) まず(6)式により、SLOPE(K,I)をスロープ
レジスタ55より読み出し、dB差分データΔEi
(K,I)をdB差分レジスタ56を読出して加算
し、ワーキングレジスタ60に格納する。つぎに
(7)式のようにワーキングレジスタ60の内容と、
エンベロープレジスタ57の内容Si(K,I)と
を読出して加算し、ワーキングレジスタ60に格
納する。つぎに(8)式にしたがい、ワーキングレジ
スタ60の内容と、トレモロ変調レジスタ54の
内容ΔAMi(K,I)とを読み出して加算し、新
たなエンベロープサンプルSi+1(K,I)を得、
これをエンベロープレジスタ57の(K,I)番
地に格納する。また(9)式により、同じ答を、対数
―直線変換器58の入力ラツチに書込む。つぎ
に、(10)式にしたがい、対数―直線変換器58の出
力と包絡線サンプルレジスタ59の出力を読み出
し、その差ΔLEi+1(K,I)をとつて、差分包絡
線データレジスタ62の(I)番地に書き込む。
つぎに(11)式にしたがい対数−直線変換器58の出
力であるLEi+1(K,I)を包絡線サンプルレジス
タ59の(K,I)番地に書き込む。上記説明お
よび(6)〜(11)式において、(K,I)は、8×20=
160ワードのレジスタのうちの1つを指示する。
iは正の整数で鍵ONを検出した後を1として順
次増加するサンプル番号である。
上記計算手順を実行するには、先に説明したア
ドレスコードAD1〜4,書込指令信号WR4〜
7,10、読出指令信号OC1〜6,7A,7B
を(6)〜(11)式の順序で出力するようにすればよい。
(6)〜(11)式を、まずK=1において、I=1〜20に
対して実行し、つぎにK=2,……,8としてゆ
き、一順すると、また最初にもどるようにするこ
とにより、iを1つずつ進めてゆくことができ
る。差分包絡線データレジスタ62は、I=1〜
20の20ワードのレジスタから成る。したがつて、
I=1〜20の新しい20個のΔLEi+1(K,I)が求
まると、そのあと、この新しいΔLEi+1(K,I)
は、差分包絡線データレジスタ63の内部の対応
する20個の番地のレジスタへ転送される。この転
送の速度は、差分包絡線データレジスタ63の読
出速度、すなわち、アドレスコードAD5の更新
速度に一致していなければならない。またこの速
度は、最終的にエンベロープデータLEi,jが出力さ
れる周期に対応する。差分包絡線データレジスタ
63のアドレスAD5は常に160を周期として循
環的に変化し、ΔLEi(K,I)がアドレスコード
AD5で決まる(K,I)にしたがつて、つぎつ
ぎ出力される。シフトゲート64はΔLEi(K,
I)を所定ビツト数だけシフトして、δi(K,I)
を出力し、加減算器65とレジスタ66により累
算してゆく。
第9図は第8図の実施例に用いるパラメータ
ROM7のデータの例である。番地0は、パーカ
ツシブかノーマルエンベロープかなど音の基本性
質を示すMODEコードと、I=1〜20の20本の
包絡線のうち最大何本を出力するかを指定する高
周波制御コードより成る。番地1は先述のレリー
ズアドレスである。番地2〜21は、20本の包絡線
信号に対応する各タイムスロツトが、何番目のエ
ンベロープデータを使用するかを指定するテーブ
ルである。22〜41番地は20個のスローブデータで
ある。42番地は立上り部分のポイントインタバル
PIとポイントナンバーPNである。43〜62,63〜
82,……,103〜122番地は各20個ずつPN個グル
ープのdB差分データである。123番地はつぎのPI
とPNである。124〜143,144〜163,164〜183,
……,204〜223は各20個ずつのdB差分データで
ある。以降同様の配列となつている。このような
構成のパラメータが複数セツト用意されている。
それぞれのセツトは特定の音色の特定の音域に対
応して設けられている。
第8図のアドレスコントローラ50にCPU3
(第1図)からアドレスコード、データ、制御信
号,が供給されて、音色コード、ノー
トオクターブデータ、鍵ON,OFFデータが供給
されると、それらのデータをもとにして、パラメ
ータROMの内の指示された音色領域の中のノー
トオクターブに対応するパラメータセツトが入つ
ている領域のスタートアドレスが判る(このスタ
ートアドレスは、CPU3から直接与えるように
してもよい。)。このスタートアドレスをパラメー
タROMヘアドレスバスADを介して供給し、デ
ータをRDBより読み出して、アドレスコントロ
ーラ50の内部のレジスタに格納する。つぎつぎ
にアドレスを進めて、0〜21番地のデータを取り
込む。つぎにスローブデータを22〜41番地より読
出してスローブデータレジスタ55に格納する。
つぎに42番地のPIとPNをアドレスコントローラ
50内の所定のレジスタに格納する。つぎに43〜
62番地のdB差分データΔE1(K,I)をdB差分レ
ジスタ56に格納する。以上のデータを読み込ん
だので、(6)〜(11)式の演算が先述の手順で行なえ
る。モード、高調波制限コード、レリーズアドレ
ス、タイムスロツト/包絡線番号テーブル、PI,
PNなどは、各チヤンネルごとに必要なので、そ
れぞれを格納するレジスタをアドレスコントロー
ラの内部に備えている。
第9図において、高調波制限コードMは1〜20
の数で、この数Mを越え20以下の包絡線サンプル
として、ゼロを出力するように指定する。このた
めには、(M+1)〜20に対してはΔEiとして負
の大きい数を適用することにより、ΔLEiとして
負の大きい数とし、シフト量を小さくとつておく
ことにより、δiを負の大きな数とする。このよう
にすることにより、加減算器65における累積値
を負数としてしまう。一方、一般に包絡線サンプ
ルは通常ゼロか圧の値でよい。したがつて、加減
算器65の演算結果が負のときは、これを検出し
て、ゼロを強制的に出力するように制御線68を
設けている。このようにすれば、不用な包絡線サ
ンプルをゼロとすることができる。
第9図においてタイムスロツト/包絡線番号テ
ーブルは、I=1〜20のタイムスロツトの任意の
タイムスロツトの包絡線のdB差分データΔEi(K,
I)をIが異なる他のデータΔEi(K,I′)(I′≠
I)で代用する際に、IとI′の対応表を与えるも
のである。このようにしておくと、ΔEi(K,I)
としては、I=1〜20の全部をもつ必要がなく、
I=1〜10を準備しておきI=11〜20について
は、I=1〜10のうちの適切なもの、形状の似て
いるものを選択するようにできる。このために
は、I=11〜20の計算において、I=1〜10に対
応するΔEi(K,I)の格納されているアドレス
を出力するようなアドレス変換操作を行なえばよ
い。このようなアドレスの変換は、マイクロコン
ピータやミニコンピユータの相対番地や間接番地
の操作と同様の操作により実現できる。
第8図のトレモロ変調レジスタ54に供給する
データは、周期的に変動する波形の差分PCMデ
ータをROMに格納したものを読出すようにすれ
ばよい。
以上のように、第8図に示したマイクロプロセ
ツサ構造のサンプル演算器を用いることによつて
バスラインに接続したレジスタ群と加減算器など
により、プログラムによつて所定の演算ができ
る。(6)〜(11)式の手順は1つの例であつて、一部の
データを省いたり、あるいは、手順を変更するこ
とにより種々の実施例を構成できる。
アドレスコントローラ50、タイミングパルス
ジエネレータ51、シーケンサ52、命令解読器
53は、既に種々のマイクロプロセツサで知られ
ているので、その詳細については省く。
上記説明のように、鍵ONの状態が続くと、レ
リーズアドレスRADの手前で一定の包絡線サン
プルを出しつづけるようにしてもよいが、RAD
―1に到達するとそのあとから、さらに手前のア
ドレスに飛ばすことにより、たとえば第3図bで
説明すれば、S6〜S15を繰り返すようにアドレス
の操作を行なつてもよい。とくに本発明において
はS6〜S15を繰返すのではなく、S15からS6〜S15
の間のアドレスに適当に飛ぶようにしている。こ
のようなアドレスの操作は、擬似ランダムシーケ
ンス発生器の出力するランダムコードをアドレス
に加算または減算することによつて実現すること
ができる。
このようにすれば鍵ONで長時間発音がつづい
ても、エンベロープが不規則に変化し単調さが防
止できる。
レリーズ過程の一種として、楽器ではダンパー
をかけたり、ミユーテイングを高速でかけたりす
ることが要求される。このような要求が発生した
場合、dB差分データを負の大きい値にすること
により、累算により急速な減衰を実現できる。こ
のためには、ΔEiとして所定の値を書き込むよう
な手順をつくつておけば追い。
第10図は、第8図の実施例のタイミングを示
す図である。第10図Aは、正弦波波形のサンプ
ル並びを示すもので、ある1つの正弦波波形のサ
ンプル周期は20μsである。第10図Bは、20μsの
中を拡大したもので、この中に8×20=160個の
タイムスロツトがあり、160個のサンプルが存在
する。各サンプルは、125nsきざみで処理される。
チヤンネル1(CH1)には、20個のサンプルが
ある。CH2〜8も同様である。一方、第10図
Cは、Aに同期しながら、差分包絡線サンプル
ΔLEi,jの計算を行なうタイミングである。160μs
を単位とするチヤンネルタイムスロツトCHSが
1〜8まで設けられている。CHS1では、チヤ
ンネル1のΔLEi(1,I)の計算が行なわれ、以
下順に対応するチヤンネルの計算が行なわれる。
160×8=1280μs(1.28ms)周期で各チヤンネル
のΔLEi計算が繰り返される。第10図Dは、各
チヤンネルタイムスロツトCHSの内部を表わし
たもので、例として、CHS1を拡大している。
CHS1の中には、5μsを単位として、処理タイム
スロツトPTSが1〜32まである。PTS(I),
I=1〜20ではチヤンネル1における、20個のス
ペクトル(正弦波形)に対応する差分包絡線サン
プルΔLEi(K,I)を計算する。そして、PTS2
1の前半の25μsにおいて、計算された20個の
ΔLEi(K,I)値を第10図Fに示すように
125nsきざみで、差分包絡線レジスタ63(第8
図)へ転送する。この転送のタイミングは、
CHS1〜8で異なる。たとえば、CHS8では
PST24の後半で実行される。第10図Eは各
処理タイムスロツトPTS1〜20の中味を拡大
したものである。PHS1〜20は、それぞれ、
命令タイムスロツトITS1〜6の6つの部分に分
かれている。それぞれは830nsの長さである。こ
れらの命令タイムスロツトITSにおいて前記(6)〜
(11)式の命令が実行される。PTS1〜20の間は、
第8図の実施例において、加減算器61を中心と
する演算が行なわれる。PTS21〜32の間に、
第8図におけるΔAMi(K,I),SLOPE(K,
I),ΔEi(K,I)を中心とするデータの新たな
書き込みをデータバスDBを介して行なう。第3
図の包絡線の形状において、パーカツシブ形の場
合、指数関数で減衰する場合には、ΔEは減衰過
程においては、iにかかわらず一定の値で良いこ
とになるから、減衰過程における代表値として、
一種のΔEを持つだけで良くなり、大幅なデータ
圧縮ができることになる。
第4図の対数−直線変換器35の変換特性とし
て、入力Soが小さいとき、たとえば−80dB以下
に相当する入力コードに対しては、LEoとしてゼ
ロを出力するように、ROMを構成してもよい。
以上のように本発明によれば、包絡線サンプル
をデイジタルデータとして記憶し、これをもと
に、補間演算しているので、まばらな包絡線サン
プルをもとにして、なめらかに連続する包絡線信
号データが得られる。
さらに鍵ON時にエンベロープデータのアドレ
スをランダムに変化させることにより単調さを改
良することができる。
【図面の簡単な説明】
第1図は本発明を採用した電子楽器のブロツク
図、第2図は本発明の基本構成を示すブロツク
図、第3図は本発明の包絡線信号発生方法の扱う
包絡線信号波形を示す図、第4図は本発明の実施
例の要部ブロツク図、第5図、第6図は本発明に
用いるデータのフオーマツトの一例を示す図、第
7図はアドレス演算レジスタを示す図、、第8図
は本発明の他の実施例のブロク図、第9図はその
データのフオーマツトの一例を示す図、第10図
はそのタイミングチヤートを示す図である。 7……記憶器、20……サンプル演算器、23
……補間計算器。

Claims (1)

  1. 【特許請求の範囲】 1 楽音の包絡線信号を記憶したデイジタル型の
    記憶器と、上記記憶器からの包絡線信号を順次読
    出して包絡線サンプルを生成するサンプル演算器
    と、上記包絡線サンプルの相隣るものの間を補間
    演算する補間計算器とを備えた包絡線信号発生装
    置の包絡線信号発生方法であつて、記憶器に記憶
    されたデイジタルデータの読み出しを、鍵オンが
    所定時間続いた以後、データのアドレスが鍵オン
    に対応するアドレスのうち所定の範囲内において
    ランダムに変化するようにしたことを特徴とする
    包絡線信号発生方法。 2 特許請求の範囲第1項の記載において、記憶
    器は、包絡線信号の立上りと立下り区間の少なく
    とも一方において傾斜に対応したスロープデータ
    を記憶し、サンプル演算器は、上記スロープデー
    タにより指定されるスロープ値を上記立上りと立
    下り区間において包絡線サンプルに加えることに
    より、急峻な包絡線信号を生成し得るようにした
    包絡線信号発生方法。 3 特許請求の範囲第1項の記載において、包絡
    線サンプルの生成周期を可変にすると共に、生成
    周期に応じて補間演算区間を可変とした包絡線信
    号発生方法。 4 特許請求の範囲第1項の記載において、記憶
    器に記憶されたデイジタルデータの読み出しを、
    鍵オン時には、レリーズ過程のアドレスに飛ぶよ
    うにした包絡線信号発生方法。 5 特許請求の範囲第1項の記載において、サン
    プル演算器と補間演算器を時分割多重動作させ、
    複数の包絡線信号を発生するようにした包絡線信
    号発生方法。
JP57084234A 1982-05-18 1982-05-18 包絡線信号発生方法 Granted JPS58200296A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57084234A JPS58200296A (ja) 1982-05-18 1982-05-18 包絡線信号発生方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57084234A JPS58200296A (ja) 1982-05-18 1982-05-18 包絡線信号発生方法

Publications (2)

Publication Number Publication Date
JPS58200296A JPS58200296A (ja) 1983-11-21
JPH0125079B2 true JPH0125079B2 (ja) 1989-05-16

Family

ID=13824777

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57084234A Granted JPS58200296A (ja) 1982-05-18 1982-05-18 包絡線信号発生方法

Country Status (1)

Country Link
JP (1) JPS58200296A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4502361A (en) * 1983-12-08 1985-03-05 Allen Organ Company Method and apparatus for dynamic reproduction of transient and steady state voices in an electronic musical instrument
JPS61233787A (ja) * 1985-04-10 1986-10-18 松下電器産業株式会社 電子楽器
JP3261713B2 (ja) * 1991-10-02 2002-03-04 ヤマハ株式会社 楽音発生装置
JP2773601B2 (ja) * 1993-06-11 1998-07-09 ヤマハ株式会社 信号処理装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51132818A (en) * 1974-12-27 1976-11-18 Kawai Musical Instr Mfg Co Ltd Electron musical instrument
JPS5383612A (en) * 1976-12-29 1978-07-24 Nippon Gakki Seizo Kk Wave generator for electronic musical instruments
JPS5465020A (en) * 1977-11-01 1979-05-25 Nippon Gakki Seizo Kk Waveform generator of electronic musical instruments
JPS5540417A (en) * 1978-09-15 1980-03-21 Casio Computer Co Ltd Controlling tone generation in electronic musical instrument
JPS5543552A (en) * 1978-09-25 1980-03-27 Nippon Musical Instruments Mfg Electronic musical instrument
JPS5565995A (en) * 1978-11-11 1980-05-17 Nippon Musical Instruments Mfg Electronic musical instrument

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51132818A (en) * 1974-12-27 1976-11-18 Kawai Musical Instr Mfg Co Ltd Electron musical instrument
JPS5383612A (en) * 1976-12-29 1978-07-24 Nippon Gakki Seizo Kk Wave generator for electronic musical instruments
JPS5465020A (en) * 1977-11-01 1979-05-25 Nippon Gakki Seizo Kk Waveform generator of electronic musical instruments
JPS5540417A (en) * 1978-09-15 1980-03-21 Casio Computer Co Ltd Controlling tone generation in electronic musical instrument
JPS5543552A (en) * 1978-09-25 1980-03-27 Nippon Musical Instruments Mfg Electronic musical instrument
JPS5565995A (en) * 1978-11-11 1980-05-17 Nippon Musical Instruments Mfg Electronic musical instrument

Also Published As

Publication number Publication date
JPS58200296A (ja) 1983-11-21

Similar Documents

Publication Publication Date Title
US5094136A (en) Electronic musical instrument having plural different tone generators employing different tone generation techniques
JP2722907B2 (ja) 波形発生装置
US4726276A (en) Slur effect pitch control in an electronic musical instrument
JPH0119594B2 (ja)
US5446237A (en) Electronic musical instrument having a control section memory for generating musical tone parameters
JP2921376B2 (ja) 楽音発生装置
US4785706A (en) Apparatus for generating a musical tone signal with tone color variations independent of tone pitch
US5248842A (en) Device for generating a waveform of a musical tone
US5038661A (en) Waveform generator for electronic musical instrument
JPH0125079B2 (ja)
JPH0310959B2 (ja)
JPS6352399B2 (ja)
JPH0213799B2 (ja)
JP3087744B2 (ja) 楽音発生装置
JPS6352400B2 (ja)
EP0947979B1 (en) Tone signal generator having a sound effect function
JPS6330638B2 (ja)
JP3016470B2 (ja) 音源装置
US5639978A (en) Musical tone signal generating apparatus for electronic musical instrument
JPH0740191B2 (ja) エンベロープ作成装置
JP3104873B2 (ja) 音源装置
JP2723041B2 (ja) 楽音発生装置
US5883324A (en) Signal generating apparatus and signal generating method
JP2910632B2 (ja) 波形メモリ音源装置
JPH07152380A (ja) 楽音制御情報発生装置