JPH10207465A - 楽音発生方法および楽音発生装置 - Google Patents
楽音発生方法および楽音発生装置Info
- Publication number
- JPH10207465A JPH10207465A JP9025743A JP2574397A JPH10207465A JP H10207465 A JPH10207465 A JP H10207465A JP 9025743 A JP9025743 A JP 9025743A JP 2574397 A JP2574397 A JP 2574397A JP H10207465 A JPH10207465 A JP H10207465A
- Authority
- JP
- Japan
- Prior art keywords
- waveform data
- performance information
- waveform
- sounds
- processing
- 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
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/18—Selecting circuits
- G10H1/22—Selecting circuits for suppressing tones; Preference networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/002—Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions, e.g. programs, to control the sequence thereof
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/002—Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions, e.g. programs, to control the sequence thereof
- G10H7/006—Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions, e.g. programs, to control the sequence thereof using two or more algorithms of different types to generate tones, e.g. according to tone color or to processor workload
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
にする。 【解決手段】演奏情報が発生されたときに、演奏時の処
理により演奏情報に対応する波形データを演算部2で演
算生成し、バッファ8に出力すると共に波形メモリ4に
記憶する。同時に複数の音が指示された場合は、演算で
きる音だけ演算生成する。そして、再生時の処理におい
て、波形メモリ4からすでに演算生成された波形データ
を読み出すと共に、演算生成されなかった波形データを
演算部2で演算生成してバッファ8に出力する。これに
より、再生時において、指示された複数の音を同時に発
音可能とすることができる。
Description
ータを生成するようにした楽音発生方法および楽音発生
装置に関するものである。
cal Instrument Digital Interface)、鍵盤、あるいは
シーケンサ等からの演奏情報を入力する演奏入力部と、
楽音波形を生成する音源部と、入力された演奏情報に応
じて前記音源部を制御するマイクロプロセッサ(CP
U)等から構成されていた。CPUは、入力された演奏
情報に応じて、チャンネルアサイン、パラメータ変換等
の音源ドライバ処理を実行し、音源部の割り当てたチャ
ンネルに変換した音源パラメータ情報と発音開始指示
(ノートオン)情報を供給する。音源部は、LSI(La
rge Scale Integratedcircuit)等の電子回路(ハード
ウェア)で構成され、供給された音源パラメータ情報に
基づいて楽音波形を生成するようにしている。
ための専用機器となってしまい、楽音を生成する時には
専用の楽音発生装置を用意する必要があった。そこで、
これを解決するために、CPUによりアプリケーション
プログラムを実行し、アプリケーションプログラムに基
づいて楽音を生成するソフトウェア音源装置が提案され
ている。このソフトウェア音源装置は、楽音を生成する
アプリケーションプログラムのほかに、ゲーム等の他の
アプリケーションプログラムを実行させることができる
汎用の演算処理装置により実現することができるもので
ある。
発生装置の概略構成を図7に示す。図7において、中央
処理装置(CPU)100は、発音指示等が行われた際
に、音源プログラム101に従って演算を行うことによ
り、波形データを生成してバッファ102に一時格納す
る。デジタル/アナログ変換器(D/A)103は、所
定のD/A変換タイミングごとにバッファ102から、
波形データを読み出してアナログ波形信号に変換する。
変換されたアナログ波形信号は、サウンドシステム10
4に供給されて楽音が発音されるようになる。
ウェア音源を備える楽音発生装置の場合、発音される楽
音の同時発音数は、CPU100の演算速度と、1サン
プルデータを生成するための演算量およびサンプリング
周波数fsとに関係がある。たとえば、サンプリング周
波数fs=48kHzとすると、1サンプル周期は2
0.8msecとなり、このサンプル周期内において必
要とするすべての波形データの演算を行う必要がある。
しかし、実際にはオペレーションシステム(OS)が使
用する時間や、他のアプリケーションが動作中の場合
は、そのアプリケーションを実行する時間が必要であ
り、20.8msecの時間をすべて使用することはで
きない。
ル周期において、1サンプルの波形データの演算を行え
ばよいが、ポリフォニックの場合は、割り当てられた時
間内において発音されているチャンネル数と同数とされ
たサンプル数の波形データの演算を行う必要がある。こ
のようにポリフォニックの場合は、1サンプルの波形デ
ータを生成するのに割り当てられる演算時間が減少する
ようになる。ところが、一般には複数の発音チャンネル
を使用して演奏されるため、1発音チャンネルに割り当
てられる演算時間が短縮されるようになり、その演算時
間内で演算を行うには、単純な演算しか行うことができ
ず、音質の向上を望めないという問題点があった。ま
た、ソフトウェア音源における音源アルゴリズムを開発
する際には、モノフォニックではなくポリフォニックで
楽音を確認したい場合がある。しかしながら、音源アル
ゴリズムを複雑にすると割り当てられた演算時間内では
複数の発音チャンネルの演算を終了することができず、
ポリフォニックでの確認ができないおそれが生じるとい
う問題が生じる。
複数の発音チャンネルの演算を終了することができない
場合でも、再生時にポリフォニックの楽音を発生するこ
とができるようにした楽音発生方法および楽音発生装置
を提供することを目的としている。
に、本発明の楽音発生方法は、演奏情報を受けて演算に
より波形データを生成して出力する演算ステップと、該
演算ステップにより得られた前記波形データを波形メモ
リに記憶する波形データ記憶ステップとを少なくとも有
する演奏時の処理と、記憶された前記演奏情報を読み出
して前記波形メモリから、該演奏情報に対応する波形デ
ータを読み出す読み出しステップと、前記演奏情報に対
応する波形データが演算生成されて前記波形メモリに記
憶されていない場合に、該演奏情報に対応する波形デー
タを演算生成する再生演算ステップを少なくとも有する
再生時の処理とを備えるようにしている。また、この楽
音発生方法を記録媒体に記録するようにしてもよい。
発明の楽音発生装置は、演算により波形データを生成す
る演算部と、該演算部の演算により得られた前記波形デ
ータが記憶される波形メモリとを少なくとも備え、演奏
情報が発生されたときに、前記演算部により波形データ
を生成して該波形データを前記波形メモリに記憶する演
奏時の処理が実行され、該演奏時の処理の終了後に、記
憶された前記演奏情報を読み出して前記波形メモリか
ら、該演奏情報に対応する波形データを読み出すと共
に、前記演奏情報に対応する波形データが前記波形メモ
リに記憶されていない場合に、該演奏情報に対応する波
形データを前記演算部により演算生成する再生時の処理
が実行されることにより、前記演奏情報において複数の
音の同時発生が指示されていても、前記再生時の処理に
おいて指示された複数の音を発音できるようにしてい
る。
生時の処理において、前記演算部が演算生成した波形デ
ータを前記波形メモリに記憶することにより、前記演奏
情報により複数の音の同時発生が指示されたときに、前
記再生時の処理を実行してもすべての音の発生ができな
い場合には、前記再生時の処理を繰り返し実行すること
により、指示されたすべての音を発音することができる
ようにしている。さらに、前記演奏情報において指示さ
れる同時発音数と、実際に発音される発音数とが一致し
ないときは、出力をミュートして音を出さないようにし
てもよい。さらにまた、発音指示に先行して、前記演奏
情報を読み出して出力をミュートした状態で、前記演算
部により波形データを生成して該波形データを前記波形
メモリに記憶する処理を実行させるようにすることによ
り、前記発音指示が行われたときに、指示された同時発
音数の音を再生できるようにしてもよい。
において演算生成されたすべてのチャンネルの波形デー
タを波形メモリに記憶しておき、再生時の処理におい
て、演奏情報に対応する波形データが波形メモリに記憶
されている場合は、波形メモリからその波形データを読
み出し、演奏情報に対応する波形データが波形メモリに
記憶されていない、すなわち、波形データが演奏時の処
理において演算生成されていない場合は、再生時の処理
において波形データを演算生成するようにしている。し
たがって、演奏情報により複数の音の同時発音が指示さ
れて、演奏時の処理においてすべての音の波形データを
演算生成することができなかった場合でも、再生時の処
理を実行することにより、演奏時の処理において演算生
成された波形データの音に加えて、再生時の処理におい
て演算生成された波形データの音を発音することができ
るようになり、発音が指示された複数の発音チャンネル
の楽音を同時に発音することが可能となる。
ことのできる本発明の楽音発生装置の実施の形態の構成
例を示すブロック図を図1に示す。この図において、1
はプログラムメモリ5に記憶されているプログラムを実
行することにより、楽音波形データを演算により生成し
たり、エフェクトが与えられた楽音波形データの演算処
理や制御を行う処理部であり、中央処理装置(CPU)
により構成される。なお、処理部1は、楽音波形データ
の演算生成やエフェクトが与えられた楽音波形データの
演算処理等を行う演算部2と、演算部2における演算を
演奏情報等により制御する制御部3とより構成されてい
る。また、4は演算部2が演算により生成した楽音波形
データが書き込まれると共に、読み出された楽音波形デ
ータを演算部2に供給する波形メモリであり、その書き
込みおよび読み出しは制御部3により制御されている。
しているプログラムメモリであり、6は演奏情報発生部
7から発生されたすべての演奏情報が書き込まれる演奏
情報記憶部であり、再生時の処理において記憶されてい
る演奏情報が制御部3の制御の基で読み出されて、その
演奏情報に基づいた処理が演算部2で行われるように演
算部2に供給される。さらに、7は鍵盤やシーケンサ、
あるいはMIDI入力部等の演奏情報発生部である。8
は演算部2により生成された楽音波形データが一時格納
されるバッファである。9はデジタル・アナログ変換器
(DAC)であり、サンプリング周期ごとにバッファ8
にデータを要求して、バッファ8から供給された楽音波
形データをアナログ楽音波形信号に変換してサウンドシ
ステム10に供給している。
を説明すると、演奏情報発生部7から制御部3に演奏情
報が入力されると、演奏時の処理が開始され、その演奏
情報が演奏情報記憶部6に記憶されると共に、演奏情報
に基づいて演算部2が制御部3により制御される。例え
ば、演奏情報がノートオンイベントの際には、演算部2
において演算を行うことにより所定サンプル数の波形デ
ータを生成する処理が行われるようになる。この際に、
演奏情報により同時に複数の発音が指示されている場合
は、割り当てられた演算時間内において生成可能なサン
プル数の波形データの生成演算が実行され、演算時間内
においては生成することのできない波形データの生成演
算は行わないようにされる。従って、複数の発音が指示
されていてもすべての発音指示に対応する波形データの
生成が行われない場合もある。
た波形データは、バッファ8に送られて格納されると共
に、波形メモリ4に供給されて、波形メモリ4にも記憶
されるようになる。バッファ8からは、デジタル・アナ
ログコンバータ(DAC)9の要求により波形データが
読み出され、読み出された波形データはDAC9におい
てサンプリング周期毎にアナログ信号に変換されてサウ
ンドシステム10に供給され、サウンドシステム10か
ら発音されるようになる。以上の演奏時の処理は、演奏
情報発生部7が演奏を継続している際には繰り返し行わ
れ、演奏が終了したときには、演奏情報のすべてが演奏
情報記憶部6に記憶されるようになると共に、演算部2
において生成された波形データのすべてが波形メモリ4
に記憶されるようになる。
引き続いて行われると、演奏情報記憶部6から演奏情報
が順次読み出され処理部1に供給されるようになる。そ
して、処理部1においては波形メモリ4に記憶されてい
る波形データを利用して波形データの生成等の処理が行
われる。たとえば、演奏情報がノートオンイベントの際
には、演奏情報に対応する波形データがすでに波形メモ
リ4に記憶されているか否かを判断し、記憶されている
と判断した場合には当該波形データを波形メモリ4から
読み出してバッファ8に送る。また、波形データが波形
メモリ4に記憶されていない場合には、演算部2におい
て波形データの生成処理を行い、生成された波形データ
をバッファ8に送るようにする。なお、この波形データ
の生成処理では、割り当てられた演算時間内において生
成可能なサンプル数の波形データの生成演算が実行さ
れ、演算時間内においては生成することのできない波形
データの生成演算は行わないようにされる。このよう
に、再生時の処理においては、演奏時に波形データの生
成が行われなかった演奏情報に対する波形データの生成
演算が実行される。
ータの生成が行われた演奏情報に対しては、波形メモリ
4から波形データを読み出す処理だけを行えばよいこと
から、処理量が軽くなる。そして、その結果生じた演算
余裕時間を演奏時に波形データの生成が行われなかった
演奏情報用の波形データ生成処理に割り当てるようにし
ている。この結果、複数の発音の指示が行われた際に、
再生時において複数の発音に対応する波形データの生成
を行うことができ、複数の発音を行うことができるよう
になる。なお、再生時の処理において指示されている複
数の発音に対応するすべての波形データの生成を終了す
ることができない場合は、2回目の再生時の処理を行
い、この再生時の処理において、生成されていない波形
データの生成処理を実行するようにすればよい。すなわ
ち、指示されている複数の発音に対応するすべての波形
データの生成が終了するまで再生処理を繰り返すように
する。従って、最終の再生時の処理が実行されると指示
されている複数の発音に対応するすべての波形データの
生成が終了することになり、この際には指示されている
複数の発音をすべて行えるようになる。
理における演算部2の動作をハードウェア的に図2に示
す。図2において2−1は、波形メモリ4から読み出さ
れた複数チャンネル分の楽音波形データと、音源演算部
2−2により演算された楽音波形データとを混合する加
算器である。この加算器2−1よりの複数チャンネル分
の楽音波形データはバッファ8へ供給されて一時記憶さ
れる。音源演算部2−2は、供給された演奏情報に基づ
いてFM音源演算、あるいは物理モデル音源演算を実行
して楽音波形データを生成したり、楽音波形データにエ
フェクトを与える演算処理を実行したりして、処理され
た楽音波形データを加算器2−1に供給している。ただ
し、実際には演算部2は時分割にて各チャンネルの演算
を実行しており、1チャンネルの楽音波形データが生成
されるされるごとに、すでに演算された他のチャンネル
の楽音波形データに足し込むようにして加算を行ってい
る。
発生装置の動作を図3に示すフローチャートを参照して
詳細に説明する。図3に示すフローチャートは、所定周
期毎に起動されて実行される処理部1におけるメインル
ーチンのフローチャートであり、スタートされるとステ
ップS10にて演奏が開始されたか否かが判定される。
演奏開始されていないと判定された(NO)場合は、演奏
開始されるまでこの処理が循環して行われる。そして、
演奏開始されたと判定された(YES)場合は、ステップ
S11にて後述する演奏時の処理が実行される。この演
奏時の処理は、ステップS12にて演奏が終了したと判
定されるまで繰り返し実行される。
と、ステップS12からステップS13に進み後述する
再生時の処理が行われるようになる。この再生時の処理
は、発音が指示されているすべての楽音の波形データが
生成されるまで繰り返し行われる。ここで、発音が指示
されているすべての楽音の波形データが生成されたか否
かをフラグ(flag)により示すようにしている。すなわ
ち、フラグが”1”の場合は、未だ発音が指示されてい
るすべての楽音の波形データが生成されていない時であ
り、フラグが”0”の場合は、発音が指示されているす
べての楽音の波形データが生成されている時である。し
たがって、フラグが”0”になったとステップS14に
て判定されたときは、発音が指示されているすべての楽
音の波形データの生成が終了しており、この時はステッ
プS14からステップS15に進むようになる。そし
て、ステップS15にて表示パネルに「全チャンネル発
音」等の表示を行い、メインルーチンは終了する。
演奏時の処理を、図4に示す演奏時処理のフローチャー
トと、図1に示す楽音発生装置を参照しながら説明す
る。演奏情報発生部7から各種演奏情報が発生される
と、演奏時の処理が起動され、ステップS21にてこの
演奏情報がその発生時を示す時間データと共に演奏情報
記憶部6に記憶される。ついで、ステップS22にて取
り込まれた演奏情報がノートオンイベントか否かが判定
される。ここで、ノートオンイベントと判定された(YE
S)場合は、ステップS23に進み発音数contが演算に
よる最大同時発音数Nを越えているか否かが判定され
る。この発音数contは現時点での演算時の処理において
演算中(発音中)の発音数を示しており、そのデフォル
ト値は”0”とされる。従って、この場合には発音数co
ntは”0”とされているのでYESと判定されてステップ
S24に進む。
ンクリメントされ、ステップS25においてノートオン
イベントに基づいて演算部2により音源演算が実行され
て、生成された波形データが外部にあるバッファ8に出
力される。そして、ステップS26にて波形メモリ4に
生成された波形データが記憶されて、リターンされる。
ここで、例えば演算による最大同時発音数Nが「2」で
あるときに、演奏情報発生部7から同時に発音する3つ
のノートオンイベントが発生されたとする。この時は、
上記説明したように1つ目のノートオンイベントが取り
込まれて、その波形データがステップS25にて演算に
より生成され、バッファ8に記憶されると共に、波形メ
モリ4に記憶される。この時、発音数contは”1”とな
る。そして、図3に示すステップS12にリターンする
が、演奏は終了していないので、再び演奏時の処理が起
動されて、2つ目のノートオンイベントが取り込まれ
て、その波形データがステップS25にて演算部2によ
り演算により生成され、バッファ8に記憶されると共
に、波形メモリ4に記憶される。この時、発音数cont
は”2”となる。
ーンするが、演奏は終了していないので、再び演奏時の
処理が起動されて、3つ目のノートオンイベントが取り
込まれる。しかしながら、演算による最大同時発音数N
が「2」とされているのでステップS23にてNOと判定
されて、波形データが演算生成されることなくそのまま
リターンされるようになる。すなわち、演奏時の処理に
おいては2つの発音数の楽音が発音されるようになる。
イベントと判定されなかった場合は、ステップS27に
分岐してノートオフイベントか否かが判定される。そし
て、ノートオフイベントと判定される(YES)と、その
ノートオンイベントが演算中の音に対するものであるか
否かがステップS28にて判定される。ステップS28
にて演算中の音と判定される(YES)とステップS29
に進み、当該演算中の音にノートオフ処理が実行されて
リターンされ、演算中の音でないと判定される(NO)
と、ステップS29の処理がスキップされてリターンさ
れる。
フイベントと判定されなかった(NO)場合は、ステップ
S30に分岐して個別の発音チャンネルのデータか発音
チャンネル共通のデータかが判定される。そして、個別
のデータと判定される(YES)と、その個別のデータが
演算中の音に対するものか否かがステップS31にて判
定される。ステップS31にて演算中の音と判定される
(YES)と、ステップS32に進み当該演算中の音に個
別のデータを反映させるように音源演算部(演算部2)
に個別のデータが送られてリターンされる。演算部2は
送られた個別のデータに基づいて波形データを生成する
ようになる。また、ステップS31にて演算中の音でな
いと判定される(NO)と、ステップS32の処理がスキ
ップされてリターンされる。
ータと判定される(NO)とステップS33に分岐して、
共通のデータが音源演算部(演算部2)に送られて、演
算中の全ての音に反映されるようになる。なお、音源演
算部は演算部2において実行されるソフトウェア音源で
あり、ハードウェア表現を行うと図6に示すように、供
給された演奏情報に基づいて波形データを演算生成し、
生成された波形データを波形メモリ4およびバッファ8
に送るものとして表せるものである。
再生時の処理を、図5に示す再生時処理のフローチャー
トと、図1に示す楽音発生装置を参照しながら説明す
る。演奏が終了したとき、あるいは、フラグ(flag)が
「1」の時に再生時の処理が起動され、ステップS40
にてフラグが「0」にリセットされる。ついで、ステッ
プS41にて、演奏情報記憶部6に記憶されている発音
時刻に達した演奏情報が順次1つづつ読み出され、その
演奏情報がノートオンイベントが否かがステップS42
にて判定される。そして、ノートオンイベントと判定さ
れる(YES)とステップS43にて、当該ノートオンイ
ベントの演奏情報に対応した波形データがすでに波形メ
モリ4に記憶されているか否かが判定される。この時、
演奏時の処理により波形データが生成されて波形メモリ
4に記憶されている場合は、YESと判定されてステップ
S44に進み、その波形データの波形メモリ4からの読
み出しが指示される。
部6から全演奏情報の読み出しが終了したか否かが判定
され、読み出しが終了していればリターンされ、読み出
しが終了していなければ、前記ステップS41に戻り、
ステップS41以降の処理が再度実行される。
発生が指示されて全ての波形データの生成が行われてい
ない場合、すなわち、前述した同時に発音する3つのノ
ートオンイベントが発生された場合における3つ目のノ
ートオンイベントのように、対応する波形データの生成
が行われていない場合は、ステップS43にてNOと判定
されてステップS45に分岐するようになる。そして、
ステップS45にて発音数contが演算による最大同時発
音数Nを越えているか否かが判定される。この発音数co
ntは現時点での演算時の処理において演算中(発音中)
の発音数を示しており、そのデフォルト値は”0”とさ
れる。再生時の処理が開始された直後には発音数contは
デフォルト値である”0”とされているのでYESと判定
されてステップS46に進む。
ンクリメントされてステップS47に進み、ステップS
47において当該ノートオンイベントに基づいて演算部
2により音源演算が実行されて、生成された波形データ
が外部にあるバッファ8に出力される。そして、ステッ
プS48にて波形メモリ4に生成された波形データが記
憶されて、ステップS57に進む。ステップS57では
演奏情報記憶部6から全演奏情報の読み出しが終了した
か否かが判定され、読み出しが終了していればリターン
され、読み出しが終了していなければ、前記ステップS
41に戻り、ステップS41以降の処理が再度実行され
る。また、ステップS45にて発音数contが演算による
最大同時発音数Nを越えると判定された場合は、ステッ
プS49に分岐してフラグが「1」にセットされてステ
ップS57に進むようになる。
Nが「2」であるときに、演奏時に演奏情報発生部7か
ら同時に発音する3つのノートオンイベントが発生され
ていたとする。このときは前述したように1つ目と2つ
目のノートオンイベントに対応する音の波形データは演
奏時の処理により波形メモリ4に記憶されている。従っ
て、演奏情報記憶部6から読み出された1つ目のノート
オンイベントと2つ目のノートオンイベントに対応する
波形データは、繰り返し実行される前記したステップS
44にて波形メモリ4から読み出され、3つ目のノート
オンイベントの演奏情報が演奏情報記憶部6から読み出
されたときは、前記ステップS43にてNOと判定されス
テップS47にて、当該ノートオンイベントに対応する
波形データの生成が行われて、バッファ8および波形メ
モリ4に記憶されるようになる。
奏時に指示された3つの同時に発音する音を同時に3つ
発音することができるようになる。なお、この例では演
算による同時最大発音数Nを「2」としたが、本発明で
は「2」に限定されるものではなく、同時最大発音数N
を「3」以上とすることができる。ところで、例えば、
演算による同時最大発音数Nが「2」とされているとき
に、演奏時に4つの音の同時発音が指示されたときは、
1つ目と2つ目のノートオンイベントに対応する音の波
形データは演奏時の処理により演算生成されて波形メモ
リ4に記憶され、3つ目のノートオンイベントと4つ目
のノートオンイベントに対応する音の波形データは再生
時の処理により演算生成されてバッファ8および波形メ
モリ4に記憶されるようになる。従って、再生時の処理
において指示された4つの音の同時発音を可能とするこ
とができる。
示されたときは、1つ目と2つ目のノートオンイベント
に対応する音の波形データは演奏時の処理により演算生
成されて波形メモリ4に記憶され、3つ目のノートオン
イベントと4つ目のノートオンイベントに対応する音の
波形データは再生時の処理により演算生成されてバッフ
ァ8および波形メモリ4に記憶されるようになる。しか
しながら、5つ目のノートオンイベントが読み出された
ときには、ステップS45にてNOと判定されるため、そ
の波形データの生成を行うことができない。ただし、フ
ラグは「1」にセットされて、リターンされる。従っ
て、図3に示すステップS14にリターンされたとき
に、YESと判定されて再び再生時の処理が実行されるよ
うになる。この場合には、発音数contはデフォルト値と
なっているため、5つ目のノートオンイベントが演奏情
報記憶部6から読み出されたときに、ステップS47に
おいて当該ノートオンイベントの波形データが演算生成
されるようになる。これにより、2回目に実行される再
生時の処理において指示された5つの音の同時発音を可
能とすることができるようになり、再生時の処理を複数
回実行することにより、多数の音の同時発音を可能とす
ることができる。
ントでないと判定された場合は、ステップS50に分岐
するが、ステップS50ないしステップS56の処理
は、前記した図4に示す演奏時の処理におけるステップ
S27ないしステップS33と同様であるので、ここで
はその説明は省略するが、ステップS50ないしステッ
プS56の処理では、ノートオフ処理、発音チャンネル
個別の処理や、発音チャンネル共通の処理が実行され
る。なお、本発明の楽音発生方法および楽音発生装置に
おいては、楽音発生演算処理の空き時間を利用して他の
アプリケーションソフトから依頼された発音指示を含む
処理を行うことができる。他のアプリケーションソフト
としては、ゲームソフト、通信ソフト、事務処理ソフト
等がある。
奏情報発生部7から指示される同時発音数と実際に再生
される音の数(波形メモリ読み出しによる発音数と演算
による発音数の合計)が一致しないときは、再生音をサ
ウンドシステム10から放音したときにユーザーが違和
感を持つおそれがある。そこで、同時発音数と実際に再
生される音の数が一致しない場合には、サウンドシステ
ム10の出力をミュートして楽音を出さないようにして
もよい。また、あらかじめ演奏情報がわかっている場合
には、これをあらかじめ読み出して音をミュートした状
態で本発明を実行させるようにし、この際に、再生する
同時発音数と発音指示する同時発音数が一致できるとこ
ろまで処理を進めるようにする。このような前処理をあ
らかじめ実行しておくことにより、ユーザーの操作に基
づいてアプリケーションソフト等から楽音を出力するよ
う指示されたときには、指示された同時発音数を満足す
る状態で再生を行うことができるようになる。
装置にて実行されるプログラムとして本発明の楽音発生
方法の説明を行った。また、本発明の楽音発生方法を記
録媒体に記録しておき、記録媒体からWindows (米マイ
クロソフト社のパソコン用OS)やその他のオペレーテ
ィングシステムの動作する汎用コンピュータ上にインス
トールすることにより、1つのアプリケーションプログ
ラムとして、他のアプリケーションプログラムと並列実
行させるようにしてもよい。
おいて演算生成されたすべてのチャンネルの波形データ
を波形メモリに記憶しておき、再生時の処理において、
演奏情報に対応する波形データが波形メモリに記憶され
ている場合は、波形メモリからその波形データを読み出
し、演奏情報に対応する波形データが波形メモリに記憶
されていない、すなわち、波形データが演奏時の処理に
おいて演算生成されていない場合は、再生時の処理にお
いて波形データを演算生成するようにしている。したが
って、演奏情報により複数の音の同時発音が指示され
て、演奏時の処理においてすべての音の波形データを演
算生成することができなかった場合でも、再生時の処理
を実行することにより、演奏時の処理において演算生成
された波形データの音に加えて、再生時の処理において
演算生成された波形データの音を発音することができる
ようになり、発音が指示された複数の発音チャンネルの
楽音を同時に発音することが可能となる。
すブロック図である。
図である。
ンのフローチャートである。
のフローチャートである。
のフローチャートである。
ハートウェア的に示す図である。
ック図である。
リ、5 プログラムメモリ、6 演奏情報記憶部、7
演奏情報発生部、8 バッファ、9 DAC、10サウ
ンドシステム
Claims (6)
- 【請求項1】 演奏情報を受けて演算により波形デー
タを生成して出力する演算ステップと、 該演算ステップにより得られた前記波形データを波形メ
モリに記憶する波形データ記憶ステップとを少なくとも
有する演奏時の処理と、 記憶された前記演奏情報を読み出して前記波形メモリか
ら、該演奏情報に対応する波形データを読み出す読み出
しステップと、 前記演奏情報に対応する波形データが演算生成されて前
記波形メモリに記憶されていない場合に、該演奏情報に
対応する波形データを演算生成する再生演算ステップを
少なくとも有する再生時の処理とを、 備えるようにしたことを特徴とする楽音発生方法。 - 【請求項2】 演算により波形データを生成する演算
部と、 該演算部の演算により得られた前記波形データが記憶さ
れる波形メモリとを少なくとも備え、 演奏情報が発生されたときに、前記演算部により波形デ
ータを生成して該波形データを前記波形メモリに記憶す
る演奏時の処理が実行され、 該演奏時の処理の終了後に、記憶された前記演奏情報を
読み出して前記波形メモリから、該演奏情報に対応する
波形データを読み出すと共に、前記演奏情報に対応する
波形データが前記波形メモリに記憶されていない場合
に、該演奏情報に対応する波形データを前記演算部によ
り演算生成する再生時の処理が実行されることにより、 前記演奏情報において複数の音の同時発生が指示されて
いても、前記再生時の処理において指示された複数の音
を発音できるようにしたことを特徴とする楽音発生装
置。 - 【請求項3】 前記再生時の処理において、前記演算
部が演算生成した波形データを前記波形メモリに記憶す
ることにより、前記演奏情報により複数の音の同時発生
が指示されたときに、前記再生時の処理を実行してもす
べての音の発生ができない場合には、前記再生時の処理
を繰り返し実行することにより、指示されたすべての音
を発音するようにしたことを特徴とする請求項2記載の
楽音発生装置。 - 【請求項4】 前記演奏情報において指示される同時発
音数と、実際に発音される発音数とが一致しないとき
は、出力をミュートして音を出さないようにしたことを
特徴とする請求項2あるいは3記載の楽音発生装置。 - 【請求項5】 発音指示に先行して、前記演奏情報を読
み出して出力をミュートした状態で、前記演算部により
波形データを生成して該波形データを前記波形メモリに
記憶する処理を実行させるようにすることにより、前記
発音指示が行われたときに、指示された同時発音数の音
を再生できるようにしたことを特徴とする請求項2記載
の楽音発生装置。 - 【請求項6】 演奏情報を受けて演算により波形データ
を生成して出力する演算ステップと、 該演算ステップにより得られた前記波形データを波形メ
モリに記憶する波形データ記憶ステップとを少なくとも
有する演奏時の処理と、 記憶された前記演奏情報を読み出して前記波形メモリか
ら、該演奏情報に対応する波形データを読み出す読み出
しステップと、 前記演奏情報に対応する波形データが演算生成されて前
記波形メモリに記憶されていない場合に、該演奏情報に
対応する波形データを演算生成する再生演算ステップを
少なくとも有する再生時の処理とからなる楽音発生方法
が記録されていることを特徴とする記録媒体。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP02574397A JP3799711B2 (ja) | 1997-01-27 | 1997-01-27 | 楽音発生方法および楽音発生装置 |
| US09/010,643 US5918301A (en) | 1997-01-27 | 1998-01-22 | Music apparatus with complete replay session after incomplete play session |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP02574397A JP3799711B2 (ja) | 1997-01-27 | 1997-01-27 | 楽音発生方法および楽音発生装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH10207465A true JPH10207465A (ja) | 1998-08-07 |
| JP3799711B2 JP3799711B2 (ja) | 2006-07-19 |
Family
ID=12174316
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP02574397A Expired - Fee Related JP3799711B2 (ja) | 1997-01-27 | 1997-01-27 | 楽音発生方法および楽音発生装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5918301A (ja) |
| JP (1) | JP3799711B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007316357A (ja) * | 2006-05-26 | 2007-12-06 | Casio Comput Co Ltd | 楽音発生装置および楽音発生処理のプログラム |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000029462A (ja) * | 1998-05-18 | 2000-01-28 | Sony Corp | 情報処理装置および情報処理方法、並びに提供媒体 |
| JP3675362B2 (ja) * | 2000-08-18 | 2005-07-27 | ヤマハ株式会社 | 楽音生成装置および携帯端末装置 |
| JP4039851B2 (ja) * | 2001-12-07 | 2008-01-30 | 株式会社エヌ・ティ・ティ・ドコモ | 移動通信端末、アプリケーションプログラムの実行状態制御方法、アプリケーションプログラム、及びアプリケーションプログラムを記録した記録 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2679540B2 (ja) * | 1992-07-15 | 1997-11-19 | ヤマハ株式会社 | メモリ制御装置 |
-
1997
- 1997-01-27 JP JP02574397A patent/JP3799711B2/ja not_active Expired - Fee Related
-
1998
- 1998-01-22 US US09/010,643 patent/US5918301A/en not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007316357A (ja) * | 2006-05-26 | 2007-12-06 | Casio Comput Co Ltd | 楽音発生装置および楽音発生処理のプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3799711B2 (ja) | 2006-07-19 |
| US5918301A (en) | 1999-06-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR960042327A (ko) | 악음생성방법 및 장치 | |
| US6620993B2 (en) | Automatic play apparatus and function expansion device | |
| JP3637578B2 (ja) | 楽音生成方法 | |
| KR100372311B1 (ko) | 전자악기 | |
| JP3799711B2 (ja) | 楽音発生方法および楽音発生装置 | |
| JP3637577B2 (ja) | 楽音生成方法 | |
| JPH07121181A (ja) | 音声情報処理装置 | |
| JP3152198B2 (ja) | 楽音発生方法および楽音発生装置 | |
| JP3978928B2 (ja) | 楽音生成装置 | |
| JP3003559B2 (ja) | 楽音生成方法 | |
| JP3409642B2 (ja) | 自動演奏装置、自動演奏データ処理方法及び電子的情報記憶媒体 | |
| JPH0968980A (ja) | 電子鍵盤楽器の音色制御装置 | |
| JP3293521B2 (ja) | 発音タイミング制御装置 | |
| JP3632744B2 (ja) | 音生成方法 | |
| JP3267226B2 (ja) | 自動伴奏装置及び自動伴奏制御プログラムを記録した媒体 | |
| US6362410B1 (en) | Electronic musical instrument | |
| JP7332002B2 (ja) | 電子楽器、方法及びプログラム | |
| JP4802947B2 (ja) | 奏法決定装置及びプログラム | |
| JP4096952B2 (ja) | 楽音発生装置 | |
| JP2570214B2 (ja) | 演奏情報入力装置 | |
| JP7124370B2 (ja) | 電子楽器、方法及びプログラム | |
| JP3627590B2 (ja) | 音生成方法 | |
| JP3463547B2 (ja) | 演奏データ変更装置、演奏データ変更方法及びプログラムを記録した媒体 | |
| JPH08185170A (ja) | 楽音発生装置 | |
| JP2001092450A (ja) | オーディオ・ファイルの生成処理方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051007 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051018 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051219 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060117 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060309 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060404 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060417 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| 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: 20100512 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110512 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130512 Year of fee payment: 7 |
|
| LAPS | Cancellation because of no payment of annual fees |