JPH04136994A - 楽音波形発生装置 - Google Patents

楽音波形発生装置

Info

Publication number
JPH04136994A
JPH04136994A JP2417381A JP41738190A JPH04136994A JP H04136994 A JPH04136994 A JP H04136994A JP 2417381 A JP2417381 A JP 2417381A JP 41738190 A JP41738190 A JP 41738190A JP H04136994 A JPH04136994 A JP H04136994A
Authority
JP
Japan
Prior art keywords
data
program
musical tone
sound source
processing program
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
Application number
JP2417381A
Other languages
English (en)
Other versions
JP3006095B2 (ja
Inventor
Takashi Akutsu
隆 阿久津
Jun Hosoda
潤 細田
Ryuji Usami
隆二 宇佐美
Kosuke Shiba
斯波 康祐
Koichiro Oki
広一郎 太期
Kazuo Ogura
和夫 小倉
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 JP2417381A priority Critical patent/JP3006095B2/ja
Publication of JPH04136994A publication Critical patent/JPH04136994A/ja
Application granted granted Critical
Publication of JP3006095B2 publication Critical patent/JP3006095B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
[0001]
【産業上の利用分野】
本発明は、楽音波形発生装置における音源処理方式に関
する。 [0002]
【従来の技術】
ディジタル信号処理技術とLSI処理技術の発達により
性能の良い様々な電子楽器が実現されている。特に、半
導体メモリの低価格化に伴い、自然楽器等の楽音波形を
デジタル信号としてメモリに記憶させ、これを演奏操作
に対応する音程等で読み出すことにより、リアルな楽音
波形を発音可能な電子楽器の登場が、プロ・アマチュア
を問わず音楽人口の大幅な増加に貢献している。このよ
うな音源方式としては、PCM(パルス符号変調)方式
、DPCM(差分パルス符号変調)方式、ADPCM(
適応差分パルス符号変調)方式といった方式がある。特
にADPCM方式は、大きなデータ圧縮が可能であるた
め優れた音源方式である[0003] 電子楽器の楽音波形発生装置は、大量かつ高速のディジ
タル演算が必要なため、従来は、必要とする音源方式に
基づく楽音発生アルゴリズムと等価なアーキテクチャを
ハードウェアで実現した専用の音源回路によって構成さ
れている。このような音源回路により、PCM方式等に
基づく音源方式が実現される。 [0004] 上述のような音源回路は、いずれの音源方式のものもそ
の回路規模が大きい。 LSI化した場合、波形データ等を記憶するメモリ部分
を除いても、汎用のデータ処理用のマイクロプロセッサ
の2倍程度の規模になる。その理由は、音源回路におい
ては、各種演奏情報に基づいて波形データをアクセスす
るための複雑なアドレス制御が必要になるからである。 また、音源生成処理の過程で得られる中間的なデータを
一時的に保持するためのレジスタ等が、音源方式に対応
したアーキテクチャで随所に配置される必要があるため
である。特に、ADPCM方式では、適応量子化されメ
モリに記憶されている差分データを読み出し逆量子化の
処理を実行して元の差分値を求め、それを累算して楽音
波形データを生成する、といった複雑な処理が必要とな
り、それらに対応したハードウェア構成も必要となるか
らである。 [0005]
【発明が解決しようとする課題】
以上のように、従来の楽音波形発生装置は、音源方式に
対応した専用の音源回路によって構成されているため、
ハードウェア規模が大きくなってしまい、LSIで実現
した場合におけるLSIチップ製造時の歩留り等の点に
おいて、製造段階でのコストアップを招き、楽音波形発
生装置の大型化を招いてしまうという問題点を有してい
る。 [0006] また、ADPCM方式の仕様を若干変更したい場合、ポ
リフォニック数を変更したい場合等においても、音源回
路の大幅な変更を余儀なくされ、開発段階でのコストア
ップを招いてしまうという問題点を有している。 [0007] 更に、従来の楽音波形発生装置全電子楽器として実現す
るような場合には、演奏操作に対応する演奏情報から音
源回路で処理可能なデータを生成したり、他の楽器との
演奏情報の通信を行ったりするための、マイクロプロセ
ッサ等により構成される制御回路が必要となる。そして
、このような制御回路においては、演奏情報を処理する
ための演奏情報処理プログラムのほかに、音源回路に演
奏情報に対応したデータを供給するための音源回路に対
応した音源制御プログラムが必要となり、しかも、その
両方のプログラムを同期させて動作させる必要がある。 このようなプログラムの複雑性から、その開発において
多大なコストアップを招いてしまうという問題点を有し
ている。 [0008] その一方、近年においては、汎用のデータ処理を行うた
めの高性能なマイクロプロセッサが多く実現されており
、このようなマイクロプロセッサを使用して音源処理を
ソフト的に行う楽音波形発生装置を実現させることも考
えられる。しかし、演奏情報を処理するための演奏情報
処理プログラムと、その演奏情報に基づいて音源処理を
実行するための音源処理プログラムとを同期して動作さ
せるための技術が知られていない。特に、音源処理プロ
グラムにおける処理時間が条件によって変化するため、
生成された楽音データをD/A変換器へ出力するための
複雑なタイミング制御プログラムが必要となってしまう
。このように、音源処理を単純にソフト的に行うだけで
は、処理プログラムが非常に複雑になり、処理速度及び
プログラム容量の面からADPCM方式のような高度な
音源方式の処理ができない。 [0009] 加えて、ADPCM方式では、適応量子化された差分デ
ータから逆量子化を行って元の差分値を演算するための
処理が必要となり、その逆量子化を行うための情報も必
要となるが、その情報を各サンプル毎にもたせたのでは
、記憶容量がPCM方式等の場合と変わらなくなりAD
PCM方式のメリットが減殺されてしまうという問題点
を有している。 [0010] 本発明は、専用の音源回路を必要とすることなく、マイ
クロプロセッサのプログラム制御によって、ADPCM
方式による高度な音源処理を可能とし、かつ、逆量子化
を少ない情報量で正確に行うことを可能とすることにあ
る。
【001月 【課題を解決するための手段】 本発明は、まず、演奏情報を処理するための演奏情報処
理プログラムと、楽音信号を得るための適応差分パルス
符号変調(ADPCM、以下同じ)方式による音源処理
プログラムを記憶するROM等のプログラム記憶手段を
有する。 [0012] この場合のADPCM方式の第1の態様としては、適応
量子化された差分データをデータ記憶手段に記憶し、適
応量子化時の量子化幅を制御する量子化データ(正規化
係数)を複数サンプル毎に1つずつ予め量子化データ記
憶手段に記憶しておき、音源処理時にはそれらを同期し
て読み出し逆量子化を行って差分値を再生し、その差分
値を累算して楽音波形を生成する方式が採用できる。 [0013] また、第2の態様として、適応量子化された差分データ
をデータ記憶手段に記憶し、適応量子化された差分デー
タを伸張変換して逆量子化された差分値を復号するため
の楽音の特性に応じた伸張テーブルを伸張テーブル記憶
手段に記憶しておき、音源処理時には適応量子化された
差分データを上記伸張テーブルで変換して逆量子化され
た差分値を再生し、その差分値を累算して楽音波形を生
成する方式が採用できる。 [0014] その他、量子化データはメモリには記憶せずに、現在の
適応量子化差分データに対する量子化データを、1サン
プル前に求まった差分値の振幅値に基づいて論理的に生
成する方式なども採用できる。更に、単純な差分値では
なく、現在の波形データの値から1サンプル前の波形デ
ータの値に固定の予測係数を乗算して得た値を減算した
値を適応量子化して記憶させる方式、このときの予測係
数を1サンプル前の波形データの値に基づいて適応的に
変化させる方式、さらに発展して1サンプル前のみなら
ず、2サンプル、3サンプル前といった過去の複数サン
プルの各々に異なる予測係数を乗算して総和をとり、そ
の総和の値を現在の波形デニタの値から減算したものを
適応量子化して記憶する方式など、さまざまなADPC
M方式が適用可能である。 [0015] 次に、プログラム記憶手段のアドレスを制御するアドレ
ス制御手段を有する。 また、前述のADPCM方式で楽音信号を生成するため
に必要な楽音生成データを記憶するデータ記憶手段を有
する。 [0016] 更に、四則演算処理を実行する乗算器等を含む演算処理
手段を有する。 そして、上述のアドレス制御手段、データ記憶手段及び
演算処理手段を制御しながら、プログラム記憶手段に記
憶された演奏情報処理プログラム又は音源処理プログラ
ムを実行するプログラム実行手段を有する。同手段は、
通常時は前記演奏情報処理プログラムを実行してデータ
記憶手段上の楽音生成データを制御し、所定時間間隔で
音源処理プログラムに制御を移してそれを実行し、その
終了後に再び演奏情報処理プログラムを実行する。また
、プログラム実行手段は、音源処理プログラムの実行時
に、データ記憶手段上の楽音生成データに基づいて上述
したようなADPCM方式で楽音信号を生成する。この
場合、プログラム実行手段は、例えば上記所定時間間隔
で割り込み信号を発生する割り込み制御手段を有する。 これにより、プログラム実行手段は、演奏情報処理プロ
グラムを実行中に、割り込み制御手段から割り込み信号
が発生したタイミングで演奏情報処理プログラムを中断
し、音源処理プログラムに制御を移してそれを実行し、
その終了後に割り込みを解除して演奏情報処理プログラ
ムの実行を再開する。 [0017] 上記構成に加えて、プログラム実行手段が音源処理プロ
グラムを実行して得られた楽音信号を保持し、該保持さ
れた楽音信号を一定の出力時間間隔で例えばD/A変換
器に出力する楽音信号出力手段を有する。この場合の一
定の出力時間間隔は、通常はD/A変換器等のサンプリ
ング周期に等しいが、この時間間隔は前述の所定時間間
隔と同じ間隔か、或いは、音源処理プログラムを複数回
実行して1サンプル分の楽音信号を生成するようにした
場合には、所定時間間隔の複数回分の1の時間間隔とな
る。 [0018]
【作用】
本発明では、プログラム記憶手段、アドレス制御手段、
データ記憶手段、演算処理手段及びプログラム実行手段
は、汎用のマイクロコンピュータと同様の構成であり、
専用の音源回路は全く必要としない。また、楽音信号出
力手段は、汎用のマイクロコンピュータとは異なる構成
であるが、楽音波形発生装置という範噴では汎用的であ
る。 [0019] これにより、楽音波形発生装置全体の回路規模を大幅に
小型化することができLSI化した場合等においても通
常のマイクロコンピュータの製造技術と同じでよく、チ
ップの歩留りも向上するため、製造コストを大幅に低減
させることができる。なお、楽音信号出力手段は簡単な
ラッチ回路で構成できるため、この部分を付加したこと
による製造コストの増加はほとんどない。 [00201 また、ADPCM方式の仕様例えば量子化ビット数や適
応量子化アルゴリズムを若干変更したい場合、ポリフォ
ニック数を変更したい場合等において、プログラム記憶
手段に記憶させる音源処理プログラムを変更するだけで
対処でき、新たな楽音波形発生装置の開発コストを大幅
に減少させることが可能となり、ユーザに対しても例え
ばROMカード等によって新たなADPCM方式を提供
することが可能となる。 [0021] 以上のような作用を可能とするのは、本発明が次のよう
なプログラムアーキテクチャ及びデータアーキテクチャ
を実現したからである。 すなわち、本発明では、データ記憶手段上にADPCM
方式で楽音を生成するために必要な楽音生成データを記
憶させるデータアーキテクチャを実現している。そして
、演奏情報処理プログラムが実行される場合は、データ
記憶手段上の楽音生成データが制御され、音源処理プロ
グラムが実行される場合は、データ記憶手段上の楽音生
成データに基づいて楽音信号が生成される。このように
演奏情報処理プログラムと音源処理プログラムとの間の
データの通信は、データ記憶手段上の楽音生成データを
介して行われ、各プログラムにおけるデータ記憶手段に
対するアクセスは、相手のプログラムの実行状態に一切
関わりなく行えばよいため、実質的に両プログラムを独
立したモジュール構成とすることができ、簡単かつ効率
的なプログラム構造とすることができる。 [0022] 上記データアーキテクチャに加えて、本発明では、通常
時は演奏情報処理プログラムを実行して、例えば鍵盤キ
ーや各種設定スイッチの操作、デモ演奏制御等を行い、
それに対して所定時間間隔で音源処理プログラムを実行
させ、その処理が終わったら再び演奏情報処理プログラ
ムに戻るというプログラムアーキテクチャを実現してい
る。これにより、音源処理プログラムは、例えば割り込
み制御手段からの所定時間間隔で発生する割り込み信号
に基づいて強制的に演奏情報処理プログラムに割り込め
ばよいため、演奏情報処理プログラムと音源処理プログ
ラムとの間の同期をとる必要はない。 [0023] 更に、プログラム実行手段が音源処理プログラムを実行
する場合には、処理条件(例えば条件分岐命令により異
なる処理に分岐した場合等)によって処理時間が変化す
るカミこの変化は、楽音信号出力手段によって全て吸収
することができる。従って、楽音信号をD/A変換器等
へ出力するための複雑なタイミング制御プログラムが必
要なくなる。 [0024] 以上のように、演奏情操処理プログラムと音源処理プロ
グラムとの間のデータのリンクをデータ記憶手段上の楽
音生成データを介して行うというデータアーキテクチャ
と、演奏情報処理プログラムに対して所定時間間隔で音
源処理プログラムを実行するというプログラムアーキテ
クチャを実現し、更に、楽音信号出力手段を設けたこと
により、汎用プロセッサとほとんど同じ構成で、効率的
なプログラム制御に基づく音源処理が実現される。 [0025] 更に、本発明では、ADPCM方式として、適応量子化
時の量子化幅を制御する量子化データを複数サンプル毎
に1つずつ記憶させることにより、楽音を生成するため
のデータの記憶容量を効率的に削減することができる。 [0026] また、ADPCM方式として、適応量子化された差分デ
ータを楽音特性に応じた伸張テーブルによって直接伸張
変換して逆量子化された差分値を復号するようにすれば
、予め特性がわかるという楽音信号の特徴を利用した更
に効率的な楽音信号の記録・再生が可能となる。 [0027]
【実施例】
以下、図面を参照しながら本発明の詳細な説明する。 本実節制9構戊 図1は、本発明の実施例の全体構成図である。 [0028] 同図において、まず、装置全体はマイクロコンピュータ
101により制御される。特に、楽器の制御入力の処理
のみならず、楽音を生成する処理もマイクロコンピュー
タ101で実行され、楽音生成用の音源回路は必要とし
ない。 [0029] 鍵盤102と機能キー103とからなるスイッチ部10
4は楽器の操作入力部分であり、スイッチ部104から
入力された演奏情報はマイクロコンピュータ101で処
理される。 [0030] マイクロコンピュータ101が生成したアナログ変換後
の楽音信号はローパスフィルタ105で平滑化され、ア
ンプ106で増幅された後、スピーカ107を介して放
音される。電源回路108は、マイクロコンピュータ1
01、ローパスフィルタ105及びアンプ106に必要
な電源を供給する。 [0031] 次に、図2はマイクロコンピュータ101の内部構成を
示すブロック図である制御データ兼波形用ROM212
には、後述するエンベロープ値の目標値等の楽音制御パ
ラメータ、ADPCM(アダプティブ差分パルス符号変
調)方式における楽音差分波形データ及び量子化データ
が記憶されている。そして、コマンド解析部207は、
制御用ROM201のプログラムの内容を順次解析しな
がら、制御データ兼波形用ROM212上の上記各デー
タをアクセスして、ソフトウェアによる音源処理を行う
。 [0032] 制御用ROM201には、後述する楽音制御用のプログ
ラムが記憶されておりROMアドレス制御部205がら
ROMアドレスデコーダ202を介して指定されたアド
レスのプログラム語(命令)を順次出力する。具体的に
は、各プログラム語の語長は例えば28ビツトであり、
プログラム語の一部が次に読み出されるべきアドレスの
下位部(ページ内アドレス)としてROMアドレス制御
部205に入力されるネクストアドレス方式となってい
る。なお、当然、通常のプログラムカウンタ方式のCP
Uで構成してもよい。 [0033] コマンド解析部207は、制御用ROM201から出力
される命令のオペコードを解析し、指定されたオペレー
ションを実行するために、回路の各部に制御信号を送る
。 [0034] RAMアドレス制御部204は、制御用ROM201か
らの命令のオペランドがレジスタを指定している場合に
、RAM206内の対応するレジスタのアドレスを指定
する。RAM206には、図10等として後述する各種
楽音制御データが8発音チャネル分記憶されるほか、後
述する各種バッファ等が記憶され、後述する音源処理に
使用される。 [0035] ALU部208及び乗算器209は、制御ROM31か
らの命令が演算命令の場合に、コマンド解析部207か
らの指示に基づいて、前者は加減算と論理演算、後者は
乗算を実行する。 [0036] インタラブド制御部203は、内部の特には図示しない
ハードタイマに基づいて、一定時間毎に、ROMアドレ
ス制御部205及びD/A変換器部213にインタラブ
ド信号を供給する。 [0037] 入力ポート210及び出力ポート211には、図1のス
イッチ部104が接続される。 制御用ROM201又はRAM206がら読み出される
各種データは、バスを介してROMアドレス制御部20
5、ALU部208、乗算器2o9、制御データ兼波形
用ROM212、D/A変換器部213、入力ポート2
10及び出カポ−)211に供給される。また、ALU
部208、乗算器209及び制御データ兼波形用ROM
212の各出力は、バスを介してRAM206に供給さ
れる。 [0038] 次に、図4は、図1のD/A変換器部213の内部構成
を示すもので、データバスを介して、音源処理で作成さ
れた楽音の1サンプルデータが、ラッチ301に入力さ
れる。そして、ラッチ301のクロック入力に図2のコ
マンド解析部207から音源処理終了信号が入力される
と、データバス上の1サンプル分の楽音データが、図5
に示すようにラッチ301にラッチされる。 [0039] ここで、前述の音源処理に要する時間は、音源処理用の
ソフトウェアの実行条件により変化するため、音源処理
が終了し、ラッチ301に楽音データがラッチされるタ
イミングは一定でない。そのため、図3のように、ラッ
チ301の出力をそのままD/A変換器303に入力さ
せることはできない。 [0040] そこで、本実施例では図4の如く、ラッチ301の出力
をさらにラッチ401でラッチし、図2のインタラブド
制御部203から出力されるサンプリングクロック間隔
に等しいインタラブド信号により、楽音信号をラッチ4
01にラッチさせ、一定間隔でD/A変換器303に出
力させるようにしている。 [0041] このようにラッチを2つ用いて、音源方式における処理
時間の変化を吸収したので、楽音データをD/A変換器
へ出力させるための複雑なタイミング制御プログラムが
不用になった。 本実施伝9全体動作 次に、本実施例の全体動作を説明する。 [0042] 本実施例では、マイクロコンピュータ101が、図6の
メインフローチャートに示すように、56o2〜561
oの一連の処理を繰り返し行っている。そして実際の音
源処理は割り込み(インタラブド)処理で行っている。 具体的には、ある−定時間毎に、図6のメインフローチ
ャートとして実行されているプログラムに割り込みが掛
かり、それに基づいて8チヤンネルの楽音信号を作る音
源処理のプログラムが実行される。その処理が終わると
、8チャネル分の楽音波形が加算されマイクロコンピュ
ータ101に接続されているD/A変換器部213がら
出力さえる。その後、割り込み状態からメインフローに
戻る。なお、上述の割り込みは、図2のインクラブド制
御部203内のハードタイマに基づき、周期的に行われ
る。この周期は、楽音出力時のサンプリング周期に等し
い。 [0043] 以上刃飄本実施例の概略動作で、次に、図6〜図8を用
いて詳細に本実施例の全体動作を説明する。 図6のメインフローチャートは、インクラブド制御部2
03から割り込みが掛からない状態においてマイクロコ
ンピュータ101で実行される、音源処理以外の処理の
流れを示している。 [0044] まず、電源がONされ、マイクロコンピュータ101内
のRAM206(図2参照)の内容等の初期設定が行わ
れる(S6o1)。 次に、マイクロコンピュータ101の外部に接続される
機能キー103(図1参照)の各スイッチが走査され(
S6o2)、各スイッチの状態が入力ポート210から
RAM206内のキーバッファエリアに取り込まれる。 その走査の結果、状態の変化した機能キーが識別され、
対応する機能の処理がなされる(S6o3)。例えば、
楽音番号のセット、エンベロープ番号のセット、また、
付加機能にリズム演奏がついていれば、リズム番号のセ
ット等が行われる。 [0045] その後、図1の鍵盤102において押鍵されている鍵盤
キーが上記機能キーの場合と同様に取り込まれ(S6o
4)、変化した鍵が識別されることによりキーアサイン
処理が行われる(S6o5)。 [0046] 次に、機能キー103(図1)で特には図示しないデモ
演奏キーが押されたときは、図2の制御データ兼波形用
ROM212からデモ演奏データ(シーケンサデータ)
が順次読み出されて、キーアサイン処理などが行われる
(S606)。また、リズムスタートキーが押されたと
きは、リズムデータが制御データ兼波形用[0047] その後に、以下に述べるタイマー処理が行われる(S6
o8)。すなわち、後述するインタラブドタイマー処理
(S702 )でインクリメントされている時間データ
の時間値が判別され、デモ演奏制御用に順次読み出され
る時間制御用のシーケンサデータ又はリズム演奏制御用
に読み出される時間制御用のりズムデータと比量制御が
行われる。 [0048] さらに、発音処理56o9では、発音処理されるべき楽
音のピッチにエンベロープを付加し、対応する発音チャ
ネルにピッチデータを設定するというピッチエンベロー
プ処理等が行われる。 [0049] 更に、フロー1周準備処理が実行される(S  )。こ
の処理においては、5605の鍵盤キー処理において押
鍵開始となったノート番号の発音チャネルの状態を押鍵
中に変えたり、離鍵となったノート番号の発音チャネル
の状態を消音中に変える等の処理が行われる。 [0050] 次に、図7図のインクラブド処理につき説明する。 図2のインタラブド制御部203により、図6のメイン
フローに対応するプログラムに割り込みが掛かると、同
プログラムの処理が中断され、図7のインタラブド処理
プログラムの実行が開始される。この場合、インタラブ
ド処理のプログラムにおいて、図6のメインフローのプ
ログラムで書き込みが行われるレジスタ等については、
内容の書き換えが行われないように制御される。従って
、通常のインタラブド処理の開始時と終了時に行われる
レジスタの退避と復帰の処理は不要となる。これにより
、図6のメインフローチャートの処理とインタラブド処
理との間の移行が迅速に行われる。 [0051] 続いて、インタラブド処理において音源処理が開始され
る(S7o1)。この音源処理は図8に示される。この
結果、8発音チャネル分が累算された楽音波形データが
、図2のRAM206内の後述するバッファBに得られ
る。 [0052] さらに、87o2では、インタラブドタイマー処理が行
われる。ここでは、図7のインタラブド処理が一定のサ
ンプリング周期毎に実行されることを利用して、RAM
206(図2)上の特には図示しない時間データの値が
インクリメントされる。すなわち、この時間データの値
を見れば時間経過がわかる。このようにして得られる時
間データは、前述したように、図6のメインフローのタ
イマー処理5608における時間制御に用いられる。 [0053] そして、5703において、上記バッファ領域の内容が
D/A変換器部213のラッチ301(図4)にラッチ
される。 次に、図8のフローチャートを用いて、インタラブド処
理のステップ5701で実行される音源処理の動作を説
明する。 [0054] まず、RAM206の波形データ加算用の領域がクリア
される(S8o1)。次に、発音チャネルの1チヤネル
毎に音源処理が行われ(S8o2〜58o9)、最後に
8チヤネル目の音源処理が終了した時点で所定のバッフ
ァ領域Bに8チャネル分が加算された波形データが得ら
れる。これらの詳細な処理については後述する[005
5] 次に図9は、前述の図6、図7のフローチャートの処理
の関係を概念的に示した流れ図である。まず、ある処理
A(以下、B、C,Fも同じ)が行われる(S901)
。この「処理」は、図6のメインフローチャートの、例
えば「機能キー処理」、や「鍵盤キー処理」などに対応
する。その後、インタラブド処理に入り、音源処理が開
始される(S902)。これにより、1サンプル分の8
発音チャネルをまとめた楽音信号が得られ、D/A変換
器部213に出力される。その後、メインフローチャー
トの何らかの処理Bに戻る。以上のような動作が、8つ
の全ての発音チャネルに対する音源処理が行われながら
繰り返される(S904〜S9□1)。そして、この繰
り返し処理は、楽音の発音中続けられる。 光源 理におけるデータ ′ 次に、図7の57o1で実行される音源処理の具体例に
ついて説明する。 [0056] 本実施例では、マイクロコンピュータ101が、8発音
チャネル分の音源処理を分担することは前述した。この
8チャネル分の音源処理用のデータは、図10に示すよ
うなデータフォーマットで、図2のRAM206内の発
音チャネル毎の領域に設定される。 [0057] また、このRAM206に、図11に示すような波形累
算用のバッファBが確保されている。 この場合、図12の各発音チャネル領域には、ADPC
M方式に基づく音源処理用の各種制御データが格納され
る。同図において、Aは、音源処理時に適応量子化差分
データ(後述する)が読み出される場合に指定されるア
ドレスを表し、A工が現在アドレスの整数部で、制御デ
ータ兼波形用ROM212(図2)の適応量子化差分デ
ータが格納されているアドレスに直接対応する。また、
A、は現在アドレスの/J1数部で、上記ROM412
から読み出され逆量子化された差分値の補間に用いられ
る。つぎのP はピッチデータの整数部、PFはピッチ
データ■ の小数部を表す。例を示すと、P□=1、P、=0は原
音のピッチを、P□=2P  =Oは1オクターブ上の
ピッチを、また、P■=0、PF=0.5は、Iオクタ
ーブ下のピッチをそれぞれ表す。その他の種々の制御デ
ータについては、後述のADPCM方式の説明の際に詳
述する。 [0058] 本実施例では、図6のメインフローが実行される場合に
、音源処理に必要な制御データ、例えばピッチデータ、
エンベロープデータ等が、対応する発音チャネル領域に
設定される。そして、図7のインタラブド処理での音源
処理として実行される図8の各チャネル対応の音源処理
において、上記発音チャネル領域に設定されている各種
制御データが使用されながら、楽音の生成処理が実行さ
れる。このようにメインフローのプログラムと音源処理
プログラムとの間のデータの通信は、RAM206上の
発音チャネル領域の制御データ(楽音生成データ)を介
して行われ、各プログラムにおける発音チャネル領域に
対するアクセスは相手のプログラムの実行状態に一切関
わりなく行えばよいため、実質的に両プログラムを独立
したモジュール構成とすることができ、簡単かつ効率的
なプログラム構造とすることができる。 [0059] さらに、制御データ兼波形用ROM212には、特には
図示しないデータフオ−マットで適応量子化差分データ
(後述する)が記憶されると共に、後述する量子化デー
タ(第1の実施例の場合)、伸長テーブル(第2の実施
例の場合)、又は関数テーブル(第3の実施例の場合)
が記憶される。これらは、後述するように、制御データ
兼波形量ROM212から読み出された適応量子化差分
データの逆量子化を行うための制御データである。この
ほか、同ROM212には、各音色に対応する楽音生成
用の制御データが記憶されており、演奏者により成る音
色が設定された場合に、同ROM212からRAM20
6の前述の各発音チャネル領域に上記制御データが転送
、設定される。 ADPCM  式による”源 理の原理以下、このよう
なデータ構成を用いて実行される、図8の1チヤネル毎
の各音源処理(S8o2〜58o9のいずれか)である
ADPCM方式の音源処理について説明する。なお、こ
の音源処理は、マイクロコンピュータ101のコマンド
解析部207が、制御用ROM201に格納されている
音源処理用のプログラムを解釈・実行することにより実
現される。以下、特に言及しないかぎり、この前提のも
とて処理が行われるものとする。 [0060] 始めに、ADPCM方式の動作原理の概略を説明する。 まず、図13において、制御データ兼波形用ROM21
2(図2)のアドレスAIに対応するサンプルデータX
Pは、アドレスA■の1つ前の、゛特には図示しないア
ドレス(A1−1)に対応するサンプルデータとの差分
値から求めた値である。 [0061] 制御データ兼波形用ROM212のアドレス八〇には、
っぎのサンプルデータとの差分値りを求めるための適応
量子化差分データが書き込まれており、このデータから
差分値りが求まる。従って、っぎのアドレスのサンプル
データはXP+Dで求まり、これが新たなサンプルデー
タXPとしておきかわる。 [0062] この場合、現在アドレスを同図に示すようにA、とすれ
ば、現在アドレスA。 このように、ADPCM方式では、現在のアドレスと、
つぎのアドレスに対応するサンプルデータ間の差分値り
を求めるための適応量子化差分データが制御データ兼波
形用ROM212(図2)から読み出され、それに基づ
いて差分値りが計算され、現在のサンプルデータに加算
されて、つぎのサンプルデータが求められることにより
、順次波形データが作成される。 [0063] このようなADPCM方式を採用すると、隣接する標本
間の差分値が一般に小さい音声や楽音等のような波形を
量子化する場合、通常のPCM方式に比較して、少ない
ビット数で量子化を行えることは明らかである。 [0064] さらに、ADPCM方式においては、以下のような巧妙
な適応量子化の原理が採用されている。 今、例えば楽音波形の差分値をメモリに記憶させる場合
、一定のS/Nを確保しながら最大±Eの振幅値(例え
ば電圧値)をとり得る差分値を量子化するために、nビ
ットの量子化ビット数が必要であるとする。これに対し
て、メモリ容量の制約・等から1サンプルデータあたり
nビットより少ないmビットのデータ量しか割り当てら
れない場合、差分値を1サンプルあたりなんとかmビッ
トで量子化しなければならない。 [0065] そのために通常は、±Eの振幅値の範囲を2 分割する
ことになるが、これでは量子化幅が広がってS/Nが劣
化してしまう。 そこで、ADPCM方式では、楽音波形等の差分値をメ
モリに記憶等させる場合に、一定のS/Nを確保できて
、かつ、mビットで表現できる振幅値の絶対値が1±E
1より小さい1±e1の範囲を定める。そして、振幅値
の絶対値が1±e1より大きな差分値は、1以上の正規
化係数で割ってその範囲内に入るように圧縮し、その後
にmビットで量子化し、メモリに記憶等させる。これに
より、−定のS/Nを確保したまま1サンプルデータあ
たりの量子化ビット数を減らすことができ、メモリ容量
を減らすことができる。このような操作を適応量子化と
呼ぶ。 [0066] ここで、上述のように適応量子化された差分データがら
元の差分値を再現するためには、各サンプルデータの適
応量子化を行った時の上記正規化係数もいっしょに記憶
させておき、適応量子化された差分データをメモリから
読み出すときにそれに対応する正規化係数も同時に読み
出し、適応量子化された差分データに乗算して元の差分
値を再生しなければならない。この操作を逆量子化と呼
ぶ。 [0067] しかし、1サンプルデータごとに上記正規化係数を記憶
させたのでは、結局、振幅値が±Eの範囲の差分値をn
ビットで量子化したのと同稈度の記憶容量が必要になっ
てしまい、データ圧縮は実現できない。 [0068] そこで、記憶容量の増加を抑えることのできるADPC
M方式による音源処理の第1、第2及び第3の実施例に
つき、以下に順次説明する。 ADPCM   による2源 理の 1の 施例第1の
実施例では、楽音波形の差分値の振幅が連続する8サン
プル程度の時間範囲では急激には変化しないことを利用
して、差分値をメモリに記憶させる際に、連続する8サ
ンプルの差分値は同じ正規化係数で適応量子化して記憶
させるこトドする。そして、正規化係数の値自体もそれ
ほど細かくない一定のステップで変化するようにし、そ
のような正規化係数を数ビットで量子化する。 [0069] 具体的には、第1の実施例では、正規化係数の値が8段
階に変化するようにしそれを3ビツトで表現する。これ
により、正規化係数は8サンプル毎に3ビツトのデータ
で量子化してメモリに記憶すればよいため、データ圧縮
が実現できる。なお以下の説明では、上述の正規化係数
を量子化データと呼ぶことにする。 [0070] 上述の原理を図14で説明する。同図では、上述の±E
は±64、±eは±8であり、量子化幅は1である。こ
れにより、±8の範囲が16レベルで量子化されるため
、差分値が適応量子化されるときの量子化ビット数は4
ビツトとなり、また、量子化データは3ビツトである。 そして、適応量子化時には、元の差分値がこの量子化デ
ータに対応する係数で除算されることにより、すべて±
8の範囲に圧縮される。 [0071] 図14では、元の差分値が±8以内の場合には量子化デ
ータ「001」によって指示される係数1で除算され(
すなわち、圧縮は行われない)、元の差分値が±8より
大きく±16以内の場合には量子化データ「010」に
よって指示される係数2で除算され、以下同様にして、
元の差分値が±32より大きく±64以内の最大範囲の
場合には量子化データ「111」によって指示される係
数8で除算される。そして、このようにして圧縮され4
ビツトで量子化された差分データが制御データ兼波形用
ROM212(図2)に記憶され、同時に、このときの
3ビツトの量子化データが、差分値8サンプルに対して
1データずつ、図12の如く上記ROM212に記憶さ
れる。 [0072] 以上のADPCM方式の音源処理の第1の実施例の動作
を、図15〜図18の動作フローチャートを用いて説明
する。フロー中の各変数は、図2のマイクロコンピュー
タ101内のRAM206上の対応する発音チャネル領
域に図10のデータフォーマットで確保されている。 [0073] 図15〜図18に基づく音源処理は、大きく分けてエン
ベロープ処理(Sl、01〜S  )と、波形処理(S
l、。8〜S1.32)から構成される。 まず、図13及び図14のADPCM方式の原理に基づ
く波形処理の前に、エンベロープ処理について説明する
。 [0074] 図19は、エンベロープ処理で生成されるエンベロープ
を示した図である。515o1〜515o7の処理によ
り生成されるエンベロープ値Eは、後述するステップ8
1.31において楽音波形出力0に乗算されることによ
り、楽音波形の各サンプルデータにエンベロープが付加
される。 [0075] 各楽音波形データに付加されるエンベロープは、時間的
にいくつかのステップ(セグメント)から構成されてい
る。同図では、4ステツプの例が示されている。図中の
ΔXはエンベロープのサンプリング周期であり、Δyは
エンベロープ値の変化幅である。 [0076] エンベロープ処理515o1〜515o7では、サンプ
リングタイミング毎のエンベロープ値Eの計算と、その
値が現在のステップの目標エンベロープ値OEに達した
か否かのチエツクが行われる。そして、EがOEに達し
たときには、図6のメインフローにおける56o9の発
音処理においてそれが検知されて、次のステップのエン
ベロープのためのデータ(ΔX、Δy及び目標エンベロ
ープ値OE)が、図2の制御データ兼波形用ROM21
2から読み出されて、RAM206(図2)上の対応す
る発音チャネル領域(図10参照)にセットされている
。 [0077] 具体的には、515o1で、エンベロープの演算周期Δ
Xと比較するためのタイマ値△Xtカミインタラブドタ
イミング毎にインクリメントされる。 次に、515o2で、ΔXがΔXtと一致したが否がが
判定される。 [0078] 一致しなければエンベロープ処理は行われない。 515o2で、ΔXがΔXtと一致したと判定された場
合、515o3で、エンベロープ値の変化幅Δyの符号
ビットが判別される。 [0079] 符号ビットが正で51503の判定がYESの場合、す
なわち、エンベロープが上昇中の場合には、ステップS
  において、現在エンベロープ値Eに変化幅Δyが加
算される。 [0080] 逆に、符号ビットが負で515o3の判定がNoの場合
、すなわち、エンベロープが下降中の場合には、ステッ
プS  において、現在エンベロープ値Eがら変化幅△
yが減算される。 [0081] その後、515o6において、現在エンベロープ値Eが
目標エンベロープ値OE以上となったか否かが判別され
る。Eが08以上となった場合には、現在エンベロープ
値Eが目標エンベロープ値OEで置き換えられる。 [0082] これが、前述の如く図6のメインフローにおける56o
9の発音処理で検知されて、次のステップのエンベロー
プのためのデータがRAM206上にセットされる。な
お、発音処理で現在エンベロープ値Eとして0が検出さ
れた場合には、発音の終了として処理される。 [0083] 次に、図13及び図14のADPCM方式の原理に基づ
く、Sl、o8〜S1.3□の波形処理について説明す
る。 制御データ兼波形用ROM212(図2)上の適応量子
化差分データが記憶されているアドレスのうち、現在の
処理の対象とされるデータが記憶されているアドレスを
図10の(A□、A、)とする。 [0084] まず、現在アドレス(A□、A、)にピッチデータ(P
l、P、)が加算される(S15o8)。このピッチデ
ータは、図1の鍵盤102において押鍵操作された鍵番
号に対応している。 [0085] そして、加算されたアドレスの整数部A1に変化がある
か否かが判定される(S15o9)。判定がNoならば
、図13のアドレスAIにおける差分値りを用いてDX
A  なる演算処理により、アドレスの小数部A、に対
応する補間データ値Oが演算される(81.29)。な
お、差分値りは、今回以前のインタラブドタイミングに
おける音源処理により求まっている(後述するSl、1
8又51521参照)。 [0086] 次に、上記補間データ値0にアドレスの整数部A1に対
応するサンプルデータX が加算され、現在アドレス(
A工、A、)に対応する新しいサンプルデータO(図1
3のX に対応)が得られる(Sl、3o)。 [0087] この後、このサンプルデータに、前述のエンベロープ処
理で求まっているエンベロープ値Eが乗算され(S15
31) ’得られたOの内容がRAM206(図2)内
の波形データバッファB(図11参照)に累算される(
S1532)。このバッファBには、他の発音チャネル
に対する音源処理(図8S8o2〜58o9)で生成さ
れた楽音波形出力が累算され、最終的に8チャネル分が
累算されたデータとして1サンプル分の楽音波形データ
が生成される。 [0088] その後、図6のメインフローに戻り、つぎのサンプリン
グ周期でインタラブドが掛かって、図15〜図18の音
源処理の動作フローチャートがふたたび実行されて、現
在アドレス(A  A  )にピッチデータ(Pl、P
、)が加算される(SI、  F 1508)・ [0089] 以上の動作が、アドレスの整数部A□に変化が生ずるま
で繰り返される。 この間、サンプルデータX、及び差分値りは更新されず
、補間データ0のみが[0090] 次に、S  で現在アドレス(AI、AF)にピッチデ
ータ(Pl、PF)が加算された結果、現在アドレスの
整数部A が変化したら(Sl、。9)、アドレスA□
がエンドアドレスAEに達しているか又は越えているか
否かが判定される(S1510)・ 【009月 判定がNoの場合、以下の51511〜51518のル
ープ処理により、現在アドレスの整数部A1に対応する
サンプルデータが計算される。すなわち、まず、旧A1
という変数(図10参′照)には、現在アドレスの整数
部へ〇が変化する前の値が格納されている。これは、後
述するSl、13又はSl、24の処理の繰り返しによ
り実現される。 [0092] この旧A の値が51513で順次インクリメントされ
ながら、51518において、■ 化差分データが読み出され、逆量子化の処理により差分
値りが演算される。この逆量子化は、前述した如く、適
応量子化差分波形データに量子化データを乗算すること
で実現されるが、このときの量子化データは、量子化デ
ータ現在アドレスADRで指示される制御データ兼波形
用ROM212上のデータとして読み出される(図12
参照)。 [0093] この場合の量子化データは、すでに説明したように差分
値の8サンプル毎に1データずつが対応している。そこ
で、ブロック内カウンタBKという変数が用意され(図
10参照)、S15□4において上記カウンタBKが初
期値Oから順次インクリメントされ、51515におい
てそのカウンタBKの値が7を越えたか否かが判別され
ることにより、8サンプル進んだか否かが判別される。 そして、BKの値が7を越えたら再びBKの値を初期値
Oに戻しく81.16)、量子化データ現在アドレスA
DRの値を1だけ進める(81.1□)。 [0094] このようにして、適切な量子化データ現在アドレスAD
Rによって読み出される適切な量子化データに基づいて
、81.18で差分値りが演算される。そして、この差
分値りが、51512において順次サンプルデータXP
に累算される。 [0095] 以上の動作が繰り返される結果、旧A□の値が変化後の
現在アドレスの整数部A に等しくなった時点で、サン
プルデータXPの値は変化後の現在アドレスの■ 整数部A1に対応する値となる。 [0096] このようにして、現在アドレスの整数部A に対応する
サンプルデータXpが■ 求まると、S  の判定がYESとなり、前述の補間値
の演算処理(S1529)に移る。 [0097] 上述の音源処理が各インタラブドタイミング毎に繰り返
され、S15□0の判定がYESに変化したら、つぎの
ループ処理に入る。 レスA に加算され、得られたアドレスが新たな現在ア
ドレスの整数部へ■とさL れる (81,19)。 [0098] 以下、ループアドレスALからどれだけアドレスが進ん
だかによって、差分値りが演算され累算される操作が何
回か繰り返されることにより、新たな現在アドレスの整
数部A に対応するサンプルデータXPが計算される。 ■ [0099] すなわち、まず、初期設定としてサンプルデータXpが
予め設定されているループアドレスA でのサンプルデ
ータX (図10参照)の値とされ、旧AIがL   
           PL ループアドレスALO値とされる。 [0100] さらに、量子化データ現在アドレスADR及びブロック
内カウンタBKの各個が、ループアドレスA において
対応する値ADR及びBK  とされる(S15L  
               L      L20
)・ [0101] A   X   ADR及びBKLの各個は、予め制御
データ兼波形用ROM2L’PL’L 12からRAM206の各発音チャネル領域(図10参
照)に読み出されている。なお、これらは演奏者が特に
は図示しない手段により設定できるようにしてもよい。 [0102] 続いて、以下の51521〜51528の処理が繰り返
される。 すなわち、旧人 の値がS  で順次インクリメントさ
れながら、51521におI       1524 いて、旧人〇により指示される制御データ兼波形用RO
M212(図2)上の適応量子化差分データが読み出さ
れ、逆量子化の処理によって差分値りが演算される。 [0103] このとき、81.18の場合と同様に、量子化データ現
在アドレスADRで指示される制御データ兼波形用RO
M212上のアドレスから量子化データが読み出され、
適応量子化差分データに乗算されることにより、差分値
りが演算される。 [0104] このときの量子化データ現在アドレスADRは、前述の
Sl、14〜S1.1゜の処理と同様の51525〜S
1.28の処理によって更新される。そして、この差分
値りが、51523において順次サンプルデータXPに
累算される。 [0105] 以上の動作が繰り返される結果、旧A□の値が変化後の
現在アドレスの整数部A□に等しくなった時点で、サン
プルデータX、の値はループ処理後の新たな現在アドレ
スの整数部A□に対応する値となる。 [0106] このようにして、新たな現在アドレスの整数部AIに対
応するサンプルデータX が求まると、Sl、2゜の判
定がYESとなり、前述の補間値の演算処理(Sl。 29)に移る。 [0107] 以上のようにして、1発音チャネル分のADPCM方式
による波形データが生成される。 ADPCM  式による2源 理の 2の 施例以上説
明した第1の実施例では、ADPCMにおける量子化デ
ータを、差分値の8サンプルに1データずつ、制御デー
タ兼波形用ROM212(図2)に記憶させている。こ
れに対して、以下に説明する第2の実施例では、楽音波
形の差分値の振幅の分布が予め楽音波形に特有の分布と
なることを利用して、正規化係数の代わりに、差分値の
各振幅をどの値に圧縮するかという圧縮特性を定め、差
分値をメモリ(図2の212)に記憶させる際に、この
圧縮特性で圧縮を行いながら適応量子化して記憶させる
こととする。そして、音源処理時には、その圧縮特性の
逆特性である伸長特性で適応量子化された差分値を伸長
しながら逆量子化を行って元の差分値を再生し、それを
累算して楽音波形を再生すればよい。そのために、制御
データ兼波形用ROM212(図2)には、上記伸長特
性で伸長を行うための図21で後述するような伸長テー
ブルを記憶させておく。この場合は、第1の実施例のよ
うな量子化データを記憶させる必要はない。 [0108] 以下に、上述の原理に基づ<ADPCM方式による音源
処理の第2の実施例の動作につき具体的に説明する。 第2の実施例による音源処理も第1の実施例と同様、大
きく分けてエンベロープ処理と、波形処理から構成され
る。この場合、エンベロープ処理は、図15の第1の実
施例のものと全く同様であり、また、波形処理の後半の
処理である、補間データ値の演算処理、エンベロープ値
の乗算処理及び波形データバッファへの累算処理は、図
18の第1の実施例のものと全く同様である。 [0109] 図20は、波形処理の前半部分の処理の動作フローチャ
ートであり、第1の実施例における図16及び図17の
部分に対応する。同図において、図16、図17と同じ
番号のステップは、同じ機能を有するものとする。 [0110] 図16、図17(7)第1(7)実施例ノステッフS1
.14〜S1.1□及ヒs1.2.〜s1.28の処理
では、制御データ兼波形用ROM212から各サンプル
に対応する8サンプル単位のブロックの量子化データが
読み出され、適応量子化差分データに乗算されることに
より差分値りが演算された。これに対して、図20の第
2の実施例では、上述のステップ51514〜5151
7がステップ52oo1で、ステップ51525〜51
528がステップ52oo3でそれぞれ置き換えられて
いる。 [0111] そして、これらのステップにおいて、まず、旧AIによ
り指示される制御データ兼波形用ROM212(図2)
上の適応量子化差分データが読み出され、これを入力と
して、同じ<ROM212上に記憶されている図21の
例のような特性を有する伸長テーブルで直接伸長される
ことにより逆量子化の処理が行われ、差分値りが演算さ
れる。 [0112] なお、第2の実施例では、図10の音源処理用のデータ
のうち、ブロック内カウンタBK及び量子化データRO
Mの現在アドレスADRの2つのデータは必要ない。こ
れに対応して、図16のステップ51520は図20の
ステップ52oo2としてよい。 [0113] 楽音波形信号の場合、その波形特性は予めわかっている
ため、図21の例のような伸長テーブルを用意すること
により、現在の適応量子化差分データの大きさに基づい
て、それを伸長テーブルによって直接逆量子化できる。 このため、通常の通信音声信号のように長時間の平均的
な特性しかわからないような信号に適用した場合に比較
し、はるかに正確な適応量子化を行うことが可能となり
、高品質かつ高圧縮率で楽音信号の記録・再生が可能と
なる。 ADPCM   による”源 理の 3の 施例上述の
第2の実施例では、現在の適応量子化差分データの大き
さに基づいて、それを伸長テーブルで直接逆量子化して
差分データを求めている。これに対して、各タイミング
毎の量子化データ(正規化係数)を、前回のタイミング
の量子化データに前回の適応量子化差分データの絶対値
を入力として求まる関数値を乗算することにより順次求
め、その演算された量子化データを現在の適応量子化差
分データに乗算することによっても、差分値を求めるこ
とができる。この原理に基づく第3の実施例の動作を以
下に説明する。 [0114] 第3の実施例は、第2の実施例における図20の波形処
理のステップ52oo2及びS  のそれそ゛れを、図
22のステップ522o1と522o2のセットからな
るステツブで置き換えた処理として実現される。 [0115] まず、制御データ兼波形用ROM212に、予め圧縮時
に求まる図23の例で示されるような変換関数テーブル
を記憶させておく。 ステップS2゜olでは、まず、(旧A□−1)により
指示される制御データ兼波形用ROM212(図2)上
の前回のタイミングの適応量子化差分データが読み出さ
れ、これを同じ<ROM212上に記憶されている図2
3の例のような特性を有する関数テーブルfで変換する
。そして、この関数値を前回のタイミングの量子化デー
タΔqに乗算し、今回のタイミングの新たな量子化デー
タΔqとして置き換える。 [0116] そして、ステップS  で、この量子化データΔqを、
旧A工により指示される制御データ兼波形用ROM21
2上の今回のタイミングの適応量子化差分データに乗算
することにより、差分値りが求まる。 [0117] なお、第3の実施例では、図10の音源処理用のデータ
のうち、ブロック内カウンタBK及び量子化データRO
Mの現在アドレスADRの2つのデータは必要なく、そ
の代わりに各発音チャネルの領域に量子化データΔqが
追加される。この発音チャネル毎のΔqは、例えば図6
の機能キー処理56o3で各発音チャネルにキーアサイ
ンが行われた場合等において、所定の初期値に初期設定
される。 ADPCM   による光源 理の他の 施例以上説明
した第1〜第3の実施例のほかに、より一般的なADP
CM方式を本発明に適用することも可能である。すなわ
ち、現在の適応量子化差分データに対する量子化データ
を、1サンプル前に求まった差分値の振幅値に基づいて
論理的に生成し、それを現在の適応量子化差分データに
乗算して現在の差分値を生成するようなアルゴリズムも
採用することが可能である。この場合、例えば図16及
び図17において、51514〜S15□7及び515
25〜51528の処理は不要となり、Sl、14及び
Sl、24の処理の後に更新前の差分値から量子化デー
タを生成する論理アルゴリズムの処理ステップを挿入し
、51518及び51521において、旧AIに基づい
て制御データ兼波形用ROM212(図2)から読み出
された適応量子化差分データに上記量子化データを乗算
すればよい。このようなADPCM方式によれば、量子
化データを制御データ兼波形用ROM212に記憶させ
る必要がないため、さらにデータ圧縮が可能となる。 [0118] また、ここまでのADPCM方式では、1サンプル前の
波形データの値と現在の波形データの値との差分値を適
応量子化して制御データ兼波形用ROM212に記憶さ
せているが、これに限られるものではなく、現在の波形
データの値から1サンプル前の波形データの値に固定の
予測係数を乗算して得た値を減算した値を記憶させれば
、さらにデータ圧縮が可能となる。そして、このときの
予測係数を、1サンプル前の波形データの値に基づいて
適応的に変化させることも可能であり、より一層のデー
タ圧縮が実現される。さらに発展して、1サンプル前の
みならず、2サンプル、3サンプル前といった過去の複
数サンプルの各々に異なる予測係数を乗算して総和をと
り、その総和の値を現在の波形データの値から減算した
ものを制御データ兼波形用ROM212に記憶させれば
、究極的なデータ圧縮が可能となる。 [0119] 以上の適用から理解されるように、ADPCM方式とい
うカテゴリーであればどのような音源方式も本発明に適
用することが可能である。 [01201 【発明の効果] 本発明によれば、専用の音源回路は全く必要とせずに、
汎用のプロセッサ構成とすることが可能となる。このた
め、楽音波形発生装置全体の回路規模を大幅に小型化す
ることができ、LSI化した場合等においても通常のマ
イクロコンピュータの製造技術と同じでよく、チップの
歩留りも向上するため、製造コストを大幅に低減させる
ことが可能となる。なお、楽音信号出力手段は簡単なラ
ッチ回路で構成できるため、この部分を付加したことに
よる製造コストの増加はほとんどない。 [0121] また、適応差分パルス符号変調方式の仕様を若干変更し
たい場合、ポリフォニック数を変更したい場合等におい
て、プログラム記憶手段に記憶させる音源処理プログラ
ムを変更するだけで対処でき、新たな楽音波形発生装置
の開発コストを大幅に減少させることが可能となり、ユ
ーザに対しても例えばROMカード等にはって新たな音
源方式を提供することが可能となる。 [0122] この場合、演奏情操処理プログラムと音源処理プログラ
ムとの間のデータのリンクをデータ記憶手段上の楽音生
成データを介して行うというデータアーキテクチャと、
演奏情報処理プログラムに対して所定時間間隔で音源処
理プログラムを実行するというプログラムアーキテクチ
ャを実現したことにより、両プロセッサ間の同期をとる
ための処理が必要なくなり、プログラムを大幅に簡略化
することが可能となる。これにより、適応差分パルス符
号変調方式のように処理が複雑な音源処理も、十分な余
裕をもって実行することができる。 [0123] 更に、適応差分パルス符号変調方式の音源処理における
処理条件による処理時間の変化を楽音信号出力手段によ
って全て吸収することができるため、楽音信号をD/A
変換器等へ出力するための複雑なタイミング制御プログ
ラムが必要なくなるという効果も生まれる。 [0124] 加えて、本発明では、ADPCM方式として、適応量子
化時の量子化幅を制御する量子化データを複数サンプル
毎に1つずつ記憶させることにより、楽音を生成するた
めのデータの記憶容量を効率的に削減することが可能と
なる。 [0125] また、ADPCM方式として、適応量子化された差分デ
ータを楽音特性に応じた伸張テーブルによって直接伸張
変換して逆量子化された差分値を復号するようにすれば
、予め特性がわかるという楽音信号の特徴を利用した更
に効率的な楽音信号の記録・再生が可能となる。
【図面の簡単な説明】
【図1】 本発明による実施例の全体構成図である。
【図2】 マイクロコンピュータの内部構成図である。
【図3】 従来のD/A変換器部の構成図である。
【図4】 本実施例によるD/A変換器部の構成図である。
【図5】 D/A変換におけるタイミングチャートである。
【図6】 本実施例の全体動作フローチャートである。
【図7】 インタフェース処理の動作フローチャートである。
【図8】 音源処理の動作フローチャートである。
【図9】 メイン動作フローチャートとインタラブド処理との関係
を示す概念図である。
【図10】 RAM上の発音チャネル毎の記憶領域を示す図である。
【図11】 RAM上のバッファ領域を示す図である。
【図12】 制御データ兼波形用ROM上の量子化データのデータフ
ォーマットを示す図である。
【図13】 ADPCM方式において差分値りと現在アドレスA を
用いて補間値XQを求める場合の原理説明図である。
【図14】 適用量子化の原理説明図である。
【図15】 ADPCM方式による音源処理の第1の実施例の動作フ
ローチャート(その1)である。
【図16】 ADPCM方式による音源処理の第1の実施例の動作フ
ローチャート(その2)である。
【図17】 ADPCM方式による音源処理の第1の実施例の動作フ
ローチャート(その3)である。
【図18】 ADPCM方式による音源処理の第1の実施例の動作フ
ローチャート(その4である。
【図19】 エンベロープ特性の説明図である。
【図20】 ADPCM方式による音源処理の第2の実施例の動作フ
ローチャー
【図21】 第2の実施例における伸張テーブルの特性の例を示した
図である。
【図22】 ADPCM方式による音源処理の第3の実施例の動作フ
ローチャー
【図23】 第3の実施例における関数テーブルの特性の例を示した
図である。
【符号の説明】
101    マイクロコンピュータ 102   鍵盤 103    機能キー 104   スイッチ部 105   ローパスフィルタ 106    アンプ 107 ゛ スピーカ 108   電源回路 201   制御用ROM 202    ROMアドレスデコーダ203   イ
ンタラブド制御部 204    RAMアドレス制御部 205    ROMアドレス制御部 206    RAM 207    コマンド解析部 208    ALU部 209    乗算器 トである。 トである。 301、 入力ポート 出力ポート 制御データ兼波形用ROM D/A変換器部 401    ラッチ D/A変換器
【書類名】
【図1】 図面 本÷≦明];よる実′施伊1の企イ本構六゛図
【図2】 マイク0コンビエータの内吉p才AJX図
【図3】 ね5Vのし/A’皮i目り合唐の謂(以凶
【図4】 本突Mj印由SよるD/△変甲φ8部の利(ぺ巴
【図5
【図6】 〆インフロー
【図7】
【図9】
【図101 【図11】 RAM上のR音チャネルfσの記tq団域を示!゛図

図12】
【図13】 A[)P↑リメしへこおし17りL6デイt1ヒiシイ
〒?駿しスAp仁
【図16】
【図19】 ■
【図23】 firom(旧Al−1)l) rom(旧AI  l)

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 演奏情報を処理するための演奏情報処理プログラムと、
    楽音信号を得るための適応差分パルス符号変調方式によ
    る音源処理プログラムを記憶するプログラム記憶手段と
    、 前記プログラム記憶手段のアドレスを制御するアドレス
    制御手段と、前記適応差分パルス符号変調方式で楽音信
    号を生成するために必要な楽音生成データを記憶するデ
    ータ記憶手段と、 演算処理手段と、 前記アドレス制御手段、前記データ記憶手段及び前記演
    算処理手段を制御しながら、前記プログラム記憶手段に
    記憶された前記演奏情報処理プログラム又は前記音源処
    理プログラムを実行する手段であり、通常時は前記演奏
    情報処理プログラムを実行して前記データ記憶手段上の
    楽音生成データを制御し、所定時間間隔で前記音源処理
    プログラムに制御を移してそれを実行し、その終了後に
    再び前記演奏情報処理プログラムを実行する手段であり
    、前記音源処理プログラムの実行時に、前記データ記憶
    手段上の楽音生成データに基づいて前記適応差分パルス
    符号変調方式で楽音信号を生成するプログラム実行手段
    と、前記プログラム実行手段が前記音源処理プログラム
    を実行して得られた前記楽音信号を保持し、該保持され
    た楽音信号を一定の出力時間間隔で出力する楽音信号出
    力手段と、 を有することを特徴とする楽音波形発生装置。
  2. 【請求項2】 演奏情報を処理するための演奏情報処理プログラムと、
    楽音信号を得るための適応差分パルス符号変調方式によ
    る音源処理プログラムを記憶するプログラム記憶手段と
    、 前記プログラム記憶手段のアドレスを制御するアドレス
    制御手段と、前記適応差分パルス符号変調方式で楽音信
    号を生成するために必要な楽音生成データを記憶するデ
    ータ記憶手段と、 適応量子化された楽音信号の差分データを逆量子化し、
    該楽音信号の差分値を復号するための量子化データであ
    って、複数タイミングの楽音信号毎に1つずつの量子化
    データを記憶する量子化データ記憶手段と、演算処理手
    段と、 前記アドレス制御手段、前記データ記憶手段及び前記演
    算処理手段を制御しながら、前記プログラム記憶手段に
    記憶された前記演奏情報処理プログラム又は前記音源処
    理プログラムを実行する手段であり、通常時は前記演奏
    情報処理プログラムを実行して前記データ記憶手段上の
    楽音生成データを制御し、所定時間間隔で前記音源処理
    プログラムに制御を移してそれを実行し、その終了後に
    再び前記演奏情報処理プログラムを実行する手段であり
    、前記音源処理プログラムの実行時に、前記データ記憶
    手段上の楽音生成データに基づいて前記適応差分パルス
    符号変調方式で楽音信号を生成し、その場合に、前記デ
    ータ記憶手段から読み出した各処理タイミング毎の適応
    量子化された楽音信号の差分データを、前記量子化デー
    タ記憶手段から読み出した該差分データに対応する量子
    化データに基づいて逆量子化して該楽音信号の差分値を
    復号し、それを累算することにより楽音信号を生成する
    プログラム実行手段と、 前記プログラム実行手段が前記音源処理プログラムを実
    行して得られた前記楽音信号を保持し、該保持された楽
    音信号を一定の出力時間間隔で出力する楽音信号出力手
    段と、 を有することを特徴とする楽音波形発生装置。
  3. 【請求項3】 演奏情報を処理するための演奏情報処理プログラムと、
    楽音信号を得るための適応差分パルス符号変調方式によ
    る音源処理プログラムを記憶するプログラム記憶手段と
    、 前記プログラム記憶手段のアドレスを制御するアドレス
    制御手段と、前記適応差分パルス符号変調方式で楽音信
    号を生成するために必要な楽音生成データを記憶するデ
    ータ記憶手段と、 適応量子化された楽音信号の差分データを伸張変換して
    逆量子化された楽音信号の差分値を復号するための変換
    テーブルであって、生成される楽音の特性に応じた伸張
    テーブルを記憶する伸張テーブル記憶手段と、演算処理
    手段と、 前記アドレス制御手段、前記データ記憶手段及び前記演
    算処理手段を制御しながら、前記プログラム記憶手段に
    記憶された前記演奏情報処理プログラム又は前記音源処
    理プログラムを実行する手段であり、通常時は前記演奏
    情報処理プログラムを実行して前記データ記憶手段上の
    楽音生成データを制御し、所定時間間隔で前記音源処理
    プログラムに制御を移してそれを実行し、その終了後に
    再び前記演奏情報処理プログラムを実行する手段であり
    、前記音源処理プログラムの実行時に、前記データ記憶
    手段上の楽音生成データに基づいて前記適応差分パルス
    符号変調方式で楽音信号を生成し、その場合に、前記デ
    ータ記憶手段から読み出した各処理タイミング毎の適応
    量子化された楽音信号の差分データを、前記伸張テーブ
    ル記憶手段に記憶された伸張テーブルで伸張変換して逆
    量子化された楽音信号の差分値を復号し、それを累算す
    ることにより楽音信号を生成するプログラム実行手段と
    、 前記プログラム実行手段が前記音源処理プログラムを実
    行して得られた前記楽音信号を保持し、該保持された楽
    音信号を一定の出力時間間隔で出力する楽音信号出力手
    段と、 を有することを特徴とする楽音波形発生装置。
  4. 【請求項4】 前記プログラム実行手段は、前記所定時間間隔で割り込
    み信号を発生する割り込み制御手段を含み、 該プログラム実行手段は、前記演奏情報処理プログラム
    を実行中に、前記割り込み制御手段から前記割り込み信
    号が発生したタイミングで前記演奏情報処理プログラム
    を中断し、前記音源処理プログラムに制御を移してそれ
    を実行し、その終了後に割り込みを解除して前記演奏情
    報処理プログラムの実行を再開する、ことを特徴とする
    請求項1、2又は3記載の楽音波形発生装置。
JP2417381A 1990-06-28 1990-12-30 楽音波形発生装置 Expired - Fee Related JP3006095B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2417381A JP3006095B2 (ja) 1990-06-28 1990-12-30 楽音波形発生装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP17121990 1990-06-28
JP2-171219 1990-06-28
JP2417381A JP3006095B2 (ja) 1990-06-28 1990-12-30 楽音波形発生装置

Publications (2)

Publication Number Publication Date
JPH04136994A true JPH04136994A (ja) 1992-05-11
JP3006095B2 JP3006095B2 (ja) 2000-02-07

Family

ID=26494015

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2417381A Expired - Fee Related JP3006095B2 (ja) 1990-06-28 1990-12-30 楽音波形発生装置

Country Status (1)

Country Link
JP (1) JP3006095B2 (ja)

Cited By (3)

* 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
JPH09179558A (ja) * 1995-12-21 1997-07-11 Yamaha Corp 楽音生成方法
USRE41297E1 (en) 1995-07-05 2010-05-04 Yamaha Corporation Tone waveform generating method and apparatus based on software

Cited By (3)

* 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
USRE41297E1 (en) 1995-07-05 2010-05-04 Yamaha Corporation Tone waveform generating method and apparatus based on software
JPH09179558A (ja) * 1995-12-21 1997-07-11 Yamaha Corp 楽音生成方法

Also Published As

Publication number Publication date
JP3006095B2 (ja) 2000-02-07

Similar Documents

Publication Publication Date Title
US5319151A (en) Data processing apparatus outputting waveform data in a certain interval
KR101166735B1 (ko) 악기 디지털 인터페이스 하드웨어 명령
US5283386A (en) Musical-tone signal generating apparatus and musical-tone controlling apparatus including delay means and automatic reset means
KR101120968B1 (ko) 악기 디지털 인터페이스 하드웨어 명령 세트
JP3482685B2 (ja) 電子楽器の音源装置
US7718882B2 (en) Efficient identification of sets of audio parameters
JPH0722957A (ja) 副バンドコーディングシステムの信号処理装置
JPH04136994A (ja) 楽音波形発生装置
US5777249A (en) Electronic musical instrument with reduced storage of waveform information
US5693901A (en) Electronic musical instrument
JP2950461B2 (ja) 楽音発生装置
JPH09258735A (ja) 電子楽器
JP3027831B2 (ja) 楽音波形発生装置
JP2797142B2 (ja) 電子楽器用処理装置
US5459279A (en) Electronic instrument for generating sounds based on the compressed waveform data stored beforehand
JP3116381B2 (ja) 楽音波形圧縮方法
JP2869574B2 (ja) 楽音波形発生装置
JPH07219552A (ja) 楽音波形発生装置及び楽音波形圧縮装置
JP3027832B2 (ja) 楽音波形発生装置
JP2000293169A (ja) 楽音生成装置
Hodes Recursive oscillators on a fixed-point vector microprocessor for high performance phase-accurate real-time additive synthesis
JPS6352399B2 (ja)
JPH0561460A (ja) 楽音信号発生装置
JP2910632B2 (ja) 波形メモリ音源装置
JPH02179692A (ja) 処理装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19991026

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071126

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081126

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081126

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091126

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101126

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees