JPH02179697A - 処理装置 - Google Patents
処理装置Info
- Publication number
- JPH02179697A JPH02179697A JP63334164A JP33416488A JPH02179697A JP H02179697 A JPH02179697 A JP H02179697A JP 63334164 A JP63334164 A JP 63334164A JP 33416488 A JP33416488 A JP 33416488A JP H02179697 A JPH02179697 A JP H02179697A
- Authority
- JP
- Japan
- Prior art keywords
- musical
- processing
- program
- microcomputer
- interrupt
- 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
【発明の詳細な説明】
[発明の技術分野]
この発明は電子楽器用処理装置に関し、特に電子楽器用
処理装置における楽音合成の構造的なアーキテクチャ−
に関する。
処理装置における楽音合成の構造的なアーキテクチャ−
に関する。
[発明の背景]
近年、電子楽器はコンピユータ化されている。
しかし、大量で高速のデータ演算が必要な楽音の生成に
係る部分は音源回路と呼ばれる専用構造のハードウェア
で行われており、マイクロコンピュータは楽器への制御
入力(鍵盤やコンソールパネルからの入力、MIDIそ
の他の外部制御入力、内部または外部の演奏メモリから
の入力等)を処理し、音源回路に適したコマンドを音源
回路に転送するに留まっている。
係る部分は音源回路と呼ばれる専用構造のハードウェア
で行われており、マイクロコンピュータは楽器への制御
入力(鍵盤やコンソールパネルからの入力、MIDIそ
の他の外部制御入力、内部または外部の演奏メモリから
の入力等)を処理し、音源回路に適したコマンドを音源
回路に転送するに留まっている。
楽音生成処理は音源回路ハードウェアで行い、楽器の制
御入力の処理をマイクロコンピュータで行うという電子
楽器のシステムアーキテクチャ−にはいくつかの問題が
ある。第1に音源回路ハードウェアは楽音パラメータを
処理する種々の処理段階の随所にデータを一時的に保持
する記憶装置、演算を行う演算回路から構成されるので
、必然的に回路規模が大きくなる0代表的にはマイクロ
コンピュータの2倍程度の規模となる。第2に音源回路
ハードウェアで行う楽音合成の仕方をマイクロコンピュ
ータで可変に制御するに限界がある0例えば、同時発音
数(ポリフォニック数)はハード的に固定されているの
でマイクロコンピュータからのコマンドで変えることは
できない、また、楽音のサンプリング周波数も音源回路
のハードウェアにより固定されているため、マイクロコ
ンピュータからのコマンドで変更することはできない、
このような制御の限界は新しい音源回路ハードウェアを
設計する場合の障壁になる。すなわち、しばしば大規模
な回路変更が余儀なくなり、多大の開発時間、労力を要
する。更に、マイクロコンピュータと音源回路ハードウ
ェアとの通信プロトコルあるいはインタフェース(転送
方式、コマンドのセット等)についても、音源回路ハー
ドウェアごとに検討し直し、開発し直す必要がある。
御入力の処理をマイクロコンピュータで行うという電子
楽器のシステムアーキテクチャ−にはいくつかの問題が
ある。第1に音源回路ハードウェアは楽音パラメータを
処理する種々の処理段階の随所にデータを一時的に保持
する記憶装置、演算を行う演算回路から構成されるので
、必然的に回路規模が大きくなる0代表的にはマイクロ
コンピュータの2倍程度の規模となる。第2に音源回路
ハードウェアで行う楽音合成の仕方をマイクロコンピュ
ータで可変に制御するに限界がある0例えば、同時発音
数(ポリフォニック数)はハード的に固定されているの
でマイクロコンピュータからのコマンドで変えることは
できない、また、楽音のサンプリング周波数も音源回路
のハードウェアにより固定されているため、マイクロコ
ンピュータからのコマンドで変更することはできない、
このような制御の限界は新しい音源回路ハードウェアを
設計する場合の障壁になる。すなわち、しばしば大規模
な回路変更が余儀なくなり、多大の開発時間、労力を要
する。更に、マイクロコンピュータと音源回路ハードウ
ェアとの通信プロトコルあるいはインタフェース(転送
方式、コマンドのセット等)についても、音源回路ハー
ドウェアごとに検討し直し、開発し直す必要がある。
以上の理由から、本件出願人は音源回路ハードウェアを
使用することなく、マイクロコンピュータのプログラム
制御だけで楽音を生成することのできる新しい電子楽器
のシステムアーキテクチャ−の研究を続け、ついに、そ
の実現を見た。
使用することなく、マイクロコンピュータのプログラム
制御だけで楽音を生成することのできる新しい電子楽器
のシステムアーキテクチャ−の研究を続け、ついに、そ
の実現を見た。
新しい電子楽器のシステムアーキテクチャ−を実現する
上で解決すべき課題として、処理すべき仕事量がそのと
きそのときのシステムの状態によって変動せざるを得な
いマイクロコンピュータにおいて、楽音のサンプリング
周波数、すなわちマイクロコンピュータがデジタル楽音
信号を生成する間隔をどのようにしたら有効に維持する
ことができるか、という問題があった。更に、電子楽器
の種々の使用、例えば楽音の合成の仕方、その処理の複
雑さの度合、ポリフォニック数などに合わせて最適の楽
音サンプリング周波数を容易に設定できるような機構が
望まれた。
上で解決すべき課題として、処理すべき仕事量がそのと
きそのときのシステムの状態によって変動せざるを得な
いマイクロコンピュータにおいて、楽音のサンプリング
周波数、すなわちマイクロコンピュータがデジタル楽音
信号を生成する間隔をどのようにしたら有効に維持する
ことができるか、という問題があった。更に、電子楽器
の種々の使用、例えば楽音の合成の仕方、その処理の複
雑さの度合、ポリフォニック数などに合わせて最適の楽
音サンプリング周波数を容易に設定できるような機構が
望まれた。
[発明の目的]
したがって、この発明の目的は従来のような音源回路ハ
ードウェアを必要とすることなくプログラム制御により
、マイクロコンピュータ自身が楽音を生成することがで
き、かつプログラム制御に起因する問題、特に動作時の
楽音サンプリング周期の確立の問題を解決するとともに
電子楽器の機構に関する種々の仕様変更、設計変更、ポ
リフォニック数の変更、楽音合成方式の変更、楽器制御
処理の変更等に対してただちに対応できるような最適の
楽音サンプリング周期の選定機能を実現した電子楽器用
処理装置を提供することである。
ードウェアを必要とすることなくプログラム制御により
、マイクロコンピュータ自身が楽音を生成することがで
き、かつプログラム制御に起因する問題、特に動作時の
楽音サンプリング周期の確立の問題を解決するとともに
電子楽器の機構に関する種々の仕様変更、設計変更、ポ
リフォニック数の変更、楽音合成方式の変更、楽器制御
処理の変更等に対してただちに対応できるような最適の
楽音サンプリング周期の選定機能を実現した電子楽器用
処理装置を提供することである。
[発明の構成、作用]
この発明によれば、上記の目的を達成するため、楽器を
制御する入力を処理するためのプログラムと楽音を生成
するためのプログラムを記憶するプログラム記憶手段と
、このプログラム記憶手段のアドレスを制御するアドレ
ス制御回路手段と、楽音の生成に必要なデータを記憶す
るデータ記憶手段と、演算回路手段と、前記プログラム
記憶手段のプログラムの各命令を解読して前記各手段の
動作を制御するオペレージ、ン制御回路手段とヲ備える
マイクロコンピュータから成り、更に、前記マイクロコ
ンピュータは楽音のサンプリング周期でインタラプト信
号を発生するタイマーインタラプト制御回路手段を有し
、このタイマーインタラプト制御回路手段からのインタ
ラプト信号に応答して前記楽音を生成するためのプログ
ラムが前記マイクロコンピュータにおいて実行されるこ
とにより楽音が生成され、更に前記タイマーインタラプ
ト制御回路手段において前記インタラプト信号が発生す
る間隔である前記楽音のサンプリング周期を可変にプロ
グラム可能にしたことを特徴とする電子楽器用処理装置
が提供される。
制御する入力を処理するためのプログラムと楽音を生成
するためのプログラムを記憶するプログラム記憶手段と
、このプログラム記憶手段のアドレスを制御するアドレ
ス制御回路手段と、楽音の生成に必要なデータを記憶す
るデータ記憶手段と、演算回路手段と、前記プログラム
記憶手段のプログラムの各命令を解読して前記各手段の
動作を制御するオペレージ、ン制御回路手段とヲ備える
マイクロコンピュータから成り、更に、前記マイクロコ
ンピュータは楽音のサンプリング周期でインタラプト信
号を発生するタイマーインタラプト制御回路手段を有し
、このタイマーインタラプト制御回路手段からのインタ
ラプト信号に応答して前記楽音を生成するためのプログ
ラムが前記マイクロコンピュータにおいて実行されるこ
とにより楽音が生成され、更に前記タイマーインタラプ
ト制御回路手段において前記インタラプト信号が発生す
る間隔である前記楽音のサンプリング周期を可変にプロ
グラム可能にしたことを特徴とする電子楽器用処理装置
が提供される。
すなわち、この発明では、タイマーインタラプト制御回
路手段からインタラプト信号によりマイクロコンピュー
タが行っている仕事を中断させ、楽音を生成するプログ
ラムを実行させているので、楽音のサンプリング周期ご
とに楽音のサンプルを生成するという課題がプログラム
制御方式において有効に解決される。すなわち、楽音を
生成する処理は他の処理に優先され、タイマーインクラ
ブド制御回路手段からインタラプト信号が発生する都度
、実行される。タイマーインタラプト制御回路手段は基
本的にタイマー(カウンタ)で構成されるわけであるか
ら、そのインタラプト信号の発生間隔は非常に安定して
いる。またインタラプト信号の発生ごとに楽音のサンプ
ルが生成されるわけであるから、インタラプト信号の発
生間隔は楽音のサンプリング周期にほかならない、更に
、この発明によれば、このタイマーインタラプト制御回
路手段はプログラム可能である。したがって、ポリフォ
ニック数、楽音の合成の仕方などに合わせて、最適の間
隔でタイマーインタラプト制御回路手段からインタラプ
ト信号を発生させることができる0例えば、タイマーイ
ンタラプト制御回路手段をプリセット可能なダウンカウ
ンタで構成したとする。マイクロコンピュータは通出な
とさ(例えばパワーオン時の初期設定処理時)に、この
カウンタにサンプリング周期を表わすデータをプリセッ
トする。カウンタはクロック(水晶発振器等のマスター
クロック源からの信号)ごとにカウント値をデクリメン
トする。カウンタ値がゼロになるとカウンタからインタ
ラプト信号が発生し、マイクロコンピュータに割込を要
求する。更にこのインタラプト信号によりプリセットデ
ータ(保持されている)が再度、カウンタにセットされ
る0以上により、マイクロコンピュータが望むサンプリ
ング周期で、タイマーインタラプト制御回路手段から割
込がかかり、その都度マイクロコンピュータは楽音生成
処理を実行する。
路手段からインタラプト信号によりマイクロコンピュー
タが行っている仕事を中断させ、楽音を生成するプログ
ラムを実行させているので、楽音のサンプリング周期ご
とに楽音のサンプルを生成するという課題がプログラム
制御方式において有効に解決される。すなわち、楽音を
生成する処理は他の処理に優先され、タイマーインクラ
ブド制御回路手段からインタラプト信号が発生する都度
、実行される。タイマーインタラプト制御回路手段は基
本的にタイマー(カウンタ)で構成されるわけであるか
ら、そのインタラプト信号の発生間隔は非常に安定して
いる。またインタラプト信号の発生ごとに楽音のサンプ
ルが生成されるわけであるから、インタラプト信号の発
生間隔は楽音のサンプリング周期にほかならない、更に
、この発明によれば、このタイマーインタラプト制御回
路手段はプログラム可能である。したがって、ポリフォ
ニック数、楽音の合成の仕方などに合わせて、最適の間
隔でタイマーインタラプト制御回路手段からインタラプ
ト信号を発生させることができる0例えば、タイマーイ
ンタラプト制御回路手段をプリセット可能なダウンカウ
ンタで構成したとする。マイクロコンピュータは通出な
とさ(例えばパワーオン時の初期設定処理時)に、この
カウンタにサンプリング周期を表わすデータをプリセッ
トする。カウンタはクロック(水晶発振器等のマスター
クロック源からの信号)ごとにカウント値をデクリメン
トする。カウンタ値がゼロになるとカウンタからインタ
ラプト信号が発生し、マイクロコンピュータに割込を要
求する。更にこのインタラプト信号によりプリセットデ
ータ(保持されている)が再度、カウンタにセットされ
る0以上により、マイクロコンピュータが望むサンプリ
ング周期で、タイマーインタラプト制御回路手段から割
込がかかり、その都度マイクロコンピュータは楽音生成
処理を実行する。
楽音生成処理(インタラプト処理)はタイマーインタラ
プト制御回路手段から次のインタラプト信号が出力され
るより前に、完了しなければならない、これができなけ
れば、楽音のサンプリング周期を維持できない、楽音生
成処理に要する時間は、その内容1例えばポリフォニッ
ク数、楽音合成の仕方、処理の複雑さの度合に依存する
。換言すれば、楽音生成処理プログラムの実行時間に依
存する0例えば、他の条件を同じとし、ポリフォニック
数を半分にすれば、その楽音生成処理プログラムの実行
時間はほぼ半分になる。この場合、楽音のサンプリング
速度を速くしても問題はない、むしろ、デジタル−アナ
ログ変換器の変換を考慮すれば、サンプリング速度を速
くした方がよい、一方、用途によっては、高品質でスペ
クトルの豊かな楽音が要求される場合もある。この場合
、ポリフォニック数は犠牲になるが、1つの音を複雑な
処理で合成して要求される条件にかなう楽音を提供する
必要がある。このような場合にも、それに適した楽音サ
ンプリング周期が考えられる。この発明は、以上のよう
な様々な使用条件を考慮して、それぞれの条件に合った
楽音サンプリング周期での楽音の生成を可能にしたもの
である。
プト制御回路手段から次のインタラプト信号が出力され
るより前に、完了しなければならない、これができなけ
れば、楽音のサンプリング周期を維持できない、楽音生
成処理に要する時間は、その内容1例えばポリフォニッ
ク数、楽音合成の仕方、処理の複雑さの度合に依存する
。換言すれば、楽音生成処理プログラムの実行時間に依
存する0例えば、他の条件を同じとし、ポリフォニック
数を半分にすれば、その楽音生成処理プログラムの実行
時間はほぼ半分になる。この場合、楽音のサンプリング
速度を速くしても問題はない、むしろ、デジタル−アナ
ログ変換器の変換を考慮すれば、サンプリング速度を速
くした方がよい、一方、用途によっては、高品質でスペ
クトルの豊かな楽音が要求される場合もある。この場合
、ポリフォニック数は犠牲になるが、1つの音を複雑な
処理で合成して要求される条件にかなう楽音を提供する
必要がある。このような場合にも、それに適した楽音サ
ンプリング周期が考えられる。この発明は、以上のよう
な様々な使用条件を考慮して、それぞれの条件に合った
楽音サンプリング周期での楽音の生成を可能にしたもの
である。
一構成例において、上記マイクロコンピュータは集植回
路チップで実現され、このチップ上に上記手段に加え、
生成したデジタル楽音信号をアナログ信号に変換するデ
ジタルΦアナログ(D/A)変換器と楽器を制御する入
力を受けるポートも実装される。したがって、音源回路
ハードウェアが不要であるので、全体の回路規模を大幅
に縮少することができる。従来の場合、音源回路LSI
チップの回路規模が大きいため、チップ製造における歩
留りに限界がある(歩留りはチップ面積にほぼ反比例す
る)、シたがって、この発明は電子楽器の製造コストを
大幅に下げることができる。
路チップで実現され、このチップ上に上記手段に加え、
生成したデジタル楽音信号をアナログ信号に変換するデ
ジタルΦアナログ(D/A)変換器と楽器を制御する入
力を受けるポートも実装される。したがって、音源回路
ハードウェアが不要であるので、全体の回路規模を大幅
に縮少することができる。従来の場合、音源回路LSI
チップの回路規模が大きいため、チップ製造における歩
留りに限界がある(歩留りはチップ面積にほぼ反比例す
る)、シたがって、この発明は電子楽器の製造コストを
大幅に下げることができる。
[実施例J
以下、図面を参照してこの発明の詳細な説明する。
本実施例に係る電子楽器の全体構成な第1図に示す、装
置全体の制御はマイクロコンピュータlにより行われる
。特に、この発明に従い、楽器の制御入力の処理のみな
らず、楽音を生成する処理もマイクロコンピュータ1で
実行され、楽音生成用の音源回路ハードウェアは必要と
しない、鍵盤2と機能キー3とから成るスイッチ部4は
楽器の制御入力源であり、スイッチ部4から入力された
情報はマイクロコンピュータ1で処理される。マイクロ
コンピュータlの生成したアナログ変換後の楽音信号は
ローパスフィルタ5でフィルタリングされ、アンプ6で
増幅され、スピーカ7を介して放音される。電源回路8
はマイクロコンピュータ1.ローパスフィルタ5.アン
プ6に必要な電源を供給する。
置全体の制御はマイクロコンピュータlにより行われる
。特に、この発明に従い、楽器の制御入力の処理のみな
らず、楽音を生成する処理もマイクロコンピュータ1で
実行され、楽音生成用の音源回路ハードウェアは必要と
しない、鍵盤2と機能キー3とから成るスイッチ部4は
楽器の制御入力源であり、スイッチ部4から入力された
情報はマイクロコンピュータ1で処理される。マイクロ
コンピュータ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に入力される
ネタストアドレス方式となっているが、プログラムカウ
ンタ方式のものにも本発明を適用し得る。RAM7ドレ
ス制御部33は制御用ROM31からの命令のオペラン
ドがレジスタを指定している場合に、RAM34内の対
応するレジスタのアドレスを指定する。RAM34はレ
ジスタ群であり、汎用rJi4算、フラグ演算、楽音の
演算等に使用される。加減算器及び論理演算部35と乗
算器36は制御用ROM32からの命令が演算命令のと
きに用いられる。特に乗算器36は楽音波形の演算に使
用しており、そのための最適化として第1と第2のデー
タ入力(例えば16ビツトデータ)を乗算して入力と同
じ長さ(16ビツト)のデータを出力するようになって
いる。上記RAM34、加減算器351乗算器36によ
り、演算回路(AU)が構成される。制御データ兼波形
用ROM37にはピッチデータ、エンベロープデータ(
レート、レベル)などの各種楽音制御パラメータと、P
CM(パルス符号変調)の楽音波形データが記憶されて
いる。エンベロープデータと楽音波形データは楽音の音
色ごとに用意される。
ログラムと楽音を生成するプログラムが記憶されており
、ROMアドレス制御部39からROMアドレスデコー
ダ32を介して指定されたアドレスのプログラム語(命
令)を順次出力していく、なお、具体的実施例では、プ
ログラム語長は28ビツトであり、プログラム語の一部
が次に読み出されるべきアドレスの下位部(ページ内ア
ドレス)としてROMアドレス制御部39に入力される
ネタストアドレス方式となっているが、プログラムカウ
ンタ方式のものにも本発明を適用し得る。RAM7ドレ
ス制御部33は制御用ROM31からの命令のオペラン
ドがレジスタを指定している場合に、RAM34内の対
応するレジスタのアドレスを指定する。RAM34はレ
ジスタ群であり、汎用rJi4算、フラグ演算、楽音の
演算等に使用される。加減算器及び論理演算部35と乗
算器36は制御用ROM32からの命令が演算命令のと
きに用いられる。特に乗算器36は楽音波形の演算に使
用しており、そのための最適化として第1と第2のデー
タ入力(例えば16ビツトデータ)を乗算して入力と同
じ長さ(16ビツト)のデータを出力するようになって
いる。上記RAM34、加減算器351乗算器36によ
り、演算回路(AU)が構成される。制御データ兼波形
用ROM37にはピッチデータ、エンベロープデータ(
レート、レベル)などの各種楽音制御パラメータと、P
CM(パルス符号変調)の楽音波形データが記憶されて
いる。エンベロープデータと楽音波形データは楽音の音
色ごとに用意される。
オペレーション解析部(オペレーション制御回路)3B
は制御用ROM31からの命令のオペコードを解読し、
指示されるオペレージ□ンを実行するために、回路の各
部に制御信号を送る。
は制御用ROM31からの命令のオペコードを解読し、
指示されるオペレージ□ンを実行するために、回路の各
部に制御信号を送る。
所定時間ごとに制御用ROM31の楽音生成プログラム
を実行するため、本装置ではタイマーインタラプトを採
用している。すなわち、タイマーを有するインタラプト
制御部40により、一定時間ごとにROM7ドレス制御
部39に制御信号(インタラプト信号)を送り、この信
号により、ROMアドレス制御部39は次に行うメイン
プログラムの命令のアドレスを退避(保持)し、楽音の
生成が行われるインタラプト処理プログラム(サブルー
チン)の先頭アドレスを代りにセットする。これにより
、インタラプト処理プログラムが開始される。インタラ
プト処理プログラムの最後にはリターン命令があるので
、このリターン命令がオペレーション解析部38で解読
された時点で、ROMアドレス制御部39は退避してあ
ったアドレスを再度セットし、メインプログラムに復帰
する。
を実行するため、本装置ではタイマーインタラプトを採
用している。すなわち、タイマーを有するインタラプト
制御部40により、一定時間ごとにROM7ドレス制御
部39に制御信号(インタラプト信号)を送り、この信
号により、ROMアドレス制御部39は次に行うメイン
プログラムの命令のアドレスを退避(保持)し、楽音の
生成が行われるインタラプト処理プログラム(サブルー
チン)の先頭アドレスを代りにセットする。これにより
、インタラプト処理プログラムが開始される。インタラ
プト処理プログラムの最後にはリターン命令があるので
、このリターン命令がオペレーション解析部38で解読
された時点で、ROMアドレス制御部39は退避してあ
ったアドレスを再度セットし、メインプログラムに復帰
する。
上記インタラプト制御部40はこの発明に従いプログラ
マブルである。すなわち、インタラプト制御部40のイ
ンタラプト信号の発生間隔(楽音サンプリング周期)を
マイクロコンピュータ1で自由に設定できる。詳細は後
述する。
マブルである。すなわち、インタラプト制御部40のイ
ンタラプト信号の発生間隔(楽音サンプリング周期)を
マイクロコンピュータ1で自由に設定できる。詳細は後
述する。
入力ポート41と出力ポート42は鍵盤2、機能キー3
のキースキャンのために使用される。インタラプト処理
プログラムにおいて生成された楽音はデジタル/アナロ
グ変換器43でアナログ信号に変換され、外部に出力さ
れる。
のキースキャンのために使用される。インタラプト処理
プログラムにおいて生成された楽音はデジタル/アナロ
グ変換器43でアナログ信号に変換され、外部に出力さ
れる。
第3図(A)に本実施例のマイクロコンピュータlのメ
インプログラムのフローを示す、AIは電源投入時のイ
ニシャル処理であり、マイクロコンピュータlのRAM
(レジスタ群)34のクリアや、リズムテンポ等の初
期値の設定等を行う。
インプログラムのフローを示す、AIは電源投入時のイ
ニシャル処理であり、マイクロコンピュータlのRAM
(レジスタ群)34のクリアや、リズムテンポ等の初
期値の設定等を行う。
更に、このイニシャル処理において、インタラプト制御
部40に対する楽音サンプリング周期データの設定が行
われる。A2でマイクロコンピュータlは出力ポート4
2からキー走査のための信号を出力し、スイッチ部4の
状態を入力ポート41から取り込むことにより、機能キ
ー、1191キーの状態をRAM34のキーバッファエ
リアに記憶する。A3ではA2で得た機能キー3の状態
から。
部40に対する楽音サンプリング周期データの設定が行
われる。A2でマイクロコンピュータlは出力ポート4
2からキー走査のための信号を出力し、スイッチ部4の
状態を入力ポート41から取り込むことにより、機能キ
ー、1191キーの状態をRAM34のキーバッファエ
リアに記憶する。A3ではA2で得た機能キー3の状態
から。
状態の変化した機能キーを識別し、指示される機能の実
行を行う(例えば、楽音番号のセット、エンベロープ番
号のセット、リズム番号のモー2ト等)、A4ではA2
で得た鍵盤2の状態から、変化した鍵(押鍵、離鍵)を
識別する0次のA5でA4の処理結果から1発音処理A
9のためのキーアサイン処理を行う、A6では機能キー
3でデモ演奏キーが押鍵されたとき制御データ兼波形用
ROM37から、デモ演奏データ(シーケンサデータ)
を順次読み出し、処理することにより、発音処理A9の
ためのキーアサイン処理等を行う。
行を行う(例えば、楽音番号のセット、エンベロープ番
号のセット、リズム番号のモー2ト等)、A4ではA2
で得た鍵盤2の状態から、変化した鍵(押鍵、離鍵)を
識別する0次のA5でA4の処理結果から1発音処理A
9のためのキーアサイン処理を行う、A6では機能キー
3でデモ演奏キーが押鍵されたとき制御データ兼波形用
ROM37から、デモ演奏データ(シーケンサデータ)
を順次読み出し、処理することにより、発音処理A9の
ためのキーアサイン処理等を行う。
A7ではリズムスタートキーが押鍵されたとき制御デー
タ兼波形用ROM37からリズムデータを順次読み出し
1発音処理A9のためのキーアサイン処理を行う、フロ
ー−周タイマー処理A8では、メインフローで必要なイ
ベントのタイミングを知るために、フロー−同時間(こ
れは、フローを一周する間に実行されたタイマーインタ
ラプトの回数を計数することで得られる。この計数処理
は後述のインタラプトタイマー処理B3で行われる。)
を基に演算を行い、エンベロープ用タイマー(エンベロ
ープの演算周期)やリズム用の基準値を得る0発音処理
A9ではA5、A6、A7でセットされたデータから、
実際に楽音を発音させるための各種演算を行い、結果を
RAM34内の音源処理レジスタ(第6図)にセットす
る。A10は次のメインフローのパスのための準備処理
であり、今回のバスで得た押鍵状態への変化を示すNE
W ON状態をON中にしたり、離鍵状態への変化を
示すNEW OFF状態をOFF中に変える等の処理
を行う。
タ兼波形用ROM37からリズムデータを順次読み出し
1発音処理A9のためのキーアサイン処理を行う、フロ
ー−周タイマー処理A8では、メインフローで必要なイ
ベントのタイミングを知るために、フロー−同時間(こ
れは、フローを一周する間に実行されたタイマーインタ
ラプトの回数を計数することで得られる。この計数処理
は後述のインタラプトタイマー処理B3で行われる。)
を基に演算を行い、エンベロープ用タイマー(エンベロ
ープの演算周期)やリズム用の基準値を得る0発音処理
A9ではA5、A6、A7でセットされたデータから、
実際に楽音を発音させるための各種演算を行い、結果を
RAM34内の音源処理レジスタ(第6図)にセットす
る。A10は次のメインフローのパスのための準備処理
であり、今回のバスで得た押鍵状態への変化を示すNE
W ON状態をON中にしたり、離鍵状態への変化を
示すNEW OFF状態をOFF中に変える等の処理
を行う。
楽音の生成が行われるインタラプト処理プログラムのフ
ローを第3B図に示す、B1で前回のインタラプトの音
源処理B2で生成しである楽音波形データ(8音分の累
算波形値)をD/A変換器43に送出する。これにより
、一定周期でD/A変換器43に楽音のサンプルが与え
られることになる9次の音源処理B2で各チャンネルの
楽音が生成され累算される。従来はこの処理を音源回路
ハードウェア上で行っていた。詳細は後述する。
ローを第3B図に示す、B1で前回のインタラプトの音
源処理B2で生成しである楽音波形データ(8音分の累
算波形値)をD/A変換器43に送出する。これにより
、一定周期でD/A変換器43に楽音のサンプルが与え
られることになる9次の音源処理B2で各チャンネルの
楽音が生成され累算される。従来はこの処理を音源回路
ハードウェア上で行っていた。詳細は後述する。
次のインタラプトタイマ7処理B3ではインタラプトが
所定時間ごとにかかることを利用して、フロー−置針時
用のタイマーレジスタ(RAM34内)を通過の都度、
プラス1する。
所定時間ごとにかかることを利用して、フロー−置針時
用のタイマーレジスタ(RAM34内)を通過の都度、
プラス1する。
なお、この実施例ではインタラプト処理プログラム内で
はメインプログラムで書込を行うレジスタについては、
内容の書替を行わないようにしているので1通常のイン
タラプト処理の開始時と終了時に行われるレジスタの退
避と回復の処理は不要である。すなわち、RAM34上
のレジスタは楽音処理に関係するレジスタとその他の処
理に関係するレジスタとが独立しているので、メインプ
ログラムからインタラプト処理への移行が可及的に遅れ
なしで行われる。
はメインプログラムで書込を行うレジスタについては、
内容の書替を行わないようにしているので1通常のイン
タラプト処理の開始時と終了時に行われるレジスタの退
避と回復の処理は不要である。すなわち、RAM34上
のレジスタは楽音処理に関係するレジスタとその他の処
理に関係するレジスタとが独立しているので、メインプ
ログラムからインタラプト処理への移行が可及的に遅れ
なしで行われる。
音源処理B2の詳細を第3C図に示す、CIで波形加算
用RAM領域(第6図参照)をクリアした後、8チャン
ネル分の処理02〜C9を順番に行っている。各チャン
ネル処理の最後で、チャンネルの楽音波形値が波形加算
用RAM領域のデータに加算される。
用RAM領域(第6図参照)をクリアした後、8チャン
ネル分の処理02〜C9を順番に行っている。各チャン
ネル処理の最後で、チャンネルの楽音波形値が波形加算
用RAM領域のデータに加算される。
第4図は1時間に沿って実施例の動作の流れを描いたも
のである。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図のC2〜C9の処理を1チャンネル分について
詳細に示したのが第7図である。チャンネル処理は大き
く分けてエンベロープ処理(D1〜D7)と波形処理(
08〜021)から成る。
詳細に示したのが第7図である。チャンネル処理は大き
く分けてエンベロープ処理(D1〜D7)と波形処理(
08〜021)から成る。
第8図はエンベロープ処理で生成されるエンベロープな
示したものである。1つの楽音のエンベロープはいくつ
かのステップ(セグメント)から成っている0図では4
セグメントで示しである。
示したものである。1つの楽音のエンベロープはいくつ
かのステップ(セグメント)から成っている0図では4
セグメントで示しである。
図中のムXはエンベロープのサンプリング周期であり、
Δyはエンベロープ値の変化幅である。
Δyはエンベロープ値の変化幅である。
チャンネルのエンベロープ処理(DI−D7)では、サ
ンプリングタイムごとのエンベロープの計算とステップ
の目標レベルに達したかどうかのチエツクを行っている
。一致したときには現在エンベロープレジスタ(第6図
参照)に目標値が設定されるので、メインプログラムの
発音処理A9内でそれを検知して、次のステップのエン
ベロープのためのデータ(ΔX、Δy、目標エンベロー
プ値)を各レジスタにセットしている。
ンプリングタイムごとのエンベロープの計算とステップ
の目標レベルに達したかどうかのチエツクを行っている
。一致したときには現在エンベロープレジスタ(第6図
参照)に目標値が設定されるので、メインプログラムの
発音処理A9内でそれを検知して、次のステップのエン
ベロープのためのデータ(ΔX、Δy、目標エンベロー
プ値)を各レジスタにセットしている。
詳細に述べると、DIでエンベロープの演算周期ΔXと
比較するためのタイマーレジスタをインタラプトごとに
インクリメントし、D2でΔXと一致したときD3でエ
ンベロープ変位分のデータΔyの加減算フラグ(符号ビ
ット)をテストしてエンベロープが上昇中か下降中かを
判別し、D4、D5でそれぞれ現在エンベロープの減算
または加算を行う、D6で現在エンベロープが目標エン
ベロープ値に達したかどうかをチエツクし、達しておれ
ば、現在エンベロープに目標レベルをセットする。これ
によりメインプログラムの発音処理A9で次のエンベロ
ープステップのデータがセットされることになる。また
発音処理A9でゼロの現在エンベロープを読んだときに
は発音の終了として処理される。
比較するためのタイマーレジスタをインタラプトごとに
インクリメントし、D2でΔXと一致したときD3でエ
ンベロープ変位分のデータΔyの加減算フラグ(符号ビ
ット)をテストしてエンベロープが上昇中か下降中かを
判別し、D4、D5でそれぞれ現在エンベロープの減算
または加算を行う、D6で現在エンベロープが目標エン
ベロープ値に達したかどうかをチエツクし、達しておれ
ば、現在エンベロープに目標レベルをセットする。これ
によりメインプログラムの発音処理A9で次のエンベロ
ープステップのデータがセットされることになる。また
発音処理A9でゼロの現在エンベロープを読んだときに
は発音の終了として処理される。
次に、波形処理D8〜021について述べる。
波形処理では、現在アドレスの整数部を使って波形RO
Mから隣り合う2つアドレスの波形データを読み出し、
(整数部子小数部)で示される現在アドレスに対して想
定される波形値を補間で求めている。補間が必要な理由
は、インタラプトによる波形サンプリング周期が一定で
あり、アドレスの加算値(ピッチデータ)が楽器への応
用上、あるa域にわたるためである(音階音しか出力し
ない楽器で音階音ごとに波形データを用意すれば補間の
必要はないが許容できない記憶容量の増大となる)、補
間による音色の劣化、歪みは高音域の方が著しいため1
通常は1M音の記録サンプリング周期より高速の周期で
原音を再生する。この実施例では原音(A4)再生の周
期を2倍にしている(第9図)、シたがって、アドレス
加算値が0.5のとき、A4の音が得られるようになっ
ている。この場合、A#4ではアドレス加算値は0.5
29となり、A3のとき、lとなる。これらのアドレス
加算値はピッチデータとして制御データ韮波形ROM3
7に記憶されており、押鍵時には発音処理A9において
、鍵に対応するピッチデータと選択されている音色の波
形スタートアドレス、波形エンドアドレス及び波形ルー
プアドレスがRAM34の対応するレジスタ、すなわち
、アドレス加算値レジスタ、スタートアドレス兼現在ア
ドレスレジスタ、エンドアドレスレジスタ、ループアド
レスレジスタにセットされる。
Mから隣り合う2つアドレスの波形データを読み出し、
(整数部子小数部)で示される現在アドレスに対して想
定される波形値を補間で求めている。補間が必要な理由
は、インタラプトによる波形サンプリング周期が一定で
あり、アドレスの加算値(ピッチデータ)が楽器への応
用上、あるa域にわたるためである(音階音しか出力し
ない楽器で音階音ごとに波形データを用意すれば補間の
必要はないが許容できない記憶容量の増大となる)、補
間による音色の劣化、歪みは高音域の方が著しいため1
通常は1M音の記録サンプリング周期より高速の周期で
原音を再生する。この実施例では原音(A4)再生の周
期を2倍にしている(第9図)、シたがって、アドレス
加算値が0.5のとき、A4の音が得られるようになっ
ている。この場合、A#4ではアドレス加算値は0.5
29となり、A3のとき、lとなる。これらのアドレス
加算値はピッチデータとして制御データ韮波形ROM3
7に記憶されており、押鍵時には発音処理A9において
、鍵に対応するピッチデータと選択されている音色の波
形スタートアドレス、波形エンドアドレス及び波形ルー
プアドレスがRAM34の対応するレジスタ、すなわち
、アドレス加算値レジスタ、スタートアドレス兼現在ア
ドレスレジスタ、エンドアドレスレジスタ、ループアド
レスレジスタにセットされる。
参考までに、第10図に時間に対する補間波形データを
示す6図中、白丸は波形ROMのアドレスにある波形デ
ータ値、黒丸は補間値を示している。
示す6図中、白丸は波形ROMのアドレスにある波形デ
ータ値、黒丸は補間値を示している。
補間の方式はいろいろあるが、ここでは直線補間を採用
している。第7図の波形生成処理D8〜021を詳細に
述べると、まず、DBで現在アドレスにアドレス加算値
を加算して新しい現在アドレスを得る。D9で現在アド
レスとエンドアドレスを比較し、現在アドレス〉エンド
アドレスなら4f、Dlo、Dllにより、現在アドレ
スくエンドアドレスのときは012により、物理上(番
地上)または論理上(動作上)の次のアドレスを計算し
、014でその整数部により波形ROMをアクセスして
次回波形データを得る。ループアドレスは動作上エンド
アドレスの次のアドレスである。すなわち、第9図の場
合1図示の波形は繰り返し読み出される。したがって、
現在アドレス=エンドアドレスのときは次のアドレスと
してループアドレスの波形データを読み出す(D l
3) 。
している。第7図の波形生成処理D8〜021を詳細に
述べると、まず、DBで現在アドレスにアドレス加算値
を加算して新しい現在アドレスを得る。D9で現在アド
レスとエンドアドレスを比較し、現在アドレス〉エンド
アドレスなら4f、Dlo、Dllにより、現在アドレ
スくエンドアドレスのときは012により、物理上(番
地上)または論理上(動作上)の次のアドレスを計算し
、014でその整数部により波形ROMをアクセスして
次回波形データを得る。ループアドレスは動作上エンド
アドレスの次のアドレスである。すなわち、第9図の場
合1図示の波形は繰り返し読み出される。したがって、
現在アドレス=エンドアドレスのときは次のアドレスと
してループアドレスの波形データを読み出す(D l
3) 。
015.016により、現在アドレスの整数部で波形R
OMをアクセスして今回の波形データを読み出す0次に
、017で次回波形値から今回波形値を減算し、D18
でその差に現在アドレスの小数部を乗算し、その結果を
019で今回の波形値に加えることにより、波形の直線
補間値を求める。この直線補間したデータに現在エンベ
ロープ値を乗算してチャンネルの楽音データ値を得(D
20)、それを波形加算用レジスタの内容に加えて楽音
データを累算する(021)。
OMをアクセスして今回の波形データを読み出す0次に
、017で次回波形値から今回波形値を減算し、D18
でその差に現在アドレスの小数部を乗算し、その結果を
019で今回の波形値に加えることにより、波形の直線
補間値を求める。この直線補間したデータに現在エンベ
ロープ値を乗算してチャンネルの楽音データ値を得(D
20)、それを波形加算用レジスタの内容に加えて楽音
データを累算する(021)。
ここまでで、明らかなように、マイクロコンピュータl
は、インタラプト制御部40からのインタラプト信号の
発生の都度、インタラプト処理を行い、楽音を生成する
ことにより、動作中の楽音サンプリング周期を維持して
いる。更に、この発明に従い、インタラプト制御部40
の発生するインタラプト信号の発生間隔、すなわち、楽
音のサンプリング周期はマイクロコンピュータ1により
可変にプログラムすることができる。プログラマブルな
インタラプト制御部40の構成は種々考えられる。以下
、2つの例について説明する。
は、インタラプト制御部40からのインタラプト信号の
発生の都度、インタラプト処理を行い、楽音を生成する
ことにより、動作中の楽音サンプリング周期を維持して
いる。更に、この発明に従い、インタラプト制御部40
の発生するインタラプト信号の発生間隔、すなわち、楽
音のサンプリング周期はマイクロコンピュータ1により
可変にプログラムすることができる。プログラマブルな
インタラプト制御部40の構成は種々考えられる。以下
、2つの例について説明する。
第11図に第1構成例のインタラプト制御部40を示す
、このインタラプト制御部は2通りの楽音サンプリング
周期でインタラプト信号I NTFを発生することがで
きる。詳細に述べると、インタラプト制御部には第13
図に示すようなりロック信号φが入力される。このクロ
ック信号φはクロック発振器の直接の出力あるいは、そ
の出力を分周回路に通した後の出力である0図示のよう
にクロック信号φはリプルカウンタを構成する6つのバ
イナリカウンタ11−2〜11−7の最下位のバイナリ
カウンタに入力される。第1のORゲート2−8にはす
べてのバイナリカウンタ11−2〜11−7の出力が入
力され、第2のORゲート2−9には最上位ビットのバ
イナリカウンタ11−7を除いたバイナリカウンタ11
−2〜11−6の出力が入力される。したがって、第1
のORゲート2−8の出力は128回の基本クロックφ
に対し、1回“O”となり、第2のORゲート2−9の
出力は64回の基本クロックφに対し、1回“O”とな
る、この第1と第2のORゲー)2−8.2−9のいず
れを選択するかをプログラム制御で設定できるようにす
ればよい、そのために、ラッチ11−1がある。このラ
ッチ11−1は上述した実施例の場合、初期設定処理へ
−1のなかで“0”または“1″に設定される。
、このインタラプト制御部は2通りの楽音サンプリング
周期でインタラプト信号I NTFを発生することがで
きる。詳細に述べると、インタラプト制御部には第13
図に示すようなりロック信号φが入力される。このクロ
ック信号φはクロック発振器の直接の出力あるいは、そ
の出力を分周回路に通した後の出力である0図示のよう
にクロック信号φはリプルカウンタを構成する6つのバ
イナリカウンタ11−2〜11−7の最下位のバイナリ
カウンタに入力される。第1のORゲート2−8にはす
べてのバイナリカウンタ11−2〜11−7の出力が入
力され、第2のORゲート2−9には最上位ビットのバ
イナリカウンタ11−7を除いたバイナリカウンタ11
−2〜11−6の出力が入力される。したがって、第1
のORゲート2−8の出力は128回の基本クロックφ
に対し、1回“O”となり、第2のORゲート2−9の
出力は64回の基本クロックφに対し、1回“O”とな
る、この第1と第2のORゲー)2−8.2−9のいず
れを選択するかをプログラム制御で設定できるようにす
ればよい、そのために、ラッチ11−1がある。このラ
ッチ11−1は上述した実施例の場合、初期設定処理へ
−1のなかで“0”または“1″に設定される。
すなわち、データバスの所定のビット線に128/fφ
(fφは基本クロックφの周波数)の楽音サンプリング
周期を指示するデータ“0”、またはその半分の長さの
楽音サンプリング周期を指示する“l”が乗った状態で
コマンド解析部38からの制御信号がラッチ11−1の
クロック入力に加って、データがラッチされる。ラッチ
11−1の出力は第1のORゲート2−8の出力が入力
されるORゲート11−10に入力され、またラッチ1
1−1の出力をインバータl 1−11で反転した信号
が、第2のORゲート2−9の出力が入力されるORゲ
ート11−12に入力される。
(fφは基本クロックφの周波数)の楽音サンプリング
周期を指示するデータ“0”、またはその半分の長さの
楽音サンプリング周期を指示する“l”が乗った状態で
コマンド解析部38からの制御信号がラッチ11−1の
クロック入力に加って、データがラッチされる。ラッチ
11−1の出力は第1のORゲート2−8の出力が入力
されるORゲート11−10に入力され、またラッチ1
1−1の出力をインバータl 1−11で反転した信号
が、第2のORゲート2−9の出力が入力されるORゲ
ート11−12に入力される。
ORゲート11−10とORゲート11−12の出力は
NANDゲートに入力され、その出力がインタラプト信
号INTFとなる。したがって、ラッチ11−1にビッ
ト“O″を設定したときには、第1のORゲー)11−
8の出力が選択され、基本クロックφの128個ごとに
1回、インタラプト信号I NTFが“1″アクテイブ
になり、ラッチ11−1にビット“1”を設定したとき
には、第2のORゲー)11−9の出力が選択され、イ
ンタラプト信号I NTFは基本クロックφの64個ご
とに1回“1′″アクテイブとなる。
NANDゲートに入力され、その出力がインタラプト信
号INTFとなる。したがって、ラッチ11−1にビッ
ト“O″を設定したときには、第1のORゲー)11−
8の出力が選択され、基本クロックφの128個ごとに
1回、インタラプト信号I NTFが“1″アクテイブ
になり、ラッチ11−1にビット“1”を設定したとき
には、第2のORゲー)11−9の出力が選択され、イ
ンタラプト信号I NTFは基本クロックφの64個ご
とに1回“1′″アクテイブとなる。
第12図に第2構成例のインタラプト制御部40を示す
、このインタラプト制御部は第11図の構成より細か〈
楽音サンプリング周期を調整することができる。詳細に
述べると、1ビットラッチ11−1の代りに、データバ
スの4ビツトに接続される4ビツトのラッチ12−1が
使用される。したがって、マイクロコンピュータ1はこ
のラッチ12−1にo−isの任意の値が設定可能であ
る。この4ビットラッチ12−1の出力はコンパレータ
12−8のB入力に入力される。コンパレータ12−8
の八人力には第11図のリプルカウンタと同様な6ビツ
トのリプルカウンタ12−2〜12−7の出力のうち、
上位4ビツトのバイナリカウンタ12−4〜12−7の
出力が入力される。コンパレータ12−8は、八人力と
B入力が等しいとき“工”となり、インタラプト信号I
NTFを発生する。このインタラプト信号INTFは
リプルカウンタ12−2〜12−7の各リセット入力に
も入力されており、インタラプト信号INTFの発生時
にリプルカウンタ12−2〜12−7をオールゼロにリ
セットする。したがって、第12図の構成の場合、イン
タラプト信号INTFの発生周期(楽音のサンプリング
周期)を任意の8n/fφ(n=1〜)に設定すること
ができる0例えば、4ビットラッチ12−1が8のとき
(B入力=1000)は、リプルカウンタ12−2〜1
2−7の値が1000000 (2進)になるごとにイ
ンタラプト信号INTFが発生する。すなわち、64個
の基本クロックφごとに1度の割りとなる。4ビットラ
ッチ12−1が9のと息なら、72個のクロシフφごと
に1度の割合となる。
、このインタラプト制御部は第11図の構成より細か〈
楽音サンプリング周期を調整することができる。詳細に
述べると、1ビットラッチ11−1の代りに、データバ
スの4ビツトに接続される4ビツトのラッチ12−1が
使用される。したがって、マイクロコンピュータ1はこ
のラッチ12−1にo−isの任意の値が設定可能であ
る。この4ビットラッチ12−1の出力はコンパレータ
12−8のB入力に入力される。コンパレータ12−8
の八人力には第11図のリプルカウンタと同様な6ビツ
トのリプルカウンタ12−2〜12−7の出力のうち、
上位4ビツトのバイナリカウンタ12−4〜12−7の
出力が入力される。コンパレータ12−8は、八人力と
B入力が等しいとき“工”となり、インタラプト信号I
NTFを発生する。このインタラプト信号INTFは
リプルカウンタ12−2〜12−7の各リセット入力に
も入力されており、インタラプト信号INTFの発生時
にリプルカウンタ12−2〜12−7をオールゼロにリ
セットする。したがって、第12図の構成の場合、イン
タラプト信号INTFの発生周期(楽音のサンプリング
周期)を任意の8n/fφ(n=1〜)に設定すること
ができる0例えば、4ビットラッチ12−1が8のとき
(B入力=1000)は、リプルカウンタ12−2〜1
2−7の値が1000000 (2進)になるごとにイ
ンタラプト信号INTFが発生する。すなわち、64個
の基本クロックφごとに1度の割りとなる。4ビットラ
ッチ12−1が9のと息なら、72個のクロシフφごと
に1度の割合となる。
以上で実施例の説明を終えるが、この発明の範囲を逸脱
することなく種々の変形、変更が可能である0例えば、
ある用途では、電子楽器に複数の異なる楽音合成能力を
もたせることが考えられる。この場合、それぞれの楽音
合成に対するプログラムがプログラムメモリ(制御用R
OM31)に用意される。楽音合成方式ごとに最適のサ
ンプリング周波数があるとする。またモード切換スイッ
チにより、どの楽音合成方式を使用するかが、ユーザー
で選択できるとする。そのために、メインフロー上でモ
ード切換スイッチの検査を行い、!2!択されている楽
音合成番号をメモリ(RAM34)にセットする。更に
、楽音生成処理ごとのサンプリング周波数データのテー
ブル(例えば制御用ROM41に置かれる)をアクセス
し1選択された楽音合成番号に対応するデータを見つけ
、インタラプト制御部40にセットする。インタラプト
制御部40からインタラプト信号が発生したら、夫々の
楽音合成処理ルーチンのエントリポイントのテーブル(
例えば、制御用ROM41に置かれる)をアクセスし、
選択された楽音合成番号に対応するエントリポイントを
見つけ、その位置から開始する楽音生成プログラムを実
行する。
することなく種々の変形、変更が可能である0例えば、
ある用途では、電子楽器に複数の異なる楽音合成能力を
もたせることが考えられる。この場合、それぞれの楽音
合成に対するプログラムがプログラムメモリ(制御用R
OM31)に用意される。楽音合成方式ごとに最適のサ
ンプリング周波数があるとする。またモード切換スイッ
チにより、どの楽音合成方式を使用するかが、ユーザー
で選択できるとする。そのために、メインフロー上でモ
ード切換スイッチの検査を行い、!2!択されている楽
音合成番号をメモリ(RAM34)にセットする。更に
、楽音生成処理ごとのサンプリング周波数データのテー
ブル(例えば制御用ROM41に置かれる)をアクセス
し1選択された楽音合成番号に対応するデータを見つけ
、インタラプト制御部40にセットする。インタラプト
制御部40からインタラプト信号が発生したら、夫々の
楽音合成処理ルーチンのエントリポイントのテーブル(
例えば、制御用ROM41に置かれる)をアクセスし、
選択された楽音合成番号に対応するエントリポイントを
見つけ、その位置から開始する楽音生成プログラムを実
行する。
その他、種々の変更が可能である。
[発1jlの効果〕
以上のように、この発明ではプログラム制御によりマイ
クロコンピュータ自身が楽音を生成する場合において、
楽音合成処理をタイマーインタラプト制御回路手段から
のインタラプト信号の合図で開始させるとともに、イン
タラプト制御手段のインタラプト信号の発生周期をマイ
クロコンピュータからプログラムできるようにしている
ので、動作時に楽音のサンプリング周期を維持すること
ができる一方で、電子楽器の機能、ポリフォニック数、
楽音合成の仕方、処理の複雑さの度合に合った楽音のサ
ンプリング周期で楽音を生成することができる、更に、
この実現のために、格別の回路の変更は不要であり、自
由度の高い電子楽器の設計、開発が可能となるという利
点がある。
クロコンピュータ自身が楽音を生成する場合において、
楽音合成処理をタイマーインタラプト制御回路手段から
のインタラプト信号の合図で開始させるとともに、イン
タラプト制御手段のインタラプト信号の発生周期をマイ
クロコンピュータからプログラムできるようにしている
ので、動作時に楽音のサンプリング周期を維持すること
ができる一方で、電子楽器の機能、ポリフォニック数、
楽音合成の仕方、処理の複雑さの度合に合った楽音のサ
ンプリング周期で楽音を生成することができる、更に、
この実現のために、格別の回路の変更は不要であり、自
由度の高い電子楽器の設計、開発が可能となるという利
点がある。
第1図はこの発明の実施例に係る電子楽器の全体構成図
、第2図は実施例のマイクロコンピュータの構成を示す
ブロック図、第3A図はマイクロコンピュータのメイン
プログラムのフローを示す図、第3B図は楽音の生成が
行われるインタラプト処理のフローチャート、第3C図
は第3B図の音源処理の詳細なフローチャート、第4図
は時間に沿ったプログラムの流れを示す図、第5図は時
間に沿った処理の概要を示すタイムチャート、第6図は
第2図のRAM34内に置かれる楽音生成用RAMのテ
ーブルを示す図、第7図は第3C図の1つのチャンネル
処理の詳細なフローチャート、第8図はエンベロープを
示す図、第9図は波形ROMの波形データを示す図、第
10図は時間に沿う補間演算波形を示す図、第11図は
インクラブド制御部の第1の構成例を示す図、第12図
はインタラプト制御部の第2の構成例を示す図。 第13図はインタラプト制御部のクロック久方のタイム
チャートである。 l・・・・・・マイクロコンピュータ、31・旧・・制
御用ROM、34・・・・・・RAM、35・・・・・
・加減算器及び論理演算部、36・・・・・・乗算器、
37・・・・・・制御データ兼波形ROM、38・・・
・・・オペレーション解析部、40・・・・・・インタ
ラプト制御部。
、第2図は実施例のマイクロコンピュータの構成を示す
ブロック図、第3A図はマイクロコンピュータのメイン
プログラムのフローを示す図、第3B図は楽音の生成が
行われるインタラプト処理のフローチャート、第3C図
は第3B図の音源処理の詳細なフローチャート、第4図
は時間に沿ったプログラムの流れを示す図、第5図は時
間に沿った処理の概要を示すタイムチャート、第6図は
第2図のRAM34内に置かれる楽音生成用RAMのテ
ーブルを示す図、第7図は第3C図の1つのチャンネル
処理の詳細なフローチャート、第8図はエンベロープを
示す図、第9図は波形ROMの波形データを示す図、第
10図は時間に沿う補間演算波形を示す図、第11図は
インクラブド制御部の第1の構成例を示す図、第12図
はインタラプト制御部の第2の構成例を示す図。 第13図はインタラプト制御部のクロック久方のタイム
チャートである。 l・・・・・・マイクロコンピュータ、31・旧・・制
御用ROM、34・・・・・・RAM、35・・・・・
・加減算器及び論理演算部、36・・・・・・乗算器、
37・・・・・・制御データ兼波形ROM、38・・・
・・・オペレーション解析部、40・・・・・・インタ
ラプト制御部。
Claims (2)
- (1)楽器を制御する入力を処理するためのプログラム
と楽音を生成するためのプログラムを記憶するプログラ
ム記憶手段と、 前記プログラム記憶手段のアドレスを制御するアドレス
制御回路手段と、 楽音の生成に必要なデータを記憶するデータ記憶手段と
、 演算回路手段と、 前記プログラム記憶手段のプログラムの各命令を解読し
て前記各手段の動作を制御するオペレーション制御回路
手段と、 を備えるマイクロコンピュータから成り、更に、前記マ
イクロコンピュータは楽音のサンプリング周期でインタ
ラプト信号を発生するタイマーインタラプト制御回路手
段を有し、このタイマーインタラプト制御回路手段から
のインタラプト信号に応答して前記楽音を生成するため
のプログラムが前記マイクロコンピュータにおいて実行
されることにより楽音が生成され、更に前記タイマーイ
ンタラプト制御回路手段において前記インタラプト信号
が発生する間隔である前記楽音のサンプリング周期を可
変にプログラム可能にしたことを特徴とする電子楽器用
処理装置。 - (2)請求項1記載の電子楽器用処理装置において、前
記マイクロコンピュータは集積回路チップで構成され、
このチップ上にデジタルの楽音信号をアナログ信号に変
換するデジタル・アナログ変換器と楽器を制御する入力
を受けるポートが更に設けられることを特徴とする電子
楽器用処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63334164A JPH07122796B2 (ja) | 1988-12-29 | 1988-12-29 | 処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63334164A JPH07122796B2 (ja) | 1988-12-29 | 1988-12-29 | 処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02179697A true JPH02179697A (ja) | 1990-07-12 |
| JPH07122796B2 JPH07122796B2 (ja) | 1995-12-25 |
Family
ID=18274256
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63334164A Expired - Lifetime JPH07122796B2 (ja) | 1988-12-29 | 1988-12-29 | 処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH07122796B2 (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 |
| USRE41757E1 (en) | 1996-08-30 | 2010-09-28 | Yamaha Corporation | Sound source system based on computer software and method of generating acoustic waveform data |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5681900A (en) * | 1979-12-10 | 1981-07-04 | Nippon Electric Co | Voice synthesizer |
-
1988
- 1988-12-29 JP JP63334164A patent/JPH07122796B2/ja not_active Expired - Lifetime
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5681900A (en) * | 1979-12-10 | 1981-07-04 | Nippon Electric Co | Voice synthesizer |
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 |
| USRE41757E1 (en) | 1996-08-30 | 2010-09-28 | Yamaha Corporation | Sound source system based on computer software and method of generating acoustic waveform data |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH07122796B2 (ja) | 1995-12-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5691493A (en) | Multi-channel tone generation apparatus with multiple CPU's executing programs in parallel | |
| US5319151A (en) | Data processing apparatus outputting waveform data in a certain interval | |
| EP0030390A1 (en) | Sound synthesizer | |
| US5584034A (en) | Apparatus for executing respective portions of a process by main and sub CPUS | |
| JP2619242B2 (ja) | 時変スペクトルを有する楽音を発生する電子楽器 | |
| JP2576614B2 (ja) | 処理装置 | |
| EP0376342B1 (en) | Data processing apparatus for electronic musical instruments | |
| JPH07122796B2 (ja) | 処理装置 | |
| JP2576617B2 (ja) | 処理装置 | |
| JP2576615B2 (ja) | 処理装置 | |
| JP2576616B2 (ja) | 処理装置 | |
| JP3658826B2 (ja) | 楽音生成方法 | |
| JP2950461B2 (ja) | 楽音発生装置 | |
| JP2797142B2 (ja) | 電子楽器用処理装置 | |
| JP2576613B2 (ja) | 処理装置 | |
| JPH02179698A (ja) | 処理装置 | |
| JP3832383B2 (ja) | 楽音生成装置及びプログラム | |
| JP3610759B2 (ja) | ディジタル信号処理装置 | |
| JP2797138B2 (ja) | 電子楽器用処理装置 | |
| JPS649639B2 (ja) | ||
| JP3832382B2 (ja) | 楽音生成装置及びプログラム | |
| JPH0284697A (ja) | 電子楽器の音源装置 | |
| Kahrs | Digital audio system architecture | |
| JPH03204695A (ja) | 楽音合成装置 | |
| JP2963785B2 (ja) | デジタル音源回路 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071225 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081225 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081225 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091225 Year of fee payment: 14 |
|
| EXPY | Cancellation because of completion of term | ||
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091225 Year of fee payment: 14 |