JP4614131B2 - 波形発生装置および波形発生プログラム - Google Patents
波形発生装置および波形発生プログラム Download PDFInfo
- Publication number
- JP4614131B2 JP4614131B2 JP2005266594A JP2005266594A JP4614131B2 JP 4614131 B2 JP4614131 B2 JP 4614131B2 JP 2005266594 A JP2005266594 A JP 2005266594A JP 2005266594 A JP2005266594 A JP 2005266594A JP 4614131 B2 JP4614131 B2 JP 4614131B2
- Authority
- JP
- Japan
- Prior art keywords
- oscillator
- register
- waveform
- physical
- 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.)
- Active
Links
Images
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
- 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/004—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 with one or more auxiliary processor in addition to the main processing unit
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Electrophonic Musical Instruments (AREA)
Description
前記マスタオシレータに記憶された読み出しアドレスを前記記憶された楽音のピッチに基づいて更新して前記割り当てられた物理オシレータ手段に供給するとともに、前記スレーブオシレータに記憶された読み出しアドレスを当該マスタオシレータで更新された読み出しアドレスにオフセットアドレス値を加算したアドレスに更新して前記割り当てられた物理オシレータ手段に供給する動作を一定周期毎に実行するタイマステップとを実行させることを特徴とする。
A.構成
(1)全体構成
図1は、本発明の実施の一形態による波形発生装置を備えた電子楽器100の構成を示すブロック図である。電子楽器100は、鍵盤1、スイッチ部2、ホイール操作子3、CPU4、表示部5、ROM6、RAM7、音源8、サウンドシステム9およびMIDIインタフェース10を備える。
次に、図2〜図6を参照してRAM7に設けられる主要レジスタの構成を説明する。主要レジスタとは、オシレータパラメータレジスタ、スケジュールパラメータレジスタ、ノートパラメータレジスタ、物理・論理オシレータ対応パラメータレジスタおよび演奏パラメータレジスタからなる。
図2(a)は、オシレータパラメータレジスタPROSC[0]〜PROSC[63]の構成を示す図である。オシレータパラメータレジスタPROSC[0]〜PROSC[63]は、それぞれ音源8が備える64個の各オシレータ毎のパラメータを一時記憶する。オシレータパラメータは、フラグRUN、フラグSlave、レジスタLnkOSC、レジスタAdrOfs、レジスタCurAdr、レジスタEndAdr、レジスタLoopAdr、レジスタPitchおよびレジスタValueから構成される。
図2(b)は、スケジュールパラメータレジスタの構成を示す図である。スケジュールパラメータレジスタは、レジスタSSA[0]〜SSA[63]と、レジスタSSB[0]〜SSB[63]とに大別される。レジスタSSB[0]〜SSB[63]には、1サンプリング周期内に時分割に波形発生するオシレータの処理順序がCPU4により書き込まれる。
図3は、ノートパラメータレジスタNR[0]〜NR[63]の構成を示す図である。ノートパラメータレジスタNR[0]〜[63]は、各発音チャンネル毎の楽音形成パラメータを一時記憶する。1つの発音チャンネルが備えるノートパラメータは、レジスタLOSC[0]〜[7]、レジスタOK、レジスタFT、レジスタPK、レジスタPP、レジスタPIL、レジスタPAR、レジスタPAL、レジスタPDR、レジスタPSL、レジスタPRR、レジスタPRL、レジスタPESおよびレジスタPECLから構成される。
図6(a)は、物理・論理オシレータ対応パラメータレジスタの構成を示す図である。物理・論理オシレータ対応パラメータレジスタは、レジスタPhOSC[0]〜PhOSC[63]、レジスタNRACおよびレジスタOACから構成される。レジスタPhOSC[0]〜PhOSC[63]には、物理オシレータ毎のアサイナパラメータが格納される。アサイナパラメータは、フラグUse、レジスタNRNおよびレジスタLONから構成される。
図6(b)は、演奏パラメータレジスタの構成を示す図である。演奏パラメータレジスタは、レジスタBV、レジスタBR、レジスタLP、レジスタMD、レジスタVD、レジスタLR、レジスタCAT[0]〜CAT[127]およびレジスタTNから構成される。レジスタBVには、ベンダホイール3aの操作に応じたベンダホイール変位量が格納される。レジスタBRには、スイッチ操作により設定されるベンドレンジ設定値が格納される。レジスタLPには、LFOの位相角が格納される。レジスタMDには、モジュレーションホイール3bの操作に応じたモジュレーションホイール変位量が格納される。レジスタVDには、スイッチ操作により設定されるビブラート深さ設定値が格納される。レジスタLRには、LFOレートが格納される。レジスタCAT[0]〜CAT[127]には、鍵番号(あるいはノートナンバ)毎のアフタタッチレベルが格納される。レジスタTNには、音色選択スイッチの操作で選択される音色番号が格納される。
次に、図7を参照してROM6のデータエリアに記憶される音色パラメータの構成を説明する。本実施形態では、ROM6のデータエリアに128種の音色パラメータTP[0]〜TP[127]を備える。1つの音色パラメータTPは、StartAdr、EndAdr、LoopAdr、Pitch、LOSC[0]〜[7]、OK、FT、PIL、PAR、PAL、PDR、PSL、PRRおよびPRLから構成される。
次に、図8を参照して音源8の構成について説明する。音源8は周知のDSPから構成される。したがって、図8はそのDSPにおいて実行されるマイクロプログラムの各機能をハードウェアイメージとして捉らえた機能ブロックを図示している。音源8は、アドレス発生器81、波形メモリ82、補間器83、増幅器84、累算器85およびD/A変換器86から構成される。
次に、実施形態の動作を説明する。なお、上述した構成は、音源8がCPU4の指示に従って楽音形成するハードウェアイメージとして捉えたものであるが、実際には音源8のDSPプログラム処理とCPU4のプログラム処理とが互いに連携して楽音形成する。その為、本動作説明では、説明の簡略化を図る観点からCPU4を動作主体とし、CPU4が音源8のDSPプログラム処理をも兼ねるものとして表現する。
上記構成による電子楽器100をパワーオンすると、CPU4は図9に示すメインルーチンを実行してステップSA1に処理を進め、RAM7に格納される各種レジスタ/フラグ類をリセットしたり初期値セットする初期化を実行する。次いで、ステップSA2では、スイッチ部2のスイッチ操作や、ホイール操作子3の操作に対応したスイッチ・ホイール処理を行う。
図10を参照してスイッチ・ホイール処理の動作について説明する。上述したメインルーチンのステップSA2(図9参照)を介して本処理が実行されると、CPU4はスイッチ部2やホイール操作子3の操作に応じたパラメータを設定する。すなわち、ステップSB1では、スイッチ部2に配設される音色選択スイッチの操作により選択される音色番号をレジスタTNにストアする。レジスタTNは、前述した演奏パラメータレジスタ(図6(b)参照)に設けられる。
次に、図11を参照して鍵盤処理の動作を説明する。上述したメインルーチンのステップSA3(図9参照)を介して本処理が実行されると、CPU4は図11に図示するステップSC1に進み、鍵盤1が発生する演奏情報に基づき、当該鍵盤1の押離鍵状態を判定する。押鍵された場合には、ステップSC2に進み、押鍵された鍵の鍵番号をレジスタKeyにストアしてから、ステップSC3を介してノートオン処理(後述する)を実行した後、ステップSC6に進む。離鍵された場合には、ステップSC4に進み、離鍵された鍵の鍵番号をレジスタKeyにストアしてから、ステップSC5を介してノートオフ処理(後述する)を実行した後、ステップSC6に進む。押離鍵操作が行われず、鍵変化が生じ無ければ、ステップSC6に進む。
次に、図12〜図13を参照してノートオン処理の動作について説明する。上述した鍵盤処理のステップSC3(図11参照)を介して本処理が実行されると、CPU4はステップSD1に進み、レジスタNRACの値をレジスタTheNRにセットする。レジスタNRACは、64チャンネル分の発音チャンネルに発音割り当てを行う毎に、その次のチャンネル番号が設定されるカウンタであり、その値は「0」〜「63」の範囲で巡回する。したがって、ステップSD1では、次に発音割り当てを行う発音チャンネル(ノートパラメータレジスタNRに相当)の初期値として、レジスタNRACの値がレジスタTheNRにセットされる。以後、レジスタTheNRに格納される値をノートパラメータレジスタ番号TheNRと称す。
次に、図14を参照してノートレジスタ解放処理の動作を説明する。前述したノートオン処理のステップSD5(図12参照)、後述する物理OSC取得処理のステップSF9(図16参照)あるいは後述するノートオフ処理のステップSJ5(図19参照)を介して本処理が実行されると、CPU4は図14に図示するステップSE1に進む。ステップSE1では、ノートパラメータレジスタ番号TheNRで指定されるノートパラメータレジスタNR[TheNR]に割り当てられているマスタオシレータのフラグUse(NR[TheNR].LOSC[0].Use)が使用されていないかどうかを判断する。不使用(フラグUseが「0」)であれば、判断結果は「YES」となり、この場合、ノートレジスタ解放の必要がない為、何も行わずに本処理を完了させる。
次に、図15〜図16を参照して物理OSC取得処理の動作を説明する。前述したノートオン処理のステップSD9(図13参照)あるいは後述するエンベロープ処理のステップSM16(図24参照)を介して本処理が実行されると、CPU4は図15に図示するステップSF1に進む。ステップSF1では、レジスタsに初期値「−1」をストアすると共に、レジスタOACの値をレジスタTheOSCにセットする。
物理オシレータ取得フラグAsnFlgが「0」であると、ステップSF6からステップSF7に進み、レジスタsの値が初期値「−1」であるか否か、すなわち全ての物理オシレータがマスタオシレータとして使用されているかどうかを判断する。全ての物理オシレータがマスタオシレータとして使用されていると、判断結果は「YES」になり、ステップSF8に進む。ステップSF8では、物理オシレータ番号TheOSCで指定されるレジスタPhOSC[TheOSC]のノートパラメータレジスタ番号NRN(PhOSC[TheOSC].NRN)を、ノートパラメータレジスタ番号TheNRに設定する。
物理オシレータ取得フラグAsnFlgが「1」であると、ステップSF6からステップSF11に進み、レジスタsの値が初期値「−1」であるか否か、すなわち全ての物理オシレータがマスタオシレータとして使用されているかどうかを判断する。全ての物理オシレータがマスタオシレータとして使用されていると、判断結果は「YES」になり、ステップSF14に進み、物理オシレータ番号TheOSCを「−1」に設定して本処理を終える。すなわち、全ての物理オシレータがマスタオシレータとして使用されていれば、発音割り当ての対象となる物理オシレータ番号を取得せずに本処理を完了させる。
物理オシレータ取得フラグAsnFlgが「2」であると、ステップSF6からステップSF14に進み、物理オシレータ番号TheOSCを「−1」に設定して本処理を終える。すなわち、全ての物理オシレータが使用されていると、発音割り当ての対象となる物理オシレータ番号を取得せずに本処理を完了させる。
次に、図17を参照して物理OSC解放処理の動作を説明する。前述した物理OSC取得処理のステップSF13(図16参照)あるいは後述するエンベロープ処理のステップSM12(図24参照)を介して本処理が実行されると、CPU4は図17に図示するステップSG1に進む。ステップSG1では、物理オシレータ番号TheOSCが「−1」、つまり前述した物理OSC取得処理(図15〜図16参照)において物理オシレータ番号TheOSCを取得しない状態であるかどうかを判断する。物理オシレータ番号TheOSCを取得しない状態であると、判断結果は「YES」になり、何も行わずに本処理を終える。
次に、図18を参照してOSCパラメータ設定処理の動作を説明する。前述したノートオン処理のステップSD11(図13参照)あるいは後述するエンベロープ処理のステップSM17(図24参照)を介して本処理が実行されると、CPU4は図18に図示するステップSH1に進む。ステップSH1では、物理オシレータ番号TheOSCが「−1」、つまり前述した物理OSC取得処理(図15〜図16参照)により物理オシレータ番号TheOSCを取得しない状態に設定されているかどうかを判断する。物理オシレータ番号TheOSCを取得しない状態に設定されていると、判断結果は「YES」になり、何も行わずに本処理を終える。
次に、図19を参照してノートオフ処理の動作を説明する。前述した鍵盤処理のステップSC5(図11参照)を介して本処理が実行されると、CPU4は図19に図示するステップSJ1に進み、ノートパラメータレジスタ番号TheNRをゼロリセットする。次いで、ステップSJ2では、ノートパラメータレジスタ番号TheNRで指定されるノートパラメータレジスタNR[TheNR]に割り当てられているマスタオシレータが使用中(NR[TheNR].LOSC[0].Use=1)であって、しかもノートパラメータレジスタ番号TheNRで指定されるノートパラメータレジスタNR[TheNR]中の演奏キーPKが離鍵された鍵の鍵番号Keyに一致するか否か、つまり消音すべき音であるかどうを判断する。
発音タイマ処理(図20参照)は、1サンプリング周期毎に割込み実行される処理であり、ステップSK1のオシレータ処理、ステップSK2のエンベロープ処理、ステップSK3のピッチエンベロープ処理およびステップSK4の累算処理から構成される。
次に、図21〜図22を参照してオシレータ処理の動作を説明する。上述した発音タイマ処理のステップSK1(図20参照)を介して本処理が実行されると、CPU4は、図21に図示するステップSL1に進む。ステップSL1では、図2(b)に図示したスケジュールパラメータレジスタ中のフラグWDFが「1」であるか否か、つまりレジスタSSB[0]〜SSB[63]に格納されるオシレータの処理順序が更新されたか否かを判断する。レジスタSSB[0]〜SSB[63]に格納されるオシレータの処理順序が更新されていなければ、判断結果は「NO」になり、後述するステップSL3に進む。
次に、図23〜図24を参照してエンベロープ処理の動作を説明する。前述した発音タイマ処理のステップSK2(図20参照)を介して本処理が実行されると、CPU4は、図23に図示するステップSM1に進み、ノートパラメータレジスタ番号TheNRをゼロリセットする。次いで、ステップSM2では、ノートパラメータレジスタ番号TheNRで指定されるノートパラメータレジスタNR[TheNR]に割り当てられているマスタオシレータが使用中(NR[TheNR].LOSC[0].Use=1)であるか否かを判断する。
この場合、ステップSM10の判断結果は「NO」になり、ステップSM13に進む。ステップSM13では、ノートパラメータレジスタ番号TheNRで指定されるノートパラメータレジスタNR[TheNR]において、論理オシレータ番号TheLOSCで指定されるレジスタLOSC[TheLOSC]中のフラグUse(NR[TheNR].LOSC[TheLOSC].Use)が「0」、「1」、「2」のいずれであるか判断する。以下、フラグUseが「0」、「1」、「2」の各場合に分けて動作を説明する。
フラグUseが「0」とは、論理オシレータ番号TheLOSCのスレーブオシレータが、新たな発音により物理オシレータの地位を奪われ、物理オシレータとして割り当てられず発音処理に関与しない状態を表す。このような物理オシレータ再割り当て待ち状態の場合には、ステップSM14に進み、物理オシレータ取得フラグAsnFlgに「2」をセットした後、ステップSM16を介して前述した物理OSC取得処理(図15〜図16参照)を実行する。物理OSC取得処理では、前述したように、物理オシレータ取得フラグAsnFlgが「2」であると、不使用の物理オシレータが存在する場合はその物理オシレータ番号を、そうでない場合は「−1」を、TheOSCに設定する。
一方、物理オシレータ番号TheOSCが「−1」でない場合は、取得された物理オシレータ番号TheOSCの物理オシレータを発音させるためのパラメータ設定を行うと共に、スレーブオシレータとして動作する物理オシレータの波形発生態様(マスタ側オシレータの波形読み出しアドレスとの差分を表すオフセットアドレスAdrOfs、エンドアドレスEndAdr、ループアドレスLoopAdr)を設定する。これにより不使用の物理オシレータに対して再割り当てが行われ、発音が再開されることになる。そして、ステップSM18に進み、ノートパラメータレジスタ番号TheNRで指定されるノートパラメータレジスタNR[TheNR]において、論理オシレータ番号TheLOSCで指定されるレジスタLOSC[TheLOSC]中のレジスタTCL(NR[TheNR].LOSC[TheLOSC].TCL)に、レジスタLに格納される音量制御用エンベロープ波形出力値をストアした後、前述のステップSM8(図23参照)に処理を戻す。
フラグUseが「1」とは、物理オシレータとして割り当てられて発音中にあり、エンベロープ形成する状態を表す。この場合には、ステップSM18に進み、ノートパラメータレジスタ番号TheNRで指定されるノートパラメータレジスタNR[TheNR]において、論理オシレータ番号TheLOSCで指定されるレジスタLOSC[TheLOSC]中のレジスタTCL(NR[TheNR].LOSC[TheLOSC].TCL)に、レジスタLに格納される音量制御用エンベロープ波形出力値をストアした後、前述のステップSM8(図23参照)に処理を戻す。
フラグUseが「2」とは、ノートオン直後の物理オシレータ割り当て待ち状態を表す。この場合には、ステップSM15に進み、物理オシレータ取得フラグAsnFlgに「1」をセットした後、ステップSM16を介して前述した物理OSC取得処理(図15〜図16参照)を実行する。
レジスタLの値が最小値「0」であると、上述したステップSM10の判断結果は「YES」になり、ステップSM11に進む。ステップSM11では、論理オシレータ番号TheLOSCが「0」ではなく、かつノートパラメータレジスタ番号TheNRで指定されるノートパラメータレジスタNR[TheNR]において、論理オシレータ番号TheLOSCで指定されるレジスタLOSC[TheLOSC]中のフラグUse(NR[TheNR].LOSC[TheLOSC].Use)が「1」であるか否か、つまり物理オシレータが割り当てられている使用中のスレーブオシレータであるかどうかを判断する。
すなわち、音量制御用エンベロープ波形出力値Lが0に達したことによる発音停止に伴い、対応するスレーブオシレータのノートパラメータレジスタNRのフラグUseに0がセットされることにより、それまでスレーブオシレータに対応付けて割り当てられていた物理オシレータが解放され、再割り当て待ちの状態となる。
次に、図25を参照してピッチエンベロープ処理の動作を説明する。前述した発音タイマ処理のステップSK3(図20参照)を介して本処理が実行されると、CPU4は、図25に図示するステップSN1に進む。ステップSN1では、図6(b)に図示した演奏パラメータレジスタ中のレジスタLPに格納されるLFO位相角と、レジスタLRに格納されるLFOレートとに基づき、LP+(LR/127)×2πの算出式にて現在のLFO位相角を算出してレジスタLPにストアする。
次に、図26を参照して累算処理の動作を説明する。前述した発音タイマ処理のステップSK4(図20参照)を介して本処理が実行されると、CPU4は、図26に図示するステップSO1に進み、ポインタnおよびレジスタSUMをゼロリセットする。次いで、ステップSO2では、図6(a)に図示した物理・論理オシレータ対応パラメータレジスタにおいて、ポインタnで指定されるレジスタPhOSC[n]中のフラグUse(PhOSC[n].Use)が「1」、つまりポインタnで指定される物理オシレータが使用中であるかどうかを判断する。不使用であると、判断結果は「NO」となり、後述のステップSO4に進む。
<ノートオン時にマスタオシレータを割り当てる場合>
「不使用の物理オシレータ」、「スレーブオシレータとして使用中の物理オシレータ」、「マスタオシレータで使用中の物理オシレータ」の優先順位でいずれかを選択する。「スレーブオシレータとして使用中の物理オシレータ」を選択した場合には、その選択した物理オシレータの発音を停止させて解放する。「マスタオシレータで使用中の物理オシレータ」を選択した場合には、その選択した物理オシレータを確保していた発音チャンネル全体の発音を停止させ、当該発音チャンネルの論理オシレータ(マスタオシレータおよびスレーブオシレータ)として対応付けられた全ての物理オシレータを解放する。
「不使用の物理オシレータ」、「スレーブオシレータとして使用中の物理オシレータ」の優先順位で選択する。「スレーブオシレータとして使用中の物理オシレータ」を選択した場合には、その選択した物理オシレータの発音を停止させて解放する。全ての物理オシレータがマスタオシレータとして使用中の場合は、選択しない。
「不使用の物理オシレータ」のみ選択する。全ての物理オシレータが論理オシレータとして使用されている場合は、選択しない。
2 スイッチ部
3 ホイール操作子
4 CPU
5 表示部
6 ROM
7 RAM
8 音源
9 サウンドシステム
10 MIDIインタフェース
Claims (2)
- 複数の楽音波形を記憶する波形メモリと、
供給される読み出しアドレスに基づいてこの波形メモリから夫々波形データを読み出す複数の物理オシレータ手段と、
これら複数の物理オシレータ手段から読み出された波形データを累算して楽音波形として出力する累算手段と、
前記波形メモリから波形を読み出すための読み出しアドレス及び発生すべき楽音のピッチを記憶するマスタオシレータと、前記波形メモリから波形を読み出すための読み出しアドレス及び当該マスタオシレータに記憶された読み出しアドレスとのアドレス差分を示すオフセットアドレス値を記憶する少なくとも1つ以上のスレーブオシレータとから構成される論理オシレータ手段と、
前記論理オシレータ手段と前記物理オシレータ手段との対応関係を記憶する記憶手段と、
楽音波形を形成する過程に応じて、当該楽音波形を発生する発音チャンネルの論理オシレータ手段に割り当てる物理オシレータ手段を、前記記憶手段に記憶される対応関係を参照して動的に確保又は解放する動的割り当て手段と、
前記マスタオシレータに記憶された読み出しアドレスを前記記憶された楽音のピッチに基づいて更新して前記割り当てられた物理オシレータ手段に供給するとともに、前記スレーブオシレータに記憶された読み出しアドレスを当該マスタオシレータで更新された読み出しアドレスにオフセットアドレス値を加算したアドレスに更新して前記割り当てられた物理オシレータ手段に供給する動作を一定周期毎に実行するタイマ手段と、
を具備することを特徴とする波形発生装置。 - 複数の楽音波形を記憶する波形メモリと、供給される読み出しアドレスに基づいてこの波形メモリから夫々波形データを読み出す複数の物理オシレータ手段と、
これら複数の物理オシレータ手段から読み出された波形データを累算して楽音波形として出力する累算手段と、
前記波形メモリから波形を読み出すための読み出しアドレス及び発生すべき楽音のピッチを記憶するマスタオシレータと、前記波形メモリから波形を読み出すための読み出しアドレス及び当該マスタオシレータに記憶された読み出しアドレスとのアドレス差分を示すオフセットアドレス値を記憶する少なくとも1つ以上のスレーブオシレータとから構成される論理オシレータ手段と、
前記論理オシレータ手段と前記物理オシレータ手段との対応関係を記憶する記憶手段と、を有する波形発生装置として用いられるコンピュータに、
楽音波形を形成する過程に応じて、当該楽音波形を発生する発音チャンネルの論理オシレータ手段に割り当てる物理オシレータ手段を、前記記憶手段に記憶される対応関係を参照して動的に確保又は解放する動的割り当てステップと、
前記マスタオシレータに記憶された読み出しアドレスを前記記憶された楽音のピッチに基づいて更新して前記割り当てられた物理オシレータ手段に供給するとともに、前記スレーブオシレータに記憶された読み出しアドレスを当該マスタオシレータで更新された読み出しアドレスにオフセットアドレス値を加算したアドレスに更新して前記割り当てられた物理オシレータ手段に供給する動作を一定周期毎に実行するタイマステップと、
を実行させる波形発生プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005266594A JP4614131B2 (ja) | 2005-09-14 | 2005-09-14 | 波形発生装置および波形発生プログラム |
US11/512,811 US7544882B2 (en) | 2005-09-14 | 2006-08-30 | Waveform generating apparatus and waveform generating program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005266594A JP4614131B2 (ja) | 2005-09-14 | 2005-09-14 | 波形発生装置および波形発生プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007079104A JP2007079104A (ja) | 2007-03-29 |
JP4614131B2 true JP4614131B2 (ja) | 2011-01-19 |
Family
ID=37853748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005266594A Active JP4614131B2 (ja) | 2005-09-14 | 2005-09-14 | 波形発生装置および波形発生プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7544882B2 (ja) |
JP (1) | JP4614131B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7187585B2 (en) * | 2005-04-05 | 2007-03-06 | Sandisk Corporation | Read operation for non-volatile storage that includes compensation for coupling |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000081884A (ja) * | 1998-09-03 | 2000-03-21 | Yamaha Corp | 音源装置 |
JP2003044050A (ja) * | 2001-08-02 | 2003-02-14 | Casio Comput Co Ltd | 楽音発生装置及び楽音発生処理のプログラム |
JP2003280650A (ja) * | 2002-03-20 | 2003-10-02 | Yamaha Corp | 変調波形発生装置 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4423655A (en) * | 1981-08-17 | 1984-01-03 | Turner William D | Electronic transfer organ |
US4617851A (en) * | 1983-05-10 | 1986-10-21 | Casio Computer Co., Ltd. | Hybrid electronic musical instrument |
JPH0228696A (ja) * | 1988-04-11 | 1990-01-30 | Casio Comput Co Ltd | 電子楽器 |
US5177314A (en) * | 1988-04-11 | 1993-01-05 | Casio Computer Co., Ltd. | Timbre setting device for an electronic musical instrument |
US5319151A (en) * | 1988-12-29 | 1994-06-07 | Casio Computer Co., Ltd. | Data processing apparatus outputting waveform data in a certain interval |
US5541360A (en) * | 1992-04-07 | 1996-07-30 | Casio Computer Co., Ltd. | Single chip sound source integrated circuit including effect adding device and sound source on the same single integrated circuit chip |
US5357048A (en) * | 1992-10-08 | 1994-10-18 | Sgroi John J | MIDI sound designer with randomizer function |
JPH06259065A (ja) * | 1993-03-09 | 1994-09-16 | Kawai Musical Instr Mfg Co Ltd | 電子楽器 |
JP2921376B2 (ja) * | 1993-12-22 | 1999-07-19 | ヤマハ株式会社 | 楽音発生装置 |
JP3444947B2 (ja) * | 1993-12-27 | 2003-09-08 | ヤマハ株式会社 | 楽音信号発生装置 |
JP3567293B2 (ja) * | 1994-12-24 | 2004-09-22 | カシオ計算機株式会社 | 発音チャンネル割当装置 |
US5665929A (en) * | 1995-06-30 | 1997-09-09 | Crystal Semiconductor Corporation | Tone signal generator for producing multioperator tone signals using an operator circuit including a waveform generator, a selector and an enveloper |
US5698805A (en) * | 1995-06-30 | 1997-12-16 | Crystal Semiconductor Corporation | Tone signal generator for producing multioperator tone signals |
US5644098A (en) * | 1995-06-30 | 1997-07-01 | Crystal Semiconductor Corporation | Tone signal generator for producing multioperator tone signals |
JP3430731B2 (ja) * | 1995-09-22 | 2003-07-28 | ヤマハ株式会社 | 楽音制御システム |
JP3399272B2 (ja) * | 1997-01-14 | 2003-04-21 | ヤマハ株式会社 | 楽音発生装置および楽音発生方法 |
JP3841520B2 (ja) * | 1997-07-08 | 2006-11-01 | 株式会社コルグ | 電子鍵盤楽器におけるボイス割り当て装置 |
US7309829B1 (en) * | 1998-05-15 | 2007-12-18 | Ludwig Lester F | Layered signal processing for individual and group output of multi-channel electronic musical instruments |
US6610917B2 (en) * | 1998-05-15 | 2003-08-26 | Lester F. Ludwig | Activity indication, external source, and processing loop provisions for driven vibrating-element environments |
US6100461A (en) * | 1998-06-10 | 2000-08-08 | Advanced Micro Devices, Inc. | Wavetable cache using simplified looping |
JP2000181459A (ja) | 1998-12-21 | 2000-06-30 | Casio Comput Co Ltd | 波形合成装置および波形合成方法 |
JP3726712B2 (ja) * | 2001-06-13 | 2005-12-14 | ヤマハ株式会社 | 演奏設定情報の授受が可能な電子音楽装置及びサーバ装置、並びに、演奏設定情報授受方法及びプログラム |
US7119267B2 (en) * | 2001-06-15 | 2006-10-10 | Yamaha Corporation | Portable mixing recorder and method and program for controlling the same |
JP3707430B2 (ja) * | 2001-12-12 | 2005-10-19 | ヤマハ株式会社 | ミキサー装置および同ミキサー装置と通信可能な音楽装置 |
JP3846344B2 (ja) * | 2002-03-25 | 2006-11-15 | ヤマハ株式会社 | セッション装置およびその制御方法を実現するためのプログラム |
US20030188627A1 (en) * | 2002-04-05 | 2003-10-09 | Longo Nicholas C. | Interactive performance interface for electronic sound device |
US7208672B2 (en) * | 2003-02-19 | 2007-04-24 | Noam Camiel | System and method for structuring and mixing audio tracks |
US7081582B2 (en) * | 2004-06-30 | 2006-07-25 | Microsoft Corporation | System and method for aligning and mixing songs of arbitrary genres |
-
2005
- 2005-09-14 JP JP2005266594A patent/JP4614131B2/ja active Active
-
2006
- 2006-08-30 US US11/512,811 patent/US7544882B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000081884A (ja) * | 1998-09-03 | 2000-03-21 | Yamaha Corp | 音源装置 |
JP2003044050A (ja) * | 2001-08-02 | 2003-02-14 | Casio Comput Co Ltd | 楽音発生装置及び楽音発生処理のプログラム |
JP2003280650A (ja) * | 2002-03-20 | 2003-10-02 | Yamaha Corp | 変調波形発生装置 |
Also Published As
Publication number | Publication date |
---|---|
US7544882B2 (en) | 2009-06-09 |
JP2007079104A (ja) | 2007-03-29 |
US20070056432A1 (en) | 2007-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6402878B2 (ja) | 演奏装置、演奏方法およびプログラム | |
JP2003330464A (ja) | 自動演奏装置および自動演奏方法 | |
JP2705395B2 (ja) | 電子楽器 | |
JP4614131B2 (ja) | 波形発生装置および波形発生プログラム | |
JP2745865B2 (ja) | 楽音合成装置 | |
JP4259532B2 (ja) | 演奏制御装置、およびプログラム | |
JP5534389B2 (ja) | 楽音生成装置 | |
JP2008015315A (ja) | 楽音発生装置および楽音発生処理プログラム | |
JP6528752B2 (ja) | 楽音再生装置、楽音再生方法、プログラムおよび電子楽器 | |
JP6210356B2 (ja) | 演奏装置、演奏方法およびプログラム | |
JP3554770B2 (ja) | 楽音発生装置 | |
JP2012047964A (ja) | レジストレーション装置およびプログラム | |
JP5648836B2 (ja) | 楽音制御装置およびプログラム | |
JP2018159734A (ja) | 音色制御装置、音色制御方法、プログラムおよび電子楽器 | |
JP4158198B2 (ja) | 波形発生装置および波形発生処理プログラム | |
JP4441928B2 (ja) | 音量制御装置および音量制御処理プログラム | |
JP3744667B2 (ja) | 自動伴奏装置および自動伴奏方法 | |
JP4492680B2 (ja) | 楽音発生装置 | |
JP6175804B2 (ja) | 演奏装置、演奏方法およびプログラム | |
JP4973983B2 (ja) | 自動演奏装置および自動演奏処理プログラム | |
JPH10198560A (ja) | 信号処理装置 | |
JP2008097022A (ja) | 楽音発生装置 | |
JP5605695B2 (ja) | 電子楽器のレジストレーション装置およびプログラム | |
JP2004279750A (ja) | 楽音発生装置および楽音発生プログラム | |
JPH10319956A (ja) | データ編集装置およびデータ編集プログラムを記録した媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080904 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090917 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091111 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100108 |
|
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: 20100924 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101007 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4614131 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131029 Year of fee payment: 3 |