JPH0950279A - 音源装置及び楽音生成方法 - Google Patents

音源装置及び楽音生成方法

Info

Publication number
JPH0950279A
JPH0950279A JP7221049A JP22104995A JPH0950279A JP H0950279 A JPH0950279 A JP H0950279A JP 7221049 A JP7221049 A JP 7221049A JP 22104995 A JP22104995 A JP 22104995A JP H0950279 A JPH0950279 A JP H0950279A
Authority
JP
Japan
Prior art keywords
processing
musical
clock
section
frequency
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
Application number
JP7221049A
Other languages
English (en)
Other versions
JP3740717B2 (ja
Inventor
Hideo Suzuki
秀雄 鈴木
Genichi Tamura
元一 田邑
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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP22104995A priority Critical patent/JP3740717B2/ja
Publication of JPH0950279A publication Critical patent/JPH0950279A/ja
Application granted granted Critical
Publication of JP3740717B2 publication Critical patent/JP3740717B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【課題】 消費電力を節減することにより、乾電池を電
源とする電子楽器の長時間の演奏を可能にする音源装置
の提供。 【解決手段】 演奏情報が入力されると、周波数を制御
可能なクロック信号供給手段から供給されるクロック信
号を、この演奏情報に応じてクロック制御手段が制御す
る。楽音生成手段は、この制御されたクロック信号を基
本クロックとして、上記演奏情報に基づく楽音生成処理
を実行する。基本クロックの周波数が低くなれば、消費
電力が節減されるので、長時間の演奏が可能になる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、楽音信号を生成
する技術分野に属し、特に、消費電力を節減するパワー
マネージメント機構を具えたものに関する。
【0002】
【従来の技術】今日の電子楽器には、楽音信号を生成す
る処理(例えばPCM(パルス符号変調)方式による処
理やFM(周波数変調)方式による処理等)を実行する
専用のLSI回路である音源LSIが、広く採用されて
いる。こうした音源LSIには、消費電力を制御する手
段は備えられておらず、したがって、消費電力は常に一
定であった。
【0003】
【発明が解決しようとする課題】電子楽器には、例えば
ポータブルキーボード等のように、携帯を可能にするた
めに電源として乾電池を使用するものも少なくない。こ
うした電子楽器では、消費電力を極力節減することが、
長時間の演奏を可能にするために重要な課題である。し
かし、従来の音源LSIでは、消費電力が一定であるた
め、非発音時に音源LSI自体をオフにするくらいし
か、節電のための手段が存在しなかった。この発明は上
述の点に鑑みてなされたもので、消費電力を節減するこ
とにより、特に乾電池を電源とする電子楽器の長時間の
演奏を可能にする音源装置及び楽音生成方法を提供しよ
うとするものである。
【0004】
【課題を解決するための手段】この発明に係る音源装置
は、供給するクロック信号の周波数を制御可能なクロッ
ク信号供給手段と、入力した演奏情報に応じて前記クロ
ック信号の周波数を制御するクロック制御手段と、前記
クロック制御手段によって制御された前記クロック信号
を基本クロックとして、前記演奏情報に基づいて楽音信
号の生成処理を実行する楽音生成手段とを具えたことを
特徴としている。
【0005】演奏情報を入力すると、その演奏情報に応
じて、クロック制御手段が、クロック信号供給手段から
供給されるクロック信号の周波数を制御する。楽音生成
手段は、この制御されたクロック信号を基本クロックと
して、演奏情報に基づく楽音生成処理を実行する。
【0006】この発明に係る楽音生成方法は、演奏情報
を入力する第1のステップと、前記演奏情報に応じて、
楽音信号を生成する際の基本クロックの周波数を制御す
る第2のステップと、前記第2のステップで制御した基
本クロックで、前記演奏情報に基づく楽音信号の生成処
理を実行する第3のステップとから成ることを特徴とし
ている。
【0007】このように、入力した演奏情報に応じて基
本クロックが制御されるが、基本クロックの周波数が低
くなれば、処理速度は低下する反面、消費電力が少なく
なる。したがって、音源装置の消費電力が節減される。
【0008】尚、具体的には、入力した演奏情報に基づ
いて、同時に生成すべき楽音数を求め、該楽音数に応じ
て基本クロックを制御する(楽音数が多いときは周波数
を高くし、楽音数が少ないときは周波数を低くする)よ
うにするか、または、入力した演奏情報に基づいて、実
行すべき生成処理の演算量を算出し、該演算量に応じて
基本クロックを制御する(演算量が多いときは周波数を
高くし、演算量が少ないときは周波数を低くする)よう
にすることが好適である。
【0009】
【発明の実施の形態】以下、添付図面を参照してこの発
明の実施の形態を詳細に説明する。以下の説明では、ハ
ードウェアとしての音源LSIに替えて、楽音信号の生
成処理を記述したコンピュータプログラムをCPU(セ
ントラルプロセッシングユニット)に実行させることに
よって楽音信号を生成するようにしたものにこの発明を
適用している。このような音源装置や楽音生成方法のこ
とを、ここではCPU音源あるいはソフト音源と呼ぶこ
とにする。
【0010】図1は、この発明を適用したソフト音源を
搭載した電子楽器の全体構成ブロック図である。この電
子楽器は、演奏者の演奏に応じたMIDI(Music
alInstrument Digital Inte
rface)楽器からの演奏情報に基づき、同時に生成
すべき楽音数に応じた発音チャンネル数での楽音信号生
成処理(及び生成した楽音信号に効果を付与するエフェ
クト処理)をパーソナルコンピュータのCPUに実行さ
せるコンピュータミュージックシステムである。
【0011】CPU1には、MIDI楽器の接続される
MIDIのインターフェース2,ROM(リードオンリ
ーメモリ)3,RAM(ランダムアクセスメモリ)4,
タイマ5,クロックコントロールレジスタ6,キーボー
ド7,ディスプレイ8,ハードディスク装置9,及びD
MA(ダイレクトメモリアクセス)回路10が、データ
及びアドレスバス11を介して接続されている。また、
このパーソナルコンピュータはポータブル式であり、電
源である乾電池12から各ブロックに電力が供給されて
いる。
【0012】ハードディスク装置9には、演奏情報に応
じて加工すべき音色データ(例えば、PCM方式で記録
した波形データ等)が記録されている。RAM4には、
生成されて効果を付与された楽音信号を一時的に記憶さ
せるための記憶領域等が設けられている。
【0013】DMA回路10は、RAM4に一時記憶さ
れた楽音信号を、D/A(ディジタル/アナログ)変換
器13の再生サンプリング周波数に合わせてダイレクト
メモリアクセス方式で1サンプルずつ順次RAM4から
読み出してD/A変換器13に送る再生処理を実行する
ものである。D/A変換器13の再生サンプリング周波
数は、上記基本クロックとは別の、周波数を固定したク
ロック信号に同期している(以下では、この再生サンプ
リング周波数を48kHzであるとする)。DMA回路
10は、一例として、128サンプルの楽音信号を単位
としてこの再生処理を実行する。DMA回路10は、各
単位の楽音信号に対する再生処理を開始する毎に、所定
のフラグを立てるようになっている。D/A変換器13
でアナログ信号に変換された楽音信号は、サウンドシス
テム14に供給されて音響的に発音される。
【0014】クロックコントロールレジスタ6には、C
PU1が幾通りかの値のデータを書き込むことができ
る。図示しない水晶発振器から発生した一定周波数の信
号を分周する分周器(図示せず)は、このレジスタ6に
書き込まれたデータの値に応じて、60MHz,30M
Hzまたは15MHzのうちのいずれかの周波数のクロ
ック信号を基本クロックとして各ブロックに供給する
か、あるいはクロック信号を各ブロックに供給しない状
態(スリープモードと呼ぶ)になる。すなわち、CPU
1をはじめとする各ブロックの基本クロックは、60M
Hz,30MHz,15MHzまたはスリープモードの
4通りに制御可能であり、CPU1によってそのいずれ
かの周波数に制御される。尚、スリープモード中に演奏
者が新たにMIDI楽器2のパネルスイッチ等を操作し
た場合にも、スリープモードが解除されてクロック信号
の周波数が15MHzに設定されるようになっている。
【0015】図2は、基本クロックの周波数と、CPU
1の消費電力との関係の一例を示したものである。この
例では、周波数が低くなると、それにほぼ比例して消費
電力も小さくなっている。また、スリープモードでは、
消費電力が著しく小さくなっている。
【0016】図3は、ソフト音源の基本原理を示した図
である。CPU1は、所定の時間長の区間を単位とし
て、各区間内に入力したMIDI2からの演奏情報に基
づき、それぞれ当該区間の次の区間に、楽音信号生成処
理(及びエフェクト処理)を実行する。DMA回路10
は、こうして各区間毎に生成された楽音信号を単位とし
て、それぞれ当該区間の次の区間に再生処理を実行す
る。(例えば、時刻T1からT2までの区間に入力した
演奏情報に基づき、時刻T2からT3までの区間に楽音
信号生成処理を実行し、時刻T3からT4までの区間に
再生処理を実行する。)したがって、1区間の長さは、
DMA回路10が再生処理の1単位とするサンプル数と
再生サンプリング周期との積であり、前述の例では12
8÷48000≒0.0027秒となる。
【0017】そして、再生処理は、楽音を切れ目なく発
音させるために各区間毎に途切れることなく連続して実
行する必要があるので、CPU1は、DMA回路10が
各区間で再生処理を実行する楽音信号(前述の例では1
28サンプルの楽音信号)については、必ずその直前の
区間内に生成を完了している必要がある。しかし、入力
する演奏情報の内容や演奏情報の入力頻度は、演奏の進
行に伴って時間的に変化していくので、1区間内に同時
に生成すべき楽音数や、1区間内に実行すべき生成処理
の演算量は、一定ではなく、むしろ区間毎に大きく変動
するという特徴を有している。
【0018】以上がソフト音源の基本原理であるが、周
波数を制御可能な基本クロックで動作するCPUでは、
同時に生成すべき楽音数が少ない区間や実行すべき生成
処理の演算量が少ない区間では、それらが多い区間より
も基本クロックの周波数を低くすることによって処理速
度を遅くしても、当該区間内に生成処理を完了させるこ
とが可能である。そして、基本クロックの周波数を低く
した区間では、基本クロックの周波数が高い区間よりも
消費電力が少なくなる(図2参照)。この電子楽器は、
こうした基本クロックの制御による消費電力の節減を図
りつつ、楽音信号生成処理を実行するものである。次
に、この楽音信号生成処理の一例を、図4以下を参照し
て説明することにする。
【0019】図4は、CPU1の実行するメインルーチ
ンを示すフローチャートである。メインルーチンでは、
所定の初期設定(ステップS1)の後、RAM4内の入
力バッファに受信データが記憶されているか否かを判断
し(ステップS2)、記憶されていれば、受信データ処
理を実行する(ステップS3)。受信データ処理には、
例えば、MIDI2からのノートオン信号に基づくノー
トオンイベント処理や、MIDI2からのノートオフ信
号に基づくノートオフイベント処理等が含まれる。
【0020】続いて、キーボード7の操作に基づくパネ
ルスイッチの操作イベントの有無を判断し(ステップS
4)、操作イベントがあれば、パネルスイッチイベント
処理を実行する(ステップS5)。パネルスイッチイベ
ント処理には、例えば、音色選択スイッチの操作に基づ
く音色選択処理や、エフェクトスイッチの操作に基づく
効果選択処理等が含まれる。続いて、楽音信号を生成す
る「音源処理」(ステップS6)と、その他の処理(ス
テップS7)とを実行し、以下、ステップS2乃至ステ
ップS7の処理を繰り返す。
【0021】ステップS3の受信データ処理は、MID
I2からの受信データが入力バッファに書き込まれたこ
とを条件としてステップS2でイエスと判断されて開始
されるが、この書込みは、MIDI2からの受信データ
が発生する都度に、図5に示す「最優先の割込み処理」
を実行することによって行なわれる。この割込み処理で
は、受信データが発生すると、最初のステップS11
で、CPU1の基本クロックがスリープモードか否かを
判断する。スリープモードであれば、ステップS12に
進み、クロックコントロールレジスタ6に所定の値のデ
ータを書き込むことによって基本クロックの周波数を1
5MHzに設定した後、ステップS13に進む。他方、
スリープモードでなければ、ステップS11からそのま
まステップS13に進む。
【0022】ステップS13では、当該受信データを取
り込む。続くステップS14では、取り込んだ受信デー
タを、現在の時刻を示す時刻データとともにRAM4内
の入力バッファに書き込む。時刻データを書き込む理由
は、受信データの入力バッファへの書込みは、受信デー
タが発生する都度直ちに行なうが、入力バッファに書き
込んだ受信データに対するメインルーチンでの処理は、
直ちに実行するわけではないので、いつ発生した受信デ
ータかを識別できるようにしておくことにある。図6
は、入力バッファの記憶領域の一例を示す。この例で
は、受信データを1件毎に時刻データとともに書き込む
領域である「データ1」,「データ2」,「データ3」
…と、受信データの件数を書き込む領域である「イベン
ト数」とが設けられている。続くステップS15乃至ス
テップS17では、基本クロックの周波数の見直しのた
めの処理を実行するが、この処理の説明は、「音源処
理」の説明の後に行なうことにする。
【0023】次に、受信データ処理のうちのノートオン
イベント処理の一例を、図7に示す。この処理では、最
初のステップS21で、入力バッファから、ノートナン
バ,ベロシティ及び音色パートを示すデータと時刻デー
タとを読み出してそれぞれ所定のレジスタに格納する。
続くステップS22では、上記ノートナンバに対応する
楽音信号を発生すべき発音チャンネルの割当てを行な
う。続くステップS23では、パネルスイッチイベント
処理(図4のステップS5)のうちの音色選択処理によ
って上記音色パートについて選択された音色データをR
AM4から読み出し、その音色データを上記ノートナン
バ及びベロシティに応じて加工する。図8は、ハードデ
ィスク装置9から読み出されてRAM4の音色データ領
域に記憶された音色データの内容の一例を示す。この例
では、音色データには、所定音域毎の複数周期分の波形
データ,エンベロープを制御するデータ,タッチを制御
するデータ及びその他のデータが含まれている。
【0024】続くステップS24では、加工した音色デ
ータ(楽音生成アルゴリズムを示すデータ及びピッチを
制御するデータを含む)を、時刻データとともにRAM
4内の当該発音チャンネル用の音源レジスタに書き込
み、最後にステップS25で、ノートオンを示すデータ
を当該音源レジスタに書き込む。そしてリターンする。
図9は、音源レジスタの記憶領域の一例を示す。この例
では、32チャンネル分の音源レジスタが用意されてお
り、各音源レジスタに、ノートナンバ,波形データ,エ
ンベロープ制御データ、ノートオン,時刻データ及びそ
の他のデータを書き込む領域と、ワーキングエリアとが
設けられている。その他のデータには、パネルスイッチ
イベント処理で選択されたエフェクトのアルゴリズムを
示すデータ等が含まれる。
【0025】次に、「音源処理」(図4のステップS
6)の一例を、図10に示す。この処理では、最初のス
テップS31で、各発音チャンネル用の音源レジスタ
(図9参照)の記憶内容をチェックし、続くステップS
32で、いずれかの発音チャンネル用の音源レジスタに
新規の書込みがあったか否かを判断する。ノートオンイ
ベント処理(図7)等が実行されたことによって新規の
書込みが行なわれた音源レジスタがあれば、ステップS
33に進み、その音源レジスタ内のデータを、現在の区
間の次の区間での楽音信号生成処理及びエフェクト処理
の対象として予約する。そしてステップS34に進む。
他方、新規の書込みがなければ、ステップS32からそ
のままステップS34に進む。
【0026】ステップS34では、DMA回路10が1
28サンプル分の楽音信号に対する再生処理を開始する
毎(すなわち、各区間からその次の区間に移行した毎)
に立てる前述のフラグをチェックする。続いてステップ
S35では、フラグが立っているか否か(すなわち、新
たな区間に移行したか否か)を判断する。
【0027】フラグが立っていなければ、そのままリタ
ーンし、フラグが立つまで、メインルーチンのステップ
S7,S2乃至S5の処理(図4)と「音源処理」のス
テップS31乃至S35の処理とを繰り返す。フラグが
立つと、ステップS35からステップS36に進み、ス
テップS33で当該区間での楽音信号生成処理の対象と
して予約した各発音チャンネルのデータから、当該区間
において実行すべき楽音信号生成処理及びエフェクト処
理等の内容(発音チャンネル数や、各処理の順序や、各
処理の演算内容等)を確定するとともに、入力バッファ
に書き込まれている受信データ(すなわち、当該の区間
の次の区間で楽音信号生成処理及びエフェクト処理等を
実行するためのデータ)から、当該区間において実行す
べきイベント処理等の内容を確定する。
【0028】続くステップS37では、ステップS36
で確定した処理内容から、当該区間における楽音信号生
成処理,エフェクト処理及びイベント処理等に要する全
演算量を算出する。この全演算量は、一例として、確定
した内容の処理を周波数60MHzの基本クロックで完
了するのに要する時間で表現するものとする。そして、
この全演算量と、1区間の長さ(前述のように約0.0
027秒)とから、確定した内容の処理を1区間内に完
了するのに必要な基本クロックの最低周波数を前述の1
5,30,60MHzの中から選択し、その周波数に対
応する値のデータをクロックコントロールレジスタ6に
書き込む。(すなわち、全演算量が1区間の長さの半分
を越えていれば60MHzを選択し、全演算量が1区間
の長さの半分以下であれば30MHzを選択し、全演算
量が1区間の長さの4分の1以下であれば15MHzを
選択する。)これにより、CPU1をはじめとする各ブ
ロックの基本クロックが、当該最低周波数に設定され
る。尚、楽音信号生成処理,エフェクト処理及びイベン
ト処理等を実行すべきデータが全く存在しない区間で
は、スリープモードに対応する値のデータをレジスタ6
に書き込むことにより、スリープモードに設定するもの
とする。
【0029】ここで、楽音信号生成処理,エフェクト処
理及びイベント処理に要するそれぞれの演算量を算出す
るにあたって考慮すべき要素をいくつか列挙すると、次
のとおりである。楽音信号生成処理においては、発音チ
ャンネル数が多いほど演算量も多くなることはもちろん
であるが、各発音チャンネルにおける楽音信号生成アル
ゴリズムの相違や演算精度の相違によっても、演算量が
異なってくる。また、この電子楽器では再生サンプリン
グ周波数は各発音チャンネルともに48kHzに固定さ
れているが、再生サンプリング周波数が可変にした場合
には、再生サンプリング周波数の高さに応じて演算量が
異なってくる。
【0030】エフェクト処理においては、エフェクトの
アルゴリズムの相違や、演算グレードの相違によって演
算量が異なってくる。イベント処理においては、イベン
ト数が多いほど演算量も多くなることはもちろんである
が、イベントの種類の相違によっても演算量が異なって
おり、最も演算量が多いのはノートオンイベント処理で
ある。
【0031】ステップS37に続くステップS38で
は、ステップS33で演算の対象として予約したデータ
に対して楽音信号生成処理を実行することにより、当該
区間分の128サンプルの楽音信号を生成する。楽音信
号生成処理は、一例として、各発音チャンネルで、原波
形を生成する処理と、生成した原波形に対してフィルタ
演算を行なう音色処理と、音色処理を施した波形に対す
る音量制御処理とを時分割に実行し、これによって得ら
れた各発音チャンネルの波形を、所望の比率で累算する
ものである。この楽音信号生成処理が、ステップS37
で設定された周波数の基本クロックで実行されるので、
全演算量が少ない区間では周波数が低く設定されること
によって消費電力が節減される。
【0032】続くステップS39では、ステップS38
で生成した楽音信号に対し、エフェクト処理を実行する
ことによって効果を付与する。このエフェクト処理も、
ステップS37で設定された周波数の基本クロックで実
行されるので、全演算量が少ない区間では周波数が低く
設定されることによって消費電力が節減される。
【0033】最後のステップS40では、ステップS3
9でエフェクト処理を施した楽音信号を、RAM4内の
出力バッファに書き込んで、当該区間の次の区間で再生
処理を実行する対象としてDMA回路10に予約する。
そしてリターンする。この楽音信号に対して、当該区間
の次の区間に、DMA回路10によって前述のような再
生処理が実行されることになる。図11は、出力バッフ
ァの記憶領域を示す。128サンプルのそれぞれの楽音
信号を記憶する領域が設けられている。尚、出力バッフ
ァは2系統設けられており、CPU1は、各区間毎に互
い違いに1系統ずつに楽音信号を書き込み、DMA回路
10は、各区間毎に、CPU1が書込みを行なっていな
いほうの出力バッファ(すなわちCPU1が当該区間の
直前の区間に楽音信号を書き込んだ出力バッファ)から
楽音信号を読み出して再生処理を実行するようになって
いる。
【0034】「音源処理」を終了すると、メインルーチ
ンのステップS7,S2乃至S5の処理(図4)と「音
源処理」のステップS31乃至S35の処理とを繰り返
す。その際、その他の処理(図4のステップS7),受
信データ処理(同図のステップS3)及びパネルスイッ
チイベント処理(同図のステップS5)が、「音源処
理」のステップS37で設定された周波数の基本クロッ
クで実行されるので、全演算量が少ない区間では周波数
が低く設定されることによって消費電力が節減される。
【0035】そして、再び新たな区間に移行すると、
「音源処理」のステップS35から再びステップS36
以下に進み、新たな区間での基本クロックの周波数を設
定し、その周波数の基本クロックで該区間における楽音
信号生成処理,エフェクト処理及びイベント処理等を実
行する。以下、こうした処理を繰り返すことにより、各
区間毎に基本クロックを制御しながら楽音信号を生成し
ていく。
【0036】尚、「音源処理」のステップS37で基本
クロックの周波数を設定した後でも、当該区間内に新た
にMIDI2からの受信データが発生した場合には、実
行中の処理を中断して、前述の「最優先の割込み処理」
(図5)を実行することになる。ところが、この割込み
処理によって入力バッファに受信データが書き込まれる
ことにより、当該区間内に新たに受信データ処理(図4
のステップS3)等を実行しなければならなくなるの
で、当該区間において実行すべきイベント処理等の内容
が、「音源処理」のステップS36で確定した内容より
も多くなってしまう。こうした場合に基本クロックの周
波数をステップS37で設定したままにしておくと、当
該区間において実行すべき処理を、当該区間内に完了で
きなくなることがある。
【0037】そこで、「最優先の割込み処理」(図5)
では、ステップS15で、この新たな受信データに対し
て当該区間において実行すべきイベント処理等の演算量
を算出する。そして、「音源処理」のステップ37で算
出した全演算量のうちまだ処理していない演算量にこの
新たな演算量を加えた合計と、当該区間の残り時間とか
ら、当該区間において実行すべき処理を残り時間内に完
了するのに必要な基本クロックの最低周波数を、15,
30,60MHzの中から求める。続くステップS16
では、ステップS15で求めた周波数が、現在の周波数
(すなわち、当該区間に「音源処理」のステップ37で
設定した周波数)よりも高いか否かを判断する。
【0038】高ければ、ステップS17に進み、ステッ
プS15で求めた周波数に対応する値のデータをクロッ
クコントロールレジスタ6に書き込むことにより、基本
クロックをこの新たな周波数に設定し直す。そしてリタ
ーンする。他方、現在の周波数よりも高くなければ、ス
テップS16からそのままリターンする。こうした基本
クロックの周波数の見直しを行なうことにより、基本ク
ロックの周波数の設定があった後に新たな受信データが
発生した場合にも、当該区間において実行すべき処理
を、当該区間内に完了できるようになる。
【0039】「音源処理」のステップS37で基本クロ
ックの周波数を設定した後に、当該区間内に新たな受信
データが発生しない場合でも、CPU1は、各区間毎
に、区間の開始後所定の時間が経過したときに、図12
に示すような割込み処理を実行する。(受信データの発
生があった場合には、受信データを直ちに入力する必要
があるので、この割込み処理よりも「最優先の割込み処
理」のほうを優先して実行する。)すなわち、最初にス
テップ41で、「音源処理」のステップ37で算出した
全演算量のうちまだ処理していない演算量と、当該区間
の残り時間とから、当該区間において実行すべき処理を
残り時間内に完了するのに必要な基本クロックの最低周
波数を、15,30,60MHzの中から求める。続く
ステップS42では、ステップS41で求めた周波数
が、現在の周波数(すなわち、当該区間に「音源処理」
のステップ37で設定した周波数)よりも高いか否かを
判断する。
【0040】高ければ、ステップS43に進み、ステッ
プS41で求めた周波数に対応する値のデータをクロッ
クコントロールレジスタ6に書き込むことにより、基本
クロックをこの新たな周波数に設定し直す。そしてリタ
ーンする。他方、現在の周波数よりも高くなければ、ス
テップS42からそのままリターンする。
【0041】この割込み処理によって周波数の見直しを
行なう理由は、新たな受信データの発生がない場合で
も、何らかの事情(例えば、CPU1が図4のメインル
ーチンと並行して別の処理を実行しており、その別の処
理に予想外に時間を要したこと等)によって、最初に設
定した周波数の基本クロックでは間に合わなくなること
がないとはいえないので、区間の途中で必ず周波数の見
直しをするのが望ましいと考えたことにある。
【0042】このように、この電子楽器では、実行すべ
き処理に要する演算量に応じて基本クロックを制御する
ことにより、消費電力が節減されるので、電源である乾
電池を交換することなく演奏を行なえる時間が従来より
も延長されるようになる。また、このように基本クロッ
クを制御することにより、演算量が少ない区間では基本
クロックの低下により電磁波の輻射が減少するようにな
るので、電磁波の不要な輻射の抑制を図ることもできる
ようになる。
【0043】尚、この発明は、上述のように乾電池等の
バッテリーを内蔵した電子楽器に適用した場合に特に有
効であるが、これに限らず、過程用コンセントから電力
を供給するようにした電子楽器にこの発明を適用しても
よい。そうした場合にも、やはり消費電力の節減や電磁
波の不要な輻射の抑制を図ることができる。
【0044】また、この実施の形態では、メインルーチ
ンの処理を、図3を用いて説明したようなタイミングに
従って実行している。しかし、これに限らず、必要に応
じて、適宜のタイミングでこの処理を実行するようにし
てよい。すなわち、例えば「音源処理」の楽音信号生成
処理を、新たな区間への移行のタイミングで開始するか
わりに、各区間において生成した128サンプルの楽音
信号のうちDMA回路10に渡された残りのサンプル数
が所定数以下になったことを検出し、その検出のタイミ
ングで楽音信号生成処理を開始するようにしてもよい。
あるいは、一定時間毎に出力バッファの空き状態をチェ
ックすることにより、出力バッファの所定以上の領域が
空いたことを検出し、その検出のタイミングで楽音信号
生成処理を開始するようにしてもよい。また例えば、受
信データ処理の実行により音源レジスタにデータが書き
込まれることによって「音源処理」のステップS32で
イエスと判断される毎に、直ちにそのデータについて楽
音信号生成処理を実行するようにしてもよい。
【0045】また、この実施の形態では、2系統の出力
バッファを設け、一方の出力バッファにCPUが楽音信
号を書き込む区間では、DMA回路がもう一方の出力バ
ッファから楽音信号を読み出すようにしている。しか
し、これに限らず、出力バッファを1系統だけ設けるよ
うにしてもよい。その場合には、CPUが、生成した楽
音信号の書込みポインタ位置への書込みを先行して行な
い、DMA回路が、1サンプリング周期毎に進行する読
出しポインタを発生することにより、書き込まれた楽音
信号を読み出すようにすればよい。また逆に、3系統以
上の出力バッファを設けるようにしてもよい。そうした
場合には、CPUは、DMA回路が楽音信号に対する再
生処理を実行する区間よりも2区間以上先行して、当該
楽音信号を生成して出力バッファに書き込んでおくこと
ができるようになる。
【0046】そして、いずれの場合においても、基本ク
ロックの制御は、楽音信号生成処理の開始時点に行なう
ようにするとよい。また、いずれの場合においても、基
本クロックの見直しを、受信データの入力バッファへの
書込みの際に行なったり、楽音信号生成処理の途中に行
なったり、楽音信号生成処理とは関係なく所定の時間に
行なったりするとよい。
【0047】また、この実施の形態では、基本クロック
を60MHz,30MHz,15MHzまたはスリープ
モードの4通りに制御可能なソフト音源にこの発明を適
用している。しかし、これに限らず、基本クロックを他
の適宜の周波数に制御可能なソフト音源にこの発明を適
用してよいことはもちろんである。
【0048】また、この実施の形態では、MIDIから
の受信データに基づき、実行すべき処理に要する演算量
を算出し、この演算量に応じて基本クロックの制御を行
なっている。しかし、これに限らず、例えば、MIDI
からの受信データに基づき、同時に生成すべき楽音数を
求め、この楽音数に応じて基本クロックを制御するよう
にしてもよい。更に一般的にいえば、基本クロックの周
波数を固定するのではなく、MIDIからの受信データ
に応じて、基本クロックの周波数の制御を行なうように
なっていればよい。
【0049】また、この発明は、電子楽器としての専用
機器の制御CPUにより実行される、ROMに記憶され
たファクトリーセットのプログラムで実施してもよい
し、あるいは、ウィンドウズ等のオペレーティングシス
テムが動作する汎用のパーソナルコンピュータにより実
行される、フロッピーディスクやCD−ROM等に記憶
されたソフトウェアに適用してもよい。
【0050】また、この実施の形態では、ソフト音源に
この発明を適用しているが、これに限らず、他の音源装
置にもこの発明を適用してよいことはもちろんである。
【0051】
【発明の効果】以上のように、この発明によれば、入力
した演奏情報に応じて基本クロックを制御することによ
り、音源の消費電力を節減することができるという優れ
た効果を奏する。したがって、特に、携帯を可能にする
ために電源として乾電池を使用した電子楽器の音源にこ
の発明を適用すれば、乾電池を交換することなく長時間
の演奏を行なうことができるようになるので、そうした
電子楽器の使用性の向上を図ることができる。更に、こ
のように基本クロックを制御することにより、電磁波の
不要な輻射の抑制を図ることができるという効果をも併
せて奏する。
【図面の簡単な説明】
【図1】この発明を採用した電子楽器の全体構成ブロッ
ク図。
【図2】基本クロックの周波数と、CPUの消費電力と
の関係の一例を示す図。
【図3】ソフト音源の基本原理を示す図。
【図4】CPUの実行するメインルーチンを示すフロー
チャート。
【図5】CPUの実行する割込み処理を示すフローチャ
ート。
【図6】入力バッファの記憶領域の一例を示す図。
【図7】CPUの実行するノートオンイベント処理を示
すフローチャート。
【図8】音色データの内容の一例を示す図。
【図9】音源レジスタの記憶領域の一例を示す図。
【図10】CPUの実行する音源処理を示すフローチャ
ート。
【図11】出力バッファの記憶領域の一例を示す図。
【図12】CPUの実行する割込み処理を示すフローチ
ャート。
【符号の説明】
1 CPU 2 MIDI 3 ROM 4 RAM 5 タイマ 6 クロックコントロールレジスタ 7 キーボード 8 ディスプレイ 9 ハードディスク装置 10 DMA回路 11 データ及びアドレスバス 12 乾電池 13 D/A変換器 14 サウンドシステム

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 供給するクロック信号の周波数を制御可
    能なクロック信号供給手段と、 入力した演奏情報に応じて前記クロック信号の周波数を
    制御するクロック制御手段と、 前記クロック制御手段によって制御された前記クロック
    信号を基本クロックとして、前記演奏情報に基づいて楽
    音信号の生成処理を実行する楽音生成手段と、を具えた
    音源装置。
  2. 【請求項2】 前記クロック制御手段は、同時に生成す
    べき楽音数を前記演奏情報に基づいて求め、該楽音数に
    応じて前記クロック信号を制御するものであり、前記楽
    音生成手段は、前記楽音数に応じた発音チャンネル数で
    楽音信号を生成するものである請求項1に記載の音源装
    置。
  3. 【請求項3】 前記クロック制御手段は、前記楽音生成
    手段が実行すべき処理に要する演算量を前記演奏情報に
    基づいて算出し、該演算量に応じて前記クロック信号を
    制御するものである請求項1に記載の音源装置。
  4. 【請求項4】 前記楽音生成手段は、所定の時間長の区
    間を単位として、各区間毎に楽音信号を生成するもので
    あり、前記クロック制御手段は、各区間毎に、前記楽音
    生成手段による処理が開始される前に前記クロック信号
    を制御するものである請求項1乃至3のいずれかに記載
    の音源装置。
  5. 【請求項5】 前記クロック制御手段は、前記楽音生成
    手段による処理の実行中に、処理の進行状況に応じて前
    記クロック信号の周波数を再び制御するものである請求
    項4に記載の音源装置。
  6. 【請求項6】 演奏情報を入力する第1のステップと、 前記演奏情報に応じて、楽音信号を生成する際の基本ク
    ロックの周波数を制御する第2のステップと、 前記第2のステップで制御した基本クロックで、前記演
    奏情報に基づく楽音信号の生成処理を実行する第3のス
    テップと、から成る楽音生成方法。
  7. 【請求項7】 前記第2のステップでは、同時に生成す
    べき楽音数を前記演奏情報に基づいて求め、該楽音数に
    応じて前記基本クロックを制御し、前記第3のステップ
    では、前記楽音数に応じた発音チャンネル数で楽音信号
    を生成する請求項6に記載の楽音生成方法。
  8. 【請求項8】 前記第2のステップでは、実行すべき処
    理に要する演算量を前記演奏情報に基づいて算出し、該
    演算量に応じて前記基本クロックを制御する請求項6に
    記載の楽音生成方法。
  9. 【請求項9】 所定の時間長の区間を単位として、各区
    間毎に前記第1のステップ乃至前記第3のステップを繰
    り返す請求項6乃至8のいずれかに記載の楽音生成方
    法。
  10. 【請求項10】 前記第3のステップの途中で処理の進
    行状況に応じて前記基本クロックを再び制御するステッ
    プを更に設けた請求項9に記載の楽音生成方法。
JP22104995A 1995-08-07 1995-08-07 音源装置及び楽音生成方法 Expired - Fee Related JP3740717B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22104995A JP3740717B2 (ja) 1995-08-07 1995-08-07 音源装置及び楽音生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22104995A JP3740717B2 (ja) 1995-08-07 1995-08-07 音源装置及び楽音生成方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005095679A Division JP4063286B2 (ja) 2005-03-29 2005-03-29 音源装置

Publications (2)

Publication Number Publication Date
JPH0950279A true JPH0950279A (ja) 1997-02-18
JP3740717B2 JP3740717B2 (ja) 2006-02-01

Family

ID=16760700

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22104995A Expired - Fee Related JP3740717B2 (ja) 1995-08-07 1995-08-07 音源装置及び楽音生成方法

Country Status (1)

Country Link
JP (1) JP3740717B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005274782A (ja) * 2004-03-23 2005-10-06 Kawai Musical Instr Mfg Co Ltd 電子楽音発生装置
JP2005322144A (ja) * 2004-05-11 2005-11-17 Namco Ltd 画像生成プログラム、情報記憶媒体及び画像生成システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005274782A (ja) * 2004-03-23 2005-10-06 Kawai Musical Instr Mfg Co Ltd 電子楽音発生装置
JP2005322144A (ja) * 2004-05-11 2005-11-17 Namco Ltd 画像生成プログラム、情報記憶媒体及び画像生成システム
JP4528027B2 (ja) * 2004-05-11 2010-08-18 株式会社バンダイナムコゲームス 画像生成プログラム、情報記憶媒体及び画像生成システム

Also Published As

Publication number Publication date
JP3740717B2 (ja) 2006-02-01

Similar Documents

Publication Publication Date Title
JP3198890B2 (ja) 自動演奏データ処理装置
US9613635B2 (en) Automated performance technology using audio waveform data
JPH09114462A (ja) 楽音発生方法
JPH11126070A (ja) 楽音生成方法
JPH09325778A (ja) 楽音発生方法
JP3267106B2 (ja) 楽音波形生成方法
JPH09114457A (ja) 楽音発生装置及び方法
US6770806B2 (en) Tone signal processing apparatus with intermittent clock supply
JP3740717B2 (ja) 音源装置及び楽音生成方法
JP4063286B2 (ja) 音源装置
JPH0766265B2 (ja) 演奏情報処理装置の割込処理制御部
JPH07121181A (ja) 音声情報処理装置
US6040516A (en) Tone generation system using computer software and storage medium storing the computer software
JP3658826B2 (ja) 楽音生成方法
JP3019755B2 (ja) 楽音発生方法および楽音発生装置
JP3791162B2 (ja) 信号処理装置
JPH11288285A (ja) 楽音発生方法及び装置
JP3409642B2 (ja) 自動演奏装置、自動演奏データ処理方法及び電子的情報記憶媒体
JP3003559B2 (ja) 楽音生成方法
JPH11126069A (ja) 楽音生成方法
JP3036417B2 (ja) 信号処理装置
JPH096364A (ja) 楽音発生方法
JP3293049B2 (ja) 楽音制御装置
USRE40364E1 (en) Tone signal processing apparatus with intermittent clock supply
JP3693045B2 (ja) 楽音発生装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041019

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050329

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050426

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050624

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050818

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050825

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051031

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20091118

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101118

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101118

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111118

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111118

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121118

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121118

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20131118

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees