JPH02179698A - 処理装置 - Google Patents
処理装置Info
- Publication number
- JPH02179698A JPH02179698A JP63334166A JP33416688A JPH02179698A JP H02179698 A JPH02179698 A JP H02179698A JP 63334166 A JP63334166 A JP 63334166A JP 33416688 A JP33416688 A JP 33416688A JP H02179698 A JPH02179698 A JP H02179698A
- Authority
- JP
- Japan
- Prior art keywords
- program
- data
- musical
- storage means
- processing
- 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.)
- Granted
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[発明の技術分野]
この発明は電子楽器用処理装置に関し、特にその構造的
なアーキテクチャ−に関する。
なアーキテクチャ−に関する。
[従来技術とその問題点]
近年、電子楽器はコンピユータ化されている。
しかし、大量で高速のデータ演算が必要な楽音の生成に
係る部分は音源回路と呼ばれる専用構造のハードウェア
で行われており、マイクロコンピュータ(cpu)は楽
器への制御人力帽1やコンソールパネルからの入力、M
IDIその他の外部制御入力、内部または外部の演奏メ
モリからの入力等)を処理し、音源回路に適したコマン
ドを音源回路に転送するに留まっている。
係る部分は音源回路と呼ばれる専用構造のハードウェア
で行われており、マイクロコンピュータ(cpu)は楽
器への制御人力帽1やコンソールパネルからの入力、M
IDIその他の外部制御入力、内部または外部の演奏メ
モリからの入力等)を処理し、音源回路に適したコマン
ドを音源回路に転送するに留まっている。
楽器への制御入力処理をマイクロコンピュータで行い、
楽音の生成を音源回路ハードウェアで行うという構造(
アーキテクチャ−)には、全体の回路規模が大きくなる
という問題(代表的には音源回路ハードウェアはマイク
ロコンピュータの2倍程度のチップ面積を占める)、マ
イクロコンピュータで音源回路ハードウェアを制御でき
る範囲が、狭くならざるを得ないという問題、楽音信号
の生成の仕方、ポリフォニック数の変更等の仕様変更を
実現するために必要となる音源回路ハードウェアの大幅
な回路設計変更の問題等がある。
楽音の生成を音源回路ハードウェアで行うという構造(
アーキテクチャ−)には、全体の回路規模が大きくなる
という問題(代表的には音源回路ハードウェアはマイク
ロコンピュータの2倍程度のチップ面積を占める)、マ
イクロコンピュータで音源回路ハードウェアを制御でき
る範囲が、狭くならざるを得ないという問題、楽音信号
の生成の仕方、ポリフォニック数の変更等の仕様変更を
実現するために必要となる音源回路ハードウェアの大幅
な回路設計変更の問題等がある。
これらの点に鑑み、本件出願人はマイクロコンピュータ
だけで、楽器の制御入力の処理と楽音の生成が同時に行
えるアーキテクチャ−について研究を続け、ついにその
実現をみた。
だけで、楽器の制御入力の処理と楽音の生成が同時に行
えるアーキテクチャ−について研究を続け、ついにその
実現をみた。
このような斬新なアーキテクチャ−による電子楽器用制
御装置を実現する上において、大量で高速なデータ処理
が要求される楽音の生成が可能なマイクロコンピュータ
の構造が追求され、模索された。
御装置を実現する上において、大量で高速なデータ処理
が要求される楽音の生成が可能なマイクロコンピュータ
の構造が追求され、模索された。
例えば、典型的なマイクロコンピュータにおいては、演
算データの一時的な記憶手段として7キユームレータと
呼ばれる内部レジスタあるいは汎用の内部レジスタを使
用する。あるときには、アキュームレータにはデータメ
モリからのデータが入り、あるときにはデータメモリ上
の2個のデータを演算回路で演算(例えば加算)した結
果が入る。アキュームレータに一時的に置かれるデータ
は再度、データメモリ上の指定された記憶場所に戻され
る。このような構成のマイクロコンピュータを使って、
楽音生成処理を行うとすると、データメモリと7キユー
ムレータ(または汎用レジスタ)間の頻繁なデータ転送
のために相当の時間を要し、大量のデータを扱う必要の
ある楽音生成処理を達成する上で支障をきたす。
算データの一時的な記憶手段として7キユームレータと
呼ばれる内部レジスタあるいは汎用の内部レジスタを使
用する。あるときには、アキュームレータにはデータメ
モリからのデータが入り、あるときにはデータメモリ上
の2個のデータを演算回路で演算(例えば加算)した結
果が入る。アキュームレータに一時的に置かれるデータ
は再度、データメモリ上の指定された記憶場所に戻され
る。このような構成のマイクロコンピュータを使って、
楽音生成処理を行うとすると、データメモリと7キユー
ムレータ(または汎用レジスタ)間の頻繁なデータ転送
のために相当の時間を要し、大量のデータを扱う必要の
ある楽音生成処理を達成する上で支障をきたす。
[発明の目的]
したがって、この発明の目的は、従来のような音源回路
ハードウェアを使用することなくマイクロコンピュータ
のプログラム制御だけで、実時間での楽音生成が可能な
電子楽器用処理装置を提供することである。
ハードウェアを使用することなくマイクロコンピュータ
のプログラム制御だけで、実時間での楽音生成が可能な
電子楽器用処理装置を提供することである。
[発明の構成1作用]
この発明によれば、上記の目的を達成するため、楽器を
制御する入力を処理するためのプログラムと楽音を生成
するためのプログラムを記憶するプログラム記憶手段と
、このプログラム記憶手段のアドレスを制御するアドレ
ス制御回路手段と、プログラム記憶手段のプログラムに
より直接的にアドレス指定回部な多数のレジスタから成
る演算用記憶手段と、この演算用記憶手段のレジスタ間
の演算操作が可能な演算回路手段と、楽音の生成に必要
なデータを記憶し、前記プログラム記憶手段のプログラ
ムにより、前記演算用記憶手段のレジスタを介して間接
的にアドレス指定されるデータ記憶手段と、前記プログ
ラム記憶手段のプログラムの命令を解読して前記各手段
の動作を制御するオペレーション制御回路手段とを備え
、前記楽音を生成するためのプログラムの実行により楽
音のデジタルデータサンプルが生成され、更に、前記演
算用記憶手段は、前記楽音を生成するためのプログラム
の実行において、演算のために使用され、各種の楽音パ
ラメータを専用的に格納するレジスタ群を含むことを特
徴とするマイクロコンピュータから成る電子楽器用処理
装置が提供される。
制御する入力を処理するためのプログラムと楽音を生成
するためのプログラムを記憶するプログラム記憶手段と
、このプログラム記憶手段のアドレスを制御するアドレ
ス制御回路手段と、プログラム記憶手段のプログラムに
より直接的にアドレス指定回部な多数のレジスタから成
る演算用記憶手段と、この演算用記憶手段のレジスタ間
の演算操作が可能な演算回路手段と、楽音の生成に必要
なデータを記憶し、前記プログラム記憶手段のプログラ
ムにより、前記演算用記憶手段のレジスタを介して間接
的にアドレス指定されるデータ記憶手段と、前記プログ
ラム記憶手段のプログラムの命令を解読して前記各手段
の動作を制御するオペレーション制御回路手段とを備え
、前記楽音を生成するためのプログラムの実行により楽
音のデジタルデータサンプルが生成され、更に、前記演
算用記憶手段は、前記楽音を生成するためのプログラム
の実行において、演算のために使用され、各種の楽音パ
ラメータを専用的に格納するレジスタ群を含むことを特
徴とするマイクロコンピュータから成る電子楽器用処理
装置が提供される。
この構成の場合、演算用記憶手段内のレジスタが、いわ
ゆるアキュームレータとしても機能し得るし、データを
記憶する手段としても機能し得る。したがって1通常の
7キユームレータは不要である。更に、演算用記憶手段
内の各レジスタはプログラム記憶手段のプログラムによ
り直接的にアドレス指定可能である(ただし、この意味
はインデクスによるアドレッシング等の間接的なアドレ
ッシングができないということではない)、シたがって
、演算回路手段を使って、レジスタ間の演算操作を直接
的に(アキュームレータを介することなく)行える。更
に、演算用記憶手段内の各レジスタは専用化することが
できる(汎用的に使用することも可能であり、一部のレ
ジスタを汎用的に使用することを否定する意味ではない
)、特に、演算用記憶手段には、楽音生成プログラムの
実行中において、演算のために使用され、各種の楽音パ
ラメータ(例えばエンベロープレート、位相値パラメー
タ、位相変化幅パラメータ等々)を専用的に格納するレ
ジスタ群が含まれる。したがって、楽音プログラムの実
行により、楽音のデジタルデータサンプルを得るまでの
処理過程において、これらの各種楽音パラメータ専用の
レジスタ間で演算操作を効率的(最大限)に行うことが
でき、それにより、データ記憶手段へのデータの参照の
頻度を減らすことが可能となる。それ故に。
ゆるアキュームレータとしても機能し得るし、データを
記憶する手段としても機能し得る。したがって1通常の
7キユームレータは不要である。更に、演算用記憶手段
内の各レジスタはプログラム記憶手段のプログラムによ
り直接的にアドレス指定可能である(ただし、この意味
はインデクスによるアドレッシング等の間接的なアドレ
ッシングができないということではない)、シたがって
、演算回路手段を使って、レジスタ間の演算操作を直接
的に(アキュームレータを介することなく)行える。更
に、演算用記憶手段内の各レジスタは専用化することが
できる(汎用的に使用することも可能であり、一部のレ
ジスタを汎用的に使用することを否定する意味ではない
)、特に、演算用記憶手段には、楽音生成プログラムの
実行中において、演算のために使用され、各種の楽音パ
ラメータ(例えばエンベロープレート、位相値パラメー
タ、位相変化幅パラメータ等々)を専用的に格納するレ
ジスタ群が含まれる。したがって、楽音プログラムの実
行により、楽音のデジタルデータサンプルを得るまでの
処理過程において、これらの各種楽音パラメータ専用の
レジスタ間で演算操作を効率的(最大限)に行うことが
でき、それにより、データ記憶手段へのデータの参照の
頻度を減らすことが可能となる。それ故に。
大琶のデータ(楽音パラメータ)の処理が高速に行え、
実時間での楽音生成が容易となる0例えばあるレジスタ
は現在の位相(波形の位相)値の格納場所として専用的
に使用され、別のあるレジスタは位相値の変化幅のデー
タの格納場所として専用的に記憶される。楽音生成処理
において、現在位相値を更新すべき条件が整ったときに
、楽音生成プログラムは現在位相値に変化幅を加算すべ
き指示を出すことになる。その際、現在位相値と変化幅
のデータのデータ記憶手段からの読出しと演算結果のエ
ンベロープ値の記憶は格別に必要でなく、直接的な指定
で、現在位相値格納用のレジスタ(第ルジスタ)を第1
オペランド(被演算子)とし、変化幅格納用のレジスタ
(第2レジスタ)を第2オペランド(演算子)として両
者の加算をオペコードで指示すれば、自動的に、すなわ
ち、オペレーション制御回路手段の制御のもとに、第ル
ジスタと第2レジスタのデータが出力され、加算器が動
作する演算回路手段に入力され、その出力(新しい位相
値)が第ルジスタに戻される。また、もう少し複雑で位
相値の変化幅が位相範囲によって変化するような系では
、それぞれの範囲内における変化幅のデータを専用的に
格納するレジスタ群(A群と呼ぶことにする)と、それ
ぞれの範囲の境界の位相(境界値データ)を専用に記憶
するレジスタ群(B群)を用意し、位相値の加算を実行
する前に、B群のレジスタの境界値と現在位相値とを比
較することで、A群のなかから選択する変化幅のレジス
タが決まる。この2つの例の処理過程では、データ記憶
手段に対しデータ(楽音パラメータ)をアクセスする必
要は全くない、つまり、典型的なマイクロコンピュータ
のように、データ記憶手段からデータをリードしてアキ
ュームレータ(あるいは汎用レジスタ)に格納するよう
な処理は省略できるわけである。
実時間での楽音生成が容易となる0例えばあるレジスタ
は現在の位相(波形の位相)値の格納場所として専用的
に使用され、別のあるレジスタは位相値の変化幅のデー
タの格納場所として専用的に記憶される。楽音生成処理
において、現在位相値を更新すべき条件が整ったときに
、楽音生成プログラムは現在位相値に変化幅を加算すべ
き指示を出すことになる。その際、現在位相値と変化幅
のデータのデータ記憶手段からの読出しと演算結果のエ
ンベロープ値の記憶は格別に必要でなく、直接的な指定
で、現在位相値格納用のレジスタ(第ルジスタ)を第1
オペランド(被演算子)とし、変化幅格納用のレジスタ
(第2レジスタ)を第2オペランド(演算子)として両
者の加算をオペコードで指示すれば、自動的に、すなわ
ち、オペレーション制御回路手段の制御のもとに、第ル
ジスタと第2レジスタのデータが出力され、加算器が動
作する演算回路手段に入力され、その出力(新しい位相
値)が第ルジスタに戻される。また、もう少し複雑で位
相値の変化幅が位相範囲によって変化するような系では
、それぞれの範囲内における変化幅のデータを専用的に
格納するレジスタ群(A群と呼ぶことにする)と、それ
ぞれの範囲の境界の位相(境界値データ)を専用に記憶
するレジスタ群(B群)を用意し、位相値の加算を実行
する前に、B群のレジスタの境界値と現在位相値とを比
較することで、A群のなかから選択する変化幅のレジス
タが決まる。この2つの例の処理過程では、データ記憶
手段に対しデータ(楽音パラメータ)をアクセスする必
要は全くない、つまり、典型的なマイクロコンピュータ
のように、データ記憶手段からデータをリードしてアキ
ュームレータ(あるいは汎用レジスタ)に格納するよう
な処理は省略できるわけである。
また、楽音生成のサンプリング周期を維持するための有
効な一手段として、タイマーインタラブドの制御機構を
活用し、インタラブドの要求の都度、楽音生成プログラ
ムを実行させる構成が考えられる(後述する実施例では
タイマーインタラブド処理プログラムのなかで楽音を生
成している)6通常のマイクロコンピュータではインタ
ラブドの要求に対し、その時点のプロセスの状態を退避
する必要がある(インタラブド終了後、そのプロセスを
回復し、続行するために)、この場合において、この発
明に従い、楽音生成プログラム(割り込んだ方のプログ
ラム)の実行では楽音パラメータの格納場所として専用
化されたレジスタしか使用されない、とすれば、割り込
まれた方のプログラムで使用するレジスタに対してその
書替が楽音生成プログラムの実行中には生じないことに
なる。プロセスの状態の退避はそのプロセスに係るレジ
スタの内容が変更されないのであれば、その必要がない
、したがって、プロセスの状態(汎用レジスタの状態)
を退避、及び回復させる処理が不要となり、そのための
処理時間が節約できる(インタラブド開始時にプログラ
ムカウンタあるいはそれに相当するもののみ、退避させ
ればよい)。
効な一手段として、タイマーインタラブドの制御機構を
活用し、インタラブドの要求の都度、楽音生成プログラ
ムを実行させる構成が考えられる(後述する実施例では
タイマーインタラブド処理プログラムのなかで楽音を生
成している)6通常のマイクロコンピュータではインタ
ラブドの要求に対し、その時点のプロセスの状態を退避
する必要がある(インタラブド終了後、そのプロセスを
回復し、続行するために)、この場合において、この発
明に従い、楽音生成プログラム(割り込んだ方のプログ
ラム)の実行では楽音パラメータの格納場所として専用
化されたレジスタしか使用されない、とすれば、割り込
まれた方のプログラムで使用するレジスタに対してその
書替が楽音生成プログラムの実行中には生じないことに
なる。プロセスの状態の退避はそのプロセスに係るレジ
スタの内容が変更されないのであれば、その必要がない
、したがって、プロセスの状態(汎用レジスタの状態)
を退避、及び回復させる処理が不要となり、そのための
処理時間が節約できる(インタラブド開始時にプログラ
ムカウンタあるいはそれに相当するもののみ、退避させ
ればよい)。
この発明の一構成例においては、マイクロコンピュータ
は集積回路チップで実現される。後述する実施例では、
単一の集積回路チップ上に、楽器への制御入力を受ける
入出力ポート、タイマーインタラブドをかけるためのタ
イマーインタラブド制御回路、生成された楽音のデジタ
ルデータサンプルをアナログ信号に変換するためのD/
A変換器も実装されている。また、演算回路手段には波
形データの演算に使用する乗算回路も加えられている。
は集積回路チップで実現される。後述する実施例では、
単一の集積回路チップ上に、楽器への制御入力を受ける
入出力ポート、タイマーインタラブドをかけるためのタ
イマーインタラブド制御回路、生成された楽音のデジタ
ルデータサンプルをアナログ信号に変換するためのD/
A変換器も実装されている。また、演算回路手段には波
形データの演算に使用する乗算回路も加えられている。
【実施例]
以下1図面を参照してこの発明の詳細な説明する。
本実施例に係る電子楽器の全体構成を第1図に示す、装
置全体の制御はマイクロコンピュータ1により行われる
。特に、この発明に従い、楽器の制御入力の処理のみな
らず、楽音を生成する処理もマイクロコンピュータlで
実行され、楽音生成用の音源回路ハードウェアは必要と
しない、鍵盤2と機能キー3とから成るスイッチ部4は
楽器の制御入力源であり、スイッチ部4から入力された
情報はマイクロコンピュータlで処理される。マイクロ
コンピュータlの生成したアナログ変換後の楽音信号は
ローパスフィルタ5でフィルタリングされ、アンプ6で
増幅され、スピーカ7を介して放音される。電源回路8
はマイクロコンピュータ1、ローパスフィルタ5、アン
プ6に必要な電源を供給する。
置全体の制御はマイクロコンピュータ1により行われる
。特に、この発明に従い、楽器の制御入力の処理のみな
らず、楽音を生成する処理もマイクロコンピュータlで
実行され、楽音生成用の音源回路ハードウェアは必要と
しない、鍵盤2と機能キー3とから成るスイッチ部4は
楽器の制御入力源であり、スイッチ部4から入力された
情報はマイクロコンピュータlで処理される。マイクロ
コンピュータlの生成したアナログ変換後の楽音信号は
ローパスフィルタ5でフィルタリングされ、アンプ6で
増幅され、スピーカ7を介して放音される。電源回路8
はマイクロコンピュータ1、ローパスフィルタ5、アン
プ6に必要な電源を供給する。
上記マイクロコンピュータlの内部構造を第2図にブロ
ック図で示す0図示の各要素はワンチップ上に実装され
ている。実際に製作したものは5 X 5 m mのチ
ップサイズで、8音ポリフオニツクの同時発音数をもち
、楽音合成方式はPCM(波形読み出し方式)であるが
、本発明は他のポリフォニック数、他の楽音合成方式に
も適用できる。
ック図で示す0図示の各要素はワンチップ上に実装され
ている。実際に製作したものは5 X 5 m mのチ
ップサイズで、8音ポリフオニツクの同時発音数をもち
、楽音合成方式はPCM(波形読み出し方式)であるが
、本発明は他のポリフォニック数、他の楽音合成方式に
も適用できる。
制御用ROM31には楽器の各種制御入力を処理するプ
ログラムと楽音を生成するプログラムが記憶されており
、ROMアドレス制御部39からROMアドレスデコー
ダ32を介して指定されたアドレスのプログラム語(命
令)を順次出力していく、なお、具体的実施例では、プ
ログラム語長は28ビツトであり、プログラム語の一部
が次に読み出されるべきアドレスの下位部(ページ内ア
ドレス)としてROMアドレス制御部39に入力される
ネクストアドレス方式となっているが、プログラムカウ
ンタ方式のものにも本発明を適用し得る。RAMアドレ
ス制御部33は制御用ROM31からの命令のオペラン
ドがレジスタを指定している場合に、RAM34内の対
応するレジスタのアドレスを指定する。オペランドは即
値の場合もある(レジスタに数値をセットするような場
合)、RAM34はレジスタ群であり、汎用演算、フラ
グ演算、楽音の演算等に使用される。第6図に例示する
ように、楽音の演算用として多くのレジスタが専用化さ
れている。加減算器及び論理演算部35と乗算器36は
演算回路(A U)を構成し、制御用ROM32からの
命令が演算命令のときに用いられる。特に乗算器36は
楽音波形の演算に使用しており、そのための最適化とし
て第1と第2のデータ入力(例えば16ビツトデータ)
を乗算して入力と同じ長さ(16ビツト)のデータを出
力するようになっている。データ記憶装置としての制御
データ兼波形用ROM37にはピッチデータ、エンベロ
ープデータ(レート、レベル)などの各種楽音制御パラ
メータと、PCM(パルス符号変調)の楽音波形データ
が記憶されている。エンベロープデータと楽音波形デー
タは楽音の音色ごとに用意される0図示のように、制御
データ兼波形用ROM37へのアクセスは、制御用RA
M31のプログラムのオペランドで指定されるRAM3
4上のレジスタの内容を参照することによって間接的に
行われる(もっとも本実施例の場合、ROM37は内部
メモリであり、RAM34の動作を制御するのと同じオ
ペレーション制御回路38により直接的にその動作が制
御されるため、ROM37に対するアクセスの時間長は
RAM34に対するアクセスの時間長と変わらない)、
オペレーション解析部(オペレーション制御回路)38
は制御用ROM31からの命令のオペコードを解読し、
指示されるオペレージ望ンを実行するために、回路の各
部に制御信号を送る。
ログラムと楽音を生成するプログラムが記憶されており
、ROMアドレス制御部39からROMアドレスデコー
ダ32を介して指定されたアドレスのプログラム語(命
令)を順次出力していく、なお、具体的実施例では、プ
ログラム語長は28ビツトであり、プログラム語の一部
が次に読み出されるべきアドレスの下位部(ページ内ア
ドレス)としてROMアドレス制御部39に入力される
ネクストアドレス方式となっているが、プログラムカウ
ンタ方式のものにも本発明を適用し得る。RAMアドレ
ス制御部33は制御用ROM31からの命令のオペラン
ドがレジスタを指定している場合に、RAM34内の対
応するレジスタのアドレスを指定する。オペランドは即
値の場合もある(レジスタに数値をセットするような場
合)、RAM34はレジスタ群であり、汎用演算、フラ
グ演算、楽音の演算等に使用される。第6図に例示する
ように、楽音の演算用として多くのレジスタが専用化さ
れている。加減算器及び論理演算部35と乗算器36は
演算回路(A U)を構成し、制御用ROM32からの
命令が演算命令のときに用いられる。特に乗算器36は
楽音波形の演算に使用しており、そのための最適化とし
て第1と第2のデータ入力(例えば16ビツトデータ)
を乗算して入力と同じ長さ(16ビツト)のデータを出
力するようになっている。データ記憶装置としての制御
データ兼波形用ROM37にはピッチデータ、エンベロ
ープデータ(レート、レベル)などの各種楽音制御パラ
メータと、PCM(パルス符号変調)の楽音波形データ
が記憶されている。エンベロープデータと楽音波形デー
タは楽音の音色ごとに用意される0図示のように、制御
データ兼波形用ROM37へのアクセスは、制御用RA
M31のプログラムのオペランドで指定されるRAM3
4上のレジスタの内容を参照することによって間接的に
行われる(もっとも本実施例の場合、ROM37は内部
メモリであり、RAM34の動作を制御するのと同じオ
ペレーション制御回路38により直接的にその動作が制
御されるため、ROM37に対するアクセスの時間長は
RAM34に対するアクセスの時間長と変わらない)、
オペレーション解析部(オペレーション制御回路)38
は制御用ROM31からの命令のオペコードを解読し、
指示されるオペレージ望ンを実行するために、回路の各
部に制御信号を送る。
所定時間ごとに制御用ROM31の楽音生成プログラム
を実行するため、この実施例ではタイマーインタラブド
を採用している。すなわち、タイマーを有するインタラ
ブド制御部40により。
を実行するため、この実施例ではタイマーインタラブド
を採用している。すなわち、タイマーを有するインタラ
ブド制御部40により。
一定時間ごとにROMアドレス制御部39は制御信号(
割込要求信号)を送り、この信号により、1’lOMア
ドレス制御部39は次に行うメインプログラムの命令の
アドレスを退避(保持)し、楽音の生成が行われるイン
タラブド処理プログラム(サブルーチン)の先頭アドレ
スを代りにセットする。これにより、インタラブド処理
プログラムが開始される。インタラブド処理プログラム
の最後にはリターン命令があるので4このリターン命令
がオペレーション解析部38で解読された時点で、RO
Mアドレス制御部39は退避してあったアドレスを再度
セットし、メインプログラムに復帰する。
割込要求信号)を送り、この信号により、1’lOMア
ドレス制御部39は次に行うメインプログラムの命令の
アドレスを退避(保持)し、楽音の生成が行われるイン
タラブド処理プログラム(サブルーチン)の先頭アドレ
スを代りにセットする。これにより、インタラブド処理
プログラムが開始される。インタラブド処理プログラム
の最後にはリターン命令があるので4このリターン命令
がオペレーション解析部38で解読された時点で、RO
Mアドレス制御部39は退避してあったアドレスを再度
セットし、メインプログラムに復帰する。
入力ボート41と出力ボート42は9!I盤2、機能キ
ー3のキースキャンのために使用される。インタラブド
処理プログラムにおいて生成された楽音はデジタル/ア
ナログ変換器43でアナログ信号に変換され、外部に出
力される。
ー3のキースキャンのために使用される。インタラブド
処理プログラムにおいて生成された楽音はデジタル/ア
ナログ変換器43でアナログ信号に変換され、外部に出
力される。
第3図(A)に本実施例のマイクロコンピュータ1のメ
インプログラムのフローを示す、AIは’rtt源投入
時のイニシャル処理であり、マイクロコンピュータlの
RAM (レジスタ群)34のクリアや、リズムテンポ
等の初期値の設定等を行う。
インプログラムのフローを示す、AIは’rtt源投入
時のイニシャル処理であり、マイクロコンピュータlの
RAM (レジスタ群)34のクリアや、リズムテンポ
等の初期値の設定等を行う。
A2でマイクロコンピュータlは出力ボート42からキ
ー走査のための信号を出力し、スイッチ部4の状態を入
カポ−)41から取り込むことにより、機能キー、鍵盤
キーの状態をRAM34のキーバッファエリアに記憶す
る。A3ではA2で得た機能キー3の状態から、状態の
変化した機能キーを識別し、指示される機能の実行を行
う(例えば、楽音番号のセット、エンベロープ番号のセ
ット、リズム番号のセット等)、A4ではA2で得た1
1g12の状態から、変化したm!(押鍵、離鍵)を識
別する0次のA5でA4の処理結果から1発音処理A9
のためのキーアサイン処理を行う、A6では機能キー3
でデモ演奏キーが押鍵されたとき制御データ兼波形用R
OM37から、デモ演奏データ(シーケンサデータ)を
順次読み出し、処理することにより、発音処理A9のた
めのキーアサイン処理等を行う、A7ではリズムスター
トキーが押鍵されたとき制御データ兼波形用ROM37
からリズムデータを順次読み出し、発音処理A9のため
のキーアサイン処理を行う、フロー−周タイマー処理A
8では、メインフローで必要なイベントのタイミングを
知るために、フロー−同時間(これは、フローを一周す
る間に実行されたタイマーインタラブドの回数を計数す
ることで得られる。この計数処理は後述のインタラブド
タイマー処理B3で行われる。)を基に演算を行い、エ
ンベロープ用タイマー(エンベロープの演算周期)やリ
ズム用の基準値を得る0発音処理A9ではA5.A6、
A7でセットされたデータから、実際に楽音を発音させ
るための各種演算を行い、結果をRAM34内の音源処
理レジスタ(第6図)にセットする。A10は次のメイ
ンフローのパスのための準備処理であり、今回のパスで
得た押鍵状態への変化を示すNEW ON状態をON
中にしたり、離鍵状懲への変化を示すNEW OFF
状態をOFF中に変える等の処理を行う。
ー走査のための信号を出力し、スイッチ部4の状態を入
カポ−)41から取り込むことにより、機能キー、鍵盤
キーの状態をRAM34のキーバッファエリアに記憶す
る。A3ではA2で得た機能キー3の状態から、状態の
変化した機能キーを識別し、指示される機能の実行を行
う(例えば、楽音番号のセット、エンベロープ番号のセ
ット、リズム番号のセット等)、A4ではA2で得た1
1g12の状態から、変化したm!(押鍵、離鍵)を識
別する0次のA5でA4の処理結果から1発音処理A9
のためのキーアサイン処理を行う、A6では機能キー3
でデモ演奏キーが押鍵されたとき制御データ兼波形用R
OM37から、デモ演奏データ(シーケンサデータ)を
順次読み出し、処理することにより、発音処理A9のた
めのキーアサイン処理等を行う、A7ではリズムスター
トキーが押鍵されたとき制御データ兼波形用ROM37
からリズムデータを順次読み出し、発音処理A9のため
のキーアサイン処理を行う、フロー−周タイマー処理A
8では、メインフローで必要なイベントのタイミングを
知るために、フロー−同時間(これは、フローを一周す
る間に実行されたタイマーインタラブドの回数を計数す
ることで得られる。この計数処理は後述のインタラブド
タイマー処理B3で行われる。)を基に演算を行い、エ
ンベロープ用タイマー(エンベロープの演算周期)やリ
ズム用の基準値を得る0発音処理A9ではA5.A6、
A7でセットされたデータから、実際に楽音を発音させ
るための各種演算を行い、結果をRAM34内の音源処
理レジスタ(第6図)にセットする。A10は次のメイ
ンフローのパスのための準備処理であり、今回のパスで
得た押鍵状態への変化を示すNEW ON状態をON
中にしたり、離鍵状懲への変化を示すNEW OFF
状態をOFF中に変える等の処理を行う。
楽音の生成が行われるインタラブド処理プログラムのフ
ローを第3B図に示す、Blで前回のインタラブドの音
源処理B2で生成しである楽音波形データ(8音分の累
積波形値)をD/A変換器43に送出する。これにより
、一定偽期でD/A変換器43に楽音のサンプルが与え
られることになる1次の音源処理B2は実施例のポイン
トであり、−従来はこの処理を音源回路ハードウェア上
で行っていた。詳細は後述する0次のインタラブドタイ
マー処理B3ではインタラブドが所定時間ごとにかかる
ことを利用して、フロー−置針時用のタイマーレジスタ
(RAM34内)を通過ノ都度、プラス1する。
ローを第3B図に示す、Blで前回のインタラブドの音
源処理B2で生成しである楽音波形データ(8音分の累
積波形値)をD/A変換器43に送出する。これにより
、一定偽期でD/A変換器43に楽音のサンプルが与え
られることになる1次の音源処理B2は実施例のポイン
トであり、−従来はこの処理を音源回路ハードウェア上
で行っていた。詳細は後述する0次のインタラブドタイ
マー処理B3ではインタラブドが所定時間ごとにかかる
ことを利用して、フロー−置針時用のタイマーレジスタ
(RAM34内)を通過ノ都度、プラス1する。
なお、この実施例ではインタラブド処理プログラム内で
はメインプログラムで書込を行うレジスタについては、
内容の書替を行わないようにしているので、通常のイン
タラブド処理の開始時と終了時に行われるレジスタの退
避と回復の処理は不要である。すなわち、RAM34上
のレジスタは楽音処理に関係するレジスタとその他の処
理に関係するレジスタとが独立しているので、メインプ
ログラムからインタラブド処理への移行が可及的に遅れ
なしで行われる。
はメインプログラムで書込を行うレジスタについては、
内容の書替を行わないようにしているので、通常のイン
タラブド処理の開始時と終了時に行われるレジスタの退
避と回復の処理は不要である。すなわち、RAM34上
のレジスタは楽音処理に関係するレジスタとその他の処
理に関係するレジスタとが独立しているので、メインプ
ログラムからインタラブド処理への移行が可及的に遅れ
なしで行われる。
音源処理B2の詳細を第3C図に示す、Ctで波形加算
用RAM領域(第6図参照)をクリアした後、8チャン
ネル分の処理02〜C9を順番に行っている。各チャン
ネル処理の最後で、チャンネルの楽音波形値が波形加算
用RAM領域のデータに加算される。
用RAM領域(第6図参照)をクリアした後、8チャン
ネル分の処理02〜C9を順番に行っている。各チャン
ネル処理の最後で、チャンネルの楽音波形値が波形加算
用RAM領域のデータに加算される。
第4図は、時間に沿って実施例の動作の流れを描いたも
のである。A、B、C,D、E、Fはメインプログラム
(第3A図)の断片であり、一定時間ごとにインタラブ
ド処理(第3B図)が実行される。タイムチャートで示
すと第5図のようになる0図示のように、インタラブド
に入る都度、D/A変換器43に楽音波形信号が入力さ
れ、対応するアナログ信号が外部に出力されていく。
のである。A、B、C,D、E、Fはメインプログラム
(第3A図)の断片であり、一定時間ごとにインタラブ
ド処理(第3B図)が実行される。タイムチャートで示
すと第5図のようになる0図示のように、インタラブド
に入る都度、D/A変換器43に楽音波形信号が入力さ
れ、対応するアナログ信号が外部に出力されていく。
第3C図の02〜C9の処理を1チヤンネル分について
詳細に示したのが第7図である。チャンネル処理は大き
く分けてエンベロープ%FIC01〜D7)と波形処理
(D8〜D21)から成る。
詳細に示したのが第7図である。チャンネル処理は大き
く分けてエンベロープ%FIC01〜D7)と波形処理
(D8〜D21)から成る。
第8図はエンベロープ処理で生成されるエンベロープを
示したものである。1つの楽音のエンベロープはいくつ
かのステップ(セグメント)から成っている0図では4
セグメントで示しである。
示したものである。1つの楽音のエンベロープはいくつ
かのステップ(セグメント)から成っている0図では4
セグメントで示しである。
図中のΔXはエンベロープのサンプリング周期であり、
Δyはエンベロープ値の変化幅である。
Δyはエンベロープ値の変化幅である。
チャンネルのエンベロープ処理(DI−07)では、サ
ンプリングタイムごとのエンベロープの計算とステップ
の目標レベルに達したかどうかのチエツクを行っている
。一致したときには現在エンベロープレジスタ(第6図
参照)に目標値が設定されるので、メインプログラムの
発音処理A9内でそれを検知して、次のステ7プのエン
ベロープのためのデータ(ΔX、Δy、目標エンベロー
プfla)を各レジスタにセットしている。
ンプリングタイムごとのエンベロープの計算とステップ
の目標レベルに達したかどうかのチエツクを行っている
。一致したときには現在エンベロープレジスタ(第6図
参照)に目標値が設定されるので、メインプログラムの
発音処理A9内でそれを検知して、次のステ7プのエン
ベロープのためのデータ(ΔX、Δy、目標エンベロー
プfla)を各レジスタにセットしている。
詳細に述べると、DIでエンベロープの演算周期ΔXと
比較するためのタイマーレジスタをインタラブドごとに
インクリメントし、D2でΔXと一致したときD3でエ
ンベロープ変位分のデータΔyの加減算フラグ(符号ビ
ット)をテストしてエンベロープが上昇中か下降中かを
判別し、D4、D5でそれぞれ現在エンベロープの減算
または加算を行う、D6で現在エンベロープが目標エン
ベロープ値に達したかどうかをチエツクし、達しておれ
ば、現在エンベロープに目標レベルをセットする。これ
によりメインプログラムの発音fiqA9で次のエンベ
ロープステップのデータがセットされることになる。ま
た発汗処理A9でゼロry>現在エンベロープを読んだ
ときには発音の終了として処理される。
比較するためのタイマーレジスタをインタラブドごとに
インクリメントし、D2でΔXと一致したときD3でエ
ンベロープ変位分のデータΔyの加減算フラグ(符号ビ
ット)をテストしてエンベロープが上昇中か下降中かを
判別し、D4、D5でそれぞれ現在エンベロープの減算
または加算を行う、D6で現在エンベロープが目標エン
ベロープ値に達したかどうかをチエツクし、達しておれ
ば、現在エンベロープに目標レベルをセットする。これ
によりメインプログラムの発音fiqA9で次のエンベ
ロープステップのデータがセットされることになる。ま
た発汗処理A9でゼロry>現在エンベロープを読んだ
ときには発音の終了として処理される。
次ニ、波形処理D8〜021についテ述べる。
波形処理では、現在アドレスの整数部を使って波形RO
Mから隣り合う2つアドレスの波形データを読み出し、
(!!i数部十小数部)で示される現在アドレスに対し
て想定される波形値を補間で求めている。補間が必要な
理由は、インタラブドによる波形サンプリング周期が一
定であり、アドレスの加算値(ピッチデータ)が楽器へ
の応用上、ある2(城にわたるためである(音階音しか
出力しない楽器で音階音ごとに波形データを用意すれば
補間の必要はないが許容でさない記憶容量の増大となる
)、補間による音色の劣化、歪みは高音域の方が著しい
ため1通常は、H音の記録サンプリング周期より高速の
周期で原音を再生する。この実施例ではit = (A
4 )再生の周期を2倍にしている(:59図)、し
たがって、アドレス加In偵が0.5のとき、A4の音
が得られるようになっている。この場合、A#4ではア
ドレス加算値は0.529となり、A3のとき、lとな
る。これらのアドレス加算値はピッチデータとして制御
データ兼波形ROM37に記憶されており、押鍵時には
発音処理A9において、鍵に対応するピッチデータと選
択されている音色の波形スタートアドレス、波形エンド
アドレス及び波形ループアドレスがRAM34の対応す
るレジスタ、すなわち、アドレス加算値レジスタ、スタ
ートアドレス兼現在アドレスレジスタ、エンドアドレス
レジスタ、ループアドレスレジスタにセットされる。
Mから隣り合う2つアドレスの波形データを読み出し、
(!!i数部十小数部)で示される現在アドレスに対し
て想定される波形値を補間で求めている。補間が必要な
理由は、インタラブドによる波形サンプリング周期が一
定であり、アドレスの加算値(ピッチデータ)が楽器へ
の応用上、ある2(城にわたるためである(音階音しか
出力しない楽器で音階音ごとに波形データを用意すれば
補間の必要はないが許容でさない記憶容量の増大となる
)、補間による音色の劣化、歪みは高音域の方が著しい
ため1通常は、H音の記録サンプリング周期より高速の
周期で原音を再生する。この実施例ではit = (A
4 )再生の周期を2倍にしている(:59図)、し
たがって、アドレス加In偵が0.5のとき、A4の音
が得られるようになっている。この場合、A#4ではア
ドレス加算値は0.529となり、A3のとき、lとな
る。これらのアドレス加算値はピッチデータとして制御
データ兼波形ROM37に記憶されており、押鍵時には
発音処理A9において、鍵に対応するピッチデータと選
択されている音色の波形スタートアドレス、波形エンド
アドレス及び波形ループアドレスがRAM34の対応す
るレジスタ、すなわち、アドレス加算値レジスタ、スタ
ートアドレス兼現在アドレスレジスタ、エンドアドレス
レジスタ、ループアドレスレジスタにセットされる。
参考までに、第10図に時間に対する補間波形データを
示す0図中、白丸は波形ROMのアドレスにある波形デ
ータ値、黒丸は補間値を示している。
示す0図中、白丸は波形ROMのアドレスにある波形デ
ータ値、黒丸は補間値を示している。
補間の方式はいろいろあるが、ここでは直線補間を採用
している。第7図の波形生成処理D8〜021を詳細に
述べると、まず、D8で現在アドレスにアドレス加算値
を加算して新しい現在アドレスを得る。D9で現在アド
レスとエンドアドレスを比較し、現在アドレス〉エンド
アドレスならば、DIO,Dllにより、現在アドレス
くエンドアドレスのときは012により、物理上(番地
に)または論理上(動作上)の次のアドレスを計算し、
DI4でその整数部により波形ROMをアクセスして次
回波形データを得る。ループアドレスは動作Eエンドア
ドレスの次のアドレスである。すなわち、第9図の場合
、図示の波形は繰り返し読み出される。したがって、現
在アドレス−エンドアドレスのときは次のアドレスとし
てループアドレスの波形データを読み出す(D l 3
) 。
している。第7図の波形生成処理D8〜021を詳細に
述べると、まず、D8で現在アドレスにアドレス加算値
を加算して新しい現在アドレスを得る。D9で現在アド
レスとエンドアドレスを比較し、現在アドレス〉エンド
アドレスならば、DIO,Dllにより、現在アドレス
くエンドアドレスのときは012により、物理上(番地
に)または論理上(動作上)の次のアドレスを計算し、
DI4でその整数部により波形ROMをアクセスして次
回波形データを得る。ループアドレスは動作Eエンドア
ドレスの次のアドレスである。すなわち、第9図の場合
、図示の波形は繰り返し読み出される。したがって、現
在アドレス−エンドアドレスのときは次のアドレスとし
てループアドレスの波形データを読み出す(D l 3
) 。
D15、D16により、現在アドレスの整数部で波形R
OMをアクセスして今回の波形データを読み出す0次に
、D17で次回波形値から今回波形値を減算し、018
でその差に現在アドレスの小数部を乗算し、その結果を
I)19で今回の波形値に加えることにより、波形の直
線補間値を求める。この直線補間したデータに現在エン
ベローブイ4を乗算してチャンネルの楽音データ値を得
(D20)、それを波形加算用レジスタの内容に加えて
楽音データを累算する(021)。
OMをアクセスして今回の波形データを読み出す0次に
、D17で次回波形値から今回波形値を減算し、018
でその差に現在アドレスの小数部を乗算し、その結果を
I)19で今回の波形値に加えることにより、波形の直
線補間値を求める。この直線補間したデータに現在エン
ベローブイ4を乗算してチャンネルの楽音データ値を得
(D20)、それを波形加算用レジスタの内容に加えて
楽音データを累算する(021)。
第7図のチャンネル処理プログラムの場合、間接的にア
クセスされる制御データ兼波形ROM7へのデータ参照
は、全ステップのうち、014(または013)と01
6だけである。残るすべてのステップは直接的にアドレ
ス指定可能なRAM4上の専用化されたレジスタへの演
算操作である。したがってチャンネル処理(楽音生成処
理)は高速に実行される。高速性をもたらすものは、こ
のマイクロコンピュータの構造にある。その要素として
、RAM4への直接アドレス指定肩上な構成、RAM4
を構成する多数のレジスタ群、楽音生成処理において各
種楽音パラメータを専用的に格納するRAMA内の専用
レジスタ構成等が挙げられる。
クセスされる制御データ兼波形ROM7へのデータ参照
は、全ステップのうち、014(または013)と01
6だけである。残るすべてのステップは直接的にアドレ
ス指定可能なRAM4上の専用化されたレジスタへの演
算操作である。したがってチャンネル処理(楽音生成処
理)は高速に実行される。高速性をもたらすものは、こ
のマイクロコンピュータの構造にある。その要素として
、RAM4への直接アドレス指定肩上な構成、RAM4
を構成する多数のレジスタ群、楽音生成処理において各
種楽音パラメータを専用的に格納するRAMA内の専用
レジスタ構成等が挙げられる。
最後に具体的実施例(8音ポリフオニツクのPCM音源
方式)の回路規模と動作時間について述べると、制御用
ROMが112Kbit、RAM34が5.4 K b
i t、制御データ兼波形用ROM37(汀色は10
0音色分)は508Kbitである。lマシンサイクル
は約276ナノ秒で、動作時のインタラブド処理プログ
ラムのサイクル数が最大で150程度である。インタラ
ブド処理の実行間隔(楽音の出力サンプリング周期)は
約47マイクロ秒である。
方式)の回路規模と動作時間について述べると、制御用
ROMが112Kbit、RAM34が5.4 K b
i t、制御データ兼波形用ROM37(汀色は10
0音色分)は508Kbitである。lマシンサイクル
は約276ナノ秒で、動作時のインタラブド処理プログ
ラムのサイクル数が最大で150程度である。インタラ
ブド処理の実行間隔(楽音の出力サンプリング周期)は
約47マイクロ秒である。
以■二のように、実施例ではマイクロコンピュータ自身
が楽音の生成を行っているので、従来のような行動回路
ハードウェアは不要であり、回路規模の縮少化、歩留り
の向上、コストの低減、設計の高い自由IJIFをもた
らすことができる。
が楽音の生成を行っているので、従来のような行動回路
ハードウェアは不要であり、回路規模の縮少化、歩留り
の向上、コストの低減、設計の高い自由IJIFをもた
らすことができる。
[変形例]
以上で実施例の説明を終えるが、この発明の範囲を逸脱
することなく種々の変形、変更が可能である。
することなく種々の変形、変更が可能である。
例えば上記実施例では所定時間ごとの楽音波形サンプル
の出力のため、タイマーインタラブドをかけ、インタラ
ブドプログラムを実行することにより、楽音を生成して
いるが、ダミー命令(N。
の出力のため、タイマーインタラブドをかけ、インタラ
ブドプログラムを実行することにより、楽音を生成して
いるが、ダミー命令(N。
P命令)をプログラムに組み込むことにより。
定時間ごとに上述したインタラブド処理に代る処理(以
下、一定時間処理と呼ぶ)が実行されるようにしてもよ
い、すなわち、プログラムの各命令の実行時間はマスタ
ークロックにより決められるので、一定時量分のメイン
プログラムの間に楽音を生成する一定時間処理プログラ
ムをサブルーチンとして挿入(分散配置)すればよいわ
けであり、詳細にはメインプログラム及びサブルーチン
の一定時間処理プログラム内のすべての分岐が同じ時間
で処理されるように、ダミー命令(No P命令)を分
散配置すればよい。
下、一定時間処理と呼ぶ)が実行されるようにしてもよ
い、すなわち、プログラムの各命令の実行時間はマスタ
ークロックにより決められるので、一定時量分のメイン
プログラムの間に楽音を生成する一定時間処理プログラ
ムをサブルーチンとして挿入(分散配置)すればよいわ
けであり、詳細にはメインプログラム及びサブルーチン
の一定時間処理プログラム内のすべての分岐が同じ時間
で処理されるように、ダミー命令(No P命令)を分
散配置すればよい。
実施例と上述の変形例では、楽音の生成のサンプリング
周期を常に一定に保っている。可変のサンプリング周期
の楽音生成も可能である0例えば、PCM音源方式を例
にとると、波形の補間処理を行う代りに、波形ROMの
各アドレスの波形データをそのまま使用し、1アドレス
分進む時間(あるアドレスの波形データの読出しから次
のアドレスの波形データの読出しまでの時間)を楽音の
周波数(ピッチデータ)に比例させる0例えば、A4の
とき、lの時間なら、A3のときは2の時間とする。こ
の時間間隔の制御は1例えば、タイマーインタラブド制
御部の内部タイマーに楽音の周波数に対応するデータを
プリセットし、タイマーアウト毎にインタラブドを行え
ば、実現できる。ただし、ポリフォニックに応用する場
合、インタラブドの間隔は、各々のチャンネルを使用す
る楽音の周波数で変化するので、チャンネル別にタイマ
ーインタラブド制御部とタイマーインタラブド処理プロ
グラムを設ける。また、D/A変換器もチャンネル別に
設け、その変換周期は対応するチャンネルのタイマーイ
ンタラブド処理の周期と一致させる。
周期を常に一定に保っている。可変のサンプリング周期
の楽音生成も可能である0例えば、PCM音源方式を例
にとると、波形の補間処理を行う代りに、波形ROMの
各アドレスの波形データをそのまま使用し、1アドレス
分進む時間(あるアドレスの波形データの読出しから次
のアドレスの波形データの読出しまでの時間)を楽音の
周波数(ピッチデータ)に比例させる0例えば、A4の
とき、lの時間なら、A3のときは2の時間とする。こ
の時間間隔の制御は1例えば、タイマーインタラブド制
御部の内部タイマーに楽音の周波数に対応するデータを
プリセットし、タイマーアウト毎にインタラブドを行え
ば、実現できる。ただし、ポリフォニックに応用する場
合、インタラブドの間隔は、各々のチャンネルを使用す
る楽音の周波数で変化するので、チャンネル別にタイマ
ーインタラブド制御部とタイマーインタラブド処理プロ
グラムを設ける。また、D/A変換器もチャンネル別に
設け、その変換周期は対応するチャンネルのタイマーイ
ンタラブド処理の周期と一致させる。
以りの例は、いずれもマイクロコンピュータにおける楽
音生成の動作とD/A変換器の動作とが基本的に同期す
る関係にある。この代りに非同期の方式も考えられる0
例えば、マイクロコンピュータの楽音生成出力とD/A
変換器との間にバッファa構を設ける。マイクロコンピ
ュータにD/A変換器の変換周期より高速で楽音のサン
プル列を生成する虎力をもたせる。これは、例えば、楽
音を生成するサブルーチンを多数メインプログラムに分
散配置することで実現できる。マイクロコンピュータか
らの楽音のサンプル列はバッファに占き込まれ、D/A
変換器の動作と同期して読み出され、D/A変換器に入
力される。楽音生成のサブルーチンから次のサブルーチ
ンまでの時間はプログラムの実行状態によっ°C若干変
動するが、D/A変換器の変換周期より短いとすると、
バッファへの楽音サンプル列の書込により、バッフγの
残りの容量が少なくなっていく、そこで、バッファの残
存容量に従ってマイクロコンピュータの楽音のサンプル
列の平均的な演算周期を変化させる。すなわち、楽音生
成のサブルーチン内に分岐命令をもたせ、バッファの残
存容量によって、楽音生成がサブルーチンにおいて選択
的に行われるようにする0例えば、残存容量が半分以下
になったら、2つのサブルーチンごとに1回、楽音の生
成が行われるようにする。ある構成例ではバフ2ア機構
とD/A変換器を発音チャンネル別に用意し、D/A変
換器の変換速度を可変構成にする。これは、マイクロコ
ンピュータの生成する楽音サンプル列のサンプル間の位
相の差と楽音の周波数との比が音質を高品位に保つため
、限られた音域(例えばlオクターブの音域)ごとに切
りかわるような場合に使用できる0重要なことは、サン
プル列の位相の差にかかわらずD/A変換器の出力が、
意図されている楽音周波数をもつことである。マイクロ
コンピュータは2選択されている音域内ではサンプル間
の位相の差と楽音の周波数との比を保つものとする(例
えば、1オターブの範囲内では楽音の周波数に比例する
位相の差を楽音サンプル列にもたせる)、この場合、マ
イクロコンピュータは、上記の比に相当するデータをD
/A変換器の変換周期(したがってバッファの読み出し
周期でもある)を制御する周波数制御回路(プログラマ
ブルタイマー等で構成できる)に与える。この回路は受
は取った比のデータに従ってバッファ読出しとD/A変
換のための制御タイミング信号を発生する。この結果、
D/A変換器の出力は楽音の周波数をもつアナログ信号
となる。
音生成の動作とD/A変換器の動作とが基本的に同期す
る関係にある。この代りに非同期の方式も考えられる0
例えば、マイクロコンピュータの楽音生成出力とD/A
変換器との間にバッファa構を設ける。マイクロコンピ
ュータにD/A変換器の変換周期より高速で楽音のサン
プル列を生成する虎力をもたせる。これは、例えば、楽
音を生成するサブルーチンを多数メインプログラムに分
散配置することで実現できる。マイクロコンピュータか
らの楽音のサンプル列はバッファに占き込まれ、D/A
変換器の動作と同期して読み出され、D/A変換器に入
力される。楽音生成のサブルーチンから次のサブルーチ
ンまでの時間はプログラムの実行状態によっ°C若干変
動するが、D/A変換器の変換周期より短いとすると、
バッファへの楽音サンプル列の書込により、バッフγの
残りの容量が少なくなっていく、そこで、バッファの残
存容量に従ってマイクロコンピュータの楽音のサンプル
列の平均的な演算周期を変化させる。すなわち、楽音生
成のサブルーチン内に分岐命令をもたせ、バッファの残
存容量によって、楽音生成がサブルーチンにおいて選択
的に行われるようにする0例えば、残存容量が半分以下
になったら、2つのサブルーチンごとに1回、楽音の生
成が行われるようにする。ある構成例ではバフ2ア機構
とD/A変換器を発音チャンネル別に用意し、D/A変
換器の変換速度を可変構成にする。これは、マイクロコ
ンピュータの生成する楽音サンプル列のサンプル間の位
相の差と楽音の周波数との比が音質を高品位に保つため
、限られた音域(例えばlオクターブの音域)ごとに切
りかわるような場合に使用できる0重要なことは、サン
プル列の位相の差にかかわらずD/A変換器の出力が、
意図されている楽音周波数をもつことである。マイクロ
コンピュータは2選択されている音域内ではサンプル間
の位相の差と楽音の周波数との比を保つものとする(例
えば、1オターブの範囲内では楽音の周波数に比例する
位相の差を楽音サンプル列にもたせる)、この場合、マ
イクロコンピュータは、上記の比に相当するデータをD
/A変換器の変換周期(したがってバッファの読み出し
周期でもある)を制御する周波数制御回路(プログラマ
ブルタイマー等で構成できる)に与える。この回路は受
は取った比のデータに従ってバッファ読出しとD/A変
換のための制御タイミング信号を発生する。この結果、
D/A変換器の出力は楽音の周波数をもつアナログ信号
となる。
例えば、マイクロコンピュータの生成する楽音サンプル
間の位相の差が、楽音の一周期のl/Nであるとし、楽
音の周期がPであるとすると、D/A変換器はP/Hの
時間で1つのデジタル楽音サンプルをアナログ信号に変
換する。したがってN個のデジタル楽音サンプルを変換
するのに要する時間は楽音の周期Pに等しくなり、楽音
の周波数(1/P)のアナログ信号が得られる。
間の位相の差が、楽音の一周期のl/Nであるとし、楽
音の周期がPであるとすると、D/A変換器はP/Hの
時間で1つのデジタル楽音サンプルをアナログ信号に変
換する。したがってN個のデジタル楽音サンプルを変換
するのに要する時間は楽音の周期Pに等しくなり、楽音
の周波数(1/P)のアナログ信号が得られる。
その他、種々の変形が可能である。
[発明の効果]
以上のように、この発明では、マイクロコンピュータの
構造を工夫することにより、大量で高速のデータ処理を
必要とする楽音生成をマイクロコンピュータサイドで比
較的容易に行えるようにしている。その結果、従来のよ
うな音源回路/S−ドウエアは不要となる。したがって
、装置全体の回路規模を小さくでき、歩留りを上げ、コ
ストを下げることができる。更には、設計の自由度が増
し、楽音合成方式の変更、ポリフォニック数の変更など
について容易に対応することができる0例えば、従来技
術では4音ポリフオニツク、PCM音源方式を7X7m
mのチップで実現していたのを、この発明の実施例では
8音ポリフオニツク、PCM音源方式(D/A変換器込
み)を5×5mmのチップで実現することができた。一
般に、回路規模は半分以下にすることができると考えら
れる。
構造を工夫することにより、大量で高速のデータ処理を
必要とする楽音生成をマイクロコンピュータサイドで比
較的容易に行えるようにしている。その結果、従来のよ
うな音源回路/S−ドウエアは不要となる。したがって
、装置全体の回路規模を小さくでき、歩留りを上げ、コ
ストを下げることができる。更には、設計の自由度が増
し、楽音合成方式の変更、ポリフォニック数の変更など
について容易に対応することができる0例えば、従来技
術では4音ポリフオニツク、PCM音源方式を7X7m
mのチップで実現していたのを、この発明の実施例では
8音ポリフオニツク、PCM音源方式(D/A変換器込
み)を5×5mmのチップで実現することができた。一
般に、回路規模は半分以下にすることができると考えら
れる。
第1図はこの発明の実施例に係る電子楽器の全体構成図
、第2図は実施例のマイクロコンピュータの構成を示す
ブロック図、第3A図はマイクロコンピュータのメイン
プログラムのフローを示す図、第3B図は楽音の生成が
行われるインタラブド処理のフローチャート、第3C図
は第3B図の音源処理の詳細なフローチャート、第4図
は時間に沿ったプログラムの流れを示す図、第5図は時
間に沿った処理のa要を示すタイムチャート、第6図は
第2図のRAM54内に置かれる楽音生成用RAMのテ
ーブルを示す図、第7図は第3C図の1つのチャンネル
処理の詳細なフローチャート、第8図はエンベロープを
示す図、第9図は波形ROMの波形データを示す図、第
10図は時間に沿う補間演算波形を示す図である。 1・・・・・・マイクロコンピュータ、鶏1・・・・・
・制御用ROM、34・・・・・・RAM、35・・・
・・・加減算器及び論理演算部、36・・・・・・乗算
塁、37・・・・・・制御データ兼波形ROM、3B・
・・・・・オペレーション解析部。 特許出願人 カシオ計算機株式会社 雫1ゴ”3”S7D’7う、!、11)’7D −第3
八 因 メイ270 % 頂t!L t1 手 続 補 正 占 (方式) 補正の対象 平成1年5月24日 図面
、第2図は実施例のマイクロコンピュータの構成を示す
ブロック図、第3A図はマイクロコンピュータのメイン
プログラムのフローを示す図、第3B図は楽音の生成が
行われるインタラブド処理のフローチャート、第3C図
は第3B図の音源処理の詳細なフローチャート、第4図
は時間に沿ったプログラムの流れを示す図、第5図は時
間に沿った処理のa要を示すタイムチャート、第6図は
第2図のRAM54内に置かれる楽音生成用RAMのテ
ーブルを示す図、第7図は第3C図の1つのチャンネル
処理の詳細なフローチャート、第8図はエンベロープを
示す図、第9図は波形ROMの波形データを示す図、第
10図は時間に沿う補間演算波形を示す図である。 1・・・・・・マイクロコンピュータ、鶏1・・・・・
・制御用ROM、34・・・・・・RAM、35・・・
・・・加減算器及び論理演算部、36・・・・・・乗算
塁、37・・・・・・制御データ兼波形ROM、3B・
・・・・・オペレーション解析部。 特許出願人 カシオ計算機株式会社 雫1ゴ”3”S7D’7う、!、11)’7D −第3
八 因 メイ270 % 頂t!L t1 手 続 補 正 占 (方式) 補正の対象 平成1年5月24日 図面
Claims (2)
- (1)楽器を制御する入力を処理するためのプログラム
と楽音を生成するためのプログラムを記憶するプログラ
ム記憶手段と、 前記プログラム記憶手段のアドレスを制御するアドレス
制御回路手段と、 前記プログラム記憶手段のプログラムにより直接的にア
ドレス指定可能な多数のレジスタから成る演算用記憶手
段と、 前記演算用記憶手段のレジスタ間の演算が可能な演算回
路手段と、 楽音の生成に必要なデータを記憶し、前記プログラム記
憶手段のプログラムにより、前記演算用記憶手段のレジ
スタを介して間接的にアドレス指定されるデータ記憶手
段と、 前記プログラム記憶手段のプログラムの命令を解読して
前記各手段の動作を制御するオペレーション制御回路手
段と、 を備え、 前記楽音を生成するためのプログラムの実行により楽音
のデジタルデータサンプルが生成され、更に、前記演算
用記憶手段は、前記楽音を生成するためのプログラムの
実行において、演算のために使用され、各種の楽音パラ
メータを専用的に格納するレジスタ群を含むことを特徴
とするマイクロコンピュータから成る電子楽器用処理装
置。 - (2)請求項1記載の電子楽器用処理装置において、前
記マイクロコンピュータが集積回路チップ上に実装され
てなることを特徴とする電子楽器用処理装置。
Priority Applications (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63334166A JP2576618B2 (ja) | 1988-12-29 | 1988-12-29 | 処理装置 |
| DE68917113T DE68917113T2 (de) | 1988-12-29 | 1989-12-29 | Datenverarbeitungsvorrichtung für ein elektronisches Musikinstrument. |
| KR8920242A KR930005221B1 (en) | 1988-12-29 | 1989-12-29 | Tone signal generating apparatus for electronic musical instrument |
| EP89124128A EP0376342B1 (en) | 1988-12-29 | 1989-12-29 | Data processing apparatus for electronic musical instruments |
| US07/855,431 US5319151A (en) | 1988-12-29 | 1992-03-23 | Data processing apparatus outputting waveform data in a certain interval |
| US08/223,589 US5726371A (en) | 1988-12-29 | 1994-04-06 | Data processing apparatus outputting waveform data for sound signals with precise timings |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63334166A JP2576618B2 (ja) | 1988-12-29 | 1988-12-29 | 処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02179698A true JPH02179698A (ja) | 1990-07-12 |
| JP2576618B2 JP2576618B2 (ja) | 1997-01-29 |
Family
ID=18274277
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63334166A Expired - Lifetime JP2576618B2 (ja) | 1988-12-29 | 1988-12-29 | 処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2576618B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5283386A (en) * | 1991-08-30 | 1994-02-01 | Casio Computer Co., Ltd. | Musical-tone signal generating apparatus and musical-tone controlling apparatus including delay means and automatic reset means |
| JPH06308966A (ja) * | 1993-02-10 | 1994-11-04 | Korugu:Kk | 動的ボイス割当をおこなうオープンアーキテクチャー構成のミュージックシンセサイザー |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS54136818A (en) * | 1978-04-14 | 1979-10-24 | Kawai Musical Instr Mfg Co | Musical tone data processor |
| JPS6033600A (ja) * | 1983-08-04 | 1985-02-20 | 松下電器産業株式会社 | 音源装置 |
| JPS6145296A (ja) * | 1984-08-09 | 1986-03-05 | カシオ計算機株式会社 | 信号処理装置 |
| JPS629395A (ja) * | 1985-07-08 | 1987-01-17 | ブラザー工業株式会社 | ミユ−ジツクシンセサイザ |
-
1988
- 1988-12-29 JP JP63334166A patent/JP2576618B2/ja not_active Expired - Lifetime
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS54136818A (en) * | 1978-04-14 | 1979-10-24 | Kawai Musical Instr Mfg Co | Musical tone data processor |
| JPS6033600A (ja) * | 1983-08-04 | 1985-02-20 | 松下電器産業株式会社 | 音源装置 |
| JPS6145296A (ja) * | 1984-08-09 | 1986-03-05 | カシオ計算機株式会社 | 信号処理装置 |
| JPS629395A (ja) * | 1985-07-08 | 1987-01-17 | ブラザー工業株式会社 | ミユ−ジツクシンセサイザ |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5283386A (en) * | 1991-08-30 | 1994-02-01 | Casio Computer Co., Ltd. | Musical-tone signal generating apparatus and musical-tone controlling apparatus including delay means and automatic reset means |
| JPH06308966A (ja) * | 1993-02-10 | 1994-11-04 | Korugu:Kk | 動的ボイス割当をおこなうオープンアーキテクチャー構成のミュージックシンセサイザー |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2576618B2 (ja) | 1997-01-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5319151A (en) | Data processing apparatus outputting waveform data in a certain interval | |
| US4953437A (en) | Method and apparatus for digitally generating musical notes | |
| US4438502A (en) | Output processing system for a digital electronic musical instrument | |
| US5637821A (en) | Storing and interpolating means for a musical sound generating device | |
| US5298672A (en) | Electronic musical instrument with memory read sequence control | |
| EP0376342B1 (en) | Data processing apparatus for electronic musical instruments | |
| JP2576614B2 (ja) | 処理装置 | |
| JPS59168493A (ja) | 楽音波形発生装置 | |
| JP2576618B2 (ja) | 処理装置 | |
| JP2576617B2 (ja) | 処理装置 | |
| JP2576615B2 (ja) | 処理装置 | |
| JP2576613B2 (ja) | 処理装置 | |
| JP2576616B2 (ja) | 処理装置 | |
| JPH07122796B2 (ja) | 処理装置 | |
| JP2727089B2 (ja) | 電子楽器の音源装置 | |
| JP3543203B2 (ja) | 電子楽器 | |
| JP3225796B2 (ja) | 信号処理装置および楽音処理装置 | |
| JP3651675B2 (ja) | 電子楽器 | |
| GB2040537A (en) | Digital electronic musical instrument | |
| JP3659002B2 (ja) | 楽音データ処理装置およびコンピュータシステム | |
| JP3855710B2 (ja) | 音波形データ用ディジタル信号処理装置 | |
| JPS6352399B2 (ja) | ||
| JP3610759B2 (ja) | ディジタル信号処理装置 | |
| JP2956508B2 (ja) | 楽音波形生成装置 | |
| JPH09146555A (ja) | 波形メモリ音源装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071107 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081107 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081107 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091107 Year of fee payment: 13 |
|
| EXPY | Cancellation because of completion of term | ||
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091107 Year of fee payment: 13 |