JPS6352400B2 - - Google Patents

Info

Publication number
JPS6352400B2
JPS6352400B2 JP57084233A JP8423382A JPS6352400B2 JP S6352400 B2 JPS6352400 B2 JP S6352400B2 JP 57084233 A JP57084233 A JP 57084233A JP 8423382 A JP8423382 A JP 8423382A JP S6352400 B2 JPS6352400 B2 JP S6352400B2
Authority
JP
Japan
Prior art keywords
envelope
data
address
sample
register
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
JP57084233A
Other languages
English (en)
Other versions
JPS58200295A (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 JP57084233A priority Critical patent/JPS58200295A/ja
Publication of JPS58200295A publication Critical patent/JPS58200295A/ja
Publication of JPS6352400B2 publication Critical patent/JPS6352400B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 本発明は、電子楽器に用いる楽音信号の種々の
包絡線信号をデイジタルデータとして生成する包
絡線信号発生装置に関し、特に、少量のデータで
広範な形状の信号が発生できるようにしたもので
ある。
第1図は、本発明の周波数制御装置を採用した
電子楽器のブロツク図である。1は鍵盤部、2は
音色タブレツトスイツチやビブラート効果のオン
オフスイツチ、ビブラート効果の深さを設定する
ボリユームなどにより構成される操作部、3は中
央処理装置(CPU)で、コンピユータなどに用
いられているものと同様のもの、4は読み書き可
能な記憶装置(ランダムアクセスメモリ、通常
RAMと呼ぶ)、5はCPU3の動作を決定するプ
ログラムが格納された読み出し専用記憶装置(リ
ードオンリーメモリー、通常ROMと呼ぶ)、7
は音色の合成するためのパラメータのうちエンベ
ロープパラメータを記憶しているROM、6は音
色の合成を行なうためのパラメータのうち周波数
に関するデータを記憶しているROMである。8
は本発明の周波数制御装置、9は特願昭56−
165189号のような正弦波発生器、10は包絡線信
号発生器、11は正弦波と包絡線信号を表わすエ
ンベロープデータを掛け合わせる掛算器、12は
時分割多重化されている掛算結果のうち、所定の
ものを加え合わせたり、時分割多重の順序と入れ
かえるタイムスロツト制御装置、13は時分割多
重化された位相変調器、14はデイジタルアナロ
グ変換器、15,16は電気音響変換器である。
鍵盤部1、操作部2、CPU3、RAM4、
ROM5、ROM6、ROM7、周波数制御装置
8、包絡線信号発生器10はデータバス、アドレ
スバスおよびコントロール線で結合されている。
このようにデータバスとアドレスバスとコントロ
ール線とで結合する方法そのものはミニコンピユ
ータやマイクロコンピユータを中心とした構成方
法として公知のものである。データバスとしては
8〜16本位用いられ、このバス線上をデータが一
方向でなく多方向に時分割的に送受信される。ア
ドレスバスも複数本たとえば16本用意され、通常
はCPU3がアドレスコードを出力し、他の部分
がアドレスコードを受け取る。コントロール線
は、通常、メモリ・リクエスト線(MREQ)、
I/Oリクエスト線(IQRQ)、リード線(RD)、
ライト線(WR)などが用いられる。MREQはメ
モリを読み書きすることを示し、IQRQは入出力
装置(I/O)の内容を取り出しすることを示
し、RDはメモリやI/Oからデータを読み出す
タイミングを示し、WRはメモリやI/Oにデー
タを書き込むタイミングを示す。このようなコン
トロール線を用いたものとしてはザイログ社のマ
イクロプロセツサZ80があげられる。
つぎに第1図の電子楽器の動作について述べ
る。鍵盤部1は複数の鍵スイツチを複数の群に分
けて、群内の鍵スイツチのON−OFF状態を一括
してデータバスに送ることができるように構成さ
れる。たとえば、5オクターブの鍵盤の場合61鍵
を6鍵(半オクターブ)づつの10群と1鍵のみの
1群の11群に分け、各群にアドレスコードを1つ
づつ割りつける。アドレスラインに、上記各群の
うちの1つを示すアドレスコードが到来し、
IORQとRDが印加されると、鍵盤部1はそのア
ドレスコードを解読して対応する群内のキースイ
ツチのON−OFFを示す6ビツトまたは1ビツト
のデータをデータバスに出力する。これらはデコ
ーダ、バスドライバおよび若干のゲート回路を用
いて構成することができる。操作部2のうち、タ
ブレツトスイツチについては鍵盤部1と同様の構
成をとることができる。ボリユームの設定状態に
ついては、ボリユームの出力する電圧をアナログ
デイジタル変換器によりデイジタルコードに変換
し、これを、アドレスコードとコントロール線
IORQとRDにより読み出すようにする。
CPU3はその内部にあるプログラムカウンタ
のコードに対応するROM5のアドレスから命令
コードを読み取り、これを解読して、算術演算、
論理演算、データの読み込みと書き込み、プログ
ラムカウンタの内容の変更による命令のジヤンプ
などの作業を行なう。これらの作業の手順は
ROM5に書き込まれている。まずCPU3は
ROM5より鍵盤部1のデータを取り込むための
命令を読み取り鍵盤部1の各鍵のON−OFFを示
すコードを各群ごとに取り込んで行く。そして、
押鍵されている鍵コードを、楽音発生部の有限の
チヤンネルに割り当ててゆく。
つぎにCPU3は操作部2よりデータを取り込
むための一群の命令を順次ROM5から読み取
り、これらを解読して、操作部2に対応するアド
レスコードとコントロール信号IORQとRDを出
力し、データバスに操作部2のスイツチやボリユ
ームの状態を表現するコードを出力させ、CPU
3内に読み込む。そして、どの音色の楽音信号を
合成すべきかをCPU3は知る。
以上で、楽音発生部のどのチヤンネルにどの周
波数をもつたどの音色を発生させるべきかが明確
になつたので、CPU3は各音色の周波数に関す
るデータを記憶しているROM6より、所望の音
色の周波数パラメータを格納してあるアドレスコ
ードとコントロール信号MREQとRDとを出力し
てデータバスに所望の周波数パラメータを読み出
してCPU3内に取り込み、周波数制御装置8に
書き込む。書き込むためには、周波数制御装置8
の内部に設けられたデータレジスタに対応するア
ドレスコードをCPU3が出力し、同時にIORQと
WRとを出力すると、WR信号の立上り時にデー
タバス上に出力されている周波数パラメータを表
わすデータが上記データレジスタに書き込まれ
る。
つぎに、出力すべき音色の内容を表わす音色パ
ラメータをROM7より読み出し、エンベロープ
発生器10の内部のレジスタに書き込む。つぎに
周波数制御装置8とエンベロープ発生器10の両
方に、発音出力指令を与えると、周波数制御装置
8は飛越数Jを正弦波発生器9に与え、包絡線信
号発生器10はエンベロープデータを発生する。
正弦波発生器9の出力する飛越数Jに比例した周
波数をもつた正弦波データとエンベロープデータ
は掛算されて、エンベロープが正弦波に付与され
る。正弦波データとエンベロープデータとはそれ
ぞれ時分割多重化されて発生する。時分割多重
は、例えば、160多重とし、1チヤンネル当り20
の正弦波を割り当て、8チヤンネル設けることに
する。通常は、20本の正弦波の合成により、ひと
つの楽音を合成することになる。したがつて、フ
ーリエ級数の式で知られるとおり、20の正弦波デ
ータを加算することになる。このためのタイムス
ロツト間のデータ加算を、タイムスロツト変換器
12で実施する。タイムスロツト変換器は、160
のタイムスロツトで時分割多重されて入力される
エンベロープデータで変調された正弦波データ列
のうち、所定のデータを加算しタイムスロツトの
数を減らしたり、あるいは特願昭57−202790号の
時分割多重変換装置のようにタイムスロツトの交
換を行なうものである。時分割多重位相変調器1
3は特願昭56−182083「デイジタル楽音変調装置」
のように時分割多重で複数種の変調を同時に実施
するものである。時分割多重位相変調装置13の
出力はアナログデイジタル変換器14によりアナ
ログ信号に直されて、電気音響変換器15,16
より出力される。
第1図では図示を省いたが、タイムスロツト変
換器12や時分割多重位相変調装置13に対して
も、アドレスバス、データバス、コントロール線
を介してCPU3と結合して、操作部2によつて
行なわれる音色や変調効果の設定に対応して、タ
イムスロツトの変換や変調条件を変えて設定する
ようにすることができる。
第1図において包絡線信号発生器10はROM
7にアドレスと読出指令信号とを出力して所望の
データを直接読み取ることもできるようにしてい
る。
第2図は本発明の包絡線信号発生装置の実施例
のブロツク図である。第2図において、7は上述
のパラメータROMであつて、その内部には包絡
線信号のサンプル値を圧縮したデータが記憶され
ている。20はサンプル演算器、21はタブレツ
トインタフエース、22は鍵インタフエース、2
3は補間計算器である。
タブレツトインタフエース21とパラメータ
ROM7には、第1図のCPUより音色コードが供
給される。音色コードのうちの上位3ビツトは8
種類の楽器のうちの1つを指定するコードとして
パラメータROM7の上位アドレスに印加され、
パラメータROM7のうちの上記指定された楽器
音のパラメータが格納されている領域を選択す
る。音色コードの下位ビツトには、音色のモー
ド、たとえば、エンベロープ形状が、オルガン型
かピアノ型かなどを示すデータが含まれており、
タブレツトインタフエース21を介してサンプル
演算器20に供給される。タブレツトインタフエ
ース21は、データラツチを含むもので、CPU
3がデータラツチに音色コードを書き込み、その
後、必要なタイミングにおいてサンプル演算器2
0が読み出す。CPU3は鍵インタフエース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を出しこれ
を加減算器32の一方の入力に供給する。加減算
器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だけ遅延されて加減算器39の
他方の入力に供給される。ビツトシフトレジスタ
38は一種の割算器で、 δo=(LEo−LEo-1)/(To-1/Ts) (2) (n=2、3、4、………) を実行する。
To-1/Ts=2P (3) のように2のべき乗であれば、Pビツトシフトす
ることが、割算に相当する。
δoを2P回累算すると、 ΔLEo=LEo−LEo-1 (4) (n=2、3、4、………) になる。したがつて、LEo-1からLEoの間を、
To-1の時間で直線補間できる。補間された包絡
線サンプルは LEo,j=LEo-1+j(LEo−LEo-1)/ (To-1/Ts) (5) (j=1、………、To-1/Ts) と表わすことができる。
So、LEo、ΔLEo、δoの生成はTi周期で実行さ
れる。したがつて、ラツチ30、レジスタ34,
36、ビツトシフトレジスタ38の記憶はTiごと
のラツチパルスが読出演算制御部25より出力さ
れて更新される。ビツトシフトレジスタ38のシ
フトビツト数Pは読出演算制御部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に出力され、RDが“0”
になつて、番地0に格納されているレリーズアド
レスRADを読み出し、これを内部のレジスタに
格納しておく。そのつぎにADを1増やし、かつ
RDを“0”にして1番地のΔE1をラツチ30に
書き込む。初期状態としてレジスタ30,34,
36,38,40にゼロが格納してあつたとする
と、S1=0、LE1=0、ΔLE1=0、δ1=0であ
つた。したがつて加減算器33の出力はS2=ΔE1
となる。このあとは先に述べた手順で演算が実施
される。iが1つ進むごとにアドレスADが1づ
つ増加する。
鍵を押しつづけるとTiはどんどん進むが、Ti
T15の直前になると、アドレスADの増加を停止
し、ビツトシフトレジスタ38の内容をクリアし
て、ゼロにし、直前の累算値を保持するようにす
れば包絡線信号はLF15を維持したままになる。
その後、鍵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〜ΔE14が格納され、
最後のグループとして、RAD番地にPIとPN、そ
の後にΔE15〜ΔE19が格納されている。RADは第
5図で述べたもの、SLOPEは立上り部の平均的
増分を示すデータでΔE1〜ΔE5に対し共通に加算
されるものである。PIはサンプル点間の間隔Ti
を示すコード、PNはサンプル点間隔Tiが何ポイ
ント続くかを示すコードである。第3図bの包絡
線であれば、2番地のPIは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の立上り部のデータ長を小さくするこ
とができ、データ圧縮できる。SLOPEデータは
第3図bの包絡線形状の平均傾斜を示し、ΔE1
ΔE5はその傾斜からのずれ分になる。レリーズ過
程でRADに逆傾斜すなわち負のスロープデータ
を設けてもよい。
第6図のデータ形式のパラメータROMを読み
出す読出演算制御装置25はその内部に、第7図
に示すようなPIレジスタ、PNレジスタ、ADレ
ジスタ、RADレジスタなどを備え、さらにALU
(算術論理演算器)、これらの動作手順を指示する
ROM、プログラムカウンタ、命令解読器などマ
イクロコンピユータで周知の回路を用いて構成す
ることができる。また、マイクロコンピユータそ
のものを使つて構成することも可能である。
上記説明では、1通りの包絡線信号をつくり出
す場合について説明した。楽音は一般に複数の周
波数成分より成りたつているから、複数の包絡線
信号を必要とする。また、単旋律だけでなく複音
を出す場合にも、それぞれの音に対して別々に包
絡線信号が必要になる。このためには、第4図の
実施例において、レジスタ34,36,40の内
部に、複数個のレジスタを設け、加算器33,3
9、減算器37、対数一直線変換器35、ビツト
シフトレジスタ38を時分割多重化して使用する
ようにすればよい。レジスタ34,36,40は
多重化数の段階を備えたシフトレジスタでも良
い。読出演算制御部25の動作手順も、多重化数
に対応して時分割動作するように構成すればよ
い。
第8図は第4図で説明した本発明の包絡線信号
発生装置のサンプル演算器の部分をマイクロプロ
セツサと同様に、加減算器を時分割で使い、か
つ、種々のデータをバスライン上で伝送し、演算
手順をプログラム制御により実行するようにした
実施例である。
第8図において、50はアドレスコントローラ
で第1図のCPU3からアドレスコードADR、デ
ータDB、入出力指令信号IORQ、書込指令信号
WRを受けて、パラメータROM7にアドレスAD
を送出し、パラメータROM7からアドレスAD
により指定されたデータをデータバスRDBより
読み込む。51はタイミングパルスジエネレータ
(TPG)で、マスタクロツク周波数から内部に必
要なパルス信号をつくり出す。TPG51はクロ
ツク発振器とカウンタとゲートを用いれば構成で
きる。52はシーケンサで、アドレスや後述する
書込指令信号や読出指令信号などを、演算手順に
したがい出力させるための手順を記憶したROM
である。53は命令解読器で、シーケンサ52が
出力する命令コードを入力とし、アドレスコー
ド、書込指令信号、読出指令信号を出力させる。
54はトレモロ変調レジスタで、トレモロ変調
を生じさせる周期的変動データの差分値をデータ
バスRDBより受け入れWR1の立上りで記憶す
る。OC1が“1”のとき、内容をAバスに出力
する。スロープレジスタ55はデータバスRDB
よりスロープデータを受け入れWR2の立上りで
記憶する。OC2が“1”のときAバスに出力す
る。AD1にはスロープレジスタ55の中にある
120個のレジスタのうちの1つを指定するアドレ
スコードが与えられる。56はdB差分レジスタ
で120個のデータレジスタより成り、AD1によ
りそのうちの1つが指定される。そしてWR3の
立上りで、データバスRDBよりdB差分データを
受け入れて記憶し、OC3が“1”のとき、その
内容とBバスに出力する。57はエンベロープレ
ジスタで120個のデータレジスタより成り、アド
レスコードAD2によりそのうちの1つが指定さ
れ、Cバスより供給されるデータSoをWR4の立
上りで記憶する。OC4が“1”のときdB尺度上
の包絡線サンプルデータSoをAバスに出力する。
58は対数一直線変換器で、Cバスより供給され
るデータSoをWR5の立上りでラツチし、対数一
直線変換された包絡線サンプルLEoを、OC5が
“1”のときにAバスに出力する。59は包絡線
サンプルレジスタで120個のレジスタより成りア
ドレスコードAD3によりその1つが指定され、
Cバスより供給される包絡線サンプルLEoが、
WR6の立上りでラツチされ、OC6が“1”の
ときBバスに出力される。60はワーキングレジ
スタ(WREG)で2ワードのレジスタにより構
成され、アドレスコードAD3によりそのうちの
1つが選択され、Cバスより供給されるデータを
WR7の立上りで内部に記憶し、OC7Aが“1”
のときにAバスにその内容を出力し、OC7Bが
“1”のときにBバスにその内容を出力する。6
1は加減算器でAバスとBバスの各入力データを
演算して、Cバスに出力する。加減算の切り換え
選択は命令解読器53により指定される。
62は差分包絡線データレジスタでΔLEoを記
憶する。20個のレジスタより成りそのうちの1つ
がアドレスコードAD4により選択され、WR1
0の立上り時点で加減算器61が出力するΔLEo
を内部に記憶する。63は差分包絡線データレジ
スタで120個のデータレジスタより成りそのうち
の1つがアドレスデータAD5により指定され、
WR8が立上がるときに入力データが記憶され、
OC8が“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)を包絡線サンプルレジスタ5
9の(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本の包絡
線のうち最大何本を出力するかを指定する高調波
制限コードより成る。番地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図)からアドレスコード、データ、制御信
号IORQ,WRが供給されて、音色コード、ノー
トオクターブデータ、鍵ON、OFFデータが供給
されると、それらのデータをもとにして、パラメ
ータROMの内の指示された音色領域の中のノー
トオクターブに対応するパラメータセツトが入つ
ている領域のスタートアドレスが判る(このスタ
ートアドレスはCPU3から直接与えるようにし
てもよい。)。このスタートアドレスをパラメータ
ROMへアドレスバスADを介して供給し、デー
タをRDBより読み出して、アドレスコントロー
ラ50の内部のレジスタに格納する。つぎつぎに
アドレスを進めて、0〜21番地のデータを取り込
む。つぎにスロープデータを22〜41番地より読出
してスロープデータレジスタ55に格納する。つ
ぎに42番地のPIとPNをアドレスコントローラ5
0内の所定のレジスタに格納する。つぎに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の間のアドレスに適当に
飛ぶようにしてもよい。このようなアドレスの操
作は擬似ランダムシーケンス発生器の出力するラ
ンダムコードをアドレスに加算または減算するこ
とによつて実現することができる。
レリーズ過程の一種として、楽器ではダンパー
をかけたり、ミユーテイングを高速でかけたりす
ることが要求される。このような要求が発生した
場合、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)を
計算する。そして、PTS21の前半2.5μsにおい
て、計算された20個のΔLEi(K、I)値を第10
図Fに示すように125nsきざみで、差分包絡線レ
ジスタ63(第8図)へ転送する。この転送のタ
イミングはCHS1〜8で異なる。たとえば、
CHS8ではPTS24の後半で実行される。第1
0図Eは各処理タイムスロツトPTS1〜20の
中味を拡大したものである。PTS1〜20はそ
れぞれ命令タイムスロツトITS1〜6の6つの部
分に分かれている。それぞれは830nsの長さであ
る。これらの命令タイムスロツトITSにおいて前
記(6)〜(11)式の命令が実行される。PTS1〜20
の間は第8図の実施例において、加減算器61を
中心とする演算が行なわれる。PTS21〜32
の間に、第8図におけるΔAMi(K、I)、
SLOPEi(K、I)、ΔEi(K、I)を中心とするデ
ータの新たな書き込みをデータバスDBを介して
行なう。
第3図の包絡線の形状において、パーカツシブ
形の場合、指数関数で減衰する場合には、ΔEは
減衰過程においては、iにかかわらず一定の値で
良いことになるから、減衰過程における代表値と
して、一種のΔEを持つだけで良くなり、大幅な
データ圧縮ができることになる。
第4図の対数一直線変換器35の変換特性とし
て、入力Soが小さいとき、たとえば−80dB以下
に相当する入力コードに対してはLEoとしてゼロ
を出力するように、ROMを構成してもよい。
以上のように本発明によれば、次のような優れ
た効果が得られる。
(1) 包絡線サンプルをデイジタルデータとして記
憶し、これをもとに、補間演算しているので、
まばらな包絡線サンプルをもとにして、なめら
かに連続する包絡線信号データが得られる。
(2) 包絡線サンプルを差分データとして記憶して
おき、これを累算するようにしているので包絡
線サンプルを単純に連続的に読み出すことが適
切でない。鍵ON→OFFへの変化時点において
も、なめらかな包絡線変化がつくり出せる。
【図面の簡単な説明】
第1図は本発明を採用した電子楽器のブロツク
図、第2図は本発明の基本構成を示すブロツク
図、第3図は本発明の包絡線信号発生装置の扱う
包絡線信号波形を示す図、第4図は本発明の実施
例の要部のブロツク図、第5図、第6図は本発明
に用いるデータのフオーマツトの一例を示す図、
第7図はアドレス演算レジスタを示す図、第8図
は本発明の他の実施例のブロツク図、第9図はそ
のデータのフオーマツトの一例を示す図、第10
図はそのタイミングチヤートを示す図である。 7……記憶器、20……サンプル演算器、23
……補間計算器。

Claims (1)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57084233A JPS58200295A (ja) 1982-05-18 1982-05-18 包絡線信号発生装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57084233A JPS58200295A (ja) 1982-05-18 1982-05-18 包絡線信号発生装置

Publications (2)

Publication Number Publication Date
JPS58200295A JPS58200295A (ja) 1983-11-21
JPS6352400B2 true JPS6352400B2 (ja) 1988-10-18

Family

ID=13824751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57084233A Granted JPS58200295A (ja) 1982-05-18 1982-05-18 包絡線信号発生装置

Country Status (1)

Country Link
JP (1) JPS58200295A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0534799U (ja) * 1991-10-07 1993-05-07 株式会社ケンウツド プロロジツクデコーダ

Family Cites Families (7)

* 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
JPS6042952B2 (ja) * 1976-12-29 1985-09-25 ヤマハ株式会社 電子楽器用ウエイブジエネレ−タ
JPS5917838B2 (ja) * 1977-11-01 1984-04-24 ヤマハ株式会社 電子楽器の波形発生装置
JPS6040620B2 (ja) * 1978-09-15 1985-09-11 カシオ計算機株式会社 電子楽器に於ける楽音発生制御装置
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
JPS5784232A (en) * 1980-11-11 1982-05-26 Ikeda Bussan Co Ltd Automatic stabilizing system for vehicle seat

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0534799U (ja) * 1991-10-07 1993-05-07 株式会社ケンウツド プロロジツクデコーダ

