JP3221314B2 - 楽音合成装置及び方法 - Google Patents

楽音合成装置及び方法

Info

Publication number
JP3221314B2
JP3221314B2 JP07839896A JP7839896A JP3221314B2 JP 3221314 B2 JP3221314 B2 JP 3221314B2 JP 07839896 A JP07839896 A JP 07839896A JP 7839896 A JP7839896 A JP 7839896A JP 3221314 B2 JP3221314 B2 JP 3221314B2
Authority
JP
Japan
Prior art keywords
tone
general
arithmetic processing
channel
tone synthesis
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
JP07839896A
Other languages
English (en)
Other versions
JPH09244650A (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 JP07839896A priority Critical patent/JP3221314B2/ja
Priority to US08/807,416 priority patent/US5864082A/en
Publication of JPH09244650A publication Critical patent/JPH09244650A/ja
Priority to US09/189,670 priority patent/US6096963A/en
Application granted granted Critical
Publication of JP3221314B2 publication Critical patent/JP3221314B2/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
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/18Selecting circuits
    • G10H1/183Channel-assigning means for polyphonic instruments
    • G10H1/185Channel-assigning means for polyphonic instruments associated with key multiplexing
    • G10H1/186Microprocessor-controlled keyboard and assigning means
    • 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
    • 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
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/201Physical layer or hardware aspects of transmission to or from an electrophonic musical instrument, e.g. voltage levels, bit streams, code words or symbols over a physical link connecting network nodes or instruments
    • G10H2240/241Telephone transmission, i.e. using twisted pair telephone lines or any type of telephone network
    • 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
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/281Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
    • G10H2240/295Packet switched network, e.g. token ring
    • G10H2240/305Internet or TCP/IP protocol use for any electrophonic musical instrument data or musical parameter transmission purposes
    • 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
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/281Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
    • G10H2240/311MIDI transmission

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Engineering & Computer Science (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【発明の属する技術分野】この発明は、楽音波形を合成
する技術分野に属し、特に、CPUのような汎用の演算
処理手段と音源LSI回路のような専用の音源装置とを
併用した楽音合成装置及び楽音合成方法に関する。
【0002】
【従来の技術】近年、CPUの演算処理能力の向上を背
景として、楽音合成処理の技術分野において、演奏情報
を発生する処理を記述したプログラム(例えば自動演奏
処理を記述したシーケンスプログラム等)と、該処理に
よって発生した演奏情報に基づく楽音合成処理(例えば
波形メモリ方式の楽音合成処理やFM(周波数変調)方
式の楽音合成処理等)を記述したプログラムとを、CP
Uに実行させる楽音合成システムが構築されるに至って
いる。こうした楽音合成システムは、音源LSI回路の
ような専用の音源装置を設けることなく小型且つ低コス
トな回路構成で楽音波形を合成することができるという
優れた利点を有しているので、CPUを搭載した電子楽
器や、パーソナルコンピュータを用いたコンピュータミ
ュージックシステムだけにとどまらず、CPUを搭載し
たカラオケ装置やゲームマシンや教育用機器等の分野に
も広く普及する傾向にある。
【0003】ところで、専用の音源装置と異なり、CP
Uは楽音合成処理以外にも様々な処理(例えばOS(オ
ペレーションシステム)の処理や他のアプリケーション
ソフトの処理等)を実行しなければならない。したがっ
て、演奏情報が発生しても他の処理の実行の途中である
ため楽音合成処理の開始を待たなければならなくなった
り、あるいは楽音合成処理の実行中に他の割込み処理を
実行する必要が生じたため楽音合成処理を一旦中断しな
ければならなくなったりすることなどを原因として、楽
音合成処理に時間的遅れが生じうる。そこで、こうした
楽音合成システムには、一例として、楽音合成処理のた
めの時間として、想定される遅れ時間よりもある程度余
裕をもって設定した所定の時間を確保し、当該所定の時
間が経過した後にサウンドシステムへの楽音波形データ
の転送処理を開始する(したがって、このように余裕を
もって設定した所定の時間内にCPUが一定サンプル数
分の楽音波形の合成を完了すればよい)方式を採用する
ことにより、それぞれの演奏情報に基づく楽音合成処理
の遅れ時間のばらつきにもかかわらず、全ての演奏情報
に基づく楽音の発音タイミングを統一させて楽曲の演奏
等を行なうことができるようにしているものも存在す
る。
【0004】
【発明が解決しようとする課題】このようにCPUに楽
音合成処理を実行させる楽音合成システムは、音源LS
I回路のような専用の音源装置を設けることなく、小型
且つ低コストな回路構成で楽音波形を合成することがで
きるという優れた利点を有している。しかし、CPUの
みによって合成できる楽音の同時発音数や音色には、C
PUの演算処理能力や楽音合成処理プログラムの仕様等
を要因とする限界が存在している。そのため、こうした
楽音合成システムを採用しつつ、しかも同時発音数の一
層の増大や音色のバリエーションの一層の拡大を図った
演奏を行なえるようにすることも望まれている。そうし
た演奏を実現するための一案としては、CPUのみに楽
音合成処理を実行させるのではなく、専用の音源装置を
別途設け、CPUとこの専用の音源装置との双方に楽音
合成処理を実行させることにより、双方で同一の楽曲の
演奏(すなわち合奏)等を行なわせるようにすることが
考えられる。
【0005】この発明は上述の点に鑑みてなされたもの
で、CPUのような汎用の演算処理手段と音源LSI回
路のような専用の音源装置の双方で合奏等を行なわせる
のに適した楽音合成装置及び楽音合成方法を提供しよう
とするものである。
【0006】
【課題を解決するための手段】 この発明に係る第1の
楽音合成装置は、汎用の演算処理手段と、楽音合成処理
を実行するための専用の楽音合成手段と、供給される各
演奏情報に基づく楽音合成処理を、それぞれ前記汎用の
演算処理手段または前記専用の楽音合成手段のいずれか
に担当させることを決定する決定手段とを具え、前記汎
用の演算処理手段が、前記決定手段によって該汎用の演
算処理手段に担当させることが決定された楽音合成処理
を実行し、かつ該汎用の演算処理手段による前記楽音
合成処理の実行後、前記決定手段によって前記専用の楽
音合成手段に担当させることが決定された楽音合成処理
実行するよう前記専用の楽音合成手段に指示するとと
もに該汎用の演算処理手段によって実行された楽音合成
処理により生成された楽音を出力する制御処理実行す
ることを特徴としている。
【0007】 また、この発明に係る第1の楽音合成方
法は、供給される各演奏情報に基づく楽音合成処理を、
それぞれ汎用の演算処理手段または楽音合成処理を実行
するための専用の楽音合成手段のいずれかに担当させる
ことを決定する第1のステップと、前記汎用の演算処理
手段に、前記第1のステップで該汎用の演算処理手段に
担当させることが決定された楽音合成処理を実行させる
第2のステップと、前記第2のステップの終了後、前記
汎用の演算処理手段の制御のもと、前記専用の楽音合成
手段に、前記第1のステップで該専用の楽音合成手段に
担当させることが決定された楽音合成処理を実行させる
とともに該汎用の演算処理手段による楽音合成処理によ
り生成された楽音を出力する第3のステップとを含んだ
ことを特徴としている。
【0008】この第1の楽音合成装置及び楽音合成方法
によれば、供給される各演奏情報に基づく楽音合成処理
が、それぞれ汎用の演算処理手段または専用の楽音合成
手段に分担させられる。そして、まず汎用の演算処理手
段が、担当した楽音合成処理を実行する。前述のよう
に、この楽音合成処理には時間的遅れが生じることが起
こりうる。また前述のように、想定される遅れ時間より
もある程度余裕をもって設定した所定の時間が経過する
までに汎用の演算処理手段が楽音合成処理を完了すれば
よいような方式が採用されていることもある。汎用の演
算処理手段が楽音合成処理を完了すると(上記所定の時
間が設定されている場合にはその時間が経過すると)、
次に汎用の演算処理手段の制御のもとで、専用の楽音合
成手段が、担当した楽音合成処理を実行する。この楽音
合成処理のほうは、汎用の演算処理手段におけるような
時間的遅れを生じることなく直ちに完了する。
【0009】このように、この楽音合成装置及び楽音合
成方法では、汎用の演算処理手段が楽音合成処理を完了
した後、専用の楽音合成手段が楽音合成処理を実行する
ような制御が行なわれるので、専用の楽音合成手段が楽
音合成処理を開始する段階では、汎用の演算処理手段が
楽音合成処理のために要する時間(上記所定の時間が設
定されている場合にはその時間)は既に経過している。
したがって、汎用の演算処理手段による楽音合成処理の
時間的遅れにかかわらず、汎用の演算処理手段が合成し
た楽音の発音タイミングと専用の楽音合成手段が合成し
た楽音の発音タイミングとが常にかなり統一されるよう
になる(専用の楽音合成手段が楽音合成処理のために要
する時間を誤差範囲としてゼロとみなせば、双方の発音
タイミングは完全に統一されるということができる)。
これにより、汎用の演算処理手段と専用の楽音合成手段
との双方に同一の楽曲の演奏(すなわち合奏)等を行な
わせることができるようになる。
【0010】 次に、この発明に係る第2の楽音合成装
置は、汎用の演算処理手段と、楽音合成処理を実行する
ための専用の楽音合成手段と、供給される各演奏情報に
基づく楽音合成処理を、それぞれ前記汎用の演算処理手
段または前記専用の楽音合成手段のいずれかに担当させ
ることを決定する決定手段とを具え、前記汎用の演算処
理手段が、前記決定手段によって該汎用の演算処理手段
に担当させることが決定された楽音合成処理と楽音合成
処理を実行する発音チャンネルとして、所定の範囲内の
チャンネル番号を有する1または複数の第1の発音チャ
ンネルを該汎用の演算処理手段に割り当てる第1の割り
当て処理と、前記決定手段によって前記専用の楽音合成
手段に担当させることが決定された楽音合成処理を実行
する発音チャンネルとして、前記第1の発音チャンネル
とは異なるチャンネル番号を有する1または複数の第2
の発音チャンネルを該専用の楽音合成手段に割り当てる
第2の割り当て処理と、前記第1の発音チャンネルにつ
いての楽音合成処理の実行後、前記第2の発音チャンネ
ルについての楽音合成処理を実行するよう前記専用の楽
音合成手段に指示するとともに該第1の発音チャンネル
で生成された楽音を出力する制御処理とを実行すること
を特徴としている。
【0011】 また、この発明に係る第2の楽音合成方
法は、供給される各演奏情報に基づく楽音合成処理を、
それぞれ汎用の演算処理手段または楽音合成処理を実行
するための専用の楽音合成手段のいずれかに担当させる
ことを決定する第1のステップと、前記第1のステップ
で前記汎用の演算処理手段に担当させることが決定され
た楽音合成処理を実行する発音チャンネルとして、所定
の範囲内のチャンネル番号を有する1または複数の第1
の発音チャンネルを該汎用の演算処理手段に割り当てる
処理を、該汎用の演算処理手段に実行させる第2のステ
ップと、前記第1のステップで前記専用の楽音合成手段
に担当させることが決定された楽音合成処理を実行する
発音チャンネルとして、前記第1の発音チャンネルとは
異なるチャンネル番号を有する1または複数の第2の発
音チャンネルを該専用の楽音合成手段に割り当てる処理
を、前記汎用の演算処理手段に実行させる第3のステッ
プと、前記汎用の演算処理手段に、前記第1の発音チャ
ンネルについての楽音合成処理を実行させる第4のステ
ップと、前記第4のステップの終了後、前記汎用の演算
処理手段の制御のもと、前記専用の楽音合成手段に、前
記第2の発音チャンネルについての楽音合成処理を実行
させるとともに該第1の発音チャンネルで生成された楽
音を出力する第5のステップとを含んだことを特徴とし
ている。
【0012】この第2の楽音合成装置及び楽音合成方法
においても、供給される各演奏情報に基づく楽音合成処
理が、それぞれ汎用の演算処理手段または専用の楽音合
成手段に分担させられる。そして汎用の演算処理手段
が、担当した楽音合成処理を実行する発音チャンネルと
して、所定の範囲内のチャンネル番号を有する1または
複数の第1の発音チャンネルを該汎用の演算処理手段自
身に割り当てるとともに、専用の楽音合成手段が担当し
た楽音合成処理を実行する発音チャンネルとして、上記
第1の発音チャンネルとは異なるチャンネル番号を有す
る1または複数の第2の発音チャンネルを該専用の楽音
合成手段に割り当てる。そして、まず上記第1の発音チ
ャンネルについての楽音合成処理を汎用の演算処理手段
が実行し、その完了後、上記第2の発音チャンネルにつ
いての楽音合成処理を、汎用の演算処理手段の制御のも
とで専用の楽音合成手段が実行する。
【0013】すなわち、この楽音合成装置及び楽音合成
方法では、汎用の演算処理手段が、汎用の演算処理手段
自身と専用の楽音合成手段とに、相互に異なるチャンネ
ル番号の発音チャンネルを割り当てている。そして、汎
用の演算処理手段は、汎用の演算処理手段自身に対応す
るチャンネル番号の発音チャンネルについての楽音合成
処理を完了した後で、専用の楽音合成手段に対応するチ
ャンネル番号の発音チャンネルについての楽音合成処理
を専用の楽音合成手段に指示している。このようなチャ
ンネル番号の管理により、汎用の演算処理手段が楽音合
成処理を完了した後、専用の楽音合成手段が楽音合成処
理を実行するようになる。これにより、前述の第1の楽
音合成装置及び楽音合成方法について述べたように、汎
用の演算処理手段が合成した楽音の発音タイミングと専
用の楽音合成手段が合成した楽音の発音タイミングとが
統一されるようになり、双方に合奏等を行なわせること
ができるようになる。
【0014】
【発明の実施の形態】以下、添付図面を参照してこの発
明の実施の形態を詳細に説明する。図1は、パーソナル
コンピュータを用いたコンピュータミュージックシステ
ムの全体構成ブロック図である。パーソナルコンピュー
タのCPUブロック19内のMPU(マイクロプロセッ
シングユニット)1は、バス(アドレスバス,コントロ
ールバス及びデータバス)6を介して、ROM2,RA
M3,トーンジェネレータ(音源LSI回路)4,外部
インターフェース5,キーボード7,ディスプレイ8,
ディスクドライブ9と接続されている。更にMPU1に
は、バス6,バスインターフェース10及び拡張スロッ
ト用のバス11を介して、アナログ変換ボード12,サ
ウンドボード(音源LSI回路を設けた拡張ボード)1
3及び拡張外部インターフェース14が接続されてい
る。
【0015】トーンジェネレータ(音源LSI回路)4
及びサウンドボード13には、それぞれDAC(ディジ
タルアナログ変換器)(図示せず)を介してサウンドシ
ステム(図示せず)が接続されている。アナログ変換ボ
ード12には、外部インターフェース15を介して、該
ボード12をマザーボードとするサウンドボードである
ドーターボード18が接続されている。ドーターボード
18は、例えば、楽音発生用LSI(場合によっては楽
音パラメータや波形データを記憶するためのメモリも)
や音響効果処理用LSI等を搭載したものであり、MP
U1からの指示等により、楽音波形データの発生・供給
や、楽音への各種音響効果付与処理等を行なう。
【0016】アナログ変換ボード12は、ドーターボー
ド18から供給された楽音波形データまたはバス11を
介してドーターボード18以外から供給された楽音波形
データをミキシングするデータバッファ16と、バッフ
ァ16でミキシングされた楽音波形データをアナログ変
換して外部に出力するDAC17とを含んでいる。DA
C17にも、サウンドシステム(図示せず)が接続され
ている。外部インターフェース5及び拡張外部インター
フェース14は、それぞれMIDI端子を有しており、
シーケンサや演奏操作子や音源装置のようなMIDI楽
器(図示せず)が接続されている。
【0017】このように、このコンピュータミュージッ
クシステムには、コンピュータに内蔵されたトーンジェ
ネレータ4と、拡張スロットに装着されたアナログ変換
ボード12(及びドーターボード18),サウンドボー
ド13という、複数の専用の音源装置が搭載されてい
る。これらのシステム内の専用の音源装置のことを、ハ
ード音源と呼ぶことにする。
【0018】ディスクドライブ9には、複数種類の楽曲
データと、各楽曲データに従って演奏情報を発生する処
理を記述した演奏情報発生アプリケーションソフト(例
えばシーケンスソフト等)と、該処理によって発生した
演奏情報に基づく楽音合成処理を記述した楽音波形発生
アプリケーションソフトと、その他のアプリケーション
ソフトとを記録したディスク型記録媒体が装着される。
【0019】図2は、RAM3の記憶領域の一例を示す
図である。同図(a)に示すように、OSを記憶するた
めの領域と、上記ディスク型記録媒体からロードされた
楽曲データと演奏情報発生アプリケーションソフトと楽
音波形発生アプリケーションソフトをそれぞれ記憶する
ための領域(演奏情報発生アプリケーションソフトの実
行の過程で作成された各種データを記憶するためのワー
クエリアWE1と、楽音波形発生アプリケーションソフ
トの実行の過程で作成された各種データを記憶するため
のワークエリアWE2とを含む)と、その他のプログラ
ムを記憶するための領域または空き領域とが設けられて
いる。
【0020】ワークエリアWE1内には、図2(b)に
示すように、演奏情報発生アプリケーションソフトの実
行によって発生した各種イベントを記憶するためのイベ
ントバッファEVBUFの領域と、プレイフラグPLA
YFLGを記憶するための領域とが含まれている。プレ
イフラグPLAYFLGは、演奏情報発生アプリケーシ
ョンソフトの実行によって発生するイベントに基づいて
楽音波形発生アプリケーションソフトを実行するモード
(以下、自動演奏モードと呼ぶ)がキーボード7の操作
によって選択されたとき「1」に設定され、他方、該ソ
フトの実行によってではなく、MIDI接続されたシス
テム外部のシーケンサから供給されるイベントや、MI
DI接続されたシステム外部の演奏操作子をユーザーが
操作することよって供給されるイベントに基づいて楽音
波形発生アプリケーションソフトを実行するモードがキ
ーボード7の操作によって選択されたとき「0」に設定
される。
【0021】ワークエリアWA2内には、図2(b)に
示すように、下記の記憶領域が含まれている。 (1) MPU1に割り当て可能な発音チャンネルのチャ
ンネル数を示すデータ「MPUCHNUM」を記憶する
領域 (2) システム内に搭載されているハード音源に割り当
て可能な発音チャンネルのチャンネル数を示すデータ
「HARDCHNUM」を記憶する領域 (3) 16個のMIDIチャンネルのうち、MPU1が
担当する楽音合成処理の基となる演奏情報を受信するm
個のMIDIチャンネル(但し、mは1から16までの
自然数のうちのいずれか)を示すデータ「MPUMID
I−CH(m)」を記憶する領域 (4) システム内に搭載されているハード音源が担当す
る楽音合成処理の基となる演奏情報を受信するk個のM
IDIチャンネル(但し、kは1から16までのうちの
いずれかであり且つm+k≦16である自然数)を示す
データ「HARDMIDI−CH(k)」を記憶する領
域 (5) 楽音合成処理の前提となる各種条件を設定するた
めの設定モードであるか否かを示すイニシャルフラグI
NITFLGを記憶する領域 (6) チャンネル番号CH1〜CHj(但し、j≧「M
PUCHNUM」+「HARDCHNUM」)の発音チ
ャンネルについて、キーオンイベントが発生したか否か
をそれぞれ示すキーオンフラグKONFLG1〜KON
FLGjをそれぞれ記憶する領域 (7) 上記各発音チャンネルについて、キーオフイベン
トが発生したか否かをそれぞれ示すキーオフフラグKO
FFLG1〜KOFFLGjをそれぞれ記憶する領域 (8) 上記各発音チャンネルについて、楽音合成処理中
であるか否かをそれぞれ示すキーオンバッファKONB
UF1〜KONBUFjの領域 (9) MPU1に割り当て可能な発音チャンネル数「M
PUCHNUM」分設けられており、MPU1に割り当
てられた各発音チャンネルで合成された楽音波形データ
をそれぞれ記憶するためのサウンドバッファSBUF1
〜SBUF「MPUCHNUM」の領域 (10) 各サウンドバッファSBUF内の楽音波形データ
の累算データMPUACCMを記憶する領域
【0022】尚、上記データ「MPUCHNUM」は、
MPU1の演算処理速度や楽音波形発生アプリケーショ
ンソフトの仕様等を要因として制限されるものであるの
で、一例として、これらの要因に基づいてMPU1が一
義的に「MPUCHNUM」を指定するようにしてもよ
く、あるいは別の一例として、これらの要因によって制
限される範囲内で、ユーザーがキーボード7の操作によ
って任意に「MPUCHNUM」を設定できるようにし
てもよい。また、上記データ「HARDCHNUM」
は、このシステム内に搭載されているハード音源の数や
仕様等を要因として制限されるものであるので、一例と
して、これらの要因に基づいてMPU1が一義的に「H
ARDCHNUM」を指定するようにしてもよく、ある
いは別の一例として、これらの要因によって制限される
範囲内で、キーボード7の操作によって任意に「HAR
DCHNUM」を設定できるようにしてもよい。
【0023】上記データ「MPUMIDI−CH
(m)」及び「HARDMIDI−CH(k)」は、ア
プリケーションソフトにおいて予め決定しておいてもよ
く、あるいはキーボード7の操作によって任意に決定で
きるようにしてもよい。上記イニシャルフラグINIT
FLGは、キーボード7の操作によって設定モードが選
択されたとき「0」に設定され、他方キーボード7の操
作によって設定モードの終了が選択されたとき「1」に
設定される。
【0024】上記キーオンフラグKONFLG1〜KO
NFLGj,キーオフフラグKOFFLG1〜KOFF
LGj,キーオンバッファKONBUF1〜KONBU
Fjにそれぞれ対応するj個のチャンネル番号のうち、
1番目から「MPUCHNUM」番目までのチャンネル
番号は、MPU1に割り当てた発音チャンネルに対応づ
けるべきチャンネル番号として、他方「MPUCHNU
M+1」番目から「MPUCHNUM+HARDCHN
UM」番目までのチャンネル番号は、ハード音源に割り
当てた発音チャンネルに対応づけるべきチャンネル番号
として、それぞれMPU1によって管理されている。す
なわち後述するように、MPU1は、MPU1自身に発
音チャンネルを割り当てた際には、チャンネル番号CH
1乃至CH「MPUCHNUM」の範囲内のチャンネル
番号に対応する上記キーオンフラグ,キーオフフラグま
たはキーオンバッファの設定値を制御し、他方ハード音
源に発音チャンネルを割り当てた際には、チャンネル番
号CH「MPUCHNUM+1」乃至CH「MPUCH
NUM+HARDCHNUM」の範囲内のチャンネル番
号に対応する上記キーオンフラグ,キーオフフラグまた
はキーオンバッファの設定値を制御する。
【0025】次に、演奏情報発生アプリケーションソフ
トの実行によって発生するイベントの一例を図3に示
す。図3(a)のキーイベントは、キーオンまたはキー
オフがあったときに発生するイベントであり、キーオン
とキーオフとのうちいずれであるかを示すデータ「KE
YON/KEYOFF」と、キーオンまたはキーオフの
あったMIDIチャンネルを示すデータ「MIDI−C
H」と、キーコードを示すデータ「KC」と、キータッ
チを示すデータ「VELOCITY」とを含んでいる。
図3(b)のプログラムチェンジイベントは、キーオン
があった後に当該MIDIチャンネルについての音色が
変更されたときに発生するイベントであり、音色の変更
があったことを示すデータ「PRGCHNG」と、音色
が変更されたMIDIチャンネルを示すデータ「MID
I−CH」と、変更後の音色を示すデータ「PROGR
AMNo.」とを含んでいる。図2(b)のイベントバ
ッファEVBUFには、これらのイベントが書き込まれ
る。
【0026】図4は、イベントバッファEVBUFにお
けるイベントの書込み方式及び読出しの方式の一例を示
す。この例では、イベントバッファEVBUFはリング
バッファとして構成されており、書込みポインタWRI
TEがイベントバッファEVBUF内のアドレスをスタ
ートアドレスからエンドアドレスに向けて循環して指示
するとともに、この書込みポインタWRITEを追いか
けるようにして、読出しポインタREADがイベントバ
ッファEVBUF内のアドレスを循環して指示するよう
になっている。演奏情報発生アプリケーションソフト
は、発生したイベントを、当該発生時点に書込みポイン
タWRITEが指示しているするアドレスに書き込む。
そして楽音波形発生アプリケーションソフトは、読出し
ポインタREADが指示するアドレスからイベントを順
次読み出して、そのイベントに応じた楽音合成処理を実
行する。したがって、イベントバッファEVBUFは、
等価的にFIFO(先入れ先出し)バッファとなる。
【0027】次に、このコンピュータミュージックシス
テムにおいて実行される楽音合成処理の一例を、図5以
下を参照して説明する。図5は、MPU3の実行するメ
インプログラムの概要を示すフローチャートである。最
初にシステムの初期設定を行なう(ステップS1)。続
いて、OSの実行によるシステム管理(ステップS2)
(ディスクドライブ9に装着されたディスク型記録媒体
内の楽曲データ,演奏情報発生アプリケーションソフ
ト,楽音波形発生アプリケーションソフト及びその他の
アプリケーションソフトは、このシステム管理によって
RAM3にロードされる)と、「演奏情報発生アプリケ
ーションソフトの処理」(ステップS3)と、「楽音波
形発生アプリケーションソフトの処理」(ステップS
4)と、その他のアプリケーションソフトの処理(ステ
ップS5)とを繰り返す。
【0028】但し、ステップS2乃至ステップS5の各
処理は、必ずしも図5に示した順序に従って実行される
ものではない。すなわちこれらの処理は、それぞれの起
動条件(例えば、内部割込み信号の発生や、操作パネル
の操作に基づく外部割込み信号の発生や、タイマからの
外部割込み信号の発生等)が満たされたタイミングで開
始されるものである。またいずれかの処理の実行中であ
っても、その処理よりも優先順位の大きい他の処理の起
動条件が満たされた場合には、その処理が中断されて当
該他の処理が優先的に実行され、当該他の処理の終了後
にその処理が再開されるようになっている。
【0029】図6は、この「演奏情報発生アプリケーシ
ョンソフトの処理」の一例を示すフローチャートであ
る。最初に、ワークエリアWA1内に記憶されたプレイ
フラグPLAYFLG(図2(b))の値が「0」であ
るか(すなわち、前述のようにシステム外部のシーケン
サから供給されるイベントやシステム外部の演奏操作子
の操作によって供給されるイベントに基づいて楽音波形
発生アプリケーションソフトを実行するモードが選択さ
れているか)否かを判断する(ステップS11)。イエ
スであれば、システム外部のシーケンサから供給される
イベントの受信処理(ステップS12)と、システム外
部の演奏操作子の操作によって供給されるイベントの受
信処理(ステップS13)とを行なう。続いて、ユーザ
ーによるキーボード7の操作に基づき、複数種類の楽曲
データ(図2(a))の中から楽曲データを選択する自
動演奏選曲処理(ステップS14)と、ステップS14
で選択した楽曲データの演奏環境(例えばテンポ等)を
設定する自動演奏環境設定処理(ステップS15)とを
行なう。続くステップS16では、キーボード7の操作
によって自動演奏モードが選択されたか否かを判断す
る。イエスであれば、ステップS17に進んでプレイフ
ラグPLAYFLGの値を「1」に設定し、その後リタ
ーンする。他方ノーであれば、そのままリターンする。
【0030】他方、ステップS11においてノーと判断
されれば(すなわち、上記ステップS17を経たことに
よりプレイフラグPLAYFLGが「1」に設定されれ
ば)、ステップS11からステップS18の自動演奏処
理に進む。この自動演奏処理では、上記ステップS14
で選択した楽曲データ及び上記ステップS15で設定し
た演奏環境に従ってキーイベントやプログラムチェンジ
イベント(図3)を発生し、それらのイベントを、前述
の図4に例示したような方式でイベントバッファEVB
UFに順次書き込む。
【0031】続くステップS19では、システム内では
楽音合成処理を実行せずにシステムにMIDI接続され
ている外部の音源装置のみに楽音合成処理を実行させる
モード(外部MIDI演奏モード)がキーボード7の操
作によって選択されているか否かを判断する。ノーであ
れば、ステップS21にジャンプする。他方イエスであ
れば、ステップS20に進み、ワークエリアWA1内の
イベントバッファEVBUF(図2(b))からイベン
ト(図3)を読み出して、該イベントを外部インターフ
ェース5または拡張外部インターフェース14のMID
I出力端子を介してシステム外部の音源装置に供給す
る。これにより、ステップS18の自動演奏処理によっ
て発生したイベントに基づく楽音合成処理が、それらの
音源装置のみによって実行される。ステップS20を終
えるとステップS21に進む。
【0032】ステップS21では、自動演奏モードを終
了することがキーボード7の操作によって選択されてい
るか否かを判断する。ノーであれば、そのままリターン
する。他方イエスであれば、ステップS22に進んでプ
レイフラグPLAYFLGの値を「0」に設定し、その
後リターンする。
【0033】尚、「演奏情報発生アプリケーションソフ
トの処理」の別の例として、図6のステップS12及び
ステップS13の処理を省略することにより、演奏情報
発生アプリケーションソフトの実行によって発生するイ
ベントのみに基づいて楽音波形発生アプリケーションソ
フトを実行するようにしてもよい。また「演奏情報発生
アプリケーションソフトの処理」の更に別の例として、
図6のステップS12及びステップS13の処理を図6
のステップS11の処理の前に行なうことにより、常
に、システム外部のシーケンサから供給されるイベント
やシステム外部の演奏操作子の操作によって供給される
イベントと、演奏情報発生アプリケーションソフトの実
行によって発生するイベントとの双方に基づいて楽音波
形発生アプリケーションソフトを実行するようにしても
よい。
【0034】次に図7は、図5のステップS4の「楽音
波形発生アプリケーションソフトの処理」の一例を示す
フローチャートである。最初に、図6の「演奏情報発生
アプリケーションソフトの処理」のステップS19と同
じく、外部MIDI演奏モードがキーボード7の操作に
よって選択されているか否かを判断する(ステップS3
1)。イエスであれば、そのままリターンする。この場
合には、前述のように、「演奏情報発生アプリケーショ
ンソフトの処理」によって発生したイベントに基づく楽
音合成処理が、システム外部の音源装置のみによって実
行される。他方ステップS31でノーと判断されれば、
ステップS32に進み、楽音合成処理に関連のあるキー
ボード7の各種操作イベントを検出する。続くステップ
S33では、イニシャルフラグINITFLG(図2
(b))が「0」であるか(すなわち設定モードが選択
されているか)否かを判断する。
【0035】イエスであればステップS34に進み、こ
のシステムに搭載されているハード音源をチェックし、
その数や仕様等に基づいてワークエリアWA2内の「H
ARDCHNUM」(図2(b))を決定する。(別の
例として、ステップS34で、キーボード7の操作に基
づいて「HARDCHNUM」を設定するようにしても
よい。)続くステップS35では、MPU1の演算処理
速度等に基づいてワークエリアWA2内の「MPUCH
NUM」(図2(b))を決定する。(別の例として、
「MPUCHNUM」も、キーボード7の操作に基づい
てこのステップS35で設定するようにしてもよい。) 続いて、MPU1における楽音の合成方式(例えば波形
メモリ方式やFM合成方式等)の設定(ステップS3
6)と、MPU1が楽音波形を合成する際のサンプリン
グ周波数の設定(ステップS37)と、MPU1及びハ
ード音源の実行する楽音合成処理における音色の設定
(ステップS38)と、ステップS38で設定した音色
とMIDIチャンネル(「MPUMIDI−CH
(m)」または「HARDMIDI−CH(k)」(図
2(b)))とを対応づけるMIDI設定処理(ステッ
プS39)とを行なう。尚、ステップS37で設定する
サンプリング周波数は、ハード音源が楽音波形を合成す
る際のサンプリング周波数と一致させてもよいが、「M
PUCHNUM」を大きな値に決定または設定できるよ
うにするために、ハード音源が楽音波形を合成する際の
サンプリング周波数よりも低くしてもよい。ハード音源
よりもサンプリング周波数を低く設定した場合には、M
PU1が楽音波形を合成した後で、その楽音波形データ
を補間することにより、ハード音源が合成した楽音波形
とサンプル数を一致させるようにすればよい。続くステ
ップS40では、キーボード7の操作によって設定モー
ドの終了が指示されているか否かを判断する。ノーであ
れば、そのままリターンする。他方イエスであれば、ス
テップS41に進んでイニシャルフラグINITFLG
を「1」に設定し、そしてリターンする。
【0036】他方、ステップS33においてノーと判断
されれば(すなわち、ステップS40を経たことにより
イニシャルフラグINITFLGが「1」に設定されて
いれば)、ステップS33からステップS42に進み、
キーボード7の操作によって再び設定モードに戻ること
が選択されているか否かを判断する。ノーであれば、ス
テップS44にジャンプする。他方イエスであれば、ス
テップS43に進んでイニシャルフラグINITFLG
を再び「0」に設定し、そしてステップS44に進む。
【0037】ステップS44では、前述の図4に例示し
たような方式で、ワークエリアWA1内のイベントバッ
ファEVBUF(図2(b))からイベントを順次読み
出す。続くステップS45では、プログラムチェンジイ
ベント(図3)が読み出されたか否かを判断する。ノー
であれば、図8のステップS50にジャンプする。他方
イエスであれば、ステップS46に進み、そのプログラ
ムチェンジイベント内のデータ「MIDI−CH」に基
づき、そのプログラムチェンジイベントの発生したMI
DIチャンネルが、MPU1が担当するMIDIチャン
ネル「MPUMIDI−CH(m)」(図2(b))で
あるか否かを判断する。イエスであればステップS47
に進み、MPU1が当該MIDIチャンネルに対応して
合成する楽音波形の音色を、該イベントのデータ「PR
OGRAMNo.」に応じて設定し直す。そしてステッ
プS49に進む。他方ノーであれば(すなわち、音色が
変更されたMIDIチャンネルが、ハード音源が担当す
るMIDIチャンネルであれば)ステップS48に進
み、当該MIDIチャンネルを担当するハード音源が当
該MIDIチャンネルに対応して合成する楽音波形の音
色を、データ「PROGRAMNo.」に基づいて設定
し直す。そしてステップS49に進む。ステップS49
では、他にもプログラムチェンジイベント(図3)が読
み出されたか否かを判断する。イエスであれば、ステッ
プS46に戻り、そのプログラムチェンジイベントにつ
いてステップS46以下の処理を繰り返す。他方ノーで
あれば、図8のステップS50に進む。
【0038】図8のステップS50では、イベントバッ
ファEVBUFからキーイベント(図3)が読み出され
たか否かを判断する。ノーであれば、ステップS62の
「楽音発生処理」にジャンプする。他方イエスであれ
ば、ステップS51に進み、そのキーイベント内のデー
タ「MIDI−CH」に基づき、そのキーイベントの発
生したMIDIチャンネルが、MPU1が担当するMI
DIチャンネル「MPUMIDI−CH(m)」(図2
(b))であるか否かを判断する。
【0039】イエスであれば、ステップS52に進み、
MPU1についての発音チャンネルの検出処理を行なう
(具体的には、そのキーイベントが、まだキーオンイベ
ントの発生していないキーコードについてのキーイベン
トであれば、そのキーイベントの発生したMIDIチャ
ンネルに対応する音色にとって必要なx個の発音チャン
ネルを、MPU1に割り当てる。他方、そのキーイベン
トが、既にキーオンイベントの発生したキーコードにつ
いてのキーイベントであれば、当該キーオンイベントに
基づいて既にMPU1に割り当てられているx個の発音
チャンネルをサーチする)。続くステップS53では、
そのキーイベントがキーオンイベントであるか否かを判
断する。イエスであれば、ステップS54に進み、チャ
ンネル番号CH1乃至CH「MPUCHNUM」の範囲
内で上記x個のチャンネル番号についてのキーオンフラ
グKONFLG(図2(b))をそれぞれ「1」に設定
する。そしてステップS61に進む。他方ノーであれば
(すなわちそのキーイベントがキーオフイベントであれ
ば)、ステップS55に進み、ステップS53でサーチ
したx個の発音チャンネルに対応して既にキーオンフラ
グKONFLGを「1」に設定されているチャンネル番
号CH1乃至CH「MPUCHNUM」の範囲内のx個
のチャンネル番号についてのキーオフフラグKOFFL
G(図2(b))をそれぞれ「1」に設定する。そして
ステップS61に進む。
【0040】他方、ステップS51でノーと判断されれ
ば(すなわち、そのキーイベントの発生したMIDIチ
ャンネルが、ハード音源が担当するMIDIチャンネル
であれば)、ステップS51からステップS56に進
み、ハード音源が現在使用可能な状態にあるか否かを判
断する。ノーであれば、前述のステップS52にジャン
プする。これにより、ハード音源が使用不可能になって
いる場合には、ハード音源が担当するMIDIチャンネ
ルについてもMPU1が代わって担当するようになる。
他方イエスであれば、ステップS57に進み、ハード音
源についての発音チャンネルの検出処理を行なう。(具
体的には、そのキーイベントが、まだキーオンイベント
の発生していないキーコードについてのキーイベントで
あれば、そのキーイベントの発生したMIDIチャンネ
ルに対応する音色にとって必要なx個の発音チャンネル
を、ハード音源に割り当てる。他方、そのキーイベント
が、既にキーオンイベントの発生したキーコードについ
てのキーイベントであれば、当該キーオンイベントに基
づいて既にハード音源に割り当てられているx個の発音
チャンネルをサーチする)。続くステップS58では、
そのキーイベントがキーオンイベントであるか否かを判
断する。イエスであれば、ステップS59に進み、チャ
ンネル番号CH「MPUCHNUM+1」乃至CH「M
PUCHNUM+HARDCHNUM」の範囲内で上記
x個のチャンネル番号についてのキーオンフラグKON
FLG(図2(b))をそれぞれ「1」に設定する。そ
してステップS61に進む。他方ノーであれば(すなわ
ちそのキーイベントがキーオフイベントであれば)、ス
テップS60に進み、ステップS57でサーチしたx個
の発音チャンネルに対応して既にキーオンフラグKON
FLGを「1」に設定されているチャンネル番号CH
「MPUCHNUM+1」乃至CH「MPUCHNUM
+HARDCHNUM」の範囲内のx個のチャンネル番
号についてのキーオフフラグKOFFLG(図2
(b))をそれぞれ「1」に設定する。そしてステップ
S61に進む。ステップS61では、他にもプログラム
チェンジイベント(図3)が読み出されたか否かを判断
する。イエスであれば、ステップS51に戻り、そのプ
ログラムチェンジイベントについてステップS51以下
の処理を繰り返す。他方ノーであれば、ステップS62
の「楽音発生処理」に進む。
【0041】ここで、キーオンイベント,キーオフイベ
ントの発生タイミングと、キーオンフラグKONFL
G,キーオフフラグKOFFLGの設定値との時間的関
係の一例を図示すると、図9(a)乃至(c)のとおり
である。キーオンイベントが発生すると(時刻t1)、
前述のステップS54またはS59の処理により、キー
オンフラグKONFLGが「0」から「1」に設定され
る。そして、その後キーオフイベントが発生すると(時
刻t2)、前述のステップS55またはS60の処理に
より、キーオフフラグKOFFLGが「0」から「1」
に設定される。
【0042】次に、図8のステップS62の「楽音発生
処理」の一例を、図10乃至図16に示す。最初に、図
10に示すように、発音チャンネルのチャンネル番号を
示す変数nを「1」に設定するとともに、RAM3のワ
ークエリアWA2内の楽音波形データの累算データMP
UACCM(図2(b))を「0」にクリアする(ステ
ップS71)。続いて、チャンネル番号CHnに対応す
るキーオンフラグKONFLGn,キーオフフラグKO
FFLGn,キーオンバッファKONBUFnの設定値
がそれぞれ「1」,「0」,「0」であるか否かを判断
する(ステップS72)。
【0043】〔ステップS72でイエスと判断された場
合の処理〕チャンネル番号CHnに対応するキーオンフ
ラグKONFLGnが、キーオンイベントの発生に基づ
いて図8のステップS54またはステップS59で
「1」に設定されていれば、ステップS72でイエスと
判断されてステップS73に進む。ステップS73で
は、当該キーオンイベントを発生したMIDIチャンネ
ルに図7のステップS39のMIDI設定処理で対応づ
けられた音色(MIDIチャンネルについてプログラム
チェンジイベントが発生した場合には、該イベントのデ
ータ「PROGRAMNo.」に応じて図7のステップ
S48またはステップS49で設定し直された音色)
と、当該キーオンイベントのデータ「KC」及びデータ
「VELOCITY」(図3)とに基づいて、チャンネ
ル番号CHnについての音色,音高及びキータッチを決
定する。
【0044】続くステップS74では、nが「MPUC
HNUM」以下であるか(すなわち、チャンネル番号C
Hnが、MPU1に割り当てられた発音チャンネルに対
応づけるべきチャンネル番号であるか)否かを判断す
る。最初はn=1なのでイエスと判断されて、ステップ
S75に進む。ステップS75では、図7のステップS
36で設定した楽音合成方式に基づき、且つ同図のステ
ップS37で設定したサンプリング周波数で、チャンネ
ル番号CHnに対応するMPU1の発音チャンネルにつ
いて、ステップS73で決定した音色,音高及びキータ
ッチを持つ所定サンプル数分の楽音波形を合成する演算
処理を行なう。これにより図9(e)の時刻t1あたり
に示すように、当該発音チャンネルについての楽音波形
がアタック部から合成され始める。そして、合成した楽
音波形データを、ワークエリアWA2内のサウンドバッ
ファSBUF(図2(b))のうちの、チャンネル番号
CHnに対応するサウンドバッファSBUFnに書き込
む。
【0045】ステップS75に続くステップS76で
は、このシステムにMIDI接続されている外部の音源
装置においても当該キーオンイベントを利用して楽音波
形の合成を行なえるようにするために、当該キーオンイ
ベントを、MPU1が担当するMIDIチャンネル「M
PUMIDI−CH(m)」についてのキーオンイベン
トとして、外部インターフェース5または拡張外部イン
ターフェース14のMIDI出力端子を介してそれらの
音源装置に供給する。
【0046】続くステップS80では、チャンネル番号
CHnについてのキーオンバッファKONBUFnを、
図9(d)の時刻t1あたりに示すように「1」に設定
する。続いて図11のステップS81に進み、nが「M
PUCHNUM」以下であるか否かを判断する。最初は
n=1なので、イエスと判断されてステップS82に進
む。ステップS82では、サウンドバッファSBUFn
内の楽音波形データをワークエリアWA2内の累算デー
タMPUACCM(図2(b))に加算したデータを、
新たな累算データMPUACCMとしてワークエリアW
A2に書き込む。これにより、MPU1によって合成さ
れた各発音チャンネルについての楽音波形データが累算
されていく。ステップS82が終了するとステップS8
3に進み、nを「1」だけインクリメントする。続くス
テップS84では、nが「MPUCHNUM+HARD
CHNUM」を越えたか否かを判断する。最初はn=1
なのでイエスと判断されて、図10のステップS72に
戻る。
【0047】〔ステップS86でイエスと判断された場
合の処理〕図10に戻り、ステップS72でノーと判断
された場合には、ステップS86に進み、チャンネル番
号CHnに対応するキーオンフラグKONFLGn,キ
ーオフフラグKOFFLGn,キーオンバッファKON
BUFnの設定値がそれぞれ「1」,「0」,「1」で
あるか否かを判断する。チャンネル番号CHnについて
既に前述のステップS75の演算処理が行なわれていれ
ば、当該チャンネル番号CHnに対応するキーオンバッ
ファKONBUFnが前述のステップS80で「1」に
設定されているので、ステップS86でイエスと判断さ
れて、図12のステップS87に進む。
【0048】ステップS87では、nが「MPUCHN
UM」以下であるか否かを判断する。最初はn=1なの
で、イエスと判断されてステップS88に進む。ステッ
プS88では、チャンネル番号CHnに対応するMPU
1の発音チャンネルについて、前述のステップS75で
合成した楽音波形に続き、所定サンプル数分の楽音波形
を合成する演算処理を行なう。これにより、当該発音チ
ャンネルについて、アタック部に続き、図9(e)の時
刻t1から時刻t2の間に例示するようなサステイン部
の楽音波形が合成されていく。そして、合成した楽音波
形データを、ワークエリアWA2内のサウンドバッファ
SBUFnに書き込む。ステップS88が終了すると、
前述の図11のステップS81にジャンプし、ステップ
S81乃至ステップS85の処理を実行する。
【0049】〔ステップS89でイエスと判断された場
合の処理〕図10に戻り、ステップS86でノーと判断
された場合には、ステップS89に進み、チャンネル番
号CHnに対応するキーオンフラグKONFLGn,キ
ーオフフラグKOFFLGn,キーオンバッファKON
BUFnの設定値がそれぞれ「1」,「1」,「1」で
あるか否かを判断する。チャンネル番号CHnに対応す
るキーオフフラグKOFFLGnが、キーオフイベント
の発生に基づいて図8のステップS55またはステップ
S60で「1」に設定されていれば、ステップS89で
イエスと判断されて図13のステップS90に進む。
【0050】ステップS90では、nが「MPUCHN
UM」以下であるか否かを判断する。最初はn=1なの
で、イエスと判断されてステップS91に進む。ステッ
プS91では、チャンネル番号CHnに対応するMPU
1の発音チャンネルについて、前述のステップS88で
合成したサステイン部の楽音波形に続き、所定サンプル
数分のリリース部の楽音波形を合成する演算処理を行な
う。これにより、当該発音チャンネルについて、図9
(e)の時刻t2からt3の間に例示するようなリリー
ス部の楽音波形が合成されていく。そして、合成した楽
音波形データを、ワークエリアWA2内のサウンドバッ
ファSBUFnに書き込む。
【0051】ステップS91に続くステップS92で
は、前述の図10のステップS76でキーオンイベント
を供給したシステム外部の音源装置に、当該キーオフイ
ベントを、MPU1が担当するMIDIチャンネル「M
PUMIDI−CH(m)」についてのキーオフイベン
トとして供給する。続くステップS96では、チャンネ
ル番号CHnに対応するキーオンバッファKONBUF
nを、図9(d)の時刻t2あたりに示すように「0」
に設定する。続いて図14のステップS97に進み、当
該チャンネル番号CHnに対応する発音チャンネルにつ
いて合成されている楽音波形の音量レベルをチェックす
る。続くステップS98では、当該音量レベルが所定値
未満になっているか否かを判断する。ノーであれば、図
11のステップS81にジャンプしてステップS81乃
至ステップS85の処理を実行する。他方ステップS9
7でイエスと判断されれば、ステップS99に進み、チ
ャンネル番号CHnに対応するキーオフフラグKOFF
LGn及びキーオンバッファKONBUFnを、図9
(d)の時刻t3あたりに示すように共に「0」に設定
する。ステップS99を終えると、前述のステップS8
1にジャンプし、ステップS81乃至ステップS85の
処理を実行する。
【0052】〔ステップS100でイエスと判断された
場合の処理〕図10に戻り、ステップS89でノーと判
断された場合には、ステップS100に進み、チャンネ
ル番号CHnに対応するキーオンフラグKONFLG
n,キーオフフラグKOFFLGn,キーオンバッファ
KONBUFnの設定値がそれぞれ「0」,「1」,
「1」であるか否かを判断する。チャンネル番号CHn
について、既に前述の図13のステップS91でリリー
ス部の楽音波形を合成する演算処理が行なわれたことに
より図13のステップS96でキーオンバッファKON
BUFnが「0」に設定されているが、楽音波形の音量
レベルがまだ所定値未満に減衰していないことにより図
13のステップS99を経ていなければ、ステップS1
00でイエスと判断されて、図15のステップS101
に進む。
【0053】ステップS101では、nが「MPUCH
NUM」以下であるか否かを判断する。最初はn=1な
ので、イエスと判断されてステップS102に進む。ス
テップS102では、チャンネル番号CHnに対応する
MPU1の発音チャンネルについて、図13のステップ
S91で合成した楽音波形に続き、所定サンプル数分の
リリース部の楽音波形を合成する演算処理を行なう。そ
して、合成した楽音波形データを、ワークエリアWA2
内のサウンドバッファSBUFnに書き込む。ステップ
S102を終了すると、図14のステップS97にジャ
ンプし、前述のステップS97から図11のステップS
85までの処理を実行する。
【0054】〔ステップS100でノーと判断された場
合の処理〕図10に戻り、チャンネル番号CHnについ
て、既に前述の図13のステップS91でリリース部の
楽音波形を合成する演算処理が行なわれたことにより図
13のステップS96でキーオンバッファKONBUF
nが「0」に設定されて、且つ、楽音波形の音量レベル
が所定値未満に減衰したことにより図13のステップS
99でキーオフフラグKOFFLGn及びキーオンバッ
ファKONBUFnが「0」に設定されていれば、ステ
ップS100でノーと判断されて、図16のステップS
103に進む。また、チャンネル番号CHnに対応する
キーオンフラグKONFLGが最初から「1」に設定さ
れていなかった場合(すなわち、当該チャンネル番号C
Hnに対応する発音チャンネルに発音割当てが行なわれ
なかった場合)にも、やはりステップS100でノーと
判断されてステップS103に進む。
【0055】ステップS103では、nが「MPUCH
NUM」以下であるか否かを判断する。最初はn=1な
ので、イエスと判断されてステップS104に進む。ス
テップS104では、チャンネル番号CHnに対応する
MPU1の発音チャンネルについて、図13のステップ
S91で合成した楽音波形に続き、レベルが全てゼロで
ある所定サンプル数分の仮想的な楽音波形を合成する演
算処理を行なう。これにより、当該発音チャンネルにつ
いての楽音波形の音量レベルが、図9(d)の時刻t3
以降に例示するようにゼロになる。そして、そのレベル
ゼロのデータを、ワークエリアWA2内のサウンドバッ
ファSBUFnに書き込む。ステップS104を終了す
ると、前述の図11のステップS81にジャンプし、ス
テップS81乃至ステップS85の処理を実行する。
【0056】上述のような処理が、n=「MPUCHN
UM」になるまで繰り返されることにより、前述の図8
のステップS54でMPU1に割り当てられたx個の発
音チャンネルについての楽音波形の合成が順次行なわれ
ていく。そして、nが「MPUCHNUM」を越えると
(すなわち、チャンネル番号CHnが、ハード音源に割
り当てられた発音チャンネルに対応づけるべきチャンネ
ル番号になると)、今度は次のような処理を実行する。
【0057】〔ステップS72でイエスと判断された場
合の処理〕図10のステップS74でノーと判断されて
ステップS77に進むようになる。ステップS77で
は、このシステム内にハード音源が搭載されているか否
かを判断する。イエスであれば、図7のステップS57
でチャンネル番号CHnに対応する発音チャンネルを割
り当てられたハード音源に対し、当該発音チャンネルに
ついて、ステップS73で決定した音色,音高及びキー
タッチを持つ楽音波形を合成すべきことを指示する(ス
テップS78)。これにより、システム内のそのハード
音源により、当該発音チャンネルについて、キーオンイ
ベントに基づく楽音合成処理が実行される。ステップS
78が終了すると、ステップS80に進む。他方ステッ
プS77でノーと判断されれば、当該キーオンイベント
を、システム内のハード音源が担当するMIDIチャン
ネル「HARDMIDI−CH(k)」についてのキー
オンイベントとして、外部インターフェース5または拡
張外部インターフェース14のMIDI出力端子を介し
てシステム外部の音源装置に供給する。(ステップS7
9)。これにより、システム外部の音源装置により、当
該発音チャンネルについて、キーオンイベントに基づく
楽音合成処理が実行される。ステップS79が終了する
と、ステップS80に進む。また、図11のステップS
81からステップS83にジャンプするようになる。
【0058】〔ステップS86でイエスと判断された場
合の処理〕図12のステップS87でノーと判断されて
図11のステップS81にジャンプするようになる。 〔ステップS89でイエスと判断された場合の処理〕図
13のステップS90でノーと判断されてステップS9
3に進むようになる。ステップS93では、このシステ
ム内にハード音源が搭載されているか否かを判断する。
イエスであれば、図7のステップS57でチャンネル番
号CHnに対応する発音チャンネルを割り当てられたハ
ード音源に対し、当該チャンネル番号CHnについての
楽音合成処理の終了を指示する(ステップS94)。こ
れにより、システム内のそのハード音源による当該発音
チャンネルについての楽音合成処理が終了する。ステッ
プS94が終了すると、ステップS96に進む。他方ス
テップS93でノーと判断されれば、当該キーオフイベ
ントを、システム内のハード音源が担当するMIDIチ
ャンネル「HARDMIDI−CH(k)」についての
キーオフイベントとして、外部インターフェース5また
は拡張外部インターフェース14のMIDI出力端子を
介して、システム外部の音源装置のうち、図10のステ
ップS79で当該チャンネル番号CHnについてのキー
オンイベントを供給された音源装置に供給する(ステッ
プS95)。これにより、システム外部の音源装置によ
る当該発音チャンネルについての楽音合成処理が終了す
る。ステップS95が終了すると、ステップS96に進
む。
【0059】〔ステップS100でイエスと判断された
場合の処理〕図15のステップS101でノーと判断さ
れて図14のステップS97にジャンプするようにな
る。 〔ステップS100でイエスと判断された場合の処理〕
図16のステップS103でノーと判断されて図11の
ステップS81にジャンプするようになる。
【0060】こうした処理が、n=「MPUCHNUM
+HARDCHNUM」になるまで繰り返されることに
より、前述の図8のステップS59でハード音源に割り
当てられたx個の発音チャンネルについての楽音波形の
合成が順次行なわれていく。そして、nが「MPUCH
NUM+HARDCHNUM」を越えると、図11のス
テップS84でイエスと判断されてステップS85に進
み、ワークエリアWA2内の累算データMPUACCM
(MPU1によって合成されたx個の発音チャンネルに
ついての楽音波形データの累算データ)を、アナログ変
換ボード12内のDAC17を介してサウンドシステム
(図示せず)に転送する。これにより、MPU1が担当
するMIDIチャンネルについての楽音がサウンドシス
テムから音響的に発音されるようになる。(ハード音源
によって合成されたx個の発音チャンネルについての楽
音波形データの累算データも、nが「MPUCHNUM
+HARDCHNUM」を越えるとハード音源からサウ
ンドシステムに転送されて音響的に発音されることはも
ちろんである。)ステップS85を終了すると、リター
ンする。
【0061】以上のように、このシステムでは、MPU
1に割り当て可能な「MPUCHNUM」個の発音チャ
ンネルについてそれぞれステップS75,ステップS8
8,ステップS91またはステップS101のいずれか
の演算処理が終了した後(したがってMPU1に割り当
てられた発音チャンネルについての楽音波形の合成が全
て完了した後)、システム内のハード音源に割り当てら
れた発音チャンネルについての楽音合成処理が、ステッ
プS78,ステップS79,ステップS94またはステ
ップS95の処理に基づき、当該ハード音源またはシス
テム外部の音源装置によって実行される。したがって、
システム内のハード音源に割り当てられた発音チャンネ
ルについての楽音合成処理が開始する段階では、MPU
1がこれらの演算処理のために要する時間は既に経過し
ている。これにより、MPU1によるこれらの演算処理
の時間的遅れにもかからず、MPU1が担当するMID
Iチャンネルについての発音タイミングと、システム内
のハード音源が担当するMIDIチャンネルについての
発音タイミングとが統一されるようになる。
【0062】図17は、この時間間隔の一例を示す図で
ある。MPU1が担当するMIDIチャンネルについて
は、キーオンイベントの発生後、時間tmだけ遅れて発
音が開始している。システム内のハード音源が担当する
MIDIチャンネルについて発生したキーオンイベント
に基づく処理は、この時間tmの経過後に開始されるの
で、専用の音源装置が楽音合成処理のために要する時間
を誤差範囲としてゼロとみなせば、当該MIDIチャン
ネルについての発音開始は、やはり時間tmだけ遅れる
ことになる。したがって、双方の発音開始のタイミング
が統一される。その後、MPU1が担当する上記MID
Iチャンネルについて、キーオフイベントの発生後、時
間的遅れを伴って発音が終了しており、システム内のハ
ード音源が担当する上記MIDIチャンネルについて発
生したキーオフイベントに基づく処理も、この遅れ時間
の経過後に開始されるので、やはりその時間だけ遅れる
ことになる。したがって、双方の発音終了のタイミング
も統一される。このようにして、このシステムでは、M
PU1が合成した楽音の発音タイミングと専用の音源装
置が合成した楽音の発音タイミングとを統一させて同一
の楽曲の演奏(すなわち合奏)等を行なうことができる
ようになる。
【0063】尚、この実施例では、nが「MPUCHN
UM」を越えたことにより図10のステップS74,図
13のステップS90でノーと判断された場合、それぞ
れ直ちにステップS77,ステップS93に進んでいる
が、別の例として、ステップS74,ステップS90で
ノーと判断された場合に、MPU1がそれまでの「MP
UCHNUM」個の発音チャンネルについての処理を実
行した際に生じると想定される遅れ時間よりもある程度
余裕をもって設定した所定の時間が経過したか否かを判
断し、該所定の時間の経過後にそれぞれステップS7
7,ステップS93に進むようにしてもよい。そうする
ことにより、MPU1が当該「MPUCHNUM」個の
発音チャンネルについての処理を複数回実行する際の遅
れ時間のばらつきにもかかわらず、各回における当該処
理に基づく楽音の発音タイミングを統一させて楽曲の演
奏等を行なうことができるようになる。
【0064】また、この実施例では、パーソナルコンピ
ュータに内蔵されたトーンジェネレータと、拡張スロッ
トに装着された拡張ボードとを専用の音源装置として用
いたコンピュータミュージックシステムにこの発明を採
用しているが、これらのトーンジェネレータと拡張ボー
ドとのうちのいずれか一方を専用の音源装置として用い
たコンピュータミュージックシステムにこの発明を採用
してもよいことはもちろんである。また、この実施例で
は、コンピュータミュージックシステムにこの発明を採
用しているが、専用の電子楽器において、電子楽器内に
内蔵されたCPUとトーンジェネレータとの双方に楽音
合成処理を実行させるためにこの発明を採用するように
してもよい。
【0065】最後に、この発明の実施態様を幾つか列挙
する。 (1) 汎用の演算処理手段と、楽音合成処理を実行す
るための専用の楽音合成手段と、供給される各演奏情報
に基づく楽音合成処理を、それぞれ前記汎用の演算処理
手段または前記専用の楽音合成手段のいずれかに担当さ
せることを決定する決定手段とを具え、前記汎用の演算
処理手段が、前記決定手段によって該汎用の演算処理手
段に担当させることが決定された楽音合成処理と、前記
楽音合成処理の完了後、前記決定手段によって前記専用
の楽音合成手段に担当させることが決定された楽音合成
処理を該専用の楽音合成手段に指示する制御処理とを実
行することを特徴とする楽音合成装置。
【0066】(2) 供給される各演奏情報に基づく楽
音合成処理を、それぞれ汎用の演算処理手段または楽音
合成処理を実行するための専用の楽音合成手段のいずれ
かに担当させることを決定する第1のステップと、前記
汎用の演算処理手段に、前記第1のステップで該汎用の
演算処理手段に担当させることが決定された楽音合成処
理を実行させる第2のステップと、前記第2のステップ
の終了後、前記汎用の演算処理手段の制御のもと、前記
専用の楽音合成手段に、前記第1のステップで該専用の
楽音合成手段に担当させることが決定された楽音合成処
理を実行させる第3のステップとを含んだ楽音合成方
法。
【0067】(3) 汎用の演算処理手段と、楽音合成
処理を実行するための専用の楽音合成手段と、供給され
る各演奏情報に基づく楽音合成処理を、それぞれ前記汎
用の演算処理手段または前記専用の楽音合成手段のいず
れかに担当させることを決定する決定手段とを具え、前
記汎用の演算処理手段が、前記決定手段によって該汎用
の演算処理手段に担当させることが決定された楽音合成
処理を実行する発音チャンネルとして、所定の範囲内の
チャンネル番号を有する1または複数の第1の発音チャ
ンネルを該汎用の演算処理手段に割り当てる第1の割り
当て処理と、前記決定手段によって前記専用の楽音合成
手段に担当させることが決定された楽音合成処理を実行
する発音チャンネルとして、前記第1の発音チャンネル
とは異なるチャンネル番号を有する1または複数の第2
の発音チャンネルを該専用の楽音合成手段に割り当てる
第2の割り当て処理と、前記第1の発音チャンネルにつ
いての楽音合成処理と、前記楽音合成処理の完了後、前
記第2の発音チャンネルについての楽音合成処理を前記
専用の楽音合成手段に指示する制御処理とを実行するこ
とを特徴とする楽音合成装置。
【0068】(4) 供給される各演奏情報に基づく楽
音合成処理を、それぞれ汎用の演算処理手段または楽音
合成処理を実行するための専用の楽音合成手段のいずれ
かに担当させることを決定する第1のステップと、前記
第1のステップで前記汎用の演算処理手段に担当させる
ことが決定された楽音合成処理を実行する発音チャンネ
ルとして、所定の範囲内のチャンネル番号を有する1ま
たは複数の第1の発音チャンネルを該汎用の演算処理手
段に割り当てる処理を、該汎用の演算処理手段に実行さ
せる第2のステップと、前記第1のステップで前記専用
の楽音合成手段に担当させることが決定された楽音合成
処理を実行する発音チャンネルとして、前記第1の発音
チャンネルとは異なるチャンネル番号を有する1または
複数の第2の発音チャンネルを該専用の楽音合成手段に
割り当てる処理を、前記汎用の演算処理手段に実行させ
る第3のステップと、前記汎用の演算処理手段に、前記
第1の発音チャンネルについての楽音合成処理を実行さ
せる第4のステップと、前記第4のステップの終了後、
前記汎用の演算処理手段の制御のもと、前記専用の楽音
合成手段に、前記第2の発音チャンネルについての楽音
合成処理を実行させる第5のステップとを含んだ楽音合
成方法。
【0069】(5) 汎用の演算処理手段と、楽音合成
処理を実行するための専用の楽音合成手段と、供給され
る各演奏情報に基づく楽音合成処理を、それぞれ前記汎
用の演算処理手段または前記専用の楽音合成手段のいず
れかに担当させることを決定する決定手段とを具え、前
記汎用の演算処理手段が、前記決定手段によって該汎用
の演算処理手段に担当させることが決定された楽音合成
処理を実行するために、該汎用の演算処理手段に1また
は複数の発音チャンネルを割り当てる第1の割り当て処
理と、前記第1の割り当て処理で前記汎用の演算処理手
段に割り当てた発音チャンネルを、所定の範囲内の第1
のチャンネル番号を有する発音チャンネルとして管理す
る処理と、前記決定手段によって前記専用の楽音合成手
段に担当させることが決定された楽音合成処理を実行さ
せるために、該専用の楽音合成手段に1または複数の発
音チャンネルを割り当てる第2の割り当て処理と、前記
第2の割り当て処理で前記専用の楽音合成手段に割り当
てた発音チャンネルを、前記第1のチャンネル番号とは
異なる第2のチャンネル番号を有する発音チャンネルと
して管理する処理と、前記第1のチャンネル番号を有す
る発音チャンネルについての楽音合成処理と、前記楽音
合成処理の完了後、前記第2のチャンネル番号を有する
発音チャンネルについての楽音合成処理を前記専用の楽
音合成手段に指示する制御処理とを実行することを特徴
とする楽音合成装置。
【0070】(6) 供給される各演奏情報に基づく楽
音合成処理を、それぞれ汎用の演算処理手段または楽音
合成処理を実行するための専用の楽音合成手段のいずれ
かに担当させることを決定する第1のステップと、前記
第1のステップで前記汎用の演算処理手段に担当させる
ことが決定された楽音合成処理を実行するために、該汎
用の演算処理手段に1または複数の発音チャンネルを割
り当てる処理を、該汎用の演算処理手段に実行させる第
2のステップと、前記第2のステップで前記汎用の演算
処理手段に割り当てた発音チャンネルを、所定の範囲内
の第1のチャンネル番号を有する発音チャンネルとして
管理する処理を、該汎用の演算処理手段に実行させる第
3のステップと、前記第1のステップで前記専用の楽音
合成手段に担当させることが決定された楽音合成処理を
実行するために、該専用の楽音合成手段に1または複数
の発音チャンネルを割り当てる処理を、前記汎用の演算
処理手段に実行させる第4のステップと、前記第4のス
テップで前記専用の楽音合成手段に割り当てた発音チャ
ンネルを、前記第1のチャンネル番号とは異なるチャン
ネル番号を有する第2の発音チャンネルとして管理する
処理を、該汎用の演算処理手段に実行させる第5のステ
ップと、前記汎用の演算処理手段に、前記第1のチャン
ネル番号を有する発音チャンネルについての楽音合成処
理を実行させる第6のステップと、前記第6のステップ
の終了後、前記汎用の演算処理手段の制御のもと、前記
専用の楽音合成手段に、前記第2のチャンネル番号を有
する発音チャンネルについての楽音合成処理を実行させ
る第7のステップとを含んだ楽音合成方法。
【0071】(7) 前記汎用の演算処理手段は、汎用
コンピュータのCPUであり、前記専用の楽音合成手段
は、該コンピュータに搭載された音源装置である
(1),(3)または(5)に記載の楽音合成装置。 (8) 前記汎用の演算処理手段は、汎用コンピュータ
のCPUであり、前記専用の楽音合成手段は、該コンピ
ュータに搭載された音源装置である(2),(4)また
は(6)に記載の楽音合成方法。 (9) 前記汎用の演算処理手段に割り当て可能な発音
チャンネルのチャンネル数と、前記専用の楽音合成手段
に割り当て可能な発音チャンネルのチャンネル数とをそ
れぞれ指定する手段を更に具えた(3),(5)または
(7)に記載の楽音合成装置。 (10) 前記汎用の演算処理手段に割り当て可能な発
音チャンネルのチャンネル数と、前記専用の楽音合成手
段に割り当て可能な発音チャンネルのチャンネル数とを
それぞれ指定するステップを更に含んだ(4),(6)
または(8)に記載の楽音合成方法。 (11) 前記決定手段は、各MIDIチャンネルで受
信する演奏情報に基づく楽音合成処理を、それぞれ前記
汎用の演算処理手段または前記専用の楽音合成手段のい
ずれかに担当させることを決定するものである(1),
(3),(5),(7)または(9)に記載の楽音合成
装置。 (12) 前記第1のステップでは、各MIDIチャン
ネルで受信する演奏情報に基づく楽音合成処理を、それ
ぞれ前記汎用の演算処理手段または前記専用の楽音合成
手段のいずれかに担当させることを決定する(2),
(4),(6),(8)または(10)に記載の楽音合
成方法。
【0072】
【発明の効果】以上のように、この発明によれば、汎用
の演算処理手段が楽音合成処理を完了した後、専用の楽
音合成手段が楽音合成処理を実行するような制御が行な
われるので、専用の楽音合成手段が楽音合成処理を開始
する段階では、汎用の演算処理手段が楽音合成処理のた
めに要する時間は既に経過している。したがって、汎用
の演算処理手段による楽音合成処理の時間的遅れにかか
わらず、汎用の演算処理手段が合成した楽音の発音タイ
ミングと専用の楽音合成手段が合成した楽音の発音タイ
ミングとが常に統一されるようになる。これにより、汎
用の演算処理手段と専用の楽音合成手段との双方に同一
の楽曲の演奏(すなわち合奏)等を行なわせることがで
きるようになり、楽曲の演奏における同時発音数の一層
の増大や音色のバリエーションの一層の拡大を図ること
ができるようになるという優れた効果を奏する。
【図面の簡単な説明】
【図1】この発明を採用したコンピュータミュージック
システムの全体構成ブロック図
【図2】RAMの記憶領域の一例を示す図
【図3】発生するイベントの一例を示す図
【図4】イベントバッファへのイベントの書込み,読出
し方式の一例を示す図
【図5】MPUの実行するメインプログラムの一例を示
すフローチャート
【図6】図5の演奏情報発生アプリケーションの処理の
一例を示すフローチャート
【図7】図5の楽音波形発生アプリケーションの処理の
一部分の一例を示すフローチャート
【図8】図5の楽音波形発生アプリケーションの処理の
一部分の一例を示すフローチャート
【図9】キーイベントと各フラグと楽音波形の発生との
時間的関係の一例を示すフローチャート
【図10】図8の楽音発生処理の一部分の一例を示すフ
ローチャート
【図11】図8の楽音発生処理の一部分の一例を示すフ
ローチャート
【図12】図8の楽音発生処理の一部分の一例を示すフ
ローチャート
【図13】図8の楽音発生処理の一部分の一例を示すフ
ローチャート
【図14】図8の楽音発生処理の一部分の一例を示すフ
ローチャート
【図15】図8の楽音発生処理の一部分の一例を示すフ
ローチャート
【図16】図8の楽音発生処理の一部分の一例を示すフ
ローチャート
【図17】MPUが担当するMIDIチャンネルについ
ての発音タイミングとハード音源が担当するMIDIチ
ャンネルについての発音タイミングとの時間間隔の一例
を示す図
【符号の説明】
1 MPU 2 ROM 3 RAM 4 トーンジェネレータ 5,15 外部インターフェース 6,11 バス 7 キーボード 8 ディスプレイ 9 ディスクドライブ 10 バスインターフェース 12 アナログ変換ボード 13 サウンドボード 14 拡張外部インターフェース 16 データバッファ 17 DAC 18 ドーターボード

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 汎用の演算処理手段と、 楽音合成処理を実行するための専用の楽音合成手段と、 供給される各演奏情報に基づく楽音合成処理を、それぞ
    れ前記汎用の演算処理手段または前記専用の楽音合成手
    段のいずれかに担当させることを決定する決定手段とを
    具え、前記汎用の演算処理手段が、 前記決定手段によって該汎用の演算処理手段に担当させ
    ることが決定された楽音合成処理を実行し、かつ該汎用の演算処理手段による 前記楽音合成処理の実行
    後、前記決定手段によって前記専用の楽音合成手段に担
    当させることが決定された楽音合成処理を実行するよう
    前記専用の楽音合成手段に指示するとともに該汎用の演
    算処理手段によって実行された楽音合成処理により生成
    された楽音を出力する制御処理実行することを特徴と
    する楽音合成装置。
  2. 【請求項2】 供給される各演奏情報に基づく楽音合成
    処理を、それぞれ汎用の演算処理手段または楽音合成処
    理を実行するための専用の楽音合成手段のいずれかに担
    当させることを決定する第1のステップと、 前記汎用の演算処理手段に、前記第1のステップで該汎
    用の演算処理手段に担当させることが決定された楽音合
    成処理を実行させる第2のステップと、 前記第2のステップの終了後、前記汎用の演算処理手段
    の制御のもと、前記専用の楽音合成手段に、前記第1の
    ステップで該専用の楽音合成手段に担当させることが決
    定された楽音合成処理を実行させるとともに該汎用の演
    算処理手段による楽音合成処理により生成された楽音を
    出力する第3のステップとを含んだ楽音合成方法。
  3. 【請求項3】 汎用の演算処理手段と、 楽音合成処理を実行するための専用の楽音合成手段と、 供給される各演奏情報に基づく楽音合成処理を、それぞ
    れ前記汎用の演算処理手段または前記専用の楽音合成手
    段のいずれかに担当させることを決定する決定手段とを
    具え、前記汎用の演算処理手段が、 前記決定手段によって該汎用の演算処理手段に担当させ
    ることが決定された楽音合成処理を実行する発音チャン
    ネルとして、所定の範囲内のチャンネル番号を有する1
    または複数の第1の発音チャンネルを該汎用の演算処理
    手段に割り当てる第1の割り当て処理と、 前記決定手段によって前記専用の楽音合成手段に担当さ
    せることが決定された楽音合成処理を実行する発音チャ
    ンネルとして、前記第1の発音チャンネルとは異なるチ
    ャンネル番号を有する1または複数の第2の発音チャン
    ネルを該専用の楽音合成手段に割り当てる第2の割り当
    て処理と、 前記第1の発音チャンネルについての楽音合成処理と、 前記第1の発音チャンネルについての楽音合成処理の
    後、前記第2の発音チャンネルについての楽音合成処
    理を実行するよう前記専用の楽音合成手段に指示する
    ともに該第1の発音チャンネルで生成された楽音を出力
    する制御処理とを実行することを特徴とする楽音合成装
    置。
  4. 【請求項4】 供給される各演奏情報に基づく楽音合成
    処理を、それぞれ汎用の演算処理手段または楽音合成処
    理を実行するための専用の楽音合成手段のいずれかに担
    当させることを決定する第1のステップと、 前記第1のステップで前記汎用の演算処理手段に担当さ
    せることが決定された楽音合成処理を実行する発音チャ
    ンネルとして、所定の範囲内のチャンネル番号を有する
    1または複数の第1の発音チャンネルを該汎用の演算処
    理手段に割り当てる処理を、該汎用の演算処理手段に実
    行させる第2のステップと、 前記第1のステップで前記専用の楽音合成手段に担当さ
    せることが決定された楽音合成処理を実行する発音チャ
    ンネルとして、前記第1の発音チャンネルとは異なるチ
    ャンネル番号を有する1または複数の第2の発音チャン
    ネルを該専用の楽音合成手段に割り当てる処理を、前記
    汎用の演算処理手段に実行させる第3のステップと、 前記汎用の演算処理手段に、前記第1の発音チャンネル
    についての楽音合成処理を実行させる第4のステップ
    と、 前記第4のステップの終了後、前記汎用の演算処理手段
    の制御のもと、前記専用の楽音合成手段に、前記第2の
    発音チャンネルについての楽音合成処理を実行させる
    ともに該第1の発音チャンネルで生成された楽音を出力
    する第5のステップとを含んだ楽音合成方法。
JP07839896A 1996-03-05 1996-03-05 楽音合成装置及び方法 Expired - Fee Related JP3221314B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP07839896A JP3221314B2 (ja) 1996-03-05 1996-03-05 楽音合成装置及び方法
US08/807,416 US5864082A (en) 1996-03-05 1997-02-28 Tone synthesizing apparatus and method based on ensemble of arithmetic processor and dedicated tone generator device
US09/189,670 US6096963A (en) 1996-03-05 1998-11-11 Tone synthesizing apparatus and method based on ensemble of arithmetic processor and dedicated tone generator device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07839896A JP3221314B2 (ja) 1996-03-05 1996-03-05 楽音合成装置及び方法

Publications (2)

Publication Number Publication Date
JPH09244650A JPH09244650A (ja) 1997-09-19
JP3221314B2 true JP3221314B2 (ja) 2001-10-22

Family

ID=13660924

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07839896A Expired - Fee Related JP3221314B2 (ja) 1996-03-05 1996-03-05 楽音合成装置及び方法

Country Status (2)

Country Link
US (2) US5864082A (ja)
JP (1) JP3221314B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099024A (ja) * 1998-09-28 2000-04-07 Kawai Musical Instr Mfg Co Ltd 電子楽器の音色設定装置
CA2320207A1 (en) * 1998-12-17 2000-06-22 Sony Computer Entertainment Inc. Apparatus and method for generating music data
US6535772B1 (en) * 1999-03-24 2003-03-18 Yamaha Corporation Waveform data generation method and apparatus capable of switching between real-time generation and non-real-time generation
JP4025501B2 (ja) * 2000-03-03 2007-12-19 株式会社ソニー・コンピュータエンタテインメント 楽音発生装置
JP2002358080A (ja) * 2001-05-31 2002-12-13 Kawai Musical Instr Mfg Co Ltd 演奏制御方法、演奏制御装置及び楽音発生装置
JP4623060B2 (ja) * 2007-07-18 2011-02-02 ヤマハ株式会社 波形生成装置、音響効果付与装置、および楽音発生装置
JP6149354B2 (ja) * 2012-06-27 2017-06-21 カシオ計算機株式会社 電子鍵盤楽器、方法及びプログラム
US9159310B2 (en) * 2012-10-19 2015-10-13 The Tc Group A/S Musical modification effects
US11970618B2 (en) 2021-07-21 2024-04-30 The Goodyear Tire & Rubber Company Rubber tire compound containing IPN-promoting resin

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4373416A (en) * 1976-12-29 1983-02-15 Nippon Gakki Seizo Kabushiki Kaisha Wave generator for electronic musical instrument
US5319151A (en) * 1988-12-29 1994-06-07 Casio Computer Co., Ltd. Data processing apparatus outputting waveform data in a certain interval
US5200564A (en) * 1990-06-29 1993-04-06 Casio Computer Co., Ltd. Digital information processing apparatus with multiple CPUs
US5283386A (en) * 1991-08-30 1994-02-01 Casio Computer Co., Ltd. Musical-tone signal generating apparatus and musical-tone controlling apparatus including delay means and automatic reset means
JP2743726B2 (ja) * 1992-07-07 1998-04-22 ヤマハ株式会社 電子楽器
JP2921376B2 (ja) * 1993-12-22 1999-07-19 ヤマハ株式会社 楽音発生装置
JP3444947B2 (ja) * 1993-12-27 2003-09-08 ヤマハ株式会社 楽音信号発生装置
US5596159A (en) * 1995-11-22 1997-01-21 Invision Interactive, Inc. Software sound synthesis system

Also Published As

Publication number Publication date
US6096963A (en) 2000-08-01
US5864082A (en) 1999-01-26
JPH09244650A (ja) 1997-09-19

Similar Documents

Publication Publication Date Title
US5913258A (en) Music tone generating method by waveform synthesis with advance parameter computation
JP3221314B2 (ja) 楽音合成装置及び方法
JPH11126070A (ja) 楽音生成方法
JP2970526B2 (ja) コンピュータソフトウェアを用いた音源システム
US6359206B2 (en) Tone signal processing apparatus with intermittent clock supply
JP3322209B2 (ja) コンピュータソフトウェアを用いた音源システムおよび記憶媒体
JP3152198B2 (ja) 楽音発生方法および楽音発生装置
JP4096952B2 (ja) 楽音発生装置
JP3572847B2 (ja) コンピュータソフトウェアを用いた音源システム及び方法
JP3765152B2 (ja) 楽音合成装置
JP3781171B2 (ja) 楽音発生方法
JP3003559B2 (ja) 楽音生成方法
JP2508138B2 (ja) 楽音信号発装置
JPH11126069A (ja) 楽音生成方法
JP4692056B2 (ja) 音波形生成装置、及び、音波形の波形生成データのデータ構造
JP3740717B2 (ja) 音源装置及び楽音生成方法
JP7124370B2 (ja) 電子楽器、方法及びプログラム
JP3666346B2 (ja) 楽音発生装置および記憶媒体
JP2000293169A (ja) 楽音生成装置
JP3223827B2 (ja) 音源波形データ生成方法および装置
JP3705203B2 (ja) 楽音発生方法
JPH1031486A (ja) 演奏データ記憶再生方法および装置
JP2022140812A (ja) 電子楽器、方法及びプログラム
WO2001065535A1 (fr) Generateur de sons musicaux
JP3627590B2 (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 (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070817

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20080817

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090817

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100817

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100817

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110817

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees