JP4655812B2 - 楽音発生装置、及びプログラム - Google Patents

楽音発生装置、及びプログラム Download PDF

Info

Publication number
JP4655812B2
JP4655812B2 JP2005229652A JP2005229652A JP4655812B2 JP 4655812 B2 JP4655812 B2 JP 4655812B2 JP 2005229652 A JP2005229652 A JP 2005229652A JP 2005229652 A JP2005229652 A JP 2005229652A JP 4655812 B2 JP4655812 B2 JP 4655812B2
Authority
JP
Japan
Prior art keywords
data
pitch
waveform data
storage
waveform
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
Application number
JP2005229652A
Other languages
English (en)
Other versions
JP2007047293A (ja
Inventor
淳一郎 副島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2005229652A priority Critical patent/JP4655812B2/ja
Publication of JP2007047293A publication Critical patent/JP2007047293A/ja
Application granted granted Critical
Publication of JP4655812B2 publication Critical patent/JP4655812B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

本発明は、楽音の波高値の時間変化を表す波形データを用いて発音させるべき楽音の波高値を順次、生成しその楽音を発音させる楽音発生装置に関する。
楽音の発音は通常、予め定めた時間間隔で楽音の波高値を生成することで行われる。生成された波高値をD/A変換し、それによって得られたアナログ信号(オーディオ信号)を音声に変換することにより、その楽音が発音される。
そのような波高値の生成を行う方式として、楽音の波高値の時間変化を表す波形データを用いて行うPCM音源方式が知られている(特許文献1〜4)。そのPCM音源方式では一般的に、楽音(波形)を予め定めたサンプリング周期でサンプリングして得られた波形データが用いられる。人工的に作り出した、或いは作り出せる楽音では、その波形データは直接、生成することができる(特許文献1)。
大部分の楽音は、発音中に固有の時間変化をする。このため、波形データとしては、楽音の発音中の時間変化を再現できるものが用意されるのが普通である。そのような波形データは、多くのサンプリングデータ(波高値)から構成される。それにより、一部のサンプリングデータを繰り返し読み出すことで発音時間を制御することを想定した波形データ(特許文献3)であっても、そのデータ量は大きいのが実情である。
その波形データは通常、楽音のピッチによって変化する。しかし、波形データの大きさから、PCM音源方式を採用した従来の楽音発生装置は、複数の波形データのみを用意し、波形データ毎にそれぞれ異なるピッチ範囲を割り当てていた。それにより、ピッチ範囲内の各ピッチの楽音は同じ波形データを用いて発音させていた。その場合、ピッチの相違は、波形データからサンプリングデータを読み出す速さ(歩進幅)を変化させることで実現される。
より高音質の楽音を発音できるようにするには、波形データはピッチ毎に用意すべきと言える。楽音の発音に用いる波形データは、高速な処理を行う必要から、アクセス速度の速い半導体メモリ(記憶装置)に用意しておかなければならない。このため、ピッチ毎に用意した波形データを単に半導体メモリにコピー(展開)すると、半導体メモリに占める波形データの割合(専有率)が高くなってしまうことが考えられる。その割合が高くなると、他の処理のために半導体メモリのなかで利用可能な部分が少なくなるから、その処理を高速に行えないといった不具合が発生しやすくなる。このことから、大容量の半導体メモリが搭載されることも多くはなっているが、ピッチ毎に波形データを用意する場合には、半導体メモリの専有率を抑えることも重要であると考えられる。
特許第2571559号 特許第2585519号 特開昭58−178395号公報 特開平11−296174号公報
本発明の課題は、半導体メモリの専有率を抑えつつ、ピッチ毎に用意された波形データを用いて楽音を発音できる楽音発生装置を提供することにある。
本発明の楽音発生装置は、発音させるべき楽音の波形データを、当該楽音のピッチ毎に記憶する第1の記憶手段と、前記波形データの一部分が記憶可能な領域を複数有するとともに、当該複数の領域は、前記複数の部分波形データのなかで先頭に位置する先頭波形データをピッチ毎に記憶可能な先頭波形記憶領域を含む第2の記憶手段と、各ピッチに対応するキーが所定の順序で配列され、当該いずれかのキー操作により発音すべき楽音のピッチを取得するキーボードと、前記いずれかのキー操作によるピッチを取得する前に、前記先頭波形記憶領域にピッチ毎の先頭波形データを事前に記憶させる先頭波形記憶制御手段と、前記いずれかのキー操作によるピッチ取得に応答して、当該操作されたキーに隣接する複数のキー夫々に対応するピッチの部分波形データを前記第1の記憶手段から読み出して、前記第2の記憶手段の空いている領域に順次記憶させる周辺ピッチ波形記憶制御手段と、前記ピッチ取得に応答して、前記取得されたピッチに対応する前記複数の領域に記憶される部分波形データのうち、前記先頭波形記憶領域に記憶された先頭波形データを先頭に所定の順番で読み出すとともに、読出しの終了した領域に記憶された波形データを消去する読出し手段と、前記取得されたピッチに対応する波形データにおいて、当該波形データを分割して得られる複数の部分波形データ夫々を所定の順番で前記第1の記憶手段から読み出して前記第2の記憶手段の空いている領域に順次記憶させる記憶制御手段と、を具備することを特徴とする。
なお、前記記憶制御手段は、前記読出し手段にて読み出しの行なわれている領域において、当該領域に記憶された部分波形データが所定量読み出されるに応答して、前記第2記憶手段の空いている領域に前記部分波形データ記憶を開始させる、ことが望ましい
本発明のプログラムは、発音させるべき楽音の波形データを、当該楽音のピッチ毎に記憶する第1の記憶手段と、前記波形データの一部分が記憶可能な領域を複数有するとともに、当該複数の領域は、前記複数の部分波形データのなかで先頭に位置する先頭波形データをピッチ毎に記憶可能な先頭波形記憶領域を含む第2の記憶手段と、各ピッチに対応するキーが所定の順序で配列され、当該いずれかのキー操作により発音すべき楽音のピッチを取得するキーボードと、を有する楽音発生装置として用いられるコンピュータに、前記いずれかのキー操作によるピッチを取得する前に、前記先頭波形記憶領域にピッチ毎の先頭波形データを事前に記憶させる先頭波形記憶制御機能と、前記いずれかのキー操作によるピッチ取得に応答して、当該操作されたキーに隣接する複数のキー夫々に対応するピッチの部分波形データを前記第1の記憶手段から読み出して、前記第2の記憶手段の空いている領域に順次記憶させる周辺ピッチ波形記憶制御機能と、前記取得されたピッチに対応する前記ピッチ取得に応答して、前記複数の領域に記憶される部分波形データのうち、前記先頭波形記憶領域に記憶された先頭波形データを先頭に所定の順番で読み出すとともに、読出しの終了した領域に記憶された波形データを消去する読出し機能と、前記取得されたピッチに対応する波形データにおいて、当該波形データを分割して得られる複数の部分波形データ夫々を所定の順番で前記第1の記憶手段から読み出して前記第2の記憶手段の空いている領域に順次記憶させる記憶制御機能と、を実現させる。
本発明は、ピッチ毎に用意した楽音の波高値の時間変化を表す波形データを用いて、発音させるべき楽音の波高値を生成する場合に、その波形データを分割して得られる複数の部分波形データのなかで先頭に位置する第1の部分波形データを波形データ(ピッチ)毎に半導体メモリ等の記憶装置に記憶させ、その第1の部分波形データに続く部分波形データである第2の部分波形データは状況に応じて随時、動的にその記憶装置に記憶させる。そのため、波形データを全て記憶装置に記憶させる場合と比較して、波形データがその記憶装置に占める専有率を低く抑えることができる。それにより、記憶装置は多くの処理の実行用として、より適切な形で共有化することができる。楽音は、ピッチ毎に用意した波形データを用いて発音させるため、より高音質の楽音を発音できることとなる。
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
<第1の実施の形態>
図1は、第1の実施の形態による楽音発生装置の構成を説明する図である。
その楽音発生装置10は、図1に示すように、装置10全体の制御を行うCPU11と、そのCPU11がワークに用いるRAM12と、CPU11が実行するプログラムや各種制御用データ、及び波形データ等を格納したROM103と、例えばキーボードやポインティングデバイス(マウス等)、CD−ROMやDVD等の記録媒体にアクセスする媒体駆動装置、及びそれらのインターフェース等からなる入力部14と、表示装置に画像を表示させる表示部15と、外部装置との間でMIDIデータを送受信するためのMIDIインターフェース(I/F)16と、発音させる楽音のデジタルデータ(波高値)を外部装置に出力するためのオーディオインターフェース(I/F)17と、を備えた構成となっている。
上記MIDI I/F16には、キーボード21、及びそれに対する操作内容を示すMIDIデータを生成して出力するMIDIインターフェース(I/F)22を備えた電子楽器20が接続され、上記オーディオI/F17には、波高値を入力して音声に変換できる音源システム30が接続されている。それにより、本実施の形態による楽音発生装置10は、電子楽器20のMIDI I/F22からMIDIデータを入力して、そのMIDIデータにより発音が指示された楽音の波高値を生成し、それを音源システム30に出力することにより楽音を発音させるようになっている。音源システム30は、例えばD/A変換器、アンプ、及びスピーカを少なくとも備えたものである。
その楽音発生装置10は、例えばパーソナルコンピューター(PC)に、楽音発生装置10として動作させるためのアプリケーション・プログラム(以下「アプリケーション」)を搭載させることにより実現させている。そのアプリケーションは、例えば入力部14を構成する媒体駆動装置がアクセス可能な記録媒体に記録して提供するものである。そのアプリケーションは、インターネット等のネットワークを介して配信するようにしても良い。
アプリケーションを搭載(インストール)できるように、ROM13としては書き込み可能なメモリ(例えばフラッシュメモリ)が採用されている。そのアプリケーションが記録された記録媒体には、楽音の波高値を生成するための各種波形データが多数、記録されている。その波形データのなかには、ピッチ毎に用意したものが存在する。楽音発生装置10を実現させるPCは、ROM13の他に、或いはその代わりにハードディスク装置等の補助記憶装置を搭載したものであっても良い。そのアプリケーションについては以降「楽音発生アプリケーション」と呼ぶことにする。
ピッチ毎に用意した波形データは、ROM13に保存させることができるようになっている。また、必要に応じて、記録媒体からコピーすることもできるようにしている。ここでは説明上、便宜的にROM13に保存されている場合のみを想定する。楽音の発音に用いる波形データとしては、同様にピッチ毎に用意した波形データのみを想定する。
ROM13に保存した波形データは、RAM12にコピーして使用している。これは、一般的にRAM12はROM13よりもアクセス速度が速いからである。それにより、より高速に、発音させるべき楽音の波高値を生成できるようにしている。
波形データをピッチ毎に用意することにより、それを構成するサンプリングデータ(波高値)は単に順次、読み出せば良いようにしている。それにより、データを読み出す速さ(歩進幅)に応じた補間を行わなくとも良いようにしている。その補間演算を行う必要性を回避させたため、発音させるべき楽音の波高値はより簡単に生成することができる。
本実施の形態では、各波形データは3つに分割して、つまり発音開始時に用いる部分の波形データ(第1の部分波形データ。以降「先頭波形データ」と呼ぶ)、その後の発音に用いる部分の波形データ(以降「中間波形データ」と呼ぶ)、及び更にその後の発音に用いる部分の波形データ(以降「最終波形データ」と呼ぶ)に分割して用意している(それらは共に第2の部分発音データに相当)。中間波形データ、及び最終波形データは、そのうちの一方による発音が終了した後、他方による発音を行うものとして用意している。それにより、先頭波形データによる発音が終了した後は、楽音の発音自体が終了するまでの間、中間波形データ→最終波形データ、最終波形データ→中間波形データ、のように交互に発音用の部分波形データの切り換えるようにしている。
本実施の形態では、上記先頭波形データは波形データ(ピッチ)毎にRAM12に予めロード(コピー)する。その後は、ユーザーの電子楽器20への演奏操作によって入力するMIDIデータで発音開始が指示された楽音のピッチに対応する中間波形データをロードする。その後は、その楽音の発音を終了させるまでの間、最終波形データ、中間波形データを交互にロードし、それらのうちの一方は不必要になった段階で消去する。このことから、RAM12に保存される先頭波形データ以外の部分波形データは、楽音の発音開始を指示するMIDIデータの入力、発音開始から経過した時間、その消音を指示するMIDIデータの入力等による消音、といった状況に応じて変化することとなる。
そのようにして、先頭波形データ以外の部分波形データは、必要なもののみを必要な間だけRAM12に保存させている。このため、RAM12に保存させた波形データがそれに占める割合(専有率)は、各部分波形データを波形データ毎に全て保存させた場合と比較して大幅に小さくさせることができる。それにより、楽音の発音に係わらない処理(上記楽音発生アプリケーション以外のプログラムの実行による処理)における速度の低下はより回避、或いはより抑えることができる。ピッチ毎に用意した波形データを用いて楽音を発音させるため、より高音質の楽音を発音させることができる。
上述したような先頭波形データ以外の部分波形データのRAM12への保存を実現するために、本実施の形態では、図2〜図5に示す各種データを管理している。図2〜図5を参照して、それらのデータについて具体的に説明する。
図2は、音色データの構成を説明する図である。その音色データは、波形データを音色単位で管理するために音色毎に用意されるデータである。図2に示すように、音色データは、対応するチャンネル番号を示すデータiID、発音中の楽音数を示すデータiNoteOnCnt、対応するピッチデータのなかで先頭ピッチ(例えば最低ピッチ)のピッチデータの格納場所を示すデータpTD、前の音色データの格納場所を示すデータpPrev、及び次の音色データの格納場所を示すデータpNext、を備えている。
図3は、ピッチデータの構成を説明する図である。そのピッチデータは、音色毎、ピッチ毎に用意されるデータであり、上記データpTDとしては、対応する音色での先頭ピッチのピッチデータの格納場所を示すデータがそれぞれの音色データに格納される。図3に示すように、ピッチデータは、対応するピッチを示すデータiPitch(ピッチ番号:ノートナンバー)、そのピッチの楽音の状態を示すデータiStatus(0の値は消音中、1の値は発音中、2の値は消音処理中、をそれぞれ表す)、対応するソースデータの格納場所を示すデータpSD、前のピッチデータの格納場所を示すデータpPrev、及び次のピッチデータの格納場所を示すデータpNext、を備えている。
図4は、ソースチデータの構成を説明する図である。そのソースデータは、波形データ毎に用意されるデータである。図4に示すように、ソースデータは、対応する波形データのRAM12にコピーされた先頭波形データの先頭アドレスを示すデータpDAta[0]、RAM12にコピーされた中間波形データの先頭アドレスを示すデータpDAta[1]、RAM12にコピーされた最終波形データの先頭アドレスを示すデータpDAta[2]、波形データのファイル名(オリジナルの格納場所)を示すデータfileName、その波形データ全体の長さを示すデータfLength、波高値生成用に参照中の部分波形データ(図中「バッファ」と表記)を示すデータiIndex、波形データが対応するベロシティ範囲の下限値を示すデータminVel、その上限値を示すデータmaxVel、前のピッチデータの格納場所を示すデータpPrev、及び次のピッチデータの格納場所を示すデータpNext、を備えている。
図5は、発音データの構成を説明する図である。その発音データは、発音中の波形データ毎に用意されるデータである。図5に示すように、発音データは、識別情報であるデータiID、対応する音色データ(チャンネル)を示すデータiTone(例えば対応する音色データ中のデータiID)、楽音のピッチを示すデータiPitch、そのベロシティを示すデータiOnVel、そのピッチの楽音の状態を示すデータiStatus(0の値は消音中、1の値は発音中、2の値は消音処理中、をそれぞれ表す)、対応するソースデータの格納場所を示すデータpSD、発音開始時刻を示すデータlOnStart、その消音開始時刻を示すデータlOffStart、消音処理中での減衰率を示すデータfRelease、前の発音データの格納場所を示すデータpPrev、及び次のピッチデータの格納場所を示すデータpNext、を備えている。上記データiOnVelは電子楽器20から入力するMIDIデータ中から抽出したベロシティ値である。そのベロシティ値は、周知のように、押鍵時の速さ、つまり楽音を発音させる強さを表している。
上記発音データ以外のデータ、つまり音色データ、ピッチデータ、及びソースデータは、例えば楽音発生アプリケーションの実行中、消去させないデータとしている。このことから、RAM12への先頭波形データ以外の部分波形データのロード(コピー)は、状況により、必要に応じて発音データの生成、或いは消去をしながら、存在する発音データを含む各種データを随時、更新していくことで行うようになっている。以降は図6〜図10に示す各種フローチャートを参照して、それらのデータを管理しながら必要な部分波形データをRAM12に保存させる楽音発生装置10の動作について詳細に説明する。
図6は、全体処理のフローチャートである。これは、上記楽音発生アプリケーションを起動させてから終了させるまでの間に実行する処理を抜粋してその流れを示したものである。それにより、CPU11が、その楽音発生アプリケーションをROM13からRAM12に読み出して実行することで実現される。始めに図6を参照して、その全体処理について詳細に説明する。
先ず、ステップ101では、MIDI I/F16用のドライバをROM13からRAM12にロードして起動させる。続くステップ102では、同様にオーディオI/F17用のドライバをロードして起動させる。以降は、発音させるべき楽音の波高値(オーディオデータ)をオーディオI/F17から出力するためのオーディオデータ出力スレッドを起動させ(ステップ103)、音色定義ファイルとしてROM13に保存されている図2〜図4に示す各種データを読み込んでRAM12に展開し(ステップ104)、波形データ毎にその先頭波形データ(図中「音色データ」と表記)をROM13から読み出してRAM12にロードする(ステップ105)。そのロードにより初期化が終了し、ステップ106に移行して、入力部14、或いはMIDI I/F16によるデータの入力を待つ。ここでは、入力部14を操作してのデータ入力については、楽音発生アプリケーションの終了指示のみを想定する。
電子楽器20のキーボード21を構成するキー(鍵)をユーザーが押鍵、或いは離鍵すると、MIDI I/F22はその演奏操作の内容、及びその操作が行われたキーに応じたMIDIデータを生成して楽音発生装置10のMIDI I/F16に出力する。入力部14を構成するキーボード、或いはポインティングデバイスを操作すると、その操作内容が入力部14からCPU11に通知される。それにより、ステップ106からステップ107に移行し、入力が楽音発生アプリケーションの終了コマンドか否か判定する。そのアプリケーションを終了させるための操作をユーザーが入力部14に対して行った場合、判定はYESとなってステップ110に移行する。そうでない場合には、判定はNOとなってステップ108に移行する。
ステップ108では、入力がMIDIデータか否か判定する。MIDI I/F16がMIDIデータを入力した場合、判定YESとなり、ステップ109に移行して、その入力に対応するためのMIDI IN処理を実行した後、上記ステップ106に戻る。一方、そうでない場合には、判定はNOとなり、そのステップ106に戻る。
上記ステップ107の判定がYESとなって移行するステップ110では、オーディオデータ出力スレッドを終了させる。その終了は、例えばそのスレッド終了管理用の変数に、終了を指示する値を代入することで行う。以降は、RAM12に格納されている図2〜図5に示す各種データを消去し(ステップ111)、オーディオI/F17のドライバを終了(開放)させ(ステップ112)、MIDI I/F16のドライバを終了(開放)させる(ステップ113)。そのようにして各種ドライバやデータをRAM12から消去させた後、一連の処理を終了、つまり楽音発生アプリケーションを終了させる。
図7は、上記ステップ109として実行されるMIDI IN処理のフローチャートである。次にそのIN処理について、図7に示すそのフローチャートを参照して詳細に説明する。
このIN処理は、MIDI I/F17を介して入力したMIDIデータに対応するための処理である。そのMIDIデータの種類は多数、存在するが、ここでは本発明に特に係わるデータ、つまりノートオンメッセージ、ノートオフメッセージの2種類のMIDIデータのみにのみ注目して説明する。
先ず、ステップ201では、入力したMIDIデータが楽音の発音開始を指示するノートオンメッセージか否か判定する。そのMIDIデータがノートオンメッセージでなかった場合、判定はYESとなってステップ206に移行する。そうでない場合には、判定はYESとなってステップ202に移行する。
ステップ202では、入力したMIDIデータから、チャンネル番号、ノートナンバー(ピッチ)、及びベロシティ値を抽出し、それぞれ変数ich、iPit、及びiVelに代入する。続くステップ203では、変数ich、iPitの各値で指定されるピッチデータ、つまり新たに楽音の発音開始が指示されたチャンネル、そのピッチから対応するピッチデータを特定してそのインデクス値を変数tdに代入し、その変数tdの値で指定されるピッチデータを更新する。具体的にはデータiStatusの値を1に変更する。対応する音色データ中のデータiNoteOnCntは、その値をインクリメントして更新する。その後、ステップ204に移行する。
ステップ204では、発音データの格納用にRAM12に確保した領域中から、発音データが格納されていない場所(位置)を特定し、その場所を示すインデクス値を変数ndに代入する。次に移行するステップ205では、変数ndの値で指定される場所に発音データを格納する。具体的には、データiTone(図中「nd.iTone」と表記)として変数ichの値、データiPitch(図中「nd.iPitch」と表記)として変数iPitの値、データiOnVel(図中「nd.iOnVel」と表記)として変数iVelの値、データiStatus(図中「nd.iStatus」と表記)として1、データpSD(図中「nd.pSD」と表記)として対応するピッチデータのデータpSD(図中「td.pSD」と表記)、データlOnStart(図中「nd.lOnStart」と表記)として現在時刻を示す値、をそれぞれ格納する。その後、一連の処理を終了する。
このようにして、ノートオンメッセージのMIDIデータの入力により、そのMIDIデータから特定される音色データ、ピッチデータが更新され、発音データが新たに生成される。
上記ステップ201の判定がNOとなって移行するステップ206では、入力したMIDIデータが楽音の発音終了を指示するノートオフメッセージか否か判定する。そのMIDIデータがノートオフメッセージだった場合、判定はYESとなってステップ207に移行する。そうでない場合には、判定はNOとなり、ここで一連の処理を終了する。
ステップ207では、入力したMIDIデータから、チャンネル番号、及びノートナンバー(ピッチ)を抽出し、それぞれ変数ich、及びiPitに代入する。続くステップ208では、変数ich、iPitの各値で指定される発音データ(それら各値をデータiTone、iPitchとして格納している発音データ)を特定してそのインデクス値を変数tdに代入する。また、変数ich、iPitの各値で指定されるピッチデータを特定してそのインデクス値を変数tdに代入し、その変数tdの値で指定されるピッチデータのデータiStatusの値を2に変更する。その変更後は、ステップ209に移行して、変数ndの値で指定される発音データ中のデータiStatusとして2、データfRelease(図中「nd.fRelease」と表記)として1.0、データlOffStart(図中「nd.lOffStart」と表記)として現在時刻を示す値、をそれぞれ格納する。そのようにして、ノートオフメッセージのMIDIデータにより特定されるピッチデータ、及び発音データを更新した後、一連の処理を終了する。
図8は、図6に示す全体処理内のステップ103で起動されるオーディオデータ出力スレッドの実行により実現される処理のフローチャートである。次に図8を参照して、その処理について詳細に説明する。この出力スレッドは、サンプリング周期でオーディオI/F17を介して出力する、発音させるべき楽音の波高値(オーディオデータ)を生成するためのものである。
先ず、ステップ301では、各種変数に初期値を代入し、オーディオI/F17を介して出力するオーディオデータ一時格納用の領域(出力バッファ)をRAM12に確保するといった初期化を行う。次のステップ302では、終了が指示されたか否か判定する。上述したように、図6に示す全体処理のステップ110では、オーディオデータ出力スレッドの終了管理用の変数に、終了を指示する値を代入する。このことから、その変数にその値が代入されていた場合、判定はYESとなり、ここで一連の処理を終了する。そうでない場合には、判定はNOとなってステップ303に移行する。
ステップ303では、発音させるべき楽音のオーディオデータを作成(生成)して出力バッファに格納するための出力データ作成処理を実行する。次に移行するステップ304では、出力バッファに格納されたオーディオデータをサンプリング周期で順次、出力するための処理を実行する。その実行後は上記ステップ302に戻る。それにより、楽音発生アプリケーションの起動中は、ステップ302〜304で形成される処理ループを繰り返し実行する。
次に、上記ステップ303として実行される出力データ作成処理について、図9に示すそのフローチャートを参照して詳細に説明する。その作成処理では、複数のサンプリング周期分のオーディオデータを一度に作成し、出力バッファに保存するようにしている。図中の「lSamples」は一度に作成するオーディオデータ数を示す定数である。
先ず、ステップ401では、変数iに0を代入する。続くステップ402では、変数iの値が定数lSamples未満か否か判定する。変数iの値は、1サンプリング周期分のオーディオデータを作成する度にインクリメントするようになっている。このため、一度に作成すべきオーディオデータを全て作成していない場合、変数iの値は定数lSamples未満の関係を満たすから、判定はYESとなってステップ402に移行する。そうでない場合には、つまり作成すべきオーディオデータを全て作成した場合には、判定はNOとなり、ここで一連の処理を終了する。
ステップ403では、変数iの値を定数lSRで割った値を変数lTimeの値に加算して得られる値(=lTime+i/lSR)を変数lSTimeに代入する。変数lTimeに代入された値は、次のオーディオデータを出力すべき時刻を示す値であり、定数lSRは、出力バッファに格納したオーディオデータのサンプリングレートを示す値である。それにより、変数iの値を定数lSRで割った値は、変数iの値にサンプリング周期を掛けた値(時間を示す値)である。このことから、変数lSTimeには、対象とするオーディオデータを出力すべき時刻を示す値が代入される。その代入後はステップ404に移行する。
ステップ404では、1サンプリング周期分のオーディオデータ作成用の変数iValueに0を代入する。次のステップ405では、変数ndに、発音データ格納用領域の先頭に位置する発音データの格納場所を指定するインデクス値を代入する。その次に移行するステップ406では、変数ndの値で指定される格納場所に発音データが存在するか否か判定する。その発音データが存在しない場合、判定はNOとなってステップ416に移行する。そうでない場合には、判定はYESとなってステップ407に移行する。
ステップ407では、変数ndの値で指定される格納場所のデータiStatusの値が消音中を示す0でないか否か判定する。その値が0であった場合、判定はNOとなってステップ410に移行する。そうでない場合には、判定はYESとなってステップ408に移行する。
ステップ407でのYESの判定は、現在、注目している発音データに対応する楽音は発音すべきものであることを意味する。このことから、ステップ409では、その楽音を発音させるためのサンプリングデータをRAM12から読み出すためのサンプリングデータ読み取り処理を実行する。その実行によって変数iVtmpには、そのサンプリングデータが代入される。
ステップ408に続くステップ409では、そのデータiStatusの値が2か否か判定する。現在、注目している発音データに対応する楽音が消音処理中であった場合、判定はYESとなってステップ412に移行する。そうでない場合には、判定はNOとなり、変数iValueに、それまでの値に変数iVtmpの値を加算した値(=iValue+iVtmp)を代入し(ステップ410)、変数ndに次の発音データの格納場所を示すインデクス値を代入する(ステップ411)。その代入後は上記ステップ406に戻る。
このように、消音処理中でない楽音では、ステップ408のサンプリングデータ読み取り処理の実行によって変数iVtmpに代入されたサンプリングデータは変数iValueのそれまでの値に加算される。それにより、消音処理を開始するまではサンプリングデータ(波形データ)に従って発音させている。
上記ステップ409の判定のYESとなって移行するステップ412〜415では、消音したと見なせるまで、発音させる楽音の音量を徐々に小さくさせていくための処理が行われる。波形データを構成するサンプリングデータの値は大きく変化することから、消音したと見なせるか否かの判定は、消音処理中に更新していくデータfReleaseの値により行っている。図中の「RED_OFF」「RELEASE」はそれぞれ、その判定用に設定した定数、データfRelease更新用に設定した定数である。
先ず、ステップ412では、変数iVtmpに、注目している発音データ中のデータfReleaseの値をそれまでの値に掛けて得られる値(=iVtmp*fRelease)を代入する。続くステップ413では、そのデータfReleaseの値が定数RED_OFF未満か否か判定する。その値が定数RED_OFF以上であった場合、判定はNOとなり、ステップ414でデータfReleaseをそれまでの値に定数RELEASEを掛けた値に更新した後、上記ステップ410に移行する。そうでない場合には、判定はYESとなってステップ415に移行し、データiStatusの値を0に、その他のデータをリセットする操作を行うことで該当する発音データを消去すると共に、他の対応する各種データの更新、及び楽音の発音用にRAM12にロードした部分波形データの消去(開放)を行う。その開放により、発音データを消去した楽音の発音用の部分波形データは先頭波形データのみとなる。発音データ以外の各種データの更新は、音色データではデータiNoteOnCntの値をデクリメントする更新、ピッチデータではデータiStatusの値を0にする更新、ソースデータでは先頭波形データを示す値にデータiIndexを変更する更新、をそれぞれ行う。そのような更新を行った後、上記ステップ410に移行する。
上記ステップ415では、発音データの消去に併せて、その発音データの格納場所を示すインデクス値をデータpPrev、或いはpNextとして有する発音データはデータpPrev、或いはpNextを更新する。消去する発音データが最後に位置するもの、つまりその格納場所を示すインデクス値が最大のものでなければ、発音データを消去した格納場所に別の発音データを移動させて、発音データが先頭から連続するようにさせる。それにより、変数ndの値で指定される格納場所に発音データが存在しないことでステップ406の判定がNOとなった場合には、他に注目すべき発音データが存在しないようにさせている。他に注目すべき発音データが存在しないことは、1サンプリング周期分のオーディオデータの作成が終了したことを意味する。
そのステップ406の判定がNOとなって移行するステップ416では、変数iValueの値を1サンプリング周期分のオーディオデータとして、変数lStimeの値と共に、出力バッファの変数iの値で指定される格納場所に格納する。その格納後は、ステップ417で変数iの値をインクリメントしてから上記ステップ402に戻る。
図10は、上記ステップ408として実行されるサンプリングデータ読み取り処理のフローチャートである。最後に図10を参照して、そのデータ読み取り処理について詳細に説明する。
上述したように、波形データはピッチ毎に用意しているから、波形データから抽出した(読み出した)サンプリングデータは基本的にそのまま楽音の発音に用いることができる。それにより、サンプリングデータ読み取り処理では、対象とする部分発音データ中のサンプリングデータを読み出すべきサンプリングデータの位置(アドレス)を特定し、その位置のサンプリングデータを読み出すようになっている。また、必要に応じて、次に参照すべき部分波形データのRAM12へのロード、及びロードした部分波形データの消去(開放)を行うようになっている。ここでは説明上、便宜的に全ての部分波形データは同じサイズ(同じサンプリングデータ数)として説明を行うこととする。図中に表記の「SIZE」はそのサイズを示す定数である。
先ず、ステップ501では、変数lStimeの値から変数ndの値で指定された格納場所に格納されている発音データ中のデータlOnStartの値を引いた値、つまりその発音データにより発音中の楽音の発音を開始させてから経過した時間を示す値を変数lTに代入する。続くステップ502では、変数lPosに、変数lTの値に定数lSRを掛けた乗算結果を定数SIZEで割ったときに得られる余り(=(lT*lSR)%SIZE)を代入する。その後は、注目する発音データ中のデータpSDをステップ503で変数sdに代入し、ステップ504に移行する。
ステップ504では、変数lPosの値が0か、つまりそれまで参照していた部分波形データからのサンプリングデータの読み出しが一通り終了したか否か判定する。その読み出しが一通り終了していない場合、判定はNOとなってステップ509に移行する。そうでない場合には、判定はYESとなってステップ505に移行する。
ステップ505〜508では、サンプリングデータの一通りの読み出しが終了したことにより、次に読み出しを行うべき部分波形データを別のものに切り換えるための処理が行われる。
先ず、ステップ505では、変数sdの値で指定されるソースデータ中のデータiIndexの値が0でないか否か、つまりそれまで参照していた部分波形データは先頭波形データでないか否か判定する。その部分波形データが先頭波形データであった場合、判定はNOとなり、ステップ506でそのデータiIndexの値を1に更新した後、ステップ509に移行する。そうでない場合には、判定はYESとなってステップ507に移行する。
ステップ507では、データiIndexの値が示す部分波形データをRAM12から開放(消去)する。その次のステップ508では、そのデータiIndexの値を、それまでの値を2で割って得られる余りに1を加算した値(=(sd.iIndex)%2+1)に更新する。ステップ509には、その更新を行った後に移行する。
データiIndexの値は0、1、或いは2である。ステップ507に移行する場合、その値は1、或いは2である。このため、その値が1であれば2、その値が2であれば1に更新されることになる。それにより、先頭波形データを参照した後は、楽音の発音を消音させるまでの間、中間波形データと最終波形データは交互に参照される。
ステップ509では、データiIndexの値に対応する部分波形データを参照の対象に設定する。次のステップ510では、対象とする部分波形データ中の変数lPosの値で指定されるサンプリングデータ(先頭から変数lPosの値番目のデータ)を読み出して変数iVtmpに代入する。その次のステップ511では、変数iVtmpの値、即ち読み出したサンプリングデータに発音データ中のデータiOnVelの値(ベロシティ値)を反映させるために、そのサンプリングデータの値に対し、データiOnVelの値を対応するソースデータ中のデータmaxVelの値で割った値を乗算して得られる値を変数iVtmpに代入する。それにより、変数iVtmpに代入したサンプリングデータを、ユーザーが実際に押鍵したときのベロシティ値と波形データのベロシティ範囲の上限値の比に応じて更新してからステップ512に移行する。
ステップ512では、変数lPosの値が定数SIZEに0.8を掛けた値以上か否か判定する。その大小関係が満たされている場合、判定はYESとなってステップ513に移行し、データiIndexの値を2で割って得られる余りに1を加算した値に対応する部分波形データをROM13から読み出してRAM12にロードした後、一連の処理を終了する。そうでない場合には、判定はNOとなり、ここで一連の処理を終了する。
上記ステップ513でロードされる部分波形データは、データiIndexの値が0、或いは2であれば中間波形データであり、その値が1であれば最終波形データである。そのような部分波形データを、現在、対象としている部分波形データの80%以上、サンプリングデータを読み出した状況、つまりその部分波形データで読み出すべきサンプリングデータが残り20%以下となった状況となると事前にRAM12にロードさせている。それにより、参照すべき部分波形データを切り換えるタイミングでは次に参照すべき部分波形データをRAM12に確実に用意するようにしている。
なお、本実施の形態では、発音させる楽音はユーザーが電子楽器20を操作して指定するようになっているが、その指定はスタンダードMIDIファイルといった再生データにより自動的に行わせても良い。波形データについては、それを3つの部分波形データに分割しているが、その分割数はそれより多くとも少なくとも良い。そのサンプリングデータは、圧縮処理を施したものであっても良い。
<第2の実施の形態>
上記第1の実施の形態では、先頭波形データ以外の部分波形データは、発音させるべき楽音のオーディオデータ作成に用いる部分波形データのみをRAM12にロードしている。これに対し、第2の実施の形態は、発音させるべき楽音とピッチが近い楽音の発音に用いられる部分波形データを事前にRAM12にロードするようにしたものである。これは、楽曲では、或るピッチの楽音を発音させた後、それと近いピッチの楽音を発音させることが比較的に多いためである。第2の実施の形態では、そのことに着目し、次に用いる可能性が高いと考えられる部分波形データを投機的にロードしておくことにより、発音させるべき楽音は常に確実にスムーズに発音できるようにさせている。投機的にロードする部分波形データは発音させる楽音とピッチの近い楽音用のものに限定しているため、波形データによるRAM12の専有率の上昇は僅かなものに抑えることができる。
第2の実施の形態における楽音発生装置の構成は、基本的に第1の実施の形態におけるそれと同じである。動作も大部分は同じか、或いは基本的に同じである。このことから、第1の実施の形態で付した符号をそのまま用いて、第1の実施の形態から異なる部分についてのみ説明する。
第2の実施の形態では、図6に示す全体処理内でステップ109として実行されるMIDI IN処理が第1の実施の形態から異なっている。このことから、その異なる部分について、図11、及び図12に示す各フローチャートを参照して詳細に説明する。
図11は、第2の実施の形態におけるMIDI IN処理のフローチャートである。図11に示すように、第2の実施の形態では、ステップ205の処理を実行した後、ステップ601に移行して、そのステップ205で生成・格納した発音データが示す楽音とピッチが近い周辺ピッチの楽音発音用の部分波形データをROM13から読み込んでRAM12にロードするための周辺ピッチのデータ読み込み処理を実行する。一連の処理はその実行後に終了するようになっている。
図12は、そのステップ601として実行される周辺ピッチのデータ読み込み処理のフローチャートである。次に図12を参照して、そのデータ読み込み処理について詳細に説明する。
キーボード21への演奏操作は、両手を使って行うことがある。このことから、本実施の形態では、キーボード21を右手による演奏操作が行われると想定する高音域、その高音域以外の部分を左手による演奏操作が行われると想定する低音域に分け、音域毎に部分波形データの投機的なロードを行っている。図中に表記の「DIVPIT」は、それらの音域の境界となる鍵のピッチ(ノートナンバー)として設定した定数である。「RNGHIGH」「RNGLOW」はそれぞれ、部分波形データを投機的にロードする周辺ピッチ範囲として高音域、低音域で設定した定数である。
先ず、ステップ701では、変数iRngに定数RNGHIGHを代入する。次のステップ702では、変数ndの値で指定される格納場所に新たに格納した発音データが示す楽音発音用の部分波形データとして、中間波形データをROM13か読み込んでRAM12にロードする。それにより、入力したMIDIデータにより発音開始が指示された楽音発音用の中間波形データを第1の実施の形態よりも早い段階でロードする。そのロード後はステップ703に移行する。
ステップ703では、そのMIDIデータから抽出されたピッチ(ノートナンバー)を示すデータiPitの値が定数DVPIT未満か否か、つまりそのMIDIデータが発音開始を指示する楽音が低音域に属するピッチの楽音か否か判定する。その低音域に属するピッチの楽音であった場合、判定はYESとなり、ステップ704で変数iRngに定数RNGLOWを代入した後、ステップ705に移行する。そうでない場合には、判定はNOとなり、次にその0ステップ705の処理を実行する。
ステップ705以降では、変数iの値を順次、インクリメントしながら、入力したMIDIデータが発音開始を指示する楽音より変数iの値分だけ高音、低音となっている楽音発音用の中間波形データを必要に応じてRAM12にロードするための処理が行われる。それにより、本実施の形態では、発音開始が指示された楽音より変数iRngの値分、ピッチが離れた高音、低音の楽音を対象にして、対象とする楽音(周辺ピッチの楽音)のなかで発音中でない楽音発音用の中間波形データをロードしている。
先ず、ステップ705では、変数iに0を代入する。続くステップ706では、変数th、tlにそれぞれ、新たに格納した発音データに対応するピッチデータ中のデータpNext、pPrevを代入する。その次に移行するステップ707では、変数iの値が変数iRngの値未満か否か判定する。変数iの値が変数iRngの値以上であった場合、判定はNOとなり、投機的にロードすべき中間波形データは全てロードしたとして、ここで一連の処理を終了する。そうでない場合には、判定はYESとなってステップ708に移行する。
ステップ708では、変数thの値で指定されるピッチデータ中のデータiStatusの値が0か否か、つまりそのピッチデータによって特定される楽音が消音中か否か判定する。その楽音が発音中であった場合、判定はNOとなってステップ710に移行する。そうでない場合には、判定はYESとなり、ステップ709でその楽音発音用の中間波形データをROM13から読み込んでRAM12にロードした後、そのステップ710に移行する。
ステップ710では同様に、変数tlの値で指定されるピッチデータ中のデータiStatusの値が0か否か判定する。そのピッチデータによって特定される楽音が発音中であった場合、判定はNOとなってステップ712に移行する。そうでない場合には、判定はYESとなり、ステップ711でその楽音発音用の中間波形データをROM13から読み込んでRAM12にロードした後、そのステップ712に移行する。
ステップ712では、変数th、tlにそれぞれ、それまでの値で指定される各ピッチデータ中のデータpNect、pPrevを代入する。それにより、着目するピッチデータを高音側ではノートナンバーで1だけ大きいピッチデータに、低音側ではノートナンバーで1だけ小さいピッチデータにそれぞれ変更する。次のステップ713では、変数iの値をインクリメントする。その後は上記ステップ707に戻る。
このようにして、発音させるべきとなっていない楽音の発音用の中間波形データを事前に、つまり発音させるべきとなる前の段階でロードする。このため、特に詳細な説明は省略するが、図10に示すサンプリングデータ読み取り処理内のステップ512において、データiIndexの値を2で割って得られる余りに1を加算した値に対応する部分波形データが既にロードされているか否かを併せて判定するようになっている。それにより、変数lPosの値が定数SIZEに0.8を掛けた値以上であり、且つ次にロードすべき部分波形データがロードされていない場合に、その判定がYESとなるようにさせている。そのようにして、部分波形データの不必要なロードを行うことを回避させている。
なお、本実施の形態(第1および第2の実施の形態)では、ピッチ毎に1種類の波形データ(3つの部分波形データから構成されている)を用意しているが(ここでは音色毎に用意していることは便宜的に無視している)、波形データはベロシティによっても異なるから、ピッチ毎に対象となるベロシティ範囲が異なる複数の波形データを用意しても良い。そのように対象となるベロシティ範囲が異なる複数の波形データを用意した場合には、例えばベロシティ範囲が異なる先頭波形データを事前に全てロードしておき、部分波形データは、発音させるべき楽音のベロシティ値に応じたものを必要に応じてロードするようにすれば良い。そのようにすることにより、ピッチ毎にベロシティ値に応じた波形データを用いて楽音を発音できるようになる。
第1の実施の形態による楽音発生装置の構成を説明する図である。 音色データの構成を説明する図である。 ピッチデータの構成を説明する図である。 ソースデータの構成を説明する図である。 発音データの構成を説明する図である。 全体処理のフローチャートである。 MIDI IN処理のフローチャートである。 オーディオデータ出力スレッドの実行によって実現される処理のフローチャートである。 出力データ作成処理のフローチャートである。 サンプリングデータ読み取り処理のフローチャートである。 MIDI IN処理のフローチャートである(第2の実施の形態)。 周辺ピッチのデータ読み取り処理のフローチャートである。
符号の説明
10 楽音発生装置
11 CPU
12 RAM
13 ROM
14 入力部
15 表示部
16、22 MIDIインターフェース(I/F)
17 オーディオインクリメント(I/F)
20 電子楽器
21 キーボード
30 音源システム

Claims (3)

  1. 発音させるべき楽音の波形データを、当該楽音のピッチ毎に記憶する第1の記憶手段と、
    前記波形データの一部分が記憶可能な領域を複数有するとともに、当該複数の領域は、前記複数の部分波形データのなかで先頭に位置する先頭波形データをピッチ毎に記憶可能な先頭波形記憶領域を含む第2の記憶手段と、
    各ピッチに対応するキーが所定の順序で配列され、当該いずれかのキー操作により発音すべき楽音のピッチを取得するキーボードと、
    前記いずれかのキー操作によるピッチを取得する前に、前記先頭波形記憶領域にピッチ毎の先頭波形データを事前に記憶させる先頭波形記憶制御手段と、
    前記いずれかのキー操作によるピッチ取得に応答して、当該操作されたキーに隣接する複数のキー夫々に対応するピッチの部分波形データを前記第1の記憶手段から読み出して、前記第2の記憶手段の空いている領域に順次記憶させる周辺ピッチ波形記憶制御手段と、
    前記ピッチ取得に応答して、前記複数の領域に記憶される部分波形データのうち、前記取得されたピッチに対応する前記先頭波形記憶領域に記憶された先頭波形データを先頭に所定の順番で読み出すとともに、読出しの終了した領域に記憶された波形データを消去する読出し手段と、
    前記取得されたピッチに対応する波形データにおいて、当該波形データを分割して得られる複数の部分波形データ夫々を所定の順番で前記第1の記憶手段から読み出して前記第2の記憶手段の空いている領域に順次記憶させる記憶制御手段と、
    を具備することを特徴とする楽音発生装置。
  2. 前記記憶制御手段は、前記読出し手段にて読み出しの行なわれている領域において、当該領域に記憶された部分波形データが所定量読み出されるに応答して、前記第2記憶手段の空いている領域に前記部分波形データ記憶を開始させることを特徴とする請求項1記載の楽音発生装置。
  3. 発音させるべき楽音の波形データを、当該楽音のピッチ毎に記憶する第1の記憶手段と、前記波形データの一部分が記憶可能な領域を複数有するとともに、当該複数の領域は、前記複数の部分波形データのなかで先頭に位置する先頭波形データをピッチ毎に記憶可能な先頭波形記憶領域を含む第2の記憶手段と、各ピッチに対応するキーが所定の順序で配列され、当該いずれかのキー操作により発音すべき楽音のピッチを取得するキーボードと、を有する楽音発生装置として用いられるコンピュータに、
    前記いずれかのキー操作によるピッチを取得する前に、前記先頭波形記憶領域にピッチ毎の先頭波形データを事前に記憶させる先頭波形記憶制御機能と、
    前記いずれかのキー操作によるピッチ取得に応答して、当該操作されたキーに隣接する複数のキー夫々に対応するピッチの部分波形データを前記第1の記憶手段から読み出して、前記第2の記憶手段の空いている領域に順次記憶させる周辺ピッチ波形記憶制御機能と、
    前記ピッチ取得に応答して、前記複数の領域に記憶される部分波形データのうち、前記取得されたピッチに対応する前記先頭波形記憶領域に記憶された先頭波形データを先頭に所定の順番で読み出すとともに、読出しの終了した領域に記憶された波形データを消去する読出し機能と、
    前記取得されたピッチに対応する波形データにおいて、当該波形データを分割して得られる複数の部分波形データ夫々を所定の順番で前記第1の記憶手段から読み出して前記第2の記憶手段の空いている領域に順次記憶させる記憶制御機能と、
    を実現させるためのプログラム。
JP2005229652A 2005-08-08 2005-08-08 楽音発生装置、及びプログラム Expired - Fee Related JP4655812B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005229652A JP4655812B2 (ja) 2005-08-08 2005-08-08 楽音発生装置、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005229652A JP4655812B2 (ja) 2005-08-08 2005-08-08 楽音発生装置、及びプログラム

Publications (2)

Publication Number Publication Date
JP2007047293A JP2007047293A (ja) 2007-02-22
JP4655812B2 true JP4655812B2 (ja) 2011-03-23

Family

ID=37850187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005229652A Expired - Fee Related JP4655812B2 (ja) 2005-08-08 2005-08-08 楽音発生装置、及びプログラム

Country Status (1)

Country Link
JP (1) JP4655812B2 (ja)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI475124B (zh) 2009-05-22 2015-03-01 Samsung Display Co Ltd 薄膜沉積設備
TWI472639B (zh) 2009-05-22 2015-02-11 Samsung Display Co Ltd 薄膜沉積設備
US8882920B2 (en) 2009-06-05 2014-11-11 Samsung Display Co., Ltd. Thin film deposition apparatus
US8882921B2 (en) 2009-06-08 2014-11-11 Samsung Display Co., Ltd. Thin film deposition apparatus
US9174250B2 (en) 2009-06-09 2015-11-03 Samsung Display Co., Ltd. Method and apparatus for cleaning organic deposition materials
US8802200B2 (en) 2009-06-09 2014-08-12 Samsung Display Co., Ltd. Method and apparatus for cleaning organic deposition materials
KR101097311B1 (ko) 2009-06-24 2011-12-21 삼성모바일디스플레이주식회사 유기 발광 디스플레이 장치 및 이를 제조하기 위한 유기막 증착 장치
KR101117720B1 (ko) 2009-06-25 2012-03-08 삼성모바일디스플레이주식회사 박막 증착 장치 및 이를 이용한 유기 발광 소자 제조 방법
KR20110014442A (ko) 2009-08-05 2011-02-11 삼성모바일디스플레이주식회사 박막 증착 장치 및 이를 이용한 유기 발광 디스플레이 장치의 제조 방법
KR101127575B1 (ko) 2009-08-10 2012-03-23 삼성모바일디스플레이주식회사 증착 가림막을 가지는 박막 증착 장치
JP5676175B2 (ja) 2009-08-24 2015-02-25 三星ディスプレイ株式會社Samsung Display Co.,Ltd. 薄膜蒸着装置及びこれを利用した有機発光表示装置の製造方法
KR101127578B1 (ko) 2009-08-24 2012-03-23 삼성모바일디스플레이주식회사 박막 증착 장치, 이를 이용한 유기 발광 디스플레이 장치의 제조방법 및 이에 따라 제조된 유기 발광 디스플레이 장치
US8486737B2 (en) 2009-08-25 2013-07-16 Samsung Display Co., Ltd. Thin film deposition apparatus and method of manufacturing organic light-emitting display device by using the same
JP5328726B2 (ja) 2009-08-25 2013-10-30 三星ディスプレイ株式會社 薄膜蒸着装置及びこれを利用した有機発光ディスプレイ装置の製造方法
JP5677785B2 (ja) 2009-08-27 2015-02-25 三星ディスプレイ株式會社Samsung Display Co.,Ltd. 薄膜蒸着装置及びこれを利用した有機発光表示装置の製造方法
US8696815B2 (en) 2009-09-01 2014-04-15 Samsung Display Co., Ltd. Thin film deposition apparatus
US8876975B2 (en) 2009-10-19 2014-11-04 Samsung Display Co., Ltd. Thin film deposition apparatus
KR101146982B1 (ko) 2009-11-20 2012-05-22 삼성모바일디스플레이주식회사 박막 증착 장치 및 유기 발광 디스플레이 장치 제조 방법
KR101084184B1 (ko) 2010-01-11 2011-11-17 삼성모바일디스플레이주식회사 박막 증착 장치
KR101174875B1 (ko) 2010-01-14 2012-08-17 삼성디스플레이 주식회사 박막 증착 장치, 이를 이용한 유기 발광 디스플레이 장치의 제조방법 및 이에 따라 제조된 유기 발광 디스플레이 장치
KR101193186B1 (ko) 2010-02-01 2012-10-19 삼성디스플레이 주식회사 박막 증착 장치, 이를 이용한 유기 발광 디스플레이 장치의 제조방법 및 이에 따라 제조된 유기 발광 디스플레이 장치
KR101156441B1 (ko) 2010-03-11 2012-06-18 삼성모바일디스플레이주식회사 박막 증착 장치
KR101202348B1 (ko) 2010-04-06 2012-11-16 삼성디스플레이 주식회사 박막 증착 장치 및 이를 이용한 유기 발광 표시 장치의 제조 방법
US8894458B2 (en) 2010-04-28 2014-11-25 Samsung Display Co., Ltd. Thin film deposition apparatus, method of manufacturing organic light-emitting display device by using the apparatus, and organic light-emitting display device manufactured by using the method
KR101223723B1 (ko) 2010-07-07 2013-01-18 삼성디스플레이 주식회사 박막 증착 장치, 이를 이용한 유기 발광 디스플레이 장치의 제조방법 및 이에 따라 제조된 유기 발광 디스플레이 장치
KR101673017B1 (ko) 2010-07-30 2016-11-07 삼성디스플레이 주식회사 박막 증착 장치 및 이를 이용한 유기 발광 표시장치의 제조 방법
KR101678056B1 (ko) 2010-09-16 2016-11-22 삼성디스플레이 주식회사 박막 증착 장치, 이를 이용한 유기 발광 디스플레이 장치의 제조방법 및 이에 따라 제조된 유기 발광 디스플레이 장치
KR20120029166A (ko) 2010-09-16 2012-03-26 삼성모바일디스플레이주식회사 박막 증착 장치, 이를 이용한 유기 발광 디스플레이 장치의 제조방법 및 이에 따라 제조된 유기 발광 디스플레이 장치
KR101738531B1 (ko) 2010-10-22 2017-05-23 삼성디스플레이 주식회사 유기 발광 디스플레이 장치의 제조 방법 및 이에 따라 제조된 유기 발광 디스플레이 장치
KR101723506B1 (ko) 2010-10-22 2017-04-19 삼성디스플레이 주식회사 유기층 증착 장치 및 이를 이용한 유기 발광 디스플레이 장치의 제조 방법
KR20120045865A (ko) 2010-11-01 2012-05-09 삼성모바일디스플레이주식회사 유기층 증착 장치
KR20120065789A (ko) 2010-12-13 2012-06-21 삼성모바일디스플레이주식회사 유기층 증착 장치
KR101760897B1 (ko) 2011-01-12 2017-07-25 삼성디스플레이 주식회사 증착원 및 이를 구비하는 유기막 증착 장치
KR101923174B1 (ko) 2011-05-11 2018-11-29 삼성디스플레이 주식회사 정전 척, 상기 정전 척을 포함하는 박막 증착 장치 및 이를 이용한 유기 발광 표시 장치의 제조 방법
KR101857992B1 (ko) 2011-05-25 2018-05-16 삼성디스플레이 주식회사 패터닝 슬릿 시트 어셈블리, 유기막 증착 장치, 유기 발광 표시 장치 제조 방법 및 유기 발광 표시 장치
KR101852517B1 (ko) 2011-05-25 2018-04-27 삼성디스플레이 주식회사 유기층 증착 장치 및 이를 이용한 유기 발광 디스플레이 장치의 제조 방법
KR101840654B1 (ko) 2011-05-25 2018-03-22 삼성디스플레이 주식회사 유기층 증착 장치 및 이를 이용한 유기 발광 디스플레이 장치의 제조 방법
KR101857249B1 (ko) 2011-05-27 2018-05-14 삼성디스플레이 주식회사 패터닝 슬릿 시트 어셈블리, 유기막 증착 장치, 유기 발광 표시장치제조 방법 및 유기 발광 표시 장치
KR101826068B1 (ko) 2011-07-04 2018-02-07 삼성디스플레이 주식회사 유기층 증착 장치
KR20130004830A (ko) 2011-07-04 2013-01-14 삼성디스플레이 주식회사 유기층 증착 장치 및 이를 이용한 유기 발광 표시 장치의 제조 방법
KR20130010730A (ko) 2011-07-19 2013-01-29 삼성디스플레이 주식회사 증착 소스 및 이를 구비한 증착 장치
KR20130015144A (ko) 2011-08-02 2013-02-13 삼성디스플레이 주식회사 증착원어셈블리, 유기층증착장치 및 이를 이용한 유기발광표시장치의 제조 방법
KR20130069037A (ko) 2011-12-16 2013-06-26 삼성디스플레이 주식회사 유기층 증착 장치, 이를 이용한 유기 발광 표시 장치의 제조 방법 및 유기 발광 표시 장치
KR102015872B1 (ko) 2012-06-22 2019-10-22 삼성디스플레이 주식회사 유기층 증착 장치, 이를 이용한 유기 발광 디스플레이 장치의 제조 방법 및 이에 따라 제조된 유기 발광 디스플레이 장치
KR101959974B1 (ko) 2012-07-10 2019-07-16 삼성디스플레이 주식회사 유기층 증착 장치, 이를 이용한 유기 발광 디스플레이 장치의 제조 방법 및 이에 따라 제조된 유기 발광 디스플레이 장치
US9461277B2 (en) 2012-07-10 2016-10-04 Samsung Display Co., Ltd. Organic light emitting display apparatus
KR102013315B1 (ko) 2012-07-10 2019-08-23 삼성디스플레이 주식회사 유기 발광 디스플레이 장치의 제조 방법 및 이에 따라 제조된 유기 발광 디스플레이 장치
US9496524B2 (en) 2012-07-10 2016-11-15 Samsung Display Co., Ltd. Organic layer deposition apparatus, method of manufacturing organic light-emitting display apparatus using the same, and organic light-emitting display apparatus manufactured using the method
KR101632298B1 (ko) 2012-07-16 2016-06-22 삼성디스플레이 주식회사 평판 표시장치 및 그 제조방법
KR102013318B1 (ko) 2012-09-20 2019-08-23 삼성디스플레이 주식회사 유기층 증착 장치, 이를 이용한 유기 발광 표시 장치의 제조 방법 및 유기 발광 표시 장치
KR101994838B1 (ko) 2012-09-24 2019-10-01 삼성디스플레이 주식회사 유기층 증착 장치, 이를 이용한 유기 발광 디스플레이 장치의 제조 방법 및 이에 따라 제조된 유기 발광 디스플레이 장치
KR20140050994A (ko) 2012-10-22 2014-04-30 삼성디스플레이 주식회사 유기 발광 디스플레이 장치 및 그 제조 방법
KR102052069B1 (ko) 2012-11-09 2019-12-05 삼성디스플레이 주식회사 유기층 증착 장치, 이를 이용한 유기 발광 디스플레이 장치의 제조 방법 및 이에 따라 제조된 유기 발광 디스플레이 장치
KR102075525B1 (ko) 2013-03-20 2020-02-11 삼성디스플레이 주식회사 유기층 증착 장치, 이를 이용한 유기 발광 디스플레이 장치의 제조 방법 및 이에 따라 제조된 유기 발광 디스플레이 장치
KR20140118551A (ko) 2013-03-29 2014-10-08 삼성디스플레이 주식회사 증착 장치, 유기 발광 표시 장치 제조 방법 및 유기 발광 표시 장치
KR102037376B1 (ko) 2013-04-18 2019-10-29 삼성디스플레이 주식회사 패터닝 슬릿 시트, 이를 구비하는 증착장치, 이를 이용한 유기발광 디스플레이 장치 제조방법 및 유기발광 디스플레이 장치
KR102081284B1 (ko) 2013-04-18 2020-02-26 삼성디스플레이 주식회사 증착장치, 이를 이용한 유기발광 디스플레이 장치 제조 방법 및 유기발광 디스플레이 장치
KR102107104B1 (ko) 2013-06-17 2020-05-07 삼성디스플레이 주식회사 유기층 증착 장치 및 이를 이용한 유기 발광 디스플레이 장치의 제조 방법
KR102108361B1 (ko) 2013-06-24 2020-05-11 삼성디스플레이 주식회사 증착률 모니터링 장치, 이를 구비하는 유기층 증착 장치, 증착률 모니터링 방법, 및 이를 이용한 유기 발광 디스플레이 장치의 제조 방법
KR102162797B1 (ko) 2013-12-23 2020-10-08 삼성디스플레이 주식회사 유기 발광 디스플레이 장치의 제조 방법
JP6388048B1 (ja) 2017-03-23 2018-09-12 カシオ計算機株式会社 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
JP6443773B2 (ja) * 2017-03-23 2018-12-26 カシオ計算機株式会社 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
JP6443772B2 (ja) * 2017-03-23 2018-12-26 カシオ計算機株式会社 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2725479B2 (ja) * 1991-06-25 1998-03-11 ヤマハ株式会社 電子楽器
JP2671747B2 (ja) * 1993-04-27 1997-10-29 ヤマハ株式会社 楽音形成装置
JP2765469B2 (ja) * 1993-12-27 1998-06-18 ヤマハ株式会社 楽音信号再生装置
JPH117281A (ja) * 1997-06-18 1999-01-12 Matsushita Electric Ind Co Ltd 電子楽器の音源装置

Also Published As

Publication number Publication date
JP2007047293A (ja) 2007-02-22

Similar Documents

Publication Publication Date Title
JP4655812B2 (ja) 楽音発生装置、及びプログラム
US10373595B2 (en) Musical sound generation device
JP2001092453A (ja) リミックス装置および記憶媒体
US10475425B2 (en) Musical sound generation device
US10474387B2 (en) Musical sound generation device, musical sound generation method, storage medium, and electronic musical instrument
US9040800B2 (en) Musical tone signal generating apparatus
JP4770419B2 (ja) 楽音発生装置、及びプログラム
JP4438766B2 (ja) 楽音発生装置、及びプログラム
US6762358B2 (en) Waveform reproduction apparatus
US20130125734A1 (en) Musical sound generator and method for generating musical sound based on element data
JP3918817B2 (ja) 楽音生成装置
JP3541718B2 (ja) 楽音生成装置
JP7131668B2 (ja) 楽音発生装置、電子楽器、楽音発生方法、及びプログラム
JP6452234B2 (ja) 楽音発生装置およびプログラム
JP4333606B2 (ja) 電子楽器
JP2008090202A (ja) チューニング装置及びチューニング用コンピュータ・プログラム
JP3141789B2 (ja) コンピュータソフトウェアを用いた音源システム
JP3982388B2 (ja) 演奏情報処理方法、演奏情報処理装置およびプログラム
JP3666346B2 (ja) 楽音発生装置および記憶媒体
JP4106798B2 (ja) 音源装置
JP4692056B2 (ja) 音波形生成装置、及び、音波形の波形生成データのデータ構造
JP4254677B2 (ja) 楽音発生装置および楽音発生処理のプログラム
JP6996148B2 (ja) 楽音発生装置、方法、プログラム、及び電子楽器
JP5732769B2 (ja) 楽音生成装置
JP5510814B2 (ja) 楽音生成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080410

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090609

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090703

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100406

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100527

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: 20101130

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: 20101213

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4655812

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees