JP3269361B2 - 楽音発生方法および装置 - Google Patents

楽音発生方法および装置

Info

Publication number
JP3269361B2
JP3269361B2 JP29918495A JP29918495A JP3269361B2 JP 3269361 B2 JP3269361 B2 JP 3269361B2 JP 29918495 A JP29918495 A JP 29918495A JP 29918495 A JP29918495 A JP 29918495A JP 3269361 B2 JP3269361 B2 JP 3269361B2
Authority
JP
Japan
Prior art keywords
waveform
waveform data
processing
generating
performance information
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
JP29918495A
Other languages
English (en)
Other versions
JPH09146553A (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 JP29918495A priority Critical patent/JP3269361B2/ja
Publication of JPH09146553A publication Critical patent/JPH09146553A/ja
Application granted granted Critical
Publication of JP3269361B2 publication Critical patent/JP3269361B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、CPUやDSPな
どのプログラマブルな演算装置上において、楽音生成プ
ログラムを実行することにより楽音波形を生成する、楽
音発生方法および装置に関する。
【0002】
【従来の技術】従来の楽音発生装置は、通常、MIDI
(Musical Instrument Digital Interface)、鍵盤ある
いはシーケンサなどからの演奏情報を入力する演奏入力
部、楽音波形を発生する音源部、入力された演奏情報に
応じて前記音源部を制御する中央処理装置(CPU)な
どから構成されていた。ここで、CPUは、入力された
演奏情報に応じて、チャンネルアサイン、パラメータ変
換などの音源ドライバ処理(演奏処理)を実行し、音源
部の割り当てたチャンネルに変換したパラメータと発音
開始指示(ノートオン)を供給する。また、音源部は供
給されたパラメータに基づいて楽音波形を生成するもの
であり、この音源部としては電子回路などのハードウエ
アが採用されていた。このため、楽音発生装置は楽音を
発生するための専用機器となってしまい、楽音を発生す
るときには専用の楽音発生装置を準備することが必要で
あった。
【0003】そこで、パーソナルコンピュータなどの汎
用コンピュータにおいて、MIDIイベントなどの演奏
情報を入力データとし、対応する波形データを演算生成
するアプリケーションプログラム、いわゆるソフトウエ
ア音源を使用して楽音を生成する楽音発生方法が提案さ
れている。この音源処理を行うプログラムを使用するこ
とにより、専用の楽音発生装置を用いることなく、CP
Uとソフトウエアの他にはDA変換用のチップだけを備
えるだけで、楽音を発生させることが可能となる。
【0004】ところで、楽音を発生させるためには、サ
ンプリング周期、すなわち、DAC(Digtal Analog Co
nverter)における変換タイミング毎に波形サンプルを
DACに供給することが必要である。このために、従来
のソフトウエア音源においては、1サンプリング周期毎
に各発音チャンネルの楽音波形サンプルを発音チャンネ
ル分演算生成するようにしていた。したがって、CPU
は、各サンプリング周期において各発音チャンネルの演
算処理を行うときに、まず、前回の当該発音チャンネル
の演算に用いた各種のデータをメモリからレジスタに復
帰させること、および、当該波形生成演算終了後に次回
の処理のために前記レジスタの内容をメモリに退避する
ことが必要であり、本来の波形生成演算以外の処理に多
くの処理時間を必要としていた。そこで、本出願人は、
所定期間(フレーム時間)ごとに該所定期間に対応する
複数サンプルの波形データをまとめて生成演算すること
により、演算効率を向上させたソフトウエア音源による
楽音生成方法を提案している(特願平7−144159
号)。
【発明が解決しようとする課題】
【0005】しかしながら、このような従来のソフトウ
エア音源は、汎用OS(OperatingSystem)の上で動作
するアプリケーションプログラムとして提供されてい
る。また、このソフトウエア音源に対してMIDIイベ
ントなどの演奏情報を供給するMIDIシーケンサやゲ
ームソフトウエアなどのソフトウエアも、同じ汎用OS
の上で動作するアプリケーションプログラムである。し
たがって、非完全マルチタスク方式(プリエンプティブ
でないマルチタスク方式)のOSの制御下においては、
実行中のタスクがOSに制御を戻さない限り他のタスク
は実行されないため、当該ソフトウエア音源が所定時間
ごとに実行されないことがあり、楽音波形サンプルをD
ACに1サンプリング周期毎に安定して出力させること
ができない場合があった。
【0006】また、前述したような、波形バッファ上に
複数サンプル分の波形データをまとめて演算生成して、
演算効率を向上させる方法を採用したソフトウエア音源
においては、波形再生部(DAC)からの波形生成の要
求が発生したとき、所定の期間内に速やかに波形データ
を受け渡すことが要求されるが、そのときに多数のイベ
ントが発生していたりすると、速やかに波形データの受
け渡しを行うことができなくなり、やはり、安定した楽
音の発生が困難となる。さらに、パーソナルコンピュー
タなどの汎用コンピュータにおいては音声入力用のAD
C(Analog Digital Converter)やデジタル波形入力ボ
ードなどが備えられている場合が多いが、これらからの
波形データ入力に対し、ソフトウエア音源が備えている
音色制御処理機能を施すことができなかった。
【0007】さらにまた、上記したCPUにより音源処
理と演奏処理を実行する楽音発生方法において、演奏処
理とは入力した演奏情報に基づき生成される楽音を制御
するための制御情報を作成する処理であり、他方、音源
処理とは前記演奏処理により作成された制御情報に基づ
き楽音の波形データを生成する処理である。そこで、例
えば、通常は押鍵検出などの演奏処理を実行し、該演奏
処理に対して各サンプリング周期で音源処理を割り込み
実行し、1サンプル分の波形データを生成した後、演奏
処理に復帰するようにしている。
【0008】演奏情報(MIDIイベント)は、演奏者
の演奏操作やシーケンサでのイベントの再生により発生
し、該演奏情報が発生した場合には前記演奏処理により
処理される。つまり、演奏情報の発生した時点では、C
PUは通常の音源処理に加えて演奏処理を実行しなけれ
ばならないため、非定期的に発生する演奏情報により演
算量が一時的に増加することになる。しかしながら、従
来の楽音発生方法においてはこれに対応しておらず、音
源処理は演奏情報のあるなしに関わらず定期的に優先実
行され、場合によっては演奏処理が遅れてしまうことが
あった。なお、このような演奏処理の遅れを防止するた
めに、逆に演奏処理の優先度を上げることが考えられる
が、このようにすると今度は、一時的に発音数が減少し
たり、あるいは、楽音波形が途切れてしまうなど、音源
処理の動作が不安定になるという問題が発生することに
なる。
【0009】そこで、本発明は、波形生成演算を安定し
て実行することができ、また、波形再生部から波形要求
があったときに速やかに波形データを出力することがで
き、さらに、入力された波形データをソフトウエア音源
の一連の処理の途中に供給して音色制御処理を行うこと
ができる楽音発生方法および装置を提供することを目的
とする。また、演奏情報が発生した時点で処理が増加し
ても、安定した音源処理を行うことを目的としている。
【0010】
【0011】
【課題を解決するための手段】上記目的を達成するため
に、本発明の楽音発生方法は、(1)演奏情報を入力す
る入力ステップ、(2)複数のサンプリング周期にわた
る所定期間内に入力された前記演奏情報に基づいて、該
所定期間に対応する複数サンプルの波形データを演算生
成する波形生成ステップ、(3)波形データをサンプリ
ング周期毎に1サンプルずつ出力する出力ステップ、
(4)前記波形生成ステップにおいて演算生成された前
記所定期間に対応する複数サンプルの波形データを、前
記出力ステップに受け渡しする受け渡しステップ、およ
び、(5)前記出力ステップに受け渡された波形データ
の出力が進行したことを検出して、波形データの受け渡
しを要求する要求ステップを含み、前記要求ステップか
らの要求に応じて、前記受け渡しステップが実行され、
その後に前記波形生成ステップが実行されることを特徴
とする、演算装置において実行される楽音発生方法であ
る。
【0012】また、本発明の他の楽音発生方法は、
(1)演奏情報を入力する入力ステップ、(2)複数の
サンプリング周期にわたる所定期間内に入力された前記
演奏情報に基づいて、該所定期間に対応する複数サンプ
ルの波形データを演算生成する波形生成ステップ、
(3)前記所定期間に対応する複数サンプルの外部波形
データを入力して、前記波形生成ステップにより演算生
成された前記複数サンプルの波形データと合成する波形
合成ステップ、(4)前記波形合成ステップにおいて合
成された前記所定期間に対応する複数サンプルの波形デ
ータに対して信号処理を施す波形処理ステップ、およ
び、(5)前記波形処理ステップにおいて信号処理が施
された波形データをサンプリング周期毎に1サンプルず
つ出力する出力ステップを含むことを特徴とする、演算
装置において実行される楽音発生方法である。
【0013】
【0014】さらに、本発明のさらに他の楽音発生方法
は、(1)演奏情報を供給する供給ステップ、(2)制
御情報に基づいて複数のサンプリング周期にわたる複数
サンプルの波形データをまとめて演算生成する生成ステ
ップ、(3)前記供給ステップにより演奏情報が供給さ
れたとき、前記生成ステップを一時的に中断し、該供給
された演奏情報に基づいて対応する前記制御情報を生成
し、その後に再び前記生成ステップを中断したところか
らスタートさせる割込ステップ、および、(4)前記生
成ステップで生成された波形データに基づき、演算生成
時点より後のタイミングで対応する楽音を発生させる楽
音発生ステップを含むことを特徴とする、演算装置にお
いて実行される楽音発生方法である。
【0015】さらにまた、本発明の楽音発生装置は、音
源処理プログラムと演奏処理プログラムを記憶したメモ
リと、演奏情報を供給する手段と、制御情報を記憶する
レジスタと、前記音源処理プログラムと前記演奏処理プ
ログラムを実行する演算手段であって、通常は前記音源
処理プログラムを実行することにより前記制御情報に基
づいて複数のサンプリング周期にわたる複数サンプルの
波形データをまとめて生成し、前記供給する手段から演
奏情報が供給されたとき、一時的に前記音源処理プログ
ラムを中断して前記演奏処理プログラムを実行すること
により、該供給された演奏情報に対応した制御情報を生
成して前記レジスタに記憶させ、該演奏処理プログラム
の完了に応じて前記音源処理プログラムを中断したとこ
ろからスタートさせる演算手段と、音源処理プログラム
により生成された波形データに基づき、波形データの生
成より遅れたタイミングで対応する楽音を出力する楽音
出力手段とを有するものである。
【0016】さらにまた、本発明の他の楽音発生方法
は、演奏情報を供給する供給ステップと、複数のサンプ
リング周期にわたる複数サンプルの波形データをまとめ
て生成する生成ステップと、前記供給ステップより演奏
情報が供給されたとき、前記生成ステップを一時的に中
断し、該供給された演奏情報を受け入れる処理を実行
し、その後に再び前記生成ステップを中断したところか
らスタートさせる割込ステップと、生成された波形デー
タに基づき、演算生成時点より後のタイミングで対応す
る対応する楽音を発生させる楽音発生ステップとを含
み、前記生成ステップは、前記割込ステップにおいて受
け入れた演奏情報に基づいて対応する制御情報を生成
し、該制御情報に基づいて波形データを演算生成するも
のであることを特徴とする、演算装置において実行され
る楽音発生方法である。
【0017】演奏情報の発生時に演奏処理を優先的に行
い、演奏処理の空き時間に音源処理を継続的に行うよう
にしているので、演奏情報が発生した時点で処理量が増
加して音源処理があまり実行されなくても、それ以外の
時間でその穴埋めをすることができるので、音源処理を
安定して実行することができる。また、演奏情報の発生
時に演奏情報の受入処理を行い、受け入れた演奏情報に
基づく楽音制御あるいは波形生成は、該受入処理の空き
時間に行われるようにしたので、演奏情報が発生した時
点での処理の増加分を前記空き時間内に分散させること
ができ、一時的な処理の増加を防止することができる。
【0018】
【発明の実施の形態】本発明においては、シーケンサソ
フトやゲームソフトなどのアプリケーションプログラム
がその上で動作する汎用のOSをマルチタスク管理プロ
グラムの上で動作させるようにし、また、ソフトウエア
音源は、アプリケーションプログラムとはせずに、該マ
ルチタスク管理プログラムの制御の元で動作させてい
る。これにより、ソフトウエア音源を実時間処理に必要
な時間間隔で確実に実行させることができ、また、該ソ
フトウエア音源の処理が実行されない時間に前記汎用の
OSが動作され、該OS上のアプリケーションプログラ
ムの処理が実行される。
【0019】図1に本発明の一実施の形態におけるソフ
トウエアモジュール構成を示す。なお、この図において
は、説明を簡略にするため、実時間の処理が必要なオー
ディオ信号処理に関係する部分、すなわち、ソフトウエ
ア音源および波形データの処理に関係する部分のみが示
してある。図1に示すように、最上位層にはアプリケー
ションプログラム群が位置しており、11は音源ミキサ
ー制御ソフトウエア、12はMIDIシーケンサソフト
ウエア、13はゲームソフトなどのソフトウエア、およ
び14は波形再生ソフトウエアである。次は、システム
ソフトウエア群であり、15はアプリケーションプログ
ラムがシステムソフトウエア群が提供する各種のサービ
スを利用するためのインターフェース、16は、MID
I音源ドライバとして機能し、後述するトーンジェネレ
ータタスク20を生成する音源MIDIドライバ、17
はウェーブ入出力デバイスをオープンする機能を提供す
るWAVE入出力ドライバ、18は音源MIDIドライ
バ16およびWAVE入出力ドライバ17とカーネル
(Ring0)とのインタフェース、また、25は外部MI
DIドライバである。以上の各プログラムは、プロセッ
サのユーザ・モード(Ring3)において実行される。
【0020】また、19はタスクディスパッチャ、20
はトーンジェネレータタスク、21はウェーブタスク、
22はミキサタスク、23は複数のオーディオストリー
ムの混合、分割、サンプルレート変換あるいはフォーマ
ット変換などを行うためのサブルーチン群であるライブ
ラリ、24はコーデックドライバであり、これらのプロ
グラムは、プロセッサのカーネルモード(Ring0)にお
いて実行される。
【0021】タスクディスパッチャ19は、複数の実行
可能状態にあるタスク(プロセス)の中から次に実行を
開始されるタスクを選択してプロセッサ上で実行される
ように制御を行うモジュールであり、本発明において
は、タスクの実行中においてもタイマなどからの割込を
許可し、現在処理中のタスクの処理を中断して別のタス
クの処理を開始することを許す、いわゆるプリエンプテ
ィブ方式(完全マルチタスク方式)のタスクスケジュー
リングを行うものである。
【0022】また、トーンジェネレータタスク20は、
その詳細は後述するが、音源MIDIドライバ16によ
り生成され、該音源MIDIドライバ16から供給され
る楽音制御パラメータTGparamsに基づいて最大32チ
ャンネル分の波形テーブル合成機能とリバーブなどの音
色制御処理機能とを提供するものである。さらに、ウェ
ーブタスク21およびミキサタスク22はWAVE入出
力ドライバ17によりオープンされるウェーブ入出力デ
バイスに対応して生成されるタスクである。
【0023】さらに、26は波形データを入出力するた
めのA/D変換器およびD/A変換器を有するコーデッ
ク回路、27はMIDIインタフェース(MIDI I/O)で
ある。なお、図示していないが、上記システムプログラ
ム群には、通常の汎用OSに含まれているデバイスドラ
イバ群およびメモリ管理、ファイルシステム、ユーザイ
ンターフェースなどのプログラム群が含まれている。
【0024】図2を参照して、タスク(プロセス)の実
行状態について説明する。タスクはcreate命令を実行す
ることによって生成され、生成されたタスクはまず実行
可(READY)状態とされて待ち行列につながれる。タス
クディスパッチャ19は、待ち行列につながれている実
行可(READY)状態のタスクの中から所定の優先順位に
従って処理を開始すべきタスクを選択し、これにより、
当該タスクは実行中(RUNNING)状態とされる。この状
態において、タイマからのタイムスライス割込などが発
生すると実行中のタスクはその処理を中断され、実行可
(READY)状態とされて再び待ち行列につながれる。そ
して、タスクディスパッチャ19は、所定の優先順位に
従って、待ち行列につながれているタスクの中から次に
実行すべきタスクを選択し、該選択したタスクを実行さ
せるように制御する。
【0025】したがって、他のタスクを実行中であって
も、所定の間隔で発生するタイムスライス割込などによ
りそのタスクの処理を強制的に中断することができ、ト
ーンジェネレータタスク20の優先順位を高くしておく
ことにより、所定時間間隔でトーンジェネレータタスク
20を確実に実行することが可能となる。また、ウェー
ブタスク21などの実時間処理が必要とされるタスクに
ついても同様に実行させることができ、汎用コンピュー
タ上において実時間処理を可能とすることができる。そ
して、該所定の時間間隔のうち実時間処理が行われてい
ない期間には、汎用のOSをタスクの1つとして動作さ
せ、該OS上で動作するアプリケーションプログラムを
前記実時間処理と並列的に実行することが可能である。
【0026】なお、タスクが実行中(RUNNING)状態に
あるときに、sleep命令あるいはpend命令のような特定
の事象の発生を待つ命令が実行されたときはそのタスク
は待ち状態(BLOCKED)とされ、他のタスクがディスパ
ッチされる。そして、待ち状態(BLOCKED)とされてい
たタスクは、当該特定の事象が発生したときに再び実行
可(READY)状態とされて待ち行列につながれる。さら
に、exit命令やdelete命令などが実行されたときは、タ
スクは終了(TERMINATED)状態となる。
【0027】さて、このような構成において、音源MI
DIドライバ16、トーンジェネレータタスク20、コ
ーデックドライバ24およびコーデック回路26により
本発明のソフトウエア音源が実現される。音源MIDI
ドライバ16は、MIDIシーケンサソフトウエア12
などから、インターフェース15を介してMIDI信号
の入力イベントがあったときに起動される。起動される
と、音源MIDIドライバ16は、入力されたMIDI
信号に応じて、ノートオン、ノートオフ、プログラムチ
ェンジ、コントロールチェンジ、システムエクスクルー
シブなどの処理を行う。ノートオンイベントの場合は、
新規な発音を音源であるトーンジェネレータタスク20
の発音チャンネルに割り当て、該割り当てたチャンネル
に設定するための楽音制御パラメータとノートオンを用
意する。用意される楽音制御パラメータは、MIDIチ
ャンネルごとに選択されている音色の音色パラメータを
ノートオンイベントに付随するノートナンバ、演奏タッ
チに応じて加工処理したパラメータである。なお、この
用意された楽音制御パラメータはトーンジェネレータタ
スク20の起動時にトーンジェネレータタスク20の音
源レジスタに転送される。
【0028】トーンジェネレータタスク20は、最大3
2chの波形テーブル合成機能と、モノラル入力ステレ
オ出力のリバーブ機能を有しており、コーデックドライ
バ24とコーデック回路26とからなる出力デバイスか
らの波形データ要求に応じて、1フレーム時間ごとに起
動される。このトーンジェネレータタスク20は、外部
オーディオ入力を受け付け、自ら生成する波形テーブル
合成データと該外部オーディオ入力とに対してリバーブ
処理を行い、処理結果であるオーディオ波形を出力デバ
イスに出力する。
【0029】トーンジェネレータタスク20における処
理の全体構造を示す等価回路図を図3に示す。この図に
おいて、41は最大32チャンネルの波形テーブル合成
処理、点線で囲んだ42は外部ステレオオーディオ信号
入力処理、43はリバーブ処理を表している。また、4
4は波形データメモリ、50は補間演算部、51および
65はデータ変換部、52、53および54は乗算部、
55は整数形式で入力されるステレオオーディオ入力信
号を受け取り、浮動小数点形式のデータに変換するとと
もに、左チャンネル信号L、右チャンネル信号Rおよび
両者の和L+R信号を出力するデータ変換部、56、5
7、59および62は加算部、58および64はインタ
ーリーブを行うための加算部、60、61、63、66
および67はバッファ、65は浮動小数点形式のデータ
を整数形式のデータに変換するデータ変換部である。な
お、データ変換部55に入力されるステレオオーディオ
入力信号は、コーデック26からの入力あるいは波形再
生ソフトウエア14からWAVE入出力ドライバ17を
介しての入力のいずれであってもよい。
【0030】従来のハードウエア音源においては1サン
プル毎に波形を生成し、順にD/A変換処理を行ってい
るが、本ソフトウエア音源およびオーディオ入出力にお
いては、波形データはフレーム単位で処理される。フレ
ームとは、あるまとまった処理を行う単位であり、本ソ
フトウエア音源およびオーディオ入出力においては5m
s程度の再生時間に相当するサンプル数分のバッファを
確保し、これを1フレームの単位としている。このバッ
ファのサイズは波形計算周波数(サンプル周波数)によ
って変化する。図3における各バッファ60、61、6
3、66および67は、いずれも、1フレーム分の容量
を有するバッファである。
【0031】また、図3において、太い矢印は32ビッ
トの浮動小数点形式で表されたデータを示し、細い矢印
は16ビット整数データを表している。さらに、太い四
角で囲まれたバッファ60、61および63は32ビッ
ト浮動小数点形式のデータを格納するバッファを表して
おり、細い四角で囲まれたバッファ66および67は1
6ビット整数データを格納するバッファを表している。
なお、このシステムにおいて使用しているCPUにおい
ては、浮動小数点乗算の方が整数乗算よりも高速に実行
されるので、信号処理は極力浮動小数点形式で行うよう
になされている。ただし、波形データメモリ44上の波
形データはほとんど8ビットの整数データであるため
に、補間演算部50においては、整数で乗算を実行し、
その後にデータ変換部50において浮動小数点形式に変
換して実行時間を短縮している。
【0032】さて、波形テーブル合成処理41は、基本
的に波形補間とゲイン調整とからなっている。波形デー
タメモリ44から読み出した波形データは補間演算部5
0により音源MIDIドライバ16から供給されるピッ
チ情報を用いて補間され、データ変換部51により浮動
小数点形式に変換される。この出力は3つの出力系列、
すなわち、左チャンネル信号L、右チャンネル信号R、
および、リバーブ入力信号L+Rに分けられて、それぞ
れ、乗算部52、53および54において音源MIDI
ドライバ16から供給されるVolume情報(各発音チャン
ネルの音量エンベロープ信号にそれぞれ上記3系列の各
出力毎のレベルを乗じたデータ)が乗算される。この各
発音チャンネルから出力される波形データは、それぞ
れ、加算部56、57および62において互いに加算さ
れる。各加算部56、57および62には、それぞれ、
データ変換部55から外部ステレオオーディオ入力信号
の左チャンネル信号L、右チャンネル信号Rおよび和の
信号L+Rも供給されており、生成された全発音チャン
ネルの波形データの和と外部オーディオ入力信号とのミ
キシングが行われる。
【0033】加算器56および57の出力は、それぞ
れ、DryLバッファ60およびDryRバッファ61に格納さ
れ、また、加算器62の出力はリバーブ用バッファRev
63に格納される。バッファRev63に格納されたL+
Rデータはリバーブ処理43に入力されてリバーブ演算
が行われ、生成されたリバーブ出力データ(反響音デー
タ)は、LとR独立にゲイン調整された後、DryLバッフ
ァ60およびDryRバッファ61に格納されているデータ
にそれぞれ加算され、さらにデータ変換部65において
整数形式に変換された後、バッファ66および67を介
してオーディオ出力データとしてコーデック26のD/
A変換器に出力されることとなる。
【0034】これらの処理の処理タイミングを図4を用
いて説明する。この図において、横軸は時間軸であり、
時間軸の上方に記載されている[A]は音源MIDIド
ライバ16の処理を示し、時間軸の下に記載されている
[B]はトーンジェネレータタスク20における処理を
示している。また、最下部の2行はオーディオ入出力ス
トリームを表しており、オーディオ入力デバイスはライ
ブラリ23に用意されているコーデック回路26からの
A/D波形データ入力ルーチン、オーディオ出力デバイ
スは同じくコーデック回路へのD/A変換するための波
形データ出力ルーチンである。
【0035】このシステム全体は、3種類の優先順位を
もつ処理単位に大きく分けられる。最も優先順位の高い
処理は、タイマ割り込みによるMIDI信号の発生によ
って起動される音源MIDIドライバ16の処理であ
り、MIDI信号から楽音制御パラメータへの変換が当
該割り込み処理中において実行される。ただし、タイマ
割り込みではなくアプリケーションから直接MIDI出
力した場合には、最も低い優先順位とされる。次の優先
順位は、トーンジェネレータタスク20であり、このト
ーンジェネレータタスク20は、オーディオ入出力バッ
ファからのreadyメッセージ(オーディオ出力デバイス
が次のデータを要求するときに出すoutputreadyメッセ
ージおよびオーディオ入力デバイスがデータ送出可能の
ときに出すinput readyメッセージ)、音源MIDIド
ライバ16が新しい楽音制御パラメータを送るときに出
すTG params receivedメッセージおよび音源MIDIド
ライバ16が波形をロードするときに出すwave load re
questメッセージによって起動される。MIDIシーケ
ンサなどのその他のアプリケーションは、最も優先順位
の低い処理とされている。
【0036】図4のトーンジェネレータタスク20にお
ける処理[B]において、1フレーム分に相当するデー
タの処理は、(1)オーディオ入力データを読む、
(2)楽音制御パラメータを処理する、(3)32ch分
の波形を演算生成する、(4)必要に応じて強制ダンプ
を行う、(5)音源ステータスを送る、(6)リバーブ
計算を行う、(7)データをオーディオ出力する、とな
る。これらのうちで、最もCPU負荷が大きく、かつ、
変動の激しいものは(3)の32ch波形生成処理であ
り、1フレームの間に計算が完了しない可能性がある。
したがって、処理の順番としては、不確定なものを一番
最後にもっていくことが合理的であるため、処理は上記
(1)から始めるのではなく、上記(5)から始めるよ
うになされている。
【0037】上記(5)〜(7)は、一連の処理とされ
ており、オーディオ出力デバイスからのoutput readyメ
ッセージにより起動される。このメッセージが受信さ
れ、トーンジェネレータタスク20が起動されると、ま
ず、処理(5)において音源MIDIドライバ16に対
し、トーンジェネレータタスク20の動作状況である音
源ステータス(TG status)を送出し、音源MIDIド
ライバ16のコールバック関数が呼ばれる。音源MID
Iドライバ16はこのコールバック関数中でTG status
を読み、トーンジェネレータタスク20に対して用意さ
れている発音チャンネルの楽音制御パラメータおよびノ
ートオン信号などからなるTG paramsをトーンジェネレ
ータタスク20の音源レジスタに設定する。続いて、ト
ーンジェネレータタスク20は(6)のリバーブ演算の
実行を開始し、バッファ63に格納されている波形デー
タを入力としてリバーブ演算処理を実行するとともに、
その出力をそれぞれ1フレーム分のDryLバッファ60お
よびDryRバッファ61に足し込む。そして、(7)のオ
ーディオデータ出力処理を開始し、各バッファ60およ
び61に格納されている波形データを出力ドライバ用の
1フレーム分の波形データに変換して出力ドライバに受
け渡しして当該一連の処理を終了する。
【0038】次に行われる一連の処理は(1)のオーデ
ィオ入力処理である。この処理はinput readyメッセー
ジによって起動される。実際には、図4に図示するよう
に、inputはoutputよりも先にreadyになっているため
に、上記(7)の処理の後に続けて処理(1)が呼び出
されることとなる。このオーディオ入力処理(1)にお
いては、オーディオ入力デバイスあるいはWAVE入出
力ドライバ17から1フレーム分の入力データが読み込
まれる。
【0039】最後の一連の処理は(2)〜(4)であ
る。これらはTG paramsの受信メッセージにより起動さ
れる。実際には、前述したように、処理(6)よりも前
にTG paramsは受信されているために、前記処理(1)
のあとに続けてこの一連の処理が読み出される。ここで
は、まず、処理(2)において、音源MIDIドライバ
16により音源レジスタに設定されている楽音制御パラ
メータ、ノートオン信号などのTG paramsが解釈され、
波形生成演算用のデータに変換される。続いて、処理
(3)において、前記(2)において準備されたパラメ
ータやデータなどに基づいて、最大32ch分の波形生成
処理が行われる。この波形生成処理は、前述したよう
に、波形データメモリ44のアドレスを楽音ピッチに応
じた速さで進めながら波形データを読み出し、読み出さ
れたサンプル間の補間を行い、音量エンベロープ(AEG)
などのvolume情報に基づく音量制御を行うことにより、
1ch分の波形データを生成し、これを最大32ch分繰り
返すことにより行われる。また、音量制御は左チャンネ
ルL、右チャンネルRおよびリバーブ用のL+Rの3系
列独立に行われ、生成された1フレーム×3系列分の波
形データは、各バッファ60、61および63に足し込
まれる。
【0040】この処理(3)が終了したときに、当該フ
レームの処理は終了し、次のoutputreadyメッセージが
受信されるまでの時間は、汎用のOSが動作されること
となる。なお、図4の(ロ)に示すように、次のoutput
readyメッセージが来ても、上記(3)の波形生成処理
が終了していないときには、該波形生成処理は打ち切ら
れることとなるが、このとき未計算チャンネルに対して
強制ダンプ処理(4)が行われて、クリックノイズが発
生しないようになされている。なお、上述した最大32
チャンネル分の波形生成処理は、上記打ち切りが行われ
た場合に影響が目立つチャンネル、例えば現在のレベル
が大きいチャンネル、から順に行われるようになってい
る。
【0041】また、上述したトーンジェネレータタスク
20の実行中に、より優先順位の高いタイマ割り込みに
よるMIDIイベントが発生したときには、制御は強制
的に音源MIDIドライバ16に移され、そこで対応す
る処理が行われる。この様子は、図4の[A]に矢印で
示されている。この図には7個のMIDIイベントが発
生した様子が示されている。
【0042】以上説明したトーンジェネレータタスク2
0を図5〜7のフローチャートによりさらに詳細に説明
する。まず、図5のステップ100において、このトー
ンジェネレータタスク20が生成される。トーンジェネ
レータタスク20はステップ100において生成された
後、ステップ101においてスリープ状態にされる。該
スリープ状態にあるときに、メッセージの受信などのイ
ベントが発生してアウェイクされてレディ状態となり、
タスクディスパッチャによりディスパッチされると、ス
テップ102に移り、イベントが判定される。すなわ
ち、(a)オーディオ入/出力デバイスからのreadyで
あるのか、(b)音源MIDIドライバ16からの波形
データロード要求wave load requestであるのか、それ
とも、(c)音源MIDIドライバ16からのTG param
sの受信メッセージであるのかが判定される。
【0043】この判定結果が、(a)のオーディオ入/
出力デバイスからのreadyメッセージの受信であるとき
は、ステップ103に進み、該メッセージが、オーディ
オ出力デバイスからのoutput readyであるのか、オーデ
ィオ入力デバイスからのinput readyであるのかが判定
される。この判定結果がオーディオ出力デバイスからの
output readyメッセージであるときは、ステップ104
においてtriggerフラグを「1」とし、次にステップ1
05において音源MIDIドライバ16に対してTG sta
tusを送出する(図4における処理(5))。そして、
ステップ106において、リバーブがオンとされている
か否かを判定し、該判定結果がYESのときはステップ
107においてリバーブ計算処理(図4における処理
(6))を行った後に、また、該判定結果がNOのとき
は直接ステップ108に進む。そして、ステップ108
においてオーディオデータを出力(図4における処理
(7))し、前記ステップ101に戻り、スリープ状態
となる。
【0044】一方、前記ステップ103における判定結
果がオーディオ入力デバイスからのinput readyメッセ
ージであるときには、ステップ109に進み、trigger
フラグの状態が判定される。この判定の結果、trigger
=1のときはステップ110に進み、オーディオ入力デ
ータの読み込み(図4における処理(1))を行った
後、前記ステップ101に戻りスリープ状態となる。ま
た、trigger=0のときは前記ステップ101に戻りス
リープ状態となる。ここで、triggerフラグは、(3)
波形生成処理が終了したときに「0」とされ、output r
eadyメッセージが受信されたときに「1」にセットされ
るフラグである。したがって、このステップ109にお
いてtriggerフラグの状態を判定することにより、outpu
t readyメッセージに対する処理よりも先にinput ready
メッセージに対する処理が行われることがないようにな
されている。
【0045】さて、前記ステップ102における判定結
果が(b)の音源MIDIドライバ16からの波形デー
タロード要求wave load requestメッセージであるとき
は、ステップ111に進み、該ステップ111において
波形データを読み込んでメモリに格納する処理を行い、
前記ステップ101に戻ってスリープ状態となる。な
お、この波形データロード要求は、トーンジェネレータ
タスク20の初期化時などに音源MIDIドライバ16
から波形データを送るために出されるメッセージであ
る。
【0046】前記ステップ102における判定結果が
(c)のTG paramsの受信メッセージであるときはステ
ップ112に進み、該ステップ112において、音源M
IDIドライバ16により音源レジスタに設定されてい
る楽音制御パラメータTG paramsの処理(図4における
処理(2))が行われる。具体的には、受信した楽音制
御パラメータTG paramsから波形データメモリアドレ
ス、ピッチ情報、EGパラメータ、パンデータ、LFO
制御データなどの音源制御パラメータが決定される。続
いて、ステップ113に進みTG EXITであるか否かが判
定され、該判定結果がYESのときは、ステップ116
に進みタスクは終了する。該判定結果がNOのときはス
テップ114に進み、該ステップ114において最大3
2チャンネル分の波形生成処理(図4の処理(3))を
行う。この処理の詳細については、図6(a)および
(b)を参照して後述する。この波形生成処理が終了し
た後は、ステップ115に進みtriggerフラグを「0」
にリセットして、前記ステップ101に戻り、スリープ
状態となる。
【0047】前記ステップ114の32ch分の波形生
成処理について、図6の(a)および(b)を参照して
説明する。前記ステップ114の波形生成処理が図6の
(a)のステップ200において開始されると、まず、
ステップ201において、新しいキーオンデータが発生
したか否かが判定される。ここで、新しいキーオンデー
タ有りと判定されると、ステップ202に進み、発音チ
ャンネルの演算順序の並べ替えが行われる。これは、複
数チャンネルの波形生成演算を行っている途中で前述し
たようにoutput ready requestが発生して該演算を途中
で打ち切らなければならなくなる場合があり、重要なチ
ャンネルについては先に演算を完了しておくようにする
ために行われる処理である。なお、cは発音チャンネル
数である。
【0048】このステップ202が終了した後、あるい
は、前記ステップ201において新しいキーオンデータ
の発生がないと判定されたときには、ステップ203が
実行される。このステップ203においては、演算チャ
ンネル数をカウントするカウンタiに「0」をセットし
て該カウンタiをリセットし、変数vNumに発音チャ
ンネル数cと同時発音許可チャンネル数rのうちの小さ
い方の値をセットする。この変数vNumは演算すべき
チャンネルの数を表す変数である。続いて、ステップ2
04に進み、カウンタiの値が変数vNumよりも小さ
いか否かを判定する。この判定結果がNO、すなわち、
カウンタiの値が演算すべきチャンネル数vNumより
も大きいか等しいときには、ステップ209に進み、こ
の波形生成処理を終了する。
【0049】ステップ204の判定結果がYES、すな
わち、カウンタiの値が変数vNumよりも小さいとき
には、ステップ205に進みoutput ready requestが発
生しているか否かが判定される。この判定結果がYES
のときはステップ206に進み、そのチャンネルiの発
音信号の強制ダンプ処理(図4における(4))が行わ
れる。一方、この判定結果がNOのときは、ステップ2
07において、第iチャンネルの波形生成演算が行われ
る。この詳細は図6の(b)を参照して後述する。第i
チャンネルについての強制ダンプ処理206あるいは波
形生成演算207が終了すると、ステップ208に進み
カウンタiをインクリメントして、再びステップ204
に戻り、今度はその次のチャンネルi+1に対して前記
ステップ204からステップ208の処理が繰り返され
る。
【0050】前記ステップ207の各チャンネルの波形
生成演算が図6の(b)のステップ210において開始
されると、まず、ステップ211において、ピッチ情報
に基づく速さで進行する読み出しアドレスに基づいて一
つの補間サンプルに対応して波形データメモリから必要
な波形データを読み出し、該波形データに対して該アド
レスの小数部に基づいて補間演算が行われる。次に、ス
テップ212においてdryLバッファ60、dryRバッファ
61およびrevバッファ63に足し込まれるデータのボ
リュームレベルの計算が行われる。これは、音源MID
Iドライバ16から供給される音量エンベロープAEG、
音量vol、変調AM、パンPan、先述した3系列の各レベル
SendLevelの各パラメータを加算することにより行われ
る。続いて、ステップ213において、ステップ212
において求められた3系列の各ボリュームレベルをそれ
ぞれ対応する補間演算結果データと乗算し、その結果を
各系列に対応するバッファに足し込む。
【0051】続いて、ステップ214に進み、fナンバ
ー(ピッチ情報)を加算して波形データメモリ44の新
たな読み出しアドレスreadPtrを作成する。次に、ステ
ップ215に進み、音量エンベロープAEGの更新を行
う。次いで、ステップ216において該更新した音量エ
ンベロープAEGがkeyoffLevelよりも小さい値であるか否
かが判定される。この判定結果がNOのときはステップ
217に進んでLFOの更新処理を行い、次いでステップ
218において音量パラメータvolとパンパラメータpan
の平滑化処理を行う。次に、ステップ219に進み、次
のサンプルがあるか否かを判定し、その判定結果がYE
Sのときは再びステップ211に戻る。この判定結果が
NOのときは該チャンネルの全てのサンプルについての
波形演算処理が終了したのであるから、ステップ221
に進み、ステップ207の当該チャンネルの波形生成演
算を終了する。また、先のステップ216の判定におい
て、更新された音量パラメータの値がkeyoffLevelより
も小さく、判定結果がYESとなったときはキーオフで
あると判断して、ステップ220においてkeyoff処理を
行い当該チャンネルを消音状態に設定した後、ステップ
221に進んで、このチャンネルの波形生成演算207
を終了する。
【0052】なお、上記した実施の形態においては、ト
ーンジェネレータタスク20を出力ドライバの1フレー
ム分の再生終了時に発生されるoutput readyメッセージ
により起動しているが、必ずしもこれに限られることは
ない。トーンジェネレータタスク20における(5)〜
(7)の処理は1フレーム時間に比べて短時間で終了す
るものであるから、トーンジェネレータタスク20を1
フレームの再生時間の中程で起動するようにしてもよ
い。また、一定時間長の各フレーム毎に起動するように
しなくても、出力ドライバにセットされた波形データが
少なくなったことを検出した時点で起動するようにして
もよい。
【0053】また、波形データの受け渡し要求(output
readyメッセージ)があったときにまず、波形データの
受け渡しを行い、その後に波形生成演算をおこなうとい
う、本発明の波形生成方法は、ソフトウエア音源の場合
に限らず、電子楽器などに内蔵された専用の楽音発生装
置にも適用することができる。さらに、生成した波形デ
ータと外部から入力された波形データを合成すること、
および、外部から入力された波形データを複数ステージ
の波形生成演算処理の途中のステージに挿入すること
も、ソフトウエア音源の場合に限らず、専用の楽音発生
装置の場合にも適用することができる。
【0054】さらにまた、上記実施の形態においては、
前記したように処理(5)、(6)、(7)、(1)、
(2)、(3)の順で一連の処理を行っているが、処理
の順序は必ずしもこれに限られることはない。さらにま
た、上記実施の形態においては、波形生成演算処理
(3)を連続して行っているが、必ずしもこれに限られ
ることはなく、複数個に分割して行うようにしてもよ
い。
【0055】さらにまた、上記実施の形態においては、
MIDIイベントの割込処理において発音割当および音
源レジスタの設定までまとめて実行するようになってい
たが、この割込処理において発音割当処理のみを実行す
るようにしたり、あるいは、同割込処理では単に発生し
たMIDIイベントをバッファに取り込む取込処理のみ
を実行するようにしてもよい。この場合には、MIDI
割込処理から発音割当ないし音源レジスタの設定を省略
するかわりに、同様の処理を例えば音源処理中で実行す
ればよいのである。または、さらに、タイマなどで別の
割込要因を設定し、その割込処理で実行することも可能
である。
【0056】さらにまた、上記割込処理は、上述したよ
うな割当処理や取込処理に限定されるものではなく、楽
音生成につながる演奏情報処理に関するものならばどの
ような処理でもよい。さらにまた、楽音生成方法は上述
した実施の形態のような波形メモリ方式に限定されるこ
とはなく、FM方式、物理モデル方式、ADPCM方式
など、どのような方式のものであってもよい。
【0057】
【発明の効果】本発明によれば、任意の汎用のOSと並
列的に波形生成演算を安定して実行することが可能とな
る。また、波形再生部から要求があったときに速やかに
波形データを出力することができ、データの受け渡しが
遅れる危険性をなくすことができる。さらに、外部から
入力された波形データに対して、ソフトウエア音源の音
色制御処理を施すことが可能となる。さらにまた、演奏
情報が発生した時点で処理が増えて音源処理があまり実
行できなくても、それ以外の時点でその穴埋めをするこ
とができるので、音源処理を安定化することができる。
さらにまた、演奏情報が発生した時点での処理の増加分
を空き時間内に分散化させることができ、一時的な処理
の増加を防止することができる。
【図面の簡単な説明】
【図1】 本発明におけるソフトウエアモジュール構成
を示す図である。
【図2】 タスクの実行状態を説明するための図であ
る。
【図3】 トーンジェネレータタスクの機能を説明する
ための図である。
【図4】 楽音発生に関する各処理の実行タイミングを
説明するための図である。
【図5】 トーンジェネレータタスクのフローチャート
である。
【図6】 波形生成演算のフローチャートである。
【符号の説明】
11 音源ミキサ制御ソフト、12 MIDIシーケン
サソフト、13 ゲームソフトなど、14 波形再生ソ
フト、15、18 インタフェース、16 音源MID
Iドライバ、17 WAVEドライバ、19 タスクデ
ィスパッチャ、20 トーンジェネレータタスク、21
ウェーブタスク、22 ミキサタスク、23 ライブ
ラリ、24 コーデックドライバ、25 外部MIDI
ドライバ、26 コーデック回路、27 MIDI I
/O、41 波形テーブル合成処理、42 外部ステレ
オオーディオ信号入力処理、43 リバーブ処理、44
波形データメモリ、50 補間演算部、51、55、6
5 データ変換部、52、53、54 乗算部、56、
57、58、59、62、64 加算部、60、61、
63、66、67 バッファ、
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G10H 7/02 G10H 1/02

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 (1)演奏情報を入力する入力ステッ
    (2)複数のサンプリング周期にわたる所定期間内に入
    力された前記演奏情報に基づいて、該所定期間に対応
    る複数サンプルの波形データを演算生成する波形生成ス
    テップ (3)波形データをサンプリング周期毎に1サンプルず
    つ出力する出力ステップ (4)前記波形生成ステップにおいて演算生成された前
    記所定期間に対応する複数サンプルの波形データを、前
    記出力ステップに受け渡しする受け渡しステップ、およ
    び、 (5)前記出力ステップに受け渡された波形データの出
    力が進行したことを検出して、波形データの受け渡しを
    要求する要求ステップを含み、 前記要求ステップからの要求に応じて、前記受け渡しス
    テップが実行され、その後に前記波形生成ステップが実
    行されることを特徴とする、演算装置において実行され
    る楽音発生方法。
  2. 【請求項2】 (1)演奏情報を入力する入力ステッ
    (2)複数のサンプリング周期にわたる所定期間内に入
    力された前記演奏情報に基づいて、該所定期間に対応す
    る複数サンプルの波形データを演算生成する波形生成ス
    テップ (3)前記所定期間に対応する複数サンプルの外部波形
    データを入力して、前記波形生成ステップにより演算生
    成された前記複数サンプルの波形データと合成する波形
    合成ステップ (4)前記波形合成ステップにおいて合成された前記所
    定期間に対応する複数サンプルの波形データに対して信
    号処理を施す波形処理ステップ、および、 (5)前記波形処理ステップにおいて信号処理が施され
    た波形データをサンプリング周期毎に1サンプルずつ出
    力する出力ステップを含むことを特徴とする、演算装置
    において実行される楽音発生方法。
  3. 【請求項3】 (1)演奏情報を供給する供給ステッ
    (2)制御情報に基づいて複数のサンプリング周期にわ
    たる複数サンプルの波形データをまとめて演算生成する
    生成ステップ (3)前記供給ステップにより演奏情報が供給されたと
    き、前記生成ステップを一時的に中断し、該供給された
    演奏情報に基づいて対応する前記制御情報を生成し、そ
    の後に再び前記生成ステップを中断したところからスタ
    ートさせる割込ステップ、および、 (4)前記生成ステップで生成された波形データに基づ
    き、演算生成時点より後のタイミングで対応する楽音を
    発生させる楽音発生ステップを含むことを特徴とする、
    演算装置において実行される楽音発生方法。
  4. 【請求項4】 音源処理プログラムと演奏処理プログラ
    ムを記憶したメモリと、 演奏情報を供給する手段と、 制御情報を記憶するレジスタと、 前記音源処理プログラムと前記演奏処理プログラムを実
    行する演算手段であって、通常は前記音源処理プログラ
    ムを実行することにより前記制御情報に基づいて複数の
    サンプリング周期にわたる複数サンプルの波形データを
    まとめて生成し、前記供給する手段から演奏情報が供給
    されたとき、一時的に前記音源処理プログラムを中断し
    て前記演奏処理プログラムを実行することにより、該供
    給された演奏情報に対応した制御情報を生成して前記レ
    ジスタに記憶させ、該演奏処理プログラムの完了に応じ
    て前記音源処理プログラムを中断したところからスター
    トさせる演算手段と、 音源処理プログラムにより生成された波形データに基づ
    き、波形データの生成より遅れたタイミングで対応する
    楽音を出力する楽音出力手段とを有することを特徴とす
    る楽音発生装置。
  5. 【請求項5】 演奏情報を供給する供給ステップと、複数のサンプリング周期にわたる複数サンプルの 波形デ
    ータをまとめて生成する生成ステップと、 前記供給ステップより演奏情報が供給されたとき、前記
    生成ステップを一時的に中断し、該供給された演奏情報
    を受け入れる処理を実行し、その後に再び前記生成ステ
    ップを中断したところからスタートさせる割込ステップ
    と、 生成された波形データに基づき、演算生成時点より後の
    タイミングで対応する対応する楽音を発生させる楽音発
    生ステップとを含み、 前記生成ステップは、前記割込ステップにおいて受け入
    れた演奏情報に基づいて対応する制御情報を生成し、該
    制御情報に基づいて波形データを演算生成するものであ
    ることを特徴とする演算装置において実行される楽音
    発生方法。
JP29918495A 1995-09-20 1995-10-23 楽音発生方法および装置 Expired - Lifetime JP3269361B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29918495A JP3269361B2 (ja) 1995-09-20 1995-10-23 楽音発生方法および装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP26462995 1995-09-20
JP7-264629 1995-09-20
JP29918495A JP3269361B2 (ja) 1995-09-20 1995-10-23 楽音発生方法および装置

Publications (2)

Publication Number Publication Date
JPH09146553A JPH09146553A (ja) 1997-06-06
JP3269361B2 true JP3269361B2 (ja) 2002-03-25

Family

ID=26546594

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29918495A Expired - Lifetime JP3269361B2 (ja) 1995-09-20 1995-10-23 楽音発生方法および装置

Country Status (1)

Country Link
JP (1) JP3269361B2 (ja)

Also Published As

Publication number Publication date
JPH09146553A (ja) 1997-06-06

Similar Documents

Publication Publication Date Title
EP0743631B1 (en) Tone generating method and device
US5703310A (en) Automatic performance data processing system with judging CPU operation-capacity
US5319151A (en) Data processing apparatus outputting waveform data in a certain interval
JP2970689B2 (ja) オーディオ・シンセサイザ
EP0750290B1 (en) Method and device for forming a tone waveform by combined use of different waveform sample forming resolutions
KR20090130865A (ko) 악기 디지털 인터페이스 하드웨어 명령
JPH09114462A (ja) 楽音発生方法
JP3269361B2 (ja) 楽音発生方法および装置
JP3246312B2 (ja) 楽音発生方法および装置
JP3152198B2 (ja) 楽音発生方法および楽音発生装置
JP2797142B2 (ja) 電子楽器用処理装置
JP3572847B2 (ja) コンピュータソフトウェアを用いた音源システム及び方法
JP3137043B2 (ja) 波形メモリ音源装置および楽音発生装置
JP3275678B2 (ja) 楽音発生方法および装置
JP3003559B2 (ja) 楽音生成方法
CN1763838B (zh) 乐音发生方法与设备
JP3632744B2 (ja) 音生成方法
JPH10207465A (ja) 楽音発生方法および楽音発生装置
JP3148803B2 (ja) 音源装置
JP3285137B2 (ja) 楽音発生装置および楽音発生方法、並びに該方法に係るプログラムを記憶した記憶媒体
JP3693045B2 (ja) 楽音発生装置
JPH11167517A (ja) 信号処理装置
JP2797138B2 (ja) 電子楽器用処理装置
JP3693046B2 (ja) 楽音発生装置
JP3627590B2 (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: 20011218

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: 20090118

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100118

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110118

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120118

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130118

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20140118

Year of fee payment: 12

EXPY Cancellation because of completion of term