JPH10124059A - 楽音発生方法および記憶媒体 - Google Patents
楽音発生方法および記憶媒体Info
- Publication number
- JPH10124059A JPH10124059A JP9219040A JP21904097A JPH10124059A JP H10124059 A JPH10124059 A JP H10124059A JP 9219040 A JP9219040 A JP 9219040A JP 21904097 A JP21904097 A JP 21904097A JP H10124059 A JPH10124059 A JP H10124059A
- Authority
- JP
- Japan
- Prior art keywords
- data
- tone
- timbre
- sound source
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 142
- 238000013500 data storage Methods 0.000 claims abstract description 64
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 70
- 230000008859 change Effects 0.000 abstract description 15
- 238000012545 processing Methods 0.000 description 51
- 230000004913 activation Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 9
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 238000005070 sampling Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
し,同時に実行中の他のアプリケーションプログラムが
使用するRAMの容量を確保し、当該他のアプリケーシ
ョンプログラムの動作の確保が可能な楽音発生方法およ
び記憶媒体。 【解決手段】 入力されたプログラムチェンジイベント
データおよびバンクセレクトイベントデータを解析し、
新音色番号TCを決定し、音源データ格納領域上の、指
定音源方式TMに対応する音色データ領域において、音
色番号TCの音色データをサーチし、音源方式TMがF
M音源方式か否かを判別するS104。FM音源方式で
ないときは、目的の音色データがロードされているか否
かを判別し、該音色データがロードされていないとき
は、代理発音指定処理を実行する。一方、FM音源方式
で、目的の音色データがロードされていないときには、
音色番号TCにより指定された音色データをロードし
て、音源方式TMによる発音指定を行う。
Description
奏情報の発生に応じて音色を制御し、楽音を発生させる
楽音発生方法および記憶媒体に関する。
igital Interface)データ(メッセージ)等の演奏情報
に基づいて楽音を生成する楽音生成装置は知られてい
る。
設定するための音色データをメモリ上に用意し、この用
意した音色データから、発生した演奏情報に応じた音色
データを選択して音源回路に設定し、たとえばノートナ
ンバ等のその他のデータとともに楽音波形を生成する。
って、汎用コンピュータや専用の楽音発生装置に搭載し
たCPUにおいて、所定の楽音生成処理手順を記述した
プログラムを実行させることにより、発生された演奏情
報に応じて楽音波形データを生成させる、いわゆるソフ
トウェア音源(以下、「ソフト音源」と略す)と呼ばれ
るものが登場している。
来の楽音生成装置では、任意の演奏情報に応じてリアル
タイムに楽音を生成するため、すべての音色番号に対応
する音色データ(パラメータや波形テーブル等)を、前
記メモリ上に用意しておく必要があり、そして、音色デ
ータの容量は通常かなり大きいため、楽音生成に必要な
メモリは大容量化していた。
を、予めCPUが参照するメモリ(このメモリは通常
「RAM」であるので、以下、「RAM」に限定して説
明する)上に用意(展開)しておく必要があった。
して記憶し、この記憶波形を読み出して楽音を生成する
波形メモリ音源方式(以下、「PCM音源方式」とい
う)を用いたソフト音源の場合には、GM(General MI
DI)システムの基本仕様である128音色に対応する音
色データをすべてRAM上に展開しておく必要があり、
この音色データの総容量は2Mバイト程度であるため、
RAMの使用量は多かった。
ている装置が、たとえば汎用コンピュータである場合に
は、現在の汎用コンピュータは、マルチタスク機能によ
り、ソフト音源プログラムを実行中でも、同時に他のア
プリケーションプログラムを実行している場合が多いた
め、そのRAMは、ソフト音源プログラムと当該他のア
プリケーションプログラムとの共用になっている。した
がって、上述の音色データがRAMに展開されると、他
のアプリケーションプログラムが使用できるRAMの容
量が減少し、その動作速度が低下したり、最悪の場合に
は動作自体ができなくなったりすることがあった。
で、ソフト音源が使用するRAMの容量を減少させて、
同時に実行中の他のアプリケーションプログラムが使用
するRAMの容量を確保し、これにより、当該他のアプ
リケーションプログラムの動作を確保することが可能な
楽音発生方法を提供することを目的とする。
め、本発明の楽音発生方法は、音色データを音色データ
記憶手段に記憶する記憶ステップと、音色切換を示す演
奏情報が発生したときに、当該切り換えるべき音色デー
タが前記音色データ記憶手段に格納されているか否かを
検索する検索ステップと、該検索の結果、切り換えるべ
き音色データが前記音色データ記憶手段に格納されてい
るときには、該音色データで楽音を生成する一方、切り
換えるべき音色データが前記音色データ記憶手段に格納
されていないときには、該音色データを該音色データが
格納されている記憶媒体から読み出して前記音色データ
記憶手段に転送記憶するように指示するとともに、該音
色データに類似する他の音色データで楽音を生成するよ
うに制御する制御ステップとを有することを特徴とす
る。
段に記憶された音色データ中、不要となった音色データ
を所定の条件に従って削除する削除ステップを有するこ
とを特徴とする。
記憶媒体は、音色データを音色データ記憶手段に記憶す
る記憶モジュールと、音色切換を示す演奏情報が発生し
たときに、当該切り換えるべき音色データが前記音色デ
ータ記憶手段に格納されているか否かを検索する検索モ
ジュールと、該検索の結果、切り換えるべき音色データ
が前記音色データ記憶手段に格納されているときには、
該音色データで楽音を生成する一方、切り換えるべき音
色データが前記音色データ記憶手段に格納されていない
ときには、該音色データを該音色データが格納されてい
る記憶媒体から読み出して前記音色データ記憶手段に転
送記憶するように指示するとともに、該音色データに類
似する他の音色データで楽音を生成するように制御する
制御モジュールとを含むことを特徴とする。
手段に記憶された音色データ中、不要となった音色デー
タを所定の条件に従って削除する削除モジュールを含む
ことを特徴とする。
に基づいて詳細に説明する。
発生方法を適用した汎用コンピュータの概略構成を示す
ブロック図である。
タは、各種情報を入力するためのキーボード(ポインチ
ングデバイスであるマウスを含む)1と、装置全体の制
御を司るCPU2と、該CPU2が実行する制御プログ
ラムやテーブルデータ等を記憶するROM3と、CPU
2が実行する制御プログラムや各種アプリケーションプ
ログラム、曲データ(MIDIデータファイル)、該曲
データの再生時に使用される各種音色データ、各種入力
情報および演算結果等を一時的に記憶するRAM4と、
タイマ割り込み処理における割り込み時間や各種時間を
計時するタイマ5と、各種情報等を表示する、たとえば
大型LCD若しくはCRTおよびLED等を備えたディ
スプレイ6と、RAM4にロードされる上記制御プログ
ラムや各種アプリケーションプログラム、曲データ、各
種音色データ、およびその他の各種データ等を記憶する
ハードディスクを備えたハードディスク装置7と、たと
えばCD−ROM(Compact Disk-Read Only Memor
y)、MO(Magneto Optical disk)、MD(Mini Dis
k)等の外部記憶媒体をドライブするドライブ装置8
と、通信ネットワーク101を介して、たとえばサーバ
コンピュータ102とデータの送受信を行うためのネッ
トワークI/O9と、“codec”と呼ばれるLSI
から成るサウンドI/O10と、サンプリング周波数F
sを発生させ、サウンドI/O10に供給するサンプリ
ング周波数発生器11と、生成された楽音波形データを
出力するために、RAM4の所定位置に確保された楽音
波形バッファDMABからその楽音波形を1サンプルず
つ直接読み出してサウンドI/O10に出力するDMA
C(Direct Memory Access Controller)12と、サウ
ンドI/O10からのアナログ楽音信号を音響に変換す
る、たとえばスピーカ等のサウンドシステム13とによ
り構成されている。
て相互に接続され、ネットワークI/O9には通信ネッ
トワーク101が接続され、サウンドI/O10には外
部入力103、サンプリング周波数発生器11、DMA
C12およびサウンドシステム13が接続されている。
に、CPU2が実行する制御プログラムが記憶され、R
OM3に制御プログラムが記憶されていない場合には、
このハードディスク装置7に制御プログラムを記憶させ
ておき、それをRAM4に読み込むことにより、ROM
3に制御プログラムを記憶している場合と同様の動作を
CPU2にさせることができる。このようにすると、制
御プログラムの追加やバージョンアップ等が容易に行え
る。
LAN(ローカルエリアネットワーク)やインターネッ
ト、電話回線等の通信ネットワーク101に接続されて
おり、該通信ネットワーク101を介して、サーバコン
ピュータ102と接続される。ハードディスク装置7内
に上記各プログラムや各種パラメータが記憶されていな
い場合には、ネットワークI/O9は、サーバコンピュ
ータ102からプログラムやパラメータをダウンロード
するために用いられる。クライアントとなるコンピュー
タ(本実施の形態の汎用コンピュータ)は、ネットワー
クI/O9および通信ネットワーク101を介してサー
バコンピュータ102へとプログラムやパラメータのダ
ウンロードを要求するコマンドを送信する。サーバコン
ピュータ102は、このコマンドを受け、要求されたプ
ログラムやパラメータを、通信ネットワーク101を介
してコンピュータへと配信し、コンピュータがネットワ
ークI/O9を介して、これらプログラムやパラメータ
を受信してハードディスク装置7に蓄積することによ
り、ダウンロードが完了する。
データのやりとりを行うためのインターフェースを備え
てもよい。
“codec”と呼ばれるLSIで構成され、主として
次の動作を行う。
ータを備え、A/Dコンバータにより外部入力103か
らのアナログ楽音信号をデジタル信号に変換し、ADP
CM(Adaptive Differential Pulse Code Modulatio
n)方式によるデータ圧縮を行うとともに、その伸張を
行い、D/Aコンバータに出力する。
st Out)メモリ(図示せず)を備え、サンプリング周波
数発生器11からの周波数Fsのサンプリングクロック
に応じて、A/D変換された波形データを入力FIFO
メモリへ取り込むとともに、出力FIFOメモリに格納
されている波形データ(サンプル)をD/Aコンバータ
へ送出する。
れている場合、または出力FIFOメモリに空きがある
場合には、データ処理(後述する図18の処理)を要求
する信号(ハードウェア割込信号)をDMAC12に出
力する。
の上記ハードウェア割込信号、すなわち上記サンプリン
グクロックの周期(1/Fs)でサウンドI/O10が
発生するサンプル要求割込信号に応じて、前記楽音波形
バッファDMABに格納された波形データ(サンプル)
を1サンプルずつサウンドI/O10に出力する。これ
に応じて、サウンドI/O10は、DMAC12から転
送された転送サンプル数をカウントし、楽音波形バッフ
ァDMABの全バッファサイズの1/2(後述する1フ
レーム分の波形データ)の数のサンプルが転送される毎
に、1フレーム分の波形データの再生が完了したことを
示すハードウェア割込を発生させる。すなわち、楽音波
形バッファDMABは、2フレーム分の波形データを格
納するように構成され、後述する図17の波形生成処理
では、一度に、楽音波形バッファDMABのバッファサ
イズの1/2に相当する数の楽音波形サンプルが生成さ
れる。
音源データの一例を示す図である。音源データ格納領域
は、音源データを格納するために、RAM4の所定位置
に確保された領域であり、その領域の容量は、格納され
る音源データの容量に応じて可変である。
各種音源方式に応じたデータ(FMデータ、PCMデー
タ、物理モデルデータ)、管理情報、およびその他デー
タが例示されている。
方式データおよび音色データにより構成される。図2で
は、PCMデータのフォーマットが、各音源方式に応じ
たデータの代表として図示され、PCM方式データが上
記方式データに相当し、パラメータデータ(PCM P
ARAM.)および波形テーブルデータ(WAVETA
BLE)が上記音色データに相当する。
処理を行うドライバ(プログラム)と、当該音源方式に
応じて楽音波形データを生成する生成プログラムと、ワ
ークエリアとにより構成されている。
り、FM音源方式では、オペレータ数、アルゴリズム、
各オペレータのEG等を制御するパラメータ、および正
弦波等の基本波形テーブル等のデータであり、PCM音
源方式では、EGやフィルタ等のパラメータ、および楽
音の素材となる波形テーブル等のデータであり、物理モ
デル音源方式では、アルゴリズム制御データ、各種係
数、EG等のパラメータ、およびノンリニアテーブル等
のデータである。
域に格納される方式データおよび音色データの容量は、
次の通りである。
ト、音色データが40バイト(/1音色)×128音色
(GMにおける全音色)であり、PCMデータは、方式
データが70kバイト、音色データが数k〜数十kバイ
ト(/1音色)×数十音色であり、物理モデルデータ
は、方式データが20kバイト、音色データが20kバ
イト(/1音色)×数音色である。
式データおよび音色データ)の容量は、他の音源方式の
音源データと比較して小さいため、本実施の形態では、
再生すべき曲中でFM音源方式が選択されていない場合
にも、代理発音(選択された音色に類似する音色での発
音)用に、その方式データおよび前記GMシステムの全
基本音色(128音色)分の音色データを常時音源デー
タ格納領域の対応する領域(以下、「FM音源データ格
納領域」という)に格納するようにしている。
ムによって楽音波形データを生成するようにしたので、
1つの曲データで、複数の音源方式を指定して、たとえ
ば演奏パート毎に異なった音源方式を指定して、楽音波
形データを生成することができる。このため、たとえば
ある曲ではFM音源方式のみを用いて楽音波形を生成す
る一方、ある曲ではFM音源方式およびPCM音源方式
を用いて楽音波形を生成するというように、曲に応じて
指定された音源方式が異なるので、当該曲データに従っ
て、音源データ格納領域に格納される音源方式に応じた
データは決定される。図2では、1曲中に3種類の音源
方式が指定された例が示されている。なお、音源方式
は、この3種類(FM音源方式、PCM音源方式、物理
モデル音源方式)に限る必要はなく、たとえばカオス音
源方式や高調波合成方式等どのような音源方式を採用し
てもよい。
たとえば、FM音源方式では28音、PCM音源方式で
は24音、物理モデル音源方式では2音というように、
音源方式によって異なっている。さらに、複数の音源方
式間で発音数のやりとりをするようにしてもよい。たと
えば、FM音源方式での発音数を減らせて、その分、P
CM音源方式での発音数を増やす等である。
用いて説明する。
ると、演奏入力(MIDIイベント)が入力バッファ
(図示せず)に供給され始める。
andard MIDI File)フォーマットで作成され(以下、こ
のフォーマットで作成された曲データを「曲データSM
F」という)、図4に示すように、ヘッダデータとシー
ケンスデータとにより構成されている。ヘッダデータ
は、当該曲の曲名、データ容量、作成年月日、ファイル
形式(SMF,GM等)等のデータにより構成され、シ
ーケンスデータは、たとえばノートオン/オフイベント
データ、コントロールチェンジイベントデータ、プログ
ラムチェンジイベントデータ、バンクセレクトイベント
データ(このデータは、コントロールチェンジイベント
データの一つ)、システムエクスクルーシブイベントデ
ータ等の各種MIDIイベントデータおよび各MIDI
イベントデータの発生タイミングを示すタイミングデー
タにより構成されている。そして、本実施の形態では、
同一曲内で最大3種類の音源方式(FM音源方式、PC
M音源方式、物理モデル音源方式)による楽音を生成で
きるように構成されているため、シーケンスデータに
は、その3種類の音源方式を切り換える方式切換イベン
トデータも必要に応じて格納される。なお、方式切換イ
ベントデータは、現在のところMIDI規格のイベント
データとして採用されていないので、本実施の形態で
は、システムエクスクルーシブイベントデータで構成し
ている。
区間(以下、「フレーム」という)毎に設定される起動
機会に応じて、その直前のフレーム内に供給された演奏
入力に基づく楽音生成処理を、各演奏入力により指示さ
れた音源方式により行う。たとえば、時刻t1からt2
までのフレーム内に供給された演奏入力に基づく楽音生
成処理は、時刻t2からt3までのフレームで実行され
る。
レーム分の楽音波形データが生成されると、この波形デ
ータは前記楽音波形バッファDMABに書き込まれ、該
書き込まれたデータの再生が予約される。前記DMAC
12は、各フレーム毎に、その直前のフレームで再生予
約された楽音波形バッファDMABから楽音波形データ
を1サンプルずつ読み出して前記サウンドI/O10に
出力する。たとえば、図3に示すように、時刻t2から
時刻t3までのフレームで出力され、楽音波形バッファ
DMABに書き込まれて再生予約された楽音波形データ
は、時刻t3からt4までのフレームで読み出されて再
生される。
は、物理モデル音源方式により楽音波形生成演算を行っ
ていることを示している。物理モデル音源方式による楽
音生成演算は、発音1音当りの負荷が大きいため、本実
施の形態では1音だけの発音としている。したがって、
同図に示すように、その演算時間はほぼ一定となってい
る。斜線部以外の領域では、云うまでもなく、他の音源
方式による楽音波形生成演算が行われている。
する制御処理の詳細を、図5〜18を用いて説明する。
にCPU2が実行するメインプログラムの手順を示すフ
ローチャートである。
の初期設定を行う(ステップS1)。
する(ステップS2)。
したこと。
の再生を完了し、サウンドI/O10から前記ハードウ
ェア割込信号が発生したこと。
1等の入力操作子を操作し、その操作イベントが検出さ
れた等の、起動要因1,2,4以外のその他の要求イベ
ントが検出されたこと。
了する操作処理を行い、この操作イベントが検出された
こと。
4のうちいずれかが発生したか否かを判別し、起動要因
1〜4のいずれも発生していないときには前記ステップ
S2に戻る一方、起動要因1〜4のいずれかが発生した
ときにはステップS4に進み、どの起動要因が発生した
かを判別する。
1」が発生したときにはステップS5に進み、発生した
MIDIイベントに応じたMIDI処理を実行し、「起
動要因2」が発生したときにはステップS6に進み、図
17を用いて後述する波形生成処理を実行し、「起動要
因3」が発生したときにはステップS7に進み、発生し
たイベントに対応するその他処理を実行し、「起動要因
4」が発生したときにはステップS8に進み、たとえば
ディスプレイ6の表示を本メインプログラムが起動され
る前の状態に戻す等の終了処理を実行する。
かを終了した後は、前記ステップS2に戻り前述の処理
を繰り返す一方、ステップS8の処理を終了したときに
は、本メインルーチンを終了する。
すフローチャートであり、前記図5のステップS5のM
IDI処理中の一処理である。本処理は、前記MIDI
イベントのうち、方式切換イベントが発生したときに、
起動される。ここで、方式切換イベントは、前述したよ
うに、システムエクスクルーシブイベントデータに割り
当てられているので、本処理は、システムエクスクルー
シブイベント中、方式切換イベントが割り当てられたイ
ベントが発生したときに、起動される。
入力されたシステムエクスクルーシブイベントデータを
解析し、切換指定された音源方式を新方式として、RA
M4の所定位置に確保された領域TM(以下、この内容
を「音源方式TM」という)に格納する(ステップS1
1)。
式切換処理サブルーチンを実行した(ステップS12)
後に、本方式切換イベント処理を終了する。
が指定されたときの方式切換処理の詳細な手順を示すフ
ローチャートであり、前記ステップS12の方式切換処
理サブルーチン中の一処理である。
タが前記FM音源データ格納領域に格納されているか否
かを判別する(ステップS21)。ここで、音色の選択
は、前記バンクセレクトイベントデータおよびプログラ
ムチェンジイベントデータによって行われるため、ステ
ップS21の時点では、これらのイベントは既に発生し
ていることを前提としている。以下、音色データが音源
データ格納領域に格納されているか否かを判別する処理
があれば、それより以前に、音色の選択は行われている
ものとする。
がFM音源データ格納領域に格納されていないときに
は、当該音色データを前記ハードディスク装置7から読
み出してFM音源データ格納領域に格納(ロード)した
後にステップS23に進む一方、選択された音色データ
がFM音源データ格納領域に格納されているときには、
ステップS22をスキップしてステップS23に進む。
音源データは、FM音源方式が選択されていない曲を再
生する場合にも代理発音用に、基本的な音色データは常
時ロードされている。しかし、ユーザによっては、この
基本的な音色以外の音色、たとえばユーザ自身が作成し
た音色を選択する場合があり、これを、ステップS21
の処理で担保している。
発音指定を行い、ステップS24では、代理発音要求を
“1”で示す代理発音要求フラグRFをリセット
(“0”)した後に、本方式切換処理を終了する。
以外の音源方式(PCM音源方式または物理モデル音源
方式)が指定されたときの方式切換処理の詳細な手順を
示すフローチャートであり、前記ステップS12の方式
切換処理サブルーチン中の一処理である。
応する方式データが音源データ格納領域の対応する領域
に格納されているか否かを判別し(ステップS31)、
当該方式データが格納されていないときにはステップS
32に進む一方、当該方式データが格納されているとき
にはステップS35に進む。
なわち音源方式TMに対応する方式データのロードを指
示し、ステップS33では、図9を用いて後述する代理
発音指定処理サブルーチンを実行し、ステップS34で
は、前記代理発音要求フラグRFをセット(“1”)し
た後に、本方式切換処理を終了する。
と同様にして、選択された音色に対応する音色データが
音源データ格納領域の対応する領域に格納されているか
否かを判別し、この結果、当該音色データが格納されて
いないときにはステップS36に進み、前記ステップS
22と同様にして、当該音色データをハードディスク装
置7から読み出して音源データ格納領域の対応する領域
に格納(ロード)した後に前記ステップS33に進む。
が既に音源データ格納領域の対応する領域に格納されて
いるときにはステップS37に進み、直ちに音源方式T
Mによる発音指定を行い、次いでステップS38で、代
理発音要求フラグRFをリセットした後に、本方式切換
処理を終了する。ステップS37に処理が移行するとき
には、音源方式TMに対応する方式データおよび選択さ
れた音色データの両データがともに音源データ格納領域
の対応する領域に格納されているため、直ちに発音指定
することができる。
定処理サブルーチンの詳細な手順を示すフローチャート
である。
にロードされている方式データおよび音色データの中か
ら、音源方式TMおよび選択された音色に最も近い(類
似する)代理方式データおよび代理音色データを選択
し、それぞれ、前記RAM4の所定位置に確保された領
域RTM,RTCに格納する(ステップS41)。以
下、領域RTMの内容を「代理方式RTM」といい、領
域RTCの内容を「代理音色RTC」という。ここで、
代理方式RTMおよび代理音色RTCの選択方法は、以
下の通りである。
納領域にロードされている音色データ中に、選択された
音色に近い音色データが存在するときには、そのうち最
も近い音色データを優先的に使用する。この場合には、
代理方式RTMとして、前記選択された音色に近い音色
データの属する音源方式TMが設定され、代理音色RT
Cとして、その類似音色データの音色番号が設定され
る。
納領域にロードされている音色データ中に、選択された
音色に近い音色データが存在しないときには、FM音源
方式に対応して音源データ格納領域にロードされている
音色データ中、選択された音色に最も近い音色データを
使用する。この場合には、代理方式RTMとして、FM
音源方式が設定され、代理音色RTCとして、その類似
音色データの音色番号が設定される。
った(ステップS42)後に、本代理発音指定処理を終
了する。
理により、方式データや音色データのロードが指示され
ると、これに応じて、前記図5のMIDI処理や波形生
成処理等のバックグランドで、当該指示されたデータの
ロード処理、すなわちハードディスク装置7から読み出
して音源データ格納領域の対応する領域に格納する処理
が実行される。
順を示すフローチャートである。本処理は、前記図5の
ステップS7のその他処理中の一処理であり、指示され
た方式データのロードが完了したときに、起動される。
ロードを指示した(ステップS51)後に、本方式デー
タロード完了処理を終了する。
データのロードが完了した後に、続いて音色データをロ
ードするようにしたのは、方式データがロードされてい
ないにも拘わらず、音色データが既にロードされている
ことはあり得ないという前提に立っているからである。
順を示すフローチャートである。本処理も、図5のステ
ップS7のその他処理中の一処理であり、指示された音
色データのロードが完了したときに、起動される。
る発音指定を行う(ステップS61)。
し(ステップS62)、次に示す不要音色データのアン
ロード処理サブルーチンを実行した(ステップS63)
後に、本音色データロード完了処理を終了する。
を、3種類の異なった処理例に基づいて説明する。
を示すフローチャートである。
れるまでに、使用していない音色、すなわち音色データ
が音源データ格納領域に格納されている音色でかつ使用
していない音色があるか否かを判別し(ステップS7
1)、使用していない音色はないときには、直ちに本ア
ンロード処理を終了する一方、使用していない音色があ
るときには、その音色に対応する音色データを音源デー
タ格納領域から削除した(ステップS72)後に、本ア
ンロード処理を終了する。
を示すフローチャートである。
にロードされている音色データの個数を検出する(ステ
ップS81)。
ータのロード数が、所定数n個以上であるか否かを判別
し(ステップS82)、n個未満のときには、直ちに本
アンロード処理を終了する一方、n個以上のときには、
最近使用したn−1個を残して、最も古くロードされた
1つの音色データを音源データ格納領域から削除した
(ステップS83)後に、本アンロード処理を終了す
る。
を示すフローチャートである。
にロードされているすべての音色データの容量を検出す
る(ステップS91)。
所定容量以上であるか否かを判別し(ステップS9
2)、所定容量未満のときには、直ちに本アンロード処
理を終了する一方、所定容量以上のときには、その所定
容量以下になるように、最も古くロードされた音色を削
除した(ステップS93)後に、本アンロード処理を終
了する。
C)/バンク切換イベント発生処理の手順を示すフロー
チャートであり、前記図5のステップS5のMIDI処
理中の一処理である。本処理は、プログラムチェンジイ
ベントおよびバンクセレクトイベントが発生したとき
に、起動される。
に入力されたプログラムチェンジイベントデータおよび
バンクセレクトイベントデータをそれぞれ解析し、指定
された新プログラムチェンジを、RAM4の所定領域P
C(以下、この内容を「新プログラムチェンジPC」と
いう)に格納するとともに、指定された新バンクを、R
AM4の所定領域BK(以下、この内容を「新バンクB
K」という)に格納する(ステップS101)。
ェンジPCを音色番号に変換し、RAM4の所定領域T
C(以下、この内容を「音色番号TC」という)に格納
する(ステップS102)。音色番号TCは、前述した
ように、バンクセレクトイベントデータおよびプログラ
ムチェンジイベントデータが決定されると、それに応じ
て一意的に決定されるので、音色番号TCは、新バンク
BKおよび新プログラムチェンジPCの関数となってい
る(f(BK,PC))。
納領域上の音源方式TMに対応する音色データ領域にお
いて、音色番号TCの音色データをサーチし、次いでス
テップS104では、音源方式TMがFM音源方式であ
るか否かを判別する。
音源方式でないときには、ステップS103でのサーチ
の結果、目的の音色データ、すなわち音源方式TMで音
色番号TCの音色データがロードされているか否かを判
別し(ステップS105)、目的の音色データがロード
されていないときには、前記図9の代理発音指定処理サ
ブルーチンを実行し(ステップS106)、代理発音要
求フラグRFをセットした(ステップS107)後に、
本処理を終了する。一方、ステップS105で、目的の
音色データがロードされているときには、後述するステ
ップS109に進む。
がFM音源方式のときには、前記ステップS105と同
様に、目的の音色データがロードされているか否かを判
別し(ステップS108)、目的の音色データがロード
されていないときには、前記図7のステップS22と同
様にして、音色番号TCにより指定された音色データを
ロードする(ステップS111)一方、目的の音色デー
タがロードされているときには、ステップS111をス
キップしてステップS109に進み、前記図8のステッ
プS37と同様に、音源方式TMによる発音指定を行
い、次いでステップS110で、代理発音要求フラグR
Fをリセットした後に、本処理を終了する。
選択されたときに、目的の音色データがロードされてい
ない場合には、該音色データのロードを実行するように
した(ステップS111,S22)が、これに限らず、
既にロードしてあるFM音源方式の音色データの中で代
理音色を指定しつつ、指定された音色データをロードす
るようにしてもよい。
を示すフローチャートであり、前記図5のステップS5
のMIDI処理中の一処理である。本処理は、前記MI
DIイベントのうち、ノートオンイベントが発生したと
きに、起動される。
に入力されたノートオンイベントデータを解析し、その
ノートナンバを、RAM4の所定領域NNに格納すると
ともに、そのベロシティを、RAM4の所定領域VEに
格納する(ステップS121)。
あるか否かを判別し(ステップS122)、RF=0の
ときにはステップS123に進む一方、RF=1のとき
にはステップS125に進む。
づいて発音割り当てを行い、次いでステップS124で
は、音源方式TMと音色番号TCとに基づいて、前記発
音割り当てされたチャンネルの音源レジスタ(図示せ
ず)を設定し、音源方式TMで音色番号TCの楽音波形
データを生成し発音させる発音開始指示を行った後に、
本ノートオンイベント処理を終了する。
RTMに基づいて発音割り当てを行い、次いでステップ
S126では、代理音源方式RTMと前記代理音色番号
RTCとに基づいて、前記発音割り当てされたチャンネ
ルの音源レジスタを設定し、代理音源方式RTMで代理
音色番号RTCの楽音波形データを生成し発音させる発
音開始指示を行った後に、本ノートオンイベント処理を
終了する。
生成処理の詳細な手順を示すフローチャートである。
よる楽音生成演算の準備を行う(ステップS131)。
り、複数チャンネル分の楽音生成演算を行い(ステップ
S132)、次の音源方式による楽音生成演算があるか
否かを判別し(ステップS133)、次の音源方式によ
る楽音生成演算があるときには、当該次の音源方式によ
る楽音生成演算の準備を行った(ステップS134)後
に、前記ステップS132に戻る。
による波形演算がないときには、ステップS132で生
成された1フレーム分の楽音波形データにエフェクト演
算を施し(ステップS135)、当該1フレーム分の楽
音波形データを前記DMAC12に再生予約をした(ス
テップS136)後に、本波形生成処理を終了する。
C処理の手順を示すフローチャートである。本処理は、
前述のように、サンプリング周波数発生器11からサウ
ンドI/O10に出力されたサンプリング信号の周期
で、サウンドI/O10が発生するサンプル要求割込
(ハードウェア割込)に応じて、起動される。
MAB中、ポインタpが示す位置の楽音波形データの1
サンプルを、DACであるサウンドI/O10の図示し
ないバッファ(前記入力FIFOメモリ)に転送し(ス
テップS141)、ポインタpを“1”だけインクリメ
ントした(ステップS142)後に、本DMAC処理を
終了する。
音色切換イベントが発生したときに、切り換えるべき音
色データが音源データ格納領域に格納されている場合に
は、直ちにその音色データによる発音が行われるように
制御する一方、切り換えるべき音色データが音源データ
格納領域に格納されていない場合には、その音色データ
をハードディスク装置7から読み出して音源データ格納
領域に格納するように指示するとともに、他の類似音色
データによる発音が行われるように制御するようにした
ので、音色切換イベントの発生に合わせて、必要な音色
データのみがRAM上に展開され、これにより、RAM
中の音色データの占有率を最小限に抑えることができ
る。したがって、他のアプリケーションプログラムが実
行されているときでも、該他のアプリケーションプログ
ラムの動作を確保することができる。
トは、曲データを再生したときに発生するものとして説
明したが、これに限らず、たとえばMIDIインターフ
ェース等を通じて外部の鍵盤やシーケンサ等から送信さ
れ受信したMIDIデータに応じて発生するとしてもよ
い。その場合には、前記図5の「MIDIイベントの発
生」は、そのMIDIイベントを受信した時に対応す
る。本発明は、本実施の形態で説明したような曲データ
の再生時(場合によっては先読みをすることが可能)よ
りも、次にくるMIDIイベントがわからない(予測で
きない)MIDIデータの受信等の場合に特に有効であ
る。
領域上に、目的の方式データおよび音色データが格納さ
れていない場合に、当該データをハードディスク装置7
から読み出してロードするようにしたが、これに限ら
ず、当該データを、たとえば、前記図1のドライブ装置
8に挿入された外部記憶媒体から読み出してロードする
ようにしてもよいし、また、前記ネットワークI/O9
および通信ネットワーク101を介してサーバコンピュ
ータ102から読み出してロードするようにしてもよ
い。さらに、ロードしたいデータがハードディスク装置
7に格納されていない場合に、そのデータを他のメディ
アに探しに行くようにしてもよい。
同一音源方式の音色データ(音源データ格納領域にロー
ドされた音色データ)中に、類似音色がない場合には、
FM音源方式での類似音色を用いて代理発音を行うよう
にしたが、これに限らず、たとえば、前記GMシステム
のPCM音源方式の128音色を標準として、代理発音
を行うようにしてもよい。
するソフトウェアのプログラムを記録した記憶媒体を、
システムまたは装置に供給し、そのシステムまたは装置
のコンピュータ(またはCPU2やMPU)が記憶媒体
に格納されたプログラムを読出し実行することによって
も、本発明の目的が達成されることは云うまでもない。
ラム自体が本発明の新規な機能を実現することになり、
そのプログラムを記憶した記憶媒体は本発明を構成する
ことになる。
ては、たとえば、前記ハードディスク、CD−ROM,
MO,MD,フロッピーディスク、CD−R(CD- Reco
rdable)、磁気テープ、不揮発性のメモリカード、RO
M3などを用いることができる。また、他のMIDI機
器や通信ネットワーク101を介してサーバコンピュー
タ102からプログラムが供給されるようにしてもよ
い。
を実行することにより、上述した各実施の形態の機能が
実現されるだけでなく、そのプログラムの指示に基づ
き、コンピュータ上で稼働しているOSなどが実際の処
理の一部または全部を行い、その処理によって上述した
実施の形態の機能が実現される場合も含まれることは云
うまでもない。
ムが、コンピュータに挿入された機能拡張ボードやコン
ピュータに接続された機能拡張ユニットに備わるメモリ
に書込まれた後、そのプログラムの指示に基づき、その
機能拡張ボードや機能拡張ユニットに備わるCPU2な
どが実際の処理の一部または全部を行い、その処理によ
って上述した各実施の形態の機能が実現される場合も含
まれることは云うまでもない。
音色切換を示す演奏情報が発生したときに、当該切り換
えるべき音色データが音色データ記憶手段に格納されて
いるか否かが検索され、その検索の結果、切り換えるべ
き音色データが前記音色データ記憶手段に格納されてい
ないときには、該音色データを該音色データが格納され
ている記憶媒体から読み出して前記音色データ記憶手段
に転送記憶するように指示するとともに、該音色データ
に類似する他の音色データで楽音を生成するように制御
されるので、音色切換を示す演奏データの発生に合わせ
て、必要な音色データのみが音色データ記憶手段に展開
され、これにより、音色データ記憶手段中の音色データ
の占有率を最小限に抑えることがとなる効果を奏する。
段に記憶された音色データ中、不要となった音色データ
が所定の条件に従って削除されるので、上記効果をさら
に向上させることができる。
用した汎用コンピュータの概略構成を示すブロック図で
ある。
一例を示す図である。
を説明するための図である。
る。
順を示すフローチャートである。
ートである。
ときの方式切換処理の詳細な手順を示すフローチャート
である。
式が指定されたときの方式切換処理の詳細な手順を示す
フローチャートである。
手順を示すフローチャートである。
ーチャートである。
ーチャートである。
チャートである。
チャートである。
チャートである。
生処理の手順を示すフローチャートである。
チャートである。
ーチャートである。
順を示すフローチャートである。
Claims (4)
- 【請求項1】 音色データを音色データ記憶手段に記憶
する記憶ステップと、 音色切換を示す演奏情報が発生したときに、当該切り換
えるべき音色データが前記音色データ記憶手段に格納さ
れているか否かを検索する検索ステップと、 該検索の結果、切り換えるべき音色データが前記音色デ
ータ記憶手段に格納されているときには、該音色データ
で楽音を生成する一方、切り換えるべき音色データが前
記音色データ記憶手段に格納されていないときには、該
音色データを該音色データが格納されている記憶媒体か
ら読み出して前記音色データ記憶手段に転送記憶するよ
うに指示するとともに、該音色データに類似する他の音
色データで楽音を生成するように制御する制御ステップ
とを有することを特徴とする楽音発生方法。 - 【請求項2】 前記音色データ記憶手段に記憶された音
色データ中、不要となった音色データを所定の条件に従
って削除する削除ステップを有することを特徴とする請
求項1記載の楽音発生方法。 - 【請求項3】 音色データを音色データ記憶手段に記憶
する記憶モジュールと、 音色切換を示す演奏情報が発生したときに、当該切り換
えるべき音色データが前記音色データ記憶手段に格納さ
れているか否かを検索する検索モジュールと、 該検索の結果、切り換えるべき音色データが前記音色デ
ータ記憶手段に格納されているときには、該音色データ
で楽音を生成する一方、切り換えるべき音色データが前
記音色データ記憶手段に格納されていないときには、該
音色データを該音色データが格納されている記憶媒体か
ら読み出して前記音色データ記憶手段に転送記憶するよ
うに指示するとともに、該音色データに類似する他の音
色データで楽音を生成するように制御する制御モジュー
ルとを含む、コンピュータが実現できるプログラムを格
納した記憶媒体。 - 【請求項4】 前記音色データ記憶手段に記憶された音
色データ中、不要となった音色データを所定の条件に従
って削除する削除モジュールを含むことを特徴とする請
求項3記載の記憶媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP21904097A JP3339372B2 (ja) | 1996-08-30 | 1997-07-31 | 楽音発生装置および楽音発生方法を実現するためのプログラムを格納した記憶媒体 |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP24924096 | 1996-08-30 | ||
| JP8-249240 | 1996-08-30 | ||
| JP21904097A JP3339372B2 (ja) | 1996-08-30 | 1997-07-31 | 楽音発生装置および楽音発生方法を実現するためのプログラムを格納した記憶媒体 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH10124059A true JPH10124059A (ja) | 1998-05-15 |
| JP3339372B2 JP3339372B2 (ja) | 2002-10-28 |
Family
ID=26522882
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP21904097A Expired - Fee Related JP3339372B2 (ja) | 1996-08-30 | 1997-07-31 | 楽音発生装置および楽音発生方法を実現するためのプログラムを格納した記憶媒体 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3339372B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002341864A (ja) * | 2001-05-16 | 2002-11-29 | Yamaha Corp | 楽曲データ受信クライアント装置、楽曲データ受信電子楽器、および、楽曲データ配信サーバ装置 |
| JP2019168517A (ja) * | 2018-03-22 | 2019-10-03 | カシオ計算機株式会社 | 電子楽器、方法及びプログラム |
-
1997
- 1997-07-31 JP JP21904097A patent/JP3339372B2/ja not_active Expired - Fee Related
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002341864A (ja) * | 2001-05-16 | 2002-11-29 | Yamaha Corp | 楽曲データ受信クライアント装置、楽曲データ受信電子楽器、および、楽曲データ配信サーバ装置 |
| JP2019168517A (ja) * | 2018-03-22 | 2019-10-03 | カシオ計算機株式会社 | 電子楽器、方法及びプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3339372B2 (ja) | 2002-10-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3894062B2 (ja) | 楽曲データ配信装置、楽曲データ受信装置及びプログラム | |
| KR0148846B1 (ko) | 온라인 타입의 가라오케 시스템과 그의 통신방법 | |
| US5596159A (en) | Software sound synthesis system | |
| US5515474A (en) | Audio I/O instruction interpretation for audio card | |
| EP1260964B1 (en) | Music sound synthesis with waveform caching by prediction | |
| US6140566A (en) | Music tone generating method by waveform synthesis with advance parameter computation | |
| US10559290B2 (en) | Electronic musical instrument, method, and storage medium | |
| US6525256B2 (en) | Method of compressing a midi file | |
| US6570082B2 (en) | Tone color selection apparatus and method | |
| EP0730260B1 (en) | Computerized music apparatus with sound emulation | |
| US7279628B2 (en) | Editing apparatus of setting information for electronic music apparatuses | |
| US5714704A (en) | Musical tone-generating method and apparatus and waveform-storing method and apparatus | |
| US5696342A (en) | Tone waveform generating method and apparatus based on software | |
| US5850050A (en) | Method and apparatus for generating musical tones, method and apparatus for processing music data, method and apparatus reproducing processed music data and storage media for practicing same | |
| US6852918B2 (en) | Automatic accompaniment apparatus and a storage device storing a program for operating the same | |
| JP3339372B2 (ja) | 楽音発生装置および楽音発生方法を実現するためのプログラムを格納した記憶媒体 | |
| JP3541718B2 (ja) | 楽音生成装置 | |
| JPH07121181A (ja) | 音声情報処理装置 | |
| JP4036233B2 (ja) | 楽音発生装置および楽音発生方法、並びに該方法に係るプログラムを記憶した記憶媒体 | |
| JP3460524B2 (ja) | 曲データ加工方法、加工後曲データ再生方法および記憶媒体 | |
| JP3246405B2 (ja) | 楽音発生方法、楽音発生装置および楽音発生用プログラムを記録した記録媒体 | |
| JP2004177981A (ja) | 楽音生成装置 | |
| US5841054A (en) | Musical tone synthesizing apparatus having competibility of tone color parameters for different systems | |
| EP0882286B1 (en) | Pc audio system with frequency compensated wavetable data | |
| JP3141789B2 (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: 20070816 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080816 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090816 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100816 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100816 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110816 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120816 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130816 Year of fee payment: 11 |
|
| LAPS | Cancellation because of no payment of annual fees |