JP2006337438A - 楽音発生装置および楽音発生処理のプログラム - Google Patents

楽音発生装置および楽音発生処理のプログラム Download PDF

Info

Publication number
JP2006337438A
JP2006337438A JP2005158616A JP2005158616A JP2006337438A JP 2006337438 A JP2006337438 A JP 2006337438A JP 2005158616 A JP2005158616 A JP 2005158616A JP 2005158616 A JP2005158616 A JP 2005158616A JP 2006337438 A JP2006337438 A JP 2006337438A
Authority
JP
Japan
Prior art keywords
elements
performance information
sound
area
sound generation
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.)
Pending
Application number
JP2005158616A
Other languages
English (en)
Inventor
Hirotake Sato
博毅 佐藤
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 JP2005158616A priority Critical patent/JP2006337438A/ja
Publication of JP2006337438A publication Critical patent/JP2006337438A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

【課題】 外部から入力される演奏情報や内部で発生する演奏情報の情報量が多いときでも、音切れなどの現象を発生することなく高い音質で発音を行うようにする。
【解決手段】 CPU1は、演奏情報を受信したときは、RAM4を検索し、受信した演奏情報を構成する全ての要素を検出したとき又は一部の要素を検出したときは、その検出した要素に対応する発音パラメータをRAM4から読み出し、受信した演奏情報を構成する一部の要素又は全ての要素に対応する発音パラメータが検出できない場合には、その検出できない発音パラメータを演算によって生成し、読み出した全ての要素に対応する発音パラメータ、又は、読み出した一部の要素に対応する発音パラメータおよび生成した残りの要素に対応する発音パラメータ、又は、生成した全ての要素に対応する発音パラメータを楽音信号の発生のために音源LSI6に出力する。
【選択図】 図1

Description

本発明は、楽音発生装置および楽音発生処理のプログラムに関し、特に、演奏情報に対応する発音パラメータを生成して楽音を発生する楽音発生装置および楽音発生処理のプログラムに関するものである。
楽音発生装置の中には、MIDI機器としてのキーボード(鍵盤装置)やシーケンサなどに接続して、外部のMIDI機器からキーボードに入力されるMIDI形式の演奏情報、又は、シーケンサ内部で発生するMIDI形式の演奏情報を受信して、楽音信号を発生するものがある。従来このような楽音発生装置では、受信する演奏情報の要素であるチャンネル番号、キー番号、およびベロシティ値に応じて演算処理を行って、音色、音高(ピッチ)、および音量の発音パラメータを生成し、DSP(デジタル信号プロセッサ)などで構成された音源回路に入力する。音源回路は、これらの発音パラメータに対応する波形データをメモリから読み出して楽音信号を発生し、D/A変換回路や出力回路などからなるサウンドシステムに送出して発音させる。
例えば、ある特許文献のエンベロープ制御装置およびエンベロープ制御方法においては、演奏パートを構成する各発音チャンネルの楽音を個別に音量制御および音色制御しながら、各演奏パート毎に音量制御および音色制御を行うために、演奏パートの楽音を制御するパートエンベロープ波形によって、その演奏パートを形成するボイスエンベロープ波形を修飾し、各発音チャンネル毎の修飾エンベロープ波形を発生させて、演奏情報に応じて生成される各発音チャンネル毎の波形データの音量および音色を、それぞれ対応する発音チャンネルの修飾エンベロープ波形に応じて制御する構成になっている。(特許文献1参照)
また、他の特許文献の電子楽器のキーオンディレイ効果付加装置においては、マイクロコントローラや音源LSIなどに負荷がかからないようにして、できるだけ多くの楽音発音チャンネル数を確保するとともに、波形メモリに必要な記憶容量も少なくするために、1つのキーオン情報に基づき、複数の発音発生チャンネルに対して、波形読出アドレスやエンベロープ係数を含む制御パラメータ(発音パラメータ)を同時に転送し、任意の楽音波形を波形記憶手段に記憶し、転送された複数の楽音発生チャンネルに割り振られた制御パラメータに基づき、波形記憶手段からの楽音波形データの読出を行うとともに、この波形データにエンベロープの付与を行って楽音信号を生成し、楽音発生チャンネル毎に生成された楽音信号に基づいて楽音を発生する構成になっている。(特許文献2参照)
特開2003−280654号公報 特開平11−305775号公報
上記特許文献1および特許文献2の構成は、発音チャンネルが少ない場合、例えば8チャンネルや16チャンネル程度の場合には有効であるが、近年の電子楽器などの楽音発生装置においては、32チャンネル、64チャンネル、128チャンネルのように、発音チャンネル数が次第に増加しているので、上記特許文献1および特許文献2のような演算処理によって楽音信号を生成すると、外部から入力される演奏情報や内部で発生する演奏情報を受信したときに、演算処理が間に合わず音切れなどの現象が発生するという課題があった。
本発明は、このような従来の課題を解決するためのものであり、外部から入力される演奏情報や内部で発生する演奏情報の情報量が多いときでも、音切れなどの現象を発生することなく高い音質で発音を行うことを目的とする。
請求項1に記載の楽音発生装置は、外部あるいは内部で発生した演奏情報を受信する受信手段(実施形態においては、図1のCPU1に相当する)と、演奏情報を構成する要素およびその要素に基づいて楽音信号の発生に用いられる発音パラメータを対応させて所定の記憶手段(実施形態においては、図1のRAM5に相当する)に記憶する記憶制御手段と、受信手段によって演奏情報が受信されたときは記憶手段を検索し、受信された演奏情報を構成する全ての要素を検出したとき又は一部の要素を検出したときは、当該検出した要素に対応する発音パラメータを記憶手段から読み出す検索手段(実施形態においては、図1のCPU1に相当する)と、受信された演奏情報を構成する一部の要素又は全ての要素に対応する発音パラメータが検索手段によって検出できない場合には、当該検出できない発音パラメータを演算によって生成する演算手段(実施形態においては、図1のCPU1に相当する)と、検索手段によって読み出された全ての要素に対応する発音パラメータ、又は、検索手段によって読み出された一部の要素に対応する発音パラメータおよび演算手段によって生成された残りの要素に対応する発音パラメータ、又は、演算手段によって生成された全ての要素に対応する発音パラメータを楽音信号の発生のために出力する出力手段(実施形態においては、図1のCPU1に相当する)と、を備えた構成になっている。
請求項1の楽音発生装置において、請求項2に記載したように、受信手段は、出力手段によって出力される発音パラメータである音色、音高、および音量のそれぞれに対応するチャンネル番号、キー番号、およびベロシティ値を要素とする演奏情報を受信するような構成にしてもよい。
請求項1の楽音発生装置において、請求項3に記載したように、記憶手段は、発音のチャンネル数に対応する複数のチャンネルエリアを有し、各チャンネルエリアは複数のキャッシュエリアをさらに有し、記憶制御手段は、各キャッシュエリアに音色、音高、および音量の発音パラメータを記憶するような構成にしてもよい。
請求項3の楽音発生装置において、請求項4に記載したように、各キャッシュエリアは、カウント値を記憶するカウントエリアをさらに有し、記憶制御手段は、検索手段によって演奏情報の要素に対応する発音パラメータがキャッシュエリアから読み出されるたびに当該キャッシュエリアにおけるカウントエリアのカウント値を増加するような構成にしてもよい。
請求項4の楽音発生装置において、請求項5に記載したように、記憶制御手段は、受信手段によって受信された演奏情報の要素の中で記憶手段のキャッシュエリアに記憶されている発音パラメータに対応する要素数が多いほどそのキャッシュエリアにおけるカウントエリアのカウント値の増加率を大きくするような構成にしてもよい。
請求項1の楽音発生装置において、請求項6に記載したように、各キャッシュエリアは、出力手段によって出力された発音パラメータの履歴情報を記憶するヒストリエリアをさらに有し、記憶制御手段は、最も古い履歴情報が記憶されているヒストリエリアを有するキャッシュエリアに出力手段によって出力された発音パラメータを記憶するような構成にしてもよい。
請求項7に記載の楽音発生処理のプログラムは、外部あるいは内部で発生した演奏情報を受信するステップAと、演奏情報を構成する要素およびその要素に基づいて楽音信号の発生に用いられる発音パラメータを対応させて所定の記憶手段(実施形態においては、図1のRAM5に相当する)に記憶するステップBと、ステップAによって演奏情報が受信されたときは記憶手段を検索し、受信された演奏情報を構成する全ての要素を検出したとき又は一部の要素を検出したときは、当該検出した要素に対応する発音パラメータを記憶手段から読み出すステップCと、受信された演奏情報を構成する一部の要素又は全ての要素に対応する発音パラメータがステップCによって検出できない場合には、当該検出できない発音パラメータを演算によって生成するステップDと、ステップCによって読み出された全ての要素に対応する発音パラメータ、又は、ステップCによって読み出された一部の要素に対応する発音パラメータおよびステップDによって生成された残りの要素に対応する発音パラメータ、又は、ステップDによって生成された全ての要素に対応する発音パラメータを楽音信号の発生のために出力するステップEと、をコンピュータに実行させる。
請求項7の楽音発生処理のプログラムにおいて、請求項8に記載したように、ステップAは、ステップEによって出力される発音パラメータである音色、音高、および音量のそれぞれに対応するチャンネル番号、キー番号、およびベロシティ値を要素とする演奏情報を受信するような構成にしてもよい。
請求項7の楽音発生処理のプログラムにおいて、請求項9に記載したように、記憶手段は、発音のチャンネル数に対応する複数のチャンネルエリアを有し、各チャンネルエリアは複数のキャッシュエリアをさらに有し、ステップBは、各キャッシュエリアに音色、音高、および音量の発音パラメータを記憶するような構成にしてもよい。
請求項9の楽音発生処理のプログラムにおいて、請求項10に記載したように、各キャッシュエリアは、カウント値を記憶するカウントエリアをさらに有し、ステップDは、ステップCによって演奏情報に対応する発音パラメータが読み出されるたびに当該キャッシュエリアにおけるカウントエリアのカウント値を増加するような構成にしてもよい。
請求項10の楽音発生処理のプログラムにおいて、請求項11に記載したように、ステップBは、ステップAによって受信された演奏情報の中で記憶手段のキャッシュエリアに記憶されている発音パラメータに対応する要素数が多いほどそのキャッシュエリアにおけるカウントエリアのカウント値の増加率を大きくするような構成にしてもよい。
請求項7の楽音発生処理のプログラムにおいて、請求項12に記載したように、各キャッシュエリアは、ステップEによって出力された発音パラメータの履歴情報を記憶するヒストリエリアをさらに有し、ステップBは、最も古い履歴情報が記憶されているヒストリエリアを有するキャッシュエリアにステップEによって出力された発音パラメータを記憶するような構成にしてもよい。
本発明の楽音発生装置および楽音発生処理のプログラムによれば、外部から入力される演奏情報や内部で発生する演奏情報の情報量が多いときでも、音切れなどの現象を発生することなく高い音質で発音を行うことができるという効果が得られる。
以下、本発明による楽音発生装置の実施形態について図1ないし図7を参照して説明する。
図1は、実施形態における楽音発生装置の構成を示すブロック図である。図1において、CPU1は、システムバスおよび入出力ポートに接続されている各部との間で指令およびデータの授受を行って、この装置に接続されている電子楽器2から入力される演奏情報に応じて楽音を発生する。電子楽器2は、例えば、キーボードやシーケンサで構成され、外部のMIDI機器からキーボードに入力されるMIDIデータ、シーケンサの内部で発生されるMIDIデータを演奏情報として楽音発生装置に出力する。
CPU1のシステムバスには、キースキャナ3、ROM4、RAM5が接続されている。キースキャナ3は、電子楽器2の演奏による演奏情報又は電子楽器2から出力されるMIDIデータの演奏情報をシステムバスに取り込んでCPU1に入力する。演奏情報は、一般にチャンネル番号、キー番号、ベロシティ値、エフェクト値などで構成されているが、この実施形態においては、チャンネル番号、キー番号、およびベロシティ値を演奏情報の要素とする。ROM4は、CPU1によって実行される楽音発生処理のプログラムおよび初期データをあらかじめ格納している。RAM5は、CPU1のワークエリアであり、後述するように、各種のレジスタを有する。
CPU1の入出力ポートには音源LSI6が接続されている。音源LSI6は、CPU1から出力される発音指示および演奏情報に応じて、発音パラメータを生成するための演算処理を行い、波形ROM7から波形データを読み出して楽音信号を発生する。また、音源LSI6は、複数(n個)の発音チャンネルを備えており、ポリフォニックの楽音信号を発生することができる。D/A変換回路8は、音源LSI6で発生された楽音信号をデジタルからアナログに変換して出力回路9に供給する。出力回路9は、フィルタ回路や増幅回路などを有するサウンドシステムであり、D/A変換回路8から供給される楽音信号に対してフィルタ処理や増幅処理を施してスピーカから発音させる。
図2は、図1の音源LSI6のn個の発音チャンネルの構成を示す図である。各発音チャンネルは、入力される波形データに対してフィルタ処理を行うフィルタ11、入力されるフィルタ周波数およびフィルタエンベロープレートに応じてフィルタ11のエンベロープを制御するエンベロープジェネレータ12、フィルタ11から出力される波形データに対して増幅処理を行うアンプ13、入力される音量レベルおよび音量エンベロープレートに応じてアンプ13のエンベロープを制御するエンベロープジェネレータ14で構成されている。合成回路15は、n個の発音チャンネルのアンプ13から出力される各楽音信号を合成して、図1のD/A変換回路8に出力する。
図3は、図1のRAM5のレジスタに一時的に記憶されるデータの構成を示す図である。まず、RAM5に記憶される発音パラメータのレジスタであるRxChannel 、RxKey 、RxVelocity 、Adrs 、FilterFreq 、FilterEnvRate 、AmpLvl 、AmpEnvRate 、Pitch 、HistoryCounter 、HitCounter について説明する。
RxChannel 、RxKey 、およびRxVelocityはそれぞれ、電子楽器2が受信する演奏情報の要素であるチャンネル番号、キー番号、およびベロシティ値のMIDIデータをセットするレジスタである。Adrsは、チャンネル番号およびキー番号によって決定する波形ROM7のアドレスをセットするレジスタである。Pitchは、チャンネル番号およびキー番号によって決定される音高をセットするレジスタである。チャンネル番号毎に音色が割り当てられ、さらに、キー番号によっても異なる波形データが割り当てられている。したがって、チャンネル番号およびキー番号によって波形データの読出開始アドレスが決定する。FilterFreq は、チャンネル番号、キー番号、およびベロシティ値によって決定するフィルタ周波数をセットするレジスタである。チャンネル毎に基本的なフィルタ周波数が設定されているが、これをベースにキースケーリングが行われ、さらにベロシティ値によってもフィルタ周波数が変動するので、これら3つの要素によって最終的なフィルタ周波数が決定する。FilterEnvRateは、チャンネル番号によって決定されるフィルタの開始エンベロープレートをセットするレジスタである。FilterFreqおよびFilterEnvRateは、音源LSI6のエンベロープジェネレータ12に入力される。AmpLvl は、チャンネル番号およびベロシティ値によって決定される音量レベルをセットするレジスタである。チャンネル番号に応じた基本的な音量レベルにベロシティ値を乗算して最終的な音量レベルが決定する。AmpEnvRateは、チャンネル番号によって決定されるアンプの開始エンベロープレートをセットするレジスタである。AmpLvlおよびAmpEnvRateは、音源LSI6のエンベロープジェネレータ14に入力される。
図4は、発音パラメータのレジスタと演奏情報の要素であるチャンネル番号、キー番号、およびベロシティ値との相関性を示す図である。すなわち、上記したように、波形アドレスAdrs は、チャンネル番号およびキー番号に依存する。フィルタ周波数FilterFreq は、チャンネル番号、キー番号、およびベロシティ値に依存する。フィルタエンベロープレートFilterEnvRate は、チャンネル番号のみに依存する。音量レベルAmpLvl は、チャンネル番号およびベロシティ値に依存する。音量エンベロープレートAmpEnvRate は、チャンネル番号のみに依存する。ピッチPitch は、チャンネル番号およびキー番号に依存する。
また、図3において、RAM5には、n個の発音チャンネルバッファに対応して、チャンネル(1)キャッシュ配列、チャンネル(2)キャッシュ配列、……チャンネル(n)キャッシュ配列からなるn個のチャンネルエリアが設けられている。さらに、各チャンネル( )キャッシュ配列には、キャッシュ(1)、キャッシュ(2)、……キャッシュ(m)からなる複数のキャッシュエリア、およびチャンネルのHistoryCounterが設けられている。各キャッシュ( )には、複数のレジスタが設けられている。図3に示すように、これらのレジスタには、HitCounter、HistoryCounter、チャンネル番号、キー番号、ベロシティ値、波形アドレス、フィルタ周波数、フィルタエンベロープレート、音量レベル、音量エンベロープレート、ピッチからなる演奏情報の要素および発音パラメータが記憶される。HitCounterは、自身のキャッシュからデータが読み出されるたびにカウント値が増加されるカウンタである。HistoryCounterは、自身のキャッシュからデータが読み出されるたびに日時の履歴情報が更新されるカウンタである。
次に、図1の楽音発生装置の動作について、図5ないし図7のフローチャートに基づいて説明する。
図5は、CPU1のメインルーチンのフローチャートである。所定のイニシャライズ(ステップSA1)の後、以下のループ処理を行う。電子楽器2からMIDI INすなわち演奏情報の入力があるか否かを判別し(ステップSA2)、演奏情報の入力があったときは、その演奏情報がノートオンであるか否かを判別する(ステップSA3)。ノートオンの場合にはノートオン処理を実行する(ステップSA4)。その演奏情報がノートオンでない場合には、ノートオフであるか否かを判別し(ステップSA5)、ノートオフである場合にはノートオフ処理を実行する(ステップSA6)。その演奏情報がノートオフでない場合、例えば、音色変更などのその他の制御情報である場合には、その他の処理を実行する(ステップSA7)。ステップSA4、ステップSA6、又はステップSA7の処理の後は、ステップSA2に移行して、上記ループ処理を繰り返す。
図6および図7は、図5のステップSA4のノートオン処理のフローチャートである。図6において、キースキャナ3を介して電子楽器2から受信したチャンネル番号をRxChannelにストアし(ステップSB1)、受信したキー番号をRxKey にストアし(ステップSB2)、受信したベロシティ値をRxVelocity にストアする(ステップSB3)。次に、RxChannelが示すチャンネル番号のキャッシュ配列の中から、RxKey のキー番号およびRxVelocityのベロシティ値に一致するものを検索し(ステップSB4)、RxKey のキー番号とキャッシュのキー番号とが一致するか否かを判別する(ステップSB5)。
両方のキー番号が一致したときは、キャッシュのHitCounterを1だけインクリメントする(ステップSB6)。さらに、RxVelocityのベロシティ値とキャッシュのベロシティ値とが一致するか否かを判別する(ステップSB7)。両方のベロシティ値が一致したときは、キャッシュのHitCounterをさらに1だけインクリメントする(ステップSB8)。すなわち、一致する要素が多いほどHitCounterのカウント値を増加する。次に、キャッシュの全ての発音パラメータである波形アドレス、フィルタ周波数、フィルタエンベロープレート、音量レベル、音量エンベロープレート、およびピッチの値を、対応するレジスタAdrs 、FilterFreq 、FilterEnvRate 、AmpLvl 、AmpEnvRate 、およびPitchにセットする(ステップSB9)。そして、セットしたレジスタの発音パラメータの値を音源LSI6に供給して発音を指示する(ステップSB10)。この後は、メインルーチンに戻る。
ステップSB7において、RxVelocityのベロシティ値とキャッシュのベロシティ値とが一致しない場合には、キャッシュの発音パラメータのうち、波形アドレス、フィルタエンベロープレート、音量エンベロープレート、およびピッチを、Adrs 、FilterEnvRate 、AmpEnvRate 、およびPitchにセットする(ステップSB11)。次に、RxVelocityのベロシティ値によりフィルタ周波数および音量レベルを演算し、その演算した値をFilterFreq およびAmpLvl にセットする(ステップSB12)。そして、セットしたレジスタの発音パラメータおよびキャッシュから読み出した発音パラメータの値を音源LSI6に供給して発音を指示する(ステップSB10)。この後は、メインルーチンに戻る。
ステップSB5において、RxKey のキー番号とキャッシュのキー番号とが一致しない場合には、図7のフローチャートにおいて、パラメータ演算で求めた値をAdrs 、FilterFreq 、FilterEnvRate 、AmpLvl 、AmpEnvRate 、およびPitchにセットする(ステップSB13)。次に、RxChannelのチャンネル番号のキャッシュ配列の中からHitCounterが最小のものをさがす(ステップSB14)。すなわち、受信した演奏情報の発音パラメータとして最も利用頻度が低いキャッシュをさがす。そして、HitCounterが最小のものがひとつであるか又は複数であるかを判別する(ステップSB15)。HitCounterが最小のキャッシュが複数の場合には、それら複数のキャッシュの中でHistoryCounterが最小のものを選択する(ステップSB16)。すなわち、複数のキャッシュの中でHistoryCounterの履歴情報が最も古い履歴のものを選択する。HitCounterが最小のキャッシュがひとつの場合、又は、ひとつのキャッシュを選択した場合には、各レジスタにセットした発音パラメータと、RxChannel 、RxKey 、およびRxVelocityの値をそのキャッシュに上書きする(ステップSB17)。この後、キャッシュのHistoryCounterにチャンネルのHistoryCounterの値をストアし(ステップSB18)、チャンネルのHistoryCounterの値を1だけインクリメントする(ステップSB19)。そして、キャッシュのHistoryCounterを0にリセットして(ステップSB20)、図6のステップSB10に移行して、セットしたレジスタの発音パラメータの値を音源LSI6に供給して発音を指示する。この後は、メインルーチンに戻る。
以上のように、この実施形態によれば、CPU1は、外部あるいは内部で発生した演奏情報を受信し、演奏情報を構成する要素およびその要素に基づいて楽音信号の発生に用いられる発音パラメータを対応させてRAM4に記憶する。演奏情報を受信したときは、RAM4を検索し、受信した演奏情報を構成する全ての要素を検出したとき又は一部の要素を検出したときは、その検出した要素に対応する発音パラメータをRAM4から読み出し、受信した演奏情報を構成する一部の要素又は全ての要素に対応する発音パラメータが検出できない場合には、その検出できない発音パラメータを演算によって生成する。そして、読み出した全ての要素に対応する発音パラメータ、又は、読み出した一部の要素に対応する発音パラメータおよび生成した残りの要素に対応する発音パラメータ、又は、生成した全ての要素に対応する発音パラメータを楽音信号の発生のために音源LSI6に出力する。
したがって、外部から入力される演奏情報や内部で発生する演奏情報の情報量が多いときでも、音切れなどの現象を発生することなく高い音質で発音を行うことができる。
また、CPU1は、音源LSI6によって発生される発音信号の発音パラメータである音色、音高、および音量のそれぞれに対応するチャンネル番号、キー番号、およびベロシティ値を要素とする演奏情報を受信して、各要素に対応する発音パラメータと同じものがRAM5にあるかどうかを検索する。
したがって、受信した演奏情報の全ての要素に対応する発音パラメータだけでなく、一部の発音パラメータと同じものがRAM5にある場合でも、その発音パラメータを再利用することで、発音パラメータを生成する演算処理を低減することが可能になる。
また、RAM5は、発音のチャンネル数に対応する複数のチャンネルエリアを有し、各チャンネルエリアは複数のキャッシュエリアをさらに有し、CPU1は、各キャッシュエリアに音色、音高、および音量の発音パラメータを記憶する。
したがって、同じ音色の演奏情報について、異なる音高および異なる音量に対応する豊富な発音パラメータを再利用するために記憶できるので、発音パラメータを生成する演算処理を低減することが可能になる。
また、各キャッシュエリアは、カウント値を記憶するカウントエリアをさらに有し、CPU1は、演奏情報の要素に対応する発音パラメータをキャッシュエリアから読み出すたびに、そのキャッシュエリアにおけるカウントエリアのカウント値を増加する。
したがって、RAM5に記憶された発音パラメータの利用頻度を把握できるので、キャッシュエリアに新たに発音パラメータを上書きする場合に、利用頻度が最も低いキャッシュエリアを容易に選択できる。
CPUは、受信した演奏情報の要素の中で、RAM5のキャッシュエリアに記憶されている発音パラメータに対応する要素数が多いほど、そのキャッシュエリアにおけるカウントエリアのカウント値の増加率を大きくする。
したがって、再利用する発音パラメータの要素数に応じて利用頻度に重み付けをすることで、キャッシュエリアに新たに発音パラメータを上書きする場合に、重み付けした利用頻度が最も低いキャッシュエリアを容易に選択できる。
各キャッシュエリアは、音源LSI6によって発生された楽音信号の発音パラメータの履歴情報を記憶するヒストリエリアをさらに有し、CPU1は、最も古い履歴情報が記憶されているヒストリエリアを有するキャッシュエリアに音源LSI6によって発生された楽音信号の発音パラメータを記憶する。
したがって、キャッシュエリアに新たに発音パラメータを上書きする場合に、再利用した時が最も古いキャッシュエリアを容易に選択できる。
なお、上記実施形態においては、図1のROM4にあらかじめ格納されている楽音発生処理のプログラムをCPU1が実行する装置の発明、すなわち物の発明について説明したが、FD(フレキシブルディスク)、CD−ROM、DVD、メモリカードなどの外部記憶媒体からフラッシュメモリなどの不揮発性メモリにインストールした楽音発生処理のプログラム、又は、インターネットなどのネットワークからダウンロードして不揮発性メモリにインストールした楽音発生処理のプログラムをCPUが実行する構成も可能である。この場合には、楽音発生処理のプログラムの発明、そのプログラムを記憶した記憶媒体の発明、および、そのプログラムを実行する楽音発生処理方法の発明を構成する。
すなわち、本発明の楽音発生処理のプログラムは、
外部あるいは内部で発生した演奏情報を受信するステップAと、演奏情報を構成する要素およびその要素に基づいて楽音信号の発生に用いられる発音パラメータを対応させて所定の記憶手段に記憶するステップBと、前記ステップAによって演奏情報が受信されたときは前記記憶手段を検索し、受信された演奏情報を構成する全ての要素を検出したとき又は一部の要素を検出したときは、当該検出した要素に対応する発音パラメータを前記記憶手段から読み出すステップCと、受信された演奏情報を構成する一部の要素又は全ての要素に対応する発音パラメータが前記ステップCによって検出できない場合には、当該検出できない発音パラメータを演算によって生成するステップDと、前記ステップCによって読み出された全ての要素に対応する発音パラメータ、又は、前記ステップCによって読み出された一部の要素に対応する発音パラメータおよび前記ステップDによって生成された残りの要素に対応する発音パラメータ、又は、前記ステップDによって生成された全ての要素に対応する発音パラメータを楽音信号の発生のために出力するステップEと、をコンピュータに実行させる。
前記ステップAは、前記ステップEによって出力される発音パラメータである音色、音高、および音量のそれぞれに対応するチャンネル番号、キー番号、およびベロシティ値を要素とする演奏情報を受信することを特徴とする。
前記記憶手段は、発音のチャンネル数に対応する複数のチャンネルエリアを有し、各チャンネルエリアは複数のキャッシュエリアをさらに有し、前記ステップBは、各キャッシュエリアに音色、音高、および音量の発音パラメータを記憶することを特徴とする。
前記各キャッシュエリアは、カウント値を記憶するカウントエリアをさらに有し、前記ステップDは、前記ステップCによって演奏情報に対応する発音パラメータが読み出されるたびに当該キャッシュエリアにおけるカウントエリアのカウント値を増加することを特徴とする。
前記ステップBは、前記ステップAによって受信された演奏情報の中で前記記憶手段のキャッシュエリアに記憶されている発音パラメータに対応する要素数が多いほどそのキャッシュエリアにおけるカウントエリアのカウント値の増加率を大きくすることを特徴とする。
前記各キャッシュエリアは、前記ステップEによって出力された発音パラメータの履歴情報を記憶するヒストリエリアをさらに有し、前記ステップBは、最も古い履歴情報が記憶されているヒストリエリアを有するキャッシュエリアに前記ステップEによって出力された発音パラメータを記憶することを特徴とする。
本発明の実施形態における楽音発生装置の構成を示すブロック図。 図1の音源LSIのn個の発音チャンネルの構成を示す図。 図1のRAMのレジスタの構成を示す図。 演奏情報の要素と発音パラメータとの相関性を示す図。 図1のCPUのメインルーチンのフローチャート。 図5におけるノートオン処理のフローチャート。 図6に続くノートオン処理のフローチャート。
符号の説明
1 CPU
2 電子楽器
3 キースキャナ
4 ROM
5 RAM
6 音源LSI
7 波形ROM
8 D/A変換回路
9 出力回路
11 フィルタ
12 エンベロープジェネレータ
13 アンプ
14 エンベロープジェネレータ
15 合成回路

Claims (12)

  1. 外部あるいは内部で発生した演奏情報を受信する受信手段と、
    演奏情報を構成する要素およびその要素に基づいて楽音信号の発生に用いられる発音パラメータを対応させて所定の記憶手段に記憶する記憶制御手段と、
    前記受信手段によって演奏情報が受信されたときは前記記憶手段を検索し、受信された演奏情報を構成する全ての要素を検出したとき又は一部の要素を検出したときは、当該検出した要素に対応する発音パラメータを前記記憶手段から読み出す検索手段と、
    受信された演奏情報を構成する一部の要素又は全ての要素に対応する発音パラメータが前記検索手段によって検出できない場合には、当該検出できない発音パラメータを演算によって生成する演算手段と、
    前記検索手段によって読み出された全ての要素に対応する発音パラメータ、又は、前記検索手段によって読み出された一部の要素に対応する発音パラメータおよび前記演算手段によって生成された残りの要素に対応する発音パラメータ、又は、前記演算手段によって生成された全ての要素に対応する発音パラメータを楽音信号の発生のために出力する出力手段と、
    を備えた楽音発生装置。
  2. 前記受信手段は、前記出力手段によって出力される発音パラメータである音色、音高、および音量のそれぞれに対応するチャンネル番号、キー番号、およびベロシティ値を要素とする演奏情報を受信することを特徴とする請求項1に記載の楽音発生装置。
  3. 前記記憶手段は、発音のチャンネル数に対応する複数のチャンネルエリアを有し、各チャンネルエリアは複数のキャッシュエリアをさらに有し、前記記憶制御手段は、各キャッシュエリアに音色、音高、および音量の発音パラメータを記憶することを特徴とする請求項1に記載の楽音発生装置。
  4. 前記各キャッシュエリアは、カウント値を記憶するカウントエリアをさらに有し、前記記憶制御手段は、前記検索手段によって演奏情報の要素に対応する発音パラメータがキャッシュエリアから読み出されるたびに当該キャッシュエリアにおけるカウントエリアのカウント値を増加することを特徴とする請求項3に記載の楽音発生装置。
  5. 前記記憶制御手段は、前記受信手段によって受信された演奏情報の要素の中で前記記憶手段のキャッシュエリアに記憶されている発音パラメータに対応する要素数が多いほどそのキャッシュエリアにおけるカウントエリアのカウント値の増加率を大きくすることを特徴とする請求項4に記載の楽音発生装置。
  6. 前記各キャッシュエリアは、前記出力手段によって出力された発音パラメータの履歴情報を記憶するヒストリエリアをさらに有し、前記記憶制御手段は、最も古い履歴情報が記憶されているヒストリエリアを有するキャッシュエリアに前記出力手段によって出力された発音パラメータを記憶することを特徴とする請求項1に記載の楽音発生装置。
  7. 外部あるいは内部で発生した演奏情報を受信するステップAと、
    演奏情報を構成する要素およびその要素に基づいて楽音信号の発生に用いられる発音パラメータを対応させて所定の記憶手段に記憶するステップBと、
    前記ステップAによって演奏情報が受信されたときは前記記憶手段を検索し、受信された演奏情報を構成する全ての要素を検出したとき又は一部の要素を検出したときは、当該検出した要素に対応する発音パラメータを前記記憶手段から読み出すステップCと、
    受信された演奏情報を構成する一部の要素又は全ての要素に対応する発音パラメータが前記ステップCによって検出できない場合には、当該検出できない発音パラメータを演算によって生成するステップDと、
    前記ステップCによって読み出された全ての要素に対応する発音パラメータ、又は、前記ステップCによって読み出された一部の要素に対応する発音パラメータおよび前記ステップDによって生成された残りの要素に対応する発音パラメータ、又は、前記ステップDによって生成された全ての要素に対応する発音パラメータを楽音信号の発生のために出力するステップEと、
    をコンピュータに実行させる楽音発生処理のプログラム。
  8. 前記ステップAは、前記ステップEによって出力される発音パラメータである音色、音高、および音量のそれぞれに対応するチャンネル番号、キー番号、およびベロシティ値を要素とする演奏情報を受信することを特徴とする請求項7に記載の楽音発生処理のプログラム。
  9. 前記記憶手段は、発音のチャンネル数に対応する複数のチャンネルエリアを有し、各チャンネルエリアは複数のキャッシュエリアをさらに有し、前記ステップBは、各キャッシュエリアに音色、音高、および音量の発音パラメータを記憶することを特徴とする請求項7に記載の楽音発生処理のプログラム。
  10. 前記各キャッシュエリアは、カウント値を記憶するカウントエリアをさらに有し、前記ステップDは、前記ステップCによって演奏情報に対応する発音パラメータが読み出されるたびに当該キャッシュエリアにおけるカウントエリアのカウント値を増加することを特徴とする請求項9に記載の楽音発生処理のプログラム。
  11. 前記ステップBは、前記ステップAによって受信された演奏情報の中で前記記憶手段のキャッシュエリアに記憶されている発音パラメータに対応する要素数が多いほどそのキャッシュエリアにおけるカウントエリアのカウント値の増加率を大きくすることを特徴とする請求項10に記載の楽音発生処理のプログラム。
  12. 前記各キャッシュエリアは、前記ステップEによって出力された発音パラメータの履歴情報を記憶するヒストリエリアをさらに有し、前記ステップBは、最も古い履歴情報が記憶されているヒストリエリアを有するキャッシュエリアに前記ステップEによって出力された発音パラメータを記憶することを特徴とする請求項7に記載の楽音発生処理のプログラム。
