JP2626387B2 - 電子楽器 - Google Patents

電子楽器

Info

Publication number
JP2626387B2
JP2626387B2 JP3341548A JP34154891A JP2626387B2 JP 2626387 B2 JP2626387 B2 JP 2626387B2 JP 3341548 A JP3341548 A JP 3341548A JP 34154891 A JP34154891 A JP 34154891A JP 2626387 B2 JP2626387 B2 JP 2626387B2
Authority
JP
Japan
Prior art keywords
cpu
data
bus
ram
tone
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
JP3341548A
Other languages
English (en)
Other versions
JPH06222761A (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 JP3341548A priority Critical patent/JP2626387B2/ja
Priority to US07/995,577 priority patent/US5376750A/en
Publication of JPH06222761A publication Critical patent/JPH06222761A/ja
Application granted granted Critical
Publication of JP2626387B2 publication Critical patent/JP2626387B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/002Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
    • G10H7/004Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof with one or more auxiliary processor in addition to the main processing unit

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【産業上の利用分野】
【0001】この発明は、例えば、電子ピアノ等の電子
楽器に係わり、特に、複数の演算処理手段を備えた電子
楽器に関する。
【0002】
【従来の技術】周知のように、電子ピアノ等の電子楽器
においては、押鍵検出のためのキースキャンや、押鍵情
報に応じて楽音信号を発生する音源回路の制御、あるい
は発音割り当てなどの各種割込み処理がなされている。
特に、近年の電子楽器では、付加機能の増大に伴って大
量のデータを扱うため、高速な処理が要求されている。
そこで、こうした要求を具現するため、複数の演算処理
手段を具備し、これらによって大量のデータを高速に処
理するようにした電子楽器が開発されている。
【0003】この種の電子楽器は、例えば、上述した押
鍵検出や、各種パネルスイッチ処理を行う第1のCPU
と、この第1のCPUから供給されるデータに基づいて
音源回路を制御して楽音合成する第2のCPUと、これ
ら第1および第2のCPUを所定のタイミングで切替動
作させる時分割制御手段とを有しており、いずれか一方
のCPUがバスを専有するように構成されている。
【0004】このような構成によれば、処理機能を2つ
のCPUに分担させるため、楽器全体としての処理速度
が向上すると共に、演奏機能を高めることが可能になっ
ている。なお、こうした技術については、本出願人によ
る特開平2−257198号に開示されている。また、
複数のCPUを搭載する電子楽器としては、個々のバス
に接続されたCPU同士が互いにパラレル入出力ポート
を介してデータの授受を行うようにする態様もある。
【0005】
【発明が解決しようとする課題】ところで、上述した従
来の電子楽器において、複数のCPUを具備し、時分割
制御に応じていずれか一方のCPUがバスを専有する方
式では、一方のCPUがバスを専有すると、他方のCP
Uは待機状態になるため、両CPUが同時にバスを使用
することができず、結果的にCPU資源効率が上がらな
いという問題がある。また、専有バスを持つCPU同士
が互いにパラレル入出力ポートを介してデータ授受を行
う態様にあっては、データ伝送速度の制限を受ける上、
データを共有化することができないという問題もある。
この発明は上述した事情に鑑みてなされたもので、複数
のCPUを搭載した場合においても、各CPUはバスを
専有し、かつ、データの共有化や高速なデータ転送を行
うことができる電子楽器を提供することを目的としてい
る。
【0006】
【課題を解決するための手段】請求項1記載の発明は、
複数の手段が各々接続された第1および第2のバスと、
前記第1のバスに接続され、前記第1のバスに接続され
た複数の前記手段を用いて演奏操作に対応した楽音情報
を発生する第1の演算処理手段と、前記第2のバスに接
続され、前記第2のバスに接続された複数の前記手段を
用いて前記楽音情報に応じて音源を制御する第2の演算
処理手段とを備えた電子楽器において、前記第1および
第2の演算処理手段からアクセスが可能な記憶手段と、
前記第1のバスと前記第2のバスとの間に介在する手段
であって、常時、前記第2の演算処理手段を、前記第2
のバスを介して前記記憶手段へアクセス可能とし、前記
第1の演算処理手段から前記第1の記憶手段へのアクセ
ス要求があった場合のみ、前記第1の演算処理手段を、
前記第1のバスを介して前記記憶手段へアクセスを可能
とする選択手段とを具備することを特徴としている。
た、請求項2記載の発明は、前記第1および第2の演算
処理手段からアクセス可能である一時記憶手段を備え、
前記第1の演算処理手段は、アクセス要求あるいは前記
楽音情報を前記一時記憶手段に書き込み、前記第2の演
算処理手段は、前記一時記憶手段に記憶されたデータが
前記アクセス要求であれば該アクセス要求に応じて前記
選択手段を制御し、該データが楽音情報であれば該楽音
情報に応じて前記音源を制御することを特徴としてい
る。
【0007】
【作用】請求項1記載の発明においては、選択手段は、
常時、第2の演算処理手段を第2のバスを介して記憶手
段へ接続し、第1の演算手段から記憶手段へのアクセス
要求があった場合のみ、第1の演算手段を第1のバスを
介して記憶手段へ接続させる。これにより、各演算処理
手段は個々に自身のバスを専有しつつ、記憶手段を互に
共有化する。しかもデータの共有化や高速なデータ転送
をすることができる。 また、請求項2記載の発明におい
ては、第1の演算処理手段は、アクセス要求あるいは前
記楽音情報を前記一時記憶手段に書き込む。 一方、第2
の演算処理手段は、一時記憶手段に記憶されたデータが
アクセス要求であれば該アクセス要求に応じて選択手段
を制御し、該データが楽音情報であれば該楽音情報に応
じて音源を制御する。これにより、記憶手段を用いて楽
音情報を転送する場合に比べて、アクセス要求を送出し
た後に楽音情報を転送する必要がないので、楽音情報を
高速で転送することができる。
【0008】
【実施例】以下、図面を参照してこの発明の実施例につ
いて説明する。 A.実施例の構成 図1はこの発明の一実施例による電子楽器の全体構成を
示す図である。この図において、10はキーオン信号や
キーコード等の押鍵情報や、外部MIDI楽器から供給
されるMIDI情報、あるいは形成する楽音の音色を指
定する音色情報等を発生する楽音情報発生部である。2
0は楽音情報発生部10において生成された各種データ
(以下、これを楽音情報と言う)に応じて音源部40
(後述する)を制御する音源制御部である。30は通信
制御部であり、楽音情報発生部10と音源制御部20と
のデータ授受を制御する。音源部40は、音源制御部2
0から供給される楽音情報に従って楽音合成し、これを
楽音として発する。以下では、これら各部の構成につい
て順次説明する。
【0009】(1)楽音情報発生部10の構成 図1において、11は押鍵検出回路等を備えた鍵盤であ
り、押鍵操作に応じたキーオン信号、キーコード等の押
鍵情報を発生する。12はこの電子楽器のパネル面に配
設される各種パネルスイッチである。このパネルスイッ
チ12は、例えば、音色を指定する操作スイッチや、効
果音処理を指定する操作スイッチなどが配設されてお
り、それぞれ操作に対応したスイッチ信号を発生するよ
うに構成されている。13はLCD(液晶表示素子)等
から構成される表示器である。14は、例えば、フロッ
ピーディスクに記憶された波形サンプルデータを読取る
フロッピーディスクドライブである。
【0010】15は外部のMIDI楽器(図示略)と接
続し、MIDI情報を授受するMIDIインタフェース
である。16はマスタバスB1を介して供給される各種
データに基づいて楽音情報を発生するCPUである。こ
の楽音情報は、形成すべき楽音信号の音高および音色な
どを指定するものである。これは後述するCPU16の
動作に基づき、マスタバスB1を介してアドレスMAB
およびデータMDBとして通信制御部30に供給され
る。17はCPU16によってロードされる制御プログ
ラムが記憶されるROM、18はCPU16のワークエ
リアとしても使用され、各種演算結果やレジスタデータ
が一時記憶されるRAMである。
【0011】(2)音源制御部20の構成 音源制御部20は、通信制御部30から供給される楽音
情報に応じてエンベロープ波形情報や発音/消音指示情
報などを発生し、これを音源部40に供給するものであ
り、CPU21,ROM22およびタイマ23から構成
されている。CPU21はスレーブバスB2を介して供
給される楽音情報(アドレスSAB、データSDB)を
取り込み、楽音形成時の発音制御を行う。
【0012】また、このCPU21は、信号CHG2
(後述する)が供給された場合に、スリープモードに移
行し、その動作が一時停止するように構成されている。
なお、こうしたCPU21の動作については後述する。
ROM22には、上記CPU21によってロードされる
制御プログラムが記憶されている。タイマ23は、自動
演奏時に用いられるテンポクロックを発生する。
【0013】(3)通信制御部30の構成 通信制御部30は、楽音情報発生部10および音源制御
部20の間でなされるデータ通信を制御する通信制御回
路31とRAM32とから構成されている。RAM32
は、バッテリバックアップされたSRAM等から構成さ
れ、記憶データを保持するようにしている。こうしたR
AM32は、通信制御回路31を介してCPU16およ
びCPU21の両者によってアクセスされる。ここで、
CPU16は、図8に示すように、自身のRAM18お
よびRAM32の記憶エリアE1をアドレス領域に含ん
でいる。すなわち、RAM32は、特定の記憶領域をC
PU21のワークエリアとして提供しつつ、それ以外の
記憶領域をCPU16およびCPU21の両者で共有す
る態様としている。
【0014】次に、図2を参照し、通信制御回路31の
構成について説明する。この図において、50はマスタ
バスB1から供給されるアドレス信号MABをデコード
し、各種アドレス信号を形成するアドレスデコーダであ
る。デコーダ50から出力される各種アドレス信号の
内、信号MRMはRAM32の読み出しアドレス、信号
MWMはRAM32の書き込みアドレスである。また、
信号WCMDR,WCHGRはレジスタの書き込みアド
レス、信号RACKRはレジスタの読み出しアドレスを
表す。
【0015】51はセレクタであり、信号CHG1に応
じてRAM32に供給されるアドレス信号を切り替え
る。例えば、信号CHG1が「1」の場合には、マスタ
バスB1から供給されるアドレス信号MABを選択し、
一方、「0」の場合にはスレーブバスB2から供給され
るアドレス信号SABを選択する。52は上述した信号
CHG1がアドレスWCHGRに従って書き込まれるレ
ジスタ、53はこのレジスタ52の出力を反転し、信号
CHG2を発生するインバータである。
【0016】54a,54bはそれぞれアンドゲート、
55a,55bは各々アンドゲート54a,54bの出
力に応じて制御されるゲートである。すなわち、ゲート
55aは、セレクタ51がマスタバスB1を選択し、か
つ、書き込みアドレスMWMが発生した場合に、データ
MDBをRAM32に供給する。また、ゲート55b
は、セレクタ51がマスタバスB1を選択し、かつ、読
み出しアドレスMRMが発生した場合に、RAM32か
ら読み出したデータMDBをマスタバスB1に供給す
る。
【0017】56はスレーブバスB2から供給されるア
ドレス信号SABをデコードし、各種アドレス信号を形
成するアドレスデコーダである。ここで、デコーダ56
から出力される各種アドレス信号の内、信号SRMはR
AM32の読み出しアドレス、信号SWMはRAM32
の書き込みアドレスである。また、信号RCMDR,W
ACKRはレジスタの読み出しアドレスを表す。
【0018】57a,57bはそれぞれアンドゲート、
58a,58bは各々アンドゲート57a,57bの出
力に応じて制御されるゲートである。すなわち、ゲート
58aは、セレクタ51がスレーブバスB2を選択し、
かつ、書き込みアドレスSWMが発生した場合に、デー
タSDBをRAM32に書き込む。また、ゲート58b
は、セレクタ51がスレーブバスB2を選択し、かつ、
読み出しアドレスSRMが発生した場合に、RAM32
から読み出したデータSDBをスレーブバスB2に供給
する。
【0019】59はマスタバスB1から供給されるコマ
ンドデータを一時記憶するレジスタである。このコマン
ドデータとは、CPU16からCPU21に対する指示
を表し、例えば、データ転送を行うデータ転送コマンド
等がある。このレジスタ59には、前述した書き込みア
ドレスWCMDRに応じてCPU16から供給されるコ
マンドデータが書き込まれ、読み出しアドレスRCMD
Rによって当該データがCPU21側に読み出される。
60はスレーブバスB2から供給される応答データを一
時記憶するレジスタである。レジスタ60には、前述し
た書き込みアドレスWACKRに応じてCPU21から
供給される応答データが書き込まれ、読み出しアドレス
RACKRによって当該データがCPU16側へ読み出
される。
【0020】このように、通信制御回路31は、CPU
16の切替要求に応じてRAM32をマスタバスB1側
に接続させ、これによりCPU16からRAM32への
データ転送を可能とし、一方、CPU16の切替要求が
無い場合には該RAM32をスレーブバスB2側に接続
しておくようになっている。また、CPU16側(楽音
情報発生部10)からCPU21側(音源制御部20)
への転送データ量が少ない時、すなわち、前述した楽音
情報やコマンドデータを送出する場合にはRAM32を
介したデータ転送を行わず、レジスタ59を介してこれ
を行う。
【0021】(4)音源部40の構成 次に、再び図1を参照して音源部40の構成について説
明する。図1において、41aは図示されていないRO
Mカードが介装されるカードスロットである。このカー
ドスロット41aに介装されるROMカードには、例え
ば、波形データ等の音色指定情報が記録されている。4
1bは上記ROMカードと同様に波形データが記録され
る波形ROM、42は波形RAMである。波形RAM4
2は、上述したROMカードから読み出した波形サンプ
ルを記憶したり、あるいは楽音情報発生部10側から転
送される波形データあるいはMIDIデータを記憶す
る。
【0022】43は周知の波形メモリ読み出し方式によ
り構成される音源回路である。音源回路43は、音源制
御部20から供給される楽音情報に基づいて楽音信号を
発生する。44は楽音信号をアナログ信号に変換して出
力するD/A変換器である。45はサウンドシステムで
あり、D/A変換器44の出力信号に対してノイズ除去
や効果音を付与するフィルタリングを施した後、これを
増幅してスピーカから発音させる。
【0023】B.実施例の動作 次に、上記構成による実施例の動作について図3〜図9
を参照し、説明する。なお、この実施例においては、特
に、通信制御部30を介して楽音情報発生部10と音源
制御部20との間でなされるデータ転送に特徴がある。
したがって、以下では、このデータ転送動作を重点にお
き、CPU16側(楽音情報発生部10)の動作と、C
PU21側(音源制御部20)の動作とについて示す。
【0024】(1)CPU16側(楽音情報発生部1
0)の動作 a.メインルーチンの動作 まず、この電子楽器に電源が投入されると、CPU16
はROM17に記憶された制御プログラムをロードし、
図3に示すメインルーチンを起動する。これにより、C
PU16の処理はステップSa1に進む。ステップSa
1では、各種レジスタの内容をイニシャライズすると共
に、パネルスイッチ12の設定状態に対応した初期設定
を行い、次のステップSa2に進む。ステップSa2で
は、演奏者の押離鍵操作に応じてキーオン/オフ信号、
キーコード等の楽音情報を発生し、これを通信制御回路
31を介して音源制御部20に供給する。この場合、楽
音情報は、マスタバスB1からレジスタ59を経由して
スレーブバスB2に転送される。
【0025】次いで、CPU16の処理がステップSa
3に進むと、MIDIイベント処理が行われる。このM
IDIイベント処理とは、前述したMIDIインタフェ
ース15を介してMIDI情報が供給される場合であ
り、受信したMIDI情報に含まれるノートオン/オ
フ、あるいはノートコード等のノートイベントをレジス
タ59を介してCPU21側に転送する。続いて、ステ
ップSa4に進むと、モード切換スイッチ処理がなされ
る。モード切換スイッチ処理では、パネルスイッチ12
が操作された場合、操作されたスイッチに対応した動作
モード「0」〜「4」を設定する。そして、ステップS
a5では、現時点で設定されている動作モードを識別
し、識別した動作モードへ処理を進める。以下、各動作
モード毎になされる処理の概要について示す。
【0026】音色選択処理 動作モードが「0」である時には、CPU16の処理は
ステップSa6に進み、音色選択処理が行われる。この
処理では、例えば、所定のMIDIチャンネルに対して
音色を指定した場合、後述する動作に基づき、RAM3
2の所定記憶エリアへ指定した音色データが一括して転
送される。
【0027】音色エディット処理 動作モード値が「1」である時には、ステップSa7に
進み、音色エディット処理が行われる。ここでは、RA
M18に取込んだ音色データをエディットし、これによ
り変化が生じた音色データだけをRAM32側へ転送す
る。このエディットは、CPU16が直接RAM32の
データを読み書きして行っても良いし、または、レジス
タ59,60を介してCPU16からCPU21への指
示で行うようにしても良い。後者の場合、レジスタ52
を書き換えてRAMを切換える必要がないので、処理が
楽になる。
【0028】MIDIデータ転送処理 動作モード値が「2」である時には、ステップSa8に
進み、MIDIデータ転送処理が行われる。この処理に
おいては、MIDIインタフェース15を介してバルク
ダンプされる音色データあるいは波形サンプルデータを
一旦、RAM17に取込み、この後にRAM32へ転送
する。なお、波形サンプルデータは、さらに、CPU2
1により音源回路43を介して波形RAM42に転送さ
れる。また、これとは逆に、波形ROM41あるいは波
形RAM42から読み出した波形サンプルデータをMI
DIインタフェース15からバルクダンプする場合に
は、該データがCPU21からCPU16を介してRA
M18へ転送される。
【0029】フロッピー処理/その他の処理 動作モード値が「3」である時には、ステップSa9に
進み、フロッピー処理が行われる。この処理は、上述し
たMIDIデータ転送処理と同様であり、例えば、フロ
ッピーディスクから読み出した波形データをRAM32
へ転送する。そして、動作モード値が上記「0」〜
「3」以外であれば、ステップSa10に進み、その他
の処理が行われる。ここで言うその他の処理とは、例え
ば、ROMカードに波形サンプルデータと音色データと
が混在している場合、その音色データのみを抽出し、こ
れをRAM32あるいはRAM18に転送する処理であ
る。
【0030】次に、これら上述した各処理のいずれかが
完了すると、CPU16の処理は再びステップSa2に
戻り、前述した過程を繰り返す。このように、CPU1
6においては、演奏者の押離鍵操作に従った楽音情報、
あるいは外部のMIDI楽器から供給されるMIDI情
報に基づく楽音情報を発生し、これをレジスタ59を介
してCPU21側に供給する。そして、さらに、パネル
スイッチ12の設定操作がなされた時には、その設定に
従った動作モードが起動され、データ転送が行われる。
【0031】b.音色選択処理ルーチンの動作 ここでは、音色選択処理(ステップSa6)を例にと
り、データ転送動作の詳細について説明する。前述した
ように、演奏者によって音色選択スイッチ(図示略)が
操作されると、CPU16の処理はステップSa6に進
み、これにより図4に示す音色選択処理ルーチンが起動
されてステップSb1に進む。ステップSb1では、レ
ジスタTCNに対応する音色番号をセットすると共に、
音色を指定するMIDIチャンネル番号をレジスタMC
Hにセットする。なお、この音色番号とは、音色の種別
を示すものであり、操作された音色選択スイッチに対応
した番号である。
【0032】次に、ステップSb2に進むと、CPU1
6は切換要求コマンドを発生し、これをレジスタ59に
書き込む。そして、ステップSb3では、切換要求コマ
ンドに対してCPU21側から応答データACKが送出
されるまで待機する。すなわち、レジスタ60に「1」
が書き込まれると、応答データACKがあったとして判
断結果が「YES」となり、次のステップSb4に進
む。ステップSb4では、レジスタ52に「1」を書き
込む。この結果、通信制御回路31はRAM32とマス
タバスB1とを接続すると共に、信号CHG2を発生し
てCPU21をスリープモードに移行させる。
【0033】次いで、ステップSb5では、ROM17
(あるいはRAM18)に記憶されている音色データの
内、レジスタTCNにセットされた音色番号が指定する
音色データを読み出し、マスタバスB1を介してRAM
32に書き込む。この音色データの書き込みは、アドレ
ス信号MWMに従ってなされる。この場合、アドレス信
号MWMは、音色選択がなされたMIDIチャンネル番
号に対応する記憶エリア(図9(b)参照)を示す。
【0034】ここで、CPU16は図8に示すアドレス
マップを有しており、ROM17(あるいはRAM1
8)に記憶されたデータを一括転送する際には、自身の
アドレス領域として管理するRAM32の所定記憶エリ
アE1に書き込むようになっている。次いで、データ転
送を完了したCPU16は、処理をステップSb6に進
め、レジスタ52の内容を「0」にセットする。これに
より、通信制御回路31はRAM32とマスタバスB1
とを切り離し、該RAM32をスレーブバスB2と接続
すると共に、CPU21を通常のモードに復帰させる。
次いで、このようなバスラインの切換えがなされた後、
ステップSb7に進み、レジスタ59に転送終了の旨を
表すコマンドを送出し、前述したメインルーチンに復帰
する。
【0035】このように、音色選択処理ルーチンにおい
ては、CPU16がCPU21に対して転送要求を出
し、CPU21がこれを了解した時点にバスラインを切
換えてRAM32をCPU16側に接続し、この後にデ
ータ転送を行う。そして、データ転送が終了した時点で
再びバスラインを切換え、RAM32をCPU21側に
接続する。
【0036】(2)CPU21側(音源制御部20)の
動作 a.メインルーチンの動作 上述したCPU16側と同様、この電子楽器に電源が投
入されると、CPU21はROM22に記憶された制御
プログラムをロードし、図5に示すメインルーチンを起
動する。これにより、CPU21の処理はステップSc
1に進む。ステップSc1では、各種レジスタの内容を
イニシャライズする初期設定を行い、次のステップSc
2に進む。
【0037】ステップSc2では、発音チャンネル番号
が一時記憶されるレジスタiに「1」をセットし、次の
ステップSc3に進む。ステップSc3では、発音チャ
ンネル番号「1」の発音を制御する。すなわち、楽音情
報発生部10から供給される楽音情報に応じて発音チャ
ンネル「1」におけるエンベロープ波形などを制御す
る。次いで、ステップSc4に進むと、CPU16側か
らの切換要求コマンドに応じて切換受付処理を実行す
る。この切換要求コマンドは、CPU16がRAM32
を専有するよう要求するものであり、前述したステップ
Sb2(図4参照)においてCPU16が送出する。な
お、こうした切換要求に応じてなされる切換受付処理の
動作については後述する。
【0038】次に、ステップSc5に進むと、全発音チ
ャンネル分、すなわち、この例では16音の発音チャン
ネルを有しており、これらについての発音制御がなされ
た否かを判断し、全発音チャンネル分の発音制御を行っ
た場合には判断結果が「YES」となり、上述したステ
ップSc2に戻る。一方、全発音チャンネル分の発音制
御が完了していない場合には、ステップSc6に進み、
レジスタiにセットされる発音チャンネル数を1インク
リメントし、上述したステップSc3に戻る。このよう
に、メインルーチンにおいては、楽音情報に応じて順次
発音チャンネル毎の発音制御がなされると共に、CPU
16からの切換え要求を受け付けるようにしている。こ
のフローでは、CPU21が絶えず音源経時変化処理
(振幅、フィルタ、ピッチ等のEGや変調効果のパラメ
ータの時間変化)を行うようになっているが、これは、
タイマインタラプトにより定期的に行うようにしても良
い。
【0039】b.切換受付処理ルーチンの動作 CPU21の処理が上述したステップSc4に進むと、
図6に示す切換受付処理ルーチンが起動され、ステップ
Sd1に進む。ステップSd1では、レジスタCREQ
の内容が「1」であるか否かを判断する。レジスタCR
EQには、CPU16側から切換要求コマンドが供給さ
れた場合に、後述する割込み処理によって「1」が書き
込まれる。ここで、レジスタCREQの値が「1」でな
い場合には、切換要求が無いとしてこの判断結果が「N
O」となり、このルーチンを終了し、メインルーチン
(図5参照)へ復帰する。一方、レジスタCREQに
「1」が書き込まれている場合には、判断結果が「YE
S」となり、次のステップSd2に進む。なお、CPU
16からCPU21への直接の割込みラインを用い、そ
の割込みに応じてCPU21がステップSc4に対応す
る切換受付処理を行うようにしても良い。
【0040】 ステップSd2では、CPU16側の切
換要求を了解すると、応答データACKを「1」として
レジスタ60にセットする。次いで、ステップSd3に
進むと、レジスタWTFの内容が「1」であるか否かを
判断する。ここで、レジスタWTFは、RAM32の記
憶エリアE2(図9(b)参照)に設けられており、該
レジスタWTFには波形サンプルデータを音源部40へ
転送するか否かを指示する信号が記憶される。なお、こ
の波形サンプルデータは、音源部40での楽音形成に用
いるため、ディスクドライブ14に挿入されたフロッピ
ーディスク(場合によっては、波形サンプルデータをフ
ロッピーディスクから一旦読み出して記憶しているRA
M18)より供給され、RAM32の記憶エリアE3
(図9(b)参照)を中継バッファとして、波形RAM
42またはカードスロット41aに挿入されたRAMカ
ードに転送される。逆に、波形RAM等に記憶された波
形サンプルデータを同記憶エリアE3を中継バッファと
して該フロッピーディスクに転送し、記憶することも可
能である。
【0041】 そして、例えば、このレジスタWTFに
「1」がセットされていない場合には、CPU16側か
らRAM32へのデータ転送だけであるので、判断結果
は「NO」となり、次のステップSd4に進む。ステッ
プSd4では、CPU16側からRAM32へのデータ
転送が完了するまで待機する。すなわち、後述する割込
み処理によってレジスタCREQに「0」が書き込まれ
るまで待機状態となり、これが書き込まれた時点で転送
終了とし、この判断結果が「YES」となり、ステップ
Sd6に進む。CPU16からRAM32へのデータ転
送は、例えば、前述した図4のステップSb5における
音色データのMCHの示すch記憶領域への書き込みで
ある。この時、CPU16は、該転送に先立って切換要
求をCMDR59に送出し、CPU21が「CREQ=
1」を判断してACKR60を「1」にセットするのを
待って、RAM32をCPU16側に切換え、RAM3
2への書き込みを行う。書き込みが終了したら、CPU
16はRAM32をCPU21側に戻した後、CMDR
59に転送終了を送出し、CPU21をステップSd4
における書き込み終了待ちの無限ループ状態から復帰さ
せる。
【0042】 一方、音源部40と楽音情報発生部10
との間で波形サンプルデータの転送を行う場合は、ステ
ップSd3の判断結果が「YES」となり、ステップS
d5に進み、波形サンプルデータの転送がなされる。こ
の転送処理は、データ転送方向DIR,波形番号WNお
よび波形サイズWSの各転送情報に基づいてなされるも
のであり、これら転送情報は、RAM32の記憶エリア
E3(図9参照)の先頭アドレスに記憶される。ここ
で、転送方向DIRは、上述した波形サンプルデータの
転送が、楽音情報発生部10(デイスクドライブ14ま
たはRAM18)から音源部40(カードまたは波形R
AM)の方向と、音源部40(カード、波形RAMまた
は波形ROM)から楽音情報発生部10の方向のいずれ
であるかを指定するデータである。この転送方向DIR
に従ってCPU16とCPU21とが交互に記憶エリア
E3をアクセスして波形サンプルデータの転送が行われ
る。例えば、フロッピーディスクから波形RAM42に
向けて波形サンプルデータを転送する場合は、まず、C
PU16がフロッピーディスクに書き込まれた波形サン
プルデータの最初の1ブロック分を読み出して記憶エリ
アE3に書き込み、CPU21が記憶エリアE3から該
1ブロック目を読み出して波形RAM42の波形番号W
Nに対応する記憶領域に書き込む。続いて、2ブロック
目をCPU16が記憶エリアE3に書き込み、CPU2
1が読み出して波形RAM42の次の記憶領域へ…とい
うように、順次、ブロック単位で波形RAM42へ転送
し、波形サイズWSで指定される量の波形サンプルデー
タを転送した所で転送動作を終了する。その他の転送の
場合も同様で、記憶エリアE3を中継バッファとして用
いてブロック単位の転送が行われる。転送が終了した
ら、処理は次のステップSd6に進み、ACKレジスタ
60に「0」をセットする。CPU16はACKレジス
タ60を読むことにより、上述した切換受付処理に伴う
CPU21の波形サンプル転送処理が終了したことを認
識する。
【0043】このように、切換受付処理ルーチンにおい
ては、レジスタCREQに「1」がセットされた時にR
AM32をCPU16側に専有させ、レジスタWTFに
「1」がセットされた時に、RAM32の記憶エリアE
3に書き込まれている波形サンプルデータを音源部40
へ転送するようにしている。
【0044】c.コマンド割込み処理ルーチンの動作 CPU21は、CPU16側からレジスタ59にセット
される楽音情報、あるいはコマンドデータの内容に応じ
て各種の割込み処理を実行する。すなわち、レジスタ5
9に楽音情報あるいはコマンドデータが書き込まれる
と、図7に示すコマンド割込み処理ルーチンが起動し、
CPU21の処理がステップSe1に進む。ステップS
e1では、レジスタ59の内容を読み出し、これを解釈
する。そして、ステップSe2では、解釈結果に基づい
て各種の処理を実行する。なお、ここでは、楽音情報と
して外部からMIDI情報が供給される場合を想定して
おり、したがって、通常の押離鍵操作に応じて発生する
キーオン/オフに替えて、MIDI情報による「ノート
オン」、「ノートオフ」に対応した処理がなされるもの
としている。
【0045】ノートオン処理 レジスタ59にノートオンを表すMIDI情報が書き込
まれた場合には、ステップSe3〜Se5が実行され
る。この場合、まず、ノートオンされたMIDIチャン
ネル番号とそのノートコードを受け取り、これの発音チ
ャンネルを割り当て、音源部40に発音開始指示を与え
る。
【0046】ノートオフ処理 レジスタ59にノートオフを表すMIDI情報が書き込
まれた場合には、ステップSe6〜Se8が実行され
る。この場合、まず、ノートオフされたMIDIチャン
ネル番号とそのノートコードを受け取り、これに対応す
る消音チャンネルを検出し、音源部40に消音指示を与
える。
【0047】切換要求コマンド処理 切換要求コマンドがレジスタ59に書き込まれた場合に
は、ステップSe9に進む。ステップSe9では、レジ
スタCREQに「1」を書き込むと共に、レジスタWT
Fに「0」を書き込む。これにより、前述した切換受付
処理ルーチンでのステップSd1の判断結果が「YE
S」となる訳である。
【0048】転送終了コマンド処理 転送終了コマンドがレジスタ59に書き込まれた場合に
は、ステップSe10に進む。ステップSe10では、
レジスタCREQに「0」を書き込む。これにより、前
述した切換受付処理ルーチンでのステップSd4の判断
結果が「NO」となる。
【0049】波形サンプルデータ転送処理 この場合、ステップSe11に進み、RAM32からデ
ータ転送方向DIR,波形番号WNおよび波形サイズW
Sの各転送情報を抽出し、さらに、レジスタCREQに
「1」を、レジスタWTFに「1」をセットする。これ
により、前述した切換受付処理ルーチンにおけるステッ
プSd5が実行され、波形サンプルデータが音源部40
へ転送される。
【0050】その他の処理 その他の処理として、例えば、アフタタッチやピッチベ
ンドなどを指示するコマンドデータがレジスタ59に書
き込まれると、ステップSe13に進み、音源部40に
対して該コマンドに応じた楽音処理を指示する。
【0051】以上のように、このコマンド割込み処理で
は、楽音情報発生部10から供給される楽音情報(MI
DI情報)あるいはコマンドデータがレジスタ59を介
してCPU21側に供給されると、CPU21はこれに
応じて音源部40の発音制御や、データ転送制御を行う
ようにしている。特に、波形サンプルデータ等の大量の
データを転送する場合には、CPU16からRAM32
のバッファエリアに一括して取込んだ後、これを数百バ
イト〜数Kバイト単位毎に順次、音源部40側へ転送す
る。これにより、従来のように入出力ポートを介した転
送に比べて極めて高速なデータ転送となる。
【0052】このように、上述した実施例においては、
通信制御部30がCPU16およびCPU21の相互間
でなされるデータ授受内容に応じて切換動作し、これら
CPUのいずれか一方を選択してRAM32と接続させ
るので、該RAM32を介して大量のデータを高速に転
送でき、しかもRAM32が各CPU16,21によっ
て共有されるため、データの共有化も図ることができ
る。
【0053】なお、上述した実施例においては、CPU
16側の要求に基づいて通信制御部30が切換動作をお
こなっているが、これに限定されることなく、例えば、
CPU21側でこれを行っても良いし、さらには、通信
制御部30自体にCPUを搭載し、これにより切換え制
御するようにしても良い。また、本実施例の態様に入出
力ポートを介したデータ転送を行う方式を併用すること
も可能である。
【0054】また、上記の実施例において、CPU21
は各発音チャンネル毎の発音制御が完了する度に前述し
た切換受付処理(ステップSc4)を実行するようにし
ているが、これに替えて、例えば、全発音チャンネルの
発音制御が完了した時点で切換受付処理を実行するよう
にしても良い。さらに、これとは逆に、発音制御の内、
エンベロープ波形制御やフィルタ係数制御などの詳細な
制御が終了する度毎に切換受付処理を実行することも可
能である。
【0055】
【発明の効果】以上説明したように、請求項1記載の発
によれば、選択手段は、常時、第2の演算処理手段
を、第2のバスを介して記憶手段へアクセス可能とし、
第1の演算処理手段から第1の記憶手段へのアクセス要
求があった場合のみ、第1の演算処理手段を、前記第1
のバスを介して前記記憶手段へアクセスを可能とするこ
とにより、各演奏処理手段は個々にバスを専有でき、し
かもデータの共有化や高速なデータ転送を行うことがで
きる。また、請求項2記載の発明によれば、アクセス要
求を転送するための一時記憶手段を用いて楽音情報を転
送できるようにしたので、記憶手段を用いて楽音情報を
転送する場合に比べて、アクセス要求を送出した後に楽
音情報を転送する必要がないため、楽音情報を高速で転
送することができる。
【図面の簡単な説明】
【図1】 この発明による一実施例の全体構成を示すブ
ロック図。
【図2】 同実施例における通信制御回路31の構成を
示すブロック図。
【図3】 CPU16側におけるメインルーチンの動作
を示すフローチャート。
【図4】 CPU16側における音色選択処理ルーチン
の動作を示すフローチャート。
【図5】 CPU21側におけるメインルーチンの動作
を示すフローチャート。
【図6】 CPU21側における切換受付処理ルーチン
の動作を示すフローチャート。
【図7】 CPU21側におけるコマンド割込み処理ル
ーチンの動作を示すフローチャート。
【図8】 同実施例におけるCPU16のアドレスマッ
プを示す図。
【図9】 同実施例におけるCPU21のアドレスマッ
プおよびRAM32のメモリマップを示す図。
【符号の説明】
10…楽音情報発生部(第1の演算処理手段)、20…
音源制御部(第2の演算処理手段)、31…通信制御回
路(選択手段)、32…RAM(記憶手段)。

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数の手段が各々接続された第1および
    第2のバスと、 前記第1のバスに接続され、前記第1のバスに接続され
    た複数の前記手段を用いて 演奏操作に対応した楽音情報
    を発生する第1の演算処理手段と、前記第2のバスに接続され、前記第2のバスに接続され
    た複数の前記手段を用いて 前記楽音情報に応じて音源を
    制御する第2の演算処理手段とを備えた電子楽器におい
    て、前記第1および第2の演算処理手段からアクセスが可能
    な記憶手段と、 前記第1のバスと前記第2のバスとの 間に介在する手段
    であって、常時、前記第2の演算処理手段を、前記第2
    のバスを介して前記記憶手段へアクセス可能とし、前記
    第1の演算処理手段から前記第1の記憶手段へのアクセ
    ス要求があった場合のみ、前記第1の演算処理手段を、
    前記第1のバスを介して前記記憶手段へアクセスを可能
    とする選択手段とを具備することを特徴とする電子楽
    器。
  2. 【請求項2】 前記第1および第2の演算処理手段から
    アクセス可能である一時記憶手段を備え、 前記第1の演算処理手段は、アクセス要求あるいは前記
    楽音情報を前記一時記憶手段に書き込み、 前記第2の演算処理手段は、前記一時記憶手段に記憶さ
    れたデータが前記アクセス要求であれば該アクセス要求
    に応じて前記選択手段を制御し、該データが楽音情報で
    あれば該楽音情報に応じて前記音源を制御することを特
    徴とする請求項1記載の電子楽器。
JP3341548A 1991-12-24 1991-12-24 電子楽器 Expired - Fee Related JP2626387B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3341548A JP2626387B2 (ja) 1991-12-24 1991-12-24 電子楽器
US07/995,577 US5376750A (en) 1991-12-24 1992-12-22 Electronic musical instrument having working RAM controlled by plural CPUs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3341548A JP2626387B2 (ja) 1991-12-24 1991-12-24 電子楽器

Publications (2)

Publication Number Publication Date
JPH06222761A JPH06222761A (ja) 1994-08-12
JP2626387B2 true JP2626387B2 (ja) 1997-07-02

Family

ID=18346924

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3341548A Expired - Fee Related JP2626387B2 (ja) 1991-12-24 1991-12-24 電子楽器

Country Status (2)

Country Link
US (1) US5376750A (ja)
JP (1) JP2626387B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5525748A (en) * 1992-03-10 1996-06-11 Yamaha Corporation Tone data recording and reproducing device
JP2850707B2 (ja) * 1993-06-15 1999-01-27 ヤマハ株式会社 楽音制御装置
US5867497A (en) * 1994-02-24 1999-02-02 Yamaha Corporation Network system having automatic reconstructing function of logical paths
JP3223756B2 (ja) * 1995-05-23 2001-10-29 ヤマハ株式会社 ミュージックシステムおよび電子楽器
JP3235409B2 (ja) * 1995-06-07 2001-12-04 ヤマハ株式会社 ミュージックシステム、音源および楽音合成方法
JP3271493B2 (ja) * 1995-09-26 2002-04-02 ヤマハ株式会社 ネットワークおよびデータ伝送方法
GB2306043A (en) * 1995-10-03 1997-04-23 Ibm Audio synthesizer
JP2970511B2 (ja) * 1995-12-28 1999-11-02 ヤマハ株式会社 電子楽器の制御回路
US5901333A (en) * 1996-07-26 1999-05-04 Advanced Micro Devices, Inc. Vertical wavetable cache architecture in which the number of queues is substantially smaller than the total number of voices stored in the system memory
JP3152196B2 (ja) * 1998-01-07 2001-04-03 ヤマハ株式会社 楽音発生回路
US6301603B1 (en) 1998-02-17 2001-10-09 Euphonics Incorporated Scalable audio processing on a heterogeneous processor array
EP2043088A1 (en) * 2007-09-28 2009-04-01 Yamaha Corporation Music performance system for music session and component musical instruments

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3318667C1 (de) * 1983-05-21 1984-10-11 WERSI-electronic GmbH & Co KG, 5401 Halsenbach Elektronisches Tastenmusikinstrument und Verfahren zu dessen Betrieb
DE3318666C1 (de) * 1983-05-21 1984-10-11 WERSI-electronic GmbH & Co KG, 5401 Halsenbach Elektronisches Tastenmusikinstrument
JPS63181005A (ja) * 1987-01-23 1988-07-26 Fanuc Ltd 数値制御装置の並列処理方式
JP2847739B2 (ja) * 1989-03-30 1999-01-20 ヤマハ株式会社 電子楽器
US5129302A (en) * 1989-08-19 1992-07-14 Roland Corporation Automatic data-prereading playing apparatus and sound generating unit in an automatic musical playing system
US5200564A (en) * 1990-06-29 1993-04-06 Casio Computer Co., Ltd. Digital information processing apparatus with multiple CPUs

Also Published As

Publication number Publication date
JPH06222761A (ja) 1994-08-12
US5376750A (en) 1994-12-27

Similar Documents

Publication Publication Date Title
JP2626387B2 (ja) 電子楽器
EP0486925B1 (en) Electronic musical instrument
US4915007A (en) Parameter setting system for electronic musical instrument
JPH0954586A (ja) 楽音発生装置
JP3152196B2 (ja) 楽音発生回路
US5804750A (en) Universal microcomputer chip for electronic musical machine
US5014586A (en) Chord setting apparatus and electronic wind instrument using the same
JPH11202866A (ja) 楽音発生方法および楽音発生装置
JP2008015315A (ja) 楽音発生装置および楽音発生処理プログラム
JP2687810B2 (ja) 電子楽器
JP3744667B2 (ja) 自動伴奏装置および自動伴奏方法
JP3257400B2 (ja) エフェクト装置
JP3632806B2 (ja) 演奏情報記憶装置および演奏情報記憶プログラムを記録した媒体
JP3716710B2 (ja) 楽音発生装置
JP3050779B2 (ja) 信号処理装置
JP3407375B2 (ja) 自動編曲装置
JPS6252317B2 (ja)
JP3293049B2 (ja) 楽音制御装置
JP3011064B2 (ja) 楽音処理装置
JPH08152885A (ja) 音源装置
JPS6252316B2 (ja)
JP3543160B2 (ja) 自動演奏装置
JP3322279B2 (ja) カラオケ装置
JPH0458293A (ja) 楽音波形発生装置
JP2007079104A (ja) 波形発生装置および波形発生プログラム

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19970218

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

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees