JP2576615B2 - 処理装置 - Google Patents

処理装置

Info

Publication number
JP2576615B2
JP2576615B2 JP63334161A JP33416188A JP2576615B2 JP 2576615 B2 JP2576615 B2 JP 2576615B2 JP 63334161 A JP63334161 A JP 63334161A JP 33416188 A JP33416188 A JP 33416188A JP 2576615 B2 JP2576615 B2 JP 2576615B2
Authority
JP
Japan
Prior art keywords
envelope
program
tone
waveform
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.)
Expired - Lifetime
Application number
JP63334161A
Other languages
English (en)
Other versions
JPH02179694A (ja
Inventor
隆二 宇佐美
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP63334161A priority Critical patent/JP2576615B2/ja
Priority to EP89124128A priority patent/EP0376342B1/en
Priority to KR8920242A priority patent/KR930005221B1/ko
Priority to DE68917113T priority patent/DE68917113T2/de
Publication of JPH02179694A publication Critical patent/JPH02179694A/ja
Priority to US07/855,431 priority patent/US5319151A/en
Priority to US08/223,589 priority patent/US5726371A/en
Application granted granted Critical
Publication of JP2576615B2 publication Critical patent/JP2576615B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 [発明の技術分野] この発明は処理装置に関し、特に処理装置の構造的な
アーキテクチャーに関する。
[従来技術とその問題点] 近年、電子楽器はコンピュータ化されている。しか
し、大量で高速のデータ演算が必要な楽音の生成に係る
部分は音源回路と呼ばれる専用構造のハードウェアで行
われており、マイクロコンピュータは楽器への制御入力
(鍵盤やコンソールパネルからの入力、MIDIその他の外
部制御入力、内部または外部の演奏メモリからの入力
等)を処理し、音源回路に適したコマンドを音源回路に
転送するに留まっている。
音源回路は、楽音の合成の方式によりその構造は異な
るが、いずれの音源方式のものもその回路規模は大き
い。代表的には、マイクロコンピュータ(中央演算装
置)の回路規模の約2倍である。
一例として、第13図にPCM音源タイプのブロック図を
示す。PCM音源100を制御するマイクロコンピュータ101
が存在し、PCM音源100で楽音の生成に必要な情報(コマ
ンド)がマイクロコンピュータ101よりPCM音源100に送
られる。マイクロコンピュータ101からのコマンドは音
源コマンド解析部102を介して音源の各部にセットされ
る。
例えば、発音開始時には以下の手順で情報がセットさ
れる。
(a)発音しようとする波形の入っている波形記憶装置
107に対するアドレス(通常、スタートアドレス、エン
ドアドレス、ループアドレスから成る)を送る。これら
のアドレスはアドレス制御部104内にセットされる。
(b)発音しようとする楽音のピッチデータを送る。ピ
ッチデータは音程制御部105にセットされる。
(C)エンベロープデータを送ってエンベロープ制御部
106にセットする。
(d)チャンネル制御をオンとする(チャンネルON/OFF
制御部103にセット)。
これらのデータはポリフォニック音源の場合にはチャ
ンネル番号を合わせる必要があり音源100の各部は時分
割で動作しなければならない。以上のデータがセットさ
れるとPCM音源100は次のようにして楽音を生成する。該
当チャンネルタイムで、アドレス制御部104は音程制御
部105からのピッチデータの累算結果に最も近い2つの
隣り合うアドレスにある波形データ(直前波形値と直後
波形値)を波形記憶装置107から読み出す。この波形デ
ータは波形処理部108に送られて、ここで、直前波形値
と直後波形値の差が演算される。この差と直前波形値は
補間回路109に送られ、ここで、隣り合う波形値の差に
波形記憶装置のアドレスの小数部PD(図では音程制御部
105から与えられる)を乗算し、それに直前波形値を加
算して補間値を得、この補間値にエンベロープ制御部10
6で生成したエンベロープ値EDを乗算してチャンネルの
楽音波形の瞬時値を得る。この瞬時値は加算器110です
べてのチャンネルについて累算され、その結果がD/A変
換器111に送られてアナログの楽音信号となる。
この例からもわかるように、音源回路のハードウェア
には、演算回路とデータを一時的に保持するための記憶
装置が処理段階の随所に必要であり、回路が大規模にな
る問題がある。また、特定の音源回路の構造は特定音源
方式、特定のポリフォニック数の楽音合成を実現するの
みであり、ポリフォニック数を変えるだけでも、大幅な
回路変更、追加を余儀なくされる。更には、マイクロコ
ンピュータから音源回路に送るコマンドのセットについ
ても音源に合わせて設計を行う必要があり、音源制御の
プログラムの開発に多大の時間と労力を必要とする。
次に音源回路ハードウェアに組み込まれるエンベロー
プ制御部106(エンベロープ発生装置)について述べ
る。代表的なエンベロープ制御部を第13図に示す。第13
図のエンベロープΔxレジスタ204、エンベロープΔy
レジスタ205、目標エンベロープレジスタ206にはマイク
ロコンピュータから各値がセットされる(インターフェ
ースである音源コマンド解析部102を通じて)。動作に
おいて、エンベロープΔxタイマー201の内容はINGカウ
ンタ202によりカウントアップされる。エンベロープΔ
xタイマー201のカウント値がエンベロープΔxレジス
タ204の内容と一致すると、比較器203から一致信号が出
力され、これにより、INGカウンタ202がクリアされる。
更に一致信号により、ANDゲートG1が開いて、エンベロ
ープΔyレジスタ205のデータΔyが加減算器207に入力
され、このデータΔyが加減FLAG(エンベロープΔyレ
ジスタ205の特定ビット)に従い現在エンベロープレジ
スタ209からの現在エンベロープ値に加減算される。こ
の加減算結果と目標エンベロープレジスタ209からの目
標エンベロープレベルとが第2の比較器208で比較さ
れ、その比較結果により新しい現在エンベロープ値が決
定される。すなわち、目標エンベロープに達していなけ
れば、ゲートG2を通じて加減算結果を新しい現在エンベ
ロープ値として出力し、レジスタ209に戻し、目標エン
ベロープに達したならば比較器208の一致信号でインバ
ータINVを介してゲートG3を開いて、目標エンベロープ
を新しい現在エンベロープ値として出力し、レジスタ20
9に戻す。比較器208の一致信号は一致信号保持器210で
保持され、次のエンベロープステップのデータ(Δx、
Δy、目標エンベロープ)のセットを要求する。
第13図に示すようなエンベロープ発生装置の欠点は、
音源回路のハードウェアの一部となっている点である。
したがって、マイクロコンピュータはいったんΔx、Δ
y、目標値のデータをセットしたら、それ以降の現在の
エンベロープ値を把握できないことになる(現在エンベ
ロープ値をマイクロコンピュータが読み取るようにする
ことはできないことはないが、相当複雑な回路を必要と
する)。このため、エンベロープのステップをジャンプ
させる必要のある場合、現在のエンベロープ値に適合す
るようなデータ(Δx、Δy、目標値)をセットするこ
とが困難になる。例えば、第14図に示すように、3つの
セグメントから成るリリース部エンベロープのためのデ
ータがマイクロコンピュータ側にあるとした場合、マイ
クロコンピュータは現在のエンベロープ値が不明のた
め、どのセグメントに対するデータ(Δx、Δy、目標
値)を音源に送ったらよいかわからない。これを解決す
るため、従来の採用している手段は、エンベロープステ
ップ更新信号(第13図の一致信号保持器210の出力)を
マイクロコンピュータに送ってステップの更新を要求
し、マイクロコンピュータから次のステップのデータを
音源に転送することである。この構成の場合、マイクロ
コンピュータは音源の生成している現在エンベロープ値
は把握できないが、音源の実行しているエンベロープス
テップは把握できる。したがって、マイクロコンピュー
タは楽音リリース時に、このエンベロープステップの取
る得る値に対応したリリースエンベロープセグメント、
すなわち、現在のエンベロープが目指している目標値よ
り低くて一番近い目標値をもつリリースエンベロープセ
グメントを選択して音源に転送することができる。ただ
し、この構成についても、リリースエンベロープの折線
特性が他のエンベロープ部分によって制約されてしまう
という問題が残る。なぜなら、リリースエンベロープデ
ータは他のステップのエンベロープの値域に適合するよ
うに作成しておく必要があるからである。したがって、
エンベロープのとり得る特性が制限を受ける。
この発明は上述した音源回路ハードウェア、及びエン
ベロープ発生ハードウェアの問題を克服するため、マイ
クロコンピュータのプログラム制御で楽音を生成するこ
ととし、さらにエンベロープの生成を特性の制限なしに
実行できるようにしたものである。
[発明の目的] すなわち、この発明の目的は専用の音源回路ハードウ
ェアを使用しないで楽音を生成でき、かつ特性に制限の
ないエンベロープを正確なタイミングで生成可能な処理
装置を提供することである。
[発明の構成、作用] この発明によれば、上記の目的を達成するため、外部
より供給される制御信号入力を処理するための制御用プ
ログラム及びポリフォニックの楽音をリアルタイムで生
成するための楽音生成用プログラムを記憶するプログラ
ム記憶手段と、前記プログラム記憶手段に記憶されたプ
ログラムを読み出すためのアドレスを制御するアドレス
制御手段と、前記アドレス制御手段により前記プログラ
ム記憶手段から読み出されたプログラムの各命令を解読
する解読手段と、前記解読手段により解読された制御用
プログラムの各命令に従って生成された、各楽音生成に
必要なデータを記憶するデータ記憶手段と、前記データ
記憶手段に記憶された各楽音生成に必要なデータを、前
記解読手段により解読された楽音生成用プログラムの各
命令に従って演算処理して楽音信号を生成し出力する演
算処理手段と、を備えるマイクロコンピュータからな
り、更に、このマイクロコンピュータが音高には依存し
ない所定のサンプリング周期で割込信号を発生するタイ
マーインタラプト制御手段を有し、前記アドレス制御手
段は、通常は前記プログラム記憶手段から制御用プログ
ラムを読み出すとともに、このタイマーインタラプト制
御手段からの割込信号を受ける毎に前記プログラム記憶
手段から前記制御用プログラムに代えて楽音生成用プロ
グラムを読み出し、この楽音生成用プログラムの中に楽
音の波形を演算するルーチンとともに楽音のエンベロー
プを演算するルーチンとが含まれていて、楽音の波形の
生成動作と楽音のエンベロープの生成動作とが実質上同
期して行われることを特徴とする処理装置。
したがって、音源回路ハードウェアが不要になること
により回路規模の縮小化、製造時の歩留りの向上、設計
の自由度が得られるとともに、エンベロープの生成を正
確なタイミングで行うことによる高品質のエンベロープ
の付与が可能になる。更に、この発明の場合、全面的に
プログラム制御で装置の機能を実現しているので、楽音
のエンベロープを演算するルーチンの処理結果である現
エンベロープ値を常時マイクロコンピュータが把握する
ことができる。したがって、エンベロープのステップの
ジャンプを自由に実行することができ、生成できるエン
ベロープの特性に対する制約は一掃される。
一構成例において、上記マイクロコンピュータは集積
回路チップで実現され、このチップ上に上記手段に加
え、生成したデジタル楽音信号をアナログ信号に変換す
るデジタル・アナログ(D/A)変換器と楽器を制御する
入力を受けるポートも実装される。
[実施例] 以下、図面を参照してこの発明の実施例を説明する。
本実施例に係る電子楽器の全体構成を第1図に示す。
装置全体の制御はマイクロコンピュータ1により行われ
る。特に、この発明に従い、楽器の制御入力の処理のみ
ならず、楽音を生成する処理もマイクロコンピュータ1
で実行され、楽音生成用の音源回路ハードウェアは必要
としない。鍵盤2と機能キー3とから成るスイッチ部4
は楽器の制御入力源であり、スイッチ部4から入力され
た情報はマイクロコンピュータ1で処理される。マイク
ロコンピュータ1の生成したアナログ変換後の楽音信号
はローパスフィルタ5でフィルタリングされ、アンプ6
で増幅され、スピーカ7を介して放音される。電源回路
8はマイクロコンピュータ1、ローパスフィルタ5、ア
ンプ6に必要な電源を供給する。
上記マイクロコンピュータ1の内部構造を第2図にブ
ロック図で示す。図示の各要素はワンチップ上に実装さ
れている。実際に製作したものは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からの命令のオペコードを解読し、指
示されるオペレーションを実行するために、回路の各部
に制御信号を送る。
所定時間ごとに制御用ROM31の楽音生成プログラムを
実行するため、この実施例ではタイマーインタラプトを
採用している。すなわち、タイマーを有するインタラプ
ト制御部40により、一定時間ごとにROMアドレス制御部3
9は制御信号(割込要求信号)を送り、この信号によりR
OMアドレス制御部39は次に行うメインプログラムの命令
のアドレスを退避(保持)し、楽音の生成が行われるイ
ンタラプトサービスプログラムの先頭アドレスを代りに
セットする。これにより、インタラプト処理プログラム
が開始される。インタラプトサービスプログラムの最後
にはリターン命令があるので、このリターン命令がオペ
レーション解析部38で解読された時点で、ROMアドレス
制御部39は退避してあったアドレスを再度セットし、メ
インプログラムに復帰する。後述するようにこのインタ
ラプトサービスプログラム(以下、インタラプト処理プ
ログラムという)のなかに、各々のチャンネルの楽音の
波形を演算するルーチンと楽音のエンベロープを演算す
るルーチンが含まれており、インタラプトの周期(楽音
のサンプリング周期)で波形とエンベロープの生成が可
能になっている。
入力ポート41と出力ポート42は鍵盤2、機能キー3の
キースキャンのために使用される。インタラプト処理プ
ログラムにおいて生成された楽音はデジタル/アナログ
変換器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図)にセットする。例えば、押鍵
時には、エンベロープ生成のためのパラメータとして、
アタック部のエンベロープΔx、目標エンベロープ加減
フラグはエンベロープΔyを演算または読み出し、第6
図の対応する各々のレジスタにセットするとともに、波
形生成のためのパラメータとして、スタートアドレス、
エンドアドレス、ループアドレス、アドレス加算値をそ
れぞれ演算または取り出し、対応するレジスタにセット
する。また、エンベロープの更新に関しては、現在エン
ベロープレジスタの内容をチェックし、現ステップの目
標レベルになっていれば、次のステップのエンベロープ
データ(Δx、Δy、目標エンベロープ)を各レジスタ
に再設定する。現在エンベロープレジスタの内容は離鍵
時にもチェックされ、その値からリリースエンベロープ
を選択してそのデータをセットする。A10は次のメイン
フローのパスのための準備処理であり、今回のパスで得
た押鍵状態への変化を示すNEW ON状態をON中にしたり、
離鍵状態への変化を示すNEW OFF状態をOFF中に変える等
の処理を行う。
楽音の生成が行われるインタラプト処理プログラムの
フローを第3B図に示す。B1で前回のインタラプトの音源
処理B2で生成してある最終的な楽音波形データ(8音分
の累積波形値)をD/A変換器43に送出する。これによ
り、一定周期でD/A変換器43に楽音のサンプルが与えら
れることになる。次の音源処理B2は実施例のポイントで
あり、従来はこの処理を音源回路ハードウェア上で行っ
ていた。詳細は後述する。次のインタラプトタイマー処
理B3ではインタラプトが所定時間ごとにかかることを利
用して、フロー一周計時用のタイマーレジスタ(RAM34
内)を通過の都度、プラス1する。
なお、この実施例ではインタラプト処理プログラム内
ではメインプログラムで書込を行うレジスタについて
は、内容の書替を行わないようにしているので、通常の
インタラプト処理の開始時と終了時に行われるレジスタ
の退避と回復の処理は不要である。すなわち、RAM34上
のレジスタは楽音処理に関係するレジスタとその他の処
理に関係するレジスタとが独立しているので、メインプ
ログラムからインタラプト処理への移行が可及的に遅れ
なしで行われる。
音源処理B2の詳細を第3C図に示す。C1で波形加算用RA
M領域(第6図参照)をクリアした後、8チャンネル分
の処理C2〜C9を順番に行っている。各チャンネル処理の
最後で、チャンネルの楽音波形値が波形加算用RAM領域
のデータに加算される。
第4図は、時間に沿って実施例の動作の流れを描いた
ものである。A、B、C、D、E、Fはメインプログラ
ム(第3A図)の断片であり、一定時間ごとにインタラプ
ト処理(第3B図)が実行される。タイムチャートで示す
と第5図のようになる。図示のように、インタラプトに
入る都度、D/A変換器43に楽音波形信号が入力され、対
応するアナログ信号が外部に出力されていく。
第3C図のC2〜C9の処理を1チャンネル分について詳細
に示したのが第7図である。チャンネル処理は大きく分
けてエンベロープ処理(D1〜D7)と波形処理(D8〜D2
1)から成る。
第8図はエンベロープ処理で生成されるエンベロープ
を示したものである。1つの楽音のエンベロープはいく
つかのステップ(セグメント)から成っている。図中の
Δxはエンベロープの更新周期であり、Δyはエンベロ
ープ値の変化幅である。チャンネルのエンベロープ処理
(D1〜D7)では、更新タイムごとのエンベロープの更新
の計算とステップの目標レベルに達したかどうかのチェ
ックを行っている。一致したときには現在エンベロープ
レジスタ(第6図参照)に目標値が設定されるので、メ
インプログラムの発音処理A9内でそれを検知して、次の
ステップのエンベロープのためのデータ(Δx、Δy、
目標エンベロープ値)を各レジスタにセットしている。
詳細に述べると、D1でエンベロープの演算周期Δxと
比較するためのタイマージスタをインタラプトごとにイ
ンクリメントし、D2でΔxと一致したときD3でエンベロ
ープ変位分のデータΔyの加減算フラグ(符号ビット)
をテストしてエンベロープが上昇中か下降中かを判別
し、D4、D5でそれぞれ現在エンベロープの減算または加
算を行う。D6で現在エンベロープが目標エンベロープ値
に達したかどうかをチェックし、達しておれば、現在エ
ンベロープに目標レベルをセットする。これによりメイ
ンプログラムの発音処理A9で次のエンベロープステップ
のデータがセットされることになる。また発音処理A9で
ゼロの現在エンベロープを読んだときには発音の終了と
して処理される。
ここまでの説明で明らかなように、本電子楽器では、
マイクロコンピュータ1が常時、現在のエンベロープの
状態を把握できる。すなわち、実施例ではプログラム制
御のエンベロープ処理(D1〜D7)でエンベロープを生成
しており、同じくプログラム制御の発音処理A9で現在エ
ンベロープの値をチェックし、その結果に従う処理を行
っているので、従来のようなハードウェアのエンベロー
プ発生装置は不要であり、それに伴う問題は一掃され
る。更に、同じプログラム制御でも、エンベロープ処理
を特にタイマーインタラプト処理プログラム内で行って
いる理由については第9図を参照して説明する。
第9図(a)はタイマーインタラプトによって生成さ
れるエンベロープの一部を示す。仮に、通常のサブルー
チンでエンベロープ処理を行ったとすると、その結果は
第9図(b)に示すようになる。すなわち、エンベロー
プ演算のサブルーチンをメインフロー中に配置した場合
には、処理すべき仕事量が変動するため、エンベロープ
演算のサブルーチンからサブルーチンまでの時間も変動
する。このため、Δxを計時する時間も変わり、あると
きはこの更新時刻が早く到来し、あるときは遅れて到来
し、予定されたエンベロープの傾きを正確に実現できな
い。一方、タイマーインタラプト処理のなかでエンベロ
ープ処理を行った場合には割込の時間の周期性から、更
新周期Δxを一定に保つことができ、第9図(a)のよ
うに予定した通りのエンベロープを得ることができる。
更に、生成したエンベロープは同じインタラプト処理内
の波形処理でただちに使用されるので、波形の生成とエ
ンベロープの切り換えを合わせることができる。
次に、波形処理D8〜D21について述べる。波形処理で
は、現在アドレスの整数部を使って波形ROMから隣り合
う2つのアドレスの波形データを読み出し、(整数部+
小数部)で示される現在アドレスに対して想定される波
形値を補間で求めている。補間が必要な理由は、インタ
ラプトによる波形サンプリング周期が一定であり、アド
レスの加算値(ピッチデータ)が楽器への応用上、ある
音域にわたるためである(音階音しか出力しない楽器で
音階音ごとに波形データを用意すれば補間の必要はない
が許容できない記憶容量の増大となる)。補間による音
色の劣化、歪みは高音域の方が著しいため、通常は、原
音の記録サンプリング周期より高速の周期で原音を再生
する。この実施例では原音(A4)再生の周期を2倍にし
ている(第9図)。したがって、アドレス加算値が0.5
のとき、A4の音が得られるようになっている。この場
合、A#4ではアドレス加算値は0.529となり、A3のと
き、1となる。これらのアドレス加算値はピッチデータ
として制御データ兼波形ROM37に記憶されており、押鍵
時には発音処理A9において、鍵に対応するピッチデータ
と選択されている音色の波形スタートアドレス、波形エ
ンドアドレス及び波形ループアドレスがRAM34の対応す
るレジスタ、すなわち、アドレス加算値レジスタ、スタ
ートアドレス兼現在アドレスレジスタ、エンドアドレス
レジスタ、ループアドレスレジスタにセットされる。
参考までに、第10図に時間に対する補間波形データを
示す。図中、白丸は波形ROMのアドレスにある波形デー
タ値、黒丸は補間値を示している。
補間の方式はいろいろあるが、ここでは直線補間を採
用している。第7図の波形生成処理D8〜D21を詳細に述
べると、まず、D8で現在アドレスにアドレス加算値を加
算して新しい現在アドレスを得る。D9で現在アドレスと
エンドアドレスを比較し、現在アドレス>エンドアドレ
スならば、D10、D11により、現在アドレス<エンドアド
レスのときはD12により、物理上(番地上)または論理
上(動作上)の次のアドレスを計算し、D14でその整数
部により波形ROMをアクセスして次回波形データを得
る。ループアドレスは動作上エンドアドレスの次のアド
レスである。すなわち、第9図の場合、図示の波形は繰
り返し読み出される。したがって、現在アドレス=エン
ドアドレスのときは次のアドレスとしてループアドレス
の波形データを読み出す(D13)。D15、D16により、現
在アドレスの整数部で波形ROMをアクセスして今回の波
形データを読み出す。次に、D17で次回波形値から今回
波形値を減算し、D18でその差に現在アドレスの小数部
を乗算し、その結果をD19で今回の波形値に加えること
により、波形の直線補間値を求める。この直線補間した
データに上記エンベロープ処理で得ている現在エンベロ
ープ値を乗算してチャンネルの楽音データ値を得(D2
0)、それを波形加算用レジスタの内容に加えて楽音デ
ータを累算する(D21)。
以上のように、実施例ではマイクロコンピュータ1の
プログラム制御により、楽器の制御入力処理と楽音の生
成処理を行っているので、従来のような音源回路ハード
ウェアは不要であり、回路規模の縮小化、歩留りの向
上、コストの低減、設計の高い自由度をもたらすことが
できる。更に、インタラプト制御部40より正確な楽音サ
ンプリングタイムごとに発生される割込信号により起動
されるタイマーインタラプト処理プログラムによって、
楽音の波形を演算する処理と楽音のエンベロープを演算
する処理を行っているので、所望の特性のエンベロープ
を正確に生成することができる。
以上で実施例の説明を終えるが、この発明の範囲を逸
脱することなく種々の変形、変更が可能である。
[発明の効果] 以上の説明から明らかなように、この発明ではマイク
ロコンピュータのプログラム制御機能により、楽音の生
成を実行し、特に、楽音生成の優先処理のため、楽音サ
ンプリングタイムごとに正確な周期でインタラプト制御
回路手段から割込信号を発生させ、割込信号の発生の都
度、呼び出し、実行するインタラプトサービスプログラ
ムのなかに楽音の波形を演算するルーチンとエンベロー
プを演算するルーチンを設けたので、従来のような音源
回路ハードウェアは不要となり、制御の融通性を高める
ことができ、高品質で特性に制約のないエンベロープを
生成し、楽音の波形に付与することができる。したがっ
て、音源回路ハードウェア内にエンベロープ発生装置を
組み込んだ場合の問題、すなわち、外部の非同期のマイ
クロコンピュータからエンベロープ発生装置に対し制限
された範囲でしかエンベロープの制御指令を与えられな
い問題を解消できる。また、マイクロコンピュータのサ
ブルーチンの実行でエンベロープを生成する構成にした
ときの問題、すなわち、エンベロープ制御パラメータ
(レート、レベル)が定義しているエンベロープの特性
を正確に再現できない問題を解消することができる。
【図面の簡単な説明】
第1図はこの発明の実施例に係る電子楽器の全体構成
図、第2図は実施例のマイクロコンピュータの構成を示
すブロック図、第3A図はマイクロコンピュータのメイン
プログラムのフローを示す図、第3B図は楽音の生成が行
われるインタラプト処理のフローチャート、第3C図は第
3B図の音源処理の詳細なフローチャート、第4図は時間
に沿ったプログラムの流れを示す図、第5図は時間に沿
った処理の概要を示すタイムチャート、第6図は第2図
のRAM34内に置かれる楽音生成用RAMのテーブルを示す
図、第7図は第3C図の1つのチャンネル処理の詳細なフ
ローチャート、第8図は本実施例において生成されるエ
ンベロープを示す図、第9図は実施例のタイムインタラ
プトによるエンベロープと通常のサブルーチンによるエ
ンベロープとを対比して示す図、第10図は波形ROMの波
形データを示す図、第11図は時間に沿う補間演算波形を
示す図、第12図は従来の音源回路ハードウェアの一例を
示すブロック図、第13図は従来の音源回路ハードウェア
に含まれるエンベロープ制御部のブロック図、第14図は
従来におけるエンベロープの制約を説明するのに用いた
図である。 1……マイクロコンピュータ、31……制御用ROM、34…
…RAM、35……加減算器及び論理演算部、36……乗算
器、37……制御データ兼波形ROM、38……オペレーショ
ン解析部、40……インタラプト制御部。

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】外部より供給される制御信号入力を処理す
    るための制御用プログラム及びポリフォニックの楽音を
    リアルタイムで生成するための楽音生成用プログラムを
    記憶するプログラム記憶手段と、 前記プログラム記憶手段に記憶されたプログラムを読み
    出すためのアドレスを制御するアドレス制御手段と、 前記アドレス制御手段により前記プログラム記憶手段か
    ら読み出されたプログラムの各命令を解読する解読手段
    と、 前記解読手段により解読された制御用プログラムの各命
    令に従って生成された、各楽音生成に必要なデータを記
    憶するデータ記憶手段と、 前記データ記憶手段に記憶された各楽音生成に必要なデ
    ータを、前記解読手段により解読された楽音生成用プロ
    グラムの各命令に従って演算処理して楽音信号を生成し
    出力する演算処理手段と、 を備えるマイクロコンピュータからなり、 更に、このマイクロコンピュータが音高には依存しない
    所定のサンプリング周期で割込信号を発生するタイマー
    インタラプト制御手段を有し、 前記アドレス制御手段は、通常は前記プログラム記憶手
    段から制御用プログラムを読み出すとともに、このタイ
    マーインタラプト制御手段からの割込信号を受ける毎に
    前記プログラム記憶手段から前記制御用プログラムに代
    えて楽音生成用プログラムを読み出し、 この楽音生成用プログラムの中に楽音の波形を演算する
    ルーチンとともに楽音のエンベロープを演算するルーチ
    ンとが含まれていて、楽音の波形の生成動作と楽音のエ
    ンベロープの生成動作とが実質上同期して行われること
    を特徴とする処理装置。
  2. 【請求項2】請求項1記載の処理装置において、前記マ
    イクロコンピュータは集積回路チップで構成され、この
    チップ上にデジタルの楽音信号をアナログ信号に変換す
    るデジタル・アナログ変換器及び外部より供給される制
    御信号入力を受けるポートが更に設けられることを特徴
    とする処理装置。
JP63334161A 1988-12-29 1988-12-29 処理装置 Expired - Lifetime JP2576615B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP63334161A JP2576615B2 (ja) 1988-12-29 1988-12-29 処理装置
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
DE68917113T DE68917113T2 (de) 1988-12-29 1989-12-29 Datenverarbeitungsvorrichtung für ein elektronisches Musikinstrument.
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
JP63334161A JP2576615B2 (ja) 1988-12-29 1988-12-29 処理装置

Publications (2)

Publication Number Publication Date
JPH02179694A JPH02179694A (ja) 1990-07-12
JP2576615B2 true JP2576615B2 (ja) 1997-01-29

Family

ID=18274223

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63334161A Expired - Lifetime JP2576615B2 (ja) 1988-12-29 1988-12-29 処理装置

Country Status (1)

Country Link
JP (1) JP2576615B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2734192B2 (ja) * 1990-10-18 1998-03-30 ヤマハ株式会社 楽音処理装置
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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6044675B2 (ja) * 1978-04-14 1985-10-04 株式会社河合楽器製作所 楽音デ−タ処理装置
JPS6033600A (ja) * 1983-08-04 1985-02-20 松下電器産業株式会社 音源装置
JPS6145296A (ja) * 1984-08-09 1986-03-05 カシオ計算機株式会社 信号処理装置
JPS629395A (ja) * 1985-07-08 1987-01-17 ブラザー工業株式会社 ミユ−ジツクシンセサイザ
JPS63280333A (ja) * 1987-05-13 1988-11-17 Mitsubishi Electric Corp マイクロプログラム制御装置