JP2005158616A 2005-05-31 2005-05-31 楽音発生装置および楽音発生処理のプログラム Pending JP2006337438A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005158616A JP2006337438A (ja) 2005-05-31 2005-05-31 楽音発生装置および楽音発生処理のプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005158616A JP2006337438A (ja) 2005-05-31 2005-05-31 楽音発生装置および楽音発生処理のプログラム

Publications (1)

Publication Number Publication Date
JP2006337438A true JP2006337438A (ja) 2006-12-14

Family

ID=37558088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005158616A Pending JP2006337438A (ja) 2005-05-31 2005-05-31 楽音発生装置および楽音発生処理のプログラム

Country Status (1)

Country Link
JP (1) JP2006337438A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018159870A (ja) * 2017-03-23 2018-10-11 カシオ計算機株式会社 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
JP2018159871A (ja) * 2017-03-23 2018-10-11 カシオ計算機株式会社 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018159870A (ja) * 2017-03-23 2018-10-11 カシオ計算機株式会社 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
JP2018159871A (ja) * 2017-03-23 2018-10-11 カシオ計算機株式会社 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器

Similar Documents

Publication Publication Date Title
JP2006337438A (ja) 楽音発生装置および楽音発生処理のプログラム
JP2705395B2 (ja) 電子楽器
JP5532446B2 (ja) 楽音発生装置およびプログラム
JP3518716B2 (ja) 楽音合成装置
JP3230265B2 (ja) 電子楽器の発音チャンネル割当装置
JP4353225B2 (ja) 楽音形成装置
JP4238807B2 (ja) 音源用波形データの決定装置
JP7332002B2 (ja) 電子楽器、方法及びプログラム
JP3632797B2 (ja) 電子楽器
WO2020171035A1 (ja) 音信号合成方法、生成モデルの訓練方法、音信号合成システムおよびプログラム
JP2727089B2 (ja) 電子楽器の音源装置
JP2018159734A (ja) 音色制御装置、音色制御方法、プログラムおよび電子楽器
JP2760301B2 (ja) 電子楽器
JP4692056B2 (ja) 音波形生成装置、及び、音波形の波形生成データのデータ構造
JP2007193151A (ja) 楽音制御装置および楽音制御処理のプログラム
JP5246473B2 (ja) 楽音発生装置および楽音発生処理プログラム
JP4576565B2 (ja) 演奏装置および演奏処理のプログラム
JP5548975B2 (ja) 演奏データ生成装置およびプログラム
JP3684078B2 (ja) 楽音波形データ記憶装置、楽音波形データ記憶方法、楽音波形データ再生装置及び楽音波形データ再生方法
JPH041698A (ja) 電子楽器の楽音波形記憶方法、及び電子楽器の波形読出し装置
JP2006133342A (ja) 楽音制御装置および楽音制御処理のプログラム
JP2006098859A (ja) 楽音発生装置および楽音発生処理のプログラム
JPH0944157A (ja) 信号処理装置
JPS6353596A (ja) 電子楽器の音源加工方法
JP2002006851A (ja) 音源装置および楽音生成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080501

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080515

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090602

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090731

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090825