JP3285137B2 - 楽音発生装置および楽音発生方法、並びに該方法に係るプログラムを記憶した記憶媒体 - Google Patents

楽音発生装置および楽音発生方法、並びに該方法に係るプログラムを記憶した記憶媒体

Info

Publication number
JP3285137B2
JP3285137B2 JP22303697A JP22303697A JP3285137B2 JP 3285137 B2 JP3285137 B2 JP 3285137B2 JP 22303697 A JP22303697 A JP 22303697A JP 22303697 A JP22303697 A JP 22303697A JP 3285137 B2 JP3285137 B2 JP 3285137B2
Authority
JP
Japan
Prior art keywords
channels
parallel
processing
waveform
generating
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 - Fee Related
Application number
JP22303697A
Other languages
English (en)
Other versions
JPH10105175A (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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP22303697A priority Critical patent/JP3285137B2/ja
Publication of JPH10105175A publication Critical patent/JPH10105175A/ja
Application granted granted Critical
Publication of JP3285137B2 publication Critical patent/JP3285137B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、演算処理装置上
で所定の楽音生成ソフトウェアを実行することにより楽
音を生成する楽音発生装置および楽音発生方法、並びに
該方法に係るプログラムを記憶した記憶媒体に関する。
【0002】
【従来の技術】従来より、CPUなどの汎用の演算処理
装置上で所定の楽音生成ソフトウェアを実行することに
より楽音を生成する楽音発生装置が知られている。これ
は、いわゆるソフトウェア音源あるいはソフト音源と呼
ばれる方式のものである。近年では、ソフト音源におい
ても高機能化が求められ、処理をより高速化したいとい
う要求がある。
【0003】一方、近年では、1命令で複数の演算を並
列に実行可能な命令を備えたCPUが提案されている。
例えば、Intel社による「MMX」と呼ばれる拡張
命令セットを備えたCPUなどである。
【0004】
【発明が解決しようとする課題】従来の並列化の考え方
として、画像処理に並列処理を適用する場合は、隣り合
った画素データ(8ビット)同士をグループ化して複数
画素に対する処理を並列化していた。一方、音声処理や
楽音生成処理を並列処理で行なう場合、時間的に連続し
た複数サンプル(16ビット)をグループ化し、振幅制
御やフィルタ処理などの処理を並列化していた。
【0005】また、上述の1命令で複数の演算を並列に
実行可能な拡張命令セットを備えたCPUを用いること
も考えられる。例えば、図5はソフト音源のエフェクト
処理のアルゴリズムを示すブロック図であり、図6
(a)は図5の回路APnの詳細図、図6(b)は図5
の回路CFnの詳細図である。図6では、2つの入力デ
ータにそれぞれ所定係数を乗算して加算する部分があ
る。例えば、図6(a)の(m4,m5,a5)および
(m6,m7,a6)や、図6(b)の(m9,m1
0,a7)の部分である。これらの部分の演算は、2つ
の入力データにそれぞれ所定係数を乗算して加算する処
理を1命令で実行する拡張命令を備えたCPUを用いれ
ば、1命令で実行することができ、高速な処理が可能で
ある。しかし、このような高速化は、基本的に1つの処
理アルゴリズム内の計算を工夫して行なうものであるこ
とには変わりがないので、完全に並列処理化できない部
分が生じ、並列化の効果を最大限に利用できなかった。
【0006】また、楽音波形の生成処理では、アドレス
生成、エンベロープ発生、フィルタ処理などにおいて、
過去の波形サンプルを用いて現在の波形サンプルを求め
る、という処理が含まれる。これは、アドレス発生では
「1サンプリング周期前のアドレスに基づいて、現在の
アドレスを生成する処理」であり、エンベロープ発生で
は「直前のエンベロープ値に基づいて現在のエンベロー
プ値を生成する処理」で有り、フィルタ処理では「過去
の波形サンプルと、現在の入力波形サンプルの値に基づ
いてフィルタ演算を行ない、出力波形サンプルを生成出
力する処理」である。このように過去の波形サンプルを
用いて現在の波形サンプルを求めるため、時系列的に隣
り合った波形サンプルを求める処理を並列化するのは困
難であった。
【0007】この発明は、1命令で複数の演算を並列に
実行可能なCPUを用いて実現するソフト音源におい
て、より高速に波形生成演算を行なうことができるよう
にした楽音発生装置および楽音発生方法、並びに該方法
に係るプログラムを記憶した記憶媒体を提供することを
目的とする。
【0008】
【課題を解決するための手段】この目的を達成するた
め、請求項1に係る発明は、汎用の演算処理装置上で所
定の楽音生成ソフトウェアを実行することにより楽音波
形を生成する楽音発生装置であって、前記演算処理装置
を、1命令で複数の演算を並列に実行可能な拡張命令セ
ットを備えたものとするとともに、該拡張命令を用い
て、複数チャンネルの波形生成をnチャンネル(nは2
以上の整数)分ずつ並列的に行ない、生成された前記複
数チャンネル分の波形データを混合し、混合された波形
データに施すエフェクト処理のアルゴリズム内の並列処
理可能な部分の処理を並列的に行なうことを特徴とす
る。
【0009】請求項2に係る発明は、汎用の演算処理装
置上で所定の楽音生成ソフトウェアを実行することによ
り楽音波形を生成する楽音発生方法であって、前記演算
処理装置を、1命令で複数の演算を並列に実行可能な拡
張命令セットを備えたものとするとともに、該拡張命令
を用いて、複数チャンネルの波形生成をnチャンネル
(nは2以上の整数)分ずつ並列的に行ない、生成され
た前記複数チャンネル分の波形データを混合し、混合さ
れた波形データに施すエフェクト処理のアルゴリズム内
の並列処理可能な部分の処理を並列的に行なうことを特
徴とする。
【0010】請求項3に係る発明は、複数チャンネル分
の楽音を発生する楽音発生方法であって、演奏情報を供
給するステップと、所定時間間隔でタイミング信号を発
生するステップと、前記タイミング信号の発生ごとに、
前記演奏情報に応じた複数チャンネル分の波形データを
生成するステップであって、該生成ステップでは、複数
チャンネル分の処理を並列にnチャンネル(nは2以上
の整数)分ずつ並列に行ない、連続する複数サンプル分
の波形データを生成して出力するものと、生成された波
形データを、サンプリング周期ごとに1サンプルずつD
/A変換器に供給し、アナログ波形に変換するステップ
とを含むことを特徴とする。
【0011】請求項4に係る発明は、汎用の演算処理装
置上で所定の楽音生成ソフトウェアを実行することによ
り楽音波形を生成する楽音発生方法であって、前記演算
処理装置を、1命令で複数の演算を並列に実行可能な拡
張命令セットを備えたものとするとともに、該拡張命令
を用いて、複数チャンネルの波形生成処理のうち、第1
の処理をnチャンネル(nは2以上の整数)分ずつ並列
的に行ない、第2の処理をmチャンネル(mはn以外の
2以上の整数)分ずつ並列的に行ない、最終的に生成さ
れた前記複数チャンネル分の波形データを混合し、さら
に混合された波形データに施すエフェクト処理のアルゴ
リズム内の並列処理可能な部分の処理を並列的に行な
い、効果の付与された波形データを出力することを特徴
とする。第1の処理とは例えば波形データのアドレス生
成などであり、第2の処理とは例えば音量制御処理など
である。
【0012】請求項5に係る発明は、汎用の演算処理装
置上で所定の楽音生成ソフトウェアを実行することによ
り楽音波形を生成する楽音発生方法に係るプログラムを
記憶した記憶媒体であって、前記演算処理装置を、1命
令で複数の演算を並列に実行可能な拡張命令セットを備
えたものとするとともに、前記プログラムは、該拡張命
令を用いて、複数チャンネルの波形生成をnチャンネル
(nは2以上の整数)分ずつ並列的に行ない、生成され
た前記複数チャンネル分の波形データを混合し、混合さ
れた波形データに施すエフェクト処理のアルゴリズム内
の並列処理可能な部分の処理を並列的に行なうものであ
ることを特徴とする。
【0013】請求項6に係る発明は、複数チャンネル分
の楽音を発生する楽音発生方法に係るプログラムを記憶
した記憶媒体であって、該プログラムは、演奏情報を供
給するステップと、所定時間間隔でタイミング信号を発
生するステップと、前記タイミング信号の発生ごとに、
前記演奏情報に応じた複数チャンネル分の波形データを
生成するステップであって、該生成ステップでは、複数
チャンネル分の処理を並列にnチャンネル(nは2以上
の整数)分ずつ並列に行ない、連続する複数サンプル分
の波形データを生成して出力するものと、生成された波
形データを、サンプリング周期ごとに1サンプルずつD
/A変換器に供給し、アナログ波形に変換するステップ
とを含むことを特徴とする。
【0014】請求項7に係る発明は、汎用の演算処理装
置上で所定の楽音生成ソフトウェアを実行することによ
り楽音波形を生成する楽音発生方法に係るプログラムを
記憶した記憶媒体であって、前記演算処理装置を、1命
令で複数の演算を並列に実行可能な拡張命令セットを備
えたものとするとともに、前記プログラムは、該拡張命
令を用いて、複数チャンネルの波形生成処理のうち、第
1の処理をnチャンネル(nは2以上の整数)分ずつ並
列的に行ない、第2の処理をmチャンネル(mはn以外
の2以上の整数)分ずつ並列的に行ない、最終的に生成
された前記複数チャンネル分の波形データを混合し、さ
らに混合された波形データに施すエフェクト処理のアル
ゴリズム内の並列処理可能な部分の処理を並列的に行な
い、効果の付与された波形データを出力することを特徴
とする。
【0015】
【発明の実施の形態】以下、図面を用いてこの発明の実
施の形態を説明する。
【0016】図1は、この発明に係る楽音発生装置およ
び楽音発生方法を適用した電子楽器のブロック構成図を
示す。この電子楽器は、中央処理装置(CPU)10
1、リードオンリメモリ(ROM)102、ランダムア
クセスメモリ(RAM)103、ドライブ装置104、
タイマ106、ネットワーク入出力(I/O)インタフ
ェース107、キーボード108、ディスプレイ10
9、ハードディスク110、サンプリングクロック(F
s)発生器111、サウンドI/O112、DMA(ダ
イレクトメモリアクセス)コントローラ114、サウン
ドシステム115、およびバスライン116を備えてい
る。
【0017】CPU101は、この電子楽器全体の動作
を制御する。CPU101は、1命令で複数の演算を並
列に実行可能な拡張命令セットを備えたものである。具
体的には、CPU内部の64ビット幅のレジスタで扱わ
れるデータを16ビット幅のデータ4個であるものと
し、この16ビット幅のデータ4個を同時に扱う命令、
および64ビット幅のデータを32ビット幅のデータ2
個であるものとし、この32ビット幅のデータ2個を同
時に扱う命令を備えたものである。
【0018】ROM102は、CPU101が実行する
制御プログラム(ソフトエフェクタを含むソフト音源の
プログラムなど)や各種の定数データなどを格納する。
またROM102上には、CPU101がソフト音源の
プログラムを実行して楽音生成するときに使用する波形
データ(所定のレートでサンプリングされた波形サンプ
ルデータ)が用意されている。なお、制御プログラムや
各種定数データなど、および波形データは、ROM10
2でなく、RAM103上に用意したものを使用するこ
ともできる。この場合、制御プログラムなどのデータ
は、CD−ROMなどの外部記憶媒体105やネットワ
ークI/O107から供給され、RAM103上に展開
されたり、ハードディスク110に保存される。RAM
103には、各種のレジスタ、波形生成用バッファ、再
生バッファなどのワーク領域が設けられる。ドライブ装
置104は、FD(フロッピーディスク)やフラッシュ
カードなどの外部記憶媒体105との間で各種データを
入出力するためのものである。ハードディスク110
は、各種データの記録用に用いる記憶装置である。
【0019】タイマ106は、CPU101に対して所
定間隔でタイマ割り込みを発生させるためのタイマクロ
ック信号を発生する。ネットワークI/Oインタフェー
ス107は、外部の公衆回線やLAN(ローカルエリア
ネットワーク)を介して各種データを授受するためのイ
ンタフェースである。キーボード108は、各種の情報
を入力するために用いるタイピングキーボードである。
ディスプレイ109は、各種の情報を表示するディスプ
レイである。ユーザは、キーボード108およびディス
プレイ109を用いてこの電子楽器に対する各種の設定
操作および指示操作を行なうことができる。
【0020】Fs発生器111は、サウンドI/O11
2に与える周波数Fsのサンプリングクロックを発生す
る。サウンドI/O112は、コーデック(CODE
C)と呼ばれるLSIからなる。サウンドI/O112
は、アナログディジタル(A/D)変換機能およびディ
ジタルアナログ(D/A)変換機能を備えており、A/
D入力端子には外部入力113からのアナログ楽音信号
が入力し、D/A出力端子にはサウンドシステム115
が接続される。サウンドI/O112は、内部に2つの
FIFO(First In First Out)方式のスタック領域を
備えている。一つはA/D入力端子経由で入力されたデ
ィジタル波形データを保持する入力FIFOであり、も
う一つはD/A出力端子経由で出力するディジタル波形
データを保持する出力FIFOである。
【0021】外部入力113からサウンドI/O112
のA/D入力端子に入力したアナログ楽音信号は、周波
数Fsのサンプリングクロックに応じてA/D変換さ
れ、(必要に応じてADPCM方式などで圧縮してもよ
い)入力FIFOへ書き込まれる。入力FIFOに波形
データが入っていると、サウンドI/O112は、DM
Aコントローラ114に対してその入力波形データを処
理する要求を出す。DMAコントローラ114は、その
処理要求に応じて、入力FIFOのデータをRAM10
3上の所定の領域(あらかじめ確保されている録音バッ
ファ領域)に転送する。このDMAコントローラ114
によるデータの転送は、DMAコントローラ114がサ
ンプリングクロックFsごとにCPU101に割り込み
(ハードウェア割り込み)をかけバスライン116を確
保して行なう。CPU101は、DMAコントローラ1
14によるバスライン116の確保を意識することはな
い。
【0022】一方、サウンドI/O112内の出力FI
FOに波形データが存在する場合、その出力FIFO内
の波形データは、サンプリングクロックFsごとにD/
A変換され、D/A出力端子経由でサウンドシステム1
15に送出され放音される。出力FIFOの波形データ
が出力されると、出力FIFOに空きができるので、サ
ウンドI/O112は、DMAコントローラ114に波
形データ取得の要求を出す。CPU101は、あらかじ
め出力したい波形データを生成してRAM103上の再
生バッファ(後述するPB0,PB1)に置いておき、
DMAコントローラ114にはその波形の再生要求を出
しておく。DMAコントローラ114は、サンプリング
クロックFsごとにCPU101に割り込みをかけてバ
スライン116を確保し、RAM103上の再生バッフ
ァの波形データをサウンドI/O112の出力FIFO
に転送する。このDMAコントローラ114による波形
データの転送は、CPU101が意識することはない。
出力FIFOに書き込まれた波形データは、上述したよ
うにサンプリングクロックFsごとにサウンドシステム
115へと送られて放音される。
【0023】ソフト音源はCPU101がROM102
の楽音生成ソフトウェアを実行することにより実現され
るが、該ソフト音源を利用する側から見ると、楽音生成
ソフトウェアをドライバとして登録しておき、該ドライ
バを起動した後、所定のソフト音源に係るAPI(Appl
ication Program Interface)に各種演奏入力を表わす
MIDI(Musical Instruments digital Interface)
イベントメッセージを出力して楽音生成に関する各種の
処理をソフト音源に行なせる、という手順になる。CP
U101は汎用の演算処理装置であり、該APIに対し
て演奏入力を与える処理、すなわちMIDIイベントを
該APIに出力する処理など、ソフト音源とは別の処理
も行なっている。CPU101が該APIに対して演奏
入力を与える処理とは、例えば、不図示の演奏操作子
(鍵盤など)の操作に応じてリアルタイムで発生する演
奏入力を該APIに出力したり、ネットワークI/O1
07を介してリアルタイムで入力したMIDIイベント
に応じた演奏入力を該APIに出力したり、RAM10
3上にMIDIイベントのシーケンスを用意しておき
(外部記憶媒体105やハードディスク110上にある
データを用いてもよいし、ネットワークI/O107を
介して入力したデータを用いてもよい)これを順次演奏
入力として該APIに出力したり、といった処理であ
る。
【0024】図2を参照して、ソフト音源の楽音生成原
理を説明する。図2において、S1〜S4の各区間は、
所定のサンプル数(2×128サンプル)分の再生を行
なう単位となる時間フレームを示す。「演奏入力」のラ
イン上に記載してある下向き矢印は、その時刻で演奏入
力があったことを示す。演奏入力とは、上述のソフト音
源に係るAPIに、ノートオン、ノートオフ、アフタタ
ッチ、プログラムチェンジなどの各種のMIDIイベン
トが入力されることである。図2の例では、フレームS
1で3つ、S2で2つ、S3で1つの演奏入力がそれぞ
れあったということである。ソフト音源は、複数チャン
ネル分の複数楽音を同時生成可能であり、RAM103
上に用意される複数チャンネル分のソフト音源レジスタ
で各楽音を制御するようになっている。ソフト音源は、
演奏入力としてノートオンイベントを入力したときは、
ソフト音源レジスタに関して発音割り当てを行ない、割
り当てたチャンネルに対応するソフト音源レジスタに該
チャンネルの発音を制御する各種のデータとノートオン
を書き込む。演奏入力としてノートオフイベントを入力
したときは、該当するチャンネルに対応するソフト音源
レジスタにノートオフを書き込む。ノートオンやノート
オフ以外の演奏入力(例えばアフタタッチの変更など)
についても同様に、該当するチャンネルに対応するソフ
ト音源レジスタに演奏入力に応じたデータを書き込む。
ある時間フレームでソフト音源レジスタに書込まれたデ
ータは、データの種類にかかわりなく、必ず次の時間フ
レームから波形生成演算に使用される。
【0025】図2の「CPUによる波形生成」の矩形2
01〜204は、CPU101により効果付与も含めた
波形生成演算を実行する区間を示す。この波形生成演算
では、ソフト音源レジスタに設定された複数チャンネル
分のデータに基づいて複数チャンネル分の楽音波形生成
を行なう。演奏入力に応じてソフト音源レジスタが書き
換えられ、一方、演奏入力のない期間は、ソフト音源レ
ジスタは過去に書込まれたデータを保持している。した
がって、各波形生成の区間201〜204では、直前あ
るいはさらに前のフレームで検出した演奏入力に応じた
波形生成演算を実行することになる。フレームが切り替
わるタイミングでフレーム割り込みが発生するので、各
フレームでの波形生成演算(後述の図7(a))はこの
フレーム割り込みを契機として実行される。
【0026】例えば、フレームS1で検出された3つの
演奏入力に対しては、次のフレームS2の先頭のフレー
ム割り込みを契機として区間202で波形生成演算を行
なう。CPU101は、この波形生成演算により、RA
M103上の波形生成用バッファに波形データ(複数チ
ャンネル分を累算したものであって、かつ効果も付与し
たもの)を生成する。生成した波形データはRAM10
3上の再生バッファ領域に書き込む。この再生バッファ
領域としては、連続したアドレスに用意された同じ大き
さの2つのバッファ領域PB0とPB1(2つをまとめ
てダブルバッファと呼ぶ)を用いる。再生バッファ領域
への書き込みは、後述する図8(a)のステップ807
で行なう。また、フレームごとにバッファPB0とPB
1とを交互に用いるようにする。例えば、フレームS1
の区間201で生成した波形データはRAM103上の
再生バッファ領域PB0に書き込み、フレームS2の区
間202で生成した波形データは再生バッファ領域PB
1に書き込み、フレームS3の区間203で生成した波
形データは再生バッファ領域PB0に書き込み、フレー
ムS4の区間204で生成した波形データは再生バッフ
ァ領域PB1に書き込み、…というように、交互にPB
0とPB1に波形データを書き込む。
【0027】再生バッファPB0およびPB1に書き込
んだ波形データの読み出し再生は、図2の「読み出し再
生」に示すように、フレーム割り込みを契機として、波
形生成したフレームの次のフレームの区間で行なう。す
なわち、フレームS1で生成しPB0に書き込んだ波形
データは次のフレームS2で、フレームS2で生成しP
B1に書き込んだ波形データは次のフレームS3で、フ
レームS3で生成しPB0に書き込んだ波形データは次
のフレームS4で、…というように、PB0とPB1の
波形データを交互に読み出し再生していく。読み出し再
生は、DMAコントローラ114が、サンプリングクロ
ックFsごとにCPU101に割り込みをかけて、RA
M103上の再生バッファ(PB0またはPB1の指定
された方)の波形データをサウンドI/O112の出力
FIFOに転送することにより行なう。フレーム割り込
みは、再生バッファPB0およびPB1をループ読み出
しする際のリターン発生時(すなわちPB1の再生終了
時)と、ループ読み出しの中間点通過時(すなわちPB
0の再生終了時)に発生する。フレーム割り込みは、サ
ウンドI/O112が発生するハードウェア割り込みで
あり、1フレーム再生完了の時点を示す。すなわち、サ
ウンドI/O112は、転送サンプル数(DMAC11
4によりPB0,PB1からサウンドI/Oの出力FI
FOに転送したサンプル数)をカウントし、再生バッフ
ァのサイズ(PB0,PB1を合せたサイズ)の半分の
数のサンプルの転送ごとにフレーム割り込みを発生す
る。
【0028】ソフト音源は、複数チャンネル分の複数楽
音を同時生成可能である。特にこの実施の形態では、ソ
フト音源を実現するCPU101は1命令で複数のデー
タに対する同じ処理を行なう機能を備えたものであるの
で、波形生成すべき複数チャンネルの処理をこの機能を
用いて並列に実行することにより、処理の高速化を図っ
ている。具体的には、1チャンネル分の波形生成処理
は、アドレス生成処理、波形サンプル読み出し処理、補
間処理、フィルタ処理、および音量制御&累算処理など
から構成されるが、これらの処理を複数チャンネルに関
して同時に行なうようにしている。
【0029】図3は、4チャンネル分のデータのパック
化の様子を示す図である。上記CPU101の拡張命令
セットによれば、16ビット×4個のデータを集めて
(パックして)64ビットレジスタにセットし、他の6
4ビットレジスタの16ビット×4個のデータと、乗
算、加算、減算などの演算を同時に行なうことができ
る。図3は、乗算の例である。このようにして、複数チ
ャンネルの処理を4チャンネルごとに分けて、それら4
チャンネル分の処理を同時に行なう。同時に実行する4
チャンネルは、n=1,2,3,…として、{4×(n
−1)+1}から{4×n}の4チャンネルである。
【0030】図4は、各発音チャンネルの音色フィルタ
処理のアルゴリズム例を示す。この音色フィルタ処理
は、図4から分かるように、ほぼ加算と乗算から構成さ
れている。したがって、16ビット×4個のデータを並
列に処理する上記拡張命令を用いれば4チャンネル分の
音色フィルタ処理が並列に同時に実行できる。遅延回路
d1,d2は、16ビット×4個の64ビットデータを
所定のアドレスに書き込んでおき、後で読み出すように
すればよい。
【0031】図5および図6は、エフェクト処理のアル
ゴリズム例を示す。エフェクト処理は、チャンネルごと
に行なうのではなく、各チャンネルで波形生成してチャ
ンネル累算した結果を入力して(図5では、XL,X
R,XXの3系統を入力)処理するものであるから、1
つの処理アルゴリズムとして図5および図6の処理が実
行される。したがって、このようなエフェクト処理で
は、従来例で説明したのと同様に当該処理アルゴリズム
内の計算中で並列処理可能な部分を並列化することによ
り高速化を図っている。例えば、図6(a)の(m4,
m5,a5)および(m6,m7,a6)や、図6
(b)の(m9,m10,a7)の部分を、1命令で行
なうということである。
【0032】なお、図5および図6のアルゴリズムの代
わりに、ステレオの左右の出力に同じ処理を施すような
エフェクト処理を使う場合は、32ビット×2個のデー
タを同時処理する拡張命令を用いてステレオの左右の出
力のエフェクト処理を同時に行なうようにできる。
【0033】次に、図7(a)(b)および図8(a)
(b)のフローチャートを参照して、上述の電子楽器の
CPU101の処理手順を説明する。
【0034】図7(a)は、CPU101の制御プログ
ラムのうちソフト音源に係るメインルーチンの処理手順
を示す。このメインルーチンは、ソフト音源のドライバ
としてOS(Operating System)に登録されているもの
である。ソフト音源を使用した楽音生成を行なう際に
は、まずこのドライバ、すなわち図7(a)の処理を起
動し、ソフト音源に係るAPIを有効にしておく。図7
(a)において、ステップ701で各種の初期設定を行
なう。この初期設定で、再生バッファPB0,PB1を
0クリアするとともに、サウンドI/O112とDMA
C114に指示して図1および図2で説明した再生バッ
ファPB0とPB1とを交互に読み出し再生する処理を
開始しておく。次にステップ702で何らかの起動要因
があるか否かチェックし、ステップ703で起動要因が
あればステップ704に進む。起動要因がなければ再び
702に戻る。ステップ702〜704の起動要因の受
け付けが、ソフト音源に係るAPIに対する指示受け付
けに相当する。
【0035】ステップ704では発生している起動要因
の種類を判別しそれぞれの処理に分岐する。起動要因が
MIDIイベントの入力であったときは、ステップ70
5のMIDI処理を行ない、その後再びステップ702
に戻る。このMIDIイベントの入力とステップ705
のMIDI処理が、図2の演奏入力の受け付けに相当す
る。ステップ704で起動要因がフレーム割り込み(1
フレーム再生完了)であるときは、ステップ706の波
形生成処理を行ない、その後再びステップ702に戻
る。フレーム割り込みは、サウンドI/O112が1フ
レーム再生完了するごとに発生するハードウェア割り込
みである。ステップ706の波形生成処理が、図2の2
01〜204に示した波形生成演算を行なう処理であ
る。この波形生成処理では、一度に、1フレーム分の波
形データ(再生バッファPB0,PB1を合せた大きさ
の半分に相当する数の波形サンプル)を生成し、再生バ
ッファPB0またはPB1に交互に書き込む。ステップ
704で起動要因がその他の要求であるときは、ステッ
プ707で当該起動要因に応じた処理を行ない、その後
再びステップ702に戻る。特に、サウンドI/O11
2による外部入力113のサンプリングの指示、ソフト
エフェクタのアルゴリズムの設定変更の指示、波形生成
からエフェクト処理に出力される3系列の各系列の信号
送出レベルを規定する重み付け係数の設定指示などの要
求がなされたときには、ステップ707のその他処理で
対応する処理を行なう。ステップ704で起動要因がソ
フト音源の終了要求であったときは、ステップ708で
終了処理を行なった後、処理を終了する。
【0036】図7(b)は、図7(a)のステップ70
5のMIDI処理のうちノートオンイベントを入力した
ときに実行されるノートオンイベント処理の手順を示
す。まずステップ711で、入力したノートオンイベン
トのMIDIチャンネル、ノートナンバ、およびベロシ
ティを、それぞれレジスタMC,NN,VEに設定す
る。次に、ステップ712で、発音チャンネルの割り当
てを行なう。ステップ713で、割り当てた発音チャン
ネルのソフト音源レジスタに、発音に必要な情報(ノー
トナンバNNやベロシティVEなど)を設定する。さら
にステップ714で、割り当てた発音チャンネルのソフ
ト音源レジスタにノートオンを書き込んで発音開始指示
を出し、処理を終了する。
【0037】図示しないが、ノートオフや他の演奏入力
などのMIDIイベント処理も同様である。すなわち、
ノートオフなら該当する発音チャンネルに対応するソフ
ト音源レジスタにノートオフを設定し、他の演奏入力な
ら該当する発音チャンネルに対応するソフト音源レジス
タに当該演奏入力に対応するデータを書き込む。
【0038】図8(a)は、図7(a)のステップ70
6の波形生成処理の手順を示す。まずステップ801で
演算準備を行なう。これは、ソフト音源レジスタを参照
して波形生成演算を行なうべきチャンネルを認識する処
理、今回の波形生成演算で生成した1フレーム分の波形
は再生バッファPB0とPB1のどちらに設定すべきか
を認識する処理、波形生成用バッファの全領域の0クリ
アなどの演算準備である。次に、ステップ802でワー
クレジスタnに「1」をセットして、ステップ803に
進む。
【0039】ステップ803では、{4×(n−1)+
1}から{4×n}の4チャンネルに関して1フレーム
分の波形サンプルを生成する。この処理については、図
8(b)で詳述する。ステップ804では、演算すべき
残りチャンネルがあるか否か判別する。あれば、ステッ
プ805でワークレジスタnの値をインクリメントし
て、ステップ803に戻る。これを繰り返して演算すべ
き全チャンネルの波形生成を行なう。なお、波形生成を
4チャンネル分ずつまとめて行なうので、発音を行なっ
ていないチャンネルの演算が行なわれる場合もあるが、
そのチャンネルでは音量がゼロになるよう制御されてお
り、出力される楽音に影響を与えない。ステップ804
で演算すべき全チャンネルの波形生成が終了したら、ス
テップ806に進む。ステップ806では、図5および
図6に示したようなエフェクト処理を行なう。
【0040】エフェクト処理の後、ステップ807で、
生成した1フレーム分の波形を再生予約する。これは、
生成した波形サンプルを再生バッファPB0またはPB
1の一方(現在、再生に用いられていない方)にコピー
する処理である。既に、ステップ701で再生バッファ
PB0とPB1とを交互に読み出し再生する処理が開始
しているので、再生に用いられていない方に生成した波
形をコピーするだけで次のフレームで当該波形の発音が
実行される。
【0041】図8(b)は、図8(a)のステップ80
3の4チャンネル分の1フレーム波形発生処理の手順を
示す。ステップ811で当該4チャンネルのうちの始め
の2チャンネル分のアドレス生成処理を行ない、ステッ
プ812で残りの2チャンネル分のアドレス生成処理を
行なう。ここで生成するアドレスは上述の波形データ
(この例ではROM102上に用意されている)の読み
出しアドレスである。生成するアドレスは16ビット幅
では足りないので、2チャンネルずつに分けてアドレス
生成している。2チャンネルずつの並列処理であるか
ら、CPU101は32ビット×2個のデータを並列処
理する拡張命令を用いている。
【0042】次に、ステップ813で、波形サンプルの
読み出しを行なう。後の補間処理では、各チャンネル
で、2サンプルを用いた直線補間を行なうので、波形サ
ンプルの読み出しは、各チャンネル2サンプルずつ、4
チャンネル分を読み出す。ステップ814では、当該4
チャンネルに関して補間処理(2サンプルを用いた直線
補間)を並列に行なう。ステップ815では、当該4チ
ャンネルに関してフィルタ処理(図4)を並列に行な
う。ステップ816では、当該4チャンネルに関して音
量制御して累算する処理を並列に行なう。これは各チャ
ンネルの波形に所定のレベル制御用係数を乗算して累算
することにより3系列の出力(図5のXL,XR,X
X)を求める処理である。累算処理があるので、ステッ
プ816の処理は並列に実行できない部分もある。ステ
ップ814〜816では4チャンネルに関して並列に処
理するため、CPU101は、16ビット×4個のデー
タを並列処理する拡張命令を用いている。
【0043】次に、ステップ817で、1フレーム分の
波形サンプル(ここではXL,XR,XXを1組と数え
て128組のサンプル)の生成が完了したか否か判別す
る。完了していなければ、ステップ811に戻って次の
波形サンプルの生成を行なう。1フレーム分完了した
ら、処理を終了する。
【0044】次に、図8(c)のフローチャートを参照
して、再生時のDMAコントローラ114の処理を説明
する。再生時は、サウンドI/O112からサンプリン
グ周期ごとにサンプル要求割り込み(ハードウェア割り
込み)が発行される。これに応じて、DMAコントロー
ラ114は、図8(c)の処理を行なう。まずステップ
821で、再生バッファPB0,PB1の1サンプルを
サウンドI/O112の出力FIFOに送る。出力FI
FOに書き込まれた波形データは、図1で説明したよう
にサンプリング周期ごとにD/A変換されてサウンドシ
ステム115へと送られ放音される。なお、ステップ8
21で「DMAB」とあるのは再生バッファPB0,P
B1のことである。再生バッファPB0,PB1は、D
MAのバッファと見ることもできるのでDMABと記載
した。次に、ステップ822でポインタpをインクリメ
ントして処理を終了する。pは再生バッファPB0,P
B1から1サンプルを読み出すときのポインタである。
以上のようにして、ポインタpを進めながら、サンプリ
ング周期ごとに再生バッファPB0,PB1から1サン
プルをサウンドI/O112に渡す。
【0045】なお、ポインタpは1ずつインクリメント
していくことによりPB0の先頭のサンプルからPB1
の最後のサンプルまでを順次読み出すためのポインタで
あるが、PB1の最後のサンプルを読出した後はPB0
の先頭のサンプルを指すようにポインタ値を更新する必
要がある。この処理は、DMAコントローラ114が自
動的に行なうように設定されている。
【0046】上述の発明の実施の形態によれば、サンプ
リング周期より長い所定時間(フレーム)周期で波形生
成を行ない、該所定時間分の波形サンプルをまとめて生
成するようになっているので、サンプリング周期で波形
生成を行なうのに比べてオーバヘッドが少なく、処理時
間を短縮できる。また、CPUが複数ウェイのキャッシ
ュメモリを備えていれば、ROM103上の波形データ
や生成中の1フレーム分の波形を連続的に、並列処理す
る複数チャンネル分キャッシングできるので非常に効率
的な生成演算ができる。
【0047】さらに、波形生成処理において、アドレス
の生成は処理ビットを長くして少ないチャンネル数で並
列処理を行ない、補間、振幅制御などは処理ビットを短
くして多いチャンネル数で並列処理を行なうようにして
いる。すなわち、扱うデータに応じてチャンネルの並列
数を変えているので、演算の効率が良く、処理時間が短
縮化される。
【0048】なお、上記図8(a)のステップ804で
は、発音中で未計算のチャンネルがある場合でも、生成
期間内に生成演算が終わりそうもないときは、ステップ
803に戻ることなくステップ806に進むようにして
もよい。
【0049】また、上記の発明の実施の形態では、64
ビットを16ビット×4個のデータあるいは32ビット
×2個のデータとして並列処理しているが、これに限ら
ず、任意のデータ幅で任意の並列個数で並列処理するこ
ともできる。
【0050】さらに、1フレームの時間長は、上記発明
の実施の形態では楽音波形128サンプルに対応する長
さであったが、これより長くても短くてもよい。例え
ば、64サンプル分の長さとしたり1024サンプル分
の長さとしてもよい。
【0051】また、上記発明の実施の形態にビブラート
やトレモロなどの効果を制御するLFOやピッチエンベ
ロープの処理を追加する場合、生成する効果制御波形の
ビット数を8ビットとすれば、その生成処理部分につい
ては8チャンネル分を並列処理することができる。
【0052】なお、本発明は、実施態様として下記の構
成を取ってもよい。複数チャンネル分の楽音を発生する
楽音発生方法を記憶した記憶媒体であって、該楽音発生
方法は、演奏情報を供給するステップ;所定時間間隔で
タイミング信号を発生するステップ;タイミング信号の
発生ごとに、前記演奏情報に応じた複数チャンネル分の
波形データを生成するステップであり、該生成ステップ
では、複数チャンネル分の処理を並列にnチャンネル
(nは2以上の整数)分ずつ並列に行ない、連続する複
数サンプル分の波形データを生成して出力する;生成さ
れた波形データを、サンプリング周期ごとに1サンプル
ずつD/A変換器に供給し、アナログ波形に変換するス
テップ;を含む。
【0053】なお、上述した楽音生成方法を実現するた
めの各種関係情報や動作プログラムなどをハードディス
クなどの記憶装置に格納し、CPUがこれらをRAMに
読み出してから使用するように構成し、さらにCD−R
OM(コンパクトディスク−リード・オンリ・メモリ)
やフロッピーディスク、光磁気ディスクなどの可搬型の
記憶媒体に記憶されたデータをハードディスクなどの記
憶装置に転送できるように構成すれば、関係情報や動作
プログラムなどの追加(インストールなど)や更新(バ
ージョンアップなど)の際に便利である。もちろん、可
搬型の記憶媒体から直接RAMへデータを転送するよう
にしてもよい。
【0054】さらに、可搬型の記憶媒体経由ではなく、
通信インターフェース(ネットワークI/O)経由で、
ハードディスクなどの記憶装置上の関係情報や動作プロ
グラムなどを通信ネットワーク側からダウンロードする
ようにしてもよい。上記通信インターフェースは、LA
N(ローカルエリアネットワーク)やインターネット、
電話回線などの通信ネットワークに接続されており、当
該通信ネットワークを介してサーバコンピュータと接続
される。クライアントとなる本装置は、自装置が有する
記憶装置(ハードディスクなど)に関係情報や動作プロ
グラムなどが記憶されていない場合、上記通信インター
フェースおよび通信ネットワークを介してサーバコンピ
ュータへ、関係情報や動作プログラムなどを要求するコ
マンドを送信する。このコマンドを受け取ると、サーバ
コンピュータは、要求された関係情報や動作プログラム
などを、通信ネットワークを介して本装置へと配信す
る。そして、配信された関係情報や動作プログラムなど
を本装置が通信インターフェースを介して受信し、記憶
装置に蓄積することにより、ダウンロードが完了する。
【0055】また、本装置を、関係情報や動作プログラ
ムなどをインストールした市販のパーソナルコンピュー
タなどによって実現しても良い。もちろん、この場合に
も、関係情報や動作プログラムなどのデータの配布方法
としては、ROMなどの不揮発性メモリにあらかじめ格
納しておく方法、可搬型の記憶媒体に格納して配布する
方法、および通信インターフェース経由で配布する方法
などが適用可能である。
【0056】
【発明の効果】以上説明したように、この発明によれ
ば、1命令で複数の演算を並列に実行可能な拡張命令セ
ットを備えた演算処理装置を用いたソフト音源におい
て、同じアルゴリズム部分を複数チャンネル分まとめて
並列に処理するようにしているので、より高速に波形生
成演算を行なうことができる。また、各チャンネルの処
理アルゴリズム中で工夫して並列化処理する拡張命令を
用いる場合に比べ、複数のチャンネルで並列化するの
で、1チャンネル分のアルゴリズムから容易に複数チャ
ンネル分を並列化したプログラムを作ることができ、処
理速度も大幅に向上する。さらにこの発明によれば、上
述した楽音発生方法に係るプログラムが記憶媒体の形式
で提供される。
【図面の簡単な説明】
【図1】この発明に係る楽音発生装置および楽音発生方
法を適用した電子楽器のブロック構成図
【図2】ソフト音源の楽音生成原理を説明するための図
【図3】4チャンネル分のデータのパック化の様子を示
す図
【図4】各発音チャンネルの音色フィルタ処理のアルゴ
リズム例を示す図
【図5】エフェクト処理のアルゴリズム例を示す図
【図6】図5のAPnおよびCFnの詳細図
【図7】メインルーチンおよびノートオンイベントルー
チンのフローチャート図
【図8】波形生成処理ルーチン、4チャンネル分1フレ
ーム波形発生処理ルーチン、およびDMAC処理ルーチ
ンのフローチャート図
【符号の説明】
101…中央処理装置(CPU)、102…リードオン
リメモリ(ROM)、103…ランダムアクセスメモリ
(RAM)、104…ドライブ装置、106…タイマ、
107…ネットワーク入出力(I/O)インタフェー
ス、108…キーボード、109…ディスプレイ、11
0…ハードディスク、111…サンプリングクロック
(Fs)発生器、112…サウンドI/O、114…D
MA(ダイレクトメモリアクセス)コントローラ、11
5…サウンドシステム、116…バスライン。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G10H 7/02 G10H 1/02

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】汎用の演算処理装置上で所定の楽音生成ソ
    フトウェアを実行することにより楽音波形を生成する楽
    音発生装置であって、 前記演算処理装置を、1命令で複数の演算を並列に実行
    可能な拡張命令セットを備えたものとするとともに、 該拡張命令を用いて、複数チャンネルの波形生成をnチ
    ャンネル(nは2以上の整数)分ずつ並列的に行ない、
    生成された前記複数チャンネル分の波形データを混合
    し、混合された波形データに施すエフェクト処理のアル
    ゴリズム内の並列処理可能な部分の処理を並列的に行な
    うことを特徴とする楽音発生装置。
  2. 【請求項2】汎用の演算処理装置上で所定の楽音生成ソ
    フトウェアを実行することにより楽音波形を生成する楽
    音発生方法であって、 前記演算処理装置を、1命令で複数の演算を並列に実行
    可能な拡張命令セットを備えたものとするとともに、 該拡張命令を用いて、複数チャンネルの波形生成をnチ
    ャンネル(nは2以上の整数)分ずつ並列的に行ない、
    生成された前記複数チャンネル分の波形データを混合
    し、混合された波形データに施すエフェクト処理のアル
    ゴリズム内の並列処理可能な部分の処理を並列的に行な
    うことを特徴とする楽音発生方法。
  3. 【請求項3】複数チャンネル分の楽音を発生する楽音発
    生方法であって、 演奏情報を供給するステップと、 所定時間間隔でタイミング信号を発生するステップと、 前記タイミング信号の発生ごとに、前記演奏情報に応じ
    た複数チャンネル分の波形データを生成するステップで
    あって、該生成ステップでは、複数チャンネル分の処理
    を並列にnチャンネル(nは2以上の整数)分ずつ並列
    に行ない、連続する複数サンプル分の波形データを生成
    して出力するものと、 生成された波形データを、サンプリング周期ごとに1サ
    ンプルずつD/A変換器に供給し、アナログ波形に変換
    するステップとを含むことを特徴とする楽音発生方法。
  4. 【請求項4】汎用の演算処理装置上で所定の楽音生成ソ
    フトウェアを実行することにより楽音波形を生成する楽
    音発生方法であって、 前記演算処理装置を、1命令で複数の演算を並列に実行
    可能な拡張命令セットを備えたものとするとともに、 該拡張命令を用いて、複数チャンネルの波形生成処理の
    うち、第1の処理をnチャンネル(nは2以上の整数)
    分ずつ並列的に行ない、第2の処理をmチャンネル(m
    はn以外の2以上の整数)分ずつ並列的に行ない、最終
    的に生成された前記複数チャンネル分の波形データを混
    合し、さらに混合された波形データに施すエフェクト処
    理のアルゴリズム内の並列処理可能な部分の処理を並列
    的に行ない、効果の付与された波形データを出力するこ
    とを特徴とする楽音発生方法。
  5. 【請求項5】汎用の演算処理装置上で所定の楽音生成ソ
    フトウェアを実行することにより楽音波形を生成する楽
    音発生方法に係るプログラムを記憶した記憶媒体であっ
    て、 前記演算処理装置を、1命令で複数の演算を並列に実行
    可能な拡張命令セットを備えたものとするとともに、 前記プログラムは、該拡張命令を用いて、複数チャンネ
    ルの波形生成をnチャンネル(nは2以上の整数)分ず
    つ並列的に行ない、生成された前記複数チャンネル分の
    波形データを混合し、混合された波形データに施すエフ
    ェクト処理のアルゴリズム内の並列処理可能な部分の処
    理を並列的に行なうものであることを特徴とする記憶媒
    体。
  6. 【請求項6】複数チャンネル分の楽音を発生する楽音発
    生方法に係るプログラムを記憶した記憶媒体であって、 該プログラムは、 演奏情報を供給するステップと、 所定時間間隔でタイミング信号を発生するステップと、 前記タイミング信号の発生ごとに、前記演奏情報に応じ
    た複数チャンネル分の波形データを生成するステップで
    あって、該生成ステップでは、複数チャンネル分の処理
    を並列にnチャンネル(nは2以上の整数)分ずつ並列
    に行ない、連続する複数サンプル分の波形データを生成
    して出力するものと、 生成された波形データを、サンプリング周期ごとに1サ
    ンプルずつD/A変換器に供給し、アナログ波形に変換
    するステップとを含むことを特徴とする記憶媒体。
  7. 【請求項7】汎用の演算処理装置上で所定の楽音生成ソ
    フトウェアを実行することにより楽音波形を生成する楽
    音発生方法に係るプログラムを記憶した記憶媒体であっ
    て、 前記演算処理装置を、1命令で複数の演算を並列に実行
    可能な拡張命令セットを備えたものとするとともに、 前記プログラムは、該拡張命令を用いて、複数チャンネ
    ルの波形生成処理のうち、第1の処理をnチャンネル
    (nは2以上の整数)分ずつ並列的に行ない、第2の処
    理をmチャンネル(mはn以外の2以上の整数)分ずつ
    並列的に行ない、最終的に生成された前記複数チャンネ
    ル分の波形データを混合し、さらに混合された波形デー
    タに施すエフェクト処理のアルゴリズム内の並列処理可
    能な部分の処理を並列的に行ない、効果の付与された波
    形データを出力することを特徴とする記憶媒体。
JP22303697A 1996-08-05 1997-08-05 楽音発生装置および楽音発生方法、並びに該方法に係るプログラムを記憶した記憶媒体 Expired - Fee Related JP3285137B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22303697A JP3285137B2 (ja) 1996-08-05 1997-08-05 楽音発生装置および楽音発生方法、並びに該方法に係るプログラムを記憶した記憶媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP22178096 1996-08-05
JP8-221780 1996-08-05
JP22303697A JP3285137B2 (ja) 1996-08-05 1997-08-05 楽音発生装置および楽音発生方法、並びに該方法に係るプログラムを記憶した記憶媒体

Publications (2)

Publication Number Publication Date
JPH10105175A JPH10105175A (ja) 1998-04-24
JP3285137B2 true JP3285137B2 (ja) 2002-05-27

Family

ID=26524500

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22303697A Expired - Fee Related JP3285137B2 (ja) 1996-08-05 1997-08-05 楽音発生装置および楽音発生方法、並びに該方法に係るプログラムを記憶した記憶媒体

Country Status (1)

Country Link
JP (1) JP3285137B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060155543A1 (en) * 2005-01-13 2006-07-13 Korg, Inc. Dynamic voice allocation in a vector processor based audio processor
US7663052B2 (en) * 2007-03-22 2010-02-16 Qualcomm Incorporated Musical instrument digital interface hardware instruction set

Also Published As

Publication number Publication date
JPH10105175A (ja) 1998-04-24

Similar Documents

Publication Publication Date Title
US5319151A (en) Data processing apparatus outputting waveform data in a certain interval
US5955691A (en) Software sound source
JP3293434B2 (ja) 楽音発生方法
US6326537B1 (en) Method and apparatus for generating musical tone waveforms by user input of sample waveform frequency
EP2126890A1 (en) Musical instrument digital interface hardware instructions
JP3285137B2 (ja) 楽音発生装置および楽音発生方法、並びに該方法に係るプログラムを記憶した記憶媒体
JP4036233B2 (ja) 楽音発生装置および楽音発生方法、並びに該方法に係るプログラムを記憶した記憶媒体
JPH1020860A (ja) 楽音発生装置
JPH07121181A (ja) 音声情報処理装置
JPH08160961A (ja) 音源装置
JP3852634B2 (ja) 楽音発生装置および楽音発生方法、並びに該方法に係るプログラムを記憶した記憶媒体
JP2576613B2 (ja) 処理装置
JP3006095B2 (ja) 楽音波形発生装置
JP3275678B2 (ja) 楽音発生方法および装置
JP2576617B2 (ja) 処理装置
JP3832383B2 (ja) 楽音生成装置及びプログラム
JP3991475B2 (ja) 音声データ処理装置およびコンピュータシステム
JPH10124060A (ja) 楽音発生方法、楽音発生装置および楽音発生用プログラムを記録した記録媒体
JP3610759B2 (ja) ディジタル信号処理装置
JP3148803B2 (ja) 音源装置
JP3832382B2 (ja) 楽音生成装置及びプログラム
JP3463547B2 (ja) 演奏データ変更装置、演奏データ変更方法及びプログラムを記録した媒体
JP2004246145A (ja) 楽音発生装置及び楽音発生処理のプログラム
JP2000206972A (ja) 波形デ―タの演奏制御装置
JP3269361B2 (ja) 楽音発生方法および装置

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090308

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090308

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100308

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110308

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110308

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120308

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130308

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20140308

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees