JP4862879B2 - 楽音合成方法、記録媒体および楽音合成装置 - Google Patents
楽音合成方法、記録媒体および楽音合成装置 Download PDFInfo
- Publication number
- JP4862879B2 JP4862879B2 JP2008282112A JP2008282112A JP4862879B2 JP 4862879 B2 JP4862879 B2 JP 4862879B2 JP 2008282112 A JP2008282112 A JP 2008282112A JP 2008282112 A JP2008282112 A JP 2008282112A JP 4862879 B2 JP4862879 B2 JP 4862879B2
- Authority
- JP
- Japan
- Prior art keywords
- module
- generation
- effect
- waveform
- sound
- 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.)
- Expired - Fee Related
Links
- 238000001308 synthesis method Methods 0.000 title claims description 7
- 238000000034 method Methods 0.000 claims description 104
- 238000012545 processing Methods 0.000 claims description 98
- 230000008569 process Effects 0.000 claims description 97
- 238000005070 sampling Methods 0.000 claims description 96
- 238000006243 chemical reaction Methods 0.000 claims description 21
- 230000005236 sound signal Effects 0.000 claims description 9
- 230000002194 synthesizing effect Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 description 157
- 239000000872 buffer Substances 0.000 description 116
- 238000003780 insertion Methods 0.000 description 45
- 230000037431 insertion Effects 0.000 description 45
- 230000000875 corresponding effect Effects 0.000 description 24
- 238000004364 calculation method Methods 0.000 description 20
- 230000004913 activation Effects 0.000 description 14
- 230000015572 biosynthetic process Effects 0.000 description 13
- 238000003786 synthesis reaction Methods 0.000 description 13
- 108010090448 insulin gene enhancer binding protein Isl-1 Proteins 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 102100022907 Acrosin-binding protein Human genes 0.000 description 7
- 230000008859 change Effects 0.000 description 7
- 239000007787 solid Substances 0.000 description 5
- 238000002156 mixing Methods 0.000 description 4
- 102100035167 Coiled-coil domain-containing protein 54 Human genes 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 101100369980 Arabidopsis thaliana TMN1 gene Proteins 0.000 description 2
- 241001342895 Chorus Species 0.000 description 2
- 102100022465 Methanethiol oxidase Human genes 0.000 description 2
- 102100031798 Protein eva-1 homolog A Human genes 0.000 description 2
- 101100369981 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) EMP70 gene Proteins 0.000 description 2
- 102100021916 Sperm-associated antigen 1 Human genes 0.000 description 2
- HAORKNGNJCEJBX-UHFFFAOYSA-N cyprodinil Chemical compound N=1C(C)=CC(C2CC2)=NC=1NC1=CC=CC=C1 HAORKNGNJCEJBX-UHFFFAOYSA-N 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 229910001369 Brass Inorganic materials 0.000 description 1
- 102100038445 Claudin-2 Human genes 0.000 description 1
- 101150072497 EDS1 gene Proteins 0.000 description 1
- 101000756551 Homo sapiens Acrosin-binding protein Proteins 0.000 description 1
- 101000737052 Homo sapiens Coiled-coil domain-containing protein 54 Proteins 0.000 description 1
- 101000824971 Homo sapiens Sperm surface protein Sp17 Proteins 0.000 description 1
- 101000618135 Homo sapiens Sperm-associated antigen 1 Proteins 0.000 description 1
- 102100034866 Kallikrein-6 Human genes 0.000 description 1
- 101150052312 TMN2 gene Proteins 0.000 description 1
- 101100438139 Vulpes vulpes CABYR gene Proteins 0.000 description 1
- 102100040791 Zona pellucida-binding protein 1 Human genes 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000010951 brass Substances 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
また、請求項2記載の構成にあっては、請求項1に記載の楽音合成方法において、前記制御プログラムに基づいて前記プロセッサが実行する前記指令過程では、前記所定時間毎に、その時点の波形生成の遅れに応じて、前記生成すべき波形データのサンプル数を決定することを特徴とする。
次に、本発明の一実施形態のハードウエア構成を図3を参照し説明する。図において21はCPUであり、後述する制御プログラムに従って、CPUバス20を介して各部を制御する。22はROMであり、イニシャルプログラムローダ等が格納されている。23はRAMであり、後述する各種のプログラムやデータがロードされ、CPU21によってアクセスされる。24はタイマであり、所定時間毎にCPU21に対する割込みを発生させる。
2.1.ソフトウエアの全体構成
次に、本実施形態のソフトウエア構成を図1を参照し説明する。
図において2はオペレーティングシステムであり、アプリケーションプログラムおよび各種ドライバはこのオペレーティングシステムに用意されたAPI(アプリケーション・プログラム・インターフェース)を介して入出力処理を行う。1は音楽ソフトであり、上記アプリケーションプログラムの一例である。
Fs変換ブロック3b,3e,および6aを一般的に表記すると、図2のようになる。すなわち、何れのFs変換ブロックも、Fs=x[Hz]である前段のブロックAから波形データを受取り、この波形データのサンプリング周波数をFs=y[Hz]に変換し後段のブロックBに供給するものである。これらFs変換ブロックの動作は、サンプリング周波数xおよびサンプリング周波数yの大小関係に応じて異なる。
次に、本実施形態で用いられる各種データ構造を図13を参照し説明する。
同図(a)は音源モジュールに関するTGM登録データであり、その先頭には登録されている音源モジュールの数が記憶されている。これに引き続いて、各音源モジュールの固有のTGM登録データが順次記憶されている。TGM登録データには、各音源モジュールを指定するモジュール名(例えば「金管モデル」)等のデータが記憶されている。
4.1.統合ドライバ・メインルーチン
次に、本実施形態の動作を説明する。まず、オペレーティングシステム2が起動されると統合ドライバ3が起動され、図5に示す統合ドライバ・メインルーチンが実行される。図において処理がステップSP101に進むと、所定の初期設定が行われる。
(1)音楽ソフト1からのMIDI_Outメッセージの入力、
(2)オペレーティングシステム2からのトリガメッセージの入力、
(3)各モジュールからの波形データの受取
(4)キーボード&マウス29の操作によるユーザ設定の入力
(5)オペレーティングシステム2の終了メッセージの入力、および
(6)その他各種のメッセージの入力
を意味する。
4.2.1.音源モジュール登録
ユーザがキーボードまたはマウスを操作すると、その操作内容がステップSP103で検出され、処理はステップSP104,105を介してステップSP109に進み、統合ドライバ3の各種の設定を行うことができる。ここでユーザが所定の操作を行った場合は図8に示す音源モジュール登録ウインドウ40が表示器28に表示される。図において41はモジュール一覧リストボックスであり、登録可能な(ハードディスク26等にインストールされている)音源モジュールのモジュール名が列挙される。
ユーザが他の所定の操作を行うと、図9に示すパート設定ウインドウ50が表示器28に表示される。図において51はパート番号表示欄であり、「1」〜「16」のパート番号が上から下に向かって表示される。52は音色名表示欄であり、各パートに割り当てられた音色名が表示される。53はモジュール名表示欄であり、該パートに割り当てられた音源モジュール名が表示される。
上述した音源モジュール登録ウインドウ40およびパート設定ウインドウ50は音源モジュールの設定のためのウインドウであるが、ユーザが所定の操作を行うと、エフェクトモジュールの設定用に、これらと同様のウインドウが表示される。すなわち、音源モジュール登録ウインドウ40と同様のエフェクトモジュール登録ウインドウ画面によってユーザはエフェクトモジュールを追加、削除することができ、登録されたエフェクトモジュールのモジュール名と数が図13(b)のEFM登録データに記憶される。また、パート設定ウインドウ50と同様のシステムエフェクト設定ウインドウ画面によって、3ブロック分のエフェクトデータ、すなわち、各ブロックのモジュール番号EMNn、パラメータ番号EPNn、センドレベルEDSn〜E3Sn等が設定され、図13(e)の各ブロックに対応する記憶領域に記憶される。同様に、インサーションエフェクト設定ウインドウにより、2つの各インサーションエフェクトのモジュール番号EMN、パート番号、パラメータ番号等が設定され、図13(d)のインサーションデータとして記憶される。さらに、システム設定ウインドウにより、図13(c)のシステムサンプリング周波数SFs、出力サンプリング周波数OFs、CPU負荷上限MAXが設定される。なお、システムエフェクトの各ブロックのエフェクトデータには、パートのデータにあったようなPANレベルは存在しない。各ブロックで設定されたセンドレベルEDSnはそのままバッファWB1,2に対する共通の送出レベルになり、同様にE1SnはバッファWB3,4、E2SnはバッファWB5,6、E3SnはバッファWB7向けの送出レベルになる。
ここで、理解を容易にするため、パート設定ウインドウ50において設定される楽音合成系統の一例を図6および図7に示す。これらの図において実線の矢印は、「0」以外のセンドレベルが設定されていることを示す。例えば、図6においてパート1からバッファWB1,2,5〜7に対して実線の矢印が表示されているが、これはバッファWB1,2,5〜7に対するセンドレベルDS1、1S1、2S1が「0」以外の値であって、バッファWB3,4に対するセンドレベル1S1が「0」であることを示す。ここで、パート1の下に記載されているTMN1は、パート1に示された音源モジュールのモジュール番号TMN1(図13(d)を参照)を示している。
オペレーティングシステム2から供給されるトリガメッセージは、原則として所定時間(例えば数msec)毎に発生する。また、統合ドライバ3、音源モジュール5,6,……およびエフェクトモジュール7,8,……は、原則として該所定時間毎の波形データを生成して出力する。これにより、時間の経過とともに、各ドライバにおいて一連の波形データが生成されることになる。
音楽ソフト1からMIDI_Outメッセージが入力された場合は、統合ドライバ・メインルーチン(図5)において処理はステップSP106に進み、図11に示すMIDI受信イベント処理ルーチンが起動される。図において処理がステップSP14に進むと、変数EDに該MIDI_Outメッセージに係るイベントの内容が格納される。また、該MIDI_Outメッセージの受信時刻が変数ETに記憶される。
音源モジュール5,6,……またはエフェクトモジュール7,8,……の何れか一つにおいて波形データの生成処理ないしエフェクト処理が完了する毎に、統合ドライバ・メインルーチン(図5)のステップSP103においてその旨が検出される。その際、各モジュールからは波形バッファWB1〜9が戻されるが、そこには当該モジュールでの処理が終了した波形データが記憶されている。これにより、処理はステップSP108に進み、図12に示す波形受取イベント処理ルーチンが起動される。図において処理がステップSP21に進むと、最後に実行された音源モジュールに対応するインサーションエフェクトの処理が済んでいるか否かが判定される。
(1)最後の音源モジュールの発音数を減少させる。
(2)最後の音源モジュールの局所サンプリング周波数TFsが可変である場合は、局所サンプリング周波数TFsを下げる。
(3)最後の音源モジュールの処理内容(楽音生成アルゴリズム)を簡単なものに変更する。
以上の何れの措置が採られた場合であっても、楽音に対する悪影響は避けられないことは勿論である。しかし、システムエフェクトが突然途切れるような不具合と比較すれば、容認できる場合が多い。先述したT順番データの決定過程で、演算内容の変更可能な音源モジュール、パート数の多いモジュールが後ろの順番になるように制御されているのは、それらの音源モジュールがCPU負荷の調整を行うのに適したモジュールだからである。
次に、音源モジュール5,6,……およびエフェクトモジュール7,8,……における詳細動作を説明する。まず、これらのモジュールにおいては、登録済みのモジュールについては統合ドライバ3の起動時に、図8のような登録ウインドウで新たに登録されたモジュールについてはその登録時に、各々別プロセスで図14に示すモジュールメインルーチンが起動される。
(1)MIDIイベントの発生(SP17によるMバッファに対するイベント内容EDおよび受信時刻ETの書込み)
(2)各種のトリガの受信(SP13,SP25等による)
(3)オペレーティングシステム2の終了メッセージの入力、ないし、図8のような登録ウインドウにおける当該モジュールの登録/削除、および(
4)その他各種のメッセージの入力
を意味する。
ステップSP32において、Mバッファに対するMIDIイベントの書込みが検出されると、モジュールメインルーチンにおいて処理はステップSP35に進み、例えば図15に示す音源モジュールのMIDIイベント処理ルーチンが呼び出される。
モジュールメインルーチンのステップSP32において波形生成トリガの受信が検出されると、処理はステップSP36に進み、図16に示す音源モジュールの波形生成トリガ・イベント処理ルーチンが呼び出される。
モジュールメインルーチンのステップSP32においてインサーションエフェクトに対する演算トリガの受信が検出されると、処理はステップSP36に進み、図17に示すエフェクトモジュールの波形生成トリガ・イベント処理ルーチンが呼び出される。この演算トリガは、波形受取イベント処理ルーチン(図12)のステップSP25においてインサーションエフェクトに対して発生したものである。
モジュールメインルーチンのステップSP32においてシステムエフェクトに対する演算トリガ(ステップSP26参照)の受信が検出されると、処理はステップSP36に進み、図18に示すエフェクトモジュールの演算トリガ・イベント処理ルーチンが呼び出される。
(1)以上のように本実施形態においては「システムサンプリング周波数SFs」なる概念を用い、これを標準として複数の音源モジュールとの間で波形データの受け渡しができるため、全体的に処理が簡素化される。特に、欠く音源モジュールで生成すべきサンプル数をシステムサンプリング周波数SFsによって指定することができるから、制御をきわめてシンプルにすることができる。
本発明は上述した実施形態に限定されるものではなく、例えば以下のように種々の変形が可能である。
Claims (4)
- プロセッサにおいて、記憶手段に記憶された制御プログラム及び複数の生成プログラムを用いて、楽音を合成する楽音合成方法であって、
(a)前記制御プログラムは、
前記プロセッサに、
前記記憶手段に記憶された複数の生成プログラムの中から選択された生成プログラムを登録し、当該登録された生成プログラムを起動する登録過程と、
演奏情報を受信し、受信した当該演奏情報に係るイベントの内容を前記起動された生成プログラムのいずれかに分配する分配過程と、
前記登録過程において起動された生成プログラムに対して、所定時間毎に、第1のサンプリング周期を単位として、生成すべき波形データのサンプル数を決定し、該決定されたサンプル数の楽音信号の生成を指令する指令過程と、
前記起動された生成プログラムが前記指令に応じて生成した前記第1のサンプリング周期の楽音信号を受け取り、受け取った楽音信号に対して前記第1のサンプリング周期で信号処理を行う信号処理過程とを実行させるものであり、
(b)前記登録過程において起動される生成プログラムの中には、異周期生成プログラムが含まれており、
前記異周期生成プログラムは、
前記プロセッサに、
前記分配過程において分配されたイベントの内容をパラメータに変換し、複数の発音チャンネルの中から当該パラメータを用いた発音を行う発音チャンネルを決定して、前記指令過程における前記指令に応じて、前記変換したパラメータに基づく複数チャンネル分の楽音信号を前記第1のサンプリング周期とは異なる第2のサンプリング周期で生成する生成過程と、
前記生成過程において生成された前記楽音信号のサンプリング周期を前記第1のサンプリング周期に変換する変換過程と、
前記変換過程においてサンプリング周期が変換された後の楽音信号のサンプル数が前記指令に係るサンプル数に相当するサンプル数となるように、前記生成過程において生成される楽音信号のサンプル数を制御する制御過程と
を実行させるものであることを特徴とする楽音合成方法。 - 前記制御プログラムに基づいて前記プロセッサが実行する前記指令過程では、前記所定時間毎に、その時点の波形生成の遅れに応じて、前記生成すべき波形データのサンプル数を決定する
ことを特徴とする請求項1に記載の楽音合成方法。 - 請求項1または請求項2に記載の方法をコンピュータに実行させるためのプログラムを記録した
ことを特徴とするコンピュータ読み取り可能な記録媒体。 - 請求項1または請求項2に記載の方法を実行する
ことを特徴とする楽音合成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008282112A JP4862879B2 (ja) | 2008-10-31 | 2008-10-31 | 楽音合成方法、記録媒体および楽音合成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008282112A JP4862879B2 (ja) | 2008-10-31 | 2008-10-31 | 楽音合成方法、記録媒体および楽音合成装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13376198A Division JP4240575B2 (ja) | 1998-05-15 | 1998-05-15 | 楽音合成方法、記録媒体および楽音合成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009025842A JP2009025842A (ja) | 2009-02-05 |
JP4862879B2 true JP4862879B2 (ja) | 2012-01-25 |
Family
ID=40397629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008282112A Expired - Fee Related JP4862879B2 (ja) | 2008-10-31 | 2008-10-31 | 楽音合成方法、記録媒体および楽音合成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4862879B2 (ja) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02277308A (ja) * | 1989-04-18 | 1990-11-13 | Yamaha Corp | デジタルミキシング回路 |
JPH04341038A (ja) * | 1991-05-17 | 1992-11-27 | Mitsubishi Electric Corp | 電話機 |
JPH0683359A (ja) * | 1992-08-31 | 1994-03-25 | Casio Comput Co Ltd | 音発生装置 |
JPH08241081A (ja) * | 1995-03-03 | 1996-09-17 | Hitachi Ltd | 複数音源の同期制御方法 |
JP3019755B2 (ja) * | 1995-10-02 | 2000-03-13 | ヤマハ株式会社 | 楽音発生方法および楽音発生装置 |
JP3087638B2 (ja) * | 1995-11-30 | 2000-09-11 | ヤマハ株式会社 | 音楽情報処理システム |
JP3725247B2 (ja) * | 1996-05-20 | 2005-12-07 | ローランド株式会社 | 楽音生成処理方法 |
-
2008
- 2008-10-31 JP JP2008282112A patent/JP4862879B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009025842A (ja) | 2009-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4240575B2 (ja) | 楽音合成方法、記録媒体および楽音合成装置 | |
JP3744440B2 (ja) | ミキシング装置及び楽音発生装置並びにミキシング用の大規模集積回路 | |
JP4645597B2 (ja) | 楽音合成方法、記録媒体および楽音合成装置 | |
JP4862879B2 (ja) | 楽音合成方法、記録媒体および楽音合成装置 | |
JP3991458B2 (ja) | 楽音データ処理装置およびコンピュータシステム | |
JP3298486B2 (ja) | 楽音発生装置、アドレス設定方法および記録媒体 | |
JP4096973B2 (ja) | 波形信号生成方法、波形信号生成装置および記録媒体 | |
JP5534389B2 (ja) | 楽音生成装置 | |
JP3551818B2 (ja) | 楽音生成方法および楽音生成装置 | |
JPH11288285A (ja) | 楽音発生方法及び装置 | |
JP3546801B2 (ja) | 波形データ生成方法、波形データ記憶方法、波形データ生成装置および記録媒体 | |
JP3223757B2 (ja) | 楽音波形発生方法 | |
JP3823689B2 (ja) | 波形信号生成方法、波形信号生成装置および記録媒体 | |
JP3723973B2 (ja) | 音源装置 | |
JP3164096B2 (ja) | 楽音発生方法及び装置 | |
JP3654257B2 (ja) | 楽音発生装置 | |
JP5839156B2 (ja) | 楽音信号発生装置 | |
JP2765469B2 (ja) | 楽音信号再生装置 | |
JP4037973B2 (ja) | 波形再生装置 | |
JP3991475B2 (ja) | 音声データ処理装置およびコンピュータシステム | |
JP4096966B2 (ja) | 波形信号生成方法、波形信号生成装置および記録媒体 | |
JP2956552B2 (ja) | 楽音発生方法および装置 | |
JP5732769B2 (ja) | 楽音生成装置 | |
JP3770030B2 (ja) | 録音再生装置 | |
JP5504983B2 (ja) | 楽音信号発生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081031 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091203 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100803 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100908 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110607 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110713 |
|
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: 20111011 |
|
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: 20111024 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141118 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |