JP3228394B2 - 電子楽器 - Google Patents

電子楽器

Info

Publication number
JP3228394B2
JP3228394B2 JP07080595A JP7080595A JP3228394B2 JP 3228394 B2 JP3228394 B2 JP 3228394B2 JP 07080595 A JP07080595 A JP 07080595A JP 7080595 A JP7080595 A JP 7080595A JP 3228394 B2 JP3228394 B2 JP 3228394B2
Authority
JP
Japan
Prior art keywords
module
software
storage device
musical instrument
electronic musical
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
JP07080595A
Other languages
English (en)
Other versions
JPH08241079A (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.)
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 JP07080595A priority Critical patent/JP3228394B2/ja
Priority to TW84111024A priority patent/TW300297B/zh
Priority to CNB961060387A priority patent/CN1154973C/zh
Priority to SG1996006843A priority patent/SG59968A1/en
Priority to SG1999001644A priority patent/SG76606A1/en
Priority to CNB031223303A priority patent/CN100573659C/zh
Priority to EP96103155A priority patent/EP0730260B1/en
Priority to DE69630623T priority patent/DE69630623T2/de
Priority to DE69615240T priority patent/DE69615240T2/de
Priority to US08/609,718 priority patent/US5898118A/en
Priority to EP99124890A priority patent/EP0987679B1/en
Priority to KR1019960005510A priority patent/KR100372311B1/ko
Publication of JPH08241079A publication Critical patent/JPH08241079A/ja
Application granted granted Critical
Publication of JP3228394B2 publication Critical patent/JP3228394B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、二次記憶装置に格納
されている各種の機能を実現するためのソフトウェアモ
ジュールから所定のモジュールを一次記憶装置にロード
して実行することにより楽音発生の動作を行なうように
した電子楽器に関する。
【0002】
【従来の技術】電子楽器には機能の低い低位機種から機
能の高い高位機種まで各種のものがある。各機種の電子
楽器は、機種ごとに異なるハードウェアを備えているた
め、用いるソフトウェアも機種ごとに異なるものを開発
しているのが現状であった。しかし、機種ごとに異なる
ソフトウェアを開発するのでは設計が面倒であるため、
例えば、特開平3−39995号に記載の技術が考え出
されている。
【0003】特開平3−39995号のものは、電子楽
器にその機種を特定するための機種コードをジャンパ線
や切替えスイッチなどで設定しておき、電子楽器の動作
を制御するCPU(中央処理装置)は、その機種コード
を判別し、機種コードに対応した処理を行なうものであ
る。これにより、異なる性能の機種の間で共通のプログ
ラムを利用し、例えば、自動伴奏機能付きの機種のとき
は自動伴奏処理を行ない、自動伴奏機能付きの機種でな
いときは自動伴奏処理を行なわない、というような制御
を行なうことができる。
【0004】
【発明が解決しようとする課題】しかし、上記特開平3
−39995号の技術では、あらかじめプログラムが固
定されてしまうので、変更が容易でないという問題があ
る。例えば、自動伴奏機能を実現するソフトウェアの部
分のみを変更したい場合、その部分のみを簡単に変更す
ることはできない。また、異なる性能の機種の間で共通
に使用するプログラムは一次記憶装置に格納されるが、
不要なプログラムまで高価な一次記憶装置に格納される
ことになるという問題があった。
【0005】さらに従来は、プログラムの共用について
はそれ程考慮されていなかった。例えば、同様の機能の
モジュールであっても、別々に開発され、共通に用いる
ことができない場合も少なくない。
【0006】この発明は、上述の従来例における問題点
に鑑み、各種のソフトウェアを実行して楽音発生の動作
を行なう電子楽器において、ソフトウェアの変更が容易
で、一次記憶装置を無駄に使用することなく、さらにプ
ログラムの仕様の差を超えてプログラムを共用すること
ができるようにすることを目的とする。
【0007】
【課題を解決するための手段】この目的を達成するた
め、請求項1に係る発明は、少なくとも、一次記憶装置
と、該一次記憶装置にロードされたソフトウェアモジュ
ールを実行する中央処理装置とを備えた電子楽器であっ
て、楽音を発生するための各種の要素機能を実現するソ
フトウェアモジュールを、異種の要素機能を実現するも
のおよび同種の要素機能を実現するものを含めて複数記
憶した二次記憶装置と、電源投入またはユーザの指示を
契機として、前記二次記憶装置から、該ソフトウェアモ
ジュールが幾つかのサブモジュールで構成される場合
該サブモジュールの存在を調査し必要なサブモジュール
が存在するものを選択する、あるいは該ソフトウェアモ
ジュールに対して情報の流れで下位に位置するソフトウ
ェアモジュールが存在しないものはロードしない、の
少なくとも1つに基づいて、ロードすべきソフトウェ
アモジュールを選択し、前記一次記憶装置にロードする
モジュールロード手段とを備えことを特徴とする。
【0008】請求項2に係る発明は、少なくとも、一次
記憶装置と、該一次記憶装置にロードされたソフトウェ
アモジュールを実行する中央処理装置とを備えた電子楽
器であって、楽音を発生するための各種の要素機能を実
現するソフトウェアモジュールを、異種の要素機能を実
現するものおよび同種の要素機能を実現するものを含め
て複数記憶した二次記憶装置と、電源投入またはユーザ
の指示を契機として、前記二次記憶装置からロードすべ
きソフトウェアモジュールを選択し、前記一次記憶装置
にロードするモジュールロード手段とを備え、前記複数
のソフトウェアモジュールは、鍵盤を制御する鍵盤モジ
ュールと、音源の発音チャンネルに発音割当てを行なう
アサイナモジュールと、音源を制御する音源ドライバの
いずれかの要素機能を実現し、各ソフトウェアモジュー
ルはモジュール間でメッセージをやり取りすることによ
り情報の伝達を行なうものであり、前記一次記憶手段に
ロードされたソフトウェアモジュールのうちの一部のみ
を同種の要素機能を実現する他のソフトウェアモジュー
ルと交換可能としたことを特徴とする。請求項3に係る
発明は、請求項2において、さらに、前記ソフトウェア
モジュールは、記憶された演奏データについて自動演奏
を行なう自動演奏モジュールと、和音情報を伴奏パター
ンに展開するとともに展開された伴奏パターンの伴奏音
の発生を制御する自動伴奏モジュールを含むことを特徴
とする。請求項4に係る発明は、請求項3において、前
記アサイナモジュールは、少なくとも低機能なものと高
機能なものとを含み、前記モジュールロード手段は、前
記自動演奏モジュールあるいは自動伴奏モジュールがロ
ードされる場合には、前記高機能なアサイナモジュール
をロードし、自動演奏モジュールあるいは自動伴奏モジ
ュールがロードされない場合は、前記低機能なアサイナ
モジュールをロードするようにしたことを特徴とする。
請求項5に係る発明は、請求項2から4の何れか1つ
おいて、さらに、前記各ソフトウェアモジュールの属性
に関する属性情報をも記憶し、前記モジュールロード手
段は、前記属性情報に基づいてロードするソフトウェア
モジュールを判断することを特徴とする。請求項6に係
る発明は、請求項5において、前記属性情報は、対応す
るソフトウェアモジュールのバージョン番号および作成
日時および要素機能の種別を含むものであって、前記モ
ジュールロード手段は、前記二次記憶手段に同一要素機
能のソフトウェアモジュールが複数記憶されていた場合
は、バージョン番号あるいは作成日時に基づいてロード
すべきソフトウェアモジュールを選択することを特徴と
する。請求項7に係る発明は、請求項5または6におい
て、前記属性情報は、対応するソフトウェアモジュール
が受信可能なメッセージを示す受信可能メッセージリス
トを含むことを特徴とする。
【0009】
【作用】この発明に係る電子楽器では、一次記憶装置に
ソフトウェアモジュールをロードして中央処理装置で実
行することにより楽音発生が行なわれる。ソフトウェア
モジュールは二次記憶装置に格納されており、電源投入
またはユーザの指示を契機として一次記憶装置にロード
される。どのモジュールがロードされるかは、ソフトウ
ェアモジュールが幾つかのサブモジュールで構成される
場合は該サブモジュールの存在を調査し必要なサブモジ
ュールが存在するものを選択する、あるいは該ソフトウ
ェアモジュールに対して情報の流れで下位に位置するソ
フトウェアモジュールが存在しないものはロードしな
い、のうち少なくとも1つに基づいて決定される。した
がって、ソフトウェア実行時にプログラムを組み立てる
ので、変更が容易である。また、不要なプログラムはロ
ードされず、必要なもののみロードされることになる。
【0010】また、この発明に係る電子楽器では、モジ
ュール化されたソフトウェアを適宜組合わせて楽音を発
生する電子楽器を構成する。その際、モジュール間の情
報の授受はメッセージのやり取りという形式で統一され
たインターフェースを用いている。したがって、プログ
ラムの共用性が高まる。
【0011】
【実施例】以下、図面を用いてこの発明の実施例を説明
する。
【0012】図1は、この発明の一実施例に係る電子楽
器のハードウェアブロック図である。この電子楽器は、
中央処理装置(CPU)101、リードオンリメモリ
(ROM)102、ランダムアクセスメモリ(RAM)
103、MIDI(Musical Instrument Digital Inter
face)インターフェース104、音源ハードウェア10
5、音源ハードウェア105のインターフェース10
6、操作子ハードウェア107、操作子ハードウェア1
07のインターフェース108、二次記憶装置109、
およびサウンドシステム110を備えている。各部は、
バスライン111により相互に接続されている。
【0013】CPU101は、この電子楽器全体の動作
を制御する。具体的な動作は、フローチャートを用いて
後述する。ROM102は、後述する立ち上げプログラ
ム(図5)が格納されている。RAM103には、CP
U101が実行する各種のプログラムモジュールがロー
ドされる。それら各種のプログラムモジュールは、二次
記憶装置109に格納されている。二次記憶装置109
は、例えばハードディスク装置などである。
【0014】音源ハードウェア105は、インターフェ
ース106を介してCPU101からの指示を受け取
り、楽音信号の発生処理を行なう。音源ハードウェア1
05から発生された楽音信号は、サウンドシステム11
0により放音される。なお、この実施例では、音源をハ
ードウェアで実現しているが、ソフトウェアで音源を構
成してもよい。
【0015】操作子ハードウェア107は、ユーザが操
作するための各種の操作子であり、ユーザが演奏するた
めの複数の鍵を備えた鍵盤を含む。操作子ハードウェア
107の操作情報は、インターフェース108を介して
CPU101に伝えられる。MIDIインターフェース
104は、MIDI機器を接続するためのインターフェ
ースである。
【0016】図2は、図1のハードウェア上で実現され
るソフトウェアのブロックイメージを示す。動作するソ
フトウェアとしては、鍵盤ドライバ201、自動伴奏
(ABC:オートベースコード)モジュール202、自
動演奏(SEQ:シーケンサ)モジュール203、MI
DIインターフェースモジュール204、発音情報経路
切替205、アサイナモジュール206、および音源ド
ライバ207などがある。これらの各ソフトウェアモジ
ュールは、二次記憶装置109からRAM103にロー
ドされ、CPU101により実行される。
【0017】鍵盤ドライバ201は、鍵盤(図1の操作
子ハードウェア107に含まれる)を制御するための制
御プログラムである。自動伴奏(ABC)モジュール2
02は、自動伴奏処理を行なう。自動演奏(SEQ)モ
ジュール203は、自動演奏処理を行なう。MIDIイ
ンターフェースモジュール204は、図1のMIDIイ
ンターフェース104を制御するモジュールである。ア
サイナモジュール206は、発音の指示がきたときに音
源の発音チャンネル割り当て処理を行なう。音源ドライ
バ207は、音源ハードウェア105を制御するための
ドライバであり、アサイナモジュール206の指示によ
り発音処理を行なう。
【0018】発音情報経路切替205は、これら各種の
モジュール間の情報授受の経路を切替える機能を果た
す。発音情報経路切替205は、具体的には、後述する
メインモジュール(図6)により実現する。例えば、
鍵盤ドライバ201から鍵盤の押鍵情報を受けたとき
は、その押鍵情報をアサイナモジュール206に渡す、
鍵盤ドライバ201から伴奏鍵の押鍵情報を受けたと
きは、その押鍵情報を自動伴奏モジュール202に渡
す、自動伴奏モジュール202から自動伴奏音の発音
指示がきたときは、その発音指示をアサイナモジュール
206に渡す、というような切替え処理を行なう。
【0019】図3は、この実施例の電子楽器の二次記憶
装置109に登録されているソフトウェアモジュールの
例を示す。これらのソフトウェアモジュールのうち所定
のものが、電源投入またはユーザの指示を契機として二
次記憶装置109からRAM103にロードされ、図2
のようなソフトウェアのブロックイメージが構成される
ことになる。
【0020】図3において、メインモジュール301
は、図2の発音情報経路切替205を含み、各モジュー
ル間での情報の授受の制御などを行なう。鍵盤ドライバ
302は、図2の鍵盤ドライバ201である。
【0021】ABCモジュール303は、図2の自動伴
奏(ABC)モジュール202である。ただし、ABC
モジュール303をロードする際には、サブモジュール
として、ABCエンジン、およびABCパターンもロー
ドする必要がある。サブモジュールとは、上位のモジュ
ールに組み込まれ、上位のモジュールに依存して動作す
る下位のモジュールを言う。304と305は、2種類
のABCエンジンサブモジュールである。306〜30
8は、3種類のABCパターンサブモジュールである。
ABCモジュール303と、2種類のABCエンジンサ
ブモジュールのうちの何れか1つと、2種類のABCパ
ターンサブモジュールのうちの何れか1つ以上により、
図2の自動伴奏(ABC)モジュール202が構成され
る。
【0022】309と310は、2種類の自動演奏(S
EQ)モジュールである。311〜313は、3種類の
フォーマットコンバータであり、SEQモジュールのサ
ブモジュールである。フォーマットコンバータは、SE
Qモジュールにおける自動演奏データのフォーマットの
変換を行なう。自動演奏データのフォーマットは、機種
ごとあるいは会社ごとに異なることが少なくないので、
フォーマットコンバータにより自動演奏データのフォー
マットの変換を行ない、SEQモジュールで読み込み可
能なフォーマットにする。2種類のSEQモジュール3
09,310のうち何れか1つと、3種類のフォーマッ
トコンバータ311〜313のうち何れか(1つでも複
数でもよく、またフォーマット変換が不要のときはフォ
ーマットコンバータなしでもよい)により、図2の自動
演奏(SEQ)モジュール203が構成される。
【0023】314と315は2種類のアサイナモジュ
ールであり、これらのうちの何れか1つで図2のアサイ
ナモジュール206が構成される。316と317は2
種類の音源ドライバであり、これらのうちの何れか1つ
以上で図2の音源ドライバ207が構成される。特に、
316は波形メモリ読み出し方式の音源に用いる音源ド
ライバであり、317は物理モデル音源に用いる音源ド
ライバである。
【0024】本実施例では、図3に示すような各種のモ
ジュールをあらかじめ二次記憶装置109に格納してお
く。そして、電源投入またはユーザの指示を契機とし
て、ふさわしいモジュールを一次記憶装置であるRAM
103にロードし、電子楽器を構成する。どのモジュー
ルをロードするかを判断する基準は、以下のようなもの
である。
【0025】装備されているハードウェアを調査し、
装備されているハードウェアに応じたソフトウェアモジ
ュールを選択する。例えば、ハードウエアとして用いら
れている音源ボードをチェックし、波形メモリ読み出し
方式の音源が装備されていたときはそれに対応する音源
ドライバを選択してロードする。
【0026】同種の要素機能を実現するソフトウェア
モジュールが複数ある場合は、より高機能のもの、作成
日時がより新しいものを選択する。
【0027】そのソフトウェアモジュールが幾つかの
サブモジュールを必要とする場合は、二次記憶装置内の
サブモジュールの存在を調査し、必要なサブモジュール
が存在するモジュールを選択する。
【0028】そのソフトウェアモジュールに対して信
号の流れで下位に位置するソフトウェアモジュールが存
在しないものはロードしない。
【0029】他のモジュールとの組み合わせで不適切
なモジュールはロードしない。
【0030】二次記憶装置109には各種のモジュール
が冗長に格納されているが、二次記憶装置はビット単価
が安いので、無駄なモジュールが格納されていても問題
が少ない。これに対して、一次記憶装置(RAM)はビ
ット単価が高く、容量も限られている。そこで、上述し
たように、電源投入またはユーザの指示を契機としてふ
さわしいモジュールを二次記憶装置からRAMにロード
して電子楽器を構成するようにしたものである。
【0031】図4は、ソフトウェアモジュールの属性情
報の例を示す。あるソフトウェアモジュールをロードす
るかしないかについて、上述の〜の判断基準に基づ
いて具体的に判断する際に、これらの属性情報が参照さ
れる。属性情報は、全ソフトウェアモジュールについて
共通な共通部分と、各ソフトウェアモジュールに固有の
固有部分とからなる。
【0032】図4において、401は音源ドライバの属
性情報(共通部分)を示す。ModuleNameは当該モジュー
ルの名称、VersionNumはバージョンナンバ、CreateDate
は作成日時、ModuleTypeはモジュールのタイプを示す。
モジュールタイプModuleTypeは、メインモジュール、鍵
盤ドライバ、ABCモジュール、…の別を示す。アサイ
ナモジュール、ABCモジュール、およびSEQモジュ
ールの属性情報(共通部分)402〜404も、属性情
報401と同じである。
【0033】405は、音源ドライバの属性情報(固有
部分)のうち、当該ドライバでサポートする音源のタイ
プ(例えば、波形メモリ読み出し方式の音源か物理モデ
ル音源かなど)を示す情報TgTypeである。
【0034】406は、アサイナモジュールの属性情報
(固有部分)を示す。MaxChNumは当該アサイナモジュー
ルで管理できる発音チャンネルのチャンネル数、BasicA
lgorithmは基本的なチャンネル割り当てのアルゴリズム
(例えば、後着優先や先着優先など)、AbcAwareは自動
伴奏音について区別して割り当てる機能を有するか否か
を示すフラグ、SeqAwareは自動演奏音について区別して
割り当てる機能を有するか否かを示すフラグ、MultiKBA
wareは多段鍵盤のとき上鍵、下鍵などを区別して割り当
てる機能を有するか否かを示すフラグである。
【0035】407は、ABCモジュールの属性情報
(固有部分)を示す。StyleNumは自動伴奏のスタイルの
種類の数、VariationNumは自動伴奏のバリエーションの
数、AcceptCodeTypeは自動伴奏で受付けるコードタイプ
の数を示す。
【0036】408は、SEQモジュールの属性情報
(固有部分)を示す。TruckNumは自動演奏のトラック
数、TimeResolutionは自動演奏の時間分解能、SeqForma
tは自動演奏データのフォーマットを示す。
【0037】409〜412は、それぞれ、音源ドライ
バ、アサイナモジュール、ABCモジュール、およびS
EQモジュールの属性情報(固有部分)のうち、受信可
能メッセージリストを示す。本実施例では、各モジュー
ルの共用性を高めるために、モジュール間インターフェ
ースを統一している。すなわち、モジュール間でメッセ
ージをやり取りする方式としている。受信可能メッセー
ジリスト409〜412には、各モジュールにおいて、
受信して処理することのできるメッセージの一覧が記載
されている。このリストを参照することにより、当該モ
ジュールが備えている機能の詳細を知ることができる。
また、各モジュールのインターフェースを、このような
メッセージの授受という方式とすれば、当該モジュール
の共用性が高まる。
【0038】以下に、各モジュールの通信メッセージの
例を示す。
【0039】(1)音源ドライバが受信可能なメッセージ
および実行する内容 (1-1)GetTgInfo() : 音源に関する各種情報を得る。 (1-2)GetToneColorList() : 音源で発音可能な音色の一
覧を得る。 (1-3)GetToneInfo(ToneColorNum) : 特定の音色につい
て情報を得る。 (1-4)GenerateTone(ToneInformation) : ToneInformati
onに基づき楽音の合成を開始する。 (1-5)DumpTone(ToneInformation) : ToneInformationに
基づき楽音のダンプを行なう。 (1-6)GetChannelStatus(ChannelNum) : ChannelNumに対
応するチャンネルの状態を得る。
【0040】(2)自動演奏(SEQ)モジュールが受信
可能なメッセージおよび実行する内容 (2-1)StartAllTruck(SongNum) : SongNumに対応する曲
データの再生を開始する。(2-2)StartSpecificTruck(So
ngNum,TruckInfo) : SongNumに対応する曲データの特定
トラックの再生を開始する。 (2-3)StopAllTruck() : 全トラックの記録/再生を停止
する。 (2-4)StopSpecificTruck(,TruckInfo) : 特定トラック
の記録/再生を停止する。(2-5)Pause() : 全トラック
のの記録/再生を一時停止する。 (2-6)RecordAllTruck(SongNum) : 全トラックの記録を
開始する。 (2-7)RecordSpecificTruck(SongNum,TruckInfo) : 特定
トラックの記録を開始する。 (2-8)MoveSongPointer(SongNum,Location) : 特定曲の
特定の場所にポインタを移動する。
【0041】(3)自動伴奏(ABC)モジュールが受信
可能なメッセージおよび実行する内容 (3-1)SetAbcType(AbcTypeInfo) : AbcTypeInfoに合せて
自動伴奏の設定を行なう。 (3-2)ExpandAbc(CodeInfo) : CodeInfoに合せて自動伴
奏パターンの生成を行なう。 (3-3)GetAbcStyle() : 利用可能な自動伴奏スタイルの
一覧を得る。 (3-4)GetAbcType() : 利用可能な自動伴奏タイプの一覧
を得る。
【0042】(4)アサイナモジュールが受信可能なメッ
セージおよび実行する内容 (4-1)GetChannelMaxNum() : アサイン可能な最大チャン
ネル数を得る。 (4-2)GetIdleChannel() : 利用可能な空きチャンネルの
情報を得る。 (4-3)AssignChannel(ToneInformation) : ToneInformat
ionを空きチャンネルにアサインする。 (4-4)Truncate(TruncateArgorithm) : TruncateArgorit
hmに応じて何れかの楽音をトランケートする。
【0043】次に、図5〜図9のフローチャートを参照
して、この実施例の電子楽器の動作を詳しく説明する。
【0044】図5は、立ち上げプログラムのフローチャ
ートである。このプログラムは、ROM102に格納さ
れており、電源投入時またはユーザの指示(いわゆる、
リセット)により実行を開始する。まずCPU101
は、ステップ501で二次記憶装置109からメインモ
ジュール(図3の301)を読み込む。そして、ステッ
プ502でそのメインモジュールを起動する。
【0045】図6は、図5のステップ502で起動され
たメインモジュールの動作を説明するためのフローチャ
ートである。メインモジュールでは、基本的に信号の流
れで下位の側からモジュールを読み込む。読み込みは、
上述したように、二次記憶装置109から一時記憶装置
であるRAM103へ読み込む。
【0046】まず、ステップ601で音源リソースを読
み込み、ステップ602でアサイナリソースを読み込
む。これらの読み込みについては、図8および図9
(a)で後述する。ステップ603では、操作子リソー
スを読み込む。ここでは、鍵盤ドライバ(図3の30
2)を読み込み、さらに各種の操作子に関するドライバ
(不図示)などを読み込む。次に、ステップ604で機
能リソースを読み込む。ここでは、自動伴奏リソースと
自動演奏リソースを読み込むが、詳しくは図9(b)お
よび図10で後述する。次に、ステップ605でインタ
ーフェース(I/F)リソース(MIDIドライバな
ど)を読み込む。
【0047】次に、ステップ606でリソーステーブル
を参照し、リソースの接続状況を設定する。リソーステ
ーブルとは、ステップ601〜605によって読み込ん
だリソース、すなわち具体的には読み込んだソフトウェ
アモジュールの名称やタイプを登録しておくテーブル
(RAM103上に設けられる)である。逆にいえば、
リソーステーブルを参照することにより、どのようなモ
ジュールが読み込まれているかが分かる。ステップ60
6のリソースの接続状況の設定とは、読み込まれている
モジュール間でメッセージの授受が行なえるように経路
を設定する処理である。
【0048】次に、ステップ607で各リソースを起動
する。以後、ステップ608でイベントを監視し、ステ
ップ609で発生イベントに対応するメッセージを所定
のモジュールに発行する処理を繰返す。例えば、鍵盤の
押鍵があれば、その押鍵イベントをステップ608で検
出し、ステップ609でその押鍵イベントに応じたメッ
セージの発行(伴奏鍵の押鍵であれば自動伴奏モジュー
ルに押鍵情報を渡す、あるいは通常演奏用の鍵の押鍵で
あればアサイナモジュールに押鍵情報を渡す、など)を
行なう。
【0049】図7は、各モジュールの動作を説明するた
めのフローチャートである。図6のステップ607によ
る起動の指示を受けて、各モジュールでは図7の処理を
行なう。まず、ステップ701でメッセージの受信を行
ない、ステップ702で受信したメッセージに応じた処
理を行なう。そして、ステップ703でその他の処理を
行ない、ステップ704で必要なメッセージの送信を行
なう。その後、ステップ701に戻って、以上の処理を
繰返す。
【0050】例えば、ABCモジュールを例に説明する
と、ステップ701で鍵盤の和音の押鍵情報を受け、ス
テップ702でその和音のパターンを自動伴奏の伴奏パ
ターンに展開し、ステップ703でその他の処理を行な
った後、ステップ704で展開した伴奏パターンの伴奏
音をアサイナモジュールに送る、というような処理にな
る。
【0051】図8は、図6のステップ601の音源リソ
ース読み込み処理の詳細なフローチャートである。ま
ず、ステップ801で未処理の音源ハードウェアがある
かどうか調査(ハードウェアインターフェースに接続さ
れている音源をチェック)する。すべての音源ハードウ
ェアについて処理したら、ステップ802からリターン
する。未処理の音源ハードウェアがある場合は、ステッ
プ802からステップ803に進む。
【0052】ステップ803で当該音源ハードウェアの
タイプ(例えば、波形メモリ読み出し方式の音源か物理
モデル音源かなど)をレジスタTgTypeに格納する。レジ
スタTgTypeはワークレジスタであり、図4の二次記憶装
置上の音源ドライバの属性情報TgType405とは別物で
ある(以下に出現するワークレジスタも同様)。次に、
ステップ804でレジスタTgTypeで示されるタイプの音
源ドライバが二次記憶装置109上に存在するか否か判
定する。この判定は、二次記憶装置109に格納されて
いる音源ドライバの属性TgTypeを読出してワークレジス
タTgTypeの値と比較し、一致する音源ドライバを探すと
いうことである。
【0053】ステップ804で対応する音源ドライバが
二次記憶装置109上に存在しているときは、ステップ
805に進み、存在していないときはステップ801に
戻る。ステップ805では、対応する音源ドライバが複
数存在する場合、最も高機能で、新しいものを選択す
る。高機能かどうか、および新しいかどうかは、属性Ve
rsionNumおよびCreateDateを参照して判定する。
【0054】次に、ステップ806で、選択した音源ド
ライバの名称およびタイプ(レジスタTgTypeの値)をリ
ソーステーブルに登録する。そして、ステップ807
で、選択した音源ドライバを二次記憶装置109からR
AM103に読み込み、ステップ801に戻る。
【0055】図9(a)は、図6のステップ602のア
サイナリソース読み込み処理の詳細なフローチャートで
ある。まず、ステップ901で、二次記憶装置109上
のABCモジュールおよびSEQモジュールなどの予備
調査を行なう。
【0056】アサイナモジュールとしては、自動伴奏音
や自動演奏音を別にアサインするなどの高機能のものか
ら単に受けたキーコードをただアサインするだけの低機
能のものなど、種々の機能のアサイナモジュールが二次
記憶装置109に格納されている可能性がある。しか
し、ABCモジュールやSEQモジュールがないのに高
機能なアサイナをロードしても、単にメモリの無駄使い
になる。そのような場合は低機能なアサイナで十分であ
る。そこで、ステップ901で、予備調査を行なってお
く。
【0057】次に、ステップ902で、二次記憶装置1
09上のアサイナモジュールを調査する。そして、ステ
ップ903で、ステップ901,902の調査結果に応
じて利用するアサイナモジュールを決定する。具体的に
は、ステップ901の予備調査の結果に応じてどの程度
の機能のアサイナが必要かを決定し、そのようなアサイ
ナが二次記憶装置109上に複数あった場合は、高機能
で新しいものを選択する。
【0058】次に、ステップ904で、選択したアサイ
ナモジュールのタイプをワークレジスタAsTypeに格納
し、ステップ905で、そのアサイナモジュールの名称
およびタイプ(レジスタAsTypeの値)をリソーステーブ
ルに登録する。そして、ステップ906で、選択したア
サイナモジュールを二次記憶装置109からRAM10
3に読み込み、処理を終了する。
【0059】図9(b)は、図6のステップ604で実
行される自動伴奏リソース読み込み処理の詳細なフロー
チャートである。まず、ステップ911で二次記憶装置
109上のABCエンジンの調査を行ない、ステップ9
12で二次記憶装置109上のABCモジュールの調査
を行なう。そしてステップ913で、二次記憶装置10
9上に存在するABCモジュールとABCエンジンのう
ち、組合わせることが可能な組の中で、最も高機能で新
しい組合せを選択する。
【0060】次に、ステップ914で、選択したABC
エンジンのタイプをワークレジスタAbcTypeに格納し、
ステップ915で、そのABCモジュールの名称および
タイプ(レジスタAbcTypeの値)をリソーステーブルに
登録する。そして、ステップ916で、選択したABC
モジュールおよびABCエンジンを二次記憶装置109
からRAM103に読み込む。さらに、ステップ917
で、そのABCエンジンが利用可能なABCパターンD
B(複数ある場合はすべて)を、二次記憶装置109か
らRAM103に読み込み、処理を終了する。
【0061】図10は、図6のステップ604で実行さ
れる自動演奏リソース読み込み処理の詳細なフローチャ
ートである。まず、ステップ1001で二次記憶装置1
09上のSEQモジュールの調査を行なう。SEQモジ
ュールが複数存在した場合は、ステップ1002で、そ
のうち最も高機能で新しいものを選択する。
【0062】次に、ステップ1003で、選択したSE
Qモジュールで利用可能な自動演奏データの記録フォー
マットを表す情報を、ワークレジスタSeqFormat に設定
する。
【0063】次に、ステップ1004で、選択したSE
QモジュールのタイプをワークレジスタSeqTypeに格納
し、ステップ1005で、そのSEQモジュールの名称
およびタイプ(レジスタSeqTypeの値)をリソーステー
ブルに登録する。そして、ステップ1006で、選択し
たSEQモジュールを二次記憶装置109からRAM1
03に読み込む。さらに、ステップ1007で、ワーク
レジスタSeqFormatで示されるフォーマットの自動演奏
データが利用可能なフォーマットコンバータ(複数ある
場合はすべて)を、二次記憶装置109からRAM10
3に読み込み、処理を終了する。
【0064】上記実施例によれば、ソフトウェアモジュ
ールの変更が非常に容易に行なえる。例えば、電子楽器
に備えられているシーケンサのプログラムが古くなった
ので新しいシーケンサプログラムにしたい場合などは、
その新しいシーケンサプログラムをその電子楽器の二次
記憶装置に入れればよい。後は、上述した実施例のよう
に、電源オンあるいはリセット時に自動的に新しいシー
ケンサプログラムをロードしてくれるようになる。
【0065】なお本発明は、汎用のコンピュータで楽音
を発生させるような場合(広義の電子楽器といえる)に
も適用可能である。例えば、汎用のコンピュータで音源
ボードやハードディスクを装備したものに適用すれば、
上記実施例の各ソフトウェアモジュールをハードディス
クに格納しておき、ユーザによる楽音発生指示を受けた
ときに、上述の実施例のように所定のふさわしいモジュ
ールを選択してロード・実行するようにできる。各種の
モジュールは、フロッピーディスクなど持ち運び容易な
記憶媒体により供給され、ハードディスクなどにコピー
すればよいだけにすれば便宜である。
【0066】
【発明の効果】以上説明したように、この発明によれ
ば、実行時に所定のふさわしいモジュールを選択してプ
ログラムを組み立てるので、各モジュールの変更は非常
に容易である。また、必要なモジュールのみを二次記憶
装置から一次記憶装置に読み込むので一次記憶装置に無
駄なプログラムを読み込むことがない。さらに、モジュ
ール単位でプログラムを供給し、モジュール間は共通の
方式で通信することにより、プログラムの仕様の差を超
えて共用ができる。すなわち、従来のように同様の機能
なのにその機能のプログラムを入替えることができな
い、ということがなくなる。
【0067】モジュール間のインターフェースをメッセ
ージのやり取りという方式で統一したので、モジュール
の変更により簡単に機能の向上を図ることができ、また
モジュールの追加により簡単に機能を増やすことができ
る。モジュール化により必要なモジュールのみ組合わせ
ることができる。また、ABCパターンなどのデータも
モジュール化して共用できるようにできる。
【図面の簡単な説明】
【図1】この発明の一実施例に係る電子楽器のハードウ
ェアブロック図
【図2】ソフトウェアのブロックイメージを示す図
【図3】二次記憶装置に登録されているソフトウェアモ
ジュールの例を示す図
【図4】ソフトウェアモジュールの属性情報の例を示す
【図5】立ち上げプログラムのフローチャート図
【図6】メインモジュールの動作を説明するためのフロ
ーチャート図
【図7】各モジュールの動作を説明するためのフローチ
ャート図
【図8】音源リソース読み込み処理の詳細なフローチャ
ート図
【図9】アサイナリソース読み込み処理の詳細なフロー
チャート図および自動伴奏リソース読み込み処理の詳細
なフローチャート図
【図10】自動演奏リソース読み込み処理の詳細なフロ
ーチャート図
【符号の説明】
101…中央処理装置(CPU)、102…リードオン
リメモリ(ROM)、103…ランダムアクセスメモリ
(RAM)、104…MIDIインターフェース、10
5…音源ハードウェア、106…音源ハードウェア10
5のインターフェース、107…操作子ハードウェア、
108…操作子ハードウェア107のインターフェー
ス、109…二次記憶装置、110…サウンドシステ
ム、111…バスライン、201…鍵盤ドライバ、20
2…自動伴奏(ABC)モジュール、203…自動演奏
(SEQ)モジュール、204…MIDIインターフェ
ースモジュール、205…発音情報経路切替、206…
アサイナモジュール、207…音源ドライバ。

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】少なくとも、一次記憶装置と、該一次記憶
    装置にロードされたソフトウェアモジュールを実行する
    中央処理装置とを備えた電子楽器であって、 楽音を発生するための各種の要素機能を実現するソフト
    ウェアモジュールを、異種の要素機能を実現するものお
    よび同種の要素機能を実現するものを含めて複数記憶し
    た二次記憶装置と、 電源投入またはユーザの指示を契機として、前記二次記
    憶装置から、該ソフトウェアモジュールが幾つかのサブ
    モジュールで構成される場合は該サブモジュールの存在
    を調査し必要なサブモジュールが存在するものを選択す
    る、あるいは該ソフトウェアモジュールに対して情報の
    流れで下位に位置するソフトウェアモジュールが存在し
    ないものはロードしない、のうち少なくとも1つに基づ
    いて、ロードすべきソフトウェアモジュールを選択し、
    前記一次記憶装置にロードするモジュールロード手段と
    を備えたことを特徴とする電子楽器。
  2. 【請求項2】少なくとも、一次記憶装置と、該一次記憶
    装置にロードされたソフトウェアモジュールを実行する
    中央処理装置とを備えた電子楽器であって、 楽音を発生するための各種の要素機能を実現するソフト
    ウェアモジュールを、異種の要素機能を実現するものお
    よび同種の要素機能を実現するものを含めて複数記憶し
    た二次記憶装置と、 電源投入またはユーザの指示を契機として、前記二次記
    憶装置からロードすべきソフトウェアモジュールを選択
    し、前記一次記憶装置にロードするモジュールロード手
    段とを備え、 前記複数のソフトウェアモジュールは、鍵盤を制御する
    鍵盤モジュールと、音源の発音チャンネルに発音割当て
    を行なうアサイナモジュールと、音源を制御する音源ド
    ライバのいずれかの要素機能を実現し、各ソフトウェア
    モジュールはモジュール間でメッセージをやり取りする
    ことにより情報の伝達を行なうものであり、前記一次記
    憶手段にロードされたソフトウェアモジュールのうちの
    一部のみを同種の要素機能を実現する他のソフトウェア
    モジュールと交換可能としたことを特徴とする電子楽
    器。
  3. 【請求項3】さらに、前記ソフトウェアモジュールは、
    記憶された演奏データについて自動演奏を行なう自動演
    奏モジュールと、和音情報を伴奏パターンに展開すると
    ともに展開された伴奏パターンの伴奏音の発生を制御す
    る自動伴奏モジュールを含むことを特徴とする請求項2
    に記載の電子楽器。
  4. 【請求項4】前記アサイナモジュールは、少なくとも低
    機能なものと高機能なものとを含み、 前記モジュールロード手段は、前記自動演奏モジュール
    あるいは自動伴奏モジュールがロードされる場合には、
    前記高機能なアサイナモジュールをロードし、自動演奏
    モジュールあるいは自動伴奏モジュールがロードされな
    い場合は、前記低機能なアサイナモジュールをロードす
    るようにしたことを特徴とする請求項3に記載の電子楽
    器。
  5. 【請求項5】さらに、前記各ソフトウェアモジュールの
    属性に関する属性情報をも記憶し、前記モジュールロー
    ド手段は、前記属性情報に基づいてロードするソフトウ
    ェアモジュールを判断することを特徴とする請求項2
    ら4の何れか1つに記載の電子楽器。
  6. 【請求項6】前記属性情報は、対応するソフトウェアモ
    ジュールのバージョン番号および作成日時および要素機
    能の種別を含むものであって、 前記モジュールロード手段は、前記二次記憶手段に同一
    要素機能のソフトウェアモジュールが複数記憶されてい
    た場合は、バージョン番号あるいは作成日時に基づいて
    ロードすべきソフトウェアモジュールを選択することを
    特徴とする請求項5に記載の電子楽器。
  7. 【請求項7】前記属性情報は、対応するソフトウェアモ
    ジュールが受信可能なメッセージを示す受信可能メッセ
    ージリストを含むことを特徴とする請求項5または6に
    記載の電子楽器。
JP07080595A 1995-03-03 1995-03-03 電子楽器 Expired - Fee Related JP3228394B2 (ja)

Priority Applications (12)

Application Number Priority Date Filing Date Title
JP07080595A JP3228394B2 (ja) 1995-03-03 1995-03-03 電子楽器
TW84111024A TW300297B (ja) 1995-03-03 1995-10-19
US08/609,718 US5898118A (en) 1995-03-03 1996-03-01 Computerized music apparatus composed of compatible software modules
SG1999001644A SG76606A1 (en) 1995-03-03 1996-03-01 Computerized music apparatus composed of compatible software modules
CNB031223303A CN100573659C (zh) 1995-03-03 1996-03-01 具有兼容软件模块的计算机化乐器
EP96103155A EP0730260B1 (en) 1995-03-03 1996-03-01 Computerized music apparatus with sound emulation
CNB961060387A CN1154973C (zh) 1995-03-03 1996-03-01 具有兼容软件模块的计算机化乐器
DE69615240T DE69615240T2 (de) 1995-03-03 1996-03-01 Musikrechner mit Klang-Emulation
SG1996006843A SG59968A1 (en) 1995-03-03 1996-03-01 Computerized music apparatus composed of compatible software modules
EP99124890A EP0987679B1 (en) 1995-03-03 1996-03-01 Computerized music apparatus composed of compatible software modules
DE69630623T DE69630623T2 (de) 1995-03-03 1996-03-01 Musikrechner bestehend aus vereinbaren Softwaremodulen
KR1019960005510A KR100372311B1 (ko) 1995-03-03 1996-03-02 전자악기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07080595A JP3228394B2 (ja) 1995-03-03 1995-03-03 電子楽器

Publications (2)

Publication Number Publication Date
JPH08241079A JPH08241079A (ja) 1996-09-17
JP3228394B2 true JP3228394B2 (ja) 2001-11-12

Family

ID=13442148

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07080595A Expired - Fee Related JP3228394B2 (ja) 1995-03-03 1995-03-03 電子楽器

Country Status (2)

Country Link
JP (1) JP3228394B2 (ja)
TW (1) TW300297B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3293474B2 (ja) * 1996-06-06 2002-06-17 ヤマハ株式会社 楽音発生方法

Also Published As

Publication number Publication date
TW300297B (ja) 1997-03-11
JPH08241079A (ja) 1996-09-17

Similar Documents

Publication Publication Date Title
EP1276098B1 (en) Electronic musical apparatus having an interface for connecting to a communication network
JP3235409B2 (ja) ミュージックシステム、音源および楽音合成方法
JP3992243B2 (ja) 演奏データ処理システム
JP3228394B2 (ja) 電子楽器
US7030309B2 (en) Electronic musical apparatus and program for electronic music
JP2629891B2 (ja) 楽音信号発生装置
JP4193738B2 (ja) 電子音楽装置及びプログラム
JPH0274997A (ja) 電子楽器
JP2522794Y2 (ja) 電子楽器
JP3646823B2 (ja) 電子楽器
JPH0458291A (ja) 楽音波形発生装置
JPS62208099A (ja) 楽音発生装置
JP2961867B2 (ja) 楽音信号発生装置
JP3026344B2 (ja) 電子機器
CN1783210B (zh) 动态配置频道的方法及其音乐合成器以及音乐合成系统
JP2002258861A (ja) 電子機器、その設定方法および記憶媒体
JP3035991B2 (ja) 楽音波形発生装置
JP3059988B2 (ja) 音色データ変換方法及び装置
JP3690174B2 (ja) 楽音発生装置
JP3010693B2 (ja) 楽音波形発生装置
JP4946280B2 (ja) 電子楽器およびプログラム
JP3139494B2 (ja) 音色データ変換方法
JP4096405B2 (ja) カラオケ装置
JP3687317B2 (ja) 楽音発生装置
JPH10282977A (ja) 楽音再生装置及びシステム

Legal Events

Date Code Title Description
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 (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070907

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20080907

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090907

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100907

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100907

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110907

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees