JP2576618B2 - 処理装置 - Google Patents

処理装置

Info

Publication number
JP2576618B2
JP2576618B2 JP63334166A JP33416688A JP2576618B2 JP 2576618 B2 JP2576618 B2 JP 2576618B2 JP 63334166 A JP63334166 A JP 63334166A JP 33416688 A JP33416688 A JP 33416688A JP 2576618 B2 JP2576618 B2 JP 2576618B2
Authority
JP
Japan
Prior art keywords
program
tone
data
processing
address
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
JP63334166A
Other languages
English (en)
Other versions
JPH02179698A (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 JP63334166A priority Critical patent/JP2576618B2/ja
Priority to EP89124128A priority patent/EP0376342B1/en
Priority to KR8920242A priority patent/KR930005221B1/ko
Priority to DE68917113T priority patent/DE68917113T2/de
Publication of JPH02179698A publication Critical patent/JPH02179698A/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 JP2576618B2 publication Critical patent/JP2576618B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 [発明の技術分野] この発明は処理装置に関し、特にその構造的なアーキ
テクチャーに関する。
[従来技術とその問題点] 近年、電子楽器はコンピュータ化されている。しか
し、大量で高速のデータ演算が必要な楽音の生成に係る
部分は音源回路と呼ばれる専用構造のハードウェアで行
われており、マイクロコンピュータ(CPU)は楽器への
制御入力(鍵盤やコンソールパルスからの入力、MIDIそ
の他の外部制御入力、内部または外部の演奏メモリから
の入力等)を処理し、音源回路に適したコマンドを音源
回路に転送するに留まっている。
楽器への制御入力処理をマイクロコンピュータで行
い、楽音の生成を音源回路ハードウェアで行うという構
造(アーキテクチャー)には、全体の回路規模が大きく
なるという問題(代表的には音源回路ハードウェアはマ
イクロコンピュータの2倍程度のチップ面積を占め
る)、マイクロコンピュータで音源回路ハードウェアを
制御できる範囲が、狭くならざるを得ないという問題、
楽音信号の生成の仕方、ポリフォニック数の変更等の仕
様変更を実現するために必要となる音源回路ハードウェ
アの大幅な回路設計変更の問題等がある。
これらの点に鑑み、本件出願人はマイクロコンピュー
タだけで、楽器の制御入力の処理と楽音の生成が同時に
行えるアーキテクチャーについて研究を続け、ついにそ
の実現をみた。
このような斬新なアーキテクチャーによる電子楽器用
制御装置を実現する上において、大量で高速なデータ処
理が要求される楽音の生成が可能なマイクロコンピュー
タの構造が追求され、模索された。
例えば、典型的なマイクロコンピュータにおいては、
演算データの一時的な記憶手段としてアキュームレータ
と呼ばれる内部レジスタあるいは汎用の内部レジスタを
使用する。あるときには、アキュームレータにはデータ
メモリからのデータが入り、あるときにはデータメモリ
上の2個のデータを演算回路で演算(例えば加算)した
結果が入る。アキュームレータに一時的に置かれるデー
タは再度、データメモリ上の指定された記憶場所に戻さ
れる。このような構成のマイクロコンピュータを使っ
て、楽音生成処理を行うとすると、データメモリとアキ
ュームレータ(または汎用レジスタ)間の頻繁なデータ
転送のために相当の時間を要し、大量のデータを扱う必
要のある楽音生成処理を達成する上で支障をきたす。
[発明の目的] したがって、この発明の目的は、従来のような音源回
路ハードウェアを使用することなくマイクロコンピュー
タのプログラム制御だけで、実時間での楽音生成が可能
な処理装置を提供することである。
[発明の構成、作用] この発明によれば、上記の目的を達成するため、外部
より供給される制御信号入力を処理するための制御用プ
ログラム及び制御信号入力の処理結果に基づきポリフォ
ニックの楽音をリアルタイムで生成するための楽音生成
用プログラムを記憶するプログラム記憶手段と、上記プ
ログラム記憶手段からプログラムの各命令を読み出すた
めのアドレスを制御するアドレス制御手段と、プログラ
ム命令により直接的にアドレス指定可能な多数のレジス
タから成る演算用記憶手段と、上記演算用記憶手段のレ
ジスタ間の演算が可能な演算手段と、楽音の生成に必要
なデータを記憶するデータ記憶手段と、上記プログラム
記憶手段から読み出されたプログラムの各命令を解読し
て上記アドレス制御手段、上記データ記憶手段、上記演
算用記憶手段、上記演算手段の各動作を制御するオペレ
ーション制御手段と、を備えるマイクロコンピュータか
ら成り、上記演算用記憶手段は各種楽音パラメータを専
用的に記憶する専用レジスタ群を含んでおり、このマイ
クロコンピュータによる上記楽音生成用プログラムの実
行時にこの専用レジスタ間の演算が上記演算手段によっ
て実行されるようにし、このマイクロコンピュータが上
記制御用プログラムを実行するとともに、音高には依存
しない所定のサンプリング周期ごとに上記楽音生成用プ
ログラムを起動し、実行することにより、ポリフォニッ
クの楽音信号をリアルタイムで生成し、出力することを
特徴とする処理装置が提供される。
この構成の場合、演算用記憶手段内のレジスタが、い
わゆるアキュームレータとしても機能し得るし、データ
を記憶する手段としても機能し得る。したがって、通常
のアキュームレータは不要である。更に、演算用記憶手
段内の各レジスタはプログラム記憶手段のプログラムに
より直接的にアドレス指定可能である(ただし、この意
味はインデクスによるアドレッシング等の間接的なアド
レッシングができないということではない)。したがっ
て、演算回路手段を使って、レジスタ間の演算操作を直
接的に(アキュームレータを介することなく)行える。
更に、演算用記憶手段内の各レジスタは専用化すること
ができる(汎用的に使用することも可能であり、一部の
レジスタを汎用的に使用することを否定する意味ではな
い)。特に、演算用記憶手段には、楽音生成プログラム
の実行中において、演算のために使用され、各種の楽音
パラメータ(例えばエンベロープレート、位相値パラメ
ータ、位相変化幅パラメータ等々)を専用的に格納する
レジスタ群が含まれる。したがって、楽音プログラムの
実行により、楽音のデジタルデータサンプルを得るまで
の処理過程において、これらの各種楽音パラメータ専用
のレジスタ間で演算操作を効率的(最大限)に行うこと
ができ、それにより、データ記憶手段へのデータの参照
の頻度を減らすことが可能となる。それ故に、大量のデ
ータ(楽音パラメータ)の処理が高速に行え、実時間で
の楽音生成が容易となる。例えばあるレジスタは現在の
位相(波形の位相)値の格納場所として専用的に使用さ
れ、別のあるレジスタは位相値の変化幅のデータの格納
場所として専用的に記憶される。楽音生成処理におい
て、現在位相値を更新すべき条件が整ったときに、楽音
生成プログラムは現在位相値に変化幅を加算すべき指示
を出すことになる。その際、現在位相値と変化幅のデー
タのデータ記憶手段からの読出しと演算結果のエンベロ
ープ値の記憶は格別に必要でなく、直線的な指定で、現
在位相値格納用のレジスタ(第1レジスタ)を第1オペ
ランド(被演算子)とし、変化幅格納用のレジスタ(第
2レジスタ)を第2オペランド(演算子)として両者の
加算をオペコードで指示すれば、自動的に、すなわち、
オペレーション制御回路手段の制御のもとに、第1レジ
スタと第2レジスタのデータが出力され、加算器が動作
する演算回路手段に入力され、その出力(新しい位相
値)が第1レジスタに戻される。また、もう少し複雑で
位相値の変化幅が位相範囲によって変化するような系で
は、それぞれの範囲内における変化幅のデータを専用的
に格納するレジスタ群(A群と呼ぶことにする)と、そ
れぞれの範囲の境界の位相(境界値データ)を専用に記
憶するレジスタ群(B群)を用意し、位相値の加算を実
行する前に、B群レジスタの境界値と現在位相値とを比
較することで、A群のなかから選択する変化幅のレジス
タが決まる。この2つの例の処理過程では、データ記憶
手段に対しデータ(楽音パラメータ)をアクセスする必
要は全くない。つまり、典型的なマイクロコンピュータ
のように、データ記憶手段からデータをリードしてアキ
ュームレータ(あるいは汎用レジスタ)に格納するよう
な処理は省略できるわけである。
また、楽音生成のサンプリング周期を維持するための
有効な一手段として、タイマーインタラプトの制御機構
を活用し、インタラプトの要求の都度、楽音生成プログ
ラムを実行させる構成が考えられる(後述する実施例で
はタイマーインタラプト処理プログラムのなかで楽音を
生成している)。通常のマイクロコンピュータではイン
タラプトの要求に対し、その時点のプロセスの状態を退
避する必要がある(インタラプト終了後、そのプロセス
を回復し、続行するために)。この場合において、この
発明に従い、楽音生成プログラム(割り込んだ方のプロ
グラム)の実行では楽音パラメータの格納場所として専
用化されたレジスタしか使用されない。とすれば、割り
込まれた方のプログラムで使用するレジスタに対してそ
の書替が楽音生成プログラムの実行中には生じないこと
になる。プロセスの状態の退避はそのプロセスに係るレ
ジスタの内容が変更されないのであれば、その必要がな
い。したがって、プロセスの状態(汎用レジスタの状
態)を退避、及び回復させる処理が不要となり、そのた
めの処理時間が節約できる(インタラプト開始時にプロ
グラムカウンタあるいはそれに相当するもののみ、退避
させればよい)。
この発明の一構成例においては、マイクロコンピュー
タは集積回路チップで実現される。後述する実施例で
は、単一の集積回路チップ上に、楽器への制御入力を受
ける入出力ポート、タイマーインタラプトをかけるため
のタイマーインタラプト制御回路、生成された楽音のデ
ジタルデータサンプルをアナログ信号に変換するための
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は制御用R
OM31からの命令のオペランドがレジスタを指定している
場合に、RAM34内の対応するレジスタのアドレスを指定
する。オペランドは即値の場合もある(レジスタに数値
をセットするような場合)。RAM34はレジスタ群であ
り、汎用演算、フラグ演算、楽音の演算等に使用され
る。第6図に例示するように、楽音の演算用として多く
のレジスタが専用化されている。加減算器及び論理演算
部35と乗算器36は演算回路(AU)を構成し、制御用ROM3
2からの命令が演算命令のときに用いられる。特に乗算
器36は楽音波形の演算に使用しており、そのための最適
化として第1と第2のデータ入力(例えば16ビットデー
タ)を乗算して入力と同じ長さ(16ビット)のデータを
出力するようになっている。データ記憶装置としての制
御データ兼波形用ROM37にはピッチデータ、エンベロー
プデータ(レート、レベル)などの各種楽音制御パラメ
ータと、PCM(パルス符号変調)の楽音波形データが記
憶されている。エンベロープデータと楽音波形データは
楽音の音色ごとに用意される。図示のように、制御デー
タ兼波形用ROM37へのアクセスは、制御用RAM31のプログ
ラムのオペランドで指定されるRAM34上のレジスタの内
容を参照することによって間接的に行われる(もっとも
本実施例の場合、ROM37は内部メモリであり、RAM34の動
作を制御するのと同じオペレーション制御回路38により
直接的にその動作が制御されるため、ROM37に対するア
クセスの時間長はRAM34に対するアクセスの時間長と変
わらない)。オペレーション解析部(オペレーション制
御回路)38は制御用ROM31からの命令のオペコードを解
読し、指示されるオペレーションを実行するために、回
路の各部に制御信号を送る。
所定時間ごとに制御用ROM31の楽音生成プログラムを
実行するため、この実施例ではタイマーインタラプトを
採用している。すなわち、タイマーを有するインタラプ
ト制御部40により、一定時間ごとにROMアドレス制御部3
9は制御信号(割込要求信号)を送り、この信号によ
り、ROMアドレス制御部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図)にセットする。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つの楽音のエンベロープはいく
つかのステップ(セグメント)から成っている。図では
4セグメントで示してある。図中のΔxはエンベロープ
のサンプリング周期であり、図中のΔxはエンベロープ
値の変化幅である。チャンネルのエンベロープ処理(D1
〜D7)では、サンプリングタイムごとのエンベロープの
計算とステップの目標レベルに達したかどうかのチェッ
クを行っている。一致したときには現在エンベロープレ
ジスタ(第6図参照)に目標値が設定されるので、メイ
ンプログラムの発音処理A9内でそれを検知して、次のス
テップのエンベロープのためのデータ(Δx、Δy、目
標エンベロープ値)を各レジスタにセットしている。
詳細に述べると、D1でエンベロープの演算周期Δxと
比較するためのタイマーレジスタをインタラプトごとに
インクリメントし、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の対応するレ
ジスタ、すなわち、アドレス加算値レジスタ、スタート
アドレス兼現在アドレスレジスタ、エンドアドレスレジ
スタ、ループアドレスレジスタにセットされる。
参考までに、第10図に時間に対する補間波形データを
示す。図中、白丸は波形ROMのアドレスにある波形デー
タ値、黒丸は補間値を示している。
補間の方式はいろいろあるが、ここでは直線補間を採
用している。第7図の波形生成処理D8〜D21を詳細に述
べると、まず、D8で現在アドレスにアドレス加算値を加
算して新しい現在アドレスを得る。D9で現在アドレスと
エンドアドレスを比較し、現在アドレス>エンドアドレ
スならば、D10、D11により、現在アドレス<エンドアド
レスのときはD12により、物理上(番地上)または論理
上(動作上)の次のアドレスを計算し、D14でその整数
部により波形ROMをアクセスして次回波形データを得
る。ループアドレスは動作上エンドアドレスの次のアド
レスである。すなわち、第9図の場合、図示の波形は繰
り返し読み出される。したがって、現在アドレス=エン
ドアドレスのときは次のアドレスとしてループアドレス
の波形データを読み出す(D13)。D15、D16により、現
在アドレスの整数部で波形ROMをアクセスして今回の波
形データを読み出す。次に、D17で次回波形値から今回
波形値を減算し、D18でその差に現在アドレスの小数部
を乗算し、その結果をD19で今回の波形値に加えること
により、波形の直線補間値を求める。この直線補間した
データに現在エンベロープ値を乗算してチャンネルの楽
音データ値を得(D20)、それを波形加算用レジスタの
内容に加えて楽音データを累算する(D21)。
第7図のチャンネル処理プログラムの場合、間接的に
アクセスされる制御データ兼波形ROM7へのデータ参照
は、全ステップのうち、D14(またはD13)とD16だけで
ある。残るすべてのステップは直接的にアドレス指定可
能なRAM4上の専用化されたレジスタへの演算操作であ
る。したがってチャンネル処理(楽音生成処理)は高速
に実行される。高速性をもたらすものは、このマイクロ
コンピュータの構造にある。その要素として、RAM4への
直接アドレス指定可能な構成、RAM4を構成する多数のレ
ジスタ群、楽音生成処理において各種楽音パラメータを
専用的に格納するRAM4内の専用レジスタ構成等が挙げら
れる。
最後に具体的実施例(8音ポリフォニックのPCM音源
方式)の回路規模と動作時間について述べると、制御用
ROMが112Kbit、RAM34が5.4Kbit、制御データ兼波形用RO
M37(音色は100音色分)は508Kbitである。1マシンサ
イクルは約276ナノ秒で、動作時のインタラプト処理プ
ログラムのサイクル数が最大で150程度である。インタ
ラプト処理の実行間隔(楽音の出力サンプリング周期)
は約47マイクロ秒である。
以上のように、実施例ではマイクロコンピュータ自身
が楽音の生成を行っているので、従来のような音源回路
ハードウェアは不要であり、回路規模の縮少化、歩留り
の向上、コストの低減、設計の高い自由度をもたらすこ
とができる。
[変形例] 以上で実施例の説明を終えるが、この発明の範囲を逸
脱することなく種々の変形、変更が可能である。
例えば上記実施例では所定時間ごとの楽音波形サンプ
ルの出力のため、タイマーインタラプトをかけ、インタ
ラプトプログラムを実行することにより、楽音を生成し
ているが、ダミー命令(NOP命令)をプログラムに組み
込むことにより、一定時間ごとに上述したインタラプト
処理に代る処理(以下、一定時間処理と呼ぶ)が実行さ
れるようにしてもよい。すなわち、プログラムの各命令
の実行時間はマスタークロックにより決められるので、
一定時間分のメインプログラムの間に楽音を生成する一
定時間処理プログラムをサブルーチンとして挿入(分散
配置)すればよいわけであり、詳細にはメインプログラ
ム及びサブルーチンの一定時間処理プログラム内のすべ
ての分岐が同じ時間で処理されるように、ダミー命令
(NOP命令)を分散配置すればよい。
実施例と上述の変形例では、楽音の生成サンプリング
周期を常に一定に保っている。可変のサンプリング周期
の楽音生成も可能である。例えば、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)の
アナログ信号が得られる。
その他、種々の変形が可能である。
[発明の効果] 以上のように、この発明では、マイクロコンピュータ
の構造を工夫することにより、大量で高速のデータ処理
を必要とする楽音生成をマイクロコンピュータサイドで
比較的容易に行えるようにしている。その結果、従来の
ような音源回路ハードウェアは不要となる。したがっ
て、装置全体の回路規模を小さくでき、歩留りを上げ、
コストを下げることができる。更には、設計の自由度が
増し、楽音合成方式の変更、ポリフォニック数の変更な
どについて容易に対応することができる。例えば、従来
技術では4音ポリフォニック、PCM音源方式を7×7mmの
チップで実現していたのを、この発明の実施例では8音
ポリフォニック、PCM音源方式(D/A変換器込み)を5×
5mmのチップで実現することができた。一般に、回路規
模は半分以下にすることができると考えられる。
【図面の簡単な説明】
第1図はこの発明の実施例に係る電子楽器の全体構成
図、第2図は実施例のマイクロコンピュータの構成を示
すブロック図、第3A図はマイクロコンピュータのメイン
プログラムのフローを示す図、第3B図は楽音の生成が行
われるインタラプト処理のフローチャート、第3C図は第
3B図の音源処理の詳細なフローチャート、第4図は時間
に沿ったプログラムの流れを示す図、第5図は時間に沿
った処理の概要を示すタイムチャート、第6図は第2図
のRAM34内に置かれる楽音生成用RAMのテーブルを示す
図、第7図は第3C図の1つのチャンネル処理の詳細なフ
ローチャート、第8図はエンベロープを示す図、第9図
は波形ROMの波形データを示す図、第10図は時間に沿う
補間演算波形を示す図である。 1……マイクロコンピュータ、31……制御用ROM、34…
…RAM、35……加減算器及び論理演算部、36……乗算
器、37……制御データ兼波形ROM、38……オペレーショ
ン解析部。
フロントページの続き (72)発明者 斯波 康祐 東京都西多摩郡羽村町栄町3丁目2番1 号 カシオ計算機株式会社羽村技術セン ター内 (72)発明者 太期 広一郎 東京都西多摩郡羽村町栄町3丁目2番1 号 カシオ計算機株式会社羽村技術セン ター内 (56)参考文献 特開 昭60−33600(JP,A) 特開 昭63−208129(JP,A) 特開 昭54−46028(JP,A)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】外部より供給される制御信号入力を処理す
    るための制御用プログラム及び制御信号入力の処理結果
    に基づきポリフォニックの楽音をリアルタイムで生成す
    るための楽音生成用プログラムを記憶するプログラム記
    憶手段と、 上記プログラム記憶手段からプログラムの各命令を読み
    出すためのアドレスを制御するアドレス制御手段と、 プログラム命令により直接的にアドレス指定可能な多数
    のレジスタから成る演算用記憶手段と、 上記演算用記憶手段のレジスタ間の演算が可能な演算手
    段と、 楽音の生成に必要なデータを記憶するデータ記憶手段
    と、 上記プログラム記憶手段から読み出されたプログラムの
    各命令を解読して上記アドレス制御手段、上記データ記
    憶手段、上記演算用記憶手段、上記演算手段の各動作を
    制御するオペレーション制御手段と、 を備えるマイクロコンピュータから成り、上記演算用記
    憶手段は各種楽音パラメータを専用的に記憶する専用レ
    ジスタ群を含んでおり、このマイクロコンピュータによ
    る上記楽音生成用プログラムの実行時にこの専用レジス
    タ間の演算が上記演算手段によって実行されるように
    し、このマイクロコンピュータが上記制御用プログラム
    を実行するとともに、音高には依存しない所定のサンプ
    リング周期ごとに上記楽音生成用プログラムを起動し、
    実行することにより、ポリフォニックの楽音信号をリア
    ルタイムで生成し、出力することを特徴とする処理装
    置。
  2. 【請求項2】請求項1記載の処理装置において、前記マ
    イクロコンピュータが集積回路チップ上に実装されてな
    ることを特徴とする処理装置。
JP63334166A 1988-12-29 1988-12-29 処理装置 Expired - Lifetime JP2576618B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP63334166A JP2576618B2 (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
JP63334166A JP2576618B2 (ja) 1988-12-29 1988-12-29 処理装置

Publications (2)

Publication Number Publication Date
JPH02179698A JPH02179698A (ja) 1990-07-12
JP2576618B2 true 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
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
US5376752A (en) * 1993-02-10 1994-12-27 Korg, Inc. Open architecture music synthesizer with dynamic voice allocation

Family Cites Families (4)

* 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 ブラザー工業株式会社 ミユ−ジツクシンセサイザ

Also Published As

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

Similar Documents

Publication Publication Date Title
US5319151A (en) Data processing apparatus outputting waveform data in a certain interval
EP0013490A1 (en) An output processing system for a digital electronic musical instrument
JP3224002B2 (ja) 楽音発生方法及び波形記憶方法
JP3163984B2 (ja) 楽音発生装置
JP2576618B2 (ja) 処理装置
EP0376342B1 (en) Data processing apparatus for electronic musical instruments
JP2576617B2 (ja) 処理装置
JP2576613B2 (ja) 処理装置
JP2576616B2 (ja) 処理装置
JP2576614B2 (ja) 処理装置
JP2576615B2 (ja) 処理装置
JPH07121181A (ja) 音声情報処理装置
JP3658826B2 (ja) 楽音生成方法
JPS6340318B2 (ja)
JPH07122796B2 (ja) 処理装置
JP3225796B2 (ja) 信号処理装置および楽音処理装置
JP3230449B2 (ja) 信号処理装置
JP2727089B2 (ja) 電子楽器の音源装置
JP3543203B2 (ja) 電子楽器
JP3116447B2 (ja) デジタル信号処理プロセッサ
GB2040537A (en) Digital electronic musical instrument
JP3275678B2 (ja) 楽音発生方法および装置
JP2797138B2 (ja) 電子楽器用処理装置
JP3230413B2 (ja) 信号処理装置および信号処理装置のマイクロプログラム書き換え方法
JP3835573B2 (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