JPH0922287A - 楽音波形生成方法 - Google Patents
楽音波形生成方法Info
- Publication number
- JPH0922287A JPH0922287A JP7169531A JP16953195A JPH0922287A JP H0922287 A JPH0922287 A JP H0922287A JP 7169531 A JP7169531 A JP 7169531A JP 16953195 A JP16953195 A JP 16953195A JP H0922287 A JPH0922287 A JP H0922287A
- Authority
- JP
- Japan
- Prior art keywords
- musical tone
- tone waveform
- waveform
- waveform value
- margin
- 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
-
- 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 (programme) 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 (programme) 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
-
- 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 (programme) 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
- G10H2230/00—General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
- G10H2230/025—Computing or signal processing architecture features
- G10H2230/041—Processor load management, i.e. adaptation or optimization of computational load or data throughput in computationally intensive musical processes to avoid overload artifacts, e.g. by deliberately suppressing less audible or less relevant tones or decreasing their complexity
-
- 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
- G10H2240/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/171—Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
- G10H2240/201—Physical layer or hardware aspects of transmission to or from an electrophonic musical instrument, e.g. voltage levels, bit streams, code words or symbols over a physical link connecting network nodes or instruments
- G10H2240/241—Telephone transmission, i.e. using twisted pair telephone lines or any type of telephone network
-
- 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
- G10H2240/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/171—Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
- G10H2240/281—Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
- G10H2240/295—Packet switched network, e.g. token ring
- G10H2240/305—Internet or TCP/IP protocol use for any electrophonic musical instrument data or musical parameter transmission purposes
-
- 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
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/541—Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
の動作遅れを防止若しくは軽減することができるCPU
を用いた楽音波形生成方法を提供する。 【解決手段】CPUがサンプリングクロック毎の波形値
を演算して再生部に出力するが、この波形値を128サ
ンプル(1ブロック)分まとめて演算し、この1ブロッ
ク分の波形値を128サンプル毎に発生するクロックB
Cのタイミングに再生部に送信する。また、このときマ
ルチタスクを行っているCPUの処理能力に余裕があれ
さば次回以後のブロックの波形値を予め演算しておき、
サンプルバッファに蓄積記憶しておく。もし、マルチタ
スクによりCPUが忙しいときには蓄積記憶した波形デ
ータを再生部に出力するのみでよいため、並行して実行
される他のソフトの動作遅れを防止することができる。
Description
楽音波形値を演算して楽音波形を生成することにより、
マイクロコンピュータシステムなどのCPUに音源機能
を持たせた楽音信号形成方法に関する。
トによって実現した電子楽器がある。このような電子楽
器では、CPUは、楽音波形を再生するため、サンプリ
ング周波数のクロックSC毎に楽音波形値をディジタル
アナログ変換器(DAC)に供給する必要がある。従来
の該電子楽器では、該クロックSCの発生毎に楽音形成
演算を行って、楽音波形サンプルを生成するようになっ
ていた。
を行っていたのでは、毎回の演算毎に必要な準備処理と
終了処理のオーバーヘッドが大きいためCPUの効率が
悪くなる。そこで、複数サンプリングクロックに1回発
生する期間の長いクロックBC毎に複数サンプル分の楽
音波形値をまとめて演算するようにしたものも提案され
ている。
により、この音源ソフトを他のソフトウェア(たとえ
ば、ビジネスソフト,ゲームソフトなど)と同時に動作
させた場合、これら他のソフトウェアの処理が忙しいと
きでもクロックBCの発生の都度複数のサンプル分の楽
音波形値の演算を実行しなければならないため、CPU
負担が大きくなり、上記他のソフトウェアの動作が遅く
なるという欠点があった。
トウェアの動作遅れを防止若しくは軽減することができ
る楽音波形生成方法を提供することを目的とする。
明は、自動演奏情報に基づいてサンプリングタイミング
毎の楽音波形値を算出する波形値演算処理を、演算処理
部において他の処理と並行して実行する楽音波形生成方
法であって、前記演算処理部の演算能力のうち現在他の
処理に占有されていない余裕分を検出する余裕分検出ス
テップ、検出された演算能力の余裕分を利用して前記自
動演奏情報に基づく波形値演算処理を実行し前記余裕分
に応じた量の楽音波形値を読出タイミングに先行して算
出して記憶手段に蓄積記憶する波形値算出ステップ、一
定時間毎の読出タイミングに記憶手段の楽音波形値を読
み出すことによって楽音波形を生成する楽音生成ステッ
プを備えたことを特徴とする。
算出ステップにおいて、所定数の楽音波形値を単位と
し、前記余裕分に応じて1ないし複数単位分の楽音波形
値の算出を行うことを特徴とする。
成ステップに先立って前記波形値算出ステップをスター
トさせ、前記記憶手段に複数の波形値が蓄積記憶された
のち前記楽音生成ステップをスタートさせることを特徴
とする。
算出ステップにおいて、記憶手段に楽音波形値が先行し
て記憶されていない場合には、前記余裕分検出ステップ
が検出した余裕分の量にかかわりなく所定数の楽音波形
値を算出し前記記憶手段に記憶することを特徴とする。
基づいてサンプリングタイミング毎の楽音波形値を演算
する波形値演算処理を、演算処理部において他の処理と
並行して実行する楽音波形生成方法であって、楽音波形
値の演算時に前記他の処理に要する演算量を検出するス
テップ、前記演奏情報に基づき検出された演算量に応じ
て異なる演算量の波形値演算を選択的に実行し前記楽音
波形値を算出するステップを備えたことを特徴とする。
ムおよび自動演奏の演奏情報に基づいてサンプリングタ
イミング毎の楽音波形値を算出する波形値演算処理を、
演算処理部において実行する楽音波形生成方法であっ
て、所定期間おきにリアルタイムに入力する演奏情報に
応じて所定数の第1楽音波形値を算出するステップ、前
記演算処理部の演算能力のうち前記算出するステップを
含む演算処理に占有されていない余裕分を検出するステ
ップ、検出された演算能力の余裕分を利用して前記自動
演算情報に基づく波形値演算処理を実行し前記余裕分に
応じた量の第2楽音波形値を読出タイミングに先行して
算出するステップ、前記所定期間おきに生成した第1楽
音波形値と対応する第2楽音波形値とを加算し加算結果
の楽音波形値を記憶手段に記憶するステップ、一定時間
毎の読出タイミング記憶手段の楽音波形値を読み出すこ
とによって楽音波形を生成するステップを備えたことを
特徴とする。
実施形態について説明する。
を備えたマイクロコンピュータシステムの構成を示す図
である。CPU10にはバスを介してROM11,RA
M12,ハードディスク装置13,タイマ14,シリア
ルI/O15,キーボード16,ディスプレイ17およ
び再生部18が接続されている。ROM11はこのマイ
コンシステムの動作に必須の基本プログラムなどが記憶
されている。RAM12は実行するプログラムやデータ
を読み込むとともにプログラム処理中に発生したデータ
を記憶するメモリである。ハードディスク装置13に
は、図2に示すマルチメディアアプリケーションソフト
ウェアなどが記憶されている。このマルチメディアアプ
リケーションソフトウェアは、実行されるときはRAM
12に読み込まれる。タイマ14は一定時間毎にCPU
10に対して割り込みをかけるとともに、再生部18に
サンプリングクロックを供給するタイマである。シリア
ルI/O15は、外部接続される周辺機器とデータや制
御信号の送受信を行う。キーボード16,ディスプレイ
17は、この装置の適用分野に応じて種々のものが接続
されるが、たとえば電子楽器として構成した場合、キー
ボード16としては、いわゆる鍵盤が設けられ、ディス
プレイとしては液晶のディスプレイが設けられる。ま
た、カラオケ装置として構成した場合、キーボードとし
ては、選曲やテンポ制御等のために特殊化されたものが
設けられ、ディスプレイ17としては、大型のCRTモ
ニタが設けられる。再生部18はいわゆるサウンドボー
ドであり、CPU10から受け取った複数サンプル分の
波形データををバッファリングするとともに、各サンプ
ルクロック毎に波形データをDAC19に出力する回路
である。内部に備えられているバッファは追加書き込み
が可能であり、CPU10から受け取った波形データ群
(ブロック)は現在読出中の波形データ群の後に記憶さ
れる。バッファの構成としては、FIFO,デュアルポ
ートなど種々のものを採用することができる。再生部1
8から波形データを入力するDAC19は、この波形デ
ータをアナログの楽音信号に変換してサウンドシステム
20に出力する。サウンドシステム20はこの楽音信号
を増幅して外部出力する。
ションソフトウェアの構成を示す図である。このアプリ
ケーションソフトは、たとえばカラオケ演奏やゲーム用
のソフトであり、ヘッダ,全体制御ソフト,画像制御ソ
フト,音楽制御ソフト,その他制御ソフトからなってい
る。ヘッダは、このソフトのバージョンやメモリサイズ
などの書誌的事項からなっている。全体制御ソフトは、
並行して動作する複数のソフトの動作を制御し、全ソフ
トが円滑に動作するように制御するソフトウェアであ
る。画像制御ソフトは、ディスプレイ17の表示を制御
するソフトウェアである。音楽制御ソフトは、音楽の自
動演奏データに基づく自動演奏やリアルタイムに入力さ
れる演奏データに基づく楽音波形の生成を制御する。そ
の他制御ソフトは、利用者による入力の制御などの処理
を行う。
である。音楽制御ソフトは、再生処理ソフト,音色デー
タ,自動演奏データおよびワークエリアからなってい
る。再生処理ソフトは、図4,図5および図6のフロー
チャートに示す動作を行うものであり、ハードの音源装
置の機能をシミュレートするものである。音色データは
再生処理ソフトを具体的に駆動するためのデータであ
る。音色データには、波形値演算用のパラメータのほか
エンベロープを制御するパラメータ,フィルタコントロ
ールパラメータなどが含まれる。また、再生処理ソフト
がPCM音源をシミュレートするソフトであれば、音色
データは波形データそのものを含むように構成されてい
る。自動演奏データはBGM曲,カラオケ曲などの楽曲
を自動演奏するためのシーケンスである。ワークエリア
は、実際に再生処理ソフトが動作したときに必要となる
データや処理によって発生するデータのレジスタであ
る。このワークエリアは、ハード音源内部および周辺
(インタフェースなど)のレジスタに対応する。
ある。また、同図(D)はこのワークエリアに含まれる
サンプルバッファの詳細図である。また、図3はこのマ
イコンシステムにおける楽音波形生成動作を説明する図
である。
K(0)〜BLK(n−1)からなっており、ブロック
単位のリングバッファ構成になっている。各ブロックに
は128サンプルの波形データ(波形値)が書き込まれ
る。
ンプリングクロック128回に1回発生するクロックB
Cをトリガとして実行される。再生処理ソフトは、サン
プルバッファの1ブロック分の波形データを再生部18
に送信するとともに、そのときのCPU10の空き具合
をみて、他の処理に影響を与えない範囲で先のブロック
に波形データを書き込む処理を行う。また、キーボード
16などから入力されたリアルタイムの演奏データ入力
は、必ずその直後のクロックBCのタイミングに実行さ
れ、波形値が演算される。再生部18はクロックBCに
よってCPU10から入力された波形データをバッファ
リングし、これをサンプリングクロック毎に1サンプル
ずつ読み出してDAC19に入力する。
ロックポインタWPによって指定され、サンプルバッフ
ァの読出ブロックは読出ブロックポインタRPによって
指定される。また、WFは書込許可フラグ,RFは読出
許可フラグである。読出許可フラグRFは自動演奏のス
タートから終了までセットされ、書込許可フラグWF
は、自動演奏の先頭データの書き込みから最終データの
書き込みまでの間セットされる。先行書き込みが行われ
るため、書き込み期間と読出期間すなわち、WFFのセ
ット期間とRFのセット期間は不一致である。
は、全体制御ソフトからの各種指令が書き込まれるもの
であり、ハード音源内部の命令レジスタに対応する。具
体的にこのエリアに書き込まれるデータやフラグとして
は以下のものがある。
楽制御ソフトのなかには複数曲分の自動演奏データが入
っているため何番目の曲を再生するかを指定するデータ 再生範囲の指定データ:1曲の自動演奏データ中の一部
を再生する場合にその再生範囲を指定するデータ 各パートの音色の指定データ リアルタイムの演奏入力データ:キーボード16やシリ
アルI/O15から入力されるリアルタイムの演奏入力
データ、このデータはその他制御ソフトが受け付けるよ
うにすればよい。
ータがマルチパートの場合に、各パートの音色選択デー
タ,音量レベルなどで構成される。
はマルチチャンネル対応(複数音同時発音可能)である
ため、各発音チャンネルに対応するデータで構成され
る。具体的には、各チャンネルの音階を指定するデー
タ,アドレスカウンタの現在値,エンベロープの形状を
決めるデータやエンベロープの現在値など楽音信号を形
成するための各種のデータで構成される。すなわち、こ
のチャンネル制御データ記憶エリアはハード音源装置の
内部的なレジスタに対応する。
ロコンピュータシステムの動作を説明する。図4は同パ
ソコンの再生ソフトのメインルーチンを示すフローチャ
ートである。メインルーチンでは初期設定(s1)のの
ち、再生処理(s2)を繰り返し実行する。
ーチャートである。まずs10でクロックBCが発生す
るまで待機する。この待機中は全体制御ソフトに制御が
戻されており、並行して実行されている他の処理動作が
行われているものとする。クロックBCが発生するとs
10からs11に進む。s11では読出許可フラグRF
がセットしているか否かを判断する。RFのセットは自
動演奏中であることを示すため、自動演奏の波形データ
算出のためs12に進む。s12では書込ブロックポイ
ンタWPと読出ブロックポインタRPとを比較する。W
P=RPの場合には、今回読み出す(再生部18に送信
する)ブロックの波形データがまだ算出されていないこ
とを示すため、このブロックの波形データの算出動作
(s13〜s17)を実行する。s13では書込ブロッ
クポインタWPを1進める。ただし、サンプルバッファ
はリングバッファ的に使用されるため、WPが最大値に
なったときには自動的にリセットされるものとする(以
下のWP,RPの加算動作において同様)。つぎに、1
ブロック分の自動演奏データを再生するが(s14)、
この自動演奏データに対応する波形データの演算時間が
十分か否かを判断する(s15)。演算時間が十分であ
れば、高い精度(たとえば48kHz,32ビット)で
サンプリングデータの演算を行う(s16)。演算時間
が上記高精度演算に十分でなければ演算時間が不足する
分だけ一部のチャンネルの演算精度を低くして演算する
(s17)。演算精度を低くする処理は、サンプリング
クロック周期を長くしたり、演算ビット数を少なくする
などの処理である。こののち、s18に進む。一方、s
12でWPがRPよりも先行している場合には今回読み
出すブロックの波形データは既に算出済みであるためs
12から直接s18に進む。
かを判断する。これは今回読み出すブロックが最終ブロ
ック(エンドポイントが含まれているブロック)かで判
断される。今回読み出すブロックが最終ブロックであれ
ば、自動演奏データによる波形データの生成・読出は不
要となるためs19で書込許可フラグWF,読出許可フ
ラグRFを両方ともリセットする。リセットののち、リ
アルタイム演奏波形の演算および波形データの再生部1
8への送信のためにs20に進む。
フラグRF=0の場合には、s11から直接s20に進
む。
を加える。このRPで示されるブロックBLK(RP)
の波形データが後述のs23で再生部18に送信され
る。s21ではリアルタイムの演奏入力に応じた楽音波
形を演算し、その演奏データをRPのブロックに足し込
む(s22)。そして、このRPのブロックの波形デー
タを再生部18に供給する(s23)。この供給によっ
てBLK(RP)のデータが不要になったため、このブ
ロックの内容を0クリアする(s24)。すなわち、ブ
ロック内の全てのエリアに0を書き込む。
作を実行する。s30では書込許可フラグWFがセット
(WF=1)しているか否かを判断する。WF=1の場
合にはまだ自動演奏データが残っているため、s31以
下の先行書込動作を実行する。WF=0の場合には自動
演奏データを最後まで演算し終えているためs30の判
断で動作を終了する。s31では先行書き込みのための
演算時間があるか、すなわち、マルチタスクで並行処理
している他のソフトの処理が忙しいかを判断する。先行
書き込みのための演算時間がある場合には書込ブロック
ポインタWPに1を加算して(s32)、これから書き
込みを行うブロックを指定する。そして演奏データを読
み出して1ブロック分の演奏データを先行して再生する
(s33)。そしてこれに基づいて1ブロック分の波形
データを算出する(s34)。このデータはWPで指定
されるブロックに書き込まれる。この演算は余裕時間を
利用して行っているため、全チャンネルとも高精度の演
算を行うものとする。こののち、今回書き込みを行った
ブロックが最終ブロックであるか(s35)、または、
サンプルバッファが未読出データで一杯になったか(s
36)を判断する。今回書き込みを行ったブロックが最
終ブロックであった場合には、もう書き込みの必要がな
いため書込許可フラグWFをリセットして(s37)動
作を終える。サンプルバッファが未読出データで一杯に
なったか否かは書込ブロックポインタWPがリングバッ
ファを一周先行して読出ブロックポインタRPに追いつ
いた(WP=RP−1)か否かで判断される。この場合
には、新たな書き込みを行うと未読出データを上書きし
てしまうためs36の判断で動作を終了する。s36で
まだ書き込めるブロックがある場合にはs36からs3
1にもどる。s31でまだ時間的な余裕があると判断さ
れた場合にはさらに次のブロックの書き込みが行われる
(s32〜s34)。
もリアルタイム演奏入力のためにサンプルバッファを使
用しており(s20〜s24)、この処理においてRP
は必ずカウントアップされるため(s20)、RPはい
わゆるフリーランカウンタとなっている。したがって、
自動演奏の開始に先立って(RF←1となる前に)サン
プルバッファに波形データを書き込む場合には、所定の
タイミングで自動演奏の開始からクロックBCのカウン
ト数にしてどれだけ前から波形データの書き込みを開始
するかを決定し、「WP=現在のRP値+書込が読出に
先行するカウント数」の設定を行い、WFを1にしてW
Pで示されるブロックBLK(WP)に対して先頭の波
形データの書き込みを開始する。その後、クロックBC
が前記カウント分発生して、RPが書き込みを開始した
ブロックに到達して自動演奏が開始(RF←1)され、
的確に波形データの先頭から波形データが読み出され
る。自動演奏の開始時点(RF←1)に先立って、先行
再生開始(WF←1)するので、自動演奏開始の時点か
ら波形データの先行書き込み(算出)の機能を有効に活
用することができる。
波形データ(波形値)を記憶する記憶領域(ブロック)
を複数設け、並行して実行される他のソフトの処理が軽
い期間に将来DACに供給する波形データを前もってま
とめて生成しておき、該複数のブロックに記憶させてお
く。その後、該別のCPUソフトのための処理が一時的
に増加したとしても、そのタイミングに再生部18に供
給すべき波形データブロックの生成は完了しているの
で、そのときの波形データ生成処理をスキップすること
ができ、他のソフトの処理の遅れを防止することができ
る。このように、波形データの生成および再生部18へ
の供給をブロック単位で行っているため、余裕時間の判
定が容易になり、また、複数個の波形データをまとめて
生成することができるため効率がよい。
ッファの1ブロックを128サンプルで構成している
が、リアルタイム演奏入力を受け付けない場合には、ブ
ロックを1024サンプル,4096サンプルなど大き
く構成しておくと、CPU10の処理がより効率的にな
る。リアルタイム演奏を受け付ける場合に、ブロックを
このように大きく構成すると、クロックBCの間隔が長
くなり、リアルタイムの演奏入力から実際の発音までの
タイムラグが長くなるため好ましくない。
演算処理部の演算能力のうち、そのとき他の処理に占有
されていない余裕分を検出し、この余裕分に応じた量の
楽音波形値を読出タイミングに先行して生成するように
したことにより、マルチタスクにより複数のアプリケー
ションを並行して動作させている場合に、演算処理部の
処理能力に余裕があるときに波形データを演算して蓄積
しておくことができるため、演算処理部を効率的に動作
させることができるとともに、他のアプリケーションの
動作が忙しいときには蓄積されている波形データを読み
出すだけでよいため、他のアプリケーションの動作を効
率的にすることもできる。
楽音波形値を単位とし、この所定数ずつ演算を行うた
め、波形値演算処理の準備等に費やすオーバーヘッドを
軽減することができる。
を開始する時点で、既に記憶手段内に所定量の楽音波形
値が準備できているので、その時点から、先行演算によ
る付加調整機能を有効に機能させることができる。
にかかる負荷が大きく、楽音波形値の先行演算ができな
かった場合でも、波形値算出ステップが必ず実行され楽
音波形値が用意されるため、音切れが生じない。
ば、波形値の演算を行う場合において、演算処理部が前
記他の処理に要する演算量を検出し、検出された演算量
に応じて、それぞれ異なる精度の複数の波形値演算処理
から1つを選択してその処理で波形値の演算を実行する
ようにしたことにより、他の処理が忙しいときでも波形
値演算処理の演算量を少なくすることによって演算処理
部の負担を軽くでき、他の処理に影響を与えることな
く、且つ、途切れることなく楽音波形データの生成を継
続することができる。
ば、リアルタイム演奏による楽音生成処理が重くない期
間に、自動演奏による楽音生成処理を先行して行うの
で、楽音生成処理にかかる負荷が時間的に分散され、演
算処理部の処理効率を向上することができる。
イクロコンピュータシステムの構成を示す図
・データ構成を説明する図
動作時間帯を説明する図
フローチャート
フローチャート
フローチャート
Claims (6)
- 【請求項1】 自動演奏情報に基づいてサンプリングタ
イミング毎の楽音波形値を算出する波形値演算処理を、
演算処理部において他の処理と並行して実行する楽音波
形生成方法であって、 前記演算処理部の演算能力のうち、現在他の処理に占有
されていない余裕分を検出する余裕分検出ステップ、 検出された演算能力の余裕分を利用して前記自動演奏情
報に基づく波形値演算処理を実行し、前記余裕分に応じ
た量の楽音波形値を読出タイミングに先行して算出して
記憶手段に蓄積記憶する波形値算出ステップ、 一定時間毎の読出タイミングに記憶手段の楽音波形値を
読み出すことによって楽音波形を生成する楽音生成ステ
ップ、 を備えたことを特徴とする楽音波形生成方法。 - 【請求項2】 前記波形値算出ステップは、所定数の楽
音波形値を単位とし、前記余裕分に応じて1ないし複数
単位分の楽音波形値を算出を行うことを特徴とする請求
項1に記載の楽音波形生成方法。 - 【請求項3】 前記楽音生成ステップに先立って前記波
形値算出ステップをスタートさせ、前記記憶手段に複数
の波形値が蓄積記憶されたのち前記楽音生成ステップを
スタートさせることを特徴とする請求項1に記載の楽音
波形生成方法。 - 【請求項4】 前記波形値算出ステップでは、記憶手段
に楽音波形値が先行して記憶されていない場合には、前
記余裕分検出ステップが検出した余裕分の量にかかわり
なく所定数の楽音波形値を算出し前記記憶手段に記憶す
ることを特徴とする請求項1に記載の楽音波形生成方
法。 - 【請求項5】 演奏情報に基づいてサンプリングタイミ
ング毎の楽音波形値を演算する波形値演算処理を、演算
処理部において他の処理と並行して実行する楽音波形生
成方法であって、 楽音波形値の演算時に、前記他の処理に要する演算量を
検出するステップ、 前記演奏情報に基づき、検出された演算量に応じて異な
る演算量の波形値演算を選択的に実行し、前記楽音波形
値を算出するステップ、 を備えたことを特徴とする楽音波形生成方法。 - 【請求項6】 リアルタイムおよび自動演奏の演奏情報
に基づいてサンプリングタイミング毎の楽音波形値を算
出する波形値演算処理を、演算処理部において実行する
楽音波形生成方法であって、 所定期間おきに、リアルタイムに入力する演奏情報に応
じて所定数の第1楽音波形値を算出するステップ、 前記演算処理部の演算能力のうち、前記生成するステッ
プを含む演算処理に占有されていない余裕分を検出する
ステップ、 検出された演算能力の余裕分を利用して前記自動演算情
報に基づく波形値演算処理を実行し、前記余裕分に応じ
た量の第2楽音波形値を読出タイミングに先行して算出
するステップ、 前記所定期間おきに生成した第1楽音波形値と対応する
第2楽音波形値とを加算し、加算結果の楽音波形値を記
憶手段に記憶するステップ、 一定時間毎の読出タイミング記憶手段の楽音波形値を読
み出すことによって楽音波形を生成するステップ、 を備えたことを特徴とする楽音波形生成方法。
Priority Applications (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16953195A JP3267106B2 (ja) | 1995-07-05 | 1995-07-05 | 楽音波形生成方法 |
TW084111201A TW300298B (ja) | 1995-07-05 | 1995-10-23 | |
DE69625625T DE69625625T2 (de) | 1995-07-05 | 1996-07-03 | Verfahren und Vorrichtung zur auf Software basierten Tonwellenformerzeugung |
US08/675,447 US5696342A (en) | 1995-07-05 | 1996-07-03 | Tone waveform generating method and apparatus based on software |
SG9905000A SG80651A1 (en) | 1995-07-05 | 1996-07-03 | Tone waveform generating method and apparatus based on software |
EP96110766A EP0752697B1 (en) | 1995-07-05 | 1996-07-03 | Tone waveform generating method and apparatus based on software |
DE69613049T DE69613049T2 (de) | 1995-07-05 | 1996-07-03 | Verfahren und Vorrichtung zur auf Software basierten Tonwellenformerzeugung |
EP00102933A EP1005015B1 (en) | 1995-07-05 | 1996-07-03 | Tone waveform generating method and apparatus based on software |
KR1019960027264A KR100392621B1 (ko) | 1995-07-05 | 1996-07-05 | 악음파형생성방법및그장치 |
HK98114172A HK1013161A1 (en) | 1995-07-05 | 1998-12-21 | Tone waveform generating method and apparatus based on software |
US09/456,877 USRE41297E1 (en) | 1995-07-05 | 1999-12-08 | Tone waveform generating method and apparatus based on software |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16953195A JP3267106B2 (ja) | 1995-07-05 | 1995-07-05 | 楽音波形生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0922287A true JPH0922287A (ja) | 1997-01-21 |
JP3267106B2 JP3267106B2 (ja) | 2002-03-18 |
Family
ID=15888229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16953195A Expired - Fee Related JP3267106B2 (ja) | 1995-07-05 | 1995-07-05 | 楽音波形生成方法 |
Country Status (8)
Country | Link |
---|---|
US (2) | US5696342A (ja) |
EP (2) | EP0752697B1 (ja) |
JP (1) | JP3267106B2 (ja) |
KR (1) | KR100392621B1 (ja) |
DE (2) | DE69625625T2 (ja) |
HK (1) | HK1013161A1 (ja) |
SG (1) | SG80651A1 (ja) |
TW (1) | TW300298B (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005537506A (ja) * | 2002-09-02 | 2005-12-08 | テレフォンアクチーボラゲット エル エム エリクソン(パブル) | サウンド・シンセサイザ |
US7247784B2 (en) | 2000-08-18 | 2007-07-24 | Yamaha Corporation | Musical sound generator, portable terminal, musical sound generating method, and storage medium |
JP2010522361A (ja) * | 2007-03-22 | 2010-07-01 | クゥアルコム・インコーポレイテッド | オーディオファイルを処理するための共有バッファ管理 |
JP2013152477A (ja) * | 2007-03-22 | 2013-08-08 | Qualcomm Inc | 電子楽器デジタルインターフェースハードウェア命令セット |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1011091B1 (en) * | 1995-09-29 | 2004-04-28 | Yamaha Corporation | Musical tone-generating method and musical tone-generating apparatus |
SG67993A1 (en) * | 1996-08-30 | 1999-10-19 | Yamaha Corp | Sound source system based on computer software and method of generating acoustic waveform data |
US6758755B2 (en) | 1996-11-14 | 2004-07-06 | Arcade Planet, Inc. | Prize redemption system for games executed over a wide area network |
US5913258A (en) * | 1997-03-11 | 1999-06-15 | Yamaha Corporation | Music tone generating method by waveform synthesis with advance parameter computation |
JP4240575B2 (ja) | 1998-05-15 | 2009-03-18 | ヤマハ株式会社 | 楽音合成方法、記録媒体および楽音合成装置 |
JP3781171B2 (ja) | 2000-06-22 | 2006-05-31 | ヤマハ株式会社 | 楽音発生方法 |
CN1679081A (zh) * | 2002-09-02 | 2005-10-05 | 艾利森电话股份有限公司 | 声音合成器 |
US20050010485A1 (en) * | 2003-07-11 | 2005-01-13 | Quadratic Systems Corporation | Integrated system and method for selectively populating and managing multiple, site-specific, interactive, user stations |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5441497B2 (ja) * | 1974-11-14 | 1979-12-08 | ||
US4373416A (en) * | 1976-12-29 | 1983-02-15 | Nippon Gakki Seizo Kabushiki Kaisha | Wave generator for electronic musical instrument |
WO1980001215A1 (en) | 1978-12-11 | 1980-06-12 | Microskill Ltd | An output processing system for a digital electronic musical instrument |
DE2926548C2 (de) * | 1979-06-30 | 1982-02-18 | Rainer Josef 8047 Karlsfeld Gallitzendörfer | Wellenformgenerator zur Klangformung in einem elektronischen Musikinstrument |
US5029120A (en) * | 1985-02-01 | 1991-07-02 | Analogic Corporation | Electrical wavefrom generator means and methods |
JPS6452196U (ja) | 1987-09-28 | 1989-03-30 | ||
JPH0743591B2 (ja) * | 1988-03-08 | 1995-05-15 | ヤマハ株式会社 | 楽音発生制御装置 |
EP0376342B1 (en) * | 1988-12-29 | 1994-07-27 | Casio Computer Company Limited | Data processing apparatus for electronic musical instruments |
US5319151A (en) | 1988-12-29 | 1994-06-07 | Casio Computer Co., Ltd. | Data processing apparatus outputting waveform data in a certain interval |
JPH02254496A (ja) | 1989-03-29 | 1990-10-15 | Yamaha Corp | 楽音発生装置 |
US5121667A (en) | 1989-11-06 | 1992-06-16 | Emery Christopher L | Electronic musical instrument with multiple voices responsive to mutually exclusive ram memory segments |
JP2576647B2 (ja) * | 1989-11-30 | 1997-01-29 | ヤマハ株式会社 | 波形発生装置 |
EP0463409B1 (en) * | 1990-06-28 | 1998-12-30 | Casio Computer Company Limited | Musical tone waveform generation apparatus |
JP3006095B2 (ja) | 1990-06-28 | 2000-02-07 | カシオ計算機株式会社 | 楽音波形発生装置 |
US5584034A (en) | 1990-06-29 | 1996-12-10 | Casio Computer Co., Ltd. | Apparatus for executing respective portions of a process by main and sub CPUS |
US5200564A (en) | 1990-06-29 | 1993-04-06 | Casio Computer Co., Ltd. | Digital information processing apparatus with multiple CPUs |
JP2797142B2 (ja) | 1990-07-02 | 1998-09-17 | カシオ計算機株式会社 | 電子楽器用処理装置 |
JP2545297B2 (ja) | 1990-07-18 | 1996-10-16 | 株式会社河合楽器製作所 | 電子楽器のパラメータ設定装置 |
US5054360A (en) | 1990-11-01 | 1991-10-08 | International Business Machines Corporation | Method and apparatus for simultaneous output of digital audio and midi synthesized music |
US5283386A (en) * | 1991-08-30 | 1994-02-01 | Casio Computer Co., Ltd. | Musical-tone signal generating apparatus and musical-tone controlling apparatus including delay means and automatic reset means |
JP2722907B2 (ja) | 1991-12-13 | 1998-03-09 | ヤマハ株式会社 | 波形発生装置 |
JP2936872B2 (ja) * | 1992-03-04 | 1999-08-23 | ヤマハ株式会社 | 楽音制御装置 |
US5525748A (en) * | 1992-03-10 | 1996-06-11 | Yamaha Corporation | Tone data recording and reproducing device |
JP2743726B2 (ja) | 1992-07-07 | 1998-04-22 | ヤマハ株式会社 | 電子楽器 |
US5345035A (en) | 1992-07-10 | 1994-09-06 | Yamaha Corporation | Musical tone generating apparatus |
JPH07146679A (ja) | 1992-11-13 | 1995-06-06 | Internatl Business Mach Corp <Ibm> | 音声データを変換する方法及びシステム |
JPH06195075A (ja) | 1992-12-24 | 1994-07-15 | Kawai Musical Instr Mfg Co Ltd | 楽音発生装置 |
US5376752A (en) * | 1993-02-10 | 1994-12-27 | Korg, Inc. | Open architecture music synthesizer with dynamic voice allocation |
JPH06308958A (ja) | 1993-04-26 | 1994-11-04 | Roland Corp | 電子楽器の楽音制御装置 |
JP2713107B2 (ja) * | 1993-07-09 | 1998-02-16 | ヤマハ株式会社 | 自動演奏装置 |
TW281745B (ja) * | 1994-03-31 | 1996-07-21 | Yamaha Corp | |
DE69619587T2 (de) * | 1995-05-19 | 2002-10-31 | Yamaha Corp | Verfahren und Vorrichtung zur Tonerzeugung |
US5596159A (en) | 1995-11-22 | 1997-01-21 | Invision Interactive, Inc. | Software sound synthesis system |
US5763801A (en) * | 1996-03-25 | 1998-06-09 | Advanced Micro Devices, Inc. | Computer system and method for performing wavetable music synthesis which stores wavetable data in system memory |
-
1995
- 1995-07-05 JP JP16953195A patent/JP3267106B2/ja not_active Expired - Fee Related
- 1995-10-23 TW TW084111201A patent/TW300298B/zh active
-
1996
- 1996-07-03 SG SG9905000A patent/SG80651A1/en unknown
- 1996-07-03 DE DE69625625T patent/DE69625625T2/de not_active Expired - Lifetime
- 1996-07-03 DE DE69613049T patent/DE69613049T2/de not_active Expired - Lifetime
- 1996-07-03 US US08/675,447 patent/US5696342A/en not_active Ceased
- 1996-07-03 EP EP96110766A patent/EP0752697B1/en not_active Expired - Lifetime
- 1996-07-03 EP EP00102933A patent/EP1005015B1/en not_active Expired - Lifetime
- 1996-07-05 KR KR1019960027264A patent/KR100392621B1/ko not_active IP Right Cessation
-
1998
- 1998-12-21 HK HK98114172A patent/HK1013161A1/xx not_active IP Right Cessation
-
1999
- 1999-12-08 US US09/456,877 patent/USRE41297E1/en not_active Expired - Lifetime
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7247784B2 (en) | 2000-08-18 | 2007-07-24 | Yamaha Corporation | Musical sound generator, portable terminal, musical sound generating method, and storage medium |
JP2005537506A (ja) * | 2002-09-02 | 2005-12-08 | テレフォンアクチーボラゲット エル エム エリクソン(パブル) | サウンド・シンセサイザ |
JP2010522361A (ja) * | 2007-03-22 | 2010-07-01 | クゥアルコム・インコーポレイテッド | オーディオファイルを処理するための共有バッファ管理 |
JP2013083984A (ja) * | 2007-03-22 | 2013-05-09 | Qualcomm Inc | オーディオファイルを処理するための共有バッファ管理 |
JP2013152477A (ja) * | 2007-03-22 | 2013-08-08 | Qualcomm Inc | 電子楽器デジタルインターフェースハードウェア命令セット |
Also Published As
Publication number | Publication date |
---|---|
SG80651A1 (en) | 2001-05-22 |
KR970007684A (ko) | 1997-02-21 |
EP0752697A3 (ja) | 1997-02-05 |
EP0752697A2 (en) | 1997-01-08 |
EP0752697B1 (en) | 2001-05-30 |
DE69625625T2 (de) | 2003-10-30 |
EP1005015A1 (en) | 2000-05-31 |
EP1005015B1 (en) | 2003-01-02 |
KR100392621B1 (ko) | 2003-10-23 |
US5696342A (en) | 1997-12-09 |
JP3267106B2 (ja) | 2002-03-18 |
DE69613049D1 (de) | 2001-07-05 |
USRE41297E1 (en) | 2010-05-04 |
DE69625625D1 (de) | 2003-02-06 |
DE69613049T2 (de) | 2002-03-07 |
HK1013161A1 (en) | 1999-08-13 |
TW300298B (ja) | 1997-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0922287A (ja) | 楽音波形生成方法 | |
JP3637578B2 (ja) | 楽音生成方法 | |
JP3293474B2 (ja) | 楽音発生方法 | |
JP3163984B2 (ja) | 楽音発生装置 | |
US7314993B2 (en) | Automatic performance apparatus and automatic performance program | |
JPH09114457A (ja) | 楽音発生装置及び方法 | |
JP3541718B2 (ja) | 楽音生成装置 | |
JP3918817B2 (ja) | 楽音生成装置 | |
JPH07121181A (ja) | 音声情報処理装置 | |
JP3637577B2 (ja) | 楽音生成方法 | |
JP3019755B2 (ja) | 楽音発生方法および楽音発生装置 | |
JP3740717B2 (ja) | 音源装置及び楽音生成方法 | |
JP3003559B2 (ja) | 楽音生成方法 | |
JP3127873B2 (ja) | 波形再生方法、波形再生装置、波形出力回路およびシーケンス再生装置 | |
JP4120979B2 (ja) | 波形再生装置 | |
JP2641851B2 (ja) | 自動演奏装置 | |
JP3164096B2 (ja) | 楽音発生方法及び装置 | |
JP3235557B2 (ja) | 波形再生装置、波形録音再生装置、波形出力回路、波形入出力回路、波形再生方法および波形録音再生方法 | |
JP3031392B2 (ja) | 演奏再生装置及び演奏再生方法 | |
JP2583377B2 (ja) | 自動演奏装置 | |
JP2005234597A (ja) | 音源装置 | |
JP3627557B2 (ja) | 楽音発生装置及び方法 | |
JP3627590B2 (ja) | 音生成方法 | |
JPH10124051A (ja) | 曲データ加工方法、加工後曲データ再生方法および記憶媒体 | |
JPH06348273A (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: 20090111 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100111 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110111 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120111 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |