JP3246405B2 - 楽音発生方法、楽音発生装置および楽音発生用プログラムを記録した記録媒体 - Google Patents

楽音発生方法、楽音発生装置および楽音発生用プログラムを記録した記録媒体

Info

Publication number
JP3246405B2
JP3246405B2 JP22122297A JP22122297A JP3246405B2 JP 3246405 B2 JP3246405 B2 JP 3246405B2 JP 22122297 A JP22122297 A JP 22122297A JP 22122297 A JP22122297 A JP 22122297A JP 3246405 B2 JP3246405 B2 JP 3246405B2
Authority
JP
Japan
Prior art keywords
generating
tone
program
waveform
musical
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
JP22122297A
Other languages
English (en)
Other versions
JPH10124060A (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 JP22122297A priority Critical patent/JP3246405B2/ja
Publication of JPH10124060A publication Critical patent/JPH10124060A/ja
Application granted granted Critical
Publication of JP3246405B2 publication Critical patent/JP3246405B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、演算処理装置を用
いて楽音波形サンプルを演算により生成する楽音発生方
法、楽音発生装置および楽音発生用プログラムを記録し
た記録媒体に関する。
【0002】
【従来の技術】従来の楽音発生装置は、通常、MIDI
(Musical Instrument Digital Interface)、鍵盤ある
いはシーケンサなどからの演奏情報を入力する演奏入力
部、楽音波形を発生する音源部、入力された演奏情報に
応じて前記音源部を制御する中央処理装置(CPU)な
どから構成されていた。ここで、CPUは、入力された
演奏情報に応じて、チャンネルアサイン、パラメータ変
換などの音源ドライバ処理を実行し、音源部の割り当て
たチャンネルに変換したパラメータと発音開始指示(ノ
ートオン)を供給する。また、音源部は供給されたパラ
メータに基づいて楽音波形を生成するものであり、この
音源部としては電子回路などのハードウエアが採用され
ていた。このため、楽音発生装置は楽音を発生するため
の専用機器となってしまい、楽音を発生するときには専
用の楽音発生装置を準備することが必要であった。
【0003】また、パーソナルコンピュータなどの汎用
処理装置において楽音を発生させる場合には、装置外部
に専用音源装置を付加したり、あるいは、楽音波形を発
生するための音源チップ、波形データを記憶する波形R
OM、および、A/D変換回路、D/A変換回路、FI
FOバッファおよびインタフェース回路を備えた符号化
復号化回路(CODEC)チップなど、数個のICチッ
プが搭載された拡張ボードを本体内に接続することによ
り、楽音を発生させていた。
【0004】そこで、最近では、前記ハードウエア音源
の動作をコンピュータプログラムによる音源処理(ソフ
トウエア音源)に置き換え、CPUにより演奏処理と音
源処理とを実行させるようにした楽音発生方法、いわゆ
るソフトウエア音源が提案されている。ここで、演奏処
理とは、前述した音源ドライバ処理に相当する処理であ
って、入力されたMIDIなどの演奏情報に基づき、生
成される楽音を制御するための制御情報を作成する処理
のことである。また、音源処理とは、前記演奏処理にお
いて作成された制御情報に基づき楽音の波形データを生
成する処理のことである。この楽音発生方法によれば、
専用の楽音発生装置や音源ボードを用いることなく、C
PUとソフトウエアのほかにはD/A変換用のチップを
備えるだけで、楽音を発生させることが可能となる。
【0005】
【発明が解決しようとする課題】前述したようなソフト
ウエア音源には、それによりシミュレートする音源の方
式(PCM音源方式、FM音源方式あるいは物理モデル
音源方式など)に応じて各種の方式が考えられ、これら
のいずれの方式でも楽音を合成することができるように
するためには、各方式に対応する音源処理プログラムを
それぞれ独立に準備しておくことが必要であった。その
ため、各音源処理プログラムや必要な波形データなどを
記憶するために、非常に多くの記憶容量を必要としてい
た。また、各方式において使用しているデータのフォー
マットが統一されていないため、前述したような複数の
方式を混合したアルゴリズムで楽音を合成することがで
きなかった。
【0006】そこで、本発明は、少ない記憶容量で複数
の方式によるソフトウエア音源を実現することのできる
楽音発生方法、楽音発生装置および楽音発生用プログラ
ムを記録した記録媒体を提供することを目的としてい
る。また、複数の方式を混合したアルゴリズムで楽音を
合成することのできる楽音発生方法、楽音発生装置およ
び楽音発生用プログラムを記録した記録媒体を提供する
ことを目的としている。
【0007】
【課題を解決するための手段】上記目的を達成するため
に、本発明の楽音生成方法は、処理装置において実行さ
れ、複数チャンネル分の楽音を発生させることが可能な
楽音発生方法であって、a.演奏情報を供給するステッ
プ、b.所定時間間隔でタイミング信号を発生するステ
ップ、c.前記タイミング信号に応じて前記演奏情報に
応じた複数チャンネル分の波形データを連続する複数サ
ンプル分生成して出力するステップであって、前記複数
のチャンネルのうちの一部のチャンネルについては第1
の発音プログラムに基づいて楽音生成を行ない、他のチ
ャンネルについては第2の発音プログラムに基づいて楽
音生成を行なうステップ、および、d.前記ステップc
において生成された波形データをサンプリング周期毎に
1サンプルずつデジタルアナログ変換器に供給するステ
ップを備え、前記第1の発音プログラムと前記第2の発
音プログラムとで共通の波形処理サブルーチンが使用さ
れるようになされているものである。
【0008】また、前記波形処理サブルーチンは、波形
テーブル読出処理、フィルタ処理、エンベロープ生成処
理、音量制御処理および波形累算処理のうちの少なくと
も1つの処理を行なうものとされている。さらに、前記
処理装置はキャッシュメモリを備えており、該キャッシ
ュメモリに前記使用される波形処理サブルーチンのキャ
ッシングが行なわれるものである。さらにまた、前記波
形処理サブルーチンのうち、前記第1の発音プログラム
と前記第2の発音プログラムに使用されるサブルーチン
のみが前記処理装置のメモリ上に選択的に記憶されるよ
うになされているものである。
【0009】また、本発明の他の楽音発生方法は、キャ
ッシュメモリを備える処理装置において実行され、複数
チャンネル分の楽音を発生させることが可能な楽音発生
方法であって、a.演奏情報を供給するステップ、b.
所定時間間隔でタイミング信号を発生するステップ、
c.前記タイミング信号に応じて前記演奏情報に応じた
複数チャンネル分の波形データを連続する複数サンプル
分生成して出力するステップであって、前記複数のチャ
ンネルのうちの一部のチャンネルについては第1の発音
プログラムに基づいて楽音生成を行ない、他のチャンネ
ルについては第2の発音プログラムに基づいて楽音生成
を行なうステップ、および、d.前記ステップcにおい
て生成された波形データをサンプリング周期毎に1サン
プルずつデジタルアナログ変換器に供給するステップを
備え、前記ステップcは、前記一部のチャンネルについ
て前記第1の発音プログラムに基づいて楽音生成をまと
めて実行した後、前記他のチャンネルについて前記第2
の発音プログラムに基づいて楽音生成をまとめて実行す
るようになされているものである。
【0010】さらに、本発明のさらに他の楽音発生方法
は、処理装置において実行される楽音発生方法であっ
て、a.演奏情報を供給するステップ、b.所定時間間
隔でタイミング信号を発生するステップ、c.前記タイ
ミング信号に応じて前記演奏情報に応じた波形データを
連続する複数サンプル分生成して出力するステップであ
って、所定の発音プログラムに基づいて楽音生成を行な
い、さらに、該生成された楽音に対し所定のエフェクト
プログラムに基づいて効果付与を行なうステップ、およ
び、d.前記ステップcにおいて生成された波形データ
をサンプリング周期毎に1サンプルずつデジタルアナロ
グ変換器に供給するステップを備え、前記発音プログラ
ムと前記エフェクトプログラムとで共通の波形処理サブ
ルーチンが使用されるようになされているものである。
【0011】また、前記波形処理サブルーチンは、フィ
ルタ処理、遅延処理、音量制御処理および波形累算処理
のうちの少なくとも1つの処理を行なうようになされて
いるものである。さらに、前記処理装置はキャッシュメ
モリを備えており、該キャッシュメモリに前記使用され
る波形処理サブルーチンのキャッシングが行なわれるも
のである。
【0012】さらにまた、本発明のさらに他の楽音発生
方法は、処理装置において実行される楽音発生方法であ
って、a.ユーザの指示に応じてアルゴリズムを指定す
る指定ステップ、b.前記ステップaにおけるアルゴリ
ズムの指定に応じて、記憶装置に記憶されたサブルーチ
ン群の中から必要な波形処理サブルーチンを選択し、該
選択されたサブルーチンを呼び出すコール命令を含む生
成プログラムを準備するステップ、c.演奏情報を供給
するステップ、d.所定時間間隔でタイミング信号を発
生するステップ、e.前記タイミング信号に応じて前記
演奏情報に応じた波形データを連続する複数サンプル分
生成して出力する生成ステップであって、前記ステップ
bにおいて準備された前記生成プログラムに基づいて楽
音生成を行なうステップ、および、f.前記ステップe
において生成された波形データをサンプリング周期毎に
1サンプルずつデジタルアナログ変換器に供給するステ
ップを備えるものである。
【0013】さらにまた、前記波形処理サブルーチン
は、波形テーブル読出処理、フィルタ処理、エンベロー
プ生成処理、音量制御処理および波形累算処理のうちの
少なくとも1つの処理を行なうものである。さらにま
た、前記波形処理サブルーチンのうち、前記生成プログ
ラムによりコールされるサブルーチンのみが、前記処理
装置のメモリ上に選択的に記憶されるようになされてい
るものである。
【0014】さらにまた、本発明の楽音発生装置は、複
数チャンネル分の楽音を発生することが可能な楽音発生
装置であって、演奏情報を供給する手段、所定時間間隔
でタイミング信号を発生する手段、前記タイミング信号
に応じて前記演奏情報に応じた複数チャンネル分の波形
データを連続する複数サンプル分生成して出力する手段
であって、前記複数のチャンネルのうちの一部のチャン
ネルについては第1の発音プログラムに基づいて楽音生
成を行ない、他のチャンネルについては第2の発音プロ
グラムに基づいて楽音生成を行なう手段、および、生成
された波形データをサンプリング周期毎に1サンプルず
つデジタルアナログ変換器に供給する手段を有し、前記
第1の発音プログラムと前記第2の発音プログラムとで
共通の波形処理サブルーチンが使用されるようになされ
ているものである。
【0015】さらにまた、本発明の他の楽音発生装置
は、複数チャンネル分の楽音を発生することが可能なキ
ャッシュメモリを備えた楽音発生装置であって、演奏情
報を供給する手段、所定時間間隔でタイミング信号を発
生する手段、前記タイミング信号に応じて前記演奏情報
に応じた複数チャンネル分の波形データを連続する複数
サンプル分生成して出力する手段であって、前記複数の
チャンネルのうちの一部のチャンネルについて第1の発
音プログラムに基づいて楽音生成をまとめて実行した
後、他のチャンネルについて第2の発音プログラムに基
づいて楽音生成をまとめて実行する手段、および、生成
された波形データをサンプリング周期毎に1サンプルず
つデジタルアナログ変換器に供給する手段を有するもの
である。
【0016】さらにまた、本発明のさらに他の楽音発生
装置は、演奏情報を供給する手段、所定時間間隔でタイ
ミング信号を発生する手段、前記タイミング信号に応じ
て前記演奏情報に応じた波形データを連続する複数サン
プル分生成して出力する生成手段であって、所定の発音
プログラムに基づいて楽音生成を行ない、該生成された
楽音に対し所定のエフェクトプログラムに基づいて効果
付与を行なうようになされており、かつ、前記発音プロ
グラムと前記エフェクトプログラムとで共通の波形処理
サブルーチンを使用するようになされた生成手段、およ
び、前記生成手段により生成された波形データをサンプ
リング周期毎に1サンプルずつデジタルアナログ変換器
に供給する手段を有するものである。
【0017】さらにまた、本発明のさらに他の楽音発生
装置は、ユーザの指示に応じてアルゴリズムを指定する
指定手段、前記指定手段により指定されたアルゴリズム
に応じて、記憶装置に記憶されたサブルーチン群の中か
ら必要な波形処理サブルーチンを選択し、該選択された
サブルーチンを呼び出すコール命令を含む生成プログラ
ムを準備する手段、演奏情報を供給する手段、所定時間
間隔でタイミング信号を発生する手段、前記タイミング
信号に応じて前記演奏情報に応じた波形データを連続す
る複数サンプル分生成して出力する生成手段であって、
前記準備する手段により準備された前記生成プログラム
に基づいて楽音生成を行なう生成手段、および、前記生
成手段により生成された波形データをサンプリング周期
毎に1サンプルずつデジタルアナログ変換器に供給する
手段を有するものである。
【0018】さらにまた、本発明の楽音発生用プログラ
ムを記録した記録媒体は、処理装置によって複数チャン
ネル分の楽音を発生させるためのプログラムを記録した
記録媒体であって、該プログラムは、演奏情報を供給す
る手順、所定時間間隔でタイミング信号を発生する手
順、前記タイミング信号に応じて前記演奏情報に応じた
複数チャンネル分の波形データを連続する複数サンプル
分生成して出力する手順であって、前記複数のチャンネ
ルのうちの一部のチャンネルについては第1の発音プロ
グラムに基づいて楽音生成を行ない、他のチャンネルに
ついては第2の発音プログラムに基づいて楽音生成を行
なうようになされており、かつ、前記第1の発音プログ
ラムと前記第2の発音プログラムとで共通の波形処理サ
ブルーチンを使用するようになされた手順、および、生
成された波形データをサンプリング周期毎に1サンプル
ずつデジタルアナログ変換器に供給する手順を処理装置
に実行させるようになされているものである。
【0019】さらにまた、本発明の他の楽音発生用プロ
グラムを記録した記録媒体は、処理装置によって複数チ
ャンネル分の楽音を発生させるためのプログラムを記録
した記録媒体であって、該プログラムは、演奏情報を供
給する手順、所定時間間隔でタイミング信号を発生する
手順、前記タイミング信号に応じて前記演奏情報に応じ
た複数チャンネル分の波形データを連続する複数サンプ
ル分生成して出力する手順であって、前記複数のチャン
ネルのうちの一部のチャンネルについて第1の発音プロ
グラムに基づいて楽音生成をまとめて実行した後、他の
チャンネルについて第2の発音プログラムに基づいて楽
音生成をまとめて実行する手順、および、生成された波
形データをサンプリング周期毎に1サンプルずつデジタ
ルアナログ変換器に供給する手順を処理装置に実行させ
るようになされているものである。
【0020】さらにまた、本発明のさらに他の楽音発生
用プログラムを記録した記録媒体は、処理装置によって
楽音を発生させるためのプログラムを記録した記録媒体
であって、該プログラムは、演奏情報を供給する手順、
所定時間間隔でタイミング信号を発生する手順、前記タ
イミング信号に応じて前記演奏情報に応じた波形データ
を連続する複数サンプル分生成して出力する手順であっ
て、所定の発音プログラムに基づいて楽音生成を行な
い、該生成された楽音に対し所定のエフェクトプログラ
ムに基づいて効果付与を行なうようになされており、か
つ、前記発音プログラムと前記エフェクトプログラムと
で共通の波形処理サブルーチンを使用するようになされ
た手順、および、生成された波形データをサンプリング
周期毎に1サンプルずつデジタルアナログ変換器に供給
する手順を処理装置に実行させるようになされているも
のである。
【0021】さらにまた、本発明のさらに他の楽音発生
用プログラムを記録した記録媒体は、処理装置によって
楽音を発生させるためのプログラムを記録した記録媒体
であって、該プログラムは、ユーザの指示に応じてアル
ゴリズムを指定する手順、前記指定されたアルゴリズム
に応じて、記憶装置に記憶されたサブルーチン群の中か
ら必要な波形処理サブルーチンを選択し、該選択された
サブルーチンを呼び出すコール命令を含む生成プログラ
ムを準備する手順、演奏情報を供給する手順、所定時間
間隔でタイミング信号を発生する手順、前記タイミング
信号に応じて前記演奏情報に応じた波形データを連続す
る複数サンプル分生成して出力する手順であって、前記
準備された生成プログラムに基づいて楽音生成を行なう
手順、および、生成された波形データをサンプリング周
期毎に1サンプルずつデジタルアナログ変換器に供給す
る手順を処理装置に実行させるようになされているもの
である。
【0022】
【発明の実施の形態】本発明の楽音発生方法が適用され
る楽音発生装置の一例の構成を図1に示す。この図にお
いて、1はアプリケーションプログラムの実行や楽音波
形サンプルの生成等の各種演算処理を行うマイクロプロ
セッサなどの中央処理装置(CPU)、2はプリセット
音色データ等各種のデータが記憶されているリードオン
リメモリ(ROM)、3はCPU1のワークメモリエリ
アや音色データエリア、発音チャンネルレジスタ、エフ
ェクトチャンネルレジスタ等の音源レジスタエリア、出
力バッファエリア等の記憶エリアを有するランダムアク
セスメモリ(RAM)、4は時刻を指示すると共に、タ
イマ割り込み処理のタイミングをCPU1に指示するタ
イマ、5は英字、かな、数字、記号などのキーを備える
いわゆるパソコン用のキーボードである。
【0023】6はユーザが楽音発生装置と対話するため
のディスプレイ(モニタ)装置、7は楽音を発生するシ
ーケンサソフトやゲームソフトなどの各種アプリケーシ
ョンプログラムや音源処理プログラムが格納されている
とともに、楽音波形サンプルを生成するために使用する
波形データ等が格納されているハードディスク(HD
D)装置、8は、RAM3の一部のCPUにより指定さ
れたエリア(DMAバッファ)に記憶されている楽音波
形サンプルデータを、一定のサンプリング周期(例え
ば、48kHz)毎にCPU1を介することなく直接に
サウンド入出力回路(サウンドI/O)9内のデジタル
アナログ変換器(DAC)に供給するためのダイレクト
メモリアクセス制御回路(DMAC;Direct Memory Acc
ess Controller)である。
【0024】9はコーデック(CODEC)とも呼ばれ
ることがあるサウンド入出力回路であり、その内部に
は、デジタルアナログ変換器(DAC)、アナログデジ
タル変換器(ADC)、前記ADCに接続された入力用
の先入れ先出しバッファ(FIFO)および前記DAC
に接続された出力用のFIFOなどが設けられており、
さらに、ADCから取り込まれた波形のADPCMによ
る圧縮およびDACに出力する波形のADPCM伸張が
実行可能とされている。このサウンド入出力回路(CO
DEC)9は、サンプリングクロック発生器(Fs発生
器)10から入力される周波数Fsのサンプリングクロ
ックに応じて前記ADCによりA/D変換された外部オ
ーディオ信号入力回路11から入力する波形サンプルを
前記入力用のFIFOに取り込み、また、前記DMAC
8から前記出力用のFIFOに書き込まれた波形サンプ
ルデータを該サンプリングクロックに応じて読み出して
前記DACに1サンプルずつ出力する。そして、前記入
力用FIFOにデータが存在するとき、および、前記出
力用FIFOに空があるときには、データ処理を要求す
る信号を前記DMAC8に対して出力するように動作す
る。
【0025】10は周波数Fsのサンプリングクロック
を発生し、前記サウンド入出力回路9に供給するサンプ
リングクロック発生器、11は外部オーディオ信号入力
回路であり、その出力は前記サウンド入出力回路9内の
ADCに接続されている。また、12は前記サウンド入
出力回路9内のDACからの出力に接続されたサウンド
システムであり、1サンプリング周期毎にDACから出
力されるアナログ信号に変換された楽音信号を増幅して
外部出力する。さらに、13はCD-ROM、MO、D
VDなどの外部記憶媒体14を駆動するための外部記憶
駆動装置、14はCD−ROMやMOなどの外部記憶媒
体、15はこの装置をネットワークに接続するためのネ
ットワークインターフェース回路、16は前記各構成要
素間のデータ転送を行なうためのバスである。なお、図
示していないが、MIDIインタフェース回路も設けら
れている。
【0026】なお、前記CPU1にはキャッシュメモリ
17が設けられており、CPU1が前記ROM2あるい
はRAM3からデータを読み出したときに、そのデータ
を高速読出可能な前記キャッシュメモリ17にも格納し
ておき、その後に、同じアドレスからの読出があったと
きには、該キャッシュメモリ17からデータを供給する
ようにして処理の高速化が図られている。なお、このキ
ャッシュメモリ17には、例えば、アドレスの連続した
32バイト単位でデータが記憶されるようになされてい
る。以上の構成は通常のパーソナルコンピュータやワー
クステーション等と同等であり、それらの上で本発明の
楽音発生方法を実施することができる。
【0027】図2は、このように構成された楽音発生装
置において実行されるソフトウエア音源の時間的な処理
の流れを説明する図である。このソフトウエア音源は、
例えば48kHzのサンプリング周波数で楽音波形デー
タを出力するものであるが、その楽音生成処理(音源処
理)を例えば128サンプル時間からなるフレーム毎に
まとめて行なっている。図示するように、あるフレーム
のタイムスロットに演奏入力があると、次のフレームで
その演奏入力に対応する楽音の生成処理をまとめて実行
し、さらに次のフレームでこの楽音波形データを48k
Hzのサンプリング周期毎に1サンプルずつ読み出して
楽音信号を形成している。したがって、演奏入力があっ
てから実際に楽音が発生されるまで(または消音される
まで)に約2フレームの時間ずれが生じることになる
が、1フレームが128サンプル(約2.67ミリ秒)
であるためこの時間ずれはわずかなものであり支障が生
じることはない。
【0028】図3に本発明の楽音発生方法を使用するソ
フトウエア音源の処理のフローチャートを示す。図3の
(a)は該ソフトウエア音源処理のメインルーチンのフ
ローチャートであり、(b)はサンプリング周期毎にC
ODEC9により発生されるハードウエア割込(サンプ
ル要求割込)により、前記DMAC8において実行され
るルーチンのフローチャートである。
【0029】図3の(a)において、ソフト音源のメイ
ンルーチンが起動されると、まず、レジスタエリアの確
保などの初期設定処理(S1)が実行される。そして、
何らかの起動要因があるまで、ステップS2およびS3
において待機する。そして、起動要因が発生すると、ス
テップS4において該起動要因を判定する。この起動要
因としては、(1)ゲームソフトやシーケンスソフトな
どのアプリケーションプログラムから演奏入力(MID
Iイベント)が発生してmidioutAPI(applic
ation programming interface)にMIDIイベントが
書き込まれた、(2)1フレーム分の楽音波形の再生が
完了した、(3)音色選択操作やアルゴリズム選択操作
などのその他の処理がおこなわれた、(4)終了要求が
発生したの4通りの要因がある。そして、このステップ
S4において、起動要因が前記4つのうちのどの要因で
あるかが判定され、それぞれに応じた処理、すなわち、
MIDI処理(S5)、音源処理(S6)、その他処理
(S7)および終了処理(S8)が実行され、終了処理
S8以外の場合には、再び、前記ステップS2にもど
り、新たな起動要因の発生を待つようになされている。
なお、これらの各処理の詳細については後述する。
【0030】一方、図3の(b)は、前記CODEC9
によりサンプリング周期毎に発生するサンプル要求割込
(ハードウエア割込)に応じて、DMAC8により実行
される処理のフローチャートである。前述したように、
この例に示す楽音発生装置においては、RAM3上にD
MAバッファ(DMAB)領域が設定されている。この
DMABは例えば2フレーム分の波形サンプルを格納す
ることができる大きさとされており、前述したように1
フレームを128サンプルとした場合にはDMABの大
きさは256サンプル分とされている。また、後述する
ように、この実施の形態においてはステレオ出力とされ
ており、DMABはステレオL、Rチャンネル用に独立
して1つずつ用意されている。なお、このDMABのサ
イズは、DMAC8のアドレス設定を変えることにより
任意の大きさに設定可能である。
【0031】図3の(b)において、DMAC8は、前
記サンプル要求割込があると、まず、ステップS11に
おいて、DMAバッファ(DMAB)のポインタpが指
しているアドレスに格納されているデータを前記COD
EC9内の前記DACへの出力用FIFOに転送し、続
いて、ステップS12において、前記DMABのポイン
タpをインクリメントして、この回の処理を終了する。
なお、インクリメントされたポインタpの値が設定され
ているDMABの領域を超えたときには、該ポインタp
の値をDMAB領域の初期値に設定する。前述のように
256サンプルの大きさとされているときには、ビット
マスク等の処理により8ビットとされたアドレスをポイ
ンタpとして使用することにより、pの値を初期値に戻
すことができる。このようにして、サンプリング周期毎
にDMAB内の楽音波形サンプルデータが1サンプルず
つ、CODEC9に送出される。
【0032】また、CODEC9は、転送されたサンプ
ル数をカウントし、DMAバッファのサイズの半分の数
のサンプルが転送される毎に1フレーム分の再生が完了
したとして、ハードウエア割込を前記CPU1に対して
出力する。これが前記起動要因における(2)の1フレ
ーム再生完了割込である。なお、後述する音源処理にお
いて、DMAバッファのサイズの半分に相当する数のサ
ンプルをまとめて演算生成するようになされている。
【0033】前記ステップS5のMIDI処理の一例と
して、ノートオンイベントが入力されたときに実行され
るノートオンイベント処理について、図4を参照して説
明する。入力されたMIDIイベントがノートオンイベ
ントであるときには、まず、ステップS21において、
そのMIDIチャンネル番号(MIDIch)をMCレ
ジスタに、ノートナンバをNNレジスタに、ベロシティ
データをVEレジスタに、それぞれ格納する。
【0034】各MIDIチャンネル毎に音色が選択さ
れ、各音色パラメータにはその楽音生成方式が設定され
ているので、各MIDIチャンネル毎にそのチャンネル
に割り当てられた楽音を生成するための音源方式が指定
されている。したがって、前記MCレジスタに格納され
たMIDIチャンネルに設定された音源方式に基づいて
当該発音チャンネルの発音割当が行なわれる(S2
2)。そして、前記ステップS22において割り当てた
発音チャンネルの発音チャンネルレジスタに対して、対
応する音源方式によるノートナンバNNおよびベロシテ
ィVEの楽音を生成するための準備を行なう。そして、
ステップS24において、該発音チャンネルの発音チャ
ンネルレジスタに対し、ノートオンを書き込む。このよ
うにして、ノートオンイベントが発生されたときに対応
する発音チャンネルを割り当て、対応する音源方式によ
る楽音生成処理の準備が行なわれることとなる。
【0035】次に、図5に基づいて、前記ステップS6
の音源処理について説明する。この処理は、楽音波形サ
ンプルを演算により生成し、生成した楽音波形サンプル
に所定のエフェクトを施す処理である。前記起動要因が
(2)の1フレーム再生完了割込であるとき、まず、ス
テップS31において、準備処理が行なわれる。前述し
たように、本発明の楽音発生方法においては、複数種類
の音源方式により楽音を合成するものであるため、ある
発音アルゴリズムを使用して楽音を合成する発音チャン
ネルについての楽音を複数発音チャンネル分まとめて生
成し、続いて、次の発音アルゴリズムを用いる発音チャ
ンネルの楽音を複数発音チャンネル分まとめて生成する
というように、発音アルゴリズム毎にまとめて複数チャ
ンネル分の楽音を生成している。このように、同一の発
音プログラムにより生成される楽音波形をまとめて生成
することにより、命令キャッシュのヒット率を向上する
ことができ、処理速度を高くすることができる。そこ
で、このS31の準備処理において、最初に用いられる
発音アルゴリズム(例えば、PCM音源方式)による発
音チャンネルのうちの最初に楽音を生成される発音チャ
ンネルを決定する。また、現在楽音を発生していない発
音チャンネルについては、波形生成処理を省略するよう
になされている。
【0036】続いて、ステップS32において、その発
音チャンネルの発音チャンネルレジスタの設定に従っ
て、この発音チャンネルの16サンプル分の楽音波形サ
ンプルをまとめて演算生成する。このように16サンプ
ル分の楽音波形サンプルをまとめて演算生成するのは、
1楽音波形サンプルが2バイトのデータであり、前述し
たようにキャッシュには32バイトのデータがまとめて
転送されるようになされているためである。これにより
処理速度を向上することができる。
【0037】次に、ステップS33に進み、その発音チ
ャンネルの1フレーム分の楽音波形サンプル(128サ
ンプル)の生成が完了したか否かを判定し、完了してい
ないときは、次の波形サンプルの演算の準備を行ない
(S34)、前記ステップS32に戻る。また、この発
音チャンネルの1フレーム分の楽音波形サンプルの生成
が完了し、前記S33の判定結果がYESのときは、ス
テップS35に進み、この発音アルゴリズムを使用する
全ての発音チャンネルについての1フレーム分の楽音波
形サンプルの演算生成が完了したか否かを判定する。
【0038】この結果が、NOのときは、ステップS3
6においてこの発音アルゴリズムを使用する次の発音チ
ャンネルについての楽音波形生成演算の準備を行ない、
前記S32に戻る。一方、このアルゴリズムによる全て
の発音チャンネルについての楽音波形生成が終了してい
るときには、ステップS37に進み、全ての発音アルゴ
リズムについての波形生成処理が終了したか否かを判定
する。この結果、未だ実行されていない発音アルゴリズ
ムがあるときは、ステップS38に進み、そのアルゴリ
ズムを用いた波形生成処理の準備を行ない、前記ステッ
プS32にもどる。これにより、そのアルゴリズムを使
用した波形生成処理が前記ステップS32において実行
されることとなる。
【0039】全ての発音アルゴリズムについて、対応す
る全ての発音チャンネルの1フレーム分の楽音波形サン
プルの生成が終了したとき、前記ステップS37の判定
結果はYESとなる。このとき、ステップS39が実行
される。このステップS39以降においては前記S31
〜S38において演算生成された楽音波形サンプルに対
するエフェクト処理が実行されることとなる。
【0040】ステップS39において、まず、エフェク
ト演算の準備が行なわれる。この処理においては、実行
するエフェクト処理の順序を決定する。なお、入力およ
び出力のレベルがゼロになったエフェクトチャンネルに
ついては、エフェクト処理を省略するようになされてい
る。次に、ステップS40において、エフェクトチャン
ネルレジスタの設定に従い、1チャンネル分のエフェク
ト処理を実行する。このように本発明においてはエフェ
クト処理毎にエフェクトチャンネルレジスタを設け、こ
のチャンネルレジスタ毎にエフェクト処理のアルゴリズ
ムを指定するようにしている。
【0041】次いで、全エフェクトチャンネルについて
エフェクト処理が完了したか否かを判定し(S41)、
完了していないときは、ステップS42において次のエ
フェクト処理の準備を行い、前記ステップS40に戻
る。一方、完了しているときにはステップS43に進
み、1フレームのステレオ波形の再生の予約が行われ
る。具体的には、1フレーム分のステレオ波形を、2つ
のDMABの再生の終わったフレームのエリアに、それ
ぞれ転送する。
【0042】このようにして、ソフトウエアにより楽音
波形の生成および出力が行われるのであるが、本発明に
おいては、PCM音源、FM音源および物理モデル音源
の3種類の音源方式を用いて楽音波形を生成することが
できる。すなわち、本発明においては、上述した3種類
の音源方式に対応する波形生成プログラム(発音プログ
ラム)と各種エフェクト処理を実行するエフェクトプロ
グラムが準備されており、さらに、各プログラムは、共
通の波形処理サブルーチンを使用してそれぞれの処理を
実行するようになされている。このように、複数のプロ
グラムにおいて、波形処理サブルーチンを共通化するこ
とにより、各プログラムのサイズを小さくすることがで
き、記憶装置の容量を節約することが可能となる。ま
た、各データのフォーマットが統一されるため、各音源
方式を混合した楽音合成アルゴリズムにより楽音を合成
することが可能となる。
【0043】前記図5のステップS32において実行さ
れる16サンプル分の波形生成処理の具体例を3つ、図
6に示す。図6において、(a)はPCM音源による楽
音生成処理、(b)はFM音源による楽音生成処理、
(c)は物理モデル音源による楽音生成処理の例を示し
ており、それぞれ1回の実行により16サンプル分の楽
音波形が生成される。そして、この図に示した各ステッ
プはそれぞれ前述した波形処理サブルーチンとされてお
り、各楽音生成処理はこれらの波形処理サブルーチンを
組み合わせることにより構成されている。したがって、
ある波形処理サブルーチンは異なる複数の音源方式にお
いて利用することができる。すなわち、サブルーチンが
共通化されている。
【0044】図6の(a)に示すPCM音源の楽音生成
処理においては、まず、ステップS51において、波形
テーブル読出が行われる。この処理は、ノートナンバN
Nに応じた速度で進行する読出アドレスを発生し、前記
RAM3上の波形テーブルから波形データを読み出し
て、その読み出されたデータを前記読出アドレスの小数
部を用いて補間する処理である。この補間処理の方法と
しては、2点補間、4点補間、6点補間等の各種の方法
があり、この図に示す例においては、ステップ51にお
いて、波形テーブルから読み出された波形データに対し
て4点補間が行われるサブルーチンが使用されている。
次に、ステップS52において4次DCF処理が行われ
る。この処理はベロシティデータVE等に応じて設定さ
れたパラメータ音色によるフィルタ処理が行なわれるも
のであり、この例においては、例えばバンドパスフィル
タとして動作する4次のデジタルフィルタが用いられて
いる。
【0045】次に、ステップS53において、エンベロ
ープ発生処理が実行される。この例においては、アタッ
ク、#1ディケイ、#2ディケイ、リリースの4ステー
トからなるエンベロープ波形が生成されている。次に、
ステップS54において、音量乗算および累算処理が実
行される。この処理は、波形テーブルから読みだされ
(S51)、フィルタを通過された(S52)楽音波形
サンプルに対し、前記S53において発生されたエンベ
ロープデータを乗算し、得られた各チャンネルの楽音波
形サンプルを出力レジスタおよびエフェクト用レジスタ
に足し込む処理であり、前記エンベロープ波形と出力の
送出レベルとを対数スケールで加算し、その和を波形に
対し対数乗算することにより行なわれる。なお、この例
においては、4つのレジスタ、すなわち、ステレオの2
つの出力レジスタ(後述する累算バッファ#0L、#0
R)および2つのエフェクト用レジスタ(後述する累算
バッファ#1、#2)にそれぞれ対応するデータが出力
されるようになされている。
【0046】図6の(b)はFM音源による楽音生成処
理の例を示している。この処理においては、まず、ステ
ップS61において、サインテーブル、三角波テーブル
等から選択的にノートナンバNNに応じた速度で波形デ
ータが読み出される。このとき、該読み出されたデータ
に対する補間は行われない。次にステップS62におい
て、エンベロープ波形が発生される。この例において
は、2ステートのエンベロープ波形が発生されるように
なされている。このエンベロープ波形はモジュレータ用
に用いられることとなる。次に、ステップS63におい
て音量乗算が行なわれる。すなわち、前記エンベロープ
波形と変調指数とを対数スケールで加算して、その和を
前記波形テーブルから読み出した波形データに対し対数
乗算、すなわち、前記和をリニアから指数に変換しつ
つ、前記波形データに乗算する。
【0047】次に、ステップS64に進み、波形テーブ
ル読出が行なわれる。この処理は、ノートナンバNNに
応じた速度で変化する生成された位相に前記音量乗算の
結果を加算し、その和の整数部をアドレスとしてサイン
テーブル、三角波テーブル等を選択的に読み出し、その
読出出力に対し前記和の小数部に応じた直線補間を行な
う処理である。そして、ステップS65において前記補
間された読出出力に対し、2次のデジタルフィルタ処理
が行なわれる。次いで、ステップS66において4ステ
ートのエンベロープ発生処理が行なわれる。この処理
は、前記図6(a)におけるステップS53と同一の処
理である。続いて、ステップS67に進み、音量乗算と
累算処理が行なわれる。この例の場合には、3個の累算
レジスタ(L,R出力+エフェクト用に1チャンネル)
に出力するようになされている。
【0048】図6の(c)は物理モデル音源による楽音
生成処理の例を示す図である。この処理においては、ま
ず、ステップS71において喉の共鳴を模倣するための
TH(スロート)モジュール処理が行なわれる。この処
理においては、例えば1次のDCFおよび1タップ補間
なし遅延の各処理が実行される。続いて、ステップS7
2において喉の振動を模倣するためのGR(グロール)
モジュール処理が行なわれる。この処理においては、例
えば、1タップ補間付き遅延処理が実行される。なお、
これらステップS71および72の処理は弦モデルの場
合には実行されない。
【0049】次に、ステップS73において息の吹き込
み部(管モデルの場合)あるいは弓と弦の接触(弦モデ
ルの場合)を模倣し、励振波形を作成するNL(ノンリ
ニア)モジュール処理が行なわれる。この処理において
は、1次DCF、2次DCF、補間なし関数テーブル参
照、直線補間付き関数テーブル参照などの処理が行なわ
れる。次に、ステップS74において管柱の共鳴(管モ
デル)あるいは弦の長さ(弦モデル)を模倣して所定の
ディレイを有するLN(リニア)モジュール処理が行な
われる。この処理においては、例えば、2タップ補間付
き遅延、直線補間、1次DCFなどの処理が行なわれ
る。
【0050】次に、、ステップS75において管の出口
の共鳴(管モデル)あるいは胴体の鳴り(弦モデル)を
模倣するRS(レゾネータ)モジュール処理が行なわれ
る。この処理においては、櫛形フィルタ処理が実行され
る。そして、ステップS76において、前述の場合と同
様の音量乗算および累算処理が行なわれる。なお、この
例においては、5系統の出力を有するものとなされてい
る。なお、これら物理モデル音源の構成については、特
開平5−143078号公報、特開平6−83364号
公報等を参照されたい。
【0051】次に、前記図5のステップS39において
実行される1チャンネル分のエフェクト処理の具体例と
して、リバーブ処理を図7に示す。このリバーブ処理が
開始されると、まず、ステップS81において、初期反
射処理が行なわれる。この例においては、2タップ補間
なしの2系統の遅延処理が行なわれるようになされてい
る。続いて、ステップS82において2系統のオールパ
スフィルタ処理が実行され、ステップS83において6
個の櫛形フィルタと4個のオールパスフィルタを用いた
残響処理が行なわれる。そして、ステップS84におい
て前述したと同様の音量乗算および累算処理が実行され
る。この例においては、4系統の出力のものが採用され
ている。
【0052】以上図6の(a)〜(c)および図7に示
した例のように、各音源方式による楽音生成処理および
エフェクト処理において、音量乗算および累算処理、波
形テーブル読出処理、DCF処理およびエンベロープ発
生処理等は共通に実行される処理であり、これらの処理
をサブルーチンとして準備しておき、各音源プログラム
はこれらの波形処理サブルーチンを組み合わせてそれぞ
れ所定の処理を実行するように構成することにより、必
要とする記憶容量を小さくすることが可能となる。ま
た、ある音源方式により生成したデータを他の音源方式
に用いて楽音を合成するといったように異なる種類の音
源方式を混合したアルゴリズムにより楽音を合成するこ
とが可能となる。例えば、PCM方式により生成された
波形を物理モデル音源における励振波形として使用する
ことなどが可能となる。
【0053】ここで、前述したように共通に使用するサ
ブルーチンとして用意される波形処理サブルーチン群の
例について説明する。 (1)波形テーブル読出処理に関するサブルーチン群。 補間なし、FM補間なし、直線補間付き、FM直線補間
付き、4点補間付き、6点補間付きなど。これらのサブ
ルーチンは、RAM上に用意された波形テーブルをノー
トナンバNN等で指定された読出速度で読み出す処理で
あり、バリエーションとして読み出し速度にFM変調を
かけられるものや、折り返しノイズを防ぐための補間を
有するものがある。これらのサブルーチンは、主として
PCM音源やFM音源において用いられる。 (2)関数テーブル参照処理に関するサブルーチン群。 補間なし、直線補間付きなど。これらのサブルーチン
は、波形データをアドレスとしてRAM上に用意された
関数テーブルを参照し、波形データの値を変換する処理
を行なうものである。これらのサブルーチンは、物理モ
デル音源やディストーション等のエフェクト処理におい
て使用される。 (3)補間処理に関するサブルーチン群。 直線補間、時間補間など。これらのサブルーチンのう
ち、直線補間はクロスフェード用あるいは物理モデル音
源における遅延処理のディレイ長さを発音途中で変更す
る際に行なわれるクロスフェード用に、また、時間補間
はアフタータッチの音量制御などに用いられる。 (4)フィルタ処理に関するサブルーチン群。 APF(all pass filter)、1次DCF、2次DC
F、4次DCFなど。これらのサブルーチンは、楽音の
周波数特性や位相特性を制御するために広く使用され
る。 (5)櫛形フィルタに関するサブルーチン。 このサブルーチンは、主としてリバーブ処理や物理モデ
ル音源において用いられる。 (6)エンベロープ発生処理に関するサブルーチン群。 2ステートEG、4ステートEGなど。これらのサブル
ーチンにより発生されるエンベロープは、楽音波形の音
量の制御、フィルタのカットオフ制御、音高の制御等に
使用される。 (7)音量制御および出力処理に関するサブルーチン
群。 1out(出力)、2out、3out、4out、6
outなど。これらのサブルーチンでは、楽音波形の音
量を制御するエンベロープ等のデータと各出力系列(累
算バッファ)別の送出レベルに基づく音量データを乗算
し、さらに、各出力系統毎に対応する累算バッファへの
音量制御された楽音波形データの足し込みが行なわれ
る。 (8)変調処理に関するサブルーチン群。 1変調入力、2変調入力など。これらのサブルーチン
は、非変調データ(楽音音高、音量等)を、変調波形
(LFO波形等)で変調する処理を行なう。 (9)LFO(low frequency oscillator)処理に関す
るサブルーチン。 (10)遅延処理に関するサブルーチン群。 1タップ補間なし、1タップ補間付き、2タップ補間な
し、2タップ補間付きなど。これらのサブルーチンは、
入力する波形データを、指定されたディレイ長さに対応
する時間長だけ遅延して、遅延された波形データを出力
する処理を行なう。例えば、リバーブ処理や物理モデル
音源の共鳴部などに用いられる。 (11)ミキサに関するサブルーチン。 このサブルーチンは、櫛形フィルタの出力部などに用い
られる。
【0054】次に、前記図5において説明した音源処理
によって実現される楽音発生装置の全体アルゴリズムの
一例について、図8を参照して説明する。この図は、本
発明の楽音発生方法を適用した楽音発生装置の楽音合成
アルゴリズムを模式的に示した図である。この図におい
て、21は第1のPCM音源、22は第2のPCM音源
であり、第1のPCM音源21は第2のPCM音源22
よりも機能的に上位にあるものとする。また、23は4
つのオペレータを有する第1のFM音源、24は2つの
オペレータを有する第2のFM音源、25は物理モデル
音源である。このようにこの例に示した楽音発生装置
は、それぞれ異なる方式(発音アルゴリズム)による5
つの音源を有しており、前記図5のステップS31〜ス
テップS38により実現される。ここで、PCM音源2
1は図6(a)のルーチンに、FM音源24は図6
(b)のルーチンに、物理モデル音源25は図6(c)
のルーチンにそれぞれ対応している。なお、図中に分数
で記載してあるのは、現在発音中のチャンネル数/最大
発音チャンネル数である。例えば、、第1のPCM音源
21中に記載されている2/8は、このPCM音源の最
大発音チャンネル数は8であり、そのうちの2チャンネ
ルが現在発音中であることを示している。
【0055】26は累算バッファ(混合バッファ)であ
り、#0〜#3の4個のバッファが設けられている。こ
こで、累算バッファ#0と#3はステレオ構成となって
おり、それぞれLチャンネル部とRチャンネル部とを有
している。そして、前記各音源21〜25からの楽音波
形出力および後述する各エフェクト処理ルーチンの出力
がこれら各累算バッファに書き込まれるようになされて
いる。この書込は、それぞれの発音チャンネルにおいて
生成された楽音波形サンプルあるいはエフェクト処理の
施された楽音波形サンプルを、累算バッファの各サンプ
リングタイミングに対応する記憶位置に足し込むことに
より行なわれるものであり、複数の楽音波形の混合も行
なわれることとなる。なお、この例においては、#0の
累算バッファが出力バッファとして使用されており、そ
の出力はイコライザ処理27がなされた後、DACへ出
力されるようになされている。
【0056】前記イコライザ処理27と、28のリバー
ブ処理、29のコーラス処理、30のチューブ処理(真
空管の特性を付与するものでディストーションと同様の
効果)はエフェクト処理の例であり、これら4つのエフ
ェクト処理は前記図5におけるステップS39〜ステッ
プS42において実現されている。さらに、リバーブ処
理28は図7に関して説明したリバーブ処理に対応す
る。これらの各エフェクト処理は、前記累算バッファ#
1〜#3を入力とし、それぞれのエフェクト処理を施し
た出力を前記累算バッファ#0〜#3のいずれか少なく
とも1つに書き込むようになされている。
【0057】前記音源部21〜25の発音アルゴリズム
を、PCM音源の場合を例にとって説明する。図9は、
例えば前記PCM音源21(図6(a)に対応)の発音
アルゴリズムを模式的に示す図であり、31は波形テー
ブル、32は波形テーブル読出部(4点補間付き)、3
3は4次のDCF部、34はエンベロープ発生部、35
は音量乗算および累算処理部である。また、36〜39
は累算バッファ部であり、36および37はそれぞれ前
記累算バッファ26の#0の累算バッファに対応してい
る出力用の累算バッファのLチャンネル部およびRチャ
ンネル部である。また、38および39はそれぞれ前記
累算バッファ26の#1および#2に対応する累算バッ
ファである。
【0058】このようなアルゴリズムを有するPCM音
源において、波形テーブル読出部32(ステップS51
に対応)はノートナンバNNに応じて進行する読出アド
レスを発生し、その整数部に基づいて波形テーブル31
から対応する波形データを読み出して、さらに、その小
数部に応じて4点補間演算を実行する。そして、その出
力は4次のDCF33(ステップS52に対応)におい
てフィルタ処理されたのち、音量乗算および累算処理部
35(ステップS54に対応)に入力される。該音量乗
算及び累算処理部35にはエンベロープ発生部34(ス
テップS53に対応)により発生されるエンベロープデ
ータも入力されており、前記波形データとエンベロープ
データおよび各累算バッファ別の送出レベルデータとが
乗算され、それぞれ指定された累算バッファ36〜39
に足し込まれる。すなわち、エフェクト処理が施されな
い発音チャンネルの楽音波形データは累算バッファ36
および37に、エンベロープとL、Rの直接出力のレベ
ルに応じた音量制御をされた後に足し込まれ、エフェク
ト処理が行なわれる発音チャンネルによる楽音波形デー
タは、当該エフェクト処理に対応する累算バッファ38
あるいは39に、それぞれ、エンベロープと各エフェク
トへの送出レベルに応じた音量制御が施された後に足し
込まれることとなる。
【0059】前記エフェクト処理部のエフェクトアルゴ
リズムについて、リバーブ処理28(図7に対応)を例
にとって説明する。図10は前記リバーブ処理28にお
けるアルゴリズムを模式的に示した図であり、41は前
述した累算バッファ#1に対応する累算バッファ、42
は初期反射音に対応する遅延部(ステップS81に対
応)であり、2タップ補間なしの遅延部とされている。
43は2系統のオールパスフィルタ(ステップS82に
対応)、44は並列に設けられた6系統の櫛形フィル
タ、45は該櫛形フィルタ44の出力を混合してLとR
の2チャンネルの出力を生成するためのミキサ部、46
および47は、いずれも、前記ミキサ部45からの出力
が入力される2系統のオールパスフィルタであり、これ
ら6系統櫛形フィルタ44、ミキサ部45および2系統
のオールパスフィルタ46、47は前記ステップS83
に対応している。また、これらの出力は音量乗算及び累
算処理部48(ステップS84に対応)に入力されてい
る。
【0060】この音量乗算および累算処理部48におい
て、前記遅延部42の出力およびオールパスフィルタ4
6および47の出力が所定のレベルでミキシングされ、
それぞれ対応する累算バッファ49〜52に累算され
る。ここで、49および50は、前記累算バッファ36
および37と同一の出力用の累算バッファ#0のLチャ
ンネル部およびRチャンネル部であり、このリバーブ処
理が施された後に出力される楽音信号波形はこれらの累
算バッファに書き込まれる。また、51および52はそ
れぞれ前記累算バッファ26の#3の右および左のチャ
ンネルに対応する累算バッファであり、このリバーブ処
理の後にさらに他のエフェクト処理(例えば、チューブ
処理)が施される楽音波形データはこれらのバッファに
書き込まれることとなる。なお、前記他のエフェクト処
理はこの累算バッファ51および52を入力として所定
のエフェクト処理を実行することとなる。
【0061】上述したように、本発明の楽音発生方法に
おいては各種の音源方式による波形生成プログラムおよ
びエフェクトプログラムを共通の波形処理サブルーチン
により構成するようにしたものであるが、これらの各プ
ログラムがメモリ上に記憶される様子について、図11
に示す前記RAM3のメモリマップの一例を参照して説
明する。ここで管理データは、このプログラム群の内容
などが書き込まれている領域である。この管理データに
続いて、波形生成プログラム(TGP)群が順次格納さ
れている。図示するように、第1のPCM音源である波
形生成プログラムTGP1、第2のPCM音源であるT
GP2、物理モデル音源であるTGP3、第3のPCM
音源であるTGP4、FM音源であるTGP5などこの
演奏において必要とされる波形生成プログラム群が順次
格納されている。前記図6に示した3つのフローチャー
トは、この波形生成プログラムTGPの具体例である。
また、各生成プログラムTGPは、図示するように、そ
れぞれヘッダ部と生成ルーチン部とから構成されてお
り、ヘッダ部にはこの生成プログラムの名称、特徴およ
び各種のパラメータが格納されており、生成ルーチン部
には、前述したように波形処理サブルーチンを使用する
当該波形生成ルーチンが書き込まれている。
【0062】前記波形生成プログラム群に続いて、エフ
ェクトプログラム(EP)群が格納されている。ここに
は、各種のエフェクト処理を施すためのプログラム群が
格納されており、図示する例においては、リバーブ処理
を行なうEP1、コーラス処理を行なうEP2、第2の
リバーブ処理を行なうEP3などの各種のエフェクトプ
ログラムが順次格納されている。前記図7に示したリバ
ーブ処理は、このエフェクトプログラムEPの具体例で
ある。これら各エフェクトプログラムは、図示するよう
に、ヘッダ部とエフェクトルーチン部とから構成されて
おり、ヘッダ部にはこのエフェクト処理の名称、特徴や
各種パラメータが格納されており、エフェクトルーチン
部には前記波形処理サブルーチンを使用するエフェクト
ルーチンが格納されている。
【0063】前記エフェクトプログラム群の後には、波
形処理サブルーチン群が格納されている。図示するよう
に、このエリアには前述したような各波形処理サブルー
チンが処理の内容別に区分されて格納されている。この
例においては、まず、テーブル読出に関するサブルーチ
ン群が格納され、続いて、フィルタ処理に関するサブル
ーチン群、EG処理に関するサブルーチン群、音量制御
および累算処理サブルーチン群といったように各波形処
理サブルーチンが格納されている。ここのエリアには、
前述した用意される波形処理サブルーチン群のうちの、
前記波形生成プログラムTGPないしエフェクトプログ
ラムEPで実際に使用されている波形処理サブルーチン
のみを記憶すればよい。一方、その他の波形処理サブル
ーチンを含む全波形処理サブルーチンは、基本的には前
記ハードディスク装置7の中に記憶され、そこから供給
されるが、さらに、外部記憶媒体14やネットワークを
通じて他のコンピュータから供給されるようにしてもよ
い。
【0064】さて、前述したように、本発明の楽音発生
方法においては、波形処理サブルーチンを各方式の音源
プログラムで共通に使用するようにしているため、ユー
ザが任意に使用する波形処理サブルーチンを選択して、
音源プログラム(楽音生成処理)の発音アルゴリズムを
エディットすることも可能となる。このような設定処理
について、説明する。なお、これらの設定処理は、いず
れも前述した図3(a)のメインルーチンにおけるステ
ップS7のその他処理において実行されるものである。
【0065】図12は波形生成プログラムの設定処理を
説明するためのフローチャートである。波形生成プログ
ラムの設定操作がユーザによりなされたとき、この処理
が起動される。この処理においては、まず、ステップS
101において、ユーザによる波形生成方式の選択が行
なわれる。次に、ステップS102において、選択され
た波形生成方式がどの方式であるかに応じて、それぞ
れ、対応する設定処理、すなわち、PCM設定処理S1
03、FM設定処理S104、物理モデル設定処理S1
05および任意設定処理S106に分岐して、それぞれ
対応する設定処理が行なわれることとなる。
【0066】前記設定処理S103〜S106におい
て、実行される設定処理の概要を図13を参照して説明
する。前述した設定処理が起動されると、まず、ステッ
プS111において、各音源方式に応じた基本要素の設
定が行なわれる。なお、この各音源方式に対応した基本
要素の設定処理については後述する。続いて、ステップ
S112に進み、ユーザによるオプションの追加がある
か否かが判定される。オプションの追加があるときに
は、ステップS113に進み追加するオプションの種類
を指定し、ステップS114において該指定されたオプ
ションの設定処理を行なう。そして、再び前記ステップ
S112に戻り、さらにオプションの追加があるか否か
が判定される。このオプションを追加することにより、
ユーザは、例えば、波形テーブルから読み出した波形デ
ータに対してフィルタ処理を追加したり、物理モデル音
源において、スロート、グロールあるいはレゾネータを
追加したりすることなど発音アルゴリズムに対し各種の
変更を行なうことができる。
【0067】また、オプションの追加がないときには、
ステップS115に進み、前記ステップS11の基本要
素設定および前記ステップS114によるオプションの
設定処理において設定された各種の設定に応じて、当該
波形処理サブルーチンを呼び出すコール命令を含む波形
生成プログラムを作成し、ステップS116において該
作成した波形生成プログラムをメモリに保存する。な
お、前記ステップS115のプログラム作成処理におい
ては、前記設定に応じた生成プログラムを生成する代わ
りに、例えば、CD−ROM等の大容量記憶媒体中に多
くの波形生成プログラムを記憶しておき、前記設定に該
当する生成プログラムを該記憶媒体から選択するように
することもできる。
【0068】次に、前記各音源方式に応じた基本要素の
設定処理S111について説明する。図14はこの基本
要素の設定処理のフローチャートであり、同図(a)は
PCM方式における基本要素設定処理、(b)はFM方
式における基本要素設定処理、(c)は物理モデル方式
における基本要素設定処理のフローチャートである。P
CM方式の場合には、まず、ステップS121において
テーブル読出処理に関する設定が行なわれ、続いて、ス
テップS122においてEGの設定、ステップS123
において音量乗算および累算処理の設定が行なわれる。
ユーザは前記各ステップS121〜S123において、
それぞれの処理に対応する前述したサブルーチン群の中
から所望の波形処理サブルーチンを選択する。
【0069】FM方式の場合には、同図(b)に示すよ
うに、まず、ステップS131においてオペレータ数を
設定し、続いてステップS132においてオペレータ間
の結線について設定し、ステップS133において各オ
ペレータの構成について設定し、さらに、ステップS1
34において音量乗算及び累算処理についての設定を行
なう。また、物理モデル音源の場合には、同図(c)に
示すように、まず、ステップS141において励振部の
設定を行ない、続いてステップS142において発振
部、ステップS143において共鳴部に関する設定を行
なって、ステップS144において音量乗算及び累算処
理部の設定を行なう。以上説明した波形生成プログラム
の設定処理により、例えば、前記図6(a)に示される
PCM音源処理で、さらにLFOによるビブラート処理
を追加したアルゴリズムや、フィルタの次数や出力系列
数を変更した発音アルゴリズムを有する波形生成プログ
ラム(楽音生成処理)等を簡単に作成することができ
る。
【0070】次に、エフェクトプログラムの設定処理に
ついて、図15を参照して説明する。エフェクト処理の
設定を行なうときには、まず、ステップS151におい
てユーザは使用するエフェクトの方式を選択する。次
に、ステップS152において選択された方式に応じ
て、それぞれに対応する処理に分岐する。例えば、選択
されたエフェクトがリバーブであるときにはステップS
153のリバーブ設定処理、コーラスであるときにはス
テップS154のコーラス設定処理、その他のエフェク
トであるときにはステップS155において対応する設
定処理が行なわれることとなる。なお、これらの設定処
理については、基本的に前述した生成プログラムの設定
処理と同様であるので、これ以上の説明は省略すること
とする。以上説明したエフェクトプログラムの設定処理
により、例えば、図7に示されるリバーブ処理で、さら
に初期反射の数を増やしたエフェクトアルゴリズムや、
残響の櫛形フィルタの数を減らしたエフェクトアルゴリ
ズムのエフェクトプログラム等を簡単に作成することが
できる。
【0071】なお、本発明で述べている「波形処理サブ
ルーチン」とは、単純な加減乗除の演算のためのサブル
ーチンではなく、本文中に「共通に使用されるサブルー
チンの例」として述べられているような、波形生成やエ
フェクトの処理に特有の、所定の波形生成、波形加工の
ための機能を有するサブルーチンを示す。また、以上の
説明においては、設定した生成プログラムやエフェクト
プログラムは当該演奏処理期間中は変更されないものと
して説明したが、これに限られることはなく、音源処理
の負荷に応じて、発音アルゴリズムあるいはエフェクト
アルゴリズムを負荷の少ない波形処理サブルーチンを使
用するように自動的に変更するようにしてもよい。
【0072】さらに、プリセット音色データ等の関係情
報、および、アプリケーションプログラム、波形生成プ
ログラム、エフェクトプログラム、波形処理サブルーチ
ン等の動作プログラムをハードディスク等の記憶装置に
格納し、CPUがこれらをRAMに読み出してから使用
するように構成し、さらに、CD−ROMやフロッピィ
ディスク、光磁気ディスク(MO)等の可搬型の記録媒
体に記録されたデータをハードディスク等の記憶装置に
転送できるように構成すれば、関係情報や動作プログラ
ム等の追加や更新の際に便利である。もちろん、可搬型
の記録媒体から直接RAMへデータを転送するようにし
てもよい。これにより、上記関係情報や動作プログラム
等を容易に配布することが可能となる。
【0073】さらにまた、可搬型の記録媒体経由ではな
く、通信インターフェース経由で前記関係情報や動作プ
ログラム等をハードディスク等の記憶装置にダウンロー
ドするようにしてもよい。すなわち、前記ネットワーク
インターフェース回路15は、LAN(Local Area Net
work)やインターネット、電話回線等の通信ネットワー
クに接続されており、当該通信ネットワークを介して、
サーバコンピュータと接続されている。そこで、本発明
の楽音発生装置は、前記ハードディスク装置7や前記外
部記録媒体駆動装置13に挿入されている外部記録媒体
14中に当該関係情報や動作プログラム等が記憶されて
いないときにクライアントとなって、前記サーバに対し
て当該関係情報や動作プログラム等の配信を要求するコ
マンドを送信する。前記サーバは、このコマンドを受け
取ると、要求された関係情報や動作プログラム等をネッ
トワークを介して本発明の楽音発生装置に対して送信す
る。本発明の楽音発生装置は、この配信された関係情報
や動作プログラムを前記ネットワークインターフェース
回路15を介して受信し、前記ハードディスク装置7に
格納する。
【0074】
【発明の効果】以上説明したように本発明の楽音発生方
法、楽音発生装置および楽音発生用プログラムを記録し
た記録媒体によれば、各音源方式における波形生成プロ
グラムおよびエフェクトプログラムの構成要素を共通サ
ブルーチン化しているために、複数の音源方式によるソ
フトウエア音源を少ない記憶容量で実現することが可能
となる。また、同じ波形処理サブルーチンを複数の音源
方式で使用することができるため、複数の方式を混合し
た方式の音源を容易に実現することが可能となる。さら
に、同時に2つの発音チャンネルで実行可能な、少なく
とも2つの異なる発音アルゴリズムに基づく波形生成処
理で、共通の波形処理サブルーチンを使用しているの
で、プログラムの記憶領域を節約することができる。ま
た、命令キャッシュを備えたCPUで実行した場合、共
用したサブルーチンについてキャッシュのヒット率を向
上することができる。
【0075】さらにまた、キャッシュを備えたCPUで
複数の発音チャンネルの複数の発音アルゴリズムに基づ
く波形生成をする場合に、複数の発音チャンネルの処理
を各発音アルゴリズム毎にまとめて処理するようにした
ので、キャッシュのヒット率が向上し、処理が速くな
る。さらにまた、発音チャンネルで実行される波形生成
処理と、生成された波形データに効果を付与するエフェ
クト処理で、共通の波形処理サブルーチンを使用してい
るので、プログラムの記憶領域を節約することができ
る。また、命令キャッシュを備えたCPUで実行した場
合、共用したサブルーチンについてキャッシュのヒット
率を向上することができる。
【0076】さらにまた、ユーザがアルゴリズムを指定
し、指定に従って波形処理サブルーチンを組み合わせて
生成プログラムを作成するようにしたので、自由度の高
いアルゴリズムのエディットが可能である。しかも、作
成された生成プログラム中には選択された波形処理サブ
ルーチンのコール命令があるだけであり、ルーチン中で
選択に応じた分岐処理を行なう必要がないので、処理速
度が高速となる。
【図面の簡単な説明】
【図1】 本発明の楽音発生方法が適用される楽音発生
装置の一例を示すブロック図である。
【図2】 本発明の楽音発生方法における時間的な処理
の流れを説明するための図である。
【図3】 本発明の楽音発生方法におけるメインルーチ
ンおよびDMACの割込処理ルーチンを説明するための
フローチャートである。
【図4】 ノーオンイベント処理を説明するためのフロ
ーチャートである。
【図5】 音源処理を説明するためのフローチャートで
ある。
【図6】 各音源方式による楽音生成処理を説明するた
めのフローチャートである。
【図7】 リバーブ処理を説明するためのフローチャー
トである。
【図8】 本発明の楽音発生方法が適用される楽音発生
装置における楽音合成アルゴリズムを説明するための図
である。
【図9】 PCM音源のアルゴリズムを説明するための
図である。
【図10】 リバーブ処理のアルゴリズムを説明するた
めの図である。
【図11】 メモリマップの一例を示す図である。
【図12】 波形生成プログラムの設定処理を説明する
ための図である。
【図13】 設定処理を説明するための図である。
【図14】 各音源方式における基本要素の設定処理を
説明するための図である。
【図15】 エフェクトプログラムの設定処理を説明す
るための図である。
【符号の説明】
1 CPU、2 ROM、3 RAM、4 タイマ、5
キーボード、6 ディスプレイ装置、7 ハードディ
スク装置、8 DMAC、9 サウンド入出力回路、1
0 サンプリングクロック発生器、11 外部オーディ
オ信号入力回路、12 サウンドシステム、13 外部
記憶駆動回路、14 外部記憶媒体、15 ネットワー
クインターフェース回路、16 バス、17 キャッシ
ュメモリ、21、22 PCM音源部、23、24 F
M音源部、25 物理モデル音源部、26 累算バッフ
ァ部、27 イコライザ処理部、28 リバーブ処理
部、29 コーラス処理部、30 チューブ処理部、3
1 波形テーブル、32 波形テーブル読出部、33
4次DCF、34 エンベロープ発生部、35、48音
量乗算および累算処理部、36〜39、41、49〜5
2 累算バッファ、42 遅延部、43、46、47
オールパスフィルタ部、44 櫛形フィルタ部、45
ミキサ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 清水 正宏 静岡県浜松市中沢町10番1号 ヤマハ株 式会社内 (56)参考文献 特開 平4−348396(JP,A) 特開 平7−319471(JP,A) (58)調査した分野(Int.Cl.7,DB名) G10H 1/02 G10H 7/00 512

Claims (19)

    (57)【特許請求の範囲】
  1. 【請求項1】 処理装置において実行され、複数チャ
    ンネル分の楽音を発生させることが可能な楽音発生方法
    であって、 a.演奏情報を供給するステップ、 b.所定時間間隔でタイミング信号を発生するステッ
    プ、 c.前記タイミング信号に応じて前記演奏情報に応じた
    複数チャンネル分の波形データを連続する複数サンプル
    分生成して出力するステップであって、前記複数のチャ
    ンネルのうちの一部のチャンネルについては第1の発音
    プログラムに基づいて楽音生成を行ない、他のチャンネ
    ルについては第2の発音プログラムに基づいて楽音生成
    を行なうステップ、および、 d.前記ステップcにおいて生成された波形データをサ
    ンプリング周期毎に1サンプルずつデジタルアナログ変
    換器に供給するステップを備え、 前記第1の発音プログラムと前記第2の発音プログラム
    とで共通の波形処理サブルーチンが使用されるようにな
    されていることを特徴とする楽音発生方法。
  2. 【請求項2】 前記波形処理サブルーチンは、波形テ
    ーブル読出処理、フィルタ処理、エンベロープ生成処
    理、音量制御処理および波形累算処理のうちの少なくと
    も1つの処理を行なうことを特徴とする前記請求項1記
    載の楽音発生方法。
  3. 【請求項3】 前記処理装置はキャッシュメモリを備
    えており、該キャッシュメモリに前記使用される波形処
    理サブルーチンのキャッシングが行なわれることを特徴
    とする前記請求項1記載の楽音発生方法。
  4. 【請求項4】 前記波形処理サブルーチンのうち、前
    記第1の発音プログラムと前記第2の発音プログラムに
    使用されるサブルーチンのみが前記処理装置のメモリ上
    に選択的に記憶されることを特徴とする前記請求項1記
    載の楽音発生方法。
  5. 【請求項5】 キャッシュメモリを備える処理装置に
    おいて実行され、複数チャンネル分の楽音を発生させる
    ことが可能な楽音発生方法であって、 a.演奏情報を供給するステップ、 b.所定時間間隔でタイミング信号を発生するステッ
    プ、 c.前記タイミング信号に応じて前記演奏情報に応じた
    複数チャンネル分の波形データを連続する複数サンプル
    分生成して出力するステップであって、前記複数のチャ
    ンネルのうちの一部のチャンネルについては第1の発音
    プログラムに基づいて楽音生成を行ない、他のチャンネ
    ルについては第2の発音プログラムに基づいて楽音生成
    を行なうステップ、および、 d.前記ステップcにおいて生成された波形データをサ
    ンプリング周期毎に1サンプルずつデジタルアナログ変
    換器に供給するステップを備え、 前記ステップcは、前記一部のチャンネルについて前記
    第1の発音プログラムに基づいて楽音生成をまとめて実
    行した後、前記他のチャンネルについて前記第2の発音
    プログラムに基づいて楽音生成をまとめて実行するもの
    であることを特徴とする楽音発生方法。
  6. 【請求項6】 処理装置において実行される楽音発生
    方法であって、 a.演奏情報を供給するステップ、 b.所定時間間隔でタイミング信号を発生するステッ
    プ、 c.前記タイミング信号に応じて前記演奏情報に応じた
    波形データを連続する複数サンプル分生成して出力する
    ステップであって、所定の発音プログラムに基づいて楽
    音生成を行ない、さらに、該生成された楽音に対し所定
    のエフェクトプログラムに基づいて効果付与を行なうス
    テップ、および、 d.前記ステップcにおいて生成された波形データをサ
    ンプリング周期毎に1サンプルずつデジタルアナログ変
    換器に供給するステップを備え、 前記発音プログラムと前記エフェクトプログラムとで共
    通の波形処理サブルーチンが使用されるようになされて
    いることを特徴とする楽音発生方法。
  7. 【請求項7】 前記波形処理サブルーチンは、フィル
    タ処理、遅延処理、音量制御処理および波形累算処理の
    うちの少なくとも1つの処理を行なうことを特徴とする
    前記請求項6記載の楽音発生方法。
  8. 【請求項8】 前記処理装置はキャッシュメモリを備
    えており、該キャッシュメモリに前記使用される波形処
    理サブルーチンのキャッシングが行なわれることを特徴
    とする前記請求項6記載の楽音発生方法。
  9. 【請求項9】 処理装置において実行される楽音発生
    方法であって、次のa〜fのステップを備えることを特
    徴とする楽音発生方法。 a.ユーザの指示に応じてアルゴリズムを指定する指定
    ステップ、 b.前記ステップaにおけるアルゴリズムの指定に応じ
    て、記憶装置に記憶されたサブルーチン群の中から必要
    な波形処理サブルーチンを選択し、該選択されたサブル
    ーチンを呼び出すコール命令を含む生成プログラムを準
    備するステップ、 c.演奏情報を供給するステップ、 d.所定時間間隔でタイミング信号を発生するステッ
    プ、 e.前記タイミング信号に応じて前記演奏情報に応じた
    波形データを連続する複数サンプル分生成して出力する
    生成ステップであって、前記ステップbにおいて準備さ
    れた前記生成プログラムに基づいて楽音生成を行なうス
    テップ、 f.前記ステップeにおいて生成された波形データをサ
    ンプリング周期毎に1サンプルずつデジタルアナログ変
    換器に供給するステップ。
  10. 【請求項10】 前記波形処理サブルーチンは、波形
    テーブル読出処理、フィルタ処理、エンベロープ生成処
    理、音量制御処理および波形累算処理のうちの少なくと
    も1つの処理を行なうことを特徴とする前記請求項9記
    載の楽音発生方法。
  11. 【請求項11】 前記波形処理サブルーチンのうち、
    前記生成プログラムによりコールされるサブルーチンの
    みが、前記処理装置のメモリ上に選択的に記憶されるこ
    とを特徴とする前記請求項9記載の楽音発生方法。
  12. 【請求項12】 複数チャンネル分の楽音を発生する
    ことが可能な楽音発生装置であって、 演奏情報を供給する手段、 所定時間間隔でタイミング信号を発生する手段、 前記タイミング信号に応じて前記演奏情報に応じた複数
    チャンネル分の波形データを連続する複数サンプル分生
    成して出力する手段であって、前記複数のチャンネルの
    うちの一部のチャンネルについては第1の発音プログラ
    ムに基づいて楽音生成を行ない、他のチャンネルについ
    ては第2の発音プログラムに基づいて楽音生成を行なう
    手段、および、 生成された波形データをサンプリング周期毎に1サンプ
    ルずつデジタルアナログ変換器に供給する手段を有し、 前記第1の発音プログラムと前記第2の発音プログラム
    とで共通の波形処理サブルーチンが使用されるようにな
    されていることを特徴とする楽音発生装置。
  13. 【請求項13】 複数チャンネル分の楽音を発生する
    ことが可能なキャッシュメモリを備えた楽音発生装置で
    あって、 演奏情報を供給する手段、 所定時間間隔でタイミング信号を発生する手段、 前記タイミング信号に応じて前記演奏情報に応じた複数
    チャンネル分の波形データを連続する複数サンプル分生
    成して出力する手段であって、前記複数のチャンネルの
    うちの一部のチャンネルについて第1の発音プログラム
    に基づいて楽音生成をまとめて実行した後、他のチャン
    ネルについて第2の発音プログラムに基づいて楽音生成
    をまとめて実行する手段、および、 生成された波形データをサンプリング周期毎に1サンプ
    ルずつデジタルアナログ変換器に供給する手段を有する
    ことを特徴とする楽音発生装置。
  14. 【請求項14】 演奏情報を供給する手段、 所定時間間隔でタイミング信号を発生する手段、 前記タイミング信号に応じて前記演奏情報に応じた波形
    データを連続する複数サンプル分生成して出力する生成
    手段であって、所定の発音プログラムに基づいて楽音生
    成を行ない、該生成された楽音に対し所定のエフェクト
    プログラムに基づいて効果付与を行なうようになされて
    おり、かつ、前記発音プログラムと前記エフェクトプロ
    グラムとで共通の波形処理サブルーチンを使用するよう
    になされた生成手段、および、 前記生成手段により生成された波形データをサンプリン
    グ周期毎に1サンプルずつデジタルアナログ変換器に供
    給する手段を有することを特徴とする楽音発生装置。
  15. 【請求項15】 ユーザの指示に応じてアルゴリズム
    を指定する指定手段、 前記指定手段により指定されたアルゴリズムに応じて、
    記憶装置に記憶されたサブルーチン群の中から必要な波
    形処理サブルーチンを選択し、該選択されたサブルーチ
    ンを呼び出すコール命令を含む生成プログラムを準備す
    る手段、 演奏情報を供給する手段、 所定時間間隔でタイミング信号を発生する手段、 前記タイミング信号に応じて前記演奏情報に応じた波形
    データを連続する複数サンプル分生成して出力する生成
    手段であって、前記準備する手段により準備された前記
    生成プログラムに基づいて楽音生成を行なう生成手段、
    および、 前記生成手段により生成された波形データをサンプリン
    グ周期毎に1サンプルずつデジタルアナログ変換器に供
    給する手段を有することを特徴とする楽音発生装置。
  16. 【請求項16】 処理装置によって複数チャンネル分
    の楽音を発生させるためのプログラムを記録した記録媒
    体であって、 該プログラムは、演奏情報を供給する手順、所定時間間
    隔でタイミング信号を発生する手順、前記タイミング信
    号に応じて前記演奏情報に応じた複数チャンネル分の波
    形データを連続する複数サンプル分生成して出力する手
    順であって、前記複数のチャンネルのうちの一部のチャ
    ンネルについては第1の発音プログラムに基づいて楽音
    生成を行ない、他のチャンネルについては第2の発音プ
    ログラムに基づいて楽音生成を行なうようになされてお
    り、かつ、前記第1の発音プログラムと前記第2の発音
    プログラムとで共通の波形処理サブルーチンを使用する
    ようになされた手順、および、生成された波形データを
    サンプリング周期毎に1サンプルずつデジタルアナログ
    変換器に供給する手順を処理装置に実行させるようにな
    されているものであることを特徴とする楽音発生用プロ
    グラムを記録した記録媒体。
  17. 【請求項17】 処理装置によって複数チャンネル分
    の楽音を発生させるためのプログラムを記録した記録媒
    体であって、 該プログラムは、演奏情報を供給する手順、所定時間間
    隔でタイミング信号を発生する手順、前記タイミング信
    号に応じて前記演奏情報に応じた複数チャンネル分の波
    形データを連続する複数サンプル分生成して出力する手
    順であって、前記複数のチャンネルのうちの一部のチャ
    ンネルについて第1の発音プログラムに基づいて楽音生
    成をまとめて実行した後、他のチャンネルについて第2
    の発音プログラムに基づいて楽音生成をまとめて実行す
    る手順、および、生成された波形データをサンプリング
    周期毎に1サンプルずつデジタルアナログ変換器に供給
    する手順を処理装置に実行させるようになされているも
    のであることを特徴とする楽音発生用プログラムを記録
    した記録媒体。
  18. 【請求項18】 処理装置によって楽音を発生させる
    ためのプログラムを記録した記録媒体であって、 該プログラムは、演奏情報を供給する手順、所定時間間
    隔でタイミング信号を発生する手順、前記タイミング信
    号に応じて前記演奏情報に応じた波形データを連続する
    複数サンプル分生成して出力する手順であって、所定の
    発音プログラムに基づいて楽音生成を行ない、該生成さ
    れた楽音に対し所定のエフェクトプログラムに基づいて
    効果付与を行なうようになされており、かつ、前記発音
    プログラムと前記エフェクトプログラムとで共通の波形
    処理サブルーチンを使用するようになされた手順、およ
    び、生成された波形データをサンプリング周期毎に1サ
    ンプルずつデジタルアナログ変換器に供給する手順を処
    理装置に実行させるようになされているものであること
    を特徴とする楽音発生用プログラムを記録した記録媒
    体。
  19. 【請求項19】 処理装置によって楽音を発生させる
    ためのプログラムを記録した記録媒体であって、 該プログラムは、ユーザの指示に応じてアルゴリズムを
    指定する手順、前記指定されたアルゴリズムに応じて、
    記憶装置に記憶されたサブルーチン群の中から必要な波
    形処理サブルーチンを選択し、該選択されたサブルーチ
    ンを呼び出すコール命令を含む生成プログラムを準備す
    る手順、演奏情報を供給する手順、所定時間間隔でタイ
    ミング信号を発生する手順、前記タイミング信号に応じ
    て前記演奏情報に応じた波形データを連続する複数サン
    プル分生成して出力する手順であって、前記準備された
    生成プログラムに基づいて楽音生成を行なう手順、およ
    び、生成された波形データをサンプリング周期毎に1サ
    ンプルずつデジタルアナログ変換器に供給する手順を処
    理装置に実行させるようになされているものであること
    を特徴とする楽音発生用プログラムを記録した記録媒
    体。
JP22122297A 1996-08-30 1997-08-04 楽音発生方法、楽音発生装置および楽音発生用プログラムを記録した記録媒体 Expired - Fee Related JP3246405B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22122297A JP3246405B2 (ja) 1996-08-30 1997-08-04 楽音発生方法、楽音発生装置および楽音発生用プログラムを記録した記録媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP24695796 1996-08-30
JP8-246957 1996-08-30
JP22122297A JP3246405B2 (ja) 1996-08-30 1997-08-04 楽音発生方法、楽音発生装置および楽音発生用プログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JPH10124060A JPH10124060A (ja) 1998-05-15
JP3246405B2 true JP3246405B2 (ja) 2002-01-15

Family

ID=26524163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22122297A Expired - Fee Related JP3246405B2 (ja) 1996-08-30 1997-08-04 楽音発生方法、楽音発生装置および楽音発生用プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP3246405B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3956263B2 (ja) * 1999-07-19 2007-08-08 ヤマハ株式会社 電話装置
JP3879681B2 (ja) * 2002-05-20 2007-02-14 ヤマハ株式会社 楽音信号生成装置
JP4645597B2 (ja) * 2007-01-09 2011-03-09 ヤマハ株式会社 楽音合成方法、記録媒体および楽音合成装置
JP5071124B2 (ja) * 2008-01-28 2012-11-14 ヤマハ株式会社 音源装置

Also Published As

Publication number Publication date
JPH10124060A (ja) 1998-05-15

Similar Documents

Publication Publication Date Title
EP1026662B1 (en) Software sound source
EP0690434B1 (en) Digital manipulation of audio samples
JP3173382B2 (ja) 楽音制御装置、カラオケ装置、音楽情報供給及び再生方法、音楽情報供給装置並びに音楽再生装置
EP0750290B1 (en) Method and device for forming a tone waveform by combined use of different waveform sample forming resolutions
JP3246405B2 (ja) 楽音発生方法、楽音発生装置および楽音発生用プログラムを記録した記録媒体
JP2001508886A (ja) サウンドシンセサイザにおける指数減衰の近似装置および方法
JP4036233B2 (ja) 楽音発生装置および楽音発生方法、並びに該方法に係るプログラムを記憶した記憶媒体
JPH07121181A (ja) 音声情報処理装置
JPH08160961A (ja) 音源装置
US5841054A (en) Musical tone synthesizing apparatus having competibility of tone color parameters for different systems
JPH07306681A (ja) 楽音生成装置
JP3339372B2 (ja) 楽音発生装置および楽音発生方法を実現するためのプログラムを格納した記憶媒体
JP3666346B2 (ja) 楽音発生装置および記憶媒体
JPH10149166A (ja) 楽音合成装置
JP3459016B2 (ja) オーディオ信号処理方法および装置
JP2001092450A (ja) オーディオ・ファイルの生成処理方法
JP3011064B2 (ja) 楽音処理装置
JP2956552B2 (ja) 楽音発生方法および装置
JP3735172B2 (ja) 演奏情報処理方法
JPH1011097A (ja) カラオケ装置
JPH10133659A (ja) ディジタル信号処理プロセッサ
JPH1011096A (ja) カラオケ装置
JPH07271375A (ja) 音源装置
JPH02192259A (ja) デジタル音楽情報の出力装置
JPS62178297A (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: 20011002

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

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20081102

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20081102

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20091102

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20101102

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20101102

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20111102

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20111102

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20121102

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20121102

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20131102

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees