JP2000089759A - 音生成方法 - Google Patents
音生成方法Info
- Publication number
- JP2000089759A JP2000089759A JP11283903A JP28390399A JP2000089759A JP 2000089759 A JP2000089759 A JP 2000089759A JP 11283903 A JP11283903 A JP 11283903A JP 28390399 A JP28390399 A JP 28390399A JP 2000089759 A JP2000089759 A JP 2000089759A
- Authority
- JP
- Japan
- Prior art keywords
- sound
- waveform
- calculation
- tone
- time
- 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
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
なくする。 【解決手段】各発音チャンネルの楽音波形サンプルを演
算する時に、複数のチャンネルのうち楽音の音量が所定
レベル以上の発音チャンネルについてのみ音生成演算を
実行し、楽音の音量が所定レベル以下の発音チャンネル
については音生成演算を実行しないようにする。さら
に、複数サンプル周期分(例えば100サンプル分)ま
とめて生成する。
Description
える汎用処理装置により楽音を生成できるようにした楽
音生成方法に関するものである。
(Musical Instrument Digital Interface)、鍵盤、あ
るいはシーケンサ等からの演奏情報を入力する演奏入力
部、楽音波形を生成する音源部、入力した演奏情報に応
じて前記音源部を制御するマイクロプロセッサ(CP
U)等から構成されていた。CPUは、入力した演奏情
報に応じて、チャンネルアサイン、パラメータ変換等の
音源ドライバ処理(演奏処理)を実行し、音源部の割り
当てたチャンネルに変換したパラメータと発音開始指示
(ノートオン)を音源部に供給する。音源部は、LSI
(Large Scale Integrated circuit)等の電子回路(ハ
ードウェア)で構成され、供給されたパラメータに基づ
いて楽音波形を生成する。このため、楽音生成装置は楽
音を生成するための専用機器となってしまい、楽音を生
成する時には専用の楽音生成装置を用意する必要があっ
た。
よりアプリケーションプログラムを実行し、アプリケー
ションプログラムに基づいて楽音を生成する楽音生成方
法が提案されている。この楽音生成方法においては、楽
音を生成するアプリケーションプログラムのほかに他の
アプリケーションプログラムを実行させることができ、
他の機能も実行させることのできる汎用の演算処理装置
により実行することができるものである。
置(CPU)を備える汎用の装置によりアプリケーショ
ンプログラムを実行させて楽音を生成する場合、従来は
1サンプリング周期(デジタル・アナログ変換器の変換
タイミング)毎に各チャンネルの楽音波形サンプルを発
音チャンネル分演算生成するようにしている。従って、
CPUは各発音チャンネルの処理を行う場合、まず、前
回の当該発音チャンネルの演算に用いた各種レジスタ値
をメモリからCPUのレジスタに読み出す等の準備処理
が行われる。また、当該発音チャンネルの楽音生成処理
後には次回の処理のため、前記レジスタ値をメモリに書
き込む必要がある。すなわち、各発音チャンネルの楽音
波形サンプルの演算処理を1サンプルずつ生成するよう
にしていたため、楽音を生成する楽音生成処理以外の、
準備処理に多くのCPUの演算時間が費やされ(オーバ
ヘッドが大きくなる)、演算効率が悪くなり応答や楽音
生成処理が遅くなるという問題点があった。
理とは、入力した演奏情報に基づき、生成される楽音を
制御する制御情報を作成する処理である。他方、音源処
理とは、作成された制御情報に基づき楽音の波形データ
を生成する処理である。例えば、通常は押鍵検出等の演
奏処理を実行し、この演奏処理に対して各サンプリング
周期で音源処理を割り込み実行して、1サンプル分の波
形データを生成した後、演奏処理に復帰するようにして
いる。
作やシーケンサでのイベントの再生により発生し、演奏
情報が発生した場合には演奏処理により演奏情報が処理
される。つまり、演奏情報の発生した時点では、CPU
は、通常の音源処理に加えて演奏処理を実行しなければ
ならないため、非定期的に発生する演奏情報により、演
算量が一時的に増加することになる。しかしながら、従
来の楽音生成方法においてはこれに対応しておらず、音
源処理は、演奏情報のあるなしにかかわらず定期的に優
先実行され、場合によっては演奏処理が遅れてしまうと
いう問題点があった。なお、このような演奏処理の遅れ
を防止するために、演奏処理の優先度を上げることが考
えられるが、このようにすると今度は、一時的に発音数
が減少したり、楽音波形が途切れてしまうという問題が
発生することになる。
とのできる音生成方法を提供することを目的としてい
る。
に、本発明の音生成方法は、プログラムに従って動作す
るマイクロプロセッサにより楽音を生成する音生成方法
であって、指定された音を発生するための発生命令を発
行する第1のステップと、指定された音を複数の発音チ
ャンネルの1つに割り当てる第2のステップと、演算開
始命令を発行する第3のステップと、各演算開始命令に
応じて、各チャンネル毎の波形データを算術的に生成す
るように前記各チャンネルで音生成演算を実行する第4
のステップとを具備し、該第4のステップでは、前記複
数のチャンネルのうち楽音の音量が所定レベル以上の発
音チャンネルについてのみ音生成演算を実行し、楽音の
音量が所定レベル以下の発音チャンネルについては音生
成演算を実行しないようにしたものである。
前記第4のステップは、各チャンネル毎の波形データの
複数サンプルをまとめて算術的に生成するようにしたも
のである。
所定レベル以上の発音チャンネルについてのみ音生成演
算を実行し、楽音の音量が所定レベル以下の発音チャン
ネルについては音生成演算を実行しないようにしたの
で、演算量が減少しCPUのオーバヘッドを小さくする
ことができる。このため、生成された楽音の質を向上す
ることができると共に、同時発音チャンネル数を増加す
ることができる。また、各チャンネル毎の波形データの
複数サンプルをまとめて算術的に生成するようにしたの
で、複数の楽音波形サンプルの演算について1回だけ各
発音チャンネルの準備処理を行えば良いため、CPUの
オーバヘッドが小さくすることができる。
形態を実行することのできる楽音生成装置の構成を図1
に示す。この図において、1はアプリケーションプログ
ラム等を実行して楽音波形サンプルの生成等の各種制御
を行うマイクロプロセッサ(CPU)、2はプリセット
音色データ等が記憶されているリードオンリメモリ(R
OM)、3はCPU1のワークメモリエリアや音色デー
タエリア、入力バッファエリア、チャンネルレジスタエ
リア、出力バッファエリア等の記憶エリアを有するラン
ダムアクセスメモリ(RAM)4は時刻を指示すると共
に、タイマ割り込み処理のタイミングをCPU1に指示
するタイマ、5はMIDIイベントが入力されると共
に、生成されたMIDIイベントを出力するMIDIイ
ンターフェース、6は英字、かな、数字、記号などのキ
ーと備えるいわゆるパソコン用のキーボードである。
のディスプレイ(モニタ)、8は楽音を生成するプログ
ラム等のアプリケーションプログラムがインストールさ
れていると共に、楽音波形サンプルを生成するために使
用する楽音波形データ等が記憶されているハードディス
ク(HDD)、9はRAM3の一部のCPUにより指定
されたエリアに記憶されている楽音波形サンプルのデー
タをCPU1を介することなく直接に受渡を行い、一定
のサンプリング周期(例えば、48kHz)毎にデジタ
ル・アナログ変換器(DAC)10に供給する再生部
(DMA;DirectMemory Access)、10は楽音波形サ
ンプルのデータを受け取りアナログ信号に変換するデジ
タル・アナログ変換器(DAC)、11はDAC10か
ら出力されたアナログ信号に変換された楽音信号を放音
するサウンドシステムである。以上の構成はパソコン、
ワークステーション等と同等であり、それらの上で本発
明の楽音発生方法を実施することができる。
記憶されるエリアを有しているが、その内の音色データ
が記憶されるエリアを図2に、入力バッファのエリアを
図3に、チャンネルレジスタのエリアを図4に、出力バ
ッファのエリアを図5に示す。図2に示すエリアにおい
て、PD1,PD2,・・・,PD16は16種類分の
音色データであり、それぞれの音色データは各音域の波
形を指定するデータ(各音域波形指定)、ビブラート等
をかける時に使用するLFO(Low FrequencyOscillato
r)制御用のデータ(LFO制御OD)、音色フィルタ
特性を制御するフィルタエンベロープの発生制御用のデ
ータ(FEG制御OD)、振幅を制御するエンベロープ
の発生制御用のデータ(AEG制御OD)、ベロシティ
により楽音の立ち上がりの速さ等を変えるタッチ制御用
のデータ(タッチ制御OD)、その他のデータ(その他
OD)からなっている。
を示しており、発音指示時のタッチデータ,音高データ
等に応じてこれらのオリジナルデータに加工を施して音
源が使用する発音用のデータを作成するようにしてい
る。また、WD1,WD2,・・・,WDnは波形デー
タであり、入力される音高データに応じて、PD1,P
D2,・・・,PD16の音色データにおける各音域波
形指定データによりいずれかの波形データが指定され
る。
MIDIインターフェース5を介して入力されるノート
オン、ノートオフや各種イベントのMIDIイベントデ
ータID1,ID2,ID3,・・・が順次書き込ま
れ、このMIDIイベントデータID1,ID2,ID
3,・・・が読み出されることによりそのイベント処理
が楽音生成装置内において実行される。このMIDIイ
ベントデータID1,ID2,ID3,・・・は、MI
DIイベントのデータ内容(例えば、データ1内容)
と、そのデータの発生時刻(データ1発生時刻)とによ
り構成される。この発生時刻はMIDIイベントデータ
受信時にタイマ4の現在時刻を取り込むことにより知る
ことができる。
独立した複数の楽音の生成を制御するためのデータを記
憶するチャンネル(ch)レジスタとして使用され、こ
の例では1ch,2ch,・・・,32chの32チャ
ンネル分のエリアが用意されている。各チャンネルのエ
リアはノートナンバ、波形指定データ(波形指定D)、
LFO制御データ(LFO制御D)、フィルタエンベロ
ープ制御データ(FEG制御D)、振幅エンベロープ制
御データ(AEG制御D)、ノートオンデータ、その他
のデータ(その他D)、およびCPU1がプログラム実
行時に使用するワークエリアからなっている。この波形
指定D、LFO制御D、FEG制御D、AEG制御Dは
前記したオリジナルデータに加工が施された発音用のデ
ータである。
ァ用のエリアであり、順次交代して発音波形生成用の出
力バッファXとして使用されている。この出力バッファ
は、後述するように演算処理により生成された各発音チ
ャンネルの楽音波形サンプルデータSD1,SD2,S
D3,・・・が生成される毎にチャンネル累算され格納
される。出力バッファのいずれかが発音波形生成用の出
力バッファXとして指定され、波形生成演算に使用され
る。この出力バッファXは2つ以上用意される。最も簡
単な構成としては出力バッファXを2個とし、片方に格
納されているデータを再生部(DMA)9に渡して再生
している間に、もう片方に演算した次の楽音波形サンプ
ルのデータを格納するダブルバッファ構成とすることが
できる。
ード、500ワード、1Kワード、5Kワード等任意に
設定することができるが、サイズを大きくすると発音に
遅れを生じ、サイズを小さくすると時間的マージンが減
少し、一時的な演算量の増加時に応答が悪くなることに
なる。そこで、リアルタイム性が要求されない、例えば
シーケンサ演奏等の場合は、演奏タイミングを前にずら
すことにより発音遅れを吸収できるため、出力バッファ
のサイズを大きくすることができる。一方、リアルタイ
ムの演奏が必要とされる、例えば鍵盤演奏等の場合は、
発音遅れを防止するため、バッファサイズは100〜2
00ワードとするのが好適である。以上は、再生のサン
プリング周波数が40kHz〜50kHzの場合であ
り、サンプリング周波数を低く設定する場合は、発音遅
れを防止するためもっと小さいサイズにする必要があ
る。
の形態ないし第5の実施の形態を説明するが、各実施の
形態は前記図1に示す楽音生成装置によりそれぞれ実行
することができるものである。本発明の第1の実施の形
態の楽音生成方法は、CPU1が楽音を生成するアプリ
ケーションプログラムを実行する各発音チャンネルの楽
音生成処理において、複数楽音波形サンプル、例えば1
00楽音波形サンプルまとめて生成するようにしたもの
である。すなわち、各発音チャンネルの処理において、
DAC10のサンプリング周期の例えば100サイクル
分まとめて楽音波形サンプルが生成されるようになる。
ネル分の楽音生成処理が実行され、生成された複数の楽
音波形サンプルが100サンプルとされた場合は、DA
C10の100サンプリング周期分のチャンネル累算値
として順次累算され、前記した出力バッファに記憶され
る。出力バッファに記憶された楽音波形サンプルは、全
発音チャンネル分の累算完了後に再生部(DMA)9に
より、前記サンプリング周期毎に1サンプルずつ読み出
され、DAC10に供給されてサウンドシステム11か
ら発音される。なお、計算時刻は、複数の出力バッファ
を交代して用いて楽音生成処理を実行した場合に、楽音
波形サンプルが途切れず読み出し再生できる間隔で発生
されるように制御されている。
れば、各発音チャンネルの準備処理は、まとめて生成さ
れる複数の楽音波形サンプルの演算について1回だけ行
えば良いため、全体の演算時間の内でこの準備処理に費
やされる演算時間の割合が減少し、オーバヘッドを小さ
くすることができる。このため、生成される楽音波形サ
ンプルの質の向上や同時発音数を増加することができ
る。なお、計算時刻間の1区間(出力バッファのサイズ
に相当)をさらにn等分して、それに対応する時間間隔
で発音波形演算を行い、最後のn個目の演算で完成した
1区間分の楽音波形サンプルを単位として、再生部(D
MA)9が読み出すようにしてもよい。
成方法の説明を行う。本発明の第2の実施の形態の楽音
生成方法は、前記第1実施例と同様にCPU1が楽音を
生成するアプリケーションプログラムを実行する各発音
チャンネルの楽音生成処理において、複数の楽音波形サ
ンプルをまとめて生成するようにしているが、さらに加
えて入力データ、この例ではMIDIイベントがMID
Iインターフェース5において受信される毎に、その時
点までの発音波形演算を行うようにしている。そして、
所定の計算時刻には予め定められた複数の楽音波形サン
プル(1つの出力バッファ分のサンプル)の内、未演算
の楽音波形サンプルのみの発音波形演算を行うようにし
たものである。
発音チャンネルについての演算を行うのであるが、その
中の入力データに応じて発音態様が変化するキーオンイ
ベントあるいはキーオフイベント(ピッチベンド,音量
変化)等がある発音チャンネルにおいては、対応を変化
させずに発音を継続する発音チャンネルに比べて多くの
演算処理が必要となる。この場合、一定時間おきの計算
時刻とすると、入力データが増加した時に、演算時間が
発音態様が変化する発音チャンネルに多く占められてし
まうため、結果的に演算できる発音チャンネル数が減少
してしまうことになる。特に、発音を開始する発音チャ
ンネルについては、アドレスカウンタ、各種エンベロー
プ発生器の初期設定、Fナンバ発生等多くの初期設定処
理が必要であり、演算処理時間が多くかかる。
ミングチャートを参照しながらさらに説明すると、出力
バッファは前記したダブルバッファ構成とされており、
この2つの出力バッファがA,Bとされてその読み出し
タイミングが同図(e)に示されている。そして、各バ
ッファA,Bの再生に要する時間がTA およびTB とさ
れており、TA =TB とされている。まず、出力バッフ
ァA用の計算対象となる時刻範囲t0 〜t1 において、
同図(a)に示すように時刻ta でMIDIイベントを
2つMIDI受信部が受信すると、同図(b)に示すよ
うに音源ドライバ部で処理が行われ、さらに同図(c)
に示すように音源部によりt0 〜ta 間の楽音波形サン
プルA1 が計算される。
Iイベントを受信するMIDIインターフェース5を含
み、前記したようにMIDIイベントのデータを入力バ
ッファに発生時刻と共に書き込む。音源ドライバ部は入
力バッファのデータあるいはパソコンキーボード6より
の入力を受け取り、音源チャンネルアサインおよび入力
に従ってボイシングパラメータから音源パラメータへの
変換を行う。また、音源部は音源パラメータを受け取
り、波形データを加工して実際に発音する楽音波形サン
プルを生成する。LPF部は生成された楽音波形サンプ
ル中の折り返しノイズ成分を除去する。そして、LPF
部の出力が出力バッファA,Bに書き込まれる。なお、
音源ドライブ、音源部、LPF部はCPU1がアプリケ
ーションプログラムを実行することにより実現される機
能である。
が1つMIDI受信部において受信されると、同様に音
源ドライバ部で処理が行われ、さらに音源部によりta
〜t b 間の楽音波形サンプルA2 が計算される。その
後、時刻t1 に達すると音源部によりtb 〜t1 間の楽
音波形サンプルA 3 が計算される。この場合、時刻t
a ,tb においてキーオンイベントが入力されると、そ
の発音初期処理も含めてこの時刻t1 において演算処理
される。さらに、LPF部においてフィルタ処理が行わ
れて出力バッファA用の楽音波形サンプルの生成が終了
する。
時刻範囲t1 〜t2 において、同図(a)に示すように
時刻tc で新たなMIDIイベントを3つMIDI受信
部が受信するが、音源部は楽音波形サンプルA3 を計算
中なので、入力データは計算時間が割り当てられるまで
入力バッファにおかれる。そして、楽音波形サンプルA
3 の計算が終了し、さらにLPF部のフィルタ処理も完
了すると、入力バッファ中のデータが音源ドライバ部で
処理されて、音源部によりt1 〜tc 間の入力に対応す
る楽音波形サンプルB1 が計算される。この場合、計算
処理が遅れても入力データの発生時刻も入力バッファに
書き込まれているため、発音タイミングには影響しない
ようになる。
中に新たなMIDIイベントを4つ受信するが、この入
力データも楽音波形サンプルB1 の計算終了後に計算さ
れる。これにより、楽音波形サンプルB2 はtc 〜td
間の入力に対応する楽音波形サンプルとなり、楽音波形
サンプルB3 はtd 〜te 間の入力に対応する楽音波形
サンプルとなり、楽音波形サンプルB4 はte 〜t2 間
の入力に対応する楽音波形サンプルとなる。さらに、楽
音波形サンプルA5 はt2 〜t3 間の入力に対応する楽
音波形サンプルとなる。
が発生した場合は、その時点までの発音波形演算をその
時点で実行するようにしているため、楽音波形サンプル
の計算時間が分散される。従って、所定時間毎に行われ
る計算時間における処理が増加しないため、キーオンイ
ベント等の発音態様を変化させる入力データが多く発生
しても、同時発音数が減少する等の不都合が生じること
を防止することができる。
形生成方法の説明を行う。ところで、所定のタイミング
で計算時刻を発生し、所定数の楽音波形サンプルをまと
めて演算生成するようにした場合、連続的に楽音を発生
するためには、過去に生成した波形サンプルの生成終了
以前に、それに続く該所定数の波形サンプルを供給する
必要がある。すると、処理すべき発音チャンネル数が多
くその発音波形演算量が多過ぎる場合、全チャンネル分
演算を実行すると、その楽音波形サンプルの供給が間に
合わず、楽音が途切れてしまうという欠点が生じる。
はこの欠点を解決しようとするものであって、楽音波形
サンプルの供給がDAC10の変換タイミングに間に合
うか否かを判定し、間に合わないと判定された場合は、
重要度の低い発音チャンネルから消音する発音チャンネ
ルを選定する。そして、選定された発音チャンネルにつ
いては演算時に、該所定数の波形サンプルのうちの初期
期間に対応するダンプ波形サンプルのみが短時間で演算
される。このように、選定された消音される発音チャン
ネルにおける楽音波形サンプルは、短期間のダンプ波形
しが演算しないので、この発音チャンネルの演算時間が
短縮され、全体として楽音波形サンプルの供給がDAC
10の変換タイミングに間に合うようになる。
(ベース音)。 (4)複数パート演奏されている場合、一番高い音(リ
ード音)。 (5)複数パート音演奏されている場合におけるソロの
パート音。 とするのが一般的である。
明すると、演算する発音チャンネルを発音波形演算に先
立って重要な音から順位付けし、その順位に従って重要
な音から順番に発音演算を行うようにし、発音波形演算
が間に合わない場合に、発音波形演算を途中で打ち切っ
て、その時点までに生成された楽音波形サンプルのみで
発音を行うようにしたものである。このようにすれば、
万が一演算打ち切りをする必要が生じた場合でも、それ
によって音の消えてしまうチャンネルは、重要度の低い
比較的影響の少ない楽音を生成しているチャンネルと云
うことになる。なお、第3の実施の形態およびその変形
例において、入力データが発生する毎に発音波形演算を
行うようにしてもよい。
形演算を行なわず、最後に1区間分まとめて発音波形演
算をするようにしてもよい。この場合、入力データの数
に応じて計算時刻を早めるようにトリガをかけるのが好
適である。または、計算時刻間の1区間をさらにn等分
して、それに対応する時間間隔で発音波形演算を行い、
最後のn個目の演算で完成した1区間分の楽音波形サン
プルを単位として、再生部(DMA)9が読み出すよう
にしてもよい。
発生し、複数の楽音波形サンプルをまとめて演算生成す
るようにした場合、あるいは入力データが発生する毎に
発音波形演算を行なう場合、連続的に楽音を発生するた
めには、過去に生成した波形サンプルの生成終了以前
に、それに続く波形サンプルを供給する必要がある。す
ると、処理すべき発音チャンネル数が多くその発音波形
演算量が多過ぎる場合や、楽音生成処理以外の処理(シ
ーケンサ処理等)に時間が費やされた等の理由でその楽
音波形サンプルの供給が間に合わなかった場合、処理途
中の楽音波形サンプルが読み出されノイズが発音される
可能性があった。そこで、本発明の第4の実施の形態の
楽音発生方法においては、次のようにしてこれを解決し
ている。
部(DMA)9にはCPU1が出力バッファのデータを
渡す指令を出すようにしている。この場合、生成した所
定数の楽音サンプルを記憶する出力バッファ自体のアド
レスを、一回の読み出し区間として再生部に9に設定し
たり、繰り返し読み出される繰り返し読み出し区間とし
て設定をすることができるが、さらに加えて、該アドレ
スを現在すでに読み出し中の読み出し区間に続けて読み
出せるよう読み出し区間の予約を設定することができ
る。本実施の形態では、この読み出し区間の予約によ
り、楽音波形演算サンプルが生成された後に出力バッフ
ァに予約登録が行われ、すでに読み出し中の波形に続け
てて読み出される。楽音波形サンプルの演算が終了しな
かった場合は、その予約登録が行われないので、処理途
中の楽音波形サンプルが発音されることによるノイズの
発生を防止することができる。
が、途切れる時間は、例えば44.1kHzのサンプル
周波数における数サンプル時間に抑えれば影響は小さ
い。数サンプル時間に抑えるには、前述したように発音
されているチャンネル数を制御すればよい。さらに、処
理が完了すると予約登録が行われて発音されるようにな
る。なお、入力データが発生する毎に発音波形演算を行
なわず、最後に1区間分まとめて発音波形演算をするよ
うにしてもよい。この場合、入力データの数に応じて計
算時刻を早めるようにトリガをかけるのが好適である。
または、計算時刻間の1区間をさらにn等分して、それ
に対応する時間間隔で発音波形演算を行い、最後のn個
目の演算で完成した1区間分の楽音波形サンプルの発音
予約を行うようにしてもよい。
時刻を発生し、複数の楽音波形サンプルをまとめて演算
生成するようにした場合、あるいは入力データが発生す
る毎に発音波形演算を行なう場合、連続的に楽音を発生
するためには、過去に生成した波形サンプルの生成終了
以前に、それに続く波形サンプルを供給する必要があ
る。ところで、この計算時刻は、過去に生成した楽音波
形サンプルの終了タイミングに基づいて、発音波形の生
成を実行するのに必要な時間分、その終了タイミングよ
り早いタイミングが指定される。この終了タイミング
は、CPU1が再生部(DMA)9の状態(フラグ)を
確認し、楽音波形サンプルの再生区間が次の区間に移行
したことを検知するようにして検出しているため、再生
部(DMA)9の状態(フラグ)が変化してからCPU
1がそのことを検知するまでに時間遅れが生じることに
なる。さらに、この時間遅れはCPU1が上述した検知
を実行するタイミングによるため、そのタイミングに応
じて不均一な時間遅れとなる。
るタイミングに基づいて計算時刻を発生するようにする
と、正確な計算時刻が発生することができないこととな
る。特に、1度だけ大きく遅れたタイミングが検出され
ると、それに基づいて発生された計算時刻は演算開始時
刻から発音波形供給までの演算時間が短いことになるた
め、この場合は同時発音数が一時的に減少してしまうこ
とになる。そこで、本発明の第5の実施の形態の楽音生
成方法においては次のようにしてこれを解決している。
態変化が検出された時刻を複数記憶しておく。この複数
の時刻の時刻間の平均を取ることにより、次の検出時刻
を予測するようにする。この予測された時刻は、再生部
(DMA)9における真の終了タイミングからの検出遅
れが平均化されたものとされるので、予測されたタイミ
ングより所定時間前のタイミングを、ほぼ正確な終了タ
イミングとして検出することができる。そして、この終
了タイミングに基づいて計算時刻を発生するようにす
る。このように、検出される終了タイミングは平均化さ
れたものとなり、ばらつきが少なくなるので、毎計算時
刻に確保される演算時間も均一化され、安定した楽音生
成動作が実行されるようになる。
演算を行なわず、最後に1区間分まとめて発音波形演算
をするようにしてもよい。この場合、入力データの数に
応じて計算時刻を早めるようにトリガをかけるのが好適
である。または、計算時刻間の1区間をさらにn等分し
て、それに対応する時間間隔で発音波形演算を行い、最
後のn個目の演算で完成した1区間分の楽音波形サンプ
ルの発音予約を行うようにしてもよい。
ないし第5の実施の形態の要素を1まとめにした楽音生
成方法および装置の動作をフローチャートを参照しなが
ら説明する。図6はメインルーチンのフローチャートを
示す図であり、メインルーチンがスタートされるとステ
ップS10にて初期設定が行われる。初期設定ではタイ
マ4やDMAの設定、全発音チャンネルのクリアや、音
色データおよび波形データ等の準備が行われる。次い
で、ステップS20にてキーボード6からの入力が処理
されるキーボード処理が行われ、ステップS30にて入
力されたMIDIイベントに応じた処理が行われるMI
DI処理が行われる。さらに、ステップS40にて楽音
波形サンプルが生成される発音波形演算等が行われる音
源処理が行われ、ステップS50にてその他の処理が行
われ、ステップS20に戻り、ステップS20ないしス
テップS50の処理が循環して繰返し行われる(定常ル
ープ)。これらの処理は、マルチタスクの方法を用いて
他のソフトと同時に実行される。
込処理のフローチャートを図7に示す。この処理は、M
IDIインタフェース5が外部より何らかのMIDIイ
ベントを受信した際に割込により起動される。このMI
DI受信割込処理は、他の処理より優先して行われる処
理である。このMIDI受信割込処理が開始されると、
ステップS100にてMIDIインターフェース5によ
り受信された受信データが取り込まれ、ステップS11
0にてその受信データは受信された時点の時刻データと
組にして図3に示されるような形式で前述した入力バッ
ファに書き込まれるようにされて、割込発生時の処理へ
リターンされる。これにより、受信したMIDIデータ
は、順次、受信時刻と共に入力バッファに書き込まれる
ようになる。
ップS30として実行されるMIDI処理の詳細フロー
チャートを図8に示す。MIDI処理が開始されるとス
テップS200にて入力バッファを読みに行き、未処理
の受信データがあるかどうかの確認を行う。未処理の受
信データがあるとステップS210にて判断されると、
ステップS220に進み、受信データの内容に応じた分
岐を行う。受信データがノートオンイベントの場合は、
ステップS230に分岐されてノートオン処理が実行さ
れる。また、受信データがノートオフの場合は、ステッ
プS240に分岐されてノートオフ処理が実行され、受
信データがその他のデータの場合は、ステップS250
に分岐されてその他処理が実行される。そして、これら
のいずれかの処理が終了すると、MIDI処理は終了す
る。なお、受信データがないとステップS210にて判
断されると、そのままMIDI処理を終了する。
信データがノートオンイベントの場合にステップS23
0にて実行されるノートオン処理のフローチャートを図
9(a)に示す。ノートオン処理が開始されると、ステ
ップS300にて、入力バッファ中のそのノートオンイ
ベントのノートナンバがNNとして、ベロシティがVE
Lとして、それぞれレジスタに取り込まれ、そのノート
オンイベントの発生時刻がTMとしてレジスタに取り込
まれる。次いで、ステップS310にてレジスタに取り
込まれたノートナンバNNの発音割当処理が行われ、割
り当てられたチャンネル(ch)の番号がiとしてレジ
スタに取り込まれる。
chレジスタのうちレジスタに取り込まれたch番号i
のchレジスタに、前記ノートナンバNN,ベロシティ
VELに応じた楽音制御データを設定する。設定される
楽音制御データは、図2に示す16音色分の音色データ
のうち、前記ノートオンイベントを受信したMIDIチ
ャンネルに対応した音色データ(各種OD)を、前記ノ
ートナンバNN,ベロシティVELの値に応じて加工し
て得られる発音用データ(各種D)である。ここで、発
音用データの中の波形指定データDは、図2に示す音色
データ中の音域波形指定データをノートナンバNNで参
照することにより求められ、該ノートナンバNNに対応
した楽音生成に用いるべき波形として、波形データWD
1から波形データWDnのうちのいずれか1つを指定す
る。前記楽音制御データの設定後、ステップS330に
てichのノートオンフラグを立てるようにする。
算生成を実行するが、この場合の演算生成は、現在準備
中のバッファXに書き込むべき全波形のうち、時刻TM
以前で、かつ、未計算の波形(部分波形)について実行
され、算出された該部分波形を出力バッファXに書き込
むようにする。ここで、部分波形は、ステップS210
において新たな受信データが検出された時点で(データ
が確定し)演算生成が可能になる範囲の発音波形に相当
する。生成する波形は、受信したノートオンイベントの
発生時刻TMの時点までの発音波形であり、該ノートオ
ンに応じて発音開始する楽音波形は、該発音波形に含ま
れず、以後に生成される発音波形の方に含まれる。この
処理の詳細については、後述する図11に示されてい
る。
50の処理は、先に図12に関連して説明した楽音波形
A1 あるいはA2 等の演算生成処理に対応するが、ステ
ップS350では、前述したステップS320でchレ
ジスタに設定されたichの楽音制御データに基づき、
ichにおける発音の初期設定をchレジスタのワーク
エリアに対して行う。ここで、このワークエリアは、各
発音chの楽音生成に必要な、アドレス現在値、各種エ
ンベロープ現在値および現在ステート、LFO波形現在
値等、各chの波形生成に必要な複数のデータ現在値を
記憶する。この発音初期処理が終了すれば、ノートオン
処理は終了する。なお、初期設定においては、波形読み
出しアドレス現在値へのスタートアドレスの設定、ノー
トナンバNNに応じたFナンバの発生、およびLFO、
フィルタEG、音量EG、補間演算、フィルタ演算等の
各初期設定が行われる。この初期設定は前記したように
演算時間を要する処理である。
信データがノートオフイベントの場合にステップS24
0にて実行されるノートオフ処理のフローチャートを図
9(b)に示す。ノートオフ処理が開始されると、ステ
ップS400にて、入力バッファ中のそのノートオフイ
ベントのノートナンバがNNとしてレジスタに取り込ま
れ、ノートオフイベントの発生時刻がTMとしてレジス
タに取り込まれる。次いで、ステップS410にてノー
トナンバNNで発音されている発音チャンネル(ch)
がサーチされ、見つかった発音chの番号がiとしてレ
ジスタに取り込まれる。
トオンフラグを倒し、ステップS430にて発音波形の
演算生成が実行される。この場合の演算生成処理は、前
述したステップS340と同様の処理であり、時刻TM
以前の未計算波形(部分波形)を算出して出力バッファ
Xに書き込むようにする。さらに、ステップS440に
てichのリリース開始処理が行われてノートオフ処理
は終了する。ここで、ichのリリース開始処理とは、
ワークエリア中のichの各種エンベロープのステート
等を書き換え、ichにおける楽音生成の状態をリリー
ス状態に変化させる処理である。
ップS40として実行される音源処理の詳細フローチャ
ートを図10を参照しながら説明する。音源処理が開始
されると、ステップS500にて再生部(DMA)9の
再生状態をチェックし、再生区間が次に進んでいたらス
テップS510に進み、再生区間が進んでいない場合は
ステップS520に進む。DMA9は、CPU1により
指定されたRAM3上の特定エリアの波形サンプルを再
生エリアとして、所定のサンプリング周期毎にその特定
エリアの最初のサンプルから1サンプルづつ順次読み出
し、DAC10に供給し再生する。さらに、DMA9は
その特定エリアを再生しつつ、CPU1から次に再生す
べき別のエリアを指定する予約を受け付ける。予約され
た別の特定エリアの波形サンプルは、再生中の特定エリ
アの再生が完了した後、引き続いてDMA9により同様
に1サンプルづつ順次読み出され、DAC10に供給さ
れ再生される。ここで、再生区間が次に進むというの
は、先に特定エリアとして指定した再生区間の再生が完
了し、次の特定エリアとして予約された別の再生区間に
再生が移ったことを意味する。なお、一度に複数の特定
エリアを再生予約することが可能であり、その場合、複
数の特定エリアは予約した順に順次再生される。
た時刻(現在時刻)と過去に検出された時刻から次回の
検出時刻を予測し、予測された検出時刻より所定時間前
の時刻を次回の計算時刻として指定する。次回の検出時
刻の予測の仕方としては、現在時刻と過去の検出時刻を
含む複数回の検出時刻に基づき最小二乗法で誤差の少な
い近似値を求めて予測する方法や、複数回の検出時刻の
変化の様子を2次関数等、別の関数で近似して予測する
方法がある。DMA9では進行が発生してからステップ
S510で検出されるまでの時間は、その時々の処理ス
テップ位置、状況の違い等により、一定でない時間遅れ
が生じ、複数回の検出時刻には、一定でないばらつきが
含まれている。従って、前記近似関数の算出には、複数
回の検出時刻のばらつきを平均化する処理が含まれる。
に確保される時間であり、どのくらいの長さにするか
は、確保したい発音数、演算のクォリティ等、その演算
生成に必要な演算量に基づいて決定される。前記所定時
間の長さは、固定値でもよいが、キーボード6で設定で
きるようにしたり、同時に走る複数の処理プログラムと
の兼ね合いでCPU1が自動的に決定するようにしても
よい。
刻とタイマ4が指示する現在時刻とを比較することによ
り、計算時刻に達したか否かが判断され、計算時刻に達
したと判断された場合はステップS530ないしステッ
プS580の処理を実行する。まず、ステップS530
にて現在発音中の発音チャンネルを、どの順番で演算す
るか決定する。後述するステップS550の波形演算生
成処理では、発音中のチャンネルについて、1チャンネ
ルづつ複数サンプル分の発音波形を生成していくわけで
あるが、その時のチャンネルの処理順をここで決めてい
るわけである。
法に従って、音楽的に重要な楽音、消えてしまっては困
る楽音から順番に演算を行うように順番付けをする。次
いで、ステップS540にて発音中の全発音チャンネル
を、予定した演算時間(ステップS510で説明した所
定時間)内に演算可能か否かが判定され、不可能の場合
は演算順序が最後の発音チャンネルから消音すべき発音
チャンネルを1ないし複数チャンネル分指定し、予定し
た演算時間内に演算可能になるよう演算量を削減する。
この処理は、前記した第3の実施の形態の楽音生成方法
に基づく具体的な処理である。次いで、ステップS55
0にて発音波形の演算が行われる。ここでは、現在準備
中の出力バッファXが発音波形データで満たされ、準備
完了となるように、バッファXの未計算分について楽音
波形サンプルが演算されて発音波形が算出され、出力バ
ッファXに書き込まれる。この処理は、先に図12に関
連して説明した発音波形A3 等の演算生成処理に対応す
る。
ファXの各サンプルは、さらに、ステップS560にて
ローパスフィルタ(LPF)処理が施され、高域成分が
カットされる。次いで、ステップS570にて波形再生
部(DMA)9に、LPF処理済の発音波形を記憶する
出力バッファXのエリアが、続いて再生すべき再生波形
を記憶する特定エリアとして予約登録される。これによ
り、現在再生中の特定エリアおよび既に予約されている
特定エリアの発音波形が再生完了した後に再生されるよ
う予約される。そして、ステップS580にて、それま
でバッファXとして使用していた出力バッファとは別の
新規の出力バッファ領域が確保され、全てのサンプル値
がゼロにクリアされて、次の区間の発音波形を作成し準
備するための出力バッファXとして新たに設定され、音
源処理が終了する。なお、ステップS520にて計算時
刻に達していないと判断された場合は、そのまま終了す
る。
よび音源処理にて実行される発音波形演算処理のフロー
チャートを図11に示す。この処理が行われる場合に
は、既に説明したように前もって発音波形が演算される
発音波形の時間範囲が定められている。すなわち、ノー
トオン処理等のMIDIデータ受信時の処理として本フ
ローを実行する場合は、前記時間範囲とは前述した部分
波形のことであり、音源処理中で本フローを実行する場
合は、バッファXの全サンプルのうち、未計算部分の発
音波形サンプルのことである。なお、MIDIデータ受
信時には、直前の音源処理で決定した演算順序に基づい
て演算を行うため、発音チャンネルの演算順序を新たに
決定していない。新たなノートオンがあった場合は、他
の全発音チャンネルの順位を1つ繰り下げ、その新たな
ノートオンのチャンネルを演算順序の第1番に順次加え
ていく。
プS600にて演算順序の1番の発音チャンネル(c
h)の最初の楽音波形サンプルの演算準備が行われる。
演算準備処理とは、前回の読み出しアドレス、各種EG
値、各種EGのステート(アタックやリリース等の状
態)、LFO値等のデータを、ただちに演算に使えるよ
うにアクセス準備したりCPU1の内部レジスタにロー
ドしたりする処理のことである。そして、ステップS6
10にてLFO、フィルタG、音量EGの波形演算を行
い、指定された前記時間範囲の演算に必要なLFO波
形、FEG波形、AEG波形のサンプルを生成する。L
FO波形はFナンバ、FEG波形、AEG波形に加算さ
れ、各データを変調する。また、ステップS540で消
音すべきチャンネルとして指定された発音チャンネルに
関しては、音量EGとして前記範囲内で急速に減衰する
ダンプ用のAEG波形が演算生成される。
読み出しアドレスを初期値としてFナンバを繰り返し加
算し前記時間範囲内の各サンプルの読み出しアドレスを
発生し、この読み出しアドレスの整数部に基づいて音色
データ内の波形記憶領域WDより波形サンプルを読み出
すと共に、この読み出しアドレスの小数部に基づいて読
み出された波形サンプル間の補間を行い、前記時間範囲
内の全補間サンプルを算出するようにする。例えば、前
記時間範囲が100サンプル分の時間に相当する場合、
100サンプル分まとめてこのステップにより処理が行
われる。ここで、前記時間範囲内の複数サンプル分の処
理は、読み出しアドレスに対するFナンバの加算と、加
算により生成されたアドレスに基づく読み出しから補間
の処理までの処理を単位処理として、この単位処理を繰
り返して行うようになっているため、読み出しアドレス
のCPUレジスタへの読み込みが全体として1回で済
み、処理が高速化されている。
囲内の補間サンプルに対し音色フィルタ処理が行われ、
前記FEG波形に基づいて音色制御が行われ、ステップ
S640にて、フィルタ処理済の前記時間範囲内のサン
プルに対し振幅制御処理が行われ、前記AEGおよび音
量データに基づいて楽音波形サンプルの振幅制御が行わ
れると共に、振幅制御処理された前記時間範囲分の楽音
波形サンプルがそれぞれ出力バッファXの対応するサン
プルに足し込まれる累算書込処理が実行される。この処
理においては、前記時間範囲内の各サンプルについて、
振幅制御とバッファXの対応サンプルへの足し込みを連
続して行うようになっているので、サンプルのCPUレ
ジスタへの取り込み回数が少なくて済み、処理速度が向
上している。
テップS640にかけての楽音波形サンプルの演算生成
処理は、基本的には前記所定時間範囲内の全サンプルを
生成するように行われるわけであるが、ステップS61
0における音量EGの波形演算の結果、AEG波形のレ
ベルが下がり音量が十分減衰した範囲については、演算
の対象からはずされ、その分処理を少なくするようにな
っている。特に、ステップS540の指示により、ダン
プ用AEG波形を生成した発音チャンネルに関しては、
前記所定時間範囲の途中で十分な減衰が得られる場合が
多い。
処理をこのまま続行したい場合にDMA9に対し期限内
に波形を供給できそうか否か判定されて、演算を打ち切
るか否かの判断が行われる。ここで、期限内に波形を供
給するというのは、先に生成された発音波形を記憶する
特定エリアを再生中のDMA9が、そのエリアの再生を
終了してしまう前に、バッファXにそれに引き続く発音
波形を準備し、そのバッファXのエリアを再生予約でき
ることである。そのまま続行すると間に合わなくなる場
合は、演算を打ち切ると判断され、ステップS670に
て打ち切り処理が実行されて、この発音波形演算処理は
終了する。
された場合、演算を打ち切る必要がないと判断され、続
くステップS660にて演算すべき全発音チャンネル分
の楽音波形の演算生成が終了したか否かが判断され、全
発音チャンネルの演算が終了したと判断されない場合
は、ステップS680にて次の演算順序を付与された発
音チャンネルの最初の楽音波形サンプルが指定され、次
順の発音チャンネルの楽音チャンネルの楽音波形の演算
生成準備が行われる。準備が完了したら、処理はステッ
プS610に戻り、その発音チャンネルのついて先程と
同様にステップS610ないしステップS640に渡る
楽音生成の処理が実行される。このようにして、全発音
チャンネルの演算が終了するまでステップS610ない
しステップS660の処理が繰り返し行われるようにな
る。各発音チャンネルの処理毎に、生成された前記所定
時間範囲分のサンプルは、ステップS640にてバッフ
ァXの対応するサンプルに順次足し込まれる。
たと判定された場合、本発音波形演算を終了する。この
時、バッファXには、演算すべき全発音チャンネルの生
成された楽音波形サンプルを累算した累算値が、前記時
間範囲に対応するサンプル数分、新たに記憶されてい
る。一方、ステップS650で打ち切りを行うと判断さ
れ、ステップS670の打ち切り処理を経て発音波形演
算が終了した場合、バッファXには、演算すべき全発音
チャンネルの内、その時点までに演算生成を完了した発
音チャンネルについての楽音波形サンプルの累算値が、
前記時間範囲に対応するサンプル数分、新たに記憶され
ている。
チャンネルについては楽音の演算生成が行われず、結果
的にそのチャンネルの楽音が消えてしまうわけである
が、ステップS530の処理により、消えてしまった場
合に影響の少ないチャンネルほど後ろの演算順序とされ
ているので、打ち切りによる悪影響は最小限に抑えられ
る。なお、ステップS670の打ち切り処理では、一旦
演算できなかったチャンネルについて、次回以降の発音
波形演算においても消音したままになるよう、chレジ
スタを設定している。
(a)にフローチャートを示すノートオン処理のステッ
プS340にて実行された場合には、上述した発音波形
演算処理が終了すると、該フローチャートのステップS
350の処理が続けて実行されて、ノートオン処理が終
了する。また、発音波形演算処理が図9(b)にフロー
チャートを示すノートオフ処理のステップS430にて
実行された場合には、上述した発音波形演算処理が終了
すると、該フローチャートのステップS440の処理が
続けて実行されて、ノートオフ処理が終了する。
ーチャートを示す音源処理のステップS550にて実行
された場合には、上述した発音波形演算処理が終了する
と、該フローチャートのステップS560以降の処理が
続けて実行されて、ステップS580の処理が終了する
と音源処理が終了する。これらのノートオン処理、ノー
トオフ処理、および音源処理は、図6に示す定常ループ
内において循環して繰り返し行われ、発音される楽音波
形サンプルが順次生成されるようになる。
うまでもないことであるが、例えば複数の楽音の発生を
指示するステップと、所定時間時間間隔で演算開始を指
示するステップのように、互いに独立したデータを扱う
ステップについては、前記説明した順番で処理を行う必
要はなく、その処理の順番を入れ替えて実行するように
してもよい。また、本発明の楽音生成方法においては、
前記した楽音生成演算処理の空き時間を利用して他のア
プリケーションソフトから依頼された発音指示を含む処
理を行うことができる。他のアプリケーションソフトと
しては、ゲームソフト、通信ソフト、事務処理ソフト等
がある。
装置にて実行されるプログラムとして本発明の楽音生成
方法の説明を行った。また、本発明の楽音生成方法を、
Windows (米マイクロソフト社のパソコン用OS)やそ
の他のオペレーティングシステムの動作する汎用コンピ
ュータ上で、1つのアプリケーションプログラムとし
て、他のアプリケーションプログラムと並列実行させて
もよい。
の音量が所定レベル以上の発音チャンネルについてのみ
音生成演算を実行し、楽音の音量が所定レベル以下の発
音チャンネルについては音生成演算を実行しないように
したので、演算量が減少しCPUのオーバヘッドを小さ
くすることができる。このため、生成された楽音の質を
向上することができると共に、同時発音チャンネル数を
増加することができる。また、各チャンネル毎の波形デ
ータの複数サンプルをまとめて算術的に生成するように
したので、複数の楽音波形サンプルの演算について1回
だけ各発音チャンネルの準備処理を行えば良いため、C
PUのオーバヘッドが小さくすることができる。
の受入処理を行い、受け入れた演奏情報に基づく楽音制
御あるいは波形生成は、該受入処理の空き時間に実行さ
れるメインステップに含まれるようにしたので、演奏情
報が発生した時点での処理の増加分を前記空き時間内に
分散させることができ、一時的な処理の増加を防止する
ことができる。
装置の構成を示すブロック図である。
る。
る。
る。
る。
ローチャートを示す図である。
理のフローチャートを示す図である。
ーチャートを示す図である。
ノートオフ処理のフローチャートを示す図である。
チャートを示す図である。
のフローチャートを示す図である。
ング図を示す図である。
MIDIインターフェース、6 キーボード、7 デ
ィスプレイ、8 ハードディスク、9 再生部、10
DAC、11 サウンドシステム
Claims (2)
- 【請求項1】 プログラムに従って動作するマイクロプ
ロセッサにより楽音を生成する音生成方法であって、 指定された音を発生するための発生命令を発行する第1
のステップと、 指定された音を複数の発音チャンネルの1つに割り当て
る第2のステップと、 演算開始命令を発行する第3のステップと、 各演算開始命令に応じて、各チャンネル毎の波形データ
を算術的に生成するように前記各チャンネルで音生成演
算を実行する第4のステップとを具備し、 該第4のステップでは、前記複数のチャンネルのうち楽
音の音量が所定レベル以上の発音チャンネルについての
み音生成演算を実行し、楽音の音量が所定レベル以下の
発音チャンネルについては音生成演算を実行しないよう
にしたことを特徴とする音生成方法。 - 【請求項2】 前記第4のステップは、各チャンネル毎
の波形データの複数サンプルをまとめて算術的に生成す
るものであることを特徴とする請求項1記載の音生成方
法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28390399A JP3632744B2 (ja) | 1995-05-19 | 1999-10-05 | 音生成方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14415995 | 1995-05-19 | ||
JP7-144159 | 1995-05-19 | ||
JP28390399A JP3632744B2 (ja) | 1995-05-19 | 1999-10-05 | 音生成方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7299185A Division JP3003559B2 (ja) | 1995-05-19 | 1995-10-23 | 楽音生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000089759A true JP2000089759A (ja) | 2000-03-31 |
JP3632744B2 JP3632744B2 (ja) | 2005-03-23 |
Family
ID=26475667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28390399A Expired - Lifetime JP3632744B2 (ja) | 1995-05-19 | 1999-10-05 | 音生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3632744B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007212490A (ja) * | 2006-02-07 | 2007-08-23 | Yamaha Corp | 楽音の発音制御装置および発音制御プログラム |
JP2013152477A (ja) * | 2007-03-22 | 2013-08-08 | Qualcomm Inc | 電子楽器デジタルインターフェースハードウェア命令セット |
-
1999
- 1999-10-05 JP JP28390399A patent/JP3632744B2/ja not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007212490A (ja) * | 2006-02-07 | 2007-08-23 | Yamaha Corp | 楽音の発音制御装置および発音制御プログラム |
JP4497100B2 (ja) * | 2006-02-07 | 2010-07-07 | ヤマハ株式会社 | 楽音の発音制御装置および発音制御プログラム |
JP2013152477A (ja) * | 2007-03-22 | 2013-08-08 | Qualcomm Inc | 電子楽器デジタルインターフェースハードウェア命令セット |
Also Published As
Publication number | Publication date |
---|---|
JP3632744B2 (ja) | 2005-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100421589B1 (ko) | 악음생성방법및장치 | |
KR100319481B1 (ko) | 악음발생방법,파형데이터압축방법,이러한방법을실행하기위한제어명령어를포함하는기계판독가능한기록매체및사운드장치 | |
JP3637578B2 (ja) | 楽音生成方法 | |
JP3293474B2 (ja) | 楽音発生方法 | |
US6326537B1 (en) | Method and apparatus for generating musical tone waveforms by user input of sample waveform frequency | |
JPH09114457A (ja) | 楽音発生装置及び方法 | |
JP3003559B2 (ja) | 楽音生成方法 | |
JP3632744B2 (ja) | 音生成方法 | |
JP3918817B2 (ja) | 楽音生成装置 | |
JPH07121181A (ja) | 音声情報処理装置 | |
US6040516A (en) | Tone generation system using computer software and storage medium storing the computer software | |
JP3627590B2 (ja) | 音生成方法 | |
JP3637577B2 (ja) | 楽音生成方法 | |
JP4103706B2 (ja) | 音源回路の制御プログラムおよび音源回路の制御装置 | |
JP3409642B2 (ja) | 自動演奏装置、自動演奏データ処理方法及び電子的情報記憶媒体 | |
JPH11202866A (ja) | 楽音発生方法および楽音発生装置 | |
JP3000894B2 (ja) | 楽音発生方法 | |
JP3141789B2 (ja) | コンピュータソフトウェアを用いた音源システム | |
JPH10207465A (ja) | 楽音発生方法および楽音発生装置 | |
JP3603638B2 (ja) | 楽音発生方法 | |
JP7159583B2 (ja) | 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 | |
JP3257400B2 (ja) | エフェクト装置 | |
JP3223827B2 (ja) | 音源波形データ生成方法および装置 | |
JP3603849B2 (ja) | 楽音発生方法 | |
JP3716701B2 (ja) | 発音チャンネル割り当て方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20030114 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041214 |
|
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: 20090107 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100107 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110107 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120107 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130107 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140107 Year of fee payment: 9 |
|
EXPY | Cancellation because of completion of term |