JPH07219552A - 楽音波形発生装置及び楽音波形圧縮装置 - Google Patents

楽音波形発生装置及び楽音波形圧縮装置

Info

Publication number
JPH07219552A
JPH07219552A JP6328539A JP32853994A JPH07219552A JP H07219552 A JPH07219552 A JP H07219552A JP 6328539 A JP6328539 A JP 6328539A JP 32853994 A JP32853994 A JP 32853994A JP H07219552 A JPH07219552 A JP H07219552A
Authority
JP
Japan
Prior art keywords
data
tone signal
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.)
Pending
Application number
JP6328539A
Other languages
English (en)
Inventor
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 JP6328539A priority Critical patent/JPH07219552A/ja
Publication of JPH07219552A publication Critical patent/JPH07219552A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【目的】 本発明は、専用の音源回路を必要とすること
なく、マイクロプロセッサのプログラム制御によって、
ADPCM方式による高度な音源処理を可能とし、逆量
子化を少ない情報量で正確に行うことを可能とし、更
に、そのような音源処理を可能とするための楽音波形の
圧縮技術を提供することを目的とする。 【構成】 コマンド解析部207は、制御用ROM20
1に記憶されたADPCM方式の音源処理プログラムを
実行して楽音生成処理を行う。この場合、制御データ兼
波形用ROM212には、楽音の種類毎の何種類かの伸
張テーブルが記憶され、同じくROM212に記憶され
た適応量子化差分データが、生成されるべき楽音の種類
に応じた上記伸張テーブルの1つによって直接伸張変換
されることにより、上記楽音の差分値が再生され、楽音
信号が発生される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、楽音波形発生装置にお
ける音源処理方式に関する。
【0002】
【従来の技術】ディジタル信号処理技術とLSI処理技
術の発達により性能の良い様々な電子楽器が実現されて
いる。特に、半導体メモリの低価格化に伴い、自然楽器
等の楽音波形をデジタル信号としてメモリに記憶させ、
これを演奏操作に対応する音程等で読み出すことによ
り、リアルな楽音波形を発音可能な電子楽器の登場が、
プロ・アマチュアを問わず音楽人口の大幅な増加に貢献
している。このような音源方式としては、PCM(パル
ス符号変調)方式、DPCM(差分パルス符号変調)方
式、ADPCM(適応差分パルス符号変調)方式といっ
た方式がある。特に、ADPCM方式は、大きなデータ
圧縮が可能であるため優れた音源方式である。
【0003】電子楽器の楽音波形発生装置は、大量かつ
高速のディジタル演算が必要なため、従来は、必要とす
る音源方式に基づく楽音発生アルゴリズムと等価なアー
キテクチャをハードウエアで実現した専用の音源回路に
よって構成されている。このような音源回路により、P
CM方式等に基づく音源方式が実現される。
【0004】上述のような音源回路は、いずれの音源方
式のものもその回路規模が大きい。LSI化した場合、
波形データ等を記憶するメモリ部分を除いても、汎用の
データ処理用のマイクロプロセッサの2倍程度の規模に
なる。その理由は、音源回路においては、各種演奏情報
に基づいて波形データをアクセスするための複雑なアド
レス制御が必要になるからである。また、音源生成処理
の過程で得られる中間的なデータを一時的に保持するた
めのレジスタ等が、音源方式に対応したアーキテクチャ
で随所に配置される必要があるためである。特に、AD
PCM方式では、適応量子化されメモリに記憶されてい
る差分データを読み出し逆量子化の処理を実行して元の
差分値を求め、それを累算して楽音波形データを生成す
る、といった複雑な処理が必要となり、それらに対応し
たハードウエア構成も必要となるからである。
【0005】
【発明が解決しようとする課題】以上のように、従来の
楽音波形発生装置は、音源方式に対応した専用の音源回
路によって構成されているため、ハードウエア規模が大
きくなってしまい、LSIで実現した場合におけるLS
Iチップ製造時の歩留り等の点において、製造段階での
コストアップを招き、楽音波形発生装置の大型化を招い
てしまうという問題点を有している。
【0006】また、ADPCM方式の仕様を若干変更し
たい場合、ポリフォニック数を変更したい場合等におい
ても、音源回路の大幅な変更を余儀なくされ、開発段階
でのコストアップを招いてしまうという問題点を有して
いる。
【0007】更に、従来の楽音波形発生装置を電子楽器
として実現するような場合には、演奏操作に対応する演
奏情報から音源回路で処理可能なデータを生成したり、
他の楽器との演奏情報の通信を行ったりするための、マ
イクロプロセッサ等により構成される制御回路が必要と
なる。そして、このような制御回路においては、演奏情
報を処理するための演奏情報処理プログラムのほかに、
音源回路に演奏情報に対応したデータを供給するための
音源回路に対応した音源制御プログラムが必要となり、
しかも、その両方のプログラムを同期させて動作させる
必要がある。このようなプログラムの複雑性から、その
開発において多大なコストアップを招いてしまうという
問題点を有している。
【0008】その一方、近年においては、汎用のデータ
処理を行うための高性能なマイクロプロセッサが多く実
現されており、このようなマイクロプロセッサを使用し
て音源処理をソフト的に行う楽音波形発生装置を実現さ
せることも考えられる。しかし、演奏情報を処理するた
めの演奏情報処理プログラムと、その演奏情報に基づい
て音源処理を実行するための音源処理プログラムとを同
期して動作させるための技術が知られていない。特に、
音源処理プログラムにおける処理時間が条件によって変
化するため、生成された楽音データをD/A変換器へ出
力するための複雑なタイミング制御プログラムが必要と
なってしまう。このように、音源処理を単純にソフト的
に行うだけでは、処理プログラムが非常に複雑になり、
処理速度及びプログラム容量の面からADPCM方式の
ような高度な音源方式の処理ができない。
【0009】加えて、ADPCM方式では、適応量子化
された差分データから逆量子化を行って元の差分値を演
算するための処理が必要となり、その逆量子化を行うた
めの情報も必要となるが、その情報を各サンプル毎にも
たせたのでは、記憶容量がPCM方式等の場合と変わら
なくなりADPCM方式のメリットが減殺されてしまう
という問題点を有している。
【0010】本発明は、専用の音源回路を必要とするこ
となく、マイクロプロセッサのプログラム制御によっ
て、ADPCM方式による高度な音源処理を可能とし、
逆量子化を少ない情報量で正確に行うことを可能とし、
更に、そのような音源処理を可能とするための楽音波形
の圧縮技術を提供することにある。
【0011】
【課題を解決するための手段】本発明は、まず、演奏情
報を処理するための演奏情報処理プログラムと、楽音信
号を得るための適応差分パルス符号変調(ADPCM、
以下同じ)方式による音源処理プログラムを記憶するR
OM等のプログラム記憶手段を有する。
【0012】この場合のADPCM方式としては、適応
量子化された楽音信号の差分データをデータ記憶手段に
記憶し、適応量子化された差分データを伸張変換して逆
量子化された差分値を復号するための、生成される複数
種類の楽音の各特性に応じた伸張テーブルを伸張テーブ
ル記憶手段に記憶しておき、音源処理時には適応量子化
された差分データを上述の生成されるべき楽音信号の種
類に応じた伸張テーブルで変換して逆量子化された差分
値を再生し、その差分値を累算して楽音波形を生成する
方式が採用できる。
【0013】次に、プログラム記憶手段のアドレスを制
御するアドレス制御手段を有する。また、前述のADP
CM方式で楽音信号を生成するために必要な楽音生成デ
ータを記憶するデータ記憶手段を有する。
【0014】更に、四則演算処理を実行する乗算器等を
含む演算処理手段を有する。そして、上述のアドレス制
御手段、データ記憶手段及び演算処理手段を制御しなが
ら、プログラム記憶手段に記憶された演奏情報処理プロ
グラム又は音源処理プログラムを実行するプログラム実
行手段を有する。同手段は、通常時は前記演奏情報処理
プログラムを実行してデータ記憶手段上の楽音生成デー
タを制御し、所定時間間隔で音源処理プログラムに制御
を移してそれを実行し、その終了後に再び演奏情報処理
プログラムを実行する。また、プログラム実行手段は、
音源処理プログラムの実行時に、データ記憶手段上の楽
音生成データに基づいて上述したようなADPCM方式
で楽音信号を生成する。
【0015】上記構成に加えて、プログラム実行手段が
音源処理プログラムを実行して得られた楽音信号を保持
し、該保持された楽音信号を一定の出力時間間隔で例え
ばD/A変換器に出力する楽音信号出力手段を有する。
この場合の一定の出力時間間隔は、通常はD/A変換器
等のサンプリング周期に等しいが、この時間間隔は前述
の所定時間間隔と同じ間隔か、或いは、音源処理プログ
ラムを複数回実行して1サンプル分の楽音信号を生成す
るようにした場合には、所定時間間隔の複数回分の1の
時間間隔となる。
【0016】次に、本発明では、上述のような音源処理
に使用される適応量子化された楽音信号の差分データを
生成するための、以下のような手段を有する楽音波形圧
縮装置を提供する。
【0017】すなわち、楽音信号の差分値を圧縮変換し
て適応量子化された楽音信号の差分データを生成するた
めの変換テーブルであって、適応量子化すべき楽音信号
の種類に応じて最適の圧縮率となるような圧縮テーブル
を使用して、適応量子化を行うデータ圧縮手段を有す
る。
【0018】
【作用】本発明では、プログラム記憶手段、アドレス制
御手段、データ記憶手段、演算処理手段及びプログラム
実行手段は、汎用のマイクロコンピュータと同様の構成
であり、専用の音源回路は全く必要としない。また、楽
音信号出力手段は、汎用のマイクロコンピュータとは異
なる構成であるが、楽音波形発生装置という範疇では汎
用的である。
【0019】これにより、楽音波形発生装置全体の回路
規模を大幅に小型化することができ、LSI化した場合
等においても通常のマイクロコンピュータの製造技術と
同じでよく、チップの歩留りも向上するため、製造コス
トを大幅に低減させることができる。なお、楽音信号出
力手段は簡単なラッチ回路で構成できるため、この部分
を付加したことによる製造コストの増加はほとんどな
い。
【0020】また、ADPCM方式の仕様例えば量子化
ビット数や適応量子化アルゴリズムを若干変更したい場
合、ポリフォニック数を変更したい場合等において、プ
ログラム記憶手段に記憶させる音源処理プログラムを変
更するだけで対処でき、新たな楽音波形発生装置の開発
コストを大幅に減少させることが可能となり、ユーザに
対しても例えばROMカード等によって新たなADPC
M方式を提供することが可能となる。
【0021】以上のような作用を可能とするのは、本発
明が次のようなプログラムアーキテクチャ及びデータア
ーキテクチャを実現したからである。すなわち、本発明
では、データ記憶手段上にADPCM方式で楽音を生成
するために必要な楽音生成データを記憶させるデータア
ーキテクチャを実現している。そして、演奏情報処理プ
ログラムが実行される場合は、データ記憶手段上の楽音
生成データが制御され、音源処理プログラムが実行され
る場合は、データ記憶手段上の楽音生成データに基づい
て楽音信号が生成される。このように演奏情報処理プロ
グラムと音源処理プログラムとの間のデータの通信は、
データ記憶手段上の楽音生成データを介して行われ、各
プログラムにおけるデータ記憶手段に対するアクセス
は、相手のプログラムの実行状態に一切関わりなく行え
ばよいため、実質的に両プログラムを独立したモジュー
ル構成とすることができ、簡単かつ効率的なプログラム
構造とすることができる。
【0022】上記データアーキテクチャに加えて、本発
明では、通常時は演奏情報処理プログラムを実行して、
例えば鍵盤キーや各種設定スイッチの操作、デモ演奏制
御等を行い、それに対して所定時間間隔で音源処理プロ
グラムを実行させ、その処理が終わったら再び演奏情報
処理プログラムに戻るというプログラムアーキテクチャ
を実現している。これにより、音源処理プログラムは、
例えば割り込み制御手段からの所定時間間隔で発生する
割り込み信号に基づいて強制的に演奏情報処理プログラ
ムに割り込めばよいため、演奏情報処理プログラムと音
源処理プログラムとの間の同期をとる必要はない。
【0023】更に、プログラム実行手段が音源処理プロ
グラムを実行する場合には、処理条件(例えば条件分岐
命令により異なる処理に分岐した場合等)によって処理
時間が変化するが、この変化は、楽音信号出力手段によ
って全て吸収することができる。従って、楽音信号をD
/A変換器等へ出力するための複雑なタイミング制御プ
ログラムが必要なくなる。
【0024】以上のように、演奏情報処理プログラムと
音源処理プログラムとの間のデータのリンクをデータ記
憶手段上の楽音生成データを介して行うというデータア
ーキテクチャと、演奏情報処理プログラムに対して所定
時間間隔で音源処理プログラムを実行するというプログ
ラムアーキテクチャを実現し、更に、楽音信号出力手段
を設けたことにより、汎用プロセッサとほとんど同じ構
成で、効率的なプログラム制御に基づく音源処理が実現
される。
【0025】更に、本発明では、ADPCM方式とし
て、適応量子化された差分データを複数種類の楽音特性
に応じた伸張テーブルによって直接伸張変換して逆量子
化された差分値を復号するようにすれば、予め特性がわ
かっている各楽音信号に対応した最適な効率で楽音信号
の再生が可能となる。
【0026】そして、本発明では、データ圧縮手段によ
り、上述のような適応量子化された楽音信号の差分デー
タを、楽音信号の種類に応じて最適の圧縮率となるよう
な圧縮テーブルを使用して楽音信号の差分値を適応量子
化することにより、得ることができる。
【0027】
【実施例】以下、図面を参照しながら本発明の実施例を
説明する。本実施例の構成 図1は、本発明の実施例の全体構成図である。
【0028】同図において、まず、装置全体はマイクロ
コンピュータ101により制御される。特に、楽器の制
御入力の処理のみならず、楽音を生成する処理もマイク
ロコンピュータ101で実行され、楽音生成用の音源回
路は必要としない。
【0029】鍵盤102と機能キー103とからなるス
イッチ部104は楽器の操作入力部分であり、スイッチ
部104から入力された演奏情報はマイクロコンピュー
タ101で処理される。
【0030】マイクロコンピュータ101が生成したア
ナログ変換後の楽音信号はローパスフィルタ105で平
滑化され、アンプ106で増幅された後、スピーカ10
7を介して放音される。電源回路108は、マイクロコ
ンピュータ101、ローパスフィルタ105及びアンプ
106に必要な電源を供給する。
【0031】次に、図2はマイクロコンピュータ101
の内部構成を示すブロック図である。制御データ兼波形
用ROM212には、後述するエンベロープ値の目標値
等の楽音制御パラメータ、ADPCM(アダプティブ差
分パルス符号変調)方式における楽音差分波形データ及
び量子化データが記憶されている。そして、コマンド解
析部207は、制御用ROM201のプログラムの内容
を順次解析しながら、制御データ兼波形用ROM212
上の上記各データをアクセスして、ソフトウエアによる
音源処理を行う。
【0032】制御用ROM201には、後述する楽音制
御用のプログラムが記憶されており、ROMアドレス制
御部205からROMアドレスデコーダ202を介して
指定されたアドレスのプログラム語(命令)を順次出力
する。具体的には、各プログラム語の語長は例えば28
ビットであり、プログラム語の一部が次に読み出される
べきアドレスの下位部(ページ内アドレス)としてRO
Mアドレス制御部205に入力されるネクストアドレス
方式となっている。なお、当然、通常のプログラムカウ
ンタ方式のCPUで構成してもよい。
【0033】コマンド解析部207は、制御用ROM2
01から出力される命令のオペコードを解析し、指定さ
れたオペレーションを実行するために、回路の各部に制
御信号を送る。
【0034】RAMアドレス制御部204は、制御用R
OM201からの命令のオペランドがレジスタを指定し
ている場合に、RAM206内の対応するレジスタのア
ドレスを指定する。RAM206には、図9及び図10
等として後述する各種楽音制御データが8発音チャネル
分記憶されるほか、後述する各種バッファ等が記憶さ
れ、後述する音源処理に使用される。
【0035】ALU部208及び乗算器209は、制御
ROM31からの命令が演算命令の場合に、コマンド解
析部207からの指示に基づいて、前者は加減算と論理
演算、後者は乗算を実行する。
【0036】インタラプト制御部203は、内部の特に
は図示しないハードタイマに基づいて、一定時間毎に、
ROMアドレス制御部205及びD/A変換器部213
にインタラプト信号を供給する。
【0037】入力ポート210及び出力ポート211に
は、図1のスイッチ部104が接続される。制御用RO
M201又はRAM206から読み出される各種データ
は、バスを介してROMアドレス制御部205、ALU
部208、乗算器209、制御データ兼波形用ROM2
12、D/A変換器部213、入力ポート210及び出
力ポート211に供給される。また、ALU部208、
乗算器209及び制御データ兼波形用ROM212の各
出力は、バスを介してRAM206に供給される。
【0038】次に、図4は、図1のD/A変換器部21
3の内部構成を示すもので、データバスを介して、音源
処理で作成された楽音の1サンプルデータが、ラッチ3
01に入力される。そして、ラッチ301のクロック入
力に図2のコマンド解析部207から音源処理終了信号
が入力されると、データバス上の1サンプル分の楽音デ
ータが、図5に示すようにラッチ301にラッチされ
る。
【0039】ここで、前述の音源処理に要する時間は、
音源処理用のソフトウエアの実行条件により変化するた
め、音源処理が終了し、ラッチ301に楽音データがラ
ッチされるタイミングは一定でない。そのため、図3の
ように、ラッチ301の出力をそのままD/A変換器3
03に入力させることはできない。
【0040】そこで、本実施例では図4の如く、ラッチ
301の出力をさらにラッチ401でラッチし、図2の
インタラプト制御部203から出力されるサンプリング
クロック間隔に等しいインタラプト信号により、楽音信
号をラッチ401にラッチさせ、一定間隔でD/A変換
器303に出力させるようにしている。
【0041】このようにラッチを2つ用いて、音源方式
における処理時間の変化を吸収したので、楽音データを
D/A変換器へ出力させるための複雑なタイミング制御
プログラムが不用になった。本実施例の全体動作 次に、本実施例の全体動作を説明する。
【0042】本実施例では、マイクロコンピュータ10
1が、図6のメインフローチャートに示すように、S
602 〜S610 の一連の処理を繰り返し行っている。そし
て実際の音源処理は割り込み(インタラプト)処理で行
っている。具体的には、ある一定時間毎に、図6のメイ
ンフローチャートとして実行されているプログラムに割
り込みが掛かり、それに基づいて8チャンネルの楽音信
号を作る音源処理のプログラムが実行される。その処理
が終わると、8チャネル分の楽音波形が加算され、マイ
クロコンピュータ101に接続されているD/A変換器
部213から出力さえる。その後、割り込み状態からメ
インフローに戻る。なお、上述の割り込みは、図2のイ
ンタラプト制御部203内のハードタイマに基づき、周
期的に行われる。この周期は、楽音出力時のサンプリン
グ周期に等しい。
【0043】以上が、本実施例の概略動作で、次に、図
6〜図8を用いて詳細に本実施例の全体動作を説明す
る。図6のメインフローチャートは、インタラプト制御
部203から割り込みが掛からない状態においてマイク
ロコンピュータ101で実行される、音源処理以外の処
理の流れを示している。
【0044】まず、電源がONされ、マイクロコンピュ
ータ101内のRAM206(図2参照)の内容等の初
期設定が行われる(S601)。次に、マイクロコンピュー
タ101の外部に接続される機能キー103(図1参
照)の各スイッチが走査され(S602 )、各スイッチの
状態が入力ポート210からRAM206内のキーバッ
ファエリアに取り込まれる。その走査の結果、状態の変
化した機能キーが識別され、対応する機能の処理がなさ
れる(S603 )。例えば、楽音番号のセット、エンベロ
ープ番号のセット、また、付加機能にリズム演奏がつい
ていれば、リズム番号のセット等が行われる。
【0045】その後、図1の鍵盤102において押鍵さ
れている鍵盤キーが上記機能キーの場合と同様に取り込
まれ(S604 )、変化した鍵が識別されることによりキ
ーアサイン処理が行われる(S605 )。
【0046】次に、機能キー103(図1)で特には図
示しないデモ演奏キーが押されたときは、図2の制御デ
ータ兼波形用ROM212からデモ演奏データ(シーケ
ンサデータ)が順次読み出されて、キーアサイン処理な
どが行われる(S606 )。また、リズムスタートキーが
押されたときは、リズムデータが制御データ兼波形用R
OM212から順次読み出され、キーアサイン処理など
が行われる(S607 )。
【0047】その後に、以下に述べるタイマー処理が行
われる(S608 )。すなわち、後述するインタラプトタ
イマー処理(S702 )でインクリメントされている時間
データの時間値が判別され、デモ演奏制御用に順次読み
出される時間制御用のシーケンサデータ又はリズム演奏
制御用に読み出される時間制御用のリズムデータと比較
されることにより、S606 のデモ演奏又はS607 のリズ
ム演奏を行う場合の時間制御が行われる。
【0048】さらに、発音処理S609 では、発音処理さ
れるべき楽音のピッチにエンベロープを付加し、対応す
る発音チャネルにピッチデータを設定するというピッチ
エンベロープ処理等が行われる。
【0049】更に、フロー1周準備処理が実行される
(S610)。この処理においては、S605 の鍵盤キー処理に
おいて押鍵開始となったノート番号の発音チャネルの状
態を押鍵中に変えたり、離鍵となったノート番号の発音
チャネルの状態を消音中に変える等の処理が行われる。
【0050】次に、図7のインタラプト処理につき説明
する。図2のインタラプト制御部203により、図6の
メインフローに対応するプログラムに割り込みが掛かる
と、同プログラムの処理が中断され、図7のインタラプ
ト処理プログラムの実行が開始される。この場合、イン
タラプト処理のプログラムにおいて、図6のメインフロ
ーのプログラムで書き込みが行われるレジスタ等につい
ては、内容の書き換えが行われないように制御される。
従って、通常のインタラプト処理の開始時と終了時に行
われるレジスタの退避と復帰の処理は不要となる。これ
により、図6のメインフローチャートの処理とインタラ
プト処理との間の移行が迅速に行われる。
【0051】続いて、インタラプト処理において音源処
理が開始される(S701 )。この音源処理は図8に示さ
れる。この結果、8発音チャネル分が累算された楽音波
形データが、図2のRAM206内の後述するバッファ
Bに得られる。
【0052】さらに、S702 では、インタラプトタイマ
ー処理が行われる。ここでは、図7のインタラプト処理
が一定のサンプリング周期毎に実行されることを利用し
て、RAM206(図2)上の特には図示しない時間デ
ータの値がインクリメントされる。すなわち、この時間
データの値を見れば時間経過がわかる。このようにして
得られる時間データは、前述したように、図6のメイン
フローのタイマー処理S608 における時間制御に用いら
れる。
【0053】そして、S703 において、上記バッファ領
域の内容がD/A変換器部213のラッチ301(図
4)にラッチされる。次に、図8のフローチャートを用
いて、インタラプト処理のステップS701 で実行される
音源処理の動作を説明する。
【0054】まず、RAM206の波形データ加算用の
領域がクリアされる(S801 )。次に、発音チャネルの
1チャネル毎に音源処理が行われ(S802 〜S809 )、
最後に8チャネル目の音源処理が終了した時点で所定の
バッファ領域Bに8チャネル分が加算された波形データ
が得られる。これらの詳細な処理については後述する。
【0055】次に図9は、前述の図6、図7のフローチ
ャートの処理の関係を概念的に示した流れ図である。ま
ず、ある処理A(以下、B、C、・・・、Fも同じ)が
行われる(S901 )。この「処理」は、図6のメインフ
ローチャートの、例えば「機能キー処理」、や「鍵盤キ
ー処理」などに対応する。その後、インタラプト処理に
入り、音源処理が開始される(S902 ) 。これにより、
1サンプル分の8発音チャネルをまとめた楽音信号が得
られ、D/A変換器部213に出力される。その後、メ
インフローチャートの何らかの処理Bに戻る。以上のよ
うな動作が、8つの全ての発音チャネルに対する音源処
理が行われながら繰り返される(S904〜S911 )。そ
して、この繰り返し処理は、楽音の発音中続けられる。音源処理におけるデータ構成 次に、図7のS701 で実行される音源処理の具体例につ
いて説明する。本実施例では、マイクロコンピュータ1
01が、8発音チャネル分の音源処理を分担することは
前述した。この8チャネル分の音源処理用のデータは、
図10に示すようなデータフォーマットで、図2のRA
M206内の発音チャネル毎の領域に設定される。
【0056】また、このRAM206に、図11に示す
ような波形累算用のバッファBが確保されている。この
場合、図10の各発音チャネル領域には、ADPCM方
式に基づく音源処理用の各種制御データが格納される。
同図において、Aは、音源処理時に適応量子化差分デー
タ(後述する)が読み出される場合に指定されるアドレ
スを表し、AI が現在アドレスの整数部で、制御データ
兼波形用ROM212(図2)の適応量子化差分データ
が格納されているアドレスに直接対応する。また、AF
は現在アドレスの小数部で、上記ROM412から読み
出され逆量子化された差分値の補間に用いられる。つぎ
のPI はピッチデータの整数部、PF はピッチデータの
小数部を表す。例を示すと、PI =1、PF =0は原音
のピッチを、PI =2、PF =0は1オクターブ上のピ
ッチを、また、PI =0、PF =0.5は、1オクター
ブ下のピッチをそれぞれ表す。その他の種々の制御デー
タについては、後述のADPCM方式の説明の際に詳述
する。
【0057】本実施例では、図6のメインフローが実行
される場合に、音源処理に必要な制御データ、例えばピ
ッチデータ、エンベロープデータ等が、対応する発音チ
ャネル領域に設定される。そして、図7のインタラプト
処理での音源処理として実行される図8の各チャネル対
応の音源処理において、上記発音チャネル領域に設定さ
れている各種制御データが使用されながら、楽音の生成
処理が実行される。このようにメインフローのプログラ
ムと音源処理プログラムとの間のデータの通信は、RA
M206上の発音チャネル領域の制御データ(楽音生成
データ)を介して行われ、各プログラムにおける発音チ
ャネル領域に対するアクセスは相手のプログラムの実行
状態に一切関わりなく行えばよいため、実質的に両プロ
グラムを独立したモジュール構成とすることができ、簡
単かつ効率的なプログラム構造とすることができる。
【0058】さらに、制御データ兼波形用ROM212
には、特には図示しないデータフォーマットで適応量子
化差分データ(後述する)が記憶されると共に、図17
(a)、図18(b) のような伸張テーブルが記憶される。
このテーブルは、後述するように、制御データ兼波形量
ROM212から読み出された適応量子化差分データの
逆量子化を行うために使用されるデータである。このほ
か、同ROM212には、各音色に対応する楽音生成用
の制御データが記憶されており、演奏者により或る音色
が設定された場合に、同ROM212からRAM206
の前述の各発音チャネル領域に上記制御データが転送、
設定される。ADPCM方式による音源処理の原理 以下、このようなデータ構成を用いて実行される、図8
の1チャネル毎の各音源処理(S802 〜S809 のいずれ
か)であるADPCM方式の音源処理について説明す
る。なお、この音源処理は、マイクロコンピュータ10
1のコマンド解析部207が、制御用ROM201に格
納されている音源処理用のプログラムを解釈・実行する
ことにより実現される。以下、特に言及しないかぎり、
この前提のもとで処理が行われるものとする。
【0059】始めに、ADPCM方式の動作原理の概略
を説明する。まず、図12において、制御データ兼波形
用ROM212(図2)のアドレスAI に対応するサン
プルデータXP は、アドレスAI の1つ前の、特には図
示しないアドレス(AI −1)に対応するサンプルデー
タとの差分値から求めた値である。
【0060】制御データ兼波形用ROM212のアドレ
スAI には、つぎのサンプルデータとの差分値Dを求め
るための適応量子化差分データが書き込まれており、こ
のデータから差分値Dが求まる。従って、つぎのアドレ
スのサンプルデータはXP +Dで求まり、これが新たな
サンプルデータXP としておきかわる。
【0061】この場合、現在アドレスを同図に示すよう
にAF とすれば、現在アドレスAFに対応するサンプル
データは、XP +D×AF で求まる。このように、AD
PCM方式では、現在のアドレスと、つぎのアドレスに
対応するサンプルデータ間の差分値Dを求めるための適
応量子化差分データが制御データ兼波形用ROM212
(図2)から読み出され、それに基づいて差分値Dが計
算され、現在のサンプルデータに加算されて、つぎのサ
ンプルデータが求められることにより、順次波形データ
が作成される。
【0062】このようなADPCM方式を採用すると、
隣接する標本間の差分値が一般に小さい音声や楽音等の
ような波形を量子化する場合、通常のPCM方式に比較
して、少ないビット数で量子化を行えることは明らかで
ある。
【0063】さらに、ADPCM方式においては、以下
のような巧妙な適応量子化の原理が採用されている。
今、例えば楽音波形の差分値をメモリに記憶させる場
合、一定のS/Nを確保しながら最大±Eの振幅値(例
えば電圧値)をとり得る差分値を量子化するために、n
ビットの量子化ビット数が必要であるとする。これに対
して、メモリ容量の制約等から1サンプルデータあたり
nビットより少ないmビットのデータ量しか割り当てら
れない場合、差分値を1サンプルあたりなんとかmビッ
トで量子化しなければならない。
【0064】そのために通常は、±Eの振幅値の範囲を
m 分割することになるが、これでは量子化幅が広がっ
てS/Nが劣化してしまう。そこで、ADPCM方式で
は、楽音波形等の差分値をメモリに記憶等させる場合
に、一定のS/Nを確保できて、かつ、mビットで表現
できる振幅値の絶対値が|±E|より小さい|±e|の
範囲を定める。そして、振幅値の絶対値が|±e|より
大きな差分値は、1以上の正規化係数で割ってその範囲
内に入るように圧縮し、その後にmビットで量子化し、
メモリに記憶等させる。これにより、一定のS/Nを確
保したまま1サンプルデータあたりの量子化ビット数を
減らすことができ、メモリ容量を減らすことができる。
このような操作を適応量子化と呼ぶ。
【0065】ここで、上述のように適応量子化された差
分データから元の差分値を再現するためには、各サンプ
ルデータの適応量子化を行ったときの上記正規化係数も
いっしょに記憶させておき、適応量子化された差分デー
タをメモリから読み出すときに、それに対応する正規化
係数もいっしょに読みだし、適応量子化された差分デー
タに乗算して元の差分値を再生しなければならない。こ
の操作を逆量子化と呼ぶ。
【0066】しかし、1サンプルデータごとに上記正規
化係数を記憶させたのでは、結局、振幅値が±Eの範囲
の差分値をnビットで量子化したのと同程度の記憶容量
が必要になってしまい、データ圧縮は実現できない。
【0067】そこで、記憶容量の増加を抑えることので
きるADPCM方式による音源処理の実施例につき、以
下に説明する。ADPCM方式による音源処理の実施例 本実施例では、楽音波形の差分値の振幅の分布が予め楽
音波形に特有の分布となることを利用して、正規化係数
の代わりに、差分値の各振幅をどの値に圧縮するかとい
う図17(a) 、図18(a) で後述するような圧縮特性の
テーブルを定め、差分値をメモリ(図2の212)に記
憶させる際に、この圧縮テーブルで圧縮を行いながら適
応量子化して記憶させることとする。そして、音源処理
時には、その圧縮特性の逆特性である伸張特性で適応量
子化された差分値を伸張しながら逆量子化を行って元の
差分値を再生し、それを累算して楽音波形を再生すれば
よい。そのために、制御データ兼波形用ROM212
(図2)には、上記伸張特性で伸張を行うための図17
(b) 、図18(b) で後述するような伸張テーブルを記憶
させておく。
【0068】以上のADPCM方式の音源処理の実施例
の動作を、図13〜図15の動作フローチャートを用い
て説明する。フロー中の各変数は、図2のマイクロコン
ピュータ101内のRAM206上の対応する発音チャ
ネル領域に図10のデータフォーマットで確保されてい
る。
【0069】図13〜図15に基づく音源処理は、大き
く分けてエンベロープ処理(S1301〜S1307)と、波形
処理(S1308〜S1324)から構成される。まず、図12
及び図13のADPCM方式の原理に基づく波形処理の
前に、エンベロープ処理について説明する。
【0070】図16は、エンベロープ処理で生成される
エンベロープを示した図である。S 1301〜S1307の処理
により生成されるエンベロープ値Eは、後述するステッ
プS 1323において楽音波形出力Oに乗算されることによ
り、楽音波形の各サンプルデータにエンベロープが付加
される。
【0071】各楽音波形データに付加されるエンベロー
プは、時間的にいくつかのステップ(セグメント)から
構成されている。同図では、4ステップの例が示されて
いる。図中のΔxはエンベロープのサンプリング周期で
あり、Δyはエンベロープ値の変化幅である。
【0072】エンベロープ処理S1301〜S1307では、サ
ンプリングタイミング毎のエンベロープ値Eの計算と、
その値が現在のステップの目標エンベロープ値OEに達
したか否かのチェックが行われる。そして、EがOEに
達したときには、図6のメインフローにおけるS609
発音処理においてそれが検知されて、次のステップのエ
ンベロープのためのデータ(Δx、Δy及び目標エンベ
ロープ値OE)が、図2の制御データ兼波形用ROM2
12から読み出されて、RAM206(図2)上の対応
する発音チャネル領域(図10参照)にセットされてい
る。
【0073】具体的には、S1301で、エンベロープの演
算周期Δxと比較するためのタイマ値Δxt が、インタ
ラプトタイミング毎にインクリメントされる。次に、S
1302で、ΔxがΔxt と一致したか否かが判定される。
【0074】一致しなければエンベロープ処理は行われ
ない。S1302で、ΔxがΔxt と一致したと判定された
場合、S1303で、エンベロープ値の変化幅Δyの符号ビ
ットが判別される。
【0075】符号ビットが正でS1303の判定がYESの
場合、すなわち、エンベロープが上昇中の場合には、ス
テップS1304において、現在エンベロープ値Eに変化幅
Δyが加算される。
【0076】逆に、符号ビットが負でS1303の判定がN
Oの場合、すなわち、エンベロープが下降中の場合に
は、ステップS1305において、現在エンベロープ値Eか
ら変化幅Δyが減算される。
【0077】その後、S1306において、現在エンベロー
プ値Eが目標エンベロープ値OE以上となったか否かが
判別される。EがOE以上となった場合には、現在エン
ベロープ値Eが目標エンベロープ値OEで置き換えられ
る。
【0078】これが、前述の如く図6のメインフローに
おけるS609 の発音処理で検知されて、次のステップの
エンベロープのためのデータがRAM206上にセット
される。なお、発音処理で現在エンベロープ値Eとして
0が検出された場合には、発音の終了として処理され
る。
【0079】次に、図12のADPCM方式の原理に基
づく、S1308〜S1324の波形処理について説明する。制
御データ兼波形用ROM212(図2)上の適応量子化
差分データが記憶されているアドレスのうち、現在の処
理の対象とされるデータが記憶されているアドレスを図
10の(AI,F )とする。
【0080】まず、現在アドレス(AI,F )にピッチ
データ(PI,F )が加算される(S1308)。このピッ
チデータは、図1の鍵盤102において押鍵操作された
鍵番号に対応している。
【0081】そして、加算されたアドレスの整数部AI
に変化があるか否かが判定される(S1309)。判定がN
Oならば、図12のアドレスAI における差分値Dを用
いて、D×AF なる演算処理により、アドレスの小数部
F に対応する補間データ値Oが演算される
(S1321)。なお、差分値Dは、今回以前のインタラプ
トタイミングにおける音源処理により求まっている(後
述するS1314又S1317参照)。
【0082】次に、上記補間データ値Oにアドレスの整
数部AI に対応するサンプルデータXP が加算され、現
在アドレス(AI,F )に対応する新しいサンプルデー
タO(図12のXQ に対応)が得られる(S1322)。
【0083】この後、このサンプルデータに、前述のエ
ンベロープ処理で求まっているエンベロープ値Eが乗算
され(S1323)、得られたOの内容がRAM206(図
2)内の波形データバッフアB(図11参照)に累算さ
れる(S1324)。このバッファBには、他の発音チャネ
ルに対する音源処理(図8S802 〜S809 )で生成され
た楽音波形出力が累算され、最終的に8チャネル分が累
算されたデータとして、1サンプル分の楽音波形データ
が生成される。
【0084】その後、図6のメインフローに戻り、つぎ
のサンプリング周期でインタラプトが掛かって、図13
〜図15の音源処理の動作フローチャートがふたたび実
行されて、現在アドレス(AI,F )にピッチデータ
(PI,F )が加算される(S 1308)。
【0085】以上の動作が、アドレスの整数部AI に変
化が生ずるまで繰り返される。 この間、サンプルデータ
P 及び差分値Dは更新されず、補間データOのみがア
ドレスAF に応じて更新され、その都度新たなサンプル
データXQ が得られる。
【0086】 次に、S1308で現在アドレス(AI,F
にピッチデータ(PI,F )が加算された結果、現在ア
ドレスの整数部AI が変化したら(S1309)、アドレス
IがエンドアドレスAE に達しているか又は越えてい
るか否かが判定される(S13 10)。
【0087】判定がNOの場合、以下のS1311〜S1314
のループ処理により、現在アドレスの整数部AI に対応
するサンプルデータが計算される。すなわち、まず、旧
Iという変数(図10参照)には、現在アドレスの整
数部AI が変化する前の値が格納されている。これは、
後述するS1313又はS1320の処理の繰り返しにより実現
される。
【0088】この旧AI の値がS1313で順次インクリメ
ントされながら、S1314において、旧AI により指示さ
れる制御データ兼波形用ROM212(図2)上の適応
量子化差分データが読み出され、逆量子化の処理により
差分値Dが演算される。この逆量子化は、前述した如
く、上記適応量子化差分データを入力として、ROM2
12上に記憶されている図17(b) 、図18(b) の例の
ような特性を有する伸張テーブルで直接伸張されること
により実現され、これにより差分値Dが演算される。
【0089】楽音波形信号の場合、その波形特性は予め
わかっているため、生成される楽音の特性別に図17
(a) 又は図18(b) の例のような伸張テーブルを複数組
用意して制御データ兼波形用ROM212に記憶させる
ことにより、現在の適応量子化差分データの大きさに基
づいて、それを生成されるべき楽音に対応する伸張テー
ブルによって直接逆量子化できる。このため、通常の通
信音声信号のように長時間の平均的な特性しかわからな
いような信号に適用した場合に比較し、はるかに正確な
適応量子化を行うことが可能となり、高品質かつ高圧縮
率で楽音信号の記録・再生が可能となる。
【0090】この場合、演奏者による音色の設定等に対
応して、どの伸張テーブルで伸張を行うかを示すテーブ
ル選択データTBLが、例えば図6のメインフローの機
能キー処理S603 等でRAM206(図2)上の図10
に示される各発音チャネル領域に設定される。そして、
上記伸張処理時に、そのテーブル選択データTBLに対
応する伸張テーブルが制御データ兼波形用ROM212
から読み出される。
【0091】以上のようにして、ステップS1314で差分
値Dが演算される。そして、この差分値Dが、ステップ
1312において順次サンプルデータXP に累算される。
以上の動作が繰り返される結果、旧AI の値が変化後の
現在アドレスの整数部AI に等しくなった時点で、サン
プルデータXP の値は変化後の現在アドレスの整数部A
I に対応する値となる。
【0092】このようにして、現在アドレスの整数部A
I に対応するサンプルデータXP が求まると、S1311
判定がYESとなり、前述の補間値の演算処理
(S1321)に移る。
【0093】上述の音源処理が各インタラプトタイミン
グ毎に繰り返され、S1310の判定がYESに変化した
ら、つぎのループ再生のための処理に入る。ループ再生
とは、楽音信号の所定の波形領域を繰り返し連続して発
音させる場合に実行される処理であり、予め設定された
ループアドレスAL からエンドアドレスAE までが、演
奏者による消音指示が発生するまで繰り返し発音される
処理である。これにより、全ての楽音信号を記憶させな
くても長時間の発音が可能となる。
【0094】まず、エンドアドレスAE を越えた分のア
ドレス(AI −AE )がループアドレスAL に加算さ
れ、得られたアドレスが新たな現在アドレスの整数部A
I とされる(S1315)。
【0095】以下、ループアドレスAL からどれだけア
ドレスが進んだかによって、差分値Dが演算され累算さ
れる操作が何回か繰り返されることにより、新たな現在
アドレスの整数部AI に対応するサンプルデータXP
計算される。
【0096】すなわち、まず、初期設定としてサンプル
データXP が予め設定されているループアドレスAL
のサンプルデータXPL(図10参照)の値とされ、旧A
I がループアドレスAL の値とされる(S1316)。
【0097】AL 及びXPLは、予め制御データ兼波形用
ROM212からRAM206の各発音チャネル領域
(図10参照)に読み出されている。なお、これらは演
奏者が特には図示しない手段により設定できるようにし
てもよい。
【0098】続いて、以下のS1317〜S1320の処理が繰
り返される。すなわち、旧AI の値がS1320で順次イン
クリメントされながら、S1317において、旧AI により
指示される制御データ兼波形用ROM212(図2)上
の適応量子化差分データが読み出され、S1314の場合と
同様の逆量子化(伸張)処理によって差分値Dが演算さ
れる。
【0099】そして、この差分値Dが、S1319において
順次サンプルデータXP に累算される。以上の動作が繰
り返される結果、旧AI の値が変化後の現在アドレスの
整数部AI に等しくなった時点で、サンプルデータXP
の値はループ処理後の新たな現在アドレスの整数部AI
に対応する値となる。
【0100】このようにして、新たな現在アドレスの整
数部AI に対応するサンプルデータXP が求まると、S
1318の判定がYESとなり、前述の補間値の演算処理
(S13 21)に移る。
【0101】以上のようにして、1発音チャネル分のA
DPCM方式による波形データが生成される。ADPCM方式による楽音の適応量子化処理の実施例 次に、上述の音源処理を可能とするために、PCM楽音
信号に対して適応量子化(圧縮処理)をおこなって、適
応量子化差分データを求める処理の実施例について説明
する。
【0102】本実施例で採用する適応量子化処理では、
前述したように、PCM楽音信号の差分値の各振幅をど
の値に圧縮するかという圧縮テーブルを定め、上記差分
値をこの圧縮テーブルで圧縮しながら適応量子化して記
憶させる。そして、音源処理時には、その圧縮特性の逆
特性を有する伸張テーブルで適応量子化された差分値を
伸張しながら逆量子化が行って元の差分値を再生し、そ
れを累算して楽音波形を再生する。
【0103】そのため、楽音信号の特性毎、例えばフル
ート、シンバル、尺八等の楽音の種類毎に、例えば図1
7(a) 、図18(a) に示すような圧縮テーブルを定め
る。これらの図では、縦軸のd(ADR)がPCM楽音
信号の差分値であり、テーブル変換により求まるG{d
(ADR)}が適応量子化された差分データである。
【0104】そして、例えば図17(a) は、圧縮率が大
きい特性であり、例えばシンバルのように、PCM差分
信号が大きい値となり得るような楽音信号の圧縮に使用
される。これに対して、図18(a) は、圧縮率が小さい
特性であり、例えばフルートのように、PCM差分信号
があまり大きい値となり得ないような楽音信号の圧縮に
使用される。
【0105】また、上述の各圧縮テーブルに対応させ
て、図17(b) 、図18(b) のような伸張テーブルを定
める。この伸張テーブルは、図17(a) 、図18(a) 等
の圧縮テーブルの逆特性を有し、横軸の適応量子化差分
データrom(ADR)が伸張変換されて再生差分値J
{rom(ADR)}が得られる。この伸張テーブル
は、前述したように、図2の制御データ兼波形用ROM
212に記憶され、音源処理に使用されるが、以下の適
応量子化処理においても使用される。
【0106】以上のような圧縮テーブルを選択した後
に、図19の動作フローチャートで示される適応量子化
処理が実行され、適応量子化差分データが求められる。
なお、このフローチャートは、制御データ兼波形用RO
M212(図2)に記憶される適応量子化差分データを
求めるための処理であるため、楽器本体ではなく、特に
は図示しない汎用コンピュータ等の制御装置で実行さ
れ、また、上述の圧縮テーブル及び伸張テーブルも特に
は図示しないメモリ上に用意される。また、特には図示
しない波形メモリ上には、予め図20(a) に示されるよ
うなPCM楽音信号が選択的に記憶されているものとす
る。更に、説明の簡略化のため、ある楽器のPCM楽音
信号が選択されると、その信号は波形メモリ上のアドレ
ス0からFFF(16進表現)まで記憶されるものとす
る。更に、以下の説明で使用される記号値は、実際には
RAM上に設けられる変数の内容を示しているが、説明
では単に値を示す記号として説明する。
【0107】図19において、まず、上記メモリ上のP
CM楽音信号の格納アドレス値ADRが、その楽音信号
の先頭アドレス0に初期設定される(S1901)。そし
て、そのアドレス値ADRがステップS1910で+1ずつ
インクリメントされながら、最終アドレスFFFと判定
されるまで(S1911)、PCM楽音信号が順次読み出さ
れ、以下のステップS1902〜S1914の適応量子化処理が
実行される。
【0108】すなわち、アドレス値ADRに対応するア
ドレスから読み出されたPCM楽音信号値PCM(AD
R)が、入力値H(ADR)とされる(S1902)。次
に、この入力値H(ADR)の値から、前回までの累算
波高値R(ADR−1)が減算され、現在のPCM差分
値d(ADR)とされる(S1903)。累算波高値R(A
DR−1)については後述する。
【0109】次に、上記PCM差分値d(ADR)が、
図17(a) 、図18(a) 等から予め選択された圧縮テー
ブルによって圧縮変換され、その圧縮値G{d(AD
R)}が、制御データ兼波形用ROM212(図2)に
記憶される現在の適応量子化差分データrom(AD
R)とされる(S1904)。
【0110】続いて、上述の適応量子化差分データro
m(ADR)が、上記圧縮テーブルに対応する伸張テー
ブルによって伸張変換されて逆量子化され、その変換値
が再生差分値K(ADR)とされる(S1905)。そし
て、この値が前回までの累算波高値R(ADR−1)に
加算され、現在の累算波高値R(ADR)が求められる
(S1906)。
【0111】これらの処理は、上述の適応量子化差分デ
ータrom(ADR)に対して、音源処理と同様の再生
処理を行って、音源処理により得られるであろう現在の
累算波高値R(ADR)を求める処理である。そして、
この再生側に対応する累算波高値R(ADR)を使用し
て、前述のステップS1903で、次回のPCM差分値d
(ADR)を求めることにより、適応量子化を行ったこ
とによる誤差を吸収することができる。
【0112】上述のようにして求まった累算波高値R
(ADR)は、本実施例では音源処理において正負の符
号を含めて12ビットのデータとして得られる。そし
て、この絶対値が最大値である2047を越えているか
否かが判定される(S1907)。
【0113】越えていなければ、更に、現在のアドレス
ADRが、前述のループ再生(図14参照)のための予
め設定されたループアドレスAL に等しいか否かが判定
される(S1908)。
【0114】等しくなければ、アドレスADRを+1し
て(S1910)、ステップS1911の判定を介して、ステッ
プS2002に戻る。ここで、現在のアドレスADRが
ループアドレスAL に等しいと判定された場合(S1908
の判定がYES)、そのときの累算波高値R(ADR)
がループ波高値XPLとされて、ループアドレスAL と共
に図2の制御データ兼波形用ROM212に格納され
る。これらのデータは、前述した図14のループ再生処
理において使用される。
【0115】ステップS1907において、累算波高値R
(ADR)の絶対値が、12ビットの最大値である20
47を越えていると判定された場合、現在の適応量子化
差分データrom(ADR)の値が1つ下の量子化レベ
ルに下げられる。すなわち、rom(ADR)が正の値
ならマイナス1され(S1912→S1913)、負の値ならプ
ラス1される(S1912→S1914)。
【0116】累算波高値R(ADR)は、前述したよう
に、再生側(楽器側)の音源処理で得られるであろう実
際の楽音信号であるが、再生側で適応量子化差分データ
を逆量子化しながら累算していった場合、量子化誤差に
よって累算波高値の絶対値が再生側の規定ビット数の1
2ビットの最大値を越えてしまうことが起こり得る。そ
して、これが発生すると、符号の反転等が発生して大き
なノイズが発生してしまう。そのため、再生側で得られ
るであろう累算波高値R(ADR)の絶対値が上記最大
値を越えた場合には、それを演算するもととなった現在
の適応量子化差分データrom(ADR)の量子化レベ
ルを下げることにより、再生側での累算波高値の絶対値
が上記最大値を越えないように制御する。
【0117】以上の処理の後に、再び前述のステップS
1905及びS1906を演算し直して、ステップS1907での判
定がNOとなるまで、上述の処理が繰り返される。な
お、通常は、量子化レベルを1レベル下げるだけで累算
波高値R(ADR)の絶対値を上記最大値以下とするこ
とができる。
【0118】以上説明した適応量子化処理により、例え
ば図20(a) の12ビットのPCM楽音信号を、4ビッ
トのADPCM楽音信号に圧縮することができる。
【0119】
【発明の効果】本発明によれば、専用の音源回路は全く
必要とせずに、汎用のプロセッサ構成とすることが可能
となる。このため、楽音波形発生装置全体の回路規模を
大幅に小型化することができ、LSI化した場合等にお
いても通常のマイクロコンピュータの製造技術と同じで
よく、チップの歩留りも向上するため、製造コストを大
幅に低減させることが可能となる。なお、楽音信号出力
手段は簡単なラッチ回路で構成できるため、この部分を
付加したことによる製造コストの増加はほとんどない。
【0120】また、適応差分パルス符号変調方式の仕様
を若干変更したい場合、ポリフォニック数を変更したい
場合等において、プログラム記憶手段に記憶させる音源
処理プログラムを変更するだけで対処でき、新たな楽音
波形発生装置の開発コストを大幅に減少させることが可
能となり、ユーザに対しても例えばROMカード等によ
って新たな音源方式を提供することが可能となる。
【0121】この場合、演奏情操処理プログラムと音源
処理プログラムとの間のデータのリンクをデータ記憶手
段上の楽音生成データを介して行うというデータアーキ
テクチャと、演奏情報処理プログラムに対して所定時間
間隔で音源処理プログラムを実行するというプログラム
アーキテクチャを実現したことにより、両プロセッサ間
の同期をとるための処理が必要なくなり、プログラムを
大幅に簡略化することが可能となる。これにより、適応
差分パルス符号変調方式のように処理が複雑な音源処理
も、十分な余裕をもって実行することができる。
【0122】更に、適応差分パルス符号変調方式の音源
処理における処理条件による処理時間の変化を楽音信号
出力手段によって全て吸収することができるため、楽音
信号をD/A変換器等へ出力するための複雑なタイミン
グ制御プログラムが必要なくなるという効果も生まれ
る。
【0123】加えて、本発明では、ADPCM方式とし
て、適応量子化された差分データを複数種類の楽音特性
に応じた伸張テーブルによって直接伸張変換して逆量子
化された差分値を復号するようにすれば、予め特性がわ
かっている各楽音信号に対応した最適な効率で楽音信号
の再生が可能となる。
【0124】そして、本発明では、データ圧縮手段によ
り、上述のような適応量子化された楽音信号の差分デー
タを、楽音信号の種類に応じて最適の圧縮率となるよう
な圧縮テーブルを使用して楽音信号の差分値を適応量子
化することにより、得ることが可能となる。
【図面の簡単な説明】
【図1】本実施例の全体構成図である。
【図2】マイクロコンピュータの内部構成図である。
【図3】従来のD/A変換器部の構成図である。
【図4】本実施例によるD/A変換器部の構成図であ
る。
【図5】D/A変換におけるタイミングチャートであ
る。
【図6】本実施例の全体動作フローチャートである。
【図7】インタフェース処理の動作フローチャートであ
る。
【図8】音源処理の動作フローチャートである。
【図9】メイン動作フローチャートとインタラプト処理
との関係を示す概念図である。
【図10】RAM上の発音チャネル毎の記憶領域を示す
図である。
【図11】RAM上のバッフア領域を示す図である。
【図12】ADPCM方式において差分値Dと現在アド
レスAF を用いて補間値XQ を求める場合の原理説明図
である。
【図13】ADPCM方式による音源処理の動作フロー
チャート(その1)である。
【図14】ADPCM方式による音源処理の動作フロー
チャート(その2)である。
【図15】ADPCM方式による音源処理の実施例の動
作フローチャート(その3)である。
【図16】エンベロープ特性の説明図である。
【図17】圧縮テーブルと伸張テーブルの第1の例を示
した図である。
【図18】圧縮テーブルと伸張テーブルの第2の例を示
した図である。
【図19】適応量子化処理の動作フローチャートであ
る。
【図20】PCM楽音信号とADPCM楽音信号の例を
示した図である。
【符号の説明】
101 マイクロコンピュータ 102 鍵盤 103 機能キー 104 スイッチ部 105 ローパスフィルタ 106 アンプ 107 スピーカ 108 電源回路 201 制御用ROM 202 ROMアドレスデコーダ 203 インタラプト制御部 204 RAMアドレス制御部 205 ROMアドレス制御部 206 RAM 207 コマンド解析部 208 ALU部 209 乗算器 210 入力ポート 211 出力ポート 212 制御データ兼波形用ROM 213 D/A変換器部 301、401 ラッチ 303 D/A変換器
───────────────────────────────────────────────────── フロントページの続き (72)発明者 斯波 康祐 東京都西多摩郡羽村町栄町3丁目2番1号 カシオ計算機株式会社羽村技術センター 内 (72)発明者 太期 広一郎 東京都西多摩郡羽村町栄町3丁目2番1号 カシオ計算機株式会社羽村技術センター 内 (72)発明者 小倉 和夫 東京都西多摩郡羽村町栄町3丁目2番1号 カシオ計算機株式会社羽村技術センター 内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 演奏情報を処理するための演奏情報処理
    プログラムと、楽音信号を得るための適応差分パルス符
    号変調方式による音源処理プログラムを記憶するプログ
    ラム記憶手段と、 前記プログラム記憶手段のアドレスを制御するアドレス
    制御手段と、 前記適応差分パルス符号変調方式で楽音信号を生成する
    ために必要な楽音生成データを記憶するデータ記憶手段
    と、 適応量子化された楽音信号の差分データを伸張変換して
    逆量子化された楽音信号の差分値を復号するための変換
    テーブルであって、生成される複数種類の楽音信号の各
    特性に応じた複数の伸張テーブルを記憶する伸張テーブ
    ル記憶手段と、 演算処理手段と、 前記アドレス制御手段、前記データ記憶手段及び前記演
    算処理手段を制御しながら、前記プログラム記憶手段に
    記憶された前記演奏情報処理プログラム又は前記音源処
    理プログラムを実行する手段であり、通常時は前記演奏
    情報処理プログラムを実行して前記データ記憶手段上の
    楽音生成データを制御し、所定時間間隔で前記音源処理
    プログラムに制御を移してそれを実行し、その終了後に
    再び前記演奏情報処理プログラムを実行する手段であ
    り、前記音源処理プログラムの実行時に、前記データ記
    憶手段上の楽音生成データに基づいて前記適応差分パル
    ス符号変調方式で楽音信号を生成し、その場合に、前記
    データ記憶手段から読み出した各処理タイミング毎の適
    応量子化された楽音信号の差分データを、前記伸張テー
    ブル記憶手段に記憶された生成されるべき楽音信号の種
    類に応じた伸張テーブルで伸張変換して逆量子化された
    楽音信号の差分値を復号し、それを累算することにより
    楽音信号を生成するプログラム実行手段と、 前記プログラム実行手段が前記音源処理プログラムを実
    行して得られた前記楽音信号を保持し、該保持された楽
    音信号を一定の出力時間間隔で出力する楽音信号出力手
    段と、 を有することを特徴とする楽音波形発生装置。
  2. 【請求項2】 適応量子化された楽音信号の差分データ
    を生成するための楽音波形圧縮装置において、 楽音信号の差分値を圧縮変換して適応量子化された楽音
    信号の差分データを生成するための変換テーブルであっ
    て、適応量子化すべき楽音信号の種類に応じて最適の圧
    縮率となるような圧縮テーブルを使用して、適応量子化
    を行うデータ圧縮手段を有する、ことを特徴とする楽音
    波形圧縮装置。
JP6328539A 1994-12-28 1994-12-28 楽音波形発生装置及び楽音波形圧縮装置 Pending JPH07219552A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6328539A JPH07219552A (ja) 1994-12-28 1994-12-28 楽音波形発生装置及び楽音波形圧縮装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6328539A JPH07219552A (ja) 1994-12-28 1994-12-28 楽音波形発生装置及び楽音波形圧縮装置

Publications (1)

Publication Number Publication Date
JPH07219552A true JPH07219552A (ja) 1995-08-18

Family

ID=18211418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6328539A Pending JPH07219552A (ja) 1994-12-28 1994-12-28 楽音波形発生装置及び楽音波形圧縮装置

Country Status (1)

Country Link
JP (1) JPH07219552A (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59131226A (ja) * 1983-01-17 1984-07-28 Oki Electric Ind Co Ltd 適応形量子化器
JPS6129232A (ja) * 1984-07-20 1986-02-10 Hitachi Ltd デ−タ暗号化伝送方式
JPS62242996A (ja) * 1986-04-15 1987-10-23 ヤマハ株式会社 楽音信号発生装置
JPH02179695A (ja) * 1988-12-29 1990-07-12 Casio Comput Co Ltd 処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59131226A (ja) * 1983-01-17 1984-07-28 Oki Electric Ind Co Ltd 適応形量子化器
JPS6129232A (ja) * 1984-07-20 1986-02-10 Hitachi Ltd デ−タ暗号化伝送方式
JPS62242996A (ja) * 1986-04-15 1987-10-23 ヤマハ株式会社 楽音信号発生装置
JPH02179695A (ja) * 1988-12-29 1990-07-12 Casio Comput Co Ltd 処理装置

Similar Documents

Publication Publication Date Title
US7521621B2 (en) Compressed data structure and apparatus and method related thereto
US5744739A (en) Wavetable synthesizer and operating method using a variable sampling rate approximation
US20020178006A1 (en) Waveform forming device and method
US6509519B2 (en) Method and apparatus for generating musical tone waveforms by user input of sample waveform frequency
US4700393A (en) Speech synthesizer with variable speed of speech
US9040800B2 (en) Musical tone signal generating apparatus
JPS616689A (ja) 電子楽器
US20050188819A1 (en) Music synthesis system
JP3006095B2 (ja) 楽音波形発生装置
JPH08160961A (ja) 音源装置
JP3081530B2 (ja) 電子楽器
JPH07219552A (ja) 楽音波形発生装置及び楽音波形圧縮装置
JP3116381B2 (ja) 楽音波形圧縮方法
JP2869574B2 (ja) 楽音波形発生装置
JP3912304B2 (ja) 圧縮データ構造、波形生成装置および波形記憶装置
JP4007194B2 (ja) 音源装置
JP4107085B2 (ja) 波形データ圧縮方法
JP3285137B2 (ja) 楽音発生装置および楽音発生方法、並びに該方法に係るプログラムを記憶した記憶媒体
JP3832382B2 (ja) 楽音生成装置及びプログラム
JP3543203B2 (ja) 電子楽器
JP2709965B2 (ja) Bgm再生に用いる音楽伝送再生システム
JP2900076B2 (ja) 波形生成装置
JP2900077B2 (ja) 波形記録・再生法及び波形再生装置
JP2900078B2 (ja) 波形記録・再生法及び波形再生装置
JP3651675B2 (ja) 電子楽器

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19980217