JP2537988Y2 - 楽音発生装置 - Google Patents

楽音発生装置

Info

Publication number
JP2537988Y2
JP2537988Y2 JP2550587U JP2550587U JP2537988Y2 JP 2537988 Y2 JP2537988 Y2 JP 2537988Y2 JP 2550587 U JP2550587 U JP 2550587U JP 2550587 U JP2550587 U JP 2550587U JP 2537988 Y2 JP2537988 Y2 JP 2537988Y2
Authority
JP
Japan
Prior art keywords
envelope
function
order
data
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2550587U
Other languages
English (en)
Other versions
JPS63135399U (ja
Inventor
順 吉野
研一 堤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2550587U priority Critical patent/JP2537988Y2/ja
Priority to US07/158,562 priority patent/US4961364A/en
Publication of JPS63135399U publication Critical patent/JPS63135399U/ja
Application granted granted Critical
Publication of JP2537988Y2 publication Critical patent/JP2537988Y2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【考案の詳細な説明】 [考案の技術分野] この考案は楽音発生装置に関し、特に、成分波発生手
段からの複数の次数の成分波信号のそれぞれに、対応す
る次数のエンベロープ関数を使ってエンベロープを付与
することにより楽音信号を合成するタイプ(例えば、正
弦波合成タイプ)の楽音発生装置に関する。
[考案の背景] 従来の楽音発生装置として、周波数成分である複数の
正弦波のそれぞれに対するエンベロープをユーザーが個
別に設定入力し、楽音生成の際に、この個別のエンベロ
ープによって対応する次数の正弦波をエンベロープ制御
することにより楽音信号を正弦波合成するものが知られ
ている。
この種の楽音発生装置によれば、複数の正弦波信号が
周波数別(次数別)に独立なエンベロープ関数により制
御されるため、豊かな音色(例えば、ハイパスフィルタ
ー効果のついた音色)の楽音を得ることが可能である。
しかしながら、ユーザーは、得ようとする楽音の周波
数成分のすべてについて、成分別にエンベロープを設定
入力しなければならないため、入力に大変な手間を要
し、その負担が非常に重いという問題があった。
[考案の目的] したがってこの考案は、ごく簡単な入力操作によっ
て、各成分波信号に独立なエンベロープ関数を得ること
ができ、これらのエンベロープ関数によりハイパスフィ
ルターのような作用を与えることのできる楽音発生装置
を提供することを目的とする。
[考案の要点] この考案は、上記の目的を達成するため、成分波発生
手段からの複数の成分波信号をそれぞれに、対応する次
数のエンベロープ関数を使ってエンベロープを付与する
ことにより楽音信号を合成するタイプの楽音発生装置に
おいて、すべての次数に共通な共通エンベロープ関数を
与える共通エンベロープ設定手段と、この共通エンベロ
ープ設定手段の与える共通エンベロープ関数から次数別
の上記エンベロープ関数を得るため、各次数の値を所定
の基準に従って規格化した次数データxを第1入力と
し、共通エンベロープ関数のレベル値を所定の基準に従
って規格化したレベル値データw(t)を第2入力とし
て受け、次数データxとレベル値データw(t)との差
u=x−w(t)を演算し、各次数のエンベロープ関数
Fx(t)を差uの関数G(u)で定義し、この関数G
(u)として、差uの値の所定の範囲内において、uの
値に依存して変化する特性をもつものを使用し、この関
数G(u)に、各次数xについての、共通エンベロープ
関数との差uの値を適用することにより、上記複数の次
数のエンベロープ関数群のうち、少なくとも一部の複数
のエンベロープ関数群に属するエンベロープ関数が所定
の共通エンベロープ関数が与えられた場合に互に異なる
特性をもつよう、各次数のエンベロープ関数を生成する
エンベロープ変換手段と、を有し、上記エンベロープ変
換手段は、関数f(u)のuについての導関数である
f′(u)がu<0のときf′(u)>0を満足する関
数f(u)を用いて上記エンベロープ関数を生成するこ
とにより、共通エンベロープ関数のレベル値データが次
数データより大きい範囲ではその差に従って減衰される
ようにすることを特徴とする楽音発生装置を提供する。
一態様において、上記エンベロープ変換手段は、上記
レベル値データとして、上記共通エンベロープ関数の各
時刻における瞬時レベル値を表わすデータを受け、各次
数の値の次数データxと各時刻における瞬時レベル値の
データw(t)との間でその差uを演算し、この差uに
対する関数f(u)の値を各時刻について求めることに
より、各次数のエンベロープ関数の各時刻における瞬時
レベル値を求めることを特徴とする。
もう1つの態様において、上記エンベロープ変換手段
は、上記レベル値データとして、上記共通エンベロープ
関数をステップ毎のレートと目標レベルで表現した場合
における、各ステップの目標レベルを表わす目標レベル
値データを受け、各次数の値の次数データxと各ステッ
プの目標レベル値データw(t)との間で、その差uを
求め、この差uに対する関数f(u)の値を各ステップ
について求めることにより、各次数のエンベロープ関数
の各ステップの目標レベル値を求めることを特徴とす
る。
[考案の作用、展開] この考案によれば、ユーザーは複数の次数の成分波信
号のそれぞれに対し、次数ごとにエンベロープ関数を作
成する必要はなく、わずかに1つのエンベロープ関数を
決めれば十分である。すなわち、本楽音発生装置はこの
単一のエンベロープ関数を共通エンベロープ関数として
利用し、この共通エンベロープ関数から成分波信号の各
次数に固有なエンベロープ関数を変換によって生成す
る。そして、この変換においては、共通エンベロープ関
数の値と次数の値とが比較され、次数の値の方が小さい
(低い)範囲では、その差に従って減衰された値をもつ
エンベロープ関数が生成される。したがって、次数の低
い成分波信号は高い成分波信号より減衰されることにな
り、結果としてハイパスフィルターに似た効果のついた
楽音が得られる。
即ち、この考案によれば、各次数の値を所定の基準に
従って規格化した次数データxを第1入力とし、共通エ
ンベロープ関数のレベル値を所定の基準に従って規格化
したレベル値データw(t)を第2入力として受け、次
数データxとレベル値データw(t)との差u=x−w
(t)を演算する。更にこの考案によれば、次数xのエ
ンベロープ関数をこの差uの関数で定義する。したがっ
て、いま、次数xのエンベロープ関数をFx(t)とお
き、このエンベロープ関数を定義する、uの関数をG
(u)を書くと、 Fx(t)=G(u) となる。
このように、本考案にあっては、次数のエンベロープ
関数はu(=x−w(t))の関数であり、uに依存し
て変化するものである。
したがって、原理上、次数xのエンベロープ関数F
x(t)は、次数xの大きさ(次数データが示す次数の
値)と共通エンベロープ関数w(t)(レベル値データ
が示す共通エンベロープ関数のレベル値)に依存するこ
とになる。いま特定のレベル値データを考えると、この
特定の「同じ」レベル値データに対して、uの値は次数
毎に異なることになる。よって、レベル値データを固定
して考えてみた場合には、変換後のエンベロープ関数
(次数エンベロープ関数)は、次数xの大きさに依存す
ることになる。
もっとも、本考案の適用にあたっては、使用するすべ
ての次数のエンベロープ関数が、すでに互に異なる特性
をもつ必要はなくその一部である複数の次数エンベロー
プ関数群についてのみ、所定の共通エンベロープ関数が
与えられた場合に(所与の共通エンベロープ関数との関
係において)、当該次数エンベロープ関数群が相互に異
なる特性をもてば足りる。このことは、次数ベンベロー
プ関数Fx(t)を定義する差uの関数G(u)として、
差uの値の全範囲ではなく一部の範囲ないし所定の範囲
内でのみ、uの値に依存して変化する特性をもつものが
使用できることを意味する。
このことは、差uの軸を周波数軸と「仮定」したとき
の、ハイパスフイルタ特性関数を考えてみると容易に理
解できる。一般のハイパスフィルタは低い周波数帯では
ほぼ利得0の阻止特性(理想的には無限大の減衰)を示
し、十分高い周波数帯ではほぼ利得1の通過特性を示
す。G(u)によるこれのシミュレーションを考えてみ
ると、ある値αよりuが小さいときには、G(u)=0
とし、別のある値β(β>α)よりuが大きいときはG
(u)=1とすることにより、G(u)に阻止帯域と通
過帯域の特性をもたせることができる。そしてuが
[α、β]の範囲内(例えばβ=0ならu<0)にある
ときに、uの値に依存して変化する関数を用いる。この
考案の場合、ハイパスフィルタシミュレーションなの
で、uの増大に対して増加する(例えば単調増加する)
関数が使用できる。
本書において、このようなu値依存変化関数はf
(u)で示してある。
関数f(u)(なお、この段落と次の段落の文脈にお
いては、このf(u)を拡張後の意味G(u)と読み替
えてもよい)の1つの選択例は、u<0において差uの
絶対値が大きいほどf(u)が小さくなるようにするこ
とである。換言すれば次数xのエンベロープ関数F
x(t)と、次数xより低い次数yのエンベロープ関数F
y(t)との間にFx(t)≧Fy(t)が成立するように
選択する。
しかしながら、この考案は、この選択例に限定される
ものではなく、f(u)としては、u<0における差u
の絶対値|u|の増大に対して全体として減少するもので
あればよく、例えば、局部的にf′(u)<0となって
その部分における|u|の増大に対してf(u)が増加。
また、一時的にFx(t)<Fy(t)となってもよい。あ
るいは、上述の選択に係る関数f(u)に共通エンベロ
ープ関数W(t)を乗じたものを次数xのエンベロープ
関数Fx(t)としてもよい。すなわちFx(t)=f
(u)・W(t)である。この場合、関数f(u)は次
数xのエンベロープ関数Fx(t)を得るため、共通エン
ベロープ関数W(t)を減衰する減衰係数として働く。
共通エンベロープ関数を各次数のエンベロープ関数に
変換する手段は種々の形式で構成できる。例えば、共通
エンベロープ関数がデジタルの波形データの形式で与え
られる場合、これを波形データの形式のエンベロープ関
数に直接的に変換する。これは、共通エンベロープ関数
の波形データの各値を次数値と比較し、その差に従って
次数のエンベロープ関数の波形データの各値を演算する
ことによって実現できる。あるいは、共通エンベロープ
関数が、限られた量の制御情報(例えば、波形のレート
とレベルのセット)により与えられる場合には、これを
同様の形式のエンベロープ関数にいったん変換した後
で、成分波信号のデータをエンベロープ制御する際に、
変換された制御情報を基にエンベロープの波形データを
発生させることができる。
また、成分波信号は正弦波信号には限られない。例え
ば矩形波(例えばウォルシュ関数による矩形波)を成分
波信号として利用できる。
[実施例] 以下、図面を参照してこの考案の実施例について説明
する。本実施例はこの考案を正弦波合成タイプの楽音発
生装置に適用したものである。
第1図に本実施例の全体構成を示す。本図において示
されるn個のエンベロープ制御正弦波発生器15−1〜15
−nは演奏入力装置である鍵盤1と各種のデータを入力
するデータ入力装置2とグローバルエンベロープメモリ
(共通エンベロープメモリ)3に結合している。各エン
ベロープ制御正弦波発生器15−1〜15−nは、データ入
力装置2を介してユーザーが設定した倍音データに基づ
いて、それぞれ独立の周波数を持つ正弦波を発生するよ
うに割り当てられる。上記グローバルエンベロープメモ
リ3はRAM構成であり、データ入力装置2によって設定
されたグローバルエンベロープ関数のデータが記憶され
る。そして、このグローバルエンベロープ関数は各エン
ベロープ制御正弦波発生器15−1〜15−nの内部におい
て、割り当てられた周波数(次数)に固有のエンベロー
プ関数のデータに変換され、この変換されたエンベロー
プデータにより、内部で発生された正弦波がエンベロー
プ制御される。
したがって、本実施例においては、1個のグローバル
エンベロープ関数さえ設定すれば、その関数を基に、n
個の独立なエンベロープ関数が得られるため、ユーザー
は、各正弦波のために、合計n種類ものエンベロープを
設定する必要はなく、エンベロープ設定の労力が非常に
軽減される。
上記各エンベロープ制御正弦波発生器15−1〜15−n
からのエンベロープ制御された正弦波データは加算器16
において加算され、加算された信号(楽音信号)は、D/
A変換器17においてアナログ信号に変換され、アンプ1
8、スピーカー19を通って外部へ放音される。
上記エンベロープ制御正弦波発生器の詳細を第2図に
示す。符号15で示される点線のわく内が、エンベロープ
制御正弦波発生器15−1〜15−nのうちの1つを代表し
て表わしている。本図において、キーコード発生装置4
は鍵盤1において操作された鍵に対応するキーコードを
発生する。キーコード変換装置5は発生したキーコード
を倍音データ記憶装置10の値に従って変換する。倍音デ
ータ記憶装置10にはデータ入力装置2によりユーザーが
設定可能な0から31までの倍音データ(倍音次数)が記
憶可能であり、キーコード変換装置5は記憶された倍音
データを使って第3図に示す仕方でキーコードを変換す
る。例えば、倍音データが1のときには2倍音に相当す
るキーコードに変換する。位相角発生装置6は周波数デ
ータROMと累算器から成り、キーコード変換装置5から
のキーコードを周波数データROMにて周波数データに変
換し、累算器にてこの周波数データを累算することによ
って、キーコードに対応した位相角を発生し、正弦波RO
M7内の正弦波データを読み出す。したがって、正弦波RO
M7より出力されるのは、倍音データ記憶装置10に設定さ
れた倍音次数の周波数をもつ正弦波信号である。なお、
本例では倍音データに従ってキーコードを変換するよう
にしたが、周波数データをビットシフト等の処理を行っ
て、倍音に対応する周波数データとしてもよく、あるい
は位相角発生装置6から出力する位相角の値自体を変換
して、対応次数の位相角の値としてもよい。このように
種々回路変形が可能である。
固定振幅メモリ11は正弦波ROM7からの正弦波信号の振
幅を時間不変に制御する(スケーリングする)データを
記憶するRAMであり、データ入力装置2によってユーザ
ーが設定可能である。固定振幅メモリ11に記憶されるス
ケーリングのデータは各エンベロープ制御正弦波発生器
15−1〜15−n別に独立の値をとることができる。した
がって、各乗算器8において正弦波ROM7からの正弦波デ
ータに固定振幅メモリ11のデータを乗算することによ
り、n個の正弦波信号の相対振幅を独立に制御すること
ができる。
このようにして振幅制御された乗算器8からの正弦波
信号は後で詳述するエンベロープ変換装置14からのエン
ベロープ信号と乗算されることにより、さらに時間変化
を伴う振幅制御が行われ、エンベロープ正弦波発生器15
の出力となる。
上述したようにグローバルエンベロープメモリ3はn
個のエンベロープ制御正弦波発生器15−1〜15−nに共
通なグローバルエンベロープ関数のデータを記憶するも
のである。ここでは、グローバルエンベロープメモリ3
内においてグローバルエンベロープ関数は第4図に例示
するように、4ステップのレートデータとレベルデータ
により記述されている。この形式のグローバルエンベロ
ープ関数はエンベロープ発生装置12によって波形データ
の形式に変換される(第5図参照)。すなわち、エンベ
ロープ発生装置12は累算器と比較器から成り、グローバ
ルエンベロープメモリ3から最初にステップ1のレート
データとレベルデータを受け取った後、レートデータを
くり返し累算し、結果がレベルデータに達した時点でグ
ローバルエンベロープメモリ3から次のステップのレー
トデータとレベルデータを受け取り、以下同様の演算を
くり返してグローバルエンベロープの波形データを得
る。
ここにおいて、エンベロープ変換装置14は、エンベロ
ープ発生装置が発生する共通のグローバルエンベロープ
の波形データを倍音データ記憶装置10からの倍音データ
(次数)によって次数別のエンベロープの波形データに
変換する。そして、この変換の結果、ハイパスフィルタ
ーに似た結果が得られる。
本例では、各エンベロープ変換装置14は下記の変換を
行うことにより、各次数のエンベロープを生成する。
x>W(t)のときFx(t)=1 x≦W(t)のときFx(t)=f(x−W(t))……
式(1) (ただし、f(x−W(t))<0のときはFx(t)
=0)ここに、xは次数(対応する倍音データ)、W
(t)はグローバルエンベロープ関数(エンベロープ発
生装置12の出力)、Fx(t)は変換装置14の出力)であ
る。x−W(t)を改めてuと置くと、f(u)は、 u=0のときf(u)=1 u<0のときf′(u)>0 を満足する。なお、正確にいうと、ここで述べている関
数f(u)ないしf(x−w(t))は、「拡張前」の
意味、即ち次数xのエンベロープ関数Fx(t)を定義す
る、uの関数G(u)に拡張する前における意味であり
それは次の通りである。f(u)はu<0ときf(u)
のuについての導関数であるf′(u)がf′(u)>
0を満足し、かつf(0)=1である。したがって拡張
前のf(u)はuの範囲[−∞、0]で定義し得る。こ
こでf(α)=0を満たす有限のα(α<0)が存在す
るものとする。このf(u)をG(u)に拡張するとき
には、その範囲[−∞、α]ではG(u)=0、uの範
囲[0、∞]ではG(u)=1とし、uの範囲[α、
0]ではG(u)=f(u)とする。即ち、拡張前のf
(u)は次数xのエンベロープ関数Fx(t)を定義する
G(u)のuの所定の範囲[α、0]を定義するもので
ある。なお本書において、f(u)は基本的には拡張前
の意味で使用している。いずれにしろエンベロープ変換
装置(エンベロープ変換手段)はf(u)を「使用」し
て次数xのエンベロープ関数を生成するものである。
さて、このような次数依存変化関数f(u)を含んで
なる次数エンベロープ定義関数G(u)の一例を第6図
の(A)に示す。この図において横軸はuで次数xから
グローバルエンベロープ関数W(t)の値を差し引いた
ものである。一般にグローバルエンベロープ関数W
(t)は時間tによって値が変化する。したがって、特
定の次数xoが与えられた場合、その次数xoからW(t)
を差し引いた値も時間によって変化し、第6図(A)の
u軸上を左右に移動し、それに対応して各G(u)の
値、すなわち各時点tiにおけるxo次のエンベロープ関数
の値fxo(ti)も変化する。そして、Fxo(ti)の値はxo
≧W(t)の範囲では減衰されず、xo<W(t)の範囲
ではその差が大きいほど大きく減衰される。
具体例として、いま第6図(B)に示すようなグロー
バルエンベロープ関数W(t)がグローバルエンベロー
プメモリ3よりエンベロープ発生装置12を介して与えら
れるとする。特定の次数xoは点線のレベルにある。この
場合、エンベロープ変換装置14は第6図(A)に示す変
換時性に従って、第6図(C)に示すようなxo次のエン
ベロープ関数Fxo(t)を発生する。
変換の理解の助けとして第6図(A)には第6図
(B)に示すグローバルエンベロープ関数W(t)のい
くつかの値に対するxo次のエンベロープ関数の値を記入
してある。例えばFxo(d)は時刻dにおけるxo次のエ
ンベロープ関数値である。第6図(B)からわかるよう
に時刻dでのW(d)はxoより少し大きい。つまり、u
の値は小さな負となる。第6図(A)において、このu
の位置におけるG(u)上の点を求める。この点がFxo
(d)である。その他の点も同様にして得られる。
実際には、本例のエンベロープ変換装置14はエンベロ
ープ発生装置12から与えられる波形データ形式のグロー
バルエンベロープ関数W(t)のすべてのデータ値に対
して上述した変換を行う。この結果、xo次について、第
6図の(C)に示すような波形データ形式のエンベロー
プ関数Fxo(t)が演算される。
xoより低い次数のエンベロープ関数がxo次のエンベロ
ープ関数より減衰することは以上の説明から明らかであ
り、この結果、ハイパスフィルタに似た効果が得られ
る。
いま、第6図(B)において、xo次より高い次数xp
xo次より低い次数xnを考えてみよう。そして次数xpの大
きさは、例えば、図示のグローバル(共通)エンベロー
プ関数w(t)のピークw(b)より、わずかに小さい
としてみよう。また、次数xnの大きさは例えば、図示の
グローバルエンベロープ関数w(t)のブレークポイン
トw(c)と同じであったとしてみよう。とすると、ま
ず、次数xn(xn<xo)について、その次数エンベロープ
関数Fxn(t)は、図示のグローバルエンベロープ関数
w(t)のうち、そのレベルがブレークポイントw
(c)より低い範囲では、u=xn−w(t)>0となる
ので(なぜならxn=w(c)としたので)、次数エンベ
ロープ定義関数G(u)として第6図(A)に示すよう
なものを使用した場合には、u>0でG(u)=1とな
っているので、この範囲で、つまり、グローバルエンベ
ロープ関数w(t)のレベルがw(c)より低い範囲
で、Fxn(t)は最大値1に飽和し、w(c)より高い
範囲では、第6図(A)の次数エンベロープ定義関数G
(u)の特性に従って減衰したものとなる。この次数xn
のエンベロープ関数Fxn(x)の全体の形状をxo次のエ
ンベロープ関数Fxo(t)(第6図(C))と比べてみ
ると、両者は互に異なる形状(特性)を有し、かつ、任
意のtについてFxn(t)≦fxo(t)(かつ、F
xn(t)<Fxo(t)を満たすtが存在する)であるの
で、全体として、xn次のエンベロープ関数fxo(t)の
方がxo次(xn<xo)のエンベロープ関数Fxn(t)より
「減衰」したものとなる。一方、xp≒w(b)だけがxp
<w(b)である、xp次のエンベロープ関数Fxp(t)
は、グローバルエンベロープ関数w(t)のピークw
(b)ときでも1近くの値をとり、あまり減衰されず次
数xpより低いグローバルエンベロープ関数のレベル範囲
では、G(u)(第6図(A))の特性に従ってG
(u)=1に飽和する。ここで、次数xpのエンベロープ
関数fxp(t)と次数xoのエンベロープ関数fxo(t)と
を比較してみると、両者は互に異なる形状(特性)を有
し、かつ任意のtについて、Fxo(t)≦fxp(t)(か
つ、一部のtについてfxo(t)<Fxp(t)が成立する
から、∫ Fxo(t)dt<∫ Fxp(t)dtなる面積
関係が成立する)であるので全体として、xo次のエンベ
ロープ関数Fxo(t)の方がそれより次数の高いxp次(x
o<xp)のエンベロープ関数Fxo(t)より「減衰」した
ものであることがわかる。つまり、xn<xo<xpについ
て、これら3つの次数エンベロープ関数Fxn(t)、Fxo
(t)、Fxp(t)の全体形状(特性)は互に異なり、
任意のtについてFxn(t)≦Fxo(t)≦Fxp(t)と
なって、高い次数のエンベロープ関数ほど減衰が少ない
全体形状(特性)をもつことがわかる。
さて、上の例ではxnの大きさ、xpの大きさについて、
所与のグローバルエンベロープ関数w(t)(第6図
(B))の特定のレベルw(b)、w(c)と関連付け
る制限をつけて説明したが、これらの特定レベルw
(b)、w(c)との大小関係によらず、xn<xo<xp
ある限り、3つの次数エンベロープ関数Fxn(t)、Fxo
(t)、Fxp(t)の特性(全体形状)は互に異なり、
かつ、次数の高いエンベロープ関数ほど減衰が少ない全
体形状をもつ(任意のtについてFxn(t)≦Fxo(t)
≦Fxp(t)なる関係は依然として成立し、かつ ∫ Fxn(t)dt<∫ Fxo(t)dt<∫ F
xp(t)dt が成立する)ことがわかる。
これに対し、使用するすべての次数x(第3図でいえ
ば1次〜32次)の大きさを、グローバルエンベロープ関
数w(t)(第6図(B))のピークレベルw(b)よ
り十分高い、つまり、次数エンベロープ定義関数G
(u)(第6図(A))上で、すべての次数xについ
て、u=x−w(b)》0となってG(u)=1となる
ような大きさだとした場合にはどうなるであろうか。明
らかにこの場合には、すべての次数のエンベロープ関数
Fx(t)はFx(t)=1となり、同じになってしまう。
また、使用するすべての次数xの大きさを、第6図
(B)において、グローバルエンベロープ関数w(t)
の最低レベル0より十分低い負の大きさ、つまり、すべ
ての使用次数xについて、u=x−0《0であって第6
図(A)に例示する次数エンベロープ定義関数G(u)
上においてG(u)=0となるような大きさだとした場
合にはどうなるであろうか、明らかにこの場合には、す
べての次数のエンベロープ関数Fx(t)はFx(t)=0
となり同じになってしまう。
明らかに、このような意図しない、極端な例では、所
期の目的を果たし得ない。
つまり、次数xの大きさ(次数データx)と共通(グ
ローバル)エンベロープ関数のレベルの大きさ(レベル
値データw(t))については、使用する次数エンベロ
ープ定義関数G(u)との関係において、所定の基準に
従って規格化されていることが必要である。そして、そ
の意味は、使用する次数のデータ(次数データx)と設
定された所定のグローバル(共通)エンベロープ関数の
レベル値のデータ(レベル値データw(t)との間の差
u=x−w(t)を考えてみた場合に、使用する次数エ
ンベロープ定義関数G(u)が、その特性として、
(a)所定の範囲内でuの値に依存して変化する特性を
有し、(b)各次数のエンベロープ関数Fx(t)を生成
するまえに、上記の差uの値をG(u)に適用した場合
に少なくとも一部の複数の次数のエンベロープ関数群が
互に異なる特性(全体形状)を有するよう規格化され
た、という意味である。
そして、本考案のように、差u(=x−w(t))を
周波数情報とみなした場合における、uについてのハイ
パスフィルタ特性(uが小さい間は減衰が少ないか、な
しだが、ある程度の値のuからは減衰量がuの増大につ
れて増大するような特性)を次数エンベロープ関数群間
に与えるためには、関数f(u)についての導関数であ
るf′(u)がu<0のときf′(u)>0を満足する
f(u)を用いることにより、グローバル(共通)エン
ベロープ関数のレベル値w(t)が次数データxより大
きい範囲(つまりu>0の範囲)では、対応する次数エ
ンベロープ関数のレベル値がその差uの絶対値に従って
減衰されるよう、各次数のエンベロープ関数を生成する
ことができる。
上記エンベロープ変換装置14は種々の形式で構成する
ことができる。例えばエンベロープ発生装置12からのグ
ローバルエンベロープ関数の瞬時値と倍音データ記憶装
置10からの次数値との差を演算する減算器と減算器の出
力データによりアドレス指定され、変換後のエンベロー
プ関数の波形データを記憶するメモリとで構成できる。
あるいは、式(1)に示すf(x−W(t))が演算可
能な関数のような場合には計算プログラムを実行するこ
とによって実現できる。例えば、次数値xとグローバル
エンベロープ関数の瞬時値W(t)を比較し、次数値x
の方が大きければ変換後のエンベロープ関数値として定
数を使用し、次数値xの方が小さければこのxと上記瞬
時値W(t)を使用してf(x−W(t))を演算し、
その結果の正負を判別し、正ならばその結果を変換後の
エンベロープ関数値とし、負ならばゼロを変換後のエン
ベロープ関数値とする。
以上の説明に係るエンベロープ変換装置14は、波形デ
ータ形式のグローバルエンベロープ関数と次数データと
から波形データ形式のエンベロープ関数を生成するもの
であり、かつ、グローバルエンベロープの波形データの
すべての値を変換するものである。即ち、グローバル
(共通)エンベロープ関数の全てのレベル値データ(各
時刻における瞬時レベル値のデータw(t))と次数デ
ータxとの間で差u(=x−w(t))を演算し、この
差uに対する関数G(u)(第6図(A))の値を各時
刻について求めることにより、各次数のエンベロープ関
数の各時刻における瞬時レベル値を求めるものである。
これに対し、第7図に示す構成は、波形データの形式
ではなく、第3図に示すように、レートとレベルのセッ
トで表現されたグローバルエンベロープ関数を同様の形
式の次数エンベロープ関数に変換するものである。すな
わち、グローバル(共通)エンベロープ関数をステップ
毎のレートと目標レベルで表現した場合における、各ス
テップの目標レベルを表わす目標レベル値データを受
け、各次数の値の次数データxと各ステップの目標レベ
ル値データw(t)との間で、その差uを求め、この差
uに対する次数エンベロープ定義関数G(u)(例えば
第6図(A)に示す特性のもの)の値を各ステップにつ
いて求めることにより、各次数のエンベロープ関数の各
ステップの目標レベル値を求めるものである。具体的に
は、第7図において、エンベロープ変換装置14Aはグロ
ーバルエンベロープメモリ3より各ステップのレベルデ
ータ、つまり各ステップの目標レベル値データ(第8図
に示すW(b)、W(c)、W(d)、W(e)の値)
を読み取り、それを倍音データ記憶装置10からの次数デ
ータで変換する。さらに、各ステップのレートデータを
読み取り、グローバルエンベロープの各ステップの時間
を演算し、グローバルエンベロープの各ステップの時間
と変換後のエンベロープの各ステップの時間が等しくな
るように、変換後のエンベロープ関数の各ステップのレ
ートを修正する(なお、この修正は必ずしも必要ではな
い)。そして、このようにして変換、修正されたレート
とレベルのデータが次数別エンベロープメモリ14Bに書
き込まれる。エンベロープ発生装置14Cは第2図のエン
ベロープ発生装置12と同様の構成であり、鍵盤1の押鍵
時に次数別エンベロープメモリ14Bより第1ステップか
ら始めてレートとレベルのデータを読み出し、レートと
レベル表現の次数別エンベロープ関数を波形データの形
式に変換していく。エンベロープ発生装置14Cから順
次、発生される波形データにより、乗算器8からの対応
する次数の正弦波データが乗算器9において振幅制御さ
れる。
参考として、第7図に示すエンベロープ変換構成によ
る変換例を第8図に示す。第8図(A)がエンベロープ
変換装置14Aが実行する変換特性G(u)であり、便宜
上、第6図(A)の特性と同じにしてある。同じく、第
8図(B)に示すグローバルエンベロープ関数W(t)
も先の第6図(B)のものと一致させてある。第8図
(C)に示すのが変換されたxo次のエンベロープ関数F
xo(t)である。
グローバルエンベロープ関数/次数別エンベロープ関
数の変換特性は第6図の(A)に示すものには限定され
ない。例えば、第6図(A)ではu>0すなわちx>W
(t)の範囲ではG(u)は完全にフラットになってい
るが、ほぼフラットであってもよい。また、u=0すな
わちx=W(t)の位置がカットオフポイントと関係す
る減衰開始点となっているが、これには限らず、例えば
x=W(t)+K(Kは例えば定数)を減衰開始点にし
てもよい。あるいは、cx=W(t)(cは例えば定数、
あるいはcxがxの増加関数)を減衰開始点にしてもよ
い。前者の場合(x−K)を次数の値と解釈することが
でき、後者の場合cxを次数の値とみることができる。
また、上記実施例では複数個(n個)のエンベロープ
制御正弦波発生器15−1〜15−nを使用しているが、機
能的な意味において複数あればよくハードウェアの意味
には限定されない。例えば、エンベロープ制御正弦波発
生器15−1〜15−nの一部または全部をTDM(時分割多
重)により実現することができる。
[考案の効果] 以上詳述したように、この考案(請求の範囲第1項に
係る考案)の楽音発生装置は、成分波発生手段からの複
数の成分波信号のそれぞれに、対応する次数のエンベロ
ープ関数を使ってエンベロープを付与することにより楽
音信号を合成するタイプの楽音発生装置において、すべ
ての次数に共通な共通エンベロープ関数を与える共通エ
ンベロープ設定手段と、この共通エンベロープ設定手段
の与える共通エンベロープ関数から次数別の上記エンベ
ロープ関数を得るため、各次数の値を所定の基準に従っ
て規格化した次数データxを第1入力とし、共通エンベ
ロープ関数のレベル値を所定の基準に従って規格化した
レベル値データw(t)を第2入力として受け、次数デ
ータxとレベル値データw(t)との差u=x−w
(t)を演算し、各次数のエンベロープ関数Fx(t)を
差uの関数G(u)で定義し、この関数G(u)とし
て、差uの値の所定の範囲内において、uの値に依存し
て変化する特性をもつものを使用し、この関数G(u)
に、各次数xについての、共通エンベロープ関数との差
uの値を適用することにより、上記複数の次数のエンベ
ロープ関数群のうち、少なくとも一部の複数のエンベロ
ープ関数群に属するエンベロープ関数が所定の共通エン
ベロープ関数が与えられた場合に互に異なる特性をもつ
よう、各次数のエンベロープ関数を生成するエンベロー
プ変換手段と、を有し、上記エンベロープ変換手段は、
関数f(u)のuについての導関数であるf′(u)が
u<0のときf′(u)>0を満足する関数f(u)を
用いて上記エンベロープ関数を生成することにより、共
通エンベロープ関数のレベル値データが次数データより
大きい範囲ではその差に従って減衰されるようにするこ
とを特徴とする。したがって、ユーザーは複数の成分波
のそれぞれについてエンベロープを作成する必要はなく
作成の負担が大幅に軽減される。また、上記のようにし
て1つの共通エンベロープ関数から生成した次数別のエ
ンベロープ関数で対応次数の成分波信号をエンベロープ
制御する結果、時間の経過に伴い共通エンベロープの値
が変化するにつれ、各時点の共通エンベロープ値より低
い次数の成分波信号がその差に応じて減衰されていくと
いう効果が奏される。
【図面の簡単な説明】
第1図はこの考案の一実施例を示す全体構成ブロック
図、第2図は第1図のエンベロープ制御正弦波発生器の
詳細なブロック図、第3図はキーコード変換装置におけ
る倍音データによるキーコード変換論理を示す図、第4
図はグローバルエンベロープメモリの内容を示す図、第
5図はエンベロープ発生器の動作説明用の波形図、第6
図は第2図に示すエンベロープ変換装置によりグローバ
ルエンベロープがxo次のエンベロープに変換される例を
示す波形図、第7図はエンベロープ変換構成の変形例を
示すブロック図、第8図は第7図に示すエンベロープ変
換構成によりグローバルエンベロープがxo次のエンベロ
ープに変換される例を示す波形図である。 2……データ入力装置、3……グローバルエンベロープ
メモリ、7……正弦波ROM、10……倍音データ記憶装
置、12、14C……エンベロープ発生装置、14、14A……エ
ンベロープ変換装置、14B……次数別エンベロープメモ
リ。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 実開 昭58−36799(JP,U) 特公 昭59−16279(JP,B2) 特公 昭59−35034(JP,B2)

Claims (3)

    (57)【実用新案登録請求の範囲】
  1. 【請求項1】成分波発生手段からの複数の成分波信号を
    それぞれに、対応する次数のエンベロープ関数を使って
    エンベロープを付与することにより楽音信号を合成する
    タイプの楽音発生装置において、 すべての次数に共通な共通エンベロープ関数を与える共
    通エンベロープ設定手段と、 この共通エンベロープ設定手段の与える共通エンベロー
    プ関数から次数別の上記エンベロープ関数を得るため、
    各次数の値を所定の基準に従って規格化した次数データ
    xを第1入力とし、共通エンベロープ関数のレベル値を
    所定の基準に従って規格化したレベル値データw(t)
    を第2入力として受け、次数データxとレベル値データ
    w(t)との差u=x−w(t)を演算し、各次数のエ
    ンベロープ関数Fx(t)を差uの関数G(u)で定義
    し、この関数G(u)として、差uの値の所定の範囲内
    において、uの値に依存して変化する特性をもつものを
    使用し、この関数G(u)に、各次数xについての、共
    通エンベロープ関数との差uの値を適用することによ
    り、上記複数の次数のエンベロープ関数群のうち、少な
    くとも一部の複数のエンベロープ関数群に属するエンベ
    ロープ関数が所定の共通エンベロープ関数が与えられた
    場合に互に異なる特性をもつよう、各次数のエンベロー
    プ関数を生成するエンベロープ変換手段と、 を有し、 上記エンベロープ変換手段は、関数f(u)のuについ
    ての導関数であるf′(u)が u<0のときf′(u)>0 を満足する関数f(u)を用いて上記エンベロープ関数
    を生成することにより、共通エンベロープ関数のレベル
    値データが次数データより大きい範囲ではその差に従っ
    て減衰されるようにすることを特徴とする楽音発生装
    置。
  2. 【請求項2】実用新案登録請求の範囲第1項記載の楽音
    発生装置において、 上記エンベロープ変換手段は、上記レベル値データとし
    て、上記共通エンベロープ関数の各時刻における瞬時レ
    ベル値を表わすデータを受け、各次数の値の次数データ
    xと各時刻における瞬時レベル値のデータw(t)との
    間でその差uを演算し、この差uに対する関数f(u)
    の値を各時刻について求めることにより、各次数のエン
    ベロープ関数の各時刻における瞬時レベル値を求めるこ
    とを特徴とする楽音発生装置。
  3. 【請求項3】実用新案登録請求の範囲第1項記載の楽音
    発生装置において、 上記エンベロープ変換手段は、上記レベル値データとし
    て、上記共通エンベロープ関数をステップ毎のレートと
    目標レベルで表現した場合における、各ステップの目標
    レベルを表わす目標レベル値データを受け、各次数の値
    の次数データxと各ステップの目標レベル値データw
    (t)との間で、その差uを求め、この差uに対する関
    数f(u)の値を各ステップについて求めることによ
    り、各次数のエンベロープ関数の各ステップの目標レベ
    ル値を求めることを特徴とする楽音発生装置。
JP2550587U 1987-02-25 1987-02-25 楽音発生装置 Expired - Lifetime JP2537988Y2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2550587U JP2537988Y2 (ja) 1987-02-25 1987-02-25 楽音発生装置
US07/158,562 US4961364A (en) 1987-02-25 1988-02-22 Musical tone generating apparatus for synthesizing musical tone signal by combining component wave signals

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2550587U JP2537988Y2 (ja) 1987-02-25 1987-02-25 楽音発生装置

Publications (2)

Publication Number Publication Date
JPS63135399U JPS63135399U (ja) 1988-09-06
JP2537988Y2 true JP2537988Y2 (ja) 1997-06-04

Family

ID=30825722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2550587U Expired - Lifetime JP2537988Y2 (ja) 1987-02-25 1987-02-25 楽音発生装置

Country Status (1)

Country Link
JP (1) JP2537988Y2 (ja)

Also Published As

Publication number Publication date
JPS63135399U (ja) 1988-09-06

Similar Documents

Publication Publication Date Title
JPS6325359B2 (ja)
JPS5917838B2 (ja) 電子楽器の波形発生装置
JPH0375877B2 (ja)
CN113409750A (zh) 电子键盘乐器及乐音产生方法
CN101149916B (zh) 滤波装置以及使用滤波装置的电子乐器
US5340938A (en) Tone generation apparatus with selective assignment of one of tone generation processing modes to tone generation channels
JPS6242515B2 (ja)
US4700603A (en) Formant filter generator for an electronic musical instrument
JP2537988Y2 (ja) 楽音発生装置
US4961364A (en) Musical tone generating apparatus for synthesizing musical tone signal by combining component wave signals
JPS6113757B2 (ja)
JP2621862B2 (ja) 楽音発生装置
JP2537987Y2 (ja) 楽音発生装置
JPH08110782A (ja) 楽音発生用のディジタル信号処理装置
JPH0131638B2 (ja)
JP2537986Y2 (ja) 楽音発生装置
JP2521652Y2 (ja) 楽音発生装置
JP2534636B2 (ja) 楽音合成装置
JP2643234B2 (ja) 楽音発生装置
JP2608938B2 (ja) 波形補間装置
US5229534A (en) Envelope generating apparatus
JP3039232B2 (ja) 変調信号発生装置
JP3448187B2 (ja) 電子楽器
JPH0659669A (ja) 楽音発生装置
JPS633319B2 (ja)