Also Published As

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

Similar Documents

Publication Publication Date Title
US5831193A (en) Method and device for forming a tone waveform by combined use of different waveform sample forming resolutions
KR940005988B1 (ko) 악음파형 발생장치
CN101149916B (zh) 滤波装置以及使用滤波装置的电子乐器
US4375777A (en) Electronic musical instrument
EP0235538B1 (en) Waveform generator for electronic musical instrument
JPH0310959B2 (ja)
JPS6352399B2 (ja)
EP0124197A2 (en) Waveform table modification instrument and method for generating musical sound
JPH0125079B2 (ja)
JPH0318197B2 (ja)
US5687105A (en) Processing device performing plural operations for plural tones in response to readout of one program instruction
JPH0573031B2 (ja)
JP3016470B2 (ja) 音源装置
JPH0740191B2 (ja) エンベロープ作成装置
JP2869574B2 (ja) 楽音波形発生装置
JPS6330638B2 (ja)
JP3104873B2 (ja) 音源装置
JP2910632B2 (ja) 波形メモリ音源装置
JP3094759B2 (ja) 楽音信号分配処理装置
JP2723041B2 (ja) 楽音発生装置
JP2546464B2 (ja) 電子楽器
JPS58200295A (ja) 包絡線信号発生装置
JP2802714B2 (ja) 電子楽器
JPH021314B2 (ja)
JPS5926790A (ja) 楽器用組合せ楽音発生器