JPH0594194A - 楽音合成装置 - Google Patents
楽音合成装置Info
- Publication number
- JPH0594194A JPH0594194A JP3281935A JP28193591A JPH0594194A JP H0594194 A JPH0594194 A JP H0594194A JP 3281935 A JP3281935 A JP 3281935A JP 28193591 A JP28193591 A JP 28193591A JP H0594194 A JPH0594194 A JP H0594194A
- Authority
- JP
- Japan
- Prior art keywords
- envelope
- data
- control signal
- circuit
- musical 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.)
- Pending
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
(57)【要約】
【目的】 所要の楽音生成機能をより小さな規模の回路
で実現すること。 【構成】 演算を逐次的に実行する汎用構造のエンベロ
ープ/キーコード生成回路12から出力される低速楽音
制御信号を補間によって高速楽音制御信号に指数変換/
位相角生成回路13により変換し、変換された高速楽音
制御信号にに基づいて楽音波形を波形生成回路15にて
生成する。
で実現すること。 【構成】 演算を逐次的に実行する汎用構造のエンベロ
ープ/キーコード生成回路12から出力される低速楽音
制御信号を補間によって高速楽音制御信号に指数変換/
位相角生成回路13により変換し、変換された高速楽音
制御信号にに基づいて楽音波形を波形生成回路15にて
生成する。
Description
【0001】
【発明の技術分野】この発明は楽音合成装置に関し、特
に音源部のアーキテクチャー技術に関する。
に音源部のアーキテクチャー技術に関する。
【0002】
【発明の背景】従来の代表的な楽音合成装置は、楽音波
形の生成に必要な楽音制御信号(エンベロープや位相デ
ータ等)を生成する楽音制御信号生成部と、この楽音制
御信号生成部からの楽音制御信号をパラメータとして波
形の演算を実行する波形生成部を備えている。高速(少
なくとも40KHzのサンプリング速度)で楽音を生成
する必要性から、波形生成部は内部メモリと専用演算回
路をもつ高速構造となっており、同様に楽音制御信号生
成部も、楽音制御信号を高速で生成するために、各種の
専用回路を有する構造になっている。これらの専用回路
は並列またはパイプライン形式で動作することにより、
所要の速度で楽音制御信号をサンプリングしている。し
かしながら、このような並列的に動作する専用構造の楽
音制御信号生成部は、必然的に回路規模が大きくなる欠
点をもっており、音源LSIに実装する際に膨大な面積
を占有することになる。
形の生成に必要な楽音制御信号(エンベロープや位相デ
ータ等)を生成する楽音制御信号生成部と、この楽音制
御信号生成部からの楽音制御信号をパラメータとして波
形の演算を実行する波形生成部を備えている。高速(少
なくとも40KHzのサンプリング速度)で楽音を生成
する必要性から、波形生成部は内部メモリと専用演算回
路をもつ高速構造となっており、同様に楽音制御信号生
成部も、楽音制御信号を高速で生成するために、各種の
専用回路を有する構造になっている。これらの専用回路
は並列またはパイプライン形式で動作することにより、
所要の速度で楽音制御信号をサンプリングしている。し
かしながら、このような並列的に動作する専用構造の楽
音制御信号生成部は、必然的に回路規模が大きくなる欠
点をもっており、音源LSIに実装する際に膨大な面積
を占有することになる。
【0003】
【発明の目的】したがって、この発明の目的は、所要の
楽音生成機能をより小さな規模の回路で実現できる楽音
合成装置を提供することである。
楽音生成機能をより小さな規模の回路で実現できる楽音
合成装置を提供することである。
【0004】
【発明の要点】この発明は上記の目的を達成するため、
楽音制御信号生成回路手段を、逐次的に演算を実行する
汎用構造で構成するとともに、この楽音制御信号生成回
路手段により生成される低速楽音制御信号を、波形生成
回路手段がパラメータとして使用するのに適した高速楽
音制御信号に変換するため、低速楽音制御信号の前後の
サンプルを密に補間する補間回路手段を設けたことを特
徴とする。
楽音制御信号生成回路手段を、逐次的に演算を実行する
汎用構造で構成するとともに、この楽音制御信号生成回
路手段により生成される低速楽音制御信号を、波形生成
回路手段がパラメータとして使用するのに適した高速楽
音制御信号に変換するため、低速楽音制御信号の前後の
サンプルを密に補間する補間回路手段を設けたことを特
徴とする。
【0005】
【発明の作用、展開】エンベロープ信号や位相信号のよ
うな楽音制御信号は、その性質上、比較的短い時間の間
に急激な変化はしない。この発明は、この点に着目した
ものであり、楽音制御信号を生成するための楽音制御信
号生成回路手段については、従来のような高速で並列的
またはパイプライン動作する専用構造の代りに、各種の
所要演算を逐次的に実用する汎用構造で実現できること
を見い出した。この逐次形の楽音制御信号生成回路手段
は、比較的低速の周期で楽音制御信号のサンプルを発生
する。
うな楽音制御信号は、その性質上、比較的短い時間の間
に急激な変化はしない。この発明は、この点に着目した
ものであり、楽音制御信号を生成するための楽音制御信
号生成回路手段については、従来のような高速で並列的
またはパイプライン動作する専用構造の代りに、各種の
所要演算を逐次的に実用する汎用構造で実現できること
を見い出した。この逐次形の楽音制御信号生成回路手段
は、比較的低速の周期で楽音制御信号のサンプルを発生
する。
【0006】補間回路手段がないとすると、波形生成回
路手段は、上述の低速周期のサンプルを、内部の高速周
期に従って、繰り返し使用し、新しいサンプルが楽音制
御信号生成回路手段から与えられたときから、別の値を
もつこの新しいサンプルを使って、波形演算を実行す
る。ここで、問題となるのは、サンプルが更新されると
きに、楽音にノイズが発生するおそれがあることであ
る。特に、音量エンベロープの場合には、サンプルの前
後で、楽音の振幅成分にステップ変化が生じることにな
るのでノイズが発生しやすい。
路手段は、上述の低速周期のサンプルを、内部の高速周
期に従って、繰り返し使用し、新しいサンプルが楽音制
御信号生成回路手段から与えられたときから、別の値を
もつこの新しいサンプルを使って、波形演算を実行す
る。ここで、問題となるのは、サンプルが更新されると
きに、楽音にノイズが発生するおそれがあることであ
る。特に、音量エンベロープの場合には、サンプルの前
後で、楽音の振幅成分にステップ変化が生じることにな
るのでノイズが発生しやすい。
【0007】ここで、楽音制御信号生成回路手段が生成
する低速楽音制御信号の隣り合うサンプルについて検討
してみる。この2つのサンプルは、それぞれ前回のサン
プリングタイムにおける楽音制御信号の大きさと、今回
のサンプリングタイムにおける楽音制御信号の大きさを
示している。2つのサンプリングタイムの途中における
楽音制御信号はどのような値をとると考えられるだろう
か。答は、2つのサンプルをなめらかに補間した値であ
る。上述したように楽音制御信号はその性質上、比較的
短時間の間にはなめらかにしか変化しないからである。
したがって、補間回路手段を設けて、低速楽音制御信号
の前後のサンプルを密に補間してやれば、精度が高く高
速の楽音制御信号が得られることになる。この高速の楽
音制御信号のサンプル間には問題となるような大きなス
テップ変化はない。細かく変化するだけである。したが
って、この高速の楽音制御信号を波形生成回路手段にパ
ラメータとして使用させてやれば、ノイズ的にも問題の
ない楽音波形が得られることになる。
する低速楽音制御信号の隣り合うサンプルについて検討
してみる。この2つのサンプルは、それぞれ前回のサン
プリングタイムにおける楽音制御信号の大きさと、今回
のサンプリングタイムにおける楽音制御信号の大きさを
示している。2つのサンプリングタイムの途中における
楽音制御信号はどのような値をとると考えられるだろう
か。答は、2つのサンプルをなめらかに補間した値であ
る。上述したように楽音制御信号はその性質上、比較的
短時間の間にはなめらかにしか変化しないからである。
したがって、補間回路手段を設けて、低速楽音制御信号
の前後のサンプルを密に補間してやれば、精度が高く高
速の楽音制御信号が得られることになる。この高速の楽
音制御信号のサンプル間には問題となるような大きなス
テップ変化はない。細かく変化するだけである。したが
って、この高速の楽音制御信号を波形生成回路手段にパ
ラメータとして使用させてやれば、ノイズ的にも問題の
ない楽音波形が得られることになる。
【0008】ところで、多くの楽音合成装置では、エン
ベロープ等の楽音制御信号は当初、直線データで生成さ
れ、しかる後、指数データに変換される。特許請求の範
囲第2項は、この指数変換を行う回路手段の最適な配置
について述べている。すなわち、補間回路手段におい
て、補間処理の前処理手段として指数変換を行う指数変
換回路手段が設けられている。この指数変換は楽音制御
信号生成回路手段と同程度の低速で実行できる。仮に逐
次タイプの楽音制御信号生成回路手段内に指数変換の機
能を組み込んだとすると、この変換処理のために、時間
のロスが発生する。逆に、補間処理の後で指数変換を行
う構成にしたとすると、指数変換を高速で実行しなけれ
ばならない。そのためには、記憶容量の非常に大きな1
つのメモリで指数変換値を出力するような高速指数変換
回路が必要となり、回路規模も増大する。
ベロープ等の楽音制御信号は当初、直線データで生成さ
れ、しかる後、指数データに変換される。特許請求の範
囲第2項は、この指数変換を行う回路手段の最適な配置
について述べている。すなわち、補間回路手段におい
て、補間処理の前処理手段として指数変換を行う指数変
換回路手段が設けられている。この指数変換は楽音制御
信号生成回路手段と同程度の低速で実行できる。仮に逐
次タイプの楽音制御信号生成回路手段内に指数変換の機
能を組み込んだとすると、この変換処理のために、時間
のロスが発生する。逆に、補間処理の後で指数変換を行
う構成にしたとすると、指数変換を高速で実行しなけれ
ばならない。そのためには、記憶容量の非常に大きな1
つのメモリで指数変換値を出力するような高速指数変換
回路が必要となり、回路規模も増大する。
【0009】
【実施例】図1は本発明の一実施例に係る電子楽器の機
能図である。CPU3は汎用マイコンで、制御プログラ
ムに従って、鍵盤1、スイッチ2を走査して押鍵、音色
選択等を検出し、バス上に配置されたROM4、RAM
5等を使って音色データ、発音制御データを生成して音
源LSIの発音を制御する。音源LSI6は、後で詳述
するが外付けRAM7を楽音生成のための演算用バッフ
ァとして利用して楽音を生成し、DAC(デジタルアナ
ログ変換器)8に転送する。楽音信号はDAC8でアナ
ログ信号に変換され、アンプ9で増幅されてスピーカ1
0によって放音される。
能図である。CPU3は汎用マイコンで、制御プログラ
ムに従って、鍵盤1、スイッチ2を走査して押鍵、音色
選択等を検出し、バス上に配置されたROM4、RAM
5等を使って音色データ、発音制御データを生成して音
源LSIの発音を制御する。音源LSI6は、後で詳述
するが外付けRAM7を楽音生成のための演算用バッフ
ァとして利用して楽音を生成し、DAC(デジタルアナ
ログ変換器)8に転送する。楽音信号はDAC8でアナ
ログ信号に変換され、アンプ9で増幅されてスピーカ1
0によって放音される。
【0010】図2は、本発明が適用される音源LSI6
の動作を説明するためのブロック図である。音源LSI
6は、振幅エンベロープ及びピッチ変動を含んだキーコ
ード等の生成のために、RAM7を音色データ用メモ
リ、又は演算経過データ用メモリとして使う。尚、RA
M7は図3に示すように、400nsec毎にインタフ
ェース/制御部11(インタフェース占有時間)及びエ
ンベロープ/キーコード生成回路(演算回路占有時間)
に占有され、CPUからのデータ書込み及びエンベロー
プ等の演算のためのアクセスに対処する。
の動作を説明するためのブロック図である。音源LSI
6は、振幅エンベロープ及びピッチ変動を含んだキーコ
ード等の生成のために、RAM7を音色データ用メモ
リ、又は演算経過データ用メモリとして使う。尚、RA
M7は図3に示すように、400nsec毎にインタフ
ェース/制御部11(インタフェース占有時間)及びエ
ンベロープ/キーコード生成回路(演算回路占有時間)
に占有され、CPUからのデータ書込み及びエンベロー
プ等の演算のためのアクセスに対処する。
【0011】まず、インタフェース/制御部11につい
て説明する。CPU3からは音源LSI6に対して音色
データ又は発音制御データが転送されるが、音源LSI
6ではデータバスDB0〜7にあるデータを
て説明する。CPU3からは音源LSI6に対して音色
データ又は発音制御データが転送されるが、音源LSI
6ではデータバスDB0〜7にあるデータを
【外1】 がLOWのとき
【外2】 の立上りエッジで取込む。その際、
【外3】 がLOWならばデータバスDB0〜DB7のデータをイ
ンストラクション、
ンストラクション、
【外3】がHIGHならばそのインストラクションに対
応するデータとして取込む(図4参照)。尚、インスト
ラクションは続いて転送されるデータの種類を示してい
る。インタフェース/制御部11はCPU3からのイン
ストラクション及びデータを受けて、そのインストラク
ションに対応するRAM7のアドレスAA0〜11と書
込み信号
応するデータとして取込む(図4参照)。尚、インスト
ラクションは続いて転送されるデータの種類を示してい
る。インタフェース/制御部11はCPU3からのイン
ストラクション及びデータを受けて、そのインストラク
ションに対応するRAM7のアドレスAA0〜11と書
込み信号
【外4】 を生成し、外部RAMインターフェース16を介して外
部RAM7に転送されたデータを格納する。ただし、C
PU3から転送されたデータが特殊なものの場合は内部
メモリに格納する。例えば転送されたデータがオペレー
ションコード(波形生成のための制御データ)の場合に
は、外部RAM7への書込みは禁止され、OCレジスタ
14への書込み信号WOが発生することにより、OCレ
ジスタに書込まれる。また、インタフェース/制御部1
1は図6のような基本タイミング信号を生成し、カウン
タAの2〜6ビット目はC1〜C5として出力する。
部RAM7に転送されたデータを格納する。ただし、C
PU3から転送されたデータが特殊なものの場合は内部
メモリに格納する。例えば転送されたデータがオペレー
ションコード(波形生成のための制御データ)の場合に
は、外部RAM7への書込みは禁止され、OCレジスタ
14への書込み信号WOが発生することにより、OCレ
ジスタに書込まれる。また、インタフェース/制御部1
1は図6のような基本タイミング信号を生成し、カウン
タAの2〜6ビット目はC1〜C5として出力する。
【0012】エンベロープ/キーコード生成回路12
は、外部RAM7に書込まれたデータをアクセスするた
めにアドレスBA0〜11及びエンベロープの演算経過
データ等の書込み信号
は、外部RAM7に書込まれたデータをアクセスするた
めにアドレスBA0〜11及びエンベロープの演算経過
データ等の書込み信号
【外5】 を発生する。それによって外部RAM7の音色データ
(エンベロープレート/レベルなど)に基き、発音制御
データ(キーコード、モジュレーションなど)に従っ
て、各チャンネル、各モジュールの振幅エンベロープ又
はピッチ変動を含んだキーコード(以下では合成キーコ
ードと呼ぶ)を生成し、バスL0〜12を介して指数変
換/位相角生成回路13に時分割に転送する。
(エンベロープレート/レベルなど)に基き、発音制御
データ(キーコード、モジュレーションなど)に従っ
て、各チャンネル、各モジュールの振幅エンベロープ又
はピッチ変動を含んだキーコード(以下では合成キーコ
ードと呼ぶ)を生成し、バスL0〜12を介して指数変
換/位相角生成回路13に時分割に転送する。
【0013】指数変換/位相角生成回路13はエンベロ
ープ/キーコード生成回路12からの振幅エンベロー
プ、合成キーコードを1つの指数変換器を時分割的に共
用することによって指数変換する。指数変換された振幅
エンベロープ(指数エンベロープ)、及び指数変換され
た合成キーコード(周波数情報)は夫々、エンベロープ
レジスタ、周波数情報レジスタに一旦格納される。これ
らは、外部RAM7をアクセスして振幅エンベロープ、
合成キーコードを生成し、指数変換するという演算処理
が低速で行なわれ、その後の演算処理が高速で行なわれ
るためのインタフェース用バッファとして使われる。図
5に2つの演算処理の時間関係を示すが、低速演算周期
は高速演算周期の48倍になっている。これは出力波形
の変化レートが可聴周波数の2倍以上でないといけない
ために波形演算は高速で行なわれ(本実施例では約40
KHz)、それ以外の演算は外部RAM7のアクセスに
合わせて低速で行っているからである。
ープ/キーコード生成回路12からの振幅エンベロー
プ、合成キーコードを1つの指数変換器を時分割的に共
用することによって指数変換する。指数変換された振幅
エンベロープ(指数エンベロープ)、及び指数変換され
た合成キーコード(周波数情報)は夫々、エンベロープ
レジスタ、周波数情報レジスタに一旦格納される。これ
らは、外部RAM7をアクセスして振幅エンベロープ、
合成キーコードを生成し、指数変換するという演算処理
が低速で行なわれ、その後の演算処理が高速で行なわれ
るためのインタフェース用バッファとして使われる。図
5に2つの演算処理の時間関係を示すが、低速演算周期
は高速演算周期の48倍になっている。これは出力波形
の変化レートが可聴周波数の2倍以上でないといけない
ために波形演算は高速で行なわれ(本実施例では約40
KHz)、それ以外の演算は外部RAM7のアクセスに
合わせて低速で行っているからである。
【0014】エンベロープレジスタに格納された指数エ
ンベロープは高速演算に対応して読出され、波形生成回
路15にエンベロープE0〜11として転送される。周
波数情報レジスタに格納された周波数情報は、高速演算
に対応して読出され、累算されて位相角データP0〜1
1として波形生成回路15に転送される。
ンベロープは高速演算に対応して読出され、波形生成回
路15にエンベロープE0〜11として転送される。周
波数情報レジスタに格納された周波数情報は、高速演算
に対応して読出され、累算されて位相角データP0〜1
1として波形生成回路15に転送される。
【0015】波形生成回路15はOCレジスタ14から
読出されたオペレーションコードOC0〜7に基いて、
指数変換/位相角生成回路13から転送されるエンベロ
ープE0〜11、位相角データP0〜11に従って楽音
波形O0〜15を生成し、DAC8へ出力する。
読出されたオペレーションコードOC0〜7に基いて、
指数変換/位相角生成回路13から転送されるエンベロ
ープE0〜11、位相角データP0〜11に従って楽音
波形O0〜15を生成し、DAC8へ出力する。
【0016】図7はエンベロープ/キーコード生成回路
12の詳細ブロック図で、演算用アドレス生成回路1
6、書込み禁止回路17、カウンタB18、クロック発
生回路19、演算用タイミング信号発生回路20、演算
用制御信号発生回路21、演算回路22を備えている。
カウンタB18は図8のように動作するカウンタ1、
2、3の構成としており(図示せず)、カウンタ1(最
下位)の値に応じ、演算用タイミング信号発生回路2
0、演算用アドレス生成回路16、クロック発生回路1
9、演算用制御信号発生回路21等によって演算回路2
2は動作フロー(図9)に示すように逐次的に動作す
る。ここで、
12の詳細ブロック図で、演算用アドレス生成回路1
6、書込み禁止回路17、カウンタB18、クロック発
生回路19、演算用タイミング信号発生回路20、演算
用制御信号発生回路21、演算回路22を備えている。
カウンタB18は図8のように動作するカウンタ1、
2、3の構成としており(図示せず)、カウンタ1(最
下位)の値に応じ、演算用タイミング信号発生回路2
0、演算用アドレス生成回路16、クロック発生回路1
9、演算用制御信号発生回路21等によって演算回路2
2は動作フロー(図9)に示すように逐次的に動作す
る。ここで、
【外6】 はそれぞれ、演算回路22のSレジスタ、Aレジスタ、
Aレジスタ上位、Aレジスタ下位、Bレジスタ、Bレジ
スタ下位、Mレジスタ(図示せず)を意味している。動
作フローにおいて、
Aレジスタ上位、Aレジスタ下位、Bレジスタ、Bレジ
スタ下位、Mレジスタ(図示せず)を意味している。動
作フローにおいて、
【外7】のように対応している。図9のフローで、左側
にある数字はタイミングを意味しており、0〜11はカ
ウンタ1の値そのもの、
にある数字はタイミングを意味しており、0〜11はカ
ウンタ1の値そのもの、
【外8】はカウンタ3の値が8(ピッチの演算)以外の
ときのカウンタ1の値12〜19、12P〜19Pはカ
ウンタ3の値が8(ピッチの演算)のときのカウンタ1
の値12〜19に相当する。
ときのカウンタ1の値12〜19、12P〜19Pはカ
ウンタ3の値が8(ピッチの演算)のときのカウンタ1
の値12〜19に相当する。
【0017】それによって、以下のような演算機能を実
行する。 エンベロープレート(エンベロープの傾きデータ)
を鍵域又は鍵タッチに対応するデータエンベロープレー
ト変化で変更。 エンベロープレベル(エンベロープの各ステップの
目標データ)を鍵域又は鍵タッチに対応するデータエン
ベロープレベル変化で変更。 変更されたエンベロープレート、エンベロープレベ
ルに従ってエンベロープを生成。 アフタータッチ、LFO等に対応する振幅モジュレ
ーションデータを補間し、 振幅エンベロープと演算し
て最終的な振幅エンベロープを生成。 ベンダー、LFO等に対応するピッチモジュレーシ
ョンデータをピッチエンベロープと演算。 キーコードとモジュレーション付きのピッチエンベ
ロープを演算し、それと各モジュール毎の周波数比率を
表わす周波数比とを演算し、最終的な合成キーコードを
生成。
行する。 エンベロープレート(エンベロープの傾きデータ)
を鍵域又は鍵タッチに対応するデータエンベロープレー
ト変化で変更。 エンベロープレベル(エンベロープの各ステップの
目標データ)を鍵域又は鍵タッチに対応するデータエン
ベロープレベル変化で変更。 変更されたエンベロープレート、エンベロープレベ
ルに従ってエンベロープを生成。 アフタータッチ、LFO等に対応する振幅モジュレ
ーションデータを補間し、 振幅エンベロープと演算し
て最終的な振幅エンベロープを生成。 ベンダー、LFO等に対応するピッチモジュレーシ
ョンデータをピッチエンベロープと演算。 キーコードとモジュレーション付きのピッチエンベ
ロープを演算し、それと各モジュール毎の周波数比率を
表わす周波数比とを演算し、最終的な合成キーコードを
生成。
【0018】演算用タイミング記号発生回路20は図1
0に示すようにカウンタB18の値BC0〜4、11及
び演算回路22からのフラグ信号F′に応じて演算用タ
イミング信号と指数変換制御回路23のためのタイミン
グ信号0、5、6、8、15、18を発生する。
0に示すようにカウンタB18の値BC0〜4、11及
び演算回路22からのフラグ信号F′に応じて演算用タ
イミング信号と指数変換制御回路23のためのタイミン
グ信号0、5、6、8、15、18を発生する。
【0019】図11は指数変換制御回路23の詳細回路
である。指数変換制御回路23は図14のタイムチャー
トに示すような信号CN、FN、
である。指数変換制御回路23は図14のタイムチャー
トに示すような信号CN、FN、
【外9】、DF、WEE、WEF等をカウンタB18の
下位5ビット(カウンタ1)の出力に応じて生成する回
路である。ただし、信号WEE、WEFはカウンタ1の
値が19のとき発生するクロックCKIによって、カウ
ンタB18の上位7ビット(カウンタ2、3)の値を取
込むFF51の値0のときのみ発生する。これはエンベ
ロープ/キーコード生成回路12においてピッチ以外の
演算で生成される振幅エンベロープ、及び合成キーコー
ドを指数変換したもののみをエンベロープレジスタ、及
び周波数情報レジスタに書込むことを意味している。指
数変換制御回路23は、更に、エンベロープレジスタ、
及び周波数情報レジスタのアドレスDA0〜DA5を生
成する。アドレスDA0はクロックCKIにより取込む
FF45の値である。また、アドレスDA1〜DA5は
クロックインバータ63〜72により信号T2が0のと
き書込み用アドレスで、カウンタB18の上位7ビット
(カウンタ2、3)の値をクロックCKIで取込むFF
46〜50の値、T2が1のとき、読出し用アドレスで
第6図に示すカウンタAの2〜6ビット目の値C1〜5
を選択したものとなっている。すなわち、書込みは、エ
ンベロープ/キーコード生成回路12のチャンネル、モ
ジュールの値がアドレスとなり、読出しはインタフェー
ス/制御部11のカウンタAの値C1〜C5がアドレス
となっている。また、エンベロープ開始時等のエンベロ
ープが0になるべき場合に1となる信号E0をクロック
CKFによって取込み、ASTとして出力する。
下位5ビット(カウンタ1)の出力に応じて生成する回
路である。ただし、信号WEE、WEFはカウンタ1の
値が19のとき発生するクロックCKIによって、カウ
ンタB18の上位7ビット(カウンタ2、3)の値を取
込むFF51の値0のときのみ発生する。これはエンベ
ロープ/キーコード生成回路12においてピッチ以外の
演算で生成される振幅エンベロープ、及び合成キーコー
ドを指数変換したもののみをエンベロープレジスタ、及
び周波数情報レジスタに書込むことを意味している。指
数変換制御回路23は、更に、エンベロープレジスタ、
及び周波数情報レジスタのアドレスDA0〜DA5を生
成する。アドレスDA0はクロックCKIにより取込む
FF45の値である。また、アドレスDA1〜DA5は
クロックインバータ63〜72により信号T2が0のと
き書込み用アドレスで、カウンタB18の上位7ビット
(カウンタ2、3)の値をクロックCKIで取込むFF
46〜50の値、T2が1のとき、読出し用アドレスで
第6図に示すカウンタAの2〜6ビット目の値C1〜5
を選択したものとなっている。すなわち、書込みは、エ
ンベロープ/キーコード生成回路12のチャンネル、モ
ジュールの値がアドレスとなり、読出しはインタフェー
ス/制御部11のカウンタAの値C1〜C5がアドレス
となっている。また、エンベロープ開始時等のエンベロ
ープが0になるべき場合に1となる信号E0をクロック
CKFによって取込み、ASTとして出力する。
【0020】図12は指数変換/位相角生成回路13の
ブロック図である。エンベロープ/キーコード生成回路
12で生成されたエンベロープ及びキーコードはクロッ
クCKEでFF75に取込まれる。FF75の出力は指
数変換回路76に入力され、指数変換された後、エンベ
ロープ補間回路77又は周波数情報レジスタ79へ書込
まれる。エンベロープ補間回路77では書込まれた指数
変換後のエンベロープを適宜補間して変化幅の小さいエ
ンベロープとし、FF78を介して波形生成回路15へ
E′0〜11として出力する。周波数情報レジスタ79
では書込まれた指数変換後のキーコード、すなわち周波
数情報を適宜読出して、FF80を介し、加算器81、
シフトレジスタ82からなる累算器に入力して累算す
る。累算されて生成された位相角P0〜11は波形生成
回路15へ出力される。
ブロック図である。エンベロープ/キーコード生成回路
12で生成されたエンベロープ及びキーコードはクロッ
クCKEでFF75に取込まれる。FF75の出力は指
数変換回路76に入力され、指数変換された後、エンベ
ロープ補間回路77又は周波数情報レジスタ79へ書込
まれる。エンベロープ補間回路77では書込まれた指数
変換後のエンベロープを適宜補間して変化幅の小さいエ
ンベロープとし、FF78を介して波形生成回路15へ
E′0〜11として出力する。周波数情報レジスタ79
では書込まれた指数変換後のキーコード、すなわち周波
数情報を適宜読出して、FF80を介し、加算器81、
シフトレジスタ82からなる累算器に入力して累算す
る。累算されて生成された位相角P0〜11は波形生成
回路15へ出力される。
【0021】図13は指数変換回路76のブロック図で
ある。この指数変換回路76では、直線データの上位ビ
ットデータを指数粗データメモリで指数データに変換
し、直線データの下位ビットデータを指数細データメモ
リで指数データに変換し、両メモリの出力を乗算するこ
とによって、直線データ(エンベロープ/キーコード生
成回路12からのエンベロープまたはキーコードL2〜
14)の指数変換値を求めている。図13の指数粗デー
タROM83が上述の指数粗データメモリに相当する。
ただし、直線データの下位ビットデータの指数変換値
は、上位5ビットがいずれも1.0000であるので(直線デ
ータが13ビットで下位ビットデータが6ビットの場
合)、固有データである6〜12ビットだけを指数細デ
ータROM85に記憶させている。シフトレジスタ84
はパラレルインパラレルアウトのシフトレジスタで信号
CNが“1”のとき、データが入力、それ以外ではクロ
ックCK2毎に左シフトして出力する。シフトレジスタ
86はパラレルインシリアルアウトのシフトレジスタ
で、信号FNが“1”のときデータ入力、それ以外では
クロックCK2毎に右シフトして出力する。図14のタ
イムチャートによって、図13の指数変換回路を説明す
る。タイムチャート上段の“カウンタ1”はエンベロー
プ/キーコード生成回路12の演算タイミングで、各チ
ャンネル、各モジュール毎にタイミング0〜19で演算
し、指数変換/位相角生成回路13はクロックCKEに
よってタイミング14でエンベロープを、次のチャンネ
ルモジュールの演算時間のタイミング0でキーコードを
取込む。まず、エンベロープの補間(指数変換)につい
て述べる。シフトレジスタ84はタイミング18の前半
でCNが“1”となり、指数粗データROM83の出力
を取込み、シフトを開始する。すなわち、出力EC′0
〜20はタイムチャートの“補間演算”の項に示すよう
に、タイミング18の後半で0シフト、19の前半で1
シフト……となる。シフトレジスタ86は、タイミング
0の後半でFNが“1”となり指数細データROM85
の出力を取込み、シフトを開始する。すなわち、タイム
チャートの“FN”に示すようにタイミング1の前半で
Ef6、後半でEf5、……のようになる。ゲート回路
89は制御入力Cが0のとき、0を出力し、1のとき入
力データを出力するもので、
ある。この指数変換回路76では、直線データの上位ビ
ットデータを指数粗データメモリで指数データに変換
し、直線データの下位ビットデータを指数細データメモ
リで指数データに変換し、両メモリの出力を乗算するこ
とによって、直線データ(エンベロープ/キーコード生
成回路12からのエンベロープまたはキーコードL2〜
14)の指数変換値を求めている。図13の指数粗デー
タROM83が上述の指数粗データメモリに相当する。
ただし、直線データの下位ビットデータの指数変換値
は、上位5ビットがいずれも1.0000であるので(直線デ
ータが13ビットで下位ビットデータが6ビットの場
合)、固有データである6〜12ビットだけを指数細デ
ータROM85に記憶させている。シフトレジスタ84
はパラレルインパラレルアウトのシフトレジスタで信号
CNが“1”のとき、データが入力、それ以外ではクロ
ックCK2毎に左シフトして出力する。シフトレジスタ
86はパラレルインシリアルアウトのシフトレジスタ
で、信号FNが“1”のときデータ入力、それ以外では
クロックCK2毎に右シフトして出力する。図14のタ
イムチャートによって、図13の指数変換回路を説明す
る。タイムチャート上段の“カウンタ1”はエンベロー
プ/キーコード生成回路12の演算タイミングで、各チ
ャンネル、各モジュール毎にタイミング0〜19で演算
し、指数変換/位相角生成回路13はクロックCKEに
よってタイミング14でエンベロープを、次のチャンネ
ルモジュールの演算時間のタイミング0でキーコードを
取込む。まず、エンベロープの補間(指数変換)につい
て述べる。シフトレジスタ84はタイミング18の前半
でCNが“1”となり、指数粗データROM83の出力
を取込み、シフトを開始する。すなわち、出力EC′0
〜20はタイムチャートの“補間演算”の項に示すよう
に、タイミング18の後半で0シフト、19の前半で1
シフト……となる。シフトレジスタ86は、タイミング
0の後半でFNが“1”となり指数細データROM85
の出力を取込み、シフトを開始する。すなわち、タイム
チャートの“FN”に示すようにタイミング1の前半で
Ef6、後半でEf5、……のようになる。ゲート回路
89は制御入力Cが0のとき、0を出力し、1のとき入
力データを出力するもので、
【外9】が0のときはナンド88の出力が1となるので
加算器91のB入力には、EC′0〜20が入力され
る。一方、ゲート回路89の出力は
加算器91のB入力には、EC′0〜20が入力され
る。一方、ゲート回路89の出力は
【外9】が0のときオール0となるので加算器91のA
入力には0が入力され、FF92にはEC′0〜20が
セットされる。シフトレジスタ86はFNが1のとき7
ビットデータがセットされ上位側から順に出力されるの
で、データ7ビットを出力し終ると0を出力し続けるの
でゲート回路89は、常に0を出力している。したがっ
てタイミング18の後半でFF92に取込まれたEC′
0〜20は保持され続ける。そしてタイミング1の前半
から4の前半までシフトレジスタ86の出力Ef6、E
f5、……Ef0によってゲート回路89は制御される
ので演算は以下のようになる。
入力には0が入力され、FF92にはEC′0〜20が
セットされる。シフトレジスタ86はFNが1のとき7
ビットデータがセットされ上位側から順に出力されるの
で、データ7ビットを出力し終ると0を出力し続けるの
でゲート回路89は、常に0を出力している。したがっ
てタイミング18の後半でFF92に取込まれたEC′
0〜20は保持され続ける。そしてタイミング1の前半
から4の前半までシフトレジスタ86の出力Ef6、E
f5、……Ef0によってゲート回路89は制御される
ので演算は以下のようになる。
【0022】
【外10】タイミング4の後半から5の前半までは、シ
フトレジスタ86の出力は0となるからゲート回路89
の出力は0となり、タイミング4の前半までの演算結果
すなわち、指数変換されたエンベロープが保持されるこ
とになる。したがって、FF92の出力はタイミング4
の後半から5の後半まで上述の演算結果となっている。
また、タイミング5の後半では、DF=1となるため加
減算器91のB入力はEE′0〜11となり、減算信号
Sが1となるので上述の演算結果である指数変換された
エンベロープEと前回のエンベロープEE′の差、すな
わち前後のサンプルの差の演算E−EE′が行なわれる
ことになる。タイミング6の前半では加減算器91のB
入力はゲート回路89の出力、すなわち0であるので、
FF92の出力はタイミング6でエンベロープ差分値E
−EE′となる。キーコードの補間演算(指数変換)も
同様に行なわれるため、FF92の出力は、タイミング
4の後半から5まで指数エンベロープE、6では差E−
EE′、12の後半から18までは周波数情報となる。
フトレジスタ86の出力は0となるからゲート回路89
の出力は0となり、タイミング4の前半までの演算結果
すなわち、指数変換されたエンベロープが保持されるこ
とになる。したがって、FF92の出力はタイミング4
の後半から5の後半まで上述の演算結果となっている。
また、タイミング5の後半では、DF=1となるため加
減算器91のB入力はEE′0〜11となり、減算信号
Sが1となるので上述の演算結果である指数変換された
エンベロープEと前回のエンベロープEE′の差、すな
わち前後のサンプルの差の演算E−EE′が行なわれる
ことになる。タイミング6の前半では加減算器91のB
入力はゲート回路89の出力、すなわち0であるので、
FF92の出力はタイミング6でエンベロープ差分値E
−EE′となる。キーコードの補間演算(指数変換)も
同様に行なわれるため、FF92の出力は、タイミング
4の後半から5まで指数エンベロープE、6では差E−
EE′、12の後半から18までは周波数情報となる。
【0023】図15はエンベロープ補間回路77の詳細
図である。FF95はDF=1のときのCK1でタイム
チャートに示すように指数エンベロープEを取込む。エ
ンベロープVレジスタ96、エンベロープDレジスタ1
02はタイミング6で、夫々、FF95、ゲート回路1
01の出力が書込まれる。尚、エンベロープDレジスタ
102は、エンベロープ開始時等の強制的に0にする信
号ASTが1のときはデータのかわりのオール0を取込
む。図16にエンベロープVレジスタの詳細を示す。W
EEが1のとき(タイミング6)の前半(T2=0)で
書込みアドレスDA1〜5によって偶数チャンネル(D
Aφ=0)ならエンベロープVERAM115へ、奇数
チャンネル(DAφ=1)ならエンベロープVORAM
116へデータEx′9〜20を書込む。セレクタ11
8は、T2が0のときFF117の出力を、1のときエ
ンベロープVERAM115の出力を選択する。すなわ
ち、T2が1のときは読出しアドレスによってエンベロ
ープVERAMから読出されたデータ、T2が0のとき
はT2が1のときの読出しアドレスでエンベロープVO
RAM116から読出されたデータをFF117によっ
て1クロック遅延したデータを読出す。したがってデー
タ
図である。FF95はDF=1のときのCK1でタイム
チャートに示すように指数エンベロープEを取込む。エ
ンベロープVレジスタ96、エンベロープDレジスタ1
02はタイミング6で、夫々、FF95、ゲート回路1
01の出力が書込まれる。尚、エンベロープDレジスタ
102は、エンベロープ開始時等の強制的に0にする信
号ASTが1のときはデータのかわりのオール0を取込
む。図16にエンベロープVレジスタの詳細を示す。W
EEが1のとき(タイミング6)の前半(T2=0)で
書込みアドレスDA1〜5によって偶数チャンネル(D
Aφ=0)ならエンベロープVERAM115へ、奇数
チャンネル(DAφ=1)ならエンベロープVORAM
116へデータEx′9〜20を書込む。セレクタ11
8は、T2が0のときFF117の出力を、1のときエ
ンベロープVERAM115の出力を選択する。すなわ
ち、T2が1のときは読出しアドレスによってエンベロ
ープVERAMから読出されたデータ、T2が0のとき
はT2が1のときの読出しアドレスでエンベロープVO
RAM116から読出されたデータをFF117によっ
て1クロック遅延したデータを読出す。したがってデー
タ
【外11】はチャンネル0、1、2、……、7の順で各
モジュール毎読出されることになる。また、セレクタ1
19はT2が0のときエンベロープVERAM115か
らのデータ、1のときはFF117からのデータを選択
する。すなわち、T2が0のとき書込みアドレスDA1
〜5によってエンベロープVERAM115から読出さ
れたデータ、T2が1のときはT2が0のときの書込み
アドレスDA1〜5でエンベロープVORAM116か
ら読出されたデータをFF117によって1クロック遅
延したデータを読出す。したがってデータEE0〜11
はT2が0なら偶数チャンネル、1なら奇数チャンネル
で、かつ書込みアドレスDA1〜5のデータとなる。
モジュール毎読出されることになる。また、セレクタ1
19はT2が0のときエンベロープVERAM115か
らのデータ、1のときはFF117からのデータを選択
する。すなわち、T2が0のとき書込みアドレスDA1
〜5によってエンベロープVERAM115から読出さ
れたデータ、T2が1のときはT2が0のときの書込み
アドレスDA1〜5でエンベロープVORAM116か
ら読出されたデータをFF117によって1クロック遅
延したデータを読出す。したがってデータEE0〜11
はT2が0なら偶数チャンネル、1なら奇数チャンネル
で、かつ書込みアドレスDA1〜5のデータとなる。
【0024】図15のFF99は、書込みアドレスDA
0が0ならT2=0、1ならT2=1でEE0〜11を
取込むので図17のようにデータEE´0〜11は書込
みアドレスDA0〜5に対応したエンベロープVレジス
タ96の前回データということになる。したがって図1
3と図15の回路はタイムチャート(図17)のように
動作する。
0が0ならT2=0、1ならT2=1でEE0〜11を
取込むので図17のようにデータEE´0〜11は書込
みアドレスDA0〜5に対応したエンベロープVレジス
タ96の前回データということになる。したがって図1
3と図15の回路はタイムチャート(図17)のように
動作する。
【0025】図18はエンベロープDレジスタ102の
詳細図で、上述のエンベロープVレジスタ96と同様に
タイミング6の前半で図17のようにデータE−EE´
が書込まれる。読出しも上述と同様で読出しアドレス
(T2=1のDA1〜5)に応じて読出される。図15
の48進カウンタ104は8チャンネル8モジュール分
時分割で64ケの48進カウンタを構成しており、エン
ベロープデータが2つのレジスタに書込まれる間を補間
するための補間基準データを生成する。これは、図5に
示すように書込み周期(低速)が読出し周期(高速)の
48倍であるからである。エンベロープDレジスタ10
2からは書込まれた
詳細図で、上述のエンベロープVレジスタ96と同様に
タイミング6の前半で図17のようにデータE−EE´
が書込まれる。読出しも上述と同様で読出しアドレス
(T2=1のDA1〜5)に応じて読出される。図15
の48進カウンタ104は8チャンネル8モジュール分
時分割で64ケの48進カウンタを構成しており、エン
ベロープデータが2つのレジスタに書込まれる間を補間
するための補間基準データを生成する。これは、図5に
示すように書込み周期(低速)が読出し周期(高速)の
48倍であるからである。エンベロープDレジスタ10
2からは書込まれた
【外12】も読出されるが64シフトレジスタ138の
出力すなわち前回読出された
出力すなわち前回読出された
【外12】が1でかつ今回読出された
【外12】が0のとき48進カウンタ104はリセット
される。したがってエンベロープ開始時等の第1回目の
データがエンベロープレジスタ102に書込まれた後の
第1回目の読出し時に48進カウンタ104はリセット
されるので、48進カウンタは、データの書込みから次
の書込みまでの間を0〜47までカウントする。変換回
路105は上述の0〜47の値を補間用乗数0〜63に
割り振るための回路で以下のような変換を行う。 0−63 12−47 24−31 36−15 1−62 13−46 25−30 37−14 2−60 14−44 26−28 38−12 3−59 15−43 27−27 39−11 4−58 16−42 28−26 40−10 5−56 17−40 29−24 41− 8 6−55 18−39 30−23 42− 7 7−54 19−38 31−22 43− 6 8−52 20−36 32−20 44− 4 9−51 21−35 33−19 45− 3 10−50 22−34 34−18 46− 2 11−48 23−32 35−16 47− 0 乗算器106は上述の補間乗数とエンベロープDレジス
タ102からの差分データを乗算するもので乗算された
補間データはエンベロープVレジスタ96からの現在値
データから減算されて補間が行なわれる。その結果、図
19に示すようなエンベロープが生成される。図19で
点線が補間前、実線が補間後のエンベロープである。補
間されたエンベロープE′0〜11は波形生成回路15
に送られて楽音波形のエンベロープとなる。
される。したがってエンベロープ開始時等の第1回目の
データがエンベロープレジスタ102に書込まれた後の
第1回目の読出し時に48進カウンタ104はリセット
されるので、48進カウンタは、データの書込みから次
の書込みまでの間を0〜47までカウントする。変換回
路105は上述の0〜47の値を補間用乗数0〜63に
割り振るための回路で以下のような変換を行う。 0−63 12−47 24−31 36−15 1−62 13−46 25−30 37−14 2−60 14−44 26−28 38−12 3−59 15−43 27−27 39−11 4−58 16−42 28−26 40−10 5−56 17−40 29−24 41− 8 6−55 18−39 30−23 42− 7 7−54 19−38 31−22 43− 6 8−52 20−36 32−20 44− 4 9−51 21−35 33−19 45− 3 10−50 22−34 34−18 46− 2 11−48 23−32 35−16 47− 0 乗算器106は上述の補間乗数とエンベロープDレジス
タ102からの差分データを乗算するもので乗算された
補間データはエンベロープVレジスタ96からの現在値
データから減算されて補間が行なわれる。その結果、図
19に示すようなエンベロープが生成される。図19で
点線が補間前、実線が補間後のエンベロープである。補
間されたエンベロープE′0〜11は波形生成回路15
に送られて楽音波形のエンベロープとなる。
【0026】図20は図12の周波数情報レジスタ79
の詳細図で、図16のエンベロープVレジスタ、図18
のエンベロープDレジスタと同様に書込み読出し動作が
行なわれる。尚、周波数情報レジスタでは書込みタイミ
ングが、タイミング15の前半という点で上2つのレジ
スタとは異っている。
の詳細図で、図16のエンベロープVレジスタ、図18
のエンベロープDレジスタと同様に書込み読出し動作が
行なわれる。尚、周波数情報レジスタでは書込みタイミ
ングが、タイミング15の前半という点で上2つのレジ
スタとは異っている。
【0027】まとめると、エンベロープ/キーコード生
成回路12(図7)は、図9のフローで示すように、逐
次的に演算を実行し、タイミング
成回路12(図7)は、図9のフローで示すように、逐
次的に演算を実行し、タイミング
【外13】でエンベロープを、また次のチャンネル、モ
ジュールのタイミング0で合成キーコードをバスL2〜
14を介して図12の指数変換/位相角生成回路13に
与える。与えられた直線エンベロープまたは直線キーコ
ードは指数変換回路76により指数変換される。また、
エンベロープについては、変化幅の小さなエンベロープ
に補間する際のパラメータとして、エンベロープの前後
のサンプルの差分データE−EE′が指数変換回路76
で演算される。指数変換されたエンベロープの現在値は
エンベロープ補間回路77(図15)のエンベロープV
レジスタ96に置かれ、差分データはエンベロープDレ
ジスタ102に置かれる。エンベロープの補間のため
に、上記差分データに、低速サンプリング周期内の微小
サンプリング時間(48進カウンタ104のカウント
値)により定められる補間係数(変換回路105の出
力)が乗算器106で乗算され、それがエンベロープ/
キーコード生成回路12から与えられ、指数変換されて
いるエンベロープの現在のサンプル値(エンベロープV
レジスタ96の出力)から差し引かれる。この結果、F
F109の出力、すなわちエンベロープ補間回路77の
出力は、指数変換された低速のエンベロープの前後のサ
ンプルを密に補間した値をもつ。エンベロープ補間回路
77の出力、したがって指数変換/位相角生成回路13
のエンベロープ出力E′0〜11は、エンベロープ/キ
ーコード生成回路12が低速周期で生成する直線エンベ
ロープを指数変換した前回のサンプル値から現在のサン
プル値へ向って徐々に変化していく特性を有し(図19
の実線参照)、このなめらかな特性の高速エンベロープ
出力E′0〜11は波形生成回路15において楽音波形
を生成する上で好適である。
ジュールのタイミング0で合成キーコードをバスL2〜
14を介して図12の指数変換/位相角生成回路13に
与える。与えられた直線エンベロープまたは直線キーコ
ードは指数変換回路76により指数変換される。また、
エンベロープについては、変化幅の小さなエンベロープ
に補間する際のパラメータとして、エンベロープの前後
のサンプルの差分データE−EE′が指数変換回路76
で演算される。指数変換されたエンベロープの現在値は
エンベロープ補間回路77(図15)のエンベロープV
レジスタ96に置かれ、差分データはエンベロープDレ
ジスタ102に置かれる。エンベロープの補間のため
に、上記差分データに、低速サンプリング周期内の微小
サンプリング時間(48進カウンタ104のカウント
値)により定められる補間係数(変換回路105の出
力)が乗算器106で乗算され、それがエンベロープ/
キーコード生成回路12から与えられ、指数変換されて
いるエンベロープの現在のサンプル値(エンベロープV
レジスタ96の出力)から差し引かれる。この結果、F
F109の出力、すなわちエンベロープ補間回路77の
出力は、指数変換された低速のエンベロープの前後のサ
ンプルを密に補間した値をもつ。エンベロープ補間回路
77の出力、したがって指数変換/位相角生成回路13
のエンベロープ出力E′0〜11は、エンベロープ/キ
ーコード生成回路12が低速周期で生成する直線エンベ
ロープを指数変換した前回のサンプル値から現在のサン
プル値へ向って徐々に変化していく特性を有し(図19
の実線参照)、このなめらかな特性の高速エンベロープ
出力E′0〜11は波形生成回路15において楽音波形
を生成する上で好適である。
【0028】なお、上記実施例では、キーコードについ
ては、聴感上問題がないため、変化幅の小さな周波数情
報への補間処理は行っていないが、所望であれば、キー
コードについてもエンベロープと同様の補間を行うこと
ができる。
ては、聴感上問題がないため、変化幅の小さな周波数情
報への補間処理は行っていないが、所望であれば、キー
コードについてもエンベロープと同様の補間を行うこと
ができる。
【0029】また、図15のエンベロープ補間回路で
は、波形生成回路15が使用するエンベロープのサンプ
リング周波数が、エンベロープ/キーコード生成回路1
2の生成するエンベロープのサンプリング周波数の48
倍であるところから、この速度比48に等しい数の補間
を行っているが、例えば、半分の速度比で補間を行って
もよい。要するに、補間値のサンプリング速度は、波形
生成回路15が生成する楽音に悪影響が生じない範囲で
あれば、実施例よりも遅い速度であってもよい。
は、波形生成回路15が使用するエンベロープのサンプ
リング周波数が、エンベロープ/キーコード生成回路1
2の生成するエンベロープのサンプリング周波数の48
倍であるところから、この速度比48に等しい数の補間
を行っているが、例えば、半分の速度比で補間を行って
もよい。要するに、補間値のサンプリング速度は、波形
生成回路15が生成する楽音に悪影響が生じない範囲で
あれば、実施例よりも遅い速度であってもよい。
【0030】
【発明の効果】以上説明したように、本発明では、楽音
制御信号生成回路手段を並列動作する複数の専用回路構
造ではなく、逐次的に演算を実行する汎用構造にしてい
るので、回路規模を大幅に縮少することができる。この
構成では楽音制御信号生成回路手段は低速で楽音制御信
号を生成することになるが、この低速楽音制御信号の前
後のサンプルを補間する補間回路手段を設けることによ
り、専用構造の楽音制御信号生成回路手段が生成する高
速の楽音制御信号のサンプル列と同様の補間列を得るこ
とができる。したがって、楽音生成回路手段において、
この補間された高速楽音制御信号をパラメータとして演
算することにより、所望の楽音波形を生成することがで
き、ノイズ等の問題は発生しない。
制御信号生成回路手段を並列動作する複数の専用回路構
造ではなく、逐次的に演算を実行する汎用構造にしてい
るので、回路規模を大幅に縮少することができる。この
構成では楽音制御信号生成回路手段は低速で楽音制御信
号を生成することになるが、この低速楽音制御信号の前
後のサンプルを補間する補間回路手段を設けることによ
り、専用構造の楽音制御信号生成回路手段が生成する高
速の楽音制御信号のサンプル列と同様の補間列を得るこ
とができる。したがって、楽音生成回路手段において、
この補間された高速楽音制御信号をパラメータとして演
算することにより、所望の楽音波形を生成することがで
き、ノイズ等の問題は発生しない。
【図1】本発明の一実施例に係る電子楽器の全体構成
図。
図。
【図2】音源LSIのブロック図。
【図3】音源LSIのインタフェース/制御部とエンベ
ロープ/キーコード生成回路による外部RAM占有の割
振を示すタイムチャート。
ロープ/キーコード生成回路による外部RAM占有の割
振を示すタイムチャート。
【図4】CPUから音源LSIのインタフェース/制御
部に送られるデータと書込制御信号のタイムチャート。
部に送られるデータと書込制御信号のタイムチャート。
【図5】楽音制御信号生成のための低速演算周期と波形
生成のための高速演算周期とを示すタイムチャート。
生成のための高速演算周期とを示すタイムチャート。
【図6】タイミング信号発生回路の発生する各種タイミ
ング信号のタイムチャート。
ング信号のタイムチャート。
【図7】エンベロープ/キーコード生成回路のブロック
図。
図。
【図8】カウンタBのタイムチャート。
【図9】エンベロープ/キーコード生成回路の動作を示
すフローチャート。
すフローチャート。
【図10】演算用タイミング信号発生回路の詳細図。
【図11】指数変換制御回路の詳細図。
【図12】指数変換/位相角生成回路のブロック図。
【図13】指数変換回路の詳細図。
【図14】指数変換回路のタイムチャート。
【図15】エンベロープ補間回路の詳細図。
【図16】エンベロープVレジスタの詳細図。
【図17】エンベロープ補間回路のタイムチャート。
【図18】エンベロープDレジスタの詳細図。
【図19】補間前のエンベロープと補間後のエンベロー
プを対比して示す図。
プを対比して示す図。
【図20】周波数情報レジスタの詳細図。
12 エンベロープ/キーコード生成回路 13 指数変換/位相角生成回路 15 波形生成回路 76 指数変換回路 77 エンベロープ補間回路
【外7】
【外7】
【外8】
【外8】
Claims (2)
- 【請求項1】 演算を逐次的に実行することにより低速
楽音制御信号を生成する汎用構造の楽音制御信号生成回
路手段(12)と、 高速楽音制御信号に基づいて楽音波形を生成する波形生
成回路手段(15)と、 上記低速楽音制御信号の前後のサンプルを密に補間して
上記高速楽音制御信号に変換する補間回路手段(13;
77)と、 を有することを特徴とする楽音合成装置。 - 【請求項2】 特許請求の範囲第1項記載の楽音合成装
置において、上記楽音制御信号生成回路手段は上記低速
楽音制御信号を直線データで生成し、上記補間回路手段
内に、上記直線データを指数変換する指数変換回路手段
(76)が含まれ、この指数変換されたデータに対して
補間が行われることを特徴とする楽音合成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3281935A JPH0594194A (ja) | 1991-10-03 | 1991-10-03 | 楽音合成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3281935A JPH0594194A (ja) | 1991-10-03 | 1991-10-03 | 楽音合成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0594194A true JPH0594194A (ja) | 1993-04-16 |
Family
ID=17645984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3281935A Pending JPH0594194A (ja) | 1991-10-03 | 1991-10-03 | 楽音合成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0594194A (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58200297A (ja) * | 1982-05-18 | 1983-11-21 | 松下電器産業株式会社 | 包絡線信号発生装置 |
-
1991
- 1991-10-03 JP JP3281935A patent/JPH0594194A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58200297A (ja) * | 1982-05-18 | 1983-11-21 | 松下電器産業株式会社 | 包絡線信号発生装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4246823A (en) | Waveshape generator for electronic musical instruments | |
JPH0631968B2 (ja) | 楽音信号発生装置 | |
US4119005A (en) | System for generating tone source waveshapes | |
JP3175179B2 (ja) | デジタルピッチシフター | |
US4700603A (en) | Formant filter generator for an electronic musical instrument | |
USRE31648E (en) | System for generating tone source waveshapes | |
JPH0594194A (ja) | 楽音合成装置 | |
JPS61124994A (ja) | 楽音信号発生装置 | |
JPS6229794B2 (ja) | ||
JP3252296B2 (ja) | 波形データ出力装置 | |
JP2576614B2 (ja) | 処理装置 | |
JP2699886B2 (ja) | 楽音制御情報発生装置 | |
US5745743A (en) | Digital signal processor integrally incorporating a coefficient interpolator structured on a hardware basis | |
US4446769A (en) | Combination tone generator for a musical instrument | |
JPH0560118B2 (ja) | ||
JP2736550B2 (ja) | 電子楽器の補間回路 | |
US4936179A (en) | Electronic musical instrument | |
JPS61182097A (ja) | 電子楽器における雑音減少装置 | |
JPS62245434A (ja) | 電子楽器の波形発生装置 | |
JP2558245B2 (ja) | 音程制御装置 | |
JPH0746960Y2 (ja) | 楽音合成装置 | |
JP2991436B2 (ja) | 楽音信号発生装置 | |
JPS61110199A (ja) | 楽音信号発生装置 | |
JP2897680B2 (ja) | 楽音信号発生装置 | |
JP3298382B2 (ja) | 波形発生装置 |