Also Published As

Publication number Publication date
JPH02179694A (ja) 1990-07-12

Similar Documents

Publication Publication Date Title
US5319151A (en) Data processing apparatus outputting waveform data in a certain interval
US4201105A (en) Real time digital sound synthesizer
US6180863B1 (en) Music apparatus integrating tone generators through sampling frequency conversion
US5831193A (en) Method and device for forming a tone waveform by combined use of different waveform sample forming resolutions
US5637821A (en) Storing and interpolating means for a musical sound generating device
US4202234A (en) Digital generator for musical notes
JP2576615B2 (ja) 処理装置
EP0376342B1 (en) Data processing apparatus for electronic musical instruments
US5382749A (en) Waveform data processing system and method of waveform data processing for electronic musical instrument
JP2576617B2 (ja) 処理装置
JP2576614B2 (ja) 処理装置
US5264657A (en) Waveform signal generator
US5239123A (en) Electronic musical instrument
JP2576616B2 (ja) 処理装置
JP2576613B2 (ja) 処理装置
JP2576618B2 (ja) 処理装置
JPH07122796B2 (ja) 処理装置
JP2584054B2 (ja) パラメータ信号生成装置
JP2760436B2 (ja) 楽音に関する波形データの生成装置及び生成方法
JP2893698B2 (ja) 楽音信号発生装置
JP2797138B2 (ja) 電子楽器用処理装置
JP3543203B2 (ja) 電子楽器
JP3337450B2 (ja) 電子楽器
JPH1031486A (ja) 演奏データ記憶再生方法および装置
JP3217745B2 (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