JP2576613B2 - 処理装置 - Google Patents
処理装置Info
- Publication number
- JP2576613B2 JP2576613B2 JP63334158A JP33415888A JP2576613B2 JP 2576613 B2 JP2576613 B2 JP 2576613B2 JP 63334158 A JP63334158 A JP 63334158A JP 33415888 A JP33415888 A JP 33415888A JP 2576613 B2 JP2576613 B2 JP 2576613B2
- Authority
- JP
- Japan
- Prior art keywords
- tone
- program
- processing
- address
- waveform
- 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
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】 [発明の技術分野] この発明は処理装置に関し、特に処理装置の構造的な
アーキテクチャーに関する。
アーキテクチャーに関する。
[従来技術とその問題点] 近年、電子楽器はコンピュータ化されている。しか
し、大量で高速のデータ演算が必要な楽音の生成に係る
部分は音源回路と呼ばれる専用構造のハードウェアで行
われており、マイクロコンピュータは楽器への制御入力
(鍵盤やコンソールパネルからの入力、MIDIその他の外
部制御入力、内部または外部の演奏メモリからの入力
等)を処理し、音源回路に適したコマンドを音源回路に
転送するに留まっている。
し、大量で高速のデータ演算が必要な楽音の生成に係る
部分は音源回路と呼ばれる専用構造のハードウェアで行
われており、マイクロコンピュータは楽器への制御入力
(鍵盤やコンソールパネルからの入力、MIDIその他の外
部制御入力、内部または外部の演奏メモリからの入力
等)を処理し、音源回路に適したコマンドを音源回路に
転送するに留まっている。
音源回路は、楽音の合成の方式によりその構造は異な
るが、いずれの音源方式のものもその回路規模は大き
い。代表的には、マイクロコンピュータ(中央演算装
置)の回路規模の約2倍である。
るが、いずれの音源方式のものもその回路規模は大き
い。代表的には、マイクロコンピュータ(中央演算装
置)の回路規模の約2倍である。
一例として、第15図にPCM音源タイプのブロック図を
示す。PCM音源100を制御するマイクロコンピュータ101
が存在し、PCM音源100で楽音の生成に必要な情報(コマ
ンド)がマイクロコンピュータ101よりPCM音源100に送
られる。マイクロコンピュータ101からのコマンドは音
源コマンド解析部102を介して音源の各部にセットされ
る。
示す。PCM音源100を制御するマイクロコンピュータ101
が存在し、PCM音源100で楽音の生成に必要な情報(コマ
ンド)がマイクロコンピュータ101よりPCM音源100に送
られる。マイクロコンピュータ101からのコマンドは音
源コマンド解析部102を介して音源の各部にセットされ
る。
例えば、発音開始時には以下の手順で情報がセットさ
れる。
れる。
(a)発音しようとする波形の入っている波形記憶装置
107に対するアドレス(通常、スタートアドレス、エン
ドアドレス、ループアドレスから成る)を送る。これら
のアドレスはアドレス制御部104内にセットされる。
107に対するアドレス(通常、スタートアドレス、エン
ドアドレス、ループアドレスから成る)を送る。これら
のアドレスはアドレス制御部104内にセットされる。
(b)発音しようとする楽音のピッチデータを送る。ピ
ッチデータは音程制御部105にセットされる。
ッチデータは音程制御部105にセットされる。
(c)エンベロープデータを送ってエンベロープ制御部
106にセットする。
106にセットする。
(d)チャンネル制御をオンとする(チャンネルON/OFF
制御部103にセット)。
制御部103にセット)。
これらのデータはポリフォニック音源の場合にはチャ
ンネル番号を合わせる必要があり音源100の各部は時分
割で動作しなければならない。以上のデータがセットさ
れるとPCM音源100は次のようにして楽音を生成する。該
当チャンネルタイムで、アドレス制御部104は音程制御
部105からのピッチデータの累算結果に最も近い2つの
隣り合うアドレスにある波形データ(直前波形値と直後
波形値)を波形記憶装置107から読み出す。この波形デ
ータは波形処理部108に送られて、ここで、直前波形値
と直後波形値の差が演算される。この差と直前波形値は
乗算回路109に送られ、ここで、隣り合う波形値の差に
波形記憶装置のアドレスの小数部PD(図では音程制御部
105から与えられる)を乗算し、それに直前波形値を加
算して補間値を得、この補間値にエンベロープ制御部10
6で生成したエンベロープ値EDを乗算してチャンネルの
楽音波形の瞬時値を得る。この瞬時値は加算器110です
べてのチャンネルについて累算され、その結果がD/A変
換器111に送られてアナログの楽音信号となる。
ンネル番号を合わせる必要があり音源100の各部は時分
割で動作しなければならない。以上のデータがセットさ
れるとPCM音源100は次のようにして楽音を生成する。該
当チャンネルタイムで、アドレス制御部104は音程制御
部105からのピッチデータの累算結果に最も近い2つの
隣り合うアドレスにある波形データ(直前波形値と直後
波形値)を波形記憶装置107から読み出す。この波形デ
ータは波形処理部108に送られて、ここで、直前波形値
と直後波形値の差が演算される。この差と直前波形値は
乗算回路109に送られ、ここで、隣り合う波形値の差に
波形記憶装置のアドレスの小数部PD(図では音程制御部
105から与えられる)を乗算し、それに直前波形値を加
算して補間値を得、この補間値にエンベロープ制御部10
6で生成したエンベロープ値EDを乗算してチャンネルの
楽音波形の瞬時値を得る。この瞬時値は加算器110です
べてのチャンネルについて累算され、その結果がD/A変
換器111に送られてアナログの楽音信号となる。
この例からもわかるように、音源回路のハードウェア
には、演算回路とデータを一時的に保持するための記憶
装置が処理段階の随所に必要であり、回路が大規模にな
る問題がある。また、特定の音源回路の構造は特定音源
方式、特定のポリフォニック数の楽音合成を実現するの
みであり、ポリフォニック数を変えるだけでも、大幅な
回路変更、追加を余儀なくされる。更には、マイクロコ
ンピュータから音源回路に送るコマンドのセットについ
ても音源に合わせて設計を行う必要があり、音源制御の
プログラムの開発に多大の時間と労力を必要とする。
には、演算回路とデータを一時的に保持するための記憶
装置が処理段階の随所に必要であり、回路が大規模にな
る問題がある。また、特定の音源回路の構造は特定音源
方式、特定のポリフォニック数の楽音合成を実現するの
みであり、ポリフォニック数を変えるだけでも、大幅な
回路変更、追加を余儀なくされる。更には、マイクロコ
ンピュータから音源回路に送るコマンドのセットについ
ても音源に合わせて設計を行う必要があり、音源制御の
プログラムの開発に多大の時間と労力を必要とする。
[発明の目的] したがって、この発明の目的はマイクロコンピュータ
のプログラム制御により、楽音の生成を可能とし、専用
の音源回路ハードウェアを必要としない新しい構造の処
理装置を提供することである。
のプログラム制御により、楽音の生成を可能とし、専用
の音源回路ハードウェアを必要としない新しい構造の処
理装置を提供することである。
[発明の構成、作用] この発明によれば、外部より供給される楽音制御信号
入力を処理するための制御用プログラム及びポリフォニ
ックの楽音をリアルタイムで生成するための楽音生成用
プログラムを記憶するプログラム記憶手段と、前記プロ
グラム記憶手段に記憶されたプログラムを読み出すため
のアドレスを制御するアドレス制御手段と、前記アドレ
ス制御手段により前記プログラム記憶手段から読み出さ
れたプログラムの各命令を解読する解読手段と、前記解
読手段により解読された制御用プログラムの各命令に従
って生成された、各楽音生成に必要なデータを記憶する
データ記憶手段と、前記データ記憶手段に記憶された各
楽音生成に必要なデータを、前記解読手段により解読さ
れた楽音生成用プログラムの各命令に従って演算処理し
て楽音信号を生成して出力する演算処理手段と、を備え
るマイクロコンピュータから成り、このマイクロコンピ
ュータが上記プログラム記憶手段内の上記制御用プログ
ラムを実行するとともに、所定の周期またはほぼ所定の
周期ごとに上記楽音生成用プログラムを起動し、実行す
ることにより、ポリフォニックの楽音信号をリアルタイ
ムで生成して出力することを特徴とする処理装置が提供
される。
入力を処理するための制御用プログラム及びポリフォニ
ックの楽音をリアルタイムで生成するための楽音生成用
プログラムを記憶するプログラム記憶手段と、前記プロ
グラム記憶手段に記憶されたプログラムを読み出すため
のアドレスを制御するアドレス制御手段と、前記アドレ
ス制御手段により前記プログラム記憶手段から読み出さ
れたプログラムの各命令を解読する解読手段と、前記解
読手段により解読された制御用プログラムの各命令に従
って生成された、各楽音生成に必要なデータを記憶する
データ記憶手段と、前記データ記憶手段に記憶された各
楽音生成に必要なデータを、前記解読手段により解読さ
れた楽音生成用プログラムの各命令に従って演算処理し
て楽音信号を生成して出力する演算処理手段と、を備え
るマイクロコンピュータから成り、このマイクロコンピ
ュータが上記プログラム記憶手段内の上記制御用プログ
ラムを実行するとともに、所定の周期またはほぼ所定の
周期ごとに上記楽音生成用プログラムを起動し、実行す
ることにより、ポリフォニックの楽音信号をリアルタイ
ムで生成して出力することを特徴とする処理装置が提供
される。
以上のように、この発明にあっては、楽音を生成する
ための音源回路ハードウェアは全く必要としない。この
新しいアーキテクチャーの処理装置がもつ利点は図り知
れないものがある。第1は設計の自由度である。すなわ
ち、発音ポリフォニック数の変更、楽音合成方式の変更
をプログラムの設計変更で対応することができる。第2
は音源回路ハードウェアが不要であるので、全体の回路
規模を大幅に縮少することができる。従来の場合、音源
回路LSIチップの回路規模が大きいため、チップ製造に
おける歩留りに限界がある(歩留りはチップ面積にほぼ
反比例する)。したがって、この発明は装置の製造コス
トを大幅に下げることができる。
ための音源回路ハードウェアは全く必要としない。この
新しいアーキテクチャーの処理装置がもつ利点は図り知
れないものがある。第1は設計の自由度である。すなわ
ち、発音ポリフォニック数の変更、楽音合成方式の変更
をプログラムの設計変更で対応することができる。第2
は音源回路ハードウェアが不要であるので、全体の回路
規模を大幅に縮少することができる。従来の場合、音源
回路LSIチップの回路規模が大きいため、チップ製造に
おける歩留りに限界がある(歩留りはチップ面積にほぼ
反比例する)。したがって、この発明は装置の製造コス
トを大幅に下げることができる。
一構成例において、上記プログラム記憶手段は読出し
専用メモリ(ROM)で構成される。マイクロコンピュー
タは集積回路チップで実現され、このチップ上に上記手
段に加え、生成したデジタル楽音信号をアナログ信号に
変換するデジタル・アナログ(D/A)変換器と楽器を制
御する入力を受けるポートも実装される。演算回路手段
には波形データの演算に使用する乗算回路も加えられ
る。
専用メモリ(ROM)で構成される。マイクロコンピュー
タは集積回路チップで実現され、このチップ上に上記手
段に加え、生成したデジタル楽音信号をアナログ信号に
変換するデジタル・アナログ(D/A)変換器と楽器を制
御する入力を受けるポートも実装される。演算回路手段
には波形データの演算に使用する乗算回路も加えられ
る。
[実施例] 以下、図面を参照してこの発明の実施例を説明する。
本実施例に係る電子楽器の全体構成を第1図に示す。
装置全体の制御はマイクロコンピュータ1により行われ
る。特に、この発明に従い、楽器の制御入力の処理のみ
ならず、楽音を生成する処理もマイクロコンピュータ1
で実行され、楽音生成用の音源回路ハードウェアは必要
としない。鍵盤2と機能キー3とから成るスイッチ部4
は楽器の制御入力源であり、スイッチ部4から入力され
た情報はマイクロコンピュータ1で処理される。マイク
ロコンピュータ1の生成したアナログ変換後の楽音信号
はローパスフィルタ5でフィルタリングされ、アンプ6
で増幅され、スピーカ7を介して放音される。電源回路
8はマイクロコンピュータ1、ローパスフィルタ5、ア
ンプ6に必要な電源を供給する。
装置全体の制御はマイクロコンピュータ1により行われ
る。特に、この発明に従い、楽器の制御入力の処理のみ
ならず、楽音を生成する処理もマイクロコンピュータ1
で実行され、楽音生成用の音源回路ハードウェアは必要
としない。鍵盤2と機能キー3とから成るスイッチ部4
は楽器の制御入力源であり、スイッチ部4から入力され
た情報はマイクロコンピュータ1で処理される。マイク
ロコンピュータ1の生成したアナログ変換後の楽音信号
はローパスフィルタ5でフィルタリングされ、アンプ6
で増幅され、スピーカ7を介して放音される。電源回路
8はマイクロコンピュータ1、ローパスフィルタ5、ア
ンプ6に必要な電源を供給する。
上記マイクロコンピュータ1の内部構造を第2図にブ
ロック図で示す。図示の各要素はワンチップ上に実装さ
れている。実際に製作したものは5×5mmのチップサイ
ズで、8音ポリフォニックの同時発音数をもち、楽音合
成方式はPCM(波形読み出し方式)であるが、本発明は
他のポリフォニック数、他の楽音合成方式にも適用でき
る。
ロック図で示す。図示の各要素はワンチップ上に実装さ
れている。実際に製作したものは5×5mmのチップサイ
ズで、8音ポリフォニックの同時発音数をもち、楽音合
成方式はPCM(波形読み出し方式)であるが、本発明は
他のポリフォニック数、他の楽音合成方式にも適用でき
る。
制御用ROM31には楽器の各種制御入力を処理するプロ
グラムと楽音を生成するプログラムが記憶されており、
ROMアドレス制御部39からROMアドレスデコーダ32を介し
て指定されたアドレスのプログラム語(命令)を順次出
力していく。なお、具体的実施例では、プログラム語長
は28ビットであり、プログラム語の一部が次に読み出さ
れるべきアドレスの下位部(ページ内アドレス)として
ROMアドレス制御部39に入力されるネクストアドレス方
式となっているが、プログラムカウンタ方式のものにも
本発明を適用し得る。RAMアドレス制御部33は制御用ROM
31からの命令のオペランドがレジスタを指定している場
合に、RAM34内の対応するレジスタのアドレスを指定す
る。RAM34はレジスタ群であり、汎用演算、フラグ演
算、楽音の演算等に使用される。加減算器及び論理演算
部35と乗算器36は制御用ROM32からの命令が演算命令の
ときに用いられる。特に乗算器36は楽音波形の演算に使
用しており、そのための最適化として第1と第2のデー
タ入力(例えば16ビットデータ)を乗算して入力と同じ
長さ(16ビット)のデータを出力するようになってい
る。上記RAM34、加減算器35、乗算器36により、演算回
路(AU)が構成される。制御データ兼波形用ROM37には
ピッチデータ、エンベロープデータ(レート、レベル)
などの各種楽音制御パラメータと、PCM(パルス符号変
調)の楽音波形データが記憶されている。エンベロープ
データと楽音波形データは楽音の音色ごとに用意され
る。オペレーション解析部(オペレーション制御回路)
38は制御用ROM31からの命令のオペコードを解読し、指
示されるオペレーションを実行するために、回路の各部
に制御信号を送る。
グラムと楽音を生成するプログラムが記憶されており、
ROMアドレス制御部39からROMアドレスデコーダ32を介し
て指定されたアドレスのプログラム語(命令)を順次出
力していく。なお、具体的実施例では、プログラム語長
は28ビットであり、プログラム語の一部が次に読み出さ
れるべきアドレスの下位部(ページ内アドレス)として
ROMアドレス制御部39に入力されるネクストアドレス方
式となっているが、プログラムカウンタ方式のものにも
本発明を適用し得る。RAMアドレス制御部33は制御用ROM
31からの命令のオペランドがレジスタを指定している場
合に、RAM34内の対応するレジスタのアドレスを指定す
る。RAM34はレジスタ群であり、汎用演算、フラグ演
算、楽音の演算等に使用される。加減算器及び論理演算
部35と乗算器36は制御用ROM32からの命令が演算命令の
ときに用いられる。特に乗算器36は楽音波形の演算に使
用しており、そのための最適化として第1と第2のデー
タ入力(例えば16ビットデータ)を乗算して入力と同じ
長さ(16ビット)のデータを出力するようになってい
る。上記RAM34、加減算器35、乗算器36により、演算回
路(AU)が構成される。制御データ兼波形用ROM37には
ピッチデータ、エンベロープデータ(レート、レベル)
などの各種楽音制御パラメータと、PCM(パルス符号変
調)の楽音波形データが記憶されている。エンベロープ
データと楽音波形データは楽音の音色ごとに用意され
る。オペレーション解析部(オペレーション制御回路)
38は制御用ROM31からの命令のオペコードを解読し、指
示されるオペレーションを実行するために、回路の各部
に制御信号を送る。
所定時間ごとに制御用ROM31の楽音生成プログラムを
実行するため、この実施例ではタイマーインタラプトを
採用している。すなわち、タイマーを有するインタラプ
ト制御部40により、一定時間ごとにROMアドレス制御部3
9は制御信号(割込要求信号)を送り、この信号によ
り、ROMアドレス制御部39は次に行うメインプログラム
の命令のアドレスを退避(保持)し、楽音の生成が行わ
れるインタラプト処理プログラム(サブルーチン)の先
頭アドレスを代りにセットする。これにより、インタラ
プト処理プログラムが開始される。インタラプト処理プ
ログラムの最後にはリターン命令があるので、このリタ
ーン命令がオペレーション解析部38で解読された時点
で、ROMアドレス制御部39は退避してあったアドレスを
再度セットし、メインプログラムに復帰する。
実行するため、この実施例ではタイマーインタラプトを
採用している。すなわち、タイマーを有するインタラプ
ト制御部40により、一定時間ごとにROMアドレス制御部3
9は制御信号(割込要求信号)を送り、この信号によ
り、ROMアドレス制御部39は次に行うメインプログラム
の命令のアドレスを退避(保持)し、楽音の生成が行わ
れるインタラプト処理プログラム(サブルーチン)の先
頭アドレスを代りにセットする。これにより、インタラ
プト処理プログラムが開始される。インタラプト処理プ
ログラムの最後にはリターン命令があるので、このリタ
ーン命令がオペレーション解析部38で解読された時点
で、ROMアドレス制御部39は退避してあったアドレスを
再度セットし、メインプログラムに復帰する。
入力ポート41と出力ポート42は鍵盤2、機能キー3の
キースキャンのために使用される。インタラプト処理プ
ログラムにおいて生成された楽音はデジタル/アナログ
変換器43でアナログ信号に変換され、外部に出力され
る。
キースキャンのために使用される。インタラプト処理プ
ログラムにおいて生成された楽音はデジタル/アナログ
変換器43でアナログ信号に変換され、外部に出力され
る。
第3図(A)に本実施例のマイクロコンピュータ1の
メインプログラムフローを示す。A1は電源投入時のイニ
シャル処理であり、マイクロコンピュータ1のRAM(レ
ジスタ群)34のクリアや、リズムテンポ等の初期値の設
定等を行う。A2でマイクロコンピュータ1は出力ポート
42からキー走査のための信号を出力し、スイッチ部4の
状態を入力ポート41から取り込むことにより、機能キ
ー、鍵盤キーの状態をRAM34のキーバッファエリアに記
憶する。A3ではA2で得た機能キー3の状態から、状態の
変化した機能キーを識別し、指示される機能の実行を行
う(例えば、楽音番号のセット、エンベロープ番号のセ
ット、リズム番号のセット等)。A4ではA2で得た鍵盤2
の状態から、変化した鍵(押鍵、離鍵)を識別する。次
のA5でA4の処理結果から、発音処理A9のためのキーアサ
イン処理を行う。A6では機能キー3でデモ演奏キーが押
鍵されたとき制御データ兼波形用ROM37から、デモ演奏
データ(シーケンサデータ)を順次読み出し、処理する
ことにより、発音処理A9のためのキーアサイン処理等を
行う。A7ではリズムスタートキーが押鍵されたとき制御
データ兼波形用ROM37からリズムデータを順次読み出
し、発音処理A9のためのキーアサイン処理を行う。フロ
ー一周タイマー処理A8では、メインフローで必要なイベ
ントのタイミングを知るために、フロー一周時間(これ
は、フローを一周する間に実行されたタイマーインタラ
プトの回数を計数することで得られる。この計数処理は
後述のインタラプトタイマー処理B3で行われる。)を基
に演算を行い、エンベロープ用タイマー(エンベロープ
の演算周期)やリズム用の基準値を得る。発音処理A9で
はA5、A6、A7でセットされたデータから、実際に楽音を
発音させるための各種演算を行い、結果をRAM34内の音
源処理レジスタ(第6図)にセットする。A10は次のメ
インフローのパスのための準備処理であり、今回のパス
で得た押鍵状態への変化を示すNEW ON状態をON中にした
り、離鍵状態への変化を示すNEW OFF状態をOFF中に変え
る等の処理を行う。
メインプログラムフローを示す。A1は電源投入時のイニ
シャル処理であり、マイクロコンピュータ1のRAM(レ
ジスタ群)34のクリアや、リズムテンポ等の初期値の設
定等を行う。A2でマイクロコンピュータ1は出力ポート
42からキー走査のための信号を出力し、スイッチ部4の
状態を入力ポート41から取り込むことにより、機能キ
ー、鍵盤キーの状態をRAM34のキーバッファエリアに記
憶する。A3ではA2で得た機能キー3の状態から、状態の
変化した機能キーを識別し、指示される機能の実行を行
う(例えば、楽音番号のセット、エンベロープ番号のセ
ット、リズム番号のセット等)。A4ではA2で得た鍵盤2
の状態から、変化した鍵(押鍵、離鍵)を識別する。次
のA5でA4の処理結果から、発音処理A9のためのキーアサ
イン処理を行う。A6では機能キー3でデモ演奏キーが押
鍵されたとき制御データ兼波形用ROM37から、デモ演奏
データ(シーケンサデータ)を順次読み出し、処理する
ことにより、発音処理A9のためのキーアサイン処理等を
行う。A7ではリズムスタートキーが押鍵されたとき制御
データ兼波形用ROM37からリズムデータを順次読み出
し、発音処理A9のためのキーアサイン処理を行う。フロ
ー一周タイマー処理A8では、メインフローで必要なイベ
ントのタイミングを知るために、フロー一周時間(これ
は、フローを一周する間に実行されたタイマーインタラ
プトの回数を計数することで得られる。この計数処理は
後述のインタラプトタイマー処理B3で行われる。)を基
に演算を行い、エンベロープ用タイマー(エンベロープ
の演算周期)やリズム用の基準値を得る。発音処理A9で
はA5、A6、A7でセットされたデータから、実際に楽音を
発音させるための各種演算を行い、結果をRAM34内の音
源処理レジスタ(第6図)にセットする。A10は次のメ
インフローのパスのための準備処理であり、今回のパス
で得た押鍵状態への変化を示すNEW ON状態をON中にした
り、離鍵状態への変化を示すNEW OFF状態をOFF中に変え
る等の処理を行う。
楽音の生成が行われるインタラプト処理プログラムの
フローを第3B図に示す。B1で前回のインタラプトの音源
処理B2で生成してある楽音波形データ(8音分の累積波
形値)をD/A変換器43に送出する。これにより、一定周
期でD/A変換器43に楽音のサンプルが与えられることに
なる。次の音源処理B2は実施例のポイントであり、従来
はこの処理を音源回路ハードウェア上で行っていた。詳
細は後述する。次のインタラプトタイマー処理B3ではイ
ンタラプトが所定時間ごとにかかることを利用して、フ
ロー一周計時用のタイマーレジスタ(RAM34内)を通過
の都度、プラス1する。
フローを第3B図に示す。B1で前回のインタラプトの音源
処理B2で生成してある楽音波形データ(8音分の累積波
形値)をD/A変換器43に送出する。これにより、一定周
期でD/A変換器43に楽音のサンプルが与えられることに
なる。次の音源処理B2は実施例のポイントであり、従来
はこの処理を音源回路ハードウェア上で行っていた。詳
細は後述する。次のインタラプトタイマー処理B3ではイ
ンタラプトが所定時間ごとにかかることを利用して、フ
ロー一周計時用のタイマーレジスタ(RAM34内)を通過
の都度、プラス1する。
なお、この実施例ではインタラプト処理プログラム内
ではメインプログラムで書込を行うレジスタについて
は、内容の書替を行わないようにしているので、通常の
インタラプト処理の開始時と終了時に行われるレジスタ
の退避と回復の処理は不要である。すなわち、RAM34上
のレジスタは楽音処理に関係するレジスタとその他の処
理に関係するレジスタとが独立しているので、メインプ
ログラムからインタラプト処理への移行が可及的に遅れ
なしで行われる。
ではメインプログラムで書込を行うレジスタについて
は、内容の書替を行わないようにしているので、通常の
インタラプト処理の開始時と終了時に行われるレジスタ
の退避と回復の処理は不要である。すなわち、RAM34上
のレジスタは楽音処理に関係するレジスタとその他の処
理に関係するレジスタとが独立しているので、メインプ
ログラムからインタラプト処理への移行が可及的に遅れ
なしで行われる。
音源処理B2の詳細を第3C図に示す。C1で波形加算用RA
M領域(第6図参照)をクリアした後、8チャンネル分
の処理C2〜C9を順番に行っている。各チャンネル処理の
最後で、チャンネルの楽音波形値が波形加算用RAM領域
のデータに加算される。
M領域(第6図参照)をクリアした後、8チャンネル分
の処理C2〜C9を順番に行っている。各チャンネル処理の
最後で、チャンネルの楽音波形値が波形加算用RAM領域
のデータに加算される。
第4図は、時間に沿って実施例の動作の流れを描いた
ものである。A、B、C、D、E、Fはメインプログラ
ム(第3A図)の断片であり、一定時間ごとにインタラプ
ト処理(第3B図)が実行される。タイムチャートで示す
と第5図のようになる。図示のように、インタラプトに
入る都度、D/A変換器43に楽音波形信号が入力され、対
応するアナログ信号が外部に出力されていく。
ものである。A、B、C、D、E、Fはメインプログラ
ム(第3A図)の断片であり、一定時間ごとにインタラプ
ト処理(第3B図)が実行される。タイムチャートで示す
と第5図のようになる。図示のように、インタラプトに
入る都度、D/A変換器43に楽音波形信号が入力され、対
応するアナログ信号が外部に出力されていく。
第3C図のC2〜C9の処理を1チャンネル分について詳細
に示したのが第7図である。チャンネル処理は大きく分
けてエンベロープ処理(D1〜D7)と波形処理(D8〜D2
1)から成る。
に示したのが第7図である。チャンネル処理は大きく分
けてエンベロープ処理(D1〜D7)と波形処理(D8〜D2
1)から成る。
第8図はエンベロープ処理で生成されるエンベロープ
を示したものである。1つの楽音のエンベロープはいく
つかのステップ(セグメント)から成っている。図では
4セグメントで示してある。図中のΔxはエンベロープ
のサンプリング周期であり、Δyはエンベロープ値の変
化幅である。チャンネルのエンベロープ処理(D1〜D7)
では、サンプリングタイムごとのエンベロープの計算と
ステップの目標レベルに達したかどうかのチェックを行
っている。一致したときには現在エンベロープレジスタ
(第6図参照)に目標値が設定されるので、メインプロ
グラムの発音処理A9内でそれを検知して、次のステップ
のエンベロープのためのデータ(Δx、Δy、目標エン
ベロープ値)を各レジスタにセットしている。
を示したものである。1つの楽音のエンベロープはいく
つかのステップ(セグメント)から成っている。図では
4セグメントで示してある。図中のΔxはエンベロープ
のサンプリング周期であり、Δyはエンベロープ値の変
化幅である。チャンネルのエンベロープ処理(D1〜D7)
では、サンプリングタイムごとのエンベロープの計算と
ステップの目標レベルに達したかどうかのチェックを行
っている。一致したときには現在エンベロープレジスタ
(第6図参照)に目標値が設定されるので、メインプロ
グラムの発音処理A9内でそれを検知して、次のステップ
のエンベロープのためのデータ(Δx、Δy、目標エン
ベロープ値)を各レジスタにセットしている。
詳細に述べると、D1でエンベロープの演算周期Δxと
比較するためのタイマーレジスタをインタラプトごとに
インクリメントし、D2でΔxと一致したときD3でエンベ
ロープ変位分のデータΔyの加減算フラグ(符号ビッ
ト)をテストしてエンベロープが上昇中か下降中かを判
別し、D4、D5でそれぞれ現在エンベロープの減算または
加算を行う。D6で現在エンベロープが目標エンベロープ
値に達したかどうかをチェックし、達しておれば、現在
エンベロープに目標レベルをセットする。これによりメ
インプログラムの発音処理A9で次のエンベロープステッ
プのデータがセットされることになる。また発音処理A9
でゼロの現在エンベロープを読んだときには発音の終了
として処理される。
比較するためのタイマーレジスタをインタラプトごとに
インクリメントし、D2でΔxと一致したときD3でエンベ
ロープ変位分のデータΔyの加減算フラグ(符号ビッ
ト)をテストしてエンベロープが上昇中か下降中かを判
別し、D4、D5でそれぞれ現在エンベロープの減算または
加算を行う。D6で現在エンベロープが目標エンベロープ
値に達したかどうかをチェックし、達しておれば、現在
エンベロープに目標レベルをセットする。これによりメ
インプログラムの発音処理A9で次のエンベロープステッ
プのデータがセットされることになる。また発音処理A9
でゼロの現在エンベロープを読んだときには発音の終了
として処理される。
次に、波形処理D8〜D21について述べる。波形処理で
は、現在アドレスの整数部を使って波形ROMから隣り合
う2つアドレスの波形データを読み出し、(整数部+小
数部)で示される現在アドレスに対して想定される波形
値を補間で求めている。補間が必要な理由は、インタラ
プトによる波形サンプリング周期が一定であり、アドレ
スの加算値(ピッチデータ)が楽器への応用上、ある音
域にわたるためである(音階音しか出力しない楽器で音
階音ごとに波形データを用意すれば補間の必要はないが
許容できない記憶容量の増大となる)。補間による音色
の劣化、歪みは高音域の方が著しいため、通常は、原音
の記録サンプリング周期より高速の周期で原音を再生す
る。この実施例では原音(A4)再生の周期を2倍にして
いる(第9図)。したがって、アドレス加算値が0.5の
とき、A4の音が得られるようになっている。この場合、
A♯4ではアドレス加算値は0.529となり、A3のとき、
1となる。これらのアドレス加算値はピッチデータとし
て制御データ兼波形ROM37に記憶されており、押鍵時に
は発音処理A9において、鍵に対応するピッチデータと選
択されている音色の波形スタートアドレス、波形エンド
アドレスおよび波形ループアドレスがRAM34の対応する
レジスタ、すなわち、アドレス加算値レジスタ、スター
トアドレス兼現在アドレスレジスタ、エンドアドレスレ
ジスタ、ループアドレスレジスタにセットされる。
は、現在アドレスの整数部を使って波形ROMから隣り合
う2つアドレスの波形データを読み出し、(整数部+小
数部)で示される現在アドレスに対して想定される波形
値を補間で求めている。補間が必要な理由は、インタラ
プトによる波形サンプリング周期が一定であり、アドレ
スの加算値(ピッチデータ)が楽器への応用上、ある音
域にわたるためである(音階音しか出力しない楽器で音
階音ごとに波形データを用意すれば補間の必要はないが
許容できない記憶容量の増大となる)。補間による音色
の劣化、歪みは高音域の方が著しいため、通常は、原音
の記録サンプリング周期より高速の周期で原音を再生す
る。この実施例では原音(A4)再生の周期を2倍にして
いる(第9図)。したがって、アドレス加算値が0.5の
とき、A4の音が得られるようになっている。この場合、
A♯4ではアドレス加算値は0.529となり、A3のとき、
1となる。これらのアドレス加算値はピッチデータとし
て制御データ兼波形ROM37に記憶されており、押鍵時に
は発音処理A9において、鍵に対応するピッチデータと選
択されている音色の波形スタートアドレス、波形エンド
アドレスおよび波形ループアドレスがRAM34の対応する
レジスタ、すなわち、アドレス加算値レジスタ、スター
トアドレス兼現在アドレスレジスタ、エンドアドレスレ
ジスタ、ループアドレスレジスタにセットされる。
参考までに、第10図に時間に対する補間波形データを
示す。図中、白丸は波形ROMのアドレスにある波形デー
タ値、黒丸は補間値を示している。
示す。図中、白丸は波形ROMのアドレスにある波形デー
タ値、黒丸は補間値を示している。
補間の方式はいろいろあるが、ここでは直線補間を採
用している。第7図の波形生成処理D8〜D21を詳細に述
べると、まず、D8で現在アドレスにアドレス加算値を加
算して新しい現在アドレスを得る。D9で現在アドレスと
エンドアドレスを比較し、現在アドレス>エンドアドレ
スならば、D10、D11により、現在アドレス<エンドアド
レスのときはD12により、物理上(番地上)または論理
上(動作上)の次のアドレスを計算し、D14でその整数
部により波形ROMをアクセスして次回波形データを得
る。ループアドレスは動作上エンドアドレスの次のアド
レスである。すなわち、第9図の場合、図示の波形は繰
り返し読み出される。したがって、現在アドレス=エン
ドアドレスのときは次のアドレスとしてループアドレス
の波形データを読み出す(D13)。D15、D16により、現
在アドレスの整数部で波形ROMをアクセスして今回の波
形データを読み出す。次に、D17で次回波形値から今回
波形値を減算し、D18でその差に現在アドレスの小数部
を乗算し、その結果をD19で今回の波形値に加えること
により、波形の直線補間値を求める。この直線補間した
データに現在エンベロープ値を乗算してチャンネルの楽
音データ値を得(D20)、それを波形加算用レジスタの
内容に加えて楽音データを累算する(D21)。
用している。第7図の波形生成処理D8〜D21を詳細に述
べると、まず、D8で現在アドレスにアドレス加算値を加
算して新しい現在アドレスを得る。D9で現在アドレスと
エンドアドレスを比較し、現在アドレス>エンドアドレ
スならば、D10、D11により、現在アドレス<エンドアド
レスのときはD12により、物理上(番地上)または論理
上(動作上)の次のアドレスを計算し、D14でその整数
部により波形ROMをアクセスして次回波形データを得
る。ループアドレスは動作上エンドアドレスの次のアド
レスである。すなわち、第9図の場合、図示の波形は繰
り返し読み出される。したがって、現在アドレス=エン
ドアドレスのときは次のアドレスとしてループアドレス
の波形データを読み出す(D13)。D15、D16により、現
在アドレスの整数部で波形ROMをアクセスして今回の波
形データを読み出す。次に、D17で次回波形値から今回
波形値を減算し、D18でその差に現在アドレスの小数部
を乗算し、その結果をD19で今回の波形値に加えること
により、波形の直線補間値を求める。この直線補間した
データに現在エンベロープ値を乗算してチャンネルの楽
音データ値を得(D20)、それを波形加算用レジスタの
内容に加えて楽音データを累算する(D21)。
最後に具体的実施例(8音ポリフォニックのPCM音源
方式)の回路規模と動作時間について述べると、制御用
ROMが112Kbit、RAM34が5.4Kbit、制御データ兼波形用RO
M37(音色は100音色分)は508Kbitである。1マシンサ
イクル約276ナノ秒で、動作時のインタラプト処理プロ
グラムのサイクル数が最大で150程度である。インタラ
プト処理の実行間隔(楽音の出力サンプリング周期)は
約47マイクロ秒である。
方式)の回路規模と動作時間について述べると、制御用
ROMが112Kbit、RAM34が5.4Kbit、制御データ兼波形用RO
M37(音色は100音色分)は508Kbitである。1マシンサ
イクル約276ナノ秒で、動作時のインタラプト処理プロ
グラムのサイクル数が最大で150程度である。インタラ
プト処理の実行間隔(楽音の出力サンプリング周期)は
約47マイクロ秒である。
以上のように、実施例ではタイマーインタラプト処理
プログラムにおいてマイクロコンピュータ1が楽音の生
成を行っているので、従来のような音源回路ハードウェ
アは不要であり、回路規模の縮少化、歩留りの向上、コ
ストの低減、設計の高い自由度をもたらすことができ
る。
プログラムにおいてマイクロコンピュータ1が楽音の生
成を行っているので、従来のような音源回路ハードウェ
アは不要であり、回路規模の縮少化、歩留りの向上、コ
ストの低減、設計の高い自由度をもたらすことができ
る。
[変形例] 以上で実施例の説明を終えるが、この発明の範囲を逸
脱することなく種々の変形、変更が可能である。
脱することなく種々の変形、変更が可能である。
例えば上記実施例では所定時間ごとの楽音波形サンプ
ルの出力のため、タイマーインタラプトをかけ、インタ
ラプトプログラムを実行することにより、楽音を生成し
ているが、ダミー命令(NOP命令)をプログラムに組み
込むことにより、一定時間ごとに上述したインタラプト
処理に代る処理(以下、一定時間処理と呼ぶ)が実行さ
れるようにしてもよい(第11図参照)。すなわち、プロ
グラムの名命令の実行時間はマスタークロックにより決
められるので、一定時間分のメインプログラムの間に楽
音を生成する一定時間処理プログラムをサブルーチンと
して挿入すればよいわけである。
ルの出力のため、タイマーインタラプトをかけ、インタ
ラプトプログラムを実行することにより、楽音を生成し
ているが、ダミー命令(NOP命令)をプログラムに組み
込むことにより、一定時間ごとに上述したインタラプト
処理に代る処理(以下、一定時間処理と呼ぶ)が実行さ
れるようにしてもよい(第11図参照)。すなわち、プロ
グラムの名命令の実行時間はマスタークロックにより決
められるので、一定時間分のメインプログラムの間に楽
音を生成する一定時間処理プログラムをサブルーチンと
して挿入すればよいわけである。
一定時間を確保するには、メインプログラム及びサブ
ルーチンの一定時間処理プログラム内のすべての分岐が
同じ時間で処理されなければならない。
ルーチンの一定時間処理プログラム内のすべての分岐が
同じ時間で処理されなければならない。
例えば、メインプログラムのなかに第12図に示すよう
なフローがあるとし、その前後で一定時間処理を行うと
仮定する。簡単のため分岐命令は2の時間を要し、通常
の命令は1の時間を要するとしてみる。第12図のままで
は、最初の分岐から一定時間処理までの時間は、ルート
aを通ったときは2、ルートbを通ったときは5、ルー
トcを通ったときは6、ルートdを通ったときは5とな
り、ルートによって異なる。ルートaに4つのダミー命
令を入れ、ルートbに1つのダミー命令、ルートdに1
つのダミー命令を入れれば、すべてのルートの時間は6
に統一される(第13図)。
なフローがあるとし、その前後で一定時間処理を行うと
仮定する。簡単のため分岐命令は2の時間を要し、通常
の命令は1の時間を要するとしてみる。第12図のままで
は、最初の分岐から一定時間処理までの時間は、ルート
aを通ったときは2、ルートbを通ったときは5、ルー
トcを通ったときは6、ルートdを通ったときは5とな
り、ルートによって異なる。ルートaに4つのダミー命
令を入れ、ルートbに1つのダミー命令、ルートdに1
つのダミー命令を入れれば、すべてのルートの時間は6
に統一される(第13図)。
一定時間処理内部でも分岐によって処理時間が異なっ
てしまうと次に一定時間処理にジャンプするまでの時間
が一定でなくなる。そのため一定時間処理内部でもすべ
ての分岐のルートに要する処理時間を一定にするための
ダミー命令を入れる必要がある。一例として、一定時間
処理内の楽音生成チャンネル処理にダミー命令を入れた
ものを第14図に示す。
てしまうと次に一定時間処理にジャンプするまでの時間
が一定でなくなる。そのため一定時間処理内部でもすべ
ての分岐のルートに要する処理時間を一定にするための
ダミー命令を入れる必要がある。一例として、一定時間
処理内の楽音生成チャンネル処理にダミー命令を入れた
ものを第14図に示す。
実施例と上述の変形例では、楽音の生成のサンプリン
グ周期を常に一定に保っている。可変のサンプリング周
期の楽音生成も可能である。例えば、PCM音源方式を例
にとると、波形の補間処理を行う代りに、波形ROMの各
アドレスの波形データをそのまま使用し、1アドレス分
進む時間(あるアドレスの波形データの読出しから次の
アドレスの波形データの読出しまでの時間)を楽音の周
波数(ピッチデータ)に比例させる。例えば、A4のと
き、1の時間なら、A3のときは2の時間とする。この時
間間隔の制御は、例えば、タイマーインタラプト制御部
の内部タイマーに楽音の周波数に対応するデータをプリ
セットし、タイマーアウト毎にインタラプトを行えば、
実現できる。ただし、ポリフォニックに応用する場合、
インタラプトの間隔は、各々のチャンネルを使用する楽
音の周波数で変化するので、チャンネル別にタイマーイ
ンタラプト制御部とタイマーインタラプト処理プログラ
ムを設ける。また、D/A変換器もチャンネル別に設け、
その変換周期は対応するチャンネルのタイマーインタラ
プト処理の周期と一致させる。
グ周期を常に一定に保っている。可変のサンプリング周
期の楽音生成も可能である。例えば、PCM音源方式を例
にとると、波形の補間処理を行う代りに、波形ROMの各
アドレスの波形データをそのまま使用し、1アドレス分
進む時間(あるアドレスの波形データの読出しから次の
アドレスの波形データの読出しまでの時間)を楽音の周
波数(ピッチデータ)に比例させる。例えば、A4のと
き、1の時間なら、A3のときは2の時間とする。この時
間間隔の制御は、例えば、タイマーインタラプト制御部
の内部タイマーに楽音の周波数に対応するデータをプリ
セットし、タイマーアウト毎にインタラプトを行えば、
実現できる。ただし、ポリフォニックに応用する場合、
インタラプトの間隔は、各々のチャンネルを使用する楽
音の周波数で変化するので、チャンネル別にタイマーイ
ンタラプト制御部とタイマーインタラプト処理プログラ
ムを設ける。また、D/A変換器もチャンネル別に設け、
その変換周期は対応するチャンネルのタイマーインタラ
プト処理の周期と一致させる。
以上の例は、いずれもマイクロコンピュータにおける
楽音生成の動作とD/A変換器の動作とが基本的に同期す
る関係にある。この代りに非同期の方式も考えられる。
例えば、マイクロコンピュータの楽音生成出力とD/A変
換器との間にバッファ機構を設ける。マイクロコンピュ
ータにD/A変換器の変換周期より高速で楽音のサンプル
列を生成する能力をもたせる。これは、例えば、楽音を
生成するサブルーチンを多数メインプログラムに分散配
置することで実現できる。マイクロコンピュータからの
楽音のサンプル列はバッファに書き込まれ、D/A変換器
の動作と同期して読み出され、D/A変換器に入力され
る。楽音生成のサブルーチンから次のサブルーチンまで
の時間はプログラムの実行状態によって若干変動する
が、D/A変換器の変換周期より短いとすると、バッファ
への楽音サンプル列の書込により、バッファの残りの容
量が少なくなっていく。そこで、バッファの残存容量に
従ってマイクロコンピュータの楽音のサンプル列の平均
的な演算周期を変化させる。すなわち、楽音生成のサブ
ルーチン内に分岐命令をもたせ、バッファの残存容量に
よって、楽音生成がサブルーチンにおいて選択的に行わ
れるようにする。例えば、残存容量が半分以下になった
ら、2つのサブルーチンごとに1回、楽音の生成が行わ
れるようにする。ある構成例ではバッファ機構とD/A変
換器を発音チャンネル別に用意し、D/A変換器の変換速
度を可変構成にする。これは、マイクロコンピュータの
生成する楽音サンプル列のサンプル間の位相の差と楽音
の周波数との比が音質を高品位に保つため、限られた音
域(例えば1オクターブの音域)ごとに切りかわるよう
な場合に使用できる。重要なことは、サンプル列の位相
の差にかかわらずD/A変換器の出力が、意図されている
楽音周波数をもつことである。マイクロコンピュータ
は、選択されている音域内ではサンプル間の位相の差と
楽音の周波数との比を保つものとする(例えば、1オタ
ーブの範囲内では楽音の周波数に比例する位相の差を楽
音サンプル間にもたせる)。この場合、マイクロコンピ
ュータは、上記の比に相当するデータをD/A変換器の変
換周期(したがってバッファの読み出し周期でもある)
を制御する周波数制御回路(プログラマブルタイマー等
で構成できる)に与える。この回路は受け取った比のデ
ータに従ってバッファ読出しとD/A変換のための制御タ
イミング信号を発生する。この結果、D/A変換器の出力
は楽音の周波数をもつアナログ信号となる。例えば、マ
イクロコンピュータの生成する楽音サンプル間の位相の
差が、楽音の一周期の1/Nであるとし、楽音の周期がP
であるとすると、D/A変換器はP/Nの時間で1つのデジタ
ル楽音サンプルをアナログ信号に変換する。したがって
N個のデジタル楽音サンプルを変換するのに要する時間
は楽音の周期Pに等しくなり、楽音の周波数(1/P)の
アナログ信号が得られる。
楽音生成の動作とD/A変換器の動作とが基本的に同期す
る関係にある。この代りに非同期の方式も考えられる。
例えば、マイクロコンピュータの楽音生成出力とD/A変
換器との間にバッファ機構を設ける。マイクロコンピュ
ータにD/A変換器の変換周期より高速で楽音のサンプル
列を生成する能力をもたせる。これは、例えば、楽音を
生成するサブルーチンを多数メインプログラムに分散配
置することで実現できる。マイクロコンピュータからの
楽音のサンプル列はバッファに書き込まれ、D/A変換器
の動作と同期して読み出され、D/A変換器に入力され
る。楽音生成のサブルーチンから次のサブルーチンまで
の時間はプログラムの実行状態によって若干変動する
が、D/A変換器の変換周期より短いとすると、バッファ
への楽音サンプル列の書込により、バッファの残りの容
量が少なくなっていく。そこで、バッファの残存容量に
従ってマイクロコンピュータの楽音のサンプル列の平均
的な演算周期を変化させる。すなわち、楽音生成のサブ
ルーチン内に分岐命令をもたせ、バッファの残存容量に
よって、楽音生成がサブルーチンにおいて選択的に行わ
れるようにする。例えば、残存容量が半分以下になった
ら、2つのサブルーチンごとに1回、楽音の生成が行わ
れるようにする。ある構成例ではバッファ機構とD/A変
換器を発音チャンネル別に用意し、D/A変換器の変換速
度を可変構成にする。これは、マイクロコンピュータの
生成する楽音サンプル列のサンプル間の位相の差と楽音
の周波数との比が音質を高品位に保つため、限られた音
域(例えば1オクターブの音域)ごとに切りかわるよう
な場合に使用できる。重要なことは、サンプル列の位相
の差にかかわらずD/A変換器の出力が、意図されている
楽音周波数をもつことである。マイクロコンピュータ
は、選択されている音域内ではサンプル間の位相の差と
楽音の周波数との比を保つものとする(例えば、1オタ
ーブの範囲内では楽音の周波数に比例する位相の差を楽
音サンプル間にもたせる)。この場合、マイクロコンピ
ュータは、上記の比に相当するデータをD/A変換器の変
換周期(したがってバッファの読み出し周期でもある)
を制御する周波数制御回路(プログラマブルタイマー等
で構成できる)に与える。この回路は受け取った比のデ
ータに従ってバッファ読出しとD/A変換のための制御タ
イミング信号を発生する。この結果、D/A変換器の出力
は楽音の周波数をもつアナログ信号となる。例えば、マ
イクロコンピュータの生成する楽音サンプル間の位相の
差が、楽音の一周期の1/Nであるとし、楽音の周期がP
であるとすると、D/A変換器はP/Nの時間で1つのデジタ
ル楽音サンプルをアナログ信号に変換する。したがって
N個のデジタル楽音サンプルを変換するのに要する時間
は楽音の周期Pに等しくなり、楽音の周波数(1/P)の
アナログ信号が得られる。
その他、種々の変形が可能である。
[発明の効果] 以上のように、この発明によれば、マイクロコンピュ
ータが楽音を生成するプログラムを実行することによ
り、楽音を生成しているので、従来のような音源回路ハ
ードウェアは不要となる。したがって、装置全体の回路
規模を小さくでき、歩留りを上げ、コストを下げること
ができる。更には、設計の自由度が増し、楽音合成方式
の変更、ポリフォニック数の変更などについて容易に対
応することができる。例えば、従来技術では4音ポリフ
ォニック、PC音源方式を7×7mmのチップで実現してい
たのを、この発明の実施例では8音ポリフォニック、PC
M音源方式(D/A変換器込み)を5×5mmのチップで実現
することができた。一般に、回路規模は半分以下にする
ことができると考えられる。
ータが楽音を生成するプログラムを実行することによ
り、楽音を生成しているので、従来のような音源回路ハ
ードウェアは不要となる。したがって、装置全体の回路
規模を小さくでき、歩留りを上げ、コストを下げること
ができる。更には、設計の自由度が増し、楽音合成方式
の変更、ポリフォニック数の変更などについて容易に対
応することができる。例えば、従来技術では4音ポリフ
ォニック、PC音源方式を7×7mmのチップで実現してい
たのを、この発明の実施例では8音ポリフォニック、PC
M音源方式(D/A変換器込み)を5×5mmのチップで実現
することができた。一般に、回路規模は半分以下にする
ことができると考えられる。
第1図はこの発明の実施例に係る電子楽器の全体構成
図、第2図は実施例のマイクロコンピュータの構成を示
すブロック図、第3A図はマイクロコンピュータのメイン
プログラムのフローを示す図、第3B図は楽音の生成が行
われるインタラプト処理のフローチャート、第3C図は第
3B図の音源処理の詳細なフローチャート、第4図は時間
に沿ったプログラムの流れを示す図、第5図は時間に沿
った処理の概要を示すタイムチャート、第6図は第2図
のRAM34内に置かれる楽音生成用RAMのテーブルを示す
図、第7図は第3C図の1つのチャンネル処理の詳細なフ
ローチャート、第8図はエンベロープを示す図、第9図
は波形ROMの波形データを示す図、第10図は時間に沿う
補間演算波形を示す図、第11図は変形例としてタイマー
インタラプト処理の代りに一定時間処理サブルーチンを
用いたときの動作の流れを示す図、第12図はメインフロ
ーの一部を形式的に示す図、第13図は一定時間処理のた
めに第12図のフローを変形した図、第14図は一定時間処
理のためチャンネル処理のフローを変形した図、第15図
は従来の音源回路ハードウェアの一例を示すブロック図
である。 1……マイクロコンピュータ、31……制御用ROM、34…
…RAM、35……加減算器及び論理演算部、36……乗算
器、37……制御データ兼波形ROM、38……オペレーショ
ン解析部、40……インタラプト制御部、41……入力ポー
ト、42……出力ポート、43……D/A変換器。
図、第2図は実施例のマイクロコンピュータの構成を示
すブロック図、第3A図はマイクロコンピュータのメイン
プログラムのフローを示す図、第3B図は楽音の生成が行
われるインタラプト処理のフローチャート、第3C図は第
3B図の音源処理の詳細なフローチャート、第4図は時間
に沿ったプログラムの流れを示す図、第5図は時間に沿
った処理の概要を示すタイムチャート、第6図は第2図
のRAM34内に置かれる楽音生成用RAMのテーブルを示す
図、第7図は第3C図の1つのチャンネル処理の詳細なフ
ローチャート、第8図はエンベロープを示す図、第9図
は波形ROMの波形データを示す図、第10図は時間に沿う
補間演算波形を示す図、第11図は変形例としてタイマー
インタラプト処理の代りに一定時間処理サブルーチンを
用いたときの動作の流れを示す図、第12図はメインフロ
ーの一部を形式的に示す図、第13図は一定時間処理のた
めに第12図のフローを変形した図、第14図は一定時間処
理のためチャンネル処理のフローを変形した図、第15図
は従来の音源回路ハードウェアの一例を示すブロック図
である。 1……マイクロコンピュータ、31……制御用ROM、34…
…RAM、35……加減算器及び論理演算部、36……乗算
器、37……制御データ兼波形ROM、38……オペレーショ
ン解析部、40……インタラプト制御部、41……入力ポー
ト、42……出力ポート、43……D/A変換器。
フロントページの続き (72)発明者 宇佐美 隆二 東京都西多摩郡羽村町栄町3丁目2番1 号 カシオ計算機株式会社羽村技術セン ター内 (72)発明者 斯波 康祐 東京都西多摩郡羽村町栄町3丁目2番1 号 カシオ計算機株式会社羽村技術セン ター内 (56)参考文献 特開 昭60−33600(JP,A) 特開 昭63−208129(JP,A) 特開 昭54−46028(JP,A)
Claims (6)
- 【請求項1】外部より供給される楽音制御信号入力を処
理するための制御用プログラム及びポリフォニックの楽
音をリアルタイムで生成するための楽音生成用プログラ
ムを記憶するプログラム記憶手段と、 前記プログラム記憶手段に記憶されたプログラムを読み
出すためのアドレスを制御するアドレス制御手段と、 前記アドレス制御手段により前記プログラム記憶手段か
ら読み出されたプログラムの各命令を解読する解読手段
と、 前記解読手段により解読された制御用プログラムの各命
令に従って生成された、各楽音生成に必要なデータを記
憶するデータ記憶手段と、 前記データ記憶手段に記憶された各楽音生成に必要なデ
ータを、前記解読手段により解読された楽音生成用プロ
グラムの各命令に従って演算処理して楽音信号を生成し
て出力する演算処理手段と、 を備えるマイクロコンピュータから成り、このマイクロ
コンピュータが上記プログラム記憶手段内の上記制御用
プログラムを実行するとともに、所定の周期またはほぼ
所定の周期ごとに上記楽音生成用プログラムを起動し、
実行することにより、ポリフォニックの楽音信号をリア
ルタイムで生成して出力することを特徴とする処理装
置。 - 【請求項2】請求項1記載の処理装置において、前記プ
ログラム記憶手段は読み出し専用メモリで構成されるこ
とを特徴とする処理装置。 - 【請求項3】請求項1記載の処理装置において、前記マ
イクロコンピュータは集積回路チップで構成され、この
チップ上にデジタルの楽音信号をアナログの楽音信号に
変換するデジタル・アナログ変換器及び外部より供給さ
れる楽音制御信号入力を受けるポートが更に設けられる
ことを特徴とする処理装置。 - 【請求項4】請求項1記載の処理装置において、前記演
算処理手段は、乗算回路を含むことを特徴とする処理装
置。 - 【請求項5】請求項1記載の処理装置において、前記所
定の周期は音高とは独立の所定のサンプリング周期であ
ることを特徴とする処理装置。 - 【請求項6】請求項1記載の処理装置において、前記所
定の周期は音高に依存する所定のサンプリング周期であ
ることを特徴とする処理装置。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63334158A JP2576613B2 (ja) | 1988-12-29 | 1988-12-29 | 処理装置 |
DE68917113T DE68917113T2 (de) | 1988-12-29 | 1989-12-29 | Datenverarbeitungsvorrichtung für ein elektronisches Musikinstrument. |
EP89124128A EP0376342B1 (en) | 1988-12-29 | 1989-12-29 | Data processing apparatus for electronic musical instruments |
KR8920242A KR930005221B1 (en) | 1988-12-29 | 1989-12-29 | Tone signal generating apparatus for electronic musical instrument |
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 |
---|---|---|---|
JP63334158A JP2576613B2 (ja) | 1988-12-29 | 1988-12-29 | 処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02179692A JPH02179692A (ja) | 1990-07-12 |
JP2576613B2 true JP2576613B2 (ja) | 1997-01-29 |
Family
ID=18274188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63334158A Expired - Lifetime JP2576613B2 (ja) | 1988-12-29 | 1988-12-29 | 処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2576613B2 (ja) |
Families Citing this family (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 |
JP3097534B2 (ja) * | 1995-12-21 | 2000-10-10 | ヤマハ株式会社 | 楽音生成方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6044675B2 (ja) * | 1978-04-14 | 1985-10-04 | 株式会社河合楽器製作所 | 楽音デ−タ処理装置 |
JPS6033600A (ja) * | 1983-08-04 | 1985-02-20 | 松下電器産業株式会社 | 音源装置 |
JPS629395A (ja) * | 1985-07-08 | 1987-01-17 | ブラザー工業株式会社 | ミユ−ジツクシンセサイザ |
JPS63280333A (ja) * | 1987-05-13 | 1988-11-17 | Mitsubishi Electric Corp | マイクロプログラム制御装置 |
-
1988
- 1988-12-29 JP JP63334158A patent/JP2576613B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH02179692A (ja) | 1990-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5319151A (en) | Data processing apparatus outputting waveform data in a certain interval | |
US5691493A (en) | Multi-channel tone generation apparatus with multiple CPU's executing programs in parallel | |
US5831193A (en) | Method and device for forming a tone waveform by combined use of different waveform sample forming resolutions | |
US5584034A (en) | Apparatus for executing respective portions of a process by main and sub CPUS | |
EP0376342B1 (en) | Data processing apparatus for electronic musical instruments | |
JP2576613B2 (ja) | 処理装置 | |
JP2576617B2 (ja) | 処理装置 | |
JP2576618B2 (ja) | 処理装置 | |
JP2576614B2 (ja) | 処理装置 | |
JP2576616B2 (ja) | 処理装置 | |
JP2576615B2 (ja) | 処理装置 | |
JP2950461B2 (ja) | 楽音発生装置 | |
US5939655A (en) | Apparatus and method for generating musical tones with reduced load on processing device, and storage medium storing program for executing the method | |
JP2797142B2 (ja) | 電子楽器用処理装置 | |
JP3285137B2 (ja) | 楽音発生装置および楽音発生方法、並びに該方法に係るプログラムを記憶した記憶媒体 | |
JPH07122796B2 (ja) | 処理装置 | |
JP3543203B2 (ja) | 電子楽器 | |
JP3016470B2 (ja) | 音源装置 | |
JP2797138B2 (ja) | 電子楽器用処理装置 | |
JP3116447B2 (ja) | デジタル信号処理プロセッサ | |
JP2956508B2 (ja) | 楽音波形生成装置 | |
JP3610759B2 (ja) | ディジタル信号処理装置 | |
JP3104873B2 (ja) | 音源装置 | |
JPS6352399B2 (ja) | ||
GB2040537A (en) | Digital electronic musical instrument |
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 |