JPH0954586A - 楽音発生装置 - Google Patents

楽音発生装置

Info

Publication number
JPH0954586A
JPH0954586A JP7253493A JP25349395A JPH0954586A JP H0954586 A JPH0954586 A JP H0954586A JP 7253493 A JP7253493 A JP 7253493A JP 25349395 A JP25349395 A JP 25349395A JP H0954586 A JPH0954586 A JP H0954586A
Authority
JP
Japan
Prior art keywords
musical tone
generating
waveform
musical
tone waveform
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
JP7253493A
Other languages
English (en)
Other versions
JP2998612B2 (ja
Inventor
Masatada Wachi
正忠 和智
Hideo Yamada
秀夫 山田
Masashi Hirano
正志 平野
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 JP7253493A priority Critical patent/JP2998612B2/ja
Priority to TW084111030A priority patent/TW337566B/zh
Priority to EP96108875A priority patent/EP0747877B1/en
Priority to EP99112006A priority patent/EP0951009B1/en
Priority to DE69614765T priority patent/DE69614765T2/de
Priority to EP99120824A priority patent/EP0978821B1/en
Priority to DE69634271T priority patent/DE69634271T2/de
Priority to DE69632273T priority patent/DE69632273T2/de
Priority to US08/659,011 priority patent/US5714703A/en
Priority to SG1998005233A priority patent/SG74104A1/en
Priority to SG200007677A priority patent/SG92777A1/en
Priority to SG1996009976A priority patent/SG45482A1/en
Priority to CNB961104171A priority patent/CN1153187C/zh
Priority to KR1019960020414A priority patent/KR100306032B1/ko
Publication of JPH0954586A publication Critical patent/JPH0954586A/ja
Priority to HK98103469A priority patent/HK1004441A1/xx
Priority to CNB991089685A priority patent/CN1192350C/zh
Priority to US09/353,579 priority patent/USRE37367E1/en
Application granted granted Critical
Publication of JP2998612B2 publication Critical patent/JP2998612B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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/006Instruments 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 using two or more algorithms of different types to generate tones, e.g. according to tone color or to processor workload
    • 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
    • G10H2230/00General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
    • G10H2230/025Computing or signal processing architecture features
    • G10H2230/041Processor load management, i.e. adaptation or optimization of computational load or data throughput in computationally intensive musical processes to avoid overload artifacts, e.g. by deliberately suppressing less audible or less relevant tones or decreasing their complexity
    • 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/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/271Serial transmission according to any one of RS-232 standards for serial binary single-ended data and control signals between a DTE and a DCE
    • 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/291SCSI, i.e. Small Computer System Interface
    • 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
    • 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/315Firewire, i.e. transmission according to IEEE1394
    • 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
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/471General musical sound synthesis principles, i.e. sound category-independent synthesis methods
    • G10H2250/511Physical modelling or real-time simulation of the acoustomechanical behaviour of acoustic musical instruments using, e.g. waveguides or looped delay lines

Landscapes

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

Abstract

(57)【要約】 【課題】 装置構成が異なってしまっても、その構成に
おいて最適なサンプリング周波数を設定する。 【解決手段】 所定のサンプリング周波数にて生成した
波形データに基づいて楽音を発生する楽音発生装置にお
いて、CPU10およびコプロセッサ17は、1サンプ
ルあたりに必要な波形サンプルのデータを所定の方式で
演算して求め、この際の演算処理に要した時間から逆
に、サンプリング周波数を設定する。また、CPU10
は、演算処理に要した時間により設定されるサンプリン
グ周波数では、十分な楽音品質が得られない場合、楽音
の発生方式を、よりCPU負担の少ない方式に変更す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、例えば、電子ゲ
ーム機器や、通信カラオケ装置、パソコン等のように、
CPUを用いた応用システムに用いて好適な楽音発生装
置に関し、特に、楽音の発生を指示するデータに基づき
多様な楽音を合成する楽音発生装置に関する。
【0002】
【従来の技術】従来、パソコンなどで楽音を発生しよう
とする場合には、専用の音源デバイスや、音源ボードな
どの専用のハードウェアを組み込み、これらを制御する
ことで、所定の楽音を発生するようになっていた。が、
近年、パソコンの性能、特にCPUの性能が著しく向上
したので、音源ボード等の専用ハードウェアで実行すべ
き処理をもCPUが実行することにより、楽音を発生す
るようことが行なわれつつある。このような楽音発生
は、CPUが専用のソフトウェア(プログラム)にした
がって楽音波形の(サンプリング)データを演算して求
めることから、ソフトウェア音源とも呼ばれ、従来の、
専用のハードウェアを用いて楽音を発生するハードウェ
ア音源と区別される。
【0003】
【発明が解決しようとする課題】しかしながら、ソフト
ウェア音源により発生される楽音の品質は、演算処理を
担うCPUの性能に大きく依存する。すなわち、CPU
の性能が高い場合には、波形データ(サンプリングデー
タ)を求める演算処理を高速で実行できるため、サンプ
リング周波数をより高くして、品質の高い楽音を発生す
ることが可能である。しかし、CPUの性能が低い場合
には、高速な演算処理が困難となるため、サンプリング
周波数を低くしなければならず、このため、楽音の品質
が低くならざるを得ない。
【0004】一方、パソコン等のように、CPUを用い
た応用システムでは、CPUの性能や、オプション品等
の装着状態が千差万別である(通常、オプション品と
は、広義にはハードディスクや、ビデオカードなども含
むが、ここでは、楽音の発生に何らかの形で寄与するも
のをいう)。すなわち、CPUの性能は、個々のシステ
ムに応じて異なることを念頭に置かなければならない。
さらに、楽音発生のためのアプリケーションプログラム
と、それ以外のアプリケーションプログラムとを複数同
時起動するような場合、楽音発生のためのプログラムの
実行に割り当てられるCPUの負担は、他のプログラム
の起動状況やタスクの状態等によって変動することがあ
る。すなわち、全く同一のシステム環境ですら、楽音発
生のプログラムから見れば、CPUの性能が見掛け上、
変動することがあり得るのである。したがって、ユーザ
は、ソフトウェア音源により楽音を発生する場合にあっ
ては、環境が変わる毎に、楽音発生のための基本的な事
項を再設定しなければならず、非常に煩雑である、とい
う問題があった。しかも、かかるシステムで、設定事項
で定められる条件で楽音発生が可能であるか否かは、実
際に発音させて、音飛び、音欠け等の不都合が発生する
か否かではじめて判明する。すなわち、設定事項が、そ
のシステムにおいて適切であるかどうかは、実際に発音
させるまで判明しない、という問題がある。
【0005】また、いかに高性能なCPUを有するシス
テムであっても、ユーザの嗜好や、ハードウェア資産の
引継等の種々の理由から、楽音発生のための専用ハード
ウェアをそのまま用いる場合もある。このような場合、
一律に、ハードウェア音源のみにより楽音発生すること
とすれば、CPUの能力があり余っているにも拘わら
ず、楽音発生専用ハードウェアの性能を超える楽音発生
ができず、このため多様な音色を発生することができな
いとか、発音数を簡単には増やせないといった問題もあ
る。
【0006】本発明は、上述した問題に鑑みてなされた
もので、その目的とするところは、装置構成等に変動が
あっても、その構成において、適切な品質を確保した上
で多様な楽音を発生することが可能な楽音発生装置を提
供することにある。
【0007】
【課題を解決するための手段】上述した問題を解決する
ために請求項1に記載の発明にあっては、生成された楽
音波形に基づき楽音を発生する楽音発生装置において、
楽音波形を生成する第1の楽音波形生成手段と、楽音波
形を生成する第2の楽音波形生成手段と、演奏情報を発
生する演奏情報発生手段と、前記演奏情報に基づく楽音
波形をどの楽音波形生成手段により生成すべきかを、当
該演奏情報に対応して指定する指定手段と、前記指定手
段により指定された楽音波形生成手段に対して、当該演
奏情報に基づく楽音波形を生成させる制御手段とを具備
することを特徴としている。請求項2に記載の発明にあ
っては、生成された楽音波形に基づき楽音を発生する楽
音発生装置において、楽音波形を生成する第1の楽音波
形生成手段と、楽音波形を生成する第2の楽音波形生成
手段と、操作子の操作状態あるいは曲の進行に合わせた
楽音発生タイミングと、発生すべき楽音の音色とを指定
する演奏情報を発生する演奏情報発生手段と、前記演奏
情報に基づく楽音波形をどの楽音波形生成手段により生
成すべきかを、当該演奏情報の音色に対応して指定する
指定手段と、前記指定手段により指定された楽音波形生
成手段に対して、当該演奏情報に基づく楽音波形を生成
させる制御手段とを具備することを特徴としている。請
求項3に記載の発明にあっては、生成された楽音波形に
基づき楽音を発生する楽音発生装置において、楽音波形
を生成する第1の楽音波形生成手段と、楽音波形を生成
する第2の楽音波形生成手段と、操作子の操作状態ある
いは曲の進行に合わせた楽音発生タイミングと、発生す
べき楽音の音色を指定する音色指定情報とを含む演奏情
報を発生する演奏情報発生手段と、前記演奏情報に基づ
く楽音波形をどの楽音波形生成手段により生成すべきか
を、当該演奏情報に含まれる音色指定情報に対応して指
定する指定手段と、前記指定手段により指定された楽音
波形生成手段に対して、当該演奏情報に基づく楽音波形
を生成させる制御手段とを具備することを特徴としてい
る。請求項4に記載の発明にあっては、生成された楽音
波形に基づき楽音を発生する楽音発生装置において、楽
音波形を生成する第1の楽音波形生成手段と、楽音波形
を生成する第2の楽音波形生成手段と、演奏情報を発生
する演奏情報発生手段と、前記演奏情報に基づく楽音波
形を第1および第2の楽音波形生成手段の双方により生
成すべきか否かを、当該演奏情報に対応して指定する指
定手段と、前記指定手段により生成すべきと指定された
場合に、第1および第2の楽音波形生成手段の双方に対
して、当該演奏情報に基づく楽音波形を生成させる制御
手段とを具備することを特徴としている。請求項5に記
載の発明にあっては、生成された楽音波形に基づき楽音
を発生する楽音発生装置において、複数の楽音波形を生
成する第1の楽音波形生成手段と、複数の楽音波形を生
成する第2の楽音波形生成手段と、演奏情報を発生する
演奏情報発生手段と、前記演奏情報に基づく楽音波形を
どの楽音波形生成手段により生成すべきかを、当該演奏
情報の対応と、各楽音波形生成手段における楽音波形の
生成数とにより指定する指定手段と、前記指定手段によ
り指定された楽音波形生成手段に対して、当該演奏情報
に基づく楽音波形を生成させる制御手段とを具備するこ
とを特徴としている。請求項6に記載の発明にあって
は、生成された楽音波形に基づき楽音を発生する楽音発
生装置において、演奏情報を発生する演奏情報発生手段
と、楽音波形を生成する第1の楽音波形生成手段の有無
を判別する判別手段と、楽音波形を生成する第2の楽音
波形生成手段と、前記判別手段による判別が有であっ
て、前記演奏情報に基づく楽音波形を第1の楽音波形生
成手段により生成すべき場合には、当該演奏情報に基づ
く楽音波形を前記第1の楽音波形生成手段により生成す
べきと指定する一方、前記判別手段による判別が無であ
る場合には、前記演奏情報に基づく楽音波形を前記第2
の楽音波形生成手段により生成すべきと指定する指定手
段と、前記指定手段により指定された楽音波形生成手段
に対して、当該演奏情報に基づく楽音波形を生成させる
制御手段とを具備することを特徴としている。請求項7
に記載の発明にあっては、生成された楽音波形に基づき
楽音を発生する楽音発生装置において、楽音波形を生成
する少なくとも1つ以上の第1の楽音波形生成手段と、
処理手段とを具備する楽音発生装置であって、前記処理
手段は、楽音波形を生成する第2の楽音波形生成手段
と、演奏情報を発生する演奏情報発生手段と、前記演奏
情報に基づく楽音をどの楽音波形生成手段により生成す
べきかを、当該演奏情報に対応して指定するとともに、
指定した楽音波形生成手段に対して、当該演奏情報に基
づく楽音波形を生成させる発音制御手段とから構成され
ることを特徴としている。請求項8に記載の発明にあっ
ては、生成された楽音波形に基づき楽音を発生する楽音
発生装置において、楽音波形を生成する少なくとも1つ
以上の第1の楽音波形生成手段と、処理手段とを具備す
る楽音発生装置であって、前記処理手段は、楽音波形を
生成する第2の楽音波形生成手段と、演奏情報を発生す
る演奏情報発生手段と、前記演奏情報に基づく楽音をど
の楽音波形生成手段により生成すべきかを、発生すべき
楽音の音色に応じて指定するとともに、指定した楽音波
形生成手段に対して、当該演奏情報に基づく楽音波形を
生成させる発音制御手段とから構成されることを特徴と
している。請求項9に記載の発明にあっては、生成され
た楽音波形に基づき楽音を発生する楽音発生装置におい
て、楽音波形を生成する少なくとも1つ以上の第1の楽
音波形生成手段と、処理手段とを具備する楽音発生装置
であって、前記処理手段は、楽音波形を生成する第2の
楽音波形生成手段と、演奏情報を、発生すべき音色を指
定する音色指定情報を含ませて発生する演奏情報発生手
段と、前記演奏情報に基づく楽音をどの楽音波形生成手
段により生成すべきかを、前記演奏情報に含まれる音色
指定情報に応じて指定するとともに、指定した楽音波形
生成手段に対して、当該演奏情報に基づく楽音波形を生
成させる発音制御手段とから構成されることを特徴とし
ている。請求項10に記載の発明にあっては、生成され
た楽音波形に基づき楽音を発生する楽音発生装置におい
て、楽音波形を生成する少なくとも1つ以上の第1の楽
音波形生成手段と、処理手段とを具備する楽音発生装置
であって、前記処理手段は、楽音波形を生成する第2の
楽音波形生成手段と、演奏情報を発生する演奏情報発生
手段と、前記演奏情報に基づく楽音波形を第1および第
2の楽音波形生成手段の双方により生成すべきか否か
を、当該演奏情報に対応して指定するとともに、生成す
べきと指定した場合に、第1および第2の楽音波形生成
手段の双方に対して、当該演奏情報に基づく楽音波形を
生成させる発音制御手段とから構成されることを特徴と
している。請求項11に記載の発明にあっては、生成さ
れた楽音波形に基づき楽音を発生する楽音発生装置にお
いて、複数の楽音波形を生成する少なくとも1つ以上の
第1の楽音波形生成手段と、処理手段とを具備する楽音
発生装置であって、前記処理手段は、複数の楽音波形を
生成する第2の楽音波形生成手段と、演奏情報を演奏情
報発生手段と、前記演奏情報に基づく楽音波形をどの楽
音波形生成手段により生成すべきかを、当該演奏情報の
対応と、各楽音波形生成手段における楽音波形の生成数
とにより指定するとともに、指定した楽音波形生成手段
に対して、当該演奏情報に基づく楽音波形を生成させる
発音制御手段とから構成されることを特徴としている。
請求項12に記載の発明にあっては、生成された楽音波
形に基づき楽音を発生する楽音発生装置を一の処理手段
により構成し、この処理手段は、演奏情報を発生する演
奏情報発生手段と、楽音波形を生成する少なくとも1つ
以上の第1の楽音波形生成手段の有無を判別する判別手
段と、楽音波形を生成する第2の楽音波形生成手段と、
前記判別手段による判別が有であって、前記演奏情報に
基づく楽音波形を第1の楽音波形生成手段により生成す
べき場合には、当該演奏情報に基づく楽音波形を前記第
1の楽音波形生成手段により生成すべきと指定する一
方、前記判別手段による判別が無である場合には、前記
演奏情報に基づく楽音波形を前記第2の楽音波形生成手
段により生成すべきと指定し、指定された楽音波形生成
手段に対して、当該演奏情報に基づく楽音波形を生成さ
せる制御手段とから構成されることを特徴としている。
請求項13に記載の発明にあっては、請求項1〜12の
いずれか一に記載の発明において、前記第1の楽音波形
生成手段はハードウェア音源であり、前記第2の楽音波
形生成手段はソフトウェア音源であることを特徴として
いる。請求項14に記載の発明にあっては、請求項1〜
12のいずれか一に記載の発明において、前記第2の楽
音波形生成手段は、予めロードした楽音波形のサンプリ
ングデータを読み出すことによって、楽音波形の生成を
行なうことを特徴としている。請求項15に記載の発明
にあっては、請求項1〜12のいずれか一に記載の発明
において、前記第1および第2の楽音波形生成手段は、
それぞれ楽音波形のサンプリングデータを生成するもの
であり、第2の楽音波形生成手段が、所定の楽音波形を
生成するのに要した時間を計測する計測手段と、計測さ
れた時間に基づいて、前記サンプリングデータのサンプ
リング周波数を決定するサンプリング周波数決定手段と
を備えることを特徴としている。請求項16に記載の発
明にあっては、請求項15に記載の発明において、前記
サンプリング周波数決定手段は、予め段階的に設定され
た複数のサンプリング周波数のうち、前記計測手段によ
り計測された時間に基づいて求めたサンプリング周波数
よりも低いものであって、最も高いものを決定すること
を特徴としている。請求項17に記載の発明にあって
は、請求項15に記載の発明において、前記サンプリン
グ周波数決定手段により決定されたサンプリング周波数
が所定のサンプリング周波数よりも低い場合には、前記
制御手段は、前記第2の楽音波形生成手段に対し、前記
演算処理を変更してサンプリングデータを生成するよう
に制御することを特徴としている。請求項18に記載の
発明にあっては、請求項17に記載の発明において、前
記第2の楽音波形生成手段は、前記演算処理を変更する
際、予めロードした楽音波形のサンプリングデータの読
み出しを行なうことを特徴としている。
【0008】(作用)請求項1または7に記載の発明に
よれば、演奏情報が演奏情報発生手段により発生し、発
生した演奏情報に基づく楽音波形をどの楽音波形生成手
段により生成すべきかが、当該演奏情報に対応して指定
される。そして、当該演奏情報に基づく楽音波形が、指
定された楽音波形生成手段によって生成されるように制
御される。すなわち、発生した演奏情報自体によって、
その演奏情報に基づく楽音波形がどの楽音波形生成手段
によって生成されるかを定めることができる。また、第
1および第2の楽音波形生成手段は、互いに構成を異に
することから、同一の演奏情報にしたがって楽音波形を
生成するにしても、処理の負荷や、生成した楽音波形の
質に差が生じる。したがって、ある演奏情報についての
楽音波形は第1の楽音波形生成手段により生成し、また
別の演奏情報についての楽音波形は第2の楽音波形生成
手段により生成する、というようにすることで、多様な
楽音を発生することが可能となり、また、ある演奏情報
をどの楽音波形生成手段により割り当てるかにより、楽
音波形の生成に要する負荷を調整することも可能とな
る。この場合、演奏情報をどの楽音波形生成手段により
生成すべきかは、発生楽音の音色を基準とするのが望ま
しい。なぜならば、ある音色の楽音を生成するのに、適
した楽音波形生成手段というものが存在するからであ
る。請求項2または8に記載の発明によれば、演奏情報
により指定される音色により、また、請求項3または9
に記載の発明によれば、演奏情報に含まれる音色指定情
報により、当該演奏情報に基づく楽音波形をどの楽音波
形生成手段により生成するかが定まる。さて、第1およ
び第2の楽音波形生成手段は、互いに構成を異にするこ
とから、同一の演奏情報にしたがって楽音波形を生成さ
せた場合、生成した楽音波形の質に差が生じるのはすで
に説明した通りである。このことは、同一の演奏情報に
したがった楽音波形を双方の楽音波形生成手段で同時に
生成すると、異なる楽音波形が生成されることを意味す
る。請求項4または10に記載の発明によれば、このこ
とを利用して、1つの音色を異なる楽音波形生成手段に
より同時に生成することで、多様な楽音を発生すること
が可能となる。また、楽音波形生成手段における楽音生
成状態によっては、本来ならばその楽音波形生成手段に
より楽音波形を生成すべき場合であっても、他の楽音波
形生成手段に当該楽音波形の生成を委ねた方が良い場合
がある。例えば、その楽音波形生成手段において楽音波
形生成能力が限界に達しているような場合である。請求
項5または11に記載の発明によれば、演奏情報をどの
楽音波形生成手段により生成すべきかの判断において、
当該演奏情報とともに各楽音波形生成手段における楽音
生成数(状態)が考慮される。ところで、第1および第
2の楽音波形生成手段は、互いに楽音波形を生成すると
いう点では同質であるから、ユーザによっては、2つと
も用いずにどちらか一方のみ用いる場合がある(ここで
は、便宜的に着脱可能な方を第1の楽音波形生成手段と
して、着脱不可能な方を第2の楽音波形生成手段として
いる)。請求項6または12に記載の発明によれば、第
1の楽音波形生成手段が有であって、演奏情報に基づく
楽音波形を第1の楽音波形生成手段により生成すべき場
合には、当該演奏情報に基づく楽音波形を第1の楽音波
形生成手段により生成する一方、第1の楽音波形生成手
段が無である場合には、無条件に、演奏情報に基づく楽
音波形を前記第2の楽音波形生成手段により生成するこ
とによって、第1の楽音波形生成手段が無である場合で
あっても、第1の楽音波形生成手段により生成すべき楽
音波形を第2の楽音波形生成手段が肩代わりして生成す
るようになっている。したがって、第1の楽音波形生成
手段が無であっても楽音の発生が保証される。また、請
求項15に記載の発明のように、第1および第2の楽音
波形生成手段がそれぞれ楽音波形のサンプリングデータ
を生成するものである場合、計測手段は、第2の楽音波
形生成手段が所定の楽音波形を生成するのに要する時間
を計測して、サンプリング周波数決定手段が、この時間
に基づいて、サンプリングデータのサンプリング周波数
を決定する。このため、システム構成に適切なサンプリ
ング周波数にて楽音発生を行なうことが可能となる。一
般に、サンプリング周波数が無段階であると、そのため
の構成が複雑化しやすいが、請求項16に記載の発明に
よれば、サンプリング周波数決定手段により決定され得
るサンプリング周波数は、予め設定された複数のものに
限定されるため、構成が複雑化する不都合が回避され
る。請求項17に記載の発明によれば、サンプリング周
波数決定手段により決定されるサンプリング周波数が所
定のサンプリング周波数よりも低い場合には、演奏情報
に基づいて楽音波形のデータを所定のサンプリング周波
数にて生成することによっては発生楽音の品質が保てな
いと判断され、演算処理が変更される。この場合、請求
項18に記載の発明のように、ロードしておいたサンプ
リングデータを読み出すようにして、演算処理の負荷を
減らすことが望ましい。
【0009】
【発明の実施の形態】
1:構成 以下、本発明の最適な実施形態について図面を参照して
説明する。図1は、本発明が適用される楽音発生装置の
構成を示すブロック図である。この図において、符号1
0はCPUであり、ROM11に記憶された基本プログ
ラムに基づいて、(データ)バス12を介して各部を制
御するようになっている。符号13はRAMであり、後
述する各種レジスタやフラグを設定したり、各種データ
を一時的に記憶する。符号14はマルチI/Oポートで
あり、例えばMIDI情報を入出力したり、図示しない
鍵盤による操作情報KBDなどを入力したり、また、図
示しない各種のインターフェイス(I/F)を介し各種
の情報を入力する。すなわち、マルチI/Oポート14
は、発生すべき楽音を規定する演奏情報を、MIDI情
報や、操作情報KBDとして入力する。なお、本実施形
態では、演奏情報が自動演奏により発生する場合も想定
している。この場合の自動演奏とは、所定の自動演奏プ
ログラムを実行することにより、演奏情報が時系列的に
発生する場合をいい、換言すれば、図1の構成が、自動
演奏プログラムの実行により、楽音発生装置としてのみ
ならず、いわばシーケンサとしても働く場合をいう。ま
た、I/Fの種類としては、シリアルや、パラレル、R
S−232C、RS−422など考えられ、特に、RS
−232Cの場合には、図示しないモデムにより電話回
線にも接続され、ホスト局と通信も行なう。したがっ
て、演奏情報の発生源は、鍵盤操作による場合は当該鍵
盤であり、MIDI情報等による場合は各種I/Fを介
して接続された外部機器であり、また、自動演奏により
場合は自動演奏プログラムを実行するCPU10であ
る。符号15はストレージユニットであり、FD(フロ
ッピィ・ディスクドライブ)やHD(ハード・ディスク
ドライブ)、CD−ROMドライブ等の記憶装置から構
成され、各種アプリケーションプログラムやデータ等を
保存する。符号16はディスプレイであり、CRTや液
晶パネル等により構成され、CPU10の制御の下、各
種表示を行なう。
【0010】次に、符号17はコプロセッサであり、浮
動小数点演算に関する処理等をCPU10に肩代わりし
て行なう。なお、その他の処理についてはCPU10が
行なう。符号18はタイマであり、後述するタイマー処
理において時間の計測等を行なう。符号19はDMAC
(ダイレクト・メモリ・アクセス・コントローラ)であ
り、RAM20におけるデータ転送を、CPU10を介
さずに直接行なう。なお、近年においてコプロセッサ1
7、タイマ18およびDMAC19は、CPU10とと
もに1チップ化される場合もあるが、本構成において
は、便宜上、CPU10とは別体構成として説明するこ
ととする。RAM20は、符号13と同様であり、ハー
ドウェア的には両者に差はないが、RAM13がプログ
ラム実行に使用されるワークメモリとして働くのに対
し、このRAM20は、所定の条件下において、展開さ
れた波形データを一時的に記憶する波形メモリとして働
く。
【0011】符号21はDSPであり、楽音合成の演算
処理を行なう専用のプロセッサである。符号22は音源
デバイスであり、種々の命令の下、楽音信号を合成す
る。符号23はD/Aコンバータであり、後述するフラ
グDACENBLが立ち上がる(「1」になる)ことに
より、その出力動作が許可される。なお、D/Aコンバ
ータ23の入力段には、図では省略したが、FIFO形
式のデータバッファが設けられており、バッファリング
されたデータが、後述するステップSa21により設定
されたサンプリング周波数fsで読み出されるようにな
っている。また、D/Aコンバータ23の出力段には、
図では省略したが、高調波を除去するためのLPF(ロ
ーパスフィルタ)が設けられ、そのカットオフ周波数
は、設定されたサンプリング周波数fsの略半分に設定
されるようになっている。そして、このLPFの出力こ
そが楽音発生装置による楽音信号として出力され、アン
プやスピーカ等からなるサウンドシステムにより発音す
るようになっている。
【0012】さて、符号24は、符号13、20と同様
なRAMであり、ハードウェア的には両者に差はない
が、このRAM24は、DSP17の演算処理に使用さ
れるワークメモリとして働く。符号25は波形メモリで
あり、音源デバイス22が波形メモリ読出方式により楽
音を発生する場合、基本的な音色の波形データを複数記
憶する。なお、波形メモリ25とRAM20とは、波形
メモリ25については、その記憶内容が主に音源デバイ
ス22で使用され、ROMまたは(ドータ)ボードで提
供されるのに対し、RAM20については、その記憶内
容が主にCPU10で使用される点で、そのニュアンス
を若干異にする。
【0013】かかる構成のうち、コプロセッサ17や、
DSP21、音源デバイス22、RAM24、波形メモ
リ25などは、通常、オプション品として設定される。
すなわち、これらは任意的に設けられるものである。特
に、RAM24については、装着されない場合、RAM
13の領域の一部がRAM24として割り当てられ、ま
た、波形メモリ25については、音源デバイス22がF
M合成方式など純粋な演算のみにより波形データを生成
する方式により楽音を発生するものであれば、あえて装
着する必要はない。
【0014】このため、CPU10は、何らかの形でこ
のようなオプション品が搭載・装着されているか否かを
知る必要があるが、本実施形態では、例えば、次のよう
な方法により構成部品の有無を知るようになっている。 構成部品を設ける場合に、接続するアドレスを予め決
めておき、CPU10が、例えば起動直後や、リセット
直後に、にかかるアドレスをアクセスする。この際、C
PU10は、しかるべきデータが読み出された場合に、
構成部品が搭載されていると判断する。 構成部品の搭載を示すジャンパスイッチを設けてお
き、構成部品を搭載した場合に、当該ジャンパスイッチ
をオンとしてCPU10に搭載状態を知らせる。 パソコンであれば、コンフィグレーションファイルに
よって構成部品をデバイスドライバという形で登録し、
あるいはバッチファイルで登録し、認識させる。
【0015】なお、図1に示す構成においては、オプシ
ョン品のすべてがデータバスに接続された状態となって
いるが、接続されるバスはこれに限られない。例えば、
各種シリアル/パラレルのインターフェイスを介してC
PU10とデータの授受を行なうようにしても良い。す
なわち、オプション品はなんらかの形で、CPU10と
のデータの授受を行なえれば、その接続形態は問われな
い。例えば、音源デバイス22は、実際には図2に示す
ように、音源ボード41として、いわゆる一種の拡張ボ
ードとして提供される場合があり、この場合には、メイ
ンボード(マザーボード)上のスロットに挿入されて、
CPU10とは、バス12、I/Fコントローラ26、
拡張(ボード)インターフェイス27を介してデータの
授受を行なう。さらに、この場合、波形メモリ25は、
音源ボード41に設けられる専用のソケットに任意的に
装着されることもある。また、この場合、拡張インター
フェイス27側に独自のD/Aコンバータ28が設けら
れることもある。一方、音源デバイス22は、LSIチ
ップ単体や、あるいは別途基板に搭載される形等で提供
される場合もあり、この場合には、メインボードあるい
は拡張ボード上に予め設けられた専用ソケットに挿入さ
れて、CPU10とは、直接、あるいは拡張インターフ
ェイス等を介して接続しても良い。同様に、DSP17
も、拡張ボードとして提供される場合には、図2に示す
ように、DSPボード42として、一種の拡張ボードと
して提供される場合があり、この場合には、メインボー
ド上のスロットに挿入されて、CPU10とは、拡張イ
ンターフェイス27等を介してデータの授受を行なう。
また、DSP17はLSIチップ単体で供給される場合
もある点で音源デバイス22と同様である。さて、D/
Aコンバータ23への入力データは、図1では、バス1
2から供給されるようになっているが、DSP17や音
源デバイス22が拡張ボードやソケット等に挿入される
場合には、DSP17や音源デバイス22の出力がバス
12を介さないで、直接、あるいは拡張インターフェイ
ス等を介して供給されるようになっている。
【0016】また、図3に示すように、音源デバイス2
2やDSP17からなる音源システム32を、データバ
ス12を介さずにCPUシステム30とデータの授受を
直接行なうローカルバス等と接続する構成としても良
い。ここで、CPUシステム30とは、CPU10を含
んだROM11、RAM13などの標準システムをい
い、周辺装置群31とは、それ以外のマルチI/Oポー
ト14や、ストレージユニット15、各種のインターフ
ェイス、操作子等を総称する。また、音源システム32
は、狭義には音源デバイス22やDSP17をいうが、
広義には、CPUシステム30以外で楽音発生に何らか
の形で寄与する構成要素をいう。ここで、音源システム
32は、CPUシステム30と一体化して搭載される構
成としても、分離可能な構成としてもどちらでも良い。
くわえて、接続のためのインターフェイスをCPU側が
持つか、音源側が持つかは、システムに応じて適切に定
めればよい。さらにローカルバスだけではなく、例えば
MIDIや、RS−S3SC/422、IEEE P−
1394(IEEEに提出された符号1394の規
格)、SCSIなどの各種インターフェイス/プロトコ
ルを用いても良い。また、電話回線等の各種通信回線を
介して、データの授受を行なうことも考えられる。
【0017】一方、音源デバイス22は、波形メモリ2
5、さらにD/Aコンバータも含めて1チップに集積化
されたり、あるいは基板モジュール化される(図4
(a)参照)場合もあり得る。同様に、DSP17もR
AM24、さらにD/Aコンバータも含めて1チップに
集積化される場合もあり得る(図4(b)参照)。
【0018】このように、図1〜図3に示した構成は、
あくまでもシステム構成の一例であり、各構成要素間が
どのように接続されかは、そのシステムに依存する。ま
た、最近では、図1に示した構成要素が2つ以上集積化
され、見掛け上、一体となって構成される場合もあり、
外観により構成要素をブロック化するのは、あまり意味
を持たないことである。
【0019】1−1:動作モード 次に、本実施形態の動作モードについて説明する。本実
施形態にかかる楽音発生装置の動作モードは、図5に示
すように、発音方式を指定するものと、発音の割当方式
を指定するものの2つに大別され、さらに、それぞれ種
々のモードに細分化される。そこで、まず、発音方式を
指定するモードについて説明する。
【0020】1−1−1:発音方式の指定 本実施形態では、演奏情報により楽音の波形データを生
成・作成し、これをアナログ変換することよって、発音
を行なうようになっている。かかる波形データの作成・
生成は、種々の方式によって実行される。このため、発
音方式を指定するモードによって、どの発音方式により
波形データを生成・作成するかを定めるようにしてい
る。なお、本実施形態の発音方式は、CPU合成モード
と各種音源デバイス使用モードとの2つのモードを想定
している。
【0021】 CPU合成モード CPU合成モードとは、楽音合成のための専用のハード
ウェアを用いることなく、CPU10のみにより、ある
いは、搭載されていればコプロセッサ17と併せて波形
データを生成・作成することを指定するモードである。
このCPU合成モードは、さらに、次の4つのモードに
大別される。なお、求められた所望の波形データは、D
/Aコンバータ23によりアナログ信号に変換されて、
発音するようになっている。 ・FMモード このFMモードは、いわゆるFM音源を用いて発音を行
なうモードである。すなわち、所望の波形データは、C
PU10等(コプロセッサ17が装着されているう場合
には、コプロセッサ17も併用する意)のリアルタイム
演算により、基本となる正弦波をFM変調させて求めら
れる。 ・高調波合成モード この高調波合成モードは、基本波と、当該基本波の高調
波とを順次合成することにより発音を行なうモードであ
る。すなわち、所望の波形データは、CPU10等のリ
アルタイム演算により、基本波と、その第n次高調波と
を順次求めて加算することにより求められる。 ・波形メモリ読出モード この波形メモリ読出モードは、いわゆる波形メモリ読み
出し方式により発音を行なうモードである。すなわち、
CPU10等は、まず、楽音発生に先だって、発生すべ
き音色の基本波形を示す波形データを複数、RAM20
等上にロードしておき、次に、楽音発生の指示があった
ならば、指定された音色の波形データを、指定された音
高になるように、アドレス操作して読み出すとともに、
指定された音の大きさとなるように、演算処理して求め
る。なお、波形メモリ読出モードでは、主に、RAM
(ROM)からの波形読み出し処理であるため、比較的
性能が低いCPU等でも楽音発生することが可能であ
る。すなわち、上記FMモードや高調波合成モードの演
算処理よりもCPU10の負荷が軽くて済む。しかし、
RAMを波形メモリとして使用しなければならないた
め、必然的にRAM13、20により構成されるメモリ
領域を圧迫する。あるいは多くの容量を必要とする。こ
のため、装備されたRAMの総容量や、CPUのアドレ
ス領域の程度によっては、なるべくならば、波形メモリ
読出モードは使用したくない、という背景がある。 ・物理モデリング合成モード この物理モデリング合成モードは、楽器における発音メ
カニズム、特に空気の流れを電気的モデルによりシミュ
レートして、楽音を合成するモードである。すなわち、
所望の波形データは、CPU10等によって構築された
電気的モデルによりリアルタイム演算で求められる。な
お、かかるモデルによる楽音合成アルゴリズムについて
は、例えば、特開昭63−40199号公報などに開示
されている。
【0022】 各種音源デバイス使用モード 各種音源デバイス使用モードとは、楽音合成のための特
別なハードウェア、例えば音源デバイス22などを用い
て発音処理を行なうことを指定するモードである。この
ため、各種音源デバイス使用モードは、対応するハード
ウェアたる音源デバイス22の搭載を前提としている。
なお、音源デバイス22等は、波形データを、上述のF
Mモードや波形メモリ読出モードなどにより作成・生成
する。ただし、音源デバイス22等がいかなる方式によ
って波形データを作成・生成するについては、音源デバ
イス22等の固有の問題であり、本願は、音源デバイス
22等の発音方式までも制御するものではないので、そ
の説明については省略する。
【0023】1−1−2:割当方式の指定 さて、本実施形態は、CPU合成モードあるいは各種音
源デバイス使用モードのいずれのモードにおいても、波
形合成(発音)のためのチャンネルを複数有し、1つの
音色を生成するために1つのチャンネルを割り当てて、
各チャンネルで音色を生成することによって、複数音色
を同時に発音することができるようになっている。ま
た、本実施形態では、CPU10によっても、音源デバ
イス22によっても波形合成することができるから、あ
る音色の発音指示があった場合に、どちらで波形合成す
るかが重要な問題となる。そこで、この割当方式の指定
するモードによって、発音指示があった場合に、どちら
で波形合成するかを定めるようにしている。 ・CPU優先モード このCPU優先モードは、波形合成をCPU合成モード
により優先的に行なうモードである。ただし、CPU1
0等の能力が低いと、波形合成できるチャンネル数が限
られることから、CPU10等の処理能力を超える分の
波形合成については、各種音源デバイス使用モードによ
り行なわれる。 ・各種音源デバイス優先モード この各種音源デバイス優先モードは、波形合成を各種音
源デバイス使用モードにより優先的に行なうモードであ
る。ただし、各種音源デバイス22等の能力が低いと、
波形合成できるチャンネル数が限られることから、各種
音源デバイス22等の処理能力を超える分の波形合成に
ついては、CPU合成モードにより行なわれる。 ・手動設定モード この手動モードは、波形合成をどの発音方式のモードに
より行なうかを、さらに、CPU合成モードである場合
には、どのモードにより波形合成すべきかを、ユーザに
よって手動で指定するモードである。 ・強制設定モード この強制設定モードは、波形合成をどのモードにより行
なうかを、例えば、同時起動する他のアプリケーション
プログラム等によってそれぞれユーザの意思とは関係な
く指定されるモードである。
【0024】1−2:RAMの状態 次に、RAM13(20)におけるメモリマップについ
て説明する。本発明に適用される楽音発生装置の構成
は、図1に示すように、一般的なパソコンと大差はな
い。逆に言えば、一般的なパソコンが、(後述する動作
を実行することが前提となるが)そのまま楽音合成装置
に成り得るのである。したがって、この楽音合成装置に
おけるRAM13(20)のメモリ内容も、一般的なパ
ソコンのそれと大差はない。すなわち、RAM13(2
0)は、図6に示すような領域に分けられる。この図に
おいて、OS領域は、パソコンと同等のオペレーティン
グシステムが占有する領域であり、波形合成プログラム
領域とは、楽音発生を行なって楽音波形を合成するため
の波形合成プログラムが占有する領域であり、アプリケ
ーションプログラム領域(1)〜(n)は、それぞれ波
形合成プログラム以外のアプリケーションプログラムが
占有する領域であり、同時起動された分、領域が発生す
る。また、各種データ領域は、演奏曲のデータ等が記憶
される領域であり、領域WAVEは、波形メモリ読み出
し方式により発音を行なう場合に、波形データが複数ロ
ードされる領域である。
【0025】2:動作 次に、本実施形態に係る楽音発生装置の動作について説
明する。この楽音合成装置による楽音の発生は、パソコ
ンのアプリケーションプログラムである波形合成プログ
ラムを実行することにより行なわれる。あるいは、この
波形合成プログラムをOSの一部として組み込んで、起
動すると自動的に常駐すること等により行なわれる。こ
こで、一連の処理過程において、波形合成プログラムが
どの位置・地位で実行されるかは、OSの設定環境や、
ユーザの操作設定、同時起動するアプリケーションプロ
グラムの数、動作状況などによって異なるが、ここでは
説明の便宜上、波形合成プログラムが、同時起動するア
プリケーションプログラム(1)と(n)との間で実行
されるものとする。
【0026】まず、この楽音発生装置の電源が投入ある
いはリセットされると、図7に示すCPUシステム処理
が実行され、そのステップS1において、各種レジスタ
やフラグのセット、リセット等の初期設定処理が実行さ
れ、次に、ステップS2において、OSのシステム管理
処理が実行される。そして、ステップS3〜S5までの
各ステップにおいて、アプリケーションプログラム
(1)、波形合成プログラム、およびアプリケーション
プログラム(n)がそれぞれ実行される。ここで、波形
合成プログラムは、詳細については後述するが、初回に
実行される場合を除き、1回起動する毎に、楽音の波形
データが1サンプル分だけ生成される処理である。ま
た、アプリケーションプログラム(1)や(n)は、波
形合成プログラム以外の処理であり、それは、波形合成
プログラムに関与する処理であっても、全く別の処理で
あっても良い。ステップS5の処理の後、処理手順は、
ステップS2に再び戻る。
【0027】以降、起動しているアプリケーションプロ
グラムに変更なければ、ステップS2〜S5のループ処
理が繰り返し実行される。また、起動しているアプリケ
ーションプログラムが変更があれば、その変更がステッ
プS2におけるシステム管理処理により検出される。そ
して、その変更が終了であれば、当該アプリケーション
プログラムを実行するステップが通過する一方、変更が
開始であれば、当該アプリケーションプログラムを実行
するステップがループ処理内に新たに追加される形でル
ープ処理が繰り返し実行される。
【0028】したがって、ループ処理の実行周期は、他
のアプリケーションプログラムの起動状態やシステムの
状況等により変化する。一方、起動しているアプリケー
ションプログラムの変更に拘わらず、ループ処理が1巡
する毎に楽音の波形データが1サンプルだけ生成され、
ループ処理の繰り返し実行により楽音の波形データが連
続的に生成される。このため、生成される楽音の波形デ
ータを単純にアナログ変換すると、サンプリング周期が
一定しない状況下であるため、発生楽音にジッタが生じ
てしまう。そこで、前述したように図示はしないが、D
/Aコンバータ23の前段にデータバッファを設けて、
生成した楽音の波形データを、一旦蓄えた後、サンプリ
ング周期fsで読み出す構成としたのである。
【0029】なお、楽音発生装置による楽音発生が固定
プログラムで実行される場合、具体的には、楽音発生装
置がパソコンではなく、電子楽器単体あるいは音源モジ
ュール、その他楽音発生機能を含む所定の機能を持った
システムとして動作するような場合には、ループ処理の
実行周期を変動しないように構成することが可能とな
り、このような場合、ループ処理は一定間隔で実行され
る。この間隔を、設定されるサンプリング周波数fsの
逆数であるサンプリング周期に一致させれば、データバ
ッファは不要となるので都合が良い。
【0030】2−1:波形合成プログラム 次に、図7におけるステップS4で実行される波形合成
プログラムについて図8〜図11を参照して説明する。
この波形合成プログラムは、所定の操作によりストレー
ジユニット15からロードされることにより実行され
る。
【0031】まず、図8に示すステップSa1では、楽
音発生における動作モードの設定と、実行時のハードウ
ェア構成とがチェックされる。ハードウェア構成につい
ては、上述した方法等によりオプション品が搭載されて
いるか否かがチェックされる。また、動作モードの設定
については、図5に示すように、発音方式の指定と割当
方式の指定との双方が設定される。なお、動作モードの
設定については、この波形合成プログラムの実行前に、
他のアプリーケーションプログラムが実行されていれ
ば、当該プログラムの実行によって強制モードに設定さ
れる場合もあるし、また、発音方式をどのモードにする
か、割当方式をどのモードにするかを、ユーザに入力画
面を表示して、この入力により設定される場合もある。
さらに、ハードウェア構成のチェックにより、各種音源
デバイスが認識されたならば、自動的に、CPU優先モ
ードあるいは各種音源デバイス優先モードに設定すると
しても良い。すなわち、ステップSa1における動作モ
ードの設定とは、この波形合成プログラムを起動するに
あたり、動作モードを確認的に認識するための処理であ
る。
【0032】次に、ステップSa2では、波形サンプル
ロード処理が実行される。かかる波形サンプルロード処
理は、詳細については後述するが、波形メモリ読出によ
り波形サンプルを用いる場合、その波形サンプルデータ
をRAM13(20)における領域WAVEに転送する
処理である。この後、ステップSa3では、フラグSE
TFLGが「1」であるか否かが判別される。ここで、
フラグSETFLGは、初期状態では「0」であり、後
述するステップSa21によりサンプリング周波数fs
が設定された場合、あるいは波形予備演算モードで波形
メモリ読出モードが指定される場合には「1」となるも
のである。かかるフラグSETFLGが「1」であれ
ば、処理手順が次のステップSa4に進む一方、「0」
であれば、ステップSa5にスキップする。
【0033】なお、この波形合成プログラムが、図7に
示すループ処理において初めて実行される場合、フラグ
SETFLGは「0」であるので、処理手順は無条件に
ステップSa5にスキップするが、説明の便宜上、ステ
ップSa4の処理についても説明する。ステップSa4
では、発音をすべてCPU合成モードにより行なうか否
かが判別される。あるいは、ステップSa1におけるハ
ードウエア構成のチェックにより、各種音源デバイスが
認識されたか否かを判別するとしても良い。要は、各種
音源デバイスを用いて波形合成を行なう可能性があれ
ば、判別結果を「No」とする条件分岐が行なわれる。
【0034】ステップSa5では、フラグENBLFL
Gが「1」でないか否かにより、非動作可能状態である
か否かが判別される。ここで、非動作可能状態とは、換
言すれば、サンプリング周波数fsが設定されておら
ず、あるいは波形予備演算モードが指定されないで、C
PU合成モードによる発音処理の準備が整っていない状
態をいう。なお、この波形合成プログラムが、図7に示
すループ処理において初めて実行される場合、フラグE
NBLFLGは「0」であるので、すなわち非動作可能
状態であるので、処理手順がステップSa11に分岐す
るが、説明の便宜上、先に、フラグENBLFLGが
「1」である動作可能状態である場合について説明す
る。この動作可能状態とは、逆説的に、CPUによる波
形合成処理の準備がすでに整っている状態をいう。この
状態となっている場合、手順はステップSa6に進んで
発音情報処理が行なわれ、次に、ステップSa7におい
てCPU波形発生コマンドの有無が判別される。ここ
で、CPU波形発生コマンドとは、CPU合成モードに
おいて、発音開始を指示するキーオンが、鍵盤情報KB
Dや、MIDI情報、各種I/Fを介した演奏情報等に
より発生したことをいう。そして、ステップSa7にお
いてCPU波形発生コマンドが検出されると、当該コマ
ンドに応じた処理がステップSa8において行なわれ
る。すなわち、当該コマンドを満足させる波形データ
が、CPU合成モードのうちいずれかのモードにより指
定された方式で生成され、バス12を介してD/Aコン
バータ23に供給される。これにより、当該波形データ
に基づく発音が行なわれることとなる。なお、CPU波
形発生コマンドには、広義には、消音を指示するキーオ
フなども含むが、これらは、コマンドに応じて、リリー
ス波形を生成させたり、波形データの生成を終了するな
ど、発音の終了に関する処理をすれば良いが、ここでは
説明を省略する。また、ステップSa7において、CP
U波形発生コマンドが検出されなければ、なにも処理を
行なう必要はないので、ステップSa8の発音演算処理
がスキップされる。ステップSa9では、この波形合成
プログラムを終了する旨の操作がユーザ等により指定さ
れたか否かが判別される。もし、指定されていないので
あれば、来たるべき次のCPU波形発生コマンドの発生
に備えるため、直ちに手順が戻る(リターンする)一
方、指定されているのであれば、プログラム終了するた
めの処理が行なわれて、例えばステップSa10におい
てフラグSETFLGを「0」にクリアする処理が実行
されて、この波形合成プログラムが終了する。
【0035】さて、この波形合成プログラムが、図7に
示すループ処理において初めて実行される場合、フラグ
ENBLFLGは「0」であるので、ステップSa11
において、動作モードが優先モードすなわちCPU優先
モードあるいは各種音源デバイス優先モードであるかが
否かが判別される。もし、動作モードが手動モードある
いは強制モードである場合、この判別結果は「No」と
なって、処理手順がステップSa12に進み、フラグE
NBLFLG、フラグDACENBL、およびフラグS
ETFLGにそれぞれ「1」がセットされて、処理手順
が戻る。ここで、フラグDACENBLは、「1」にな
ると、D/Aコンバータ23の出力動作を許可するもの
である。したがって、次回、この波形合成プログラムが
実行されて、各種音源デバイスが使用される場合には、
ステップSa3の判別結果が「Yes」、Sa4の判別
結果が「No」となるので、図11に示す処理が実行さ
れ、また、CPUのみによる波形合成を行なう場合に
は、ステップSa6〜Sa10の処理が実行されること
となる。
【0036】一方、ステップSa11において、動作モ
ードが優先モードである場合、処理手順は、図9に示す
ステップSa13に進む。なお、ステップSa13〜S
a27の処理は、この波形合成プログラムが初回に起動
されたときに実行される可能性があり、CPUにより波
形合成を行なう場合に、そのサンプリング周波数fsを
設定する処理である。まず、ステップSa13では、確
認的にフラグENBLFLGが「0」に、フラグBUS
Yが「1」に、フラグDACENBLが「0」に、それ
ぞれセットされる。ここで、フラグBUSYとは、後述
するタイマー処理においてアップカウントを許可するも
のである。また、フラグDACENBLを「0」にセッ
トするのは、後述する波形サンプル発生演算において、
D/Aコンバータ23の出力動作を禁止して、当該波形
サンプルに基づく発音を防止するためである。ステップ
Sa13の後には、ステップSa14において、レジス
タSCOUNTおよびレジスタTCOUNTがそれぞれ
「0」にリセットされる。ここで、レジスタSCOUN
Tの内容は、次の波形サンプル発生演算の処理回数を示
し、また、レジスタTCOUNTは、フラグBUSYが
「1」であるときに、後述するタイマー処理により
「1」ずつインクリメントされるものであるため、その
内容は、波形サンプル発生演算をm回だけ発生するのに
要した時間内において、タイマー処理の起動回数を示す
ことになる。
【0037】次に、ステップSa15においては、所定
の波形サンプル発生演算処理が実行されて1サンプルあ
たりに必要な波形サンプル(データ)が生成される。な
お、このステップSa15の詳細処理については後述す
る。そして、ステップSa16では、波形サンプル発生
演算処理が1回実行されたことに対応してレジスタSC
OUNTが「1」だけインクリメントされる。そして、
ステップSa17においてレジスタSCOUNTが
「m」となったか否かが判別され、判別結果が「No」
であれば、手順がステップSa15に戻る一方、判別結
果が「Yes」であれば、手順が図10に示すステップ
Sa13に進む。これにより、波形サンプル発生演算の
処理回数がm回となるまで、ステップSa15、16の
処理が繰り返し行なわれることとなる。
【0038】次に図10に示すステップSa18におい
ては、フラグBUSYが「0」にセットされて、タイマ
ーのアップカウントが禁止される(タイマーストップ処
理)。そして、次のステップSa19では、次式(1)
により周波数Fsが求められる。 Fs=(m・margin)/(TCOUNT・Tt)……(1) この式において、marginは、CPU10等の処理
能力を考慮して、演算処理に余裕を持たせるための
「1」以下の係数である。また、前述のように、TCO
UNTは、波形サンプル発生演算をm回だけ実行するの
に要した時間内におけるタイマー処理の起動回数を示
し、Ttは、タイマー処理の起動周期であるから、TC
OUNTとTtとの積は、波形サンプル発生演算をm回
だけ実行するのに要した時間を示すことになる。結局、
式(1)により求められる周波数Fsは、波形サンプル
の発生周波数であって、定数marginにより、その
ハードウェア構成の処理能力を考慮した周波数を示すこ
とになる。
【0039】そして、ステップSa20では、求められ
た周波数Fsが「32kHz」以上であるか否かが判別
される。なお、この「32kHz」という値は、発生す
る楽音の品質が最低限確保できるか否かを念頭において
設定されている。したがって、この判別結果が「Ye
s」であるならば、本実施形態のCPU能力によって
は、最低限以上の楽音品質を確保できると判断し、手順
がステップSa21に進む。このステップSa21にお
いては、「32kHz」、「44.1kHz」、「48
kHz」、「50kHz」のうち、求めた周波数Fsに
対し内輪で最も近い周波数が、本実施形態におけるサン
プリング周波数fsとして設定される。例えば、求めた
周波数Fsが「47kHz」であるならば、サンプリン
グ周波数fsは、当該周波数「47kHz」よりも低い
もののうち、最も高い「44.1kHz」に設定され
る。なお、内輪とした理由は、処理能力以上にサンプリ
ング周波数を高く設定したのでは、定数marginを
用いて余裕を持たせた意味がなくなるからである。
【0040】ステップSa21の後には、ステップSa
22において、フラグDACENBL、フラグENBL
FLG、およびフラグSETFLGがそれぞれ「1」に
セットされて手順が戻る。これにより、D/Aコンバー
タ23の出力動作が許可され、そして、動作可能状態と
され、さらに、サンプリング周波数fsがすでに設定さ
れたことが示されるようになる。なお、このようにして
動作可能状態となる結果、次回、波形合成プログラムが
実行されると、各種音源デバイスを用いて波形合成する
のであれば、ステップSa4の判別結果は「No」とな
って、図11に示す処理によって発音処理が実行され、
また、それ以外の、CPU10等のみ用いて波形合成す
るのであれば、ステップSa4の判別結果は「Ye
s」、ステップSa5の判別結果は「No」となってと
なって、ステップSa6〜Sa8により発音処理が実行
されることとなる。
【0041】一方、図10においてステップSa20の
判別結果が「No」であるならば、本実施形態のCPU
10等の処理能力によっては、最低限の楽音品質を確保
できないと判断し、手順がステップSa23に分岐す
る。ステップSa23では、最低限の楽音品質を確保で
きない旨がアラーム等によりユーザに告知されるととも
に、波形予備演算モードの指定イベントがチェックされ
る。ここで、波形予備演算モードとは、本来的には、動
作モードがCPU合成モードのうちの波形メモリ読出モ
ード以外のモードが指定されていたが、指定されたモー
ドでは、最低限の楽音品質を確保できないので、動作モ
ードを波形読出モードに切り換えることを指示するモー
ドをいう。
【0042】ステップSa24では、この波形予備演算
モードが指定されたか否かが判断される。指定されたな
らば、ステップSa25において、指定された演算モー
ドの演算により波形サンプルを求めてRAM13(2
0)に予め記憶するとともに、実際に発音を実行する場
合には、記憶した波形サンプルをサンプリング周波数
「32kHz」で読み出すことにより、発音を行なうモ
ードが自動的に指定される。これにより、実質的に波形
メモリ読出モードによる波形合成が行なわれることにな
るので、低い性能のCPUでも最低限の品質を発生楽音
に確保することができるようにしている。この後、ステ
ップSa22の処理が実行されて、動作可能状態等に設
定された後、手順が戻る。一方、ステップSa24にお
いて波形予備演算モードが指定されないと、手順がステ
ップSa26に進み、波形合成プログラムの終了が指令
されたか否かが判別される。指令されたならば、プログ
ラム終了するための処理が行なわれて、例えばステップ
Sa27においてフラグSETFLGを「0」にクリア
する処理が実行されて、この波形合成プログラムが終了
する。これにより、求めた周波数Fsが「32kHz」
よりも低ければ、ステップSa23、24、26によ
り、波形予備演算処理モードが指定されるか、あるい
は、プログラムを終了する旨の指令等の操作がされない
限り、アラームが鳴り続けるようになっている。
【0043】こうして、CPU10等による波形合成が
行なわれる場合には、サンプリング周波数fsが、当該
CPUの性能に対し最適化されて設定される。しかも、
この場合、当該CPU等の性能が低い場合には、CPU
への負担を減らした波形メモリ読出方式により楽音合成
を行なうように設定される。
【0044】ところで、図8におけるステップSa4に
おいて、各種音源デバイスを用いて波形合成を行なう可
能性があると判別されると、手順が図11に示すステッ
プSa28に進行する。ステップSa28では、フラグ
DACENBLに「1」がセットされ、D/Aコンバー
タ23の出力動作が許可される。この後ステップSa2
9において、プログラム終了の指示がされているか否か
が判別され、されていれば、ステップSa30におい
て、プログラム終了するための処理が行なわれて、例え
ばステップSa31においてフラグSETFLGを
「0」にクリアする処理が実行されて、この波形合成プ
ログラムが終了する。一方、ステップSa29におい
て、プログラム終了の指示がされていないと判別されれ
ば、ステップSa32において、さらに、動作モードが
各種音源デバイス使用モードであるか否かが判別され、
されていなければ手順が戻る。
【0045】また、ステップSa32において、動作モ
ードが各種音源デバイス使用モードであると判別される
と、さらに、ステップSa33において、選択された動
作モードに対応するハードウェアが存在するかが判別さ
れる。ここで、「選択」には、ステップSa1における
ハードウェアチェックにより認識、という意味も含む
(図においてカッコ書の意味)。存在すれば、ステップ
Sa34において選択されたモードに対応するハードウ
ェアを含む発音処理が実行される一方、存在しなけれ
ば、ステップSa35においてその旨を示すアラームを
発生させる処理と、現時点におけるハードウェア環境で
の発音処理が行なわれる。そして、ステップSa34あ
るいはSa35の処理の後に、手順は戻る。なお、選択
されたハードウェアを含む発音処理の詳細については、
後述する。
【0046】2−1−1:波形サンプルロード処理 ここで、上述したステップSa2(図8参照)において
実行される波形サンプルロード処理について説明する。
この波形サンプルロード処理では、まず、図12に示す
ステップSb1において、MIDIサンプルダンプがマ
ルチI/Oポート14により受信されたか否かが判別さ
れる。ここで、MIDIサンプルダンプとは、MIDI
規格におけるサンプリングデータのことであり、波形メ
モリ読出モードで使用されるものである。もし、受信さ
れたならば、ステップSb2において、受信されたデー
タがRAM13(20)の領域WAVEに転送されるサ
ンプル受信処理が実行される。そして、ステップSb3
の判別によって、すべてのデータの受信が完了するま
で、ステップSb2のサンプル受信処理が連続して実行
される。そして、すべてのデータの受信が完了すると、
ステップSb3の判別結果は「Yes」となって、手順
は戻る。一方、ステップSb1の判別結果が「No」で
ある場合、今度は、ステップSb4において、波形デー
タが各種インターフェイスを介して転送されたか否かが
判別される。もし、受信されたのならば、ステップSb
2、3において、当該波形データは、MIDIサンプル
ダンプと同様に、RAM13(20)の領域WAVEに
転送される。また、ステップSb1およびSb4の判別
結果がいずれも「No」である場合、ステップSb5に
おいて、ストレージユニット15に対する読取イベン
ト、すなわち、何らかのデータを読み出すリクエストが
発生したか否かが検出される。発生していないのであれ
ば、以降は何ら処理を行なう必要はないので、この波形
サンプルロード処理は直ちに終了して、手順が戻る。一
方、読取イベントが発生したのであれば、そのイベント
によりストレージユニット15から読み出されるデータ
がステップSb6においてチェックされる。そして、ス
テップSb7において、読み出されたデータが波形デー
タであるか否かが判別される。そして、波形データでな
い場合には、以降は何ら処理を行なう必要はないので、
この波形サンプルロード処理は直ちに終了して、手順が
戻る一方、波形データである場合には、ステップSb8
において、読み出された波形データをRAM13(2
0)の領域WAVEに転送する波形データ読出転送処理
が実行される。そして、ステップSb9の判別によっ
て、すべてのデータの転送が完了するまで、ステップS
b8の転送処理が連続して実行される。そして、すべて
のデータの転送が完了すると、ステップSb9の判別結
果は「Yes」となって、手順は戻る。
【0047】このように、波形サンプルロード処理で
は、波形メモリ読出モードにおいて用いるサンプリング
データ(波形データ)が受信・読出されると、そのすべ
てがRAM13(20)の領域WAVEに転送されるよ
うになっている。そして、CPU10等が、転送された
サンプリングデータを、波形メモリ読出モードにて処理
することにより、波形合成が行なわれる。上記したよう
に、RAM13(20)等にロードされた波形を、例え
ば、音源デバイス22により発音するには、音源デバイ
ス22に付随する波形メモリ25をRAMとして用い、
ここにロードされた波形を再転送しなければならない。
したがって、従来の音源デバイス等のハードウェアに依
存した楽音発生装置では、当該ハードウェア側に、ロー
ドされた波形を受け取るためのRAM等の一時記憶手段
が必要であり、また、CPU側には、RAM13(2
0)等からの波形データ転送処理が必要であった。しか
し、本実施形態によれば、サンプリングデータをCPU
10が統括するRAM13(20)にロードして、ロー
ドしたデータにより発音を行なうので、専用ハードウェ
ア側にサンプリングデータを一時記憶する手段を設ける
ことも、CPU側でロードした波形データをさらにハー
ドウエア側に再転送する処理も不要とすることができ
る。したがって、システムのコスト削減や、波形データ
のロードが終了した時点から実際に発音可能状態となる
までの時間の短縮化を図ることができる。
【0048】2−1−2:波形サンプル発生演算 次に、上述したステップSa15(図9参照)において
実行される波形サンプル処理について説明する。この波
形サンプル発生演算処理では、まず、図13に示すステ
ップSc1において、コプロセッサ17の有無が検出さ
れる。本実施形態では有であるが、コプロセッサ17は
オプション品なので無の場合もあり得る。なお、CPU
10がコプロセッサ17に相当する演算ユニットを内蔵
する場合には、特にコプロセッサ有無の検出判断処理は
必要でなく、常に、コプロセッサ併用として処理を行な
うようにしても良い。また、有であれば、ステップSc
2において、CPU10とコプロセッサ17との併用に
よる波形サンプル演算処理が実行される一方、無であれ
ば、ステップSc3において、CPU10のみによる波
形サンプル演算処理が実行される。そして、ステップS
c2あるいはSc3の処理の後に、手順は戻る。ここ
で、ステップSc2およびSc3の処理においては、コ
プロセッサ17を併用して演算処理を行なうか否かの点
でのみ相違し、波形サンプル演算処理そのものについて
は同じである。そこで、ステップSc2およびSc3の
処理については、ステップSc3の場合を例にとって説
明する。
【0049】2−1−2−1:CPUのみによる波形サ
ンプル演算処理 まず、図14に示すステップSd1では、動作モードが
CPU合成モードのうちのFMモードあるかが否かが判
別される。FMモードであれば、ステップSd2におい
て、1サンプルにおいて必要なチャンネル数だけの波形
サンプルが、CPU10のFM合成方式により演算され
て求められる。すなわち、複数発音を行なう場合には、
FMモードで波形合成すべき発音数分だけの波形サンプ
ルが求められる。この場合、CPU10は、各音の音高
を低いピッチから高いピッチまでの種々の組み合わせて
演算を行なったり、発音処理と同時に行なう他の処理
(例えばグラフィック処理等)を行なって、負荷を最も
高くした状態で演算を行なう。
【0050】また、ステップSd1において、FMモー
ドでないと判別されれば、ステップSd3において、さ
らに、動作モードがCPU合成モードのうちの波形メモ
リ読出モードであるかが否かが判別される。波形メモリ
読出モードであれば、1サンプルにおいて必要な数だけ
の波形データが、波形メモリより読み出される。すなわ
ち、複数発音を行なう場合には、波形メモリ読出モード
で波形合成すべき発音数分だけの波形データの読み出し
が行なわれる。なお、この波形メモリ読出モードでのデ
ータ転送は、CPU10ではなくDMAC19により行
なわれる。また、この際に読み出される波形データは、
RAM13(20)の領域WAVE(図6参照)にロー
ドされているもの、あるいはROM11に格納されてい
るものである。
【0051】さらに、ステップSd3において波形メモ
リ読出モードでないと判別されれば、ステップSd5に
おいて、さらに、動作モードがCPU合成モードのうち
の高調波合成モードであるかが否かが判別される。高調
波合成モードであれば、ステップSd6において、1サ
ンプルにおいて必要な数だけの波形サンプルが、CPU
10の高調波合成方式により演算されて求められる。す
なわち、複数発音を行なう場合には、高調波合成モード
で波形合成すべき発音数分だけの波形サンプルが求めら
れる。この場合、CPU10は、各音の音高を低いピッ
チから高いピッチまでの種々の組み合わせて演算を行な
ったり、負荷を最も高くした状態で演算を行なう点は、
FMモードと同様である。
【0052】そして、ステップSd5において高調波合
成モードでないと判別されれば、ステップSd7におい
て、さらに、動作モードがCPU合成モードのうち物理
モデリング合成モードであるかが否かが判別される。物
理モデリング合成モードであれば、ステップSd8にお
いて、1サンプルにおいて必要な数だけの波形サンプル
が、CPU10によって物理モデルが構築されて求めら
れる。すなわち、複数発音を行なう場合には、物理モデ
リング合成モードで波形合成すべき発音数分だけの波形
サンプルが求められる。なお、ステップSd7におい
て、物理モデリング合成モードでないと判別されれば、
動作モードが本実施形態での想定範囲外なので、ステッ
プSd9においてその旨を知らせるアラーム処理及びそ
の他の適切な処理が行なわれる。そして、ステップSd
2、4、6、8あるいは9の処理の後には、手順が戻
り、次のステップSa16(図9参照)の処理が実行さ
れる。
【0053】2−1−2−2:コプロセッサ併用による
波形サンプル演算処理 図13におけるステップSc12のコプロセッサ併用に
よる波形サンプル演算処理については、図14の各演算
処理が、CPU10とともにコプロセッサ17の併用に
よって行なわれ、演算処理の高速化が図られる。ただ
し、基本的な演算の手順等はCPUのみによる波形サン
プル演算処理で行なう内容と実質的に同等である。この
ため、詳細な説明については省略する。
【0054】このように、ステップSa15における波
形サンプル発生演算においては、発生楽音の品質に最も
影響を与える処理が、CPU合成モードの各モードに対
応して行なわれる。すなわち、FMモード、高調波合成
モード、および物理モデリング合成モードにおいては、
同時発音数と、波形データの演算に要する時間とが主に
処理時間に影響を与える因子となるため、その演算能力
を見極めるべく、1サンプルあたりの波形データを実際
の演算処理により求めるのである。そして、この演算処
理を、ステップSa15〜Sa17の処理によりmサン
プル分行ない、さらに後述のタイマー処理に基づいてm
サンプル分の演算処理に要した時間を求め、この結果に
したがって逆に、本構成の処理能力に対して最適なサン
プリング周波数fsをステップSa21により設定して
いるのである。同様に、波形メモリ読出モードにおいて
は、同時発音数が処理時間に影響を与える因子となるた
め、その読出能力を見極めるべく、1サンプルあたりの
波形データの読み出しを実際に行なうのである。そし
て、この読み出しを、ステップSa15〜Sa17の処
理によりmサンプル分行ない、さらに後述のタイマー処
理に基づいてmサンプルの読み出しに要した時間を求
め、この結果にしたがって逆に、本構成の読出能力に対
して最適なサンプリング周波数fsをステップSa21
により設定しているのである。
【0055】2−1−3:選択されたハードウェアを含
む発音処理 次に、上述したステップSa34(図11参照)におい
て実行される、選択されたハードウェアを含む発音処理
について説明する。この発音処理は、全チャンネルの発
音をCPU合成モードのみにより行なう場合以外に実行
される処理であって、各種音源デバイスによる発音を何
らかの形で行なう場合に、(割当)動作モードに応じた
発音を行なうための処理である。この発音処理では、ま
ず、図15におけるステップSe1において、イベント
検出管理が行なわれる。ここで、イベントとは、発音開
始を指示するキーオンが、鍵盤情報KBDや、MIDI
情報、各種I/Fを介した演奏情報等により発生したこ
とをいい、ここでは、前述のCPU波形発生コマンドと
異なり、CPU合成モードに限られず、各種音源デバイ
ス使用モードのものも含める。したがって、このイベン
トが検出されたということは、キーオンの発生を意味す
るから、以下に示すように、発音に向けた処理が行なわ
れることとなる。
【0056】まず、ステップSe2では、動作モードが
各種音源デバイス優先モードであるか否かが判別され
る。この判別結果が「No」であるならば、処理手順が
後述するステップSe11に分岐する一方、「Yes」
であるならば、処理手順は次のステップSe3に進む。
【0057】ステップSe3では、現時点における各種
音源デバイスの発音状態や、イベントに対応する演奏情
報等が、各種音源デバイスの発音条件に収まっているか
否かが判別される。ここで、発音条件とは、色々考えら
れるが、本実施形態では、現時点において各種音源デバ
イスにより波形合成すべき(音色)数が、各種音源デバ
イス使用モードにより同時発音可能な発音数以内である
かを条件とする。すなわち、ステップSe3では、現時
点において各種音源デバイスにより発音中のチャンネル
(CH)数が各種音源デバイスにより同時発音可能なチ
ャンネル数以下であるか否かが判別される。
【0058】なお、発音条件としては、このほかに、次
のようなものが考えられる。検出されたイベントに係
る演奏情報の音高が所定値以上であるか?(以下である
か?)検出されたイベントに係る演奏情報のうち音色
を指定する値が所定値以上であるか?(以下であるか
?)検出されたイベントに係る演奏情報のうち演奏パ
ートを指定する値が所定値以上であるか?(以下である
か?)検出されたイベントに対応するMIDI−CH
等が所定値以上であるか?(以下か?)など、何らかの
の演奏情報を示す値が所定値以上であるか(以下である
か)を基準とする発音条件が考えられる。また、各種音
源デバイスが、ある特定の音色を、FMモードや高調波
合成モード等の演算により波形サンプルを生成して合成
するように指定された場合には、この発音条件を満たさ
ないとする構成としても良い(この構成については、別
実施形態として後述する)。
【0059】さて、このような発音条件を満たしている
と判別されると、ステップSe4において、当該イベン
ト(キーオン)による発音を行なうためのチャンネル
が、現時点において各種音源デバイスで発音していない
チャンネル(空きチャンネル)の中から1つ割り当てる
発音割当処理が実行される。そして、ステップSe5に
おいて、割り当てられたチャンネルで、当該イベントに
対応する楽音の発生を選択されたハードウェア(各種音
源デバイス)で実際に行なう処理である、選択指定ハー
ドウェアでの発音処理が実行される。
【0060】一方、ステップSe3において発音条件を
満たしていないと判別されると、ステップSe6におい
て、さらにフラグENBLFLGが「1」であるか否か
が判別される。この時点において、フラグENBLFL
Gが「1」であるということは、上述したステップSa
13〜Sa25の処理が行なわれた後であり、CPU合
成モードにおいて発音する場合のサンプリング周波数f
sがすでに設定されている状態を示す。すなわち、CP
U合成モードにより発音が可能である状態を示す。した
がって、フラグENBLFLGが「1」であるために、
ステップSe6の判別結果が「Yes」となる場合、ス
テップSe7において、各種音源デバイスの発音条件を
満足しないイベントに対応する発音がCPU合成モード
により行なうように割り当てるCPU発音割当処理が実
行される。このCPU発音割当処理について詳細には、
当該イベントに対応した波形サンプルを演算生成するた
めの楽音波形発生割当コマンドを発生させる。かかる楽
音波形発生割当コマンドは、CPUが実行すべき楽音の
演算方法(CPU合成モードのいずれかのモード)、生
成すべき音色、音高、タッチ、音量、割当チャンネルな
どの情報のほかに、キーオン、キーオフなどの発音指示
をも含んだものである。そして、このコマンドが有効で
ある期間において、CPU10等は、後述するように、
ステップSe10において、当該割当コマンドに対応す
る波形サンプルを生成する発音演算処理を実行する。な
お、楽音波形発生割当コマンドは、楽音サンプルを割込
処理により生成するような場合にあっては、割込処理の
起動・終了情報をも含んだものとなる。
【0061】一方、ステップSe6において、フラグE
NBLFLGが「0」であるということは、CPU合成
モードにより発音が可能でない状態を示す。したがっ
て、この場合、ステップSe8において、各種音源デバ
イスに対してトランケート処理、詳細には、各種音源デ
バイスにおいて、発音が最も進行しているチャンネル、
あるいは、発音開始が早くかつ最も音量が小さいチャン
ネルによる楽音を消音させて、強制的に空きチャンネル
をつくる処理が行なわれる。なお、このトランケート処
理は、ステップSe4の発音割当処理に含ませることも
可能である。そして、ステップSe4において、当該イ
ベントが、消音させたチャンネルに割り当てられて、後
は同様にステップSd4において、割り当てられたチャ
ンネルにより、当該イベントに対応する楽音の発生が各
種音源デバイスにより行なわれる。なお、複数の音源デ
バイスが装着されるときは、ある音色を発音させるの
に、異なる音源デバイスのチャンネルをそれぞれ割当て
る場合もあり得る。
【0062】ところで、ステップSe2において、各種
音源デバイス優先モードでないと判別される場合、例え
ば、CPU優先モードである場合や、CPU合成モード
と各種音源デバイス使用モードとを併用することを指定
した手動モードである場合には、処理手順が図16にお
けるステップSe11に分岐する。このステップSe1
1では、現時点におけるCPU10等による発音状態
や、イベントに対応する演奏情報等が、CPU等の発音
条件に収まっているか否かが判別される。ここでの発音
条件とは、各種音源デバイスの発音条件(ステップSe
3参照)と同様に色々考えられるが、本実施形態では、
現時点においてCPU等により波形合成すべき(音色)
数が、CPU合成モードにより同時発音可能な発音数以
内であるかを条件とする。すなわち、ステップSe11
では、現時点においてCPU10等により発音中のチャ
ンネル(CH)数がCPU10等による同時発音可能な
チャンネル数以下であるか否かが判別される。
【0063】そして、このような発音条件を満たしてい
ると判別されると、ステップSe12において、さらに
フラグENBLFLGが「1」であるか否かが判別され
る。フラグENBLFLGが「1」であるということ
は、上述したように、CPU合成モードにより発音が可
能である状態を示すので、ステップSe13において、
CPU10等により行なうべき波形合成を、CPU10
等により行なうように発音割当処理が行なわれて、処理
手順は図15におけるステップSe9に進む。なお、ス
テップSe13におけるCPU発音割当処理の詳細につ
いては、すでに述べたステップSe7と同様なので、説
明を省略する。
【0064】一方、ステップSe11において、CPU
10等の発音条件が満たされないと判別された場合、あ
るいは、ステップSe12において、CPU10等が発
音可能状態でないと判別された場合には、当該イベント
に対応する処理を各種音源デバイスで実行すべく、ステ
ップSe14において、ステップSe4と同様に、各種
音源デバイスに対して発音割当処理が実行される。そし
て、ステップSe15において、ステップSe5と同様
に、選択指定ハードウェアでの発音処理が実行される。
【0065】また、ステップSe7あるいはSe13に
よるCPU発音割当処理後、次のステップSe9および
10により行なわれる。すなわち、ステップSe9にお
いては、CPU発音割当処理によるCPU波形発生割当
コマンドの有無が判別され、無の場合には直ちに処理手
順が戻る一方、有の場合にはステップSe10におい
て、当該CPU波形発生割当コマンドにしたがって波形
サンプルを演算して求める処理が実行される。
【0066】このように、各種音源デバイス優先モード
である場合に、各種音源デバイスの発音条件を満たす分
の発音処理がステップSe5にて各種音源デバイスによ
り行なわれる一方、満たさない分の発音処理がステップ
Se10にてCPU10等により行なわれることとな
る。反対に、各種音源デバイス優先モードでない場合に
は、CPU10等の発音条件を満たす分の発音処理がス
テップSe10にてCPU10等により行なわれる一
方、満たさない分の発音処理がステップSe15にて各
種音源デバイスにより行なわれることとなる。すなわ
ち、選択されたハードウェアでの発音処理においては、
各種音源デバイス使用モードにおいて指定されるハード
ウェアの処理能力を超える場合に、その超えた分につい
て、上述したCPU合成モードにより発音が行なわれる
ので、ハードウェアを増設することなく、当該ハードウ
ェアにおける同時発音可能な発音数以上の発音が容易に
行なうのが可能となる。
【0067】2−1−4:タイマー処理 次にタイマー処理について説明する。このタイマー処理
は、前述の波形合成プログラムの実行中に、所定周期T
t毎に実行される割込処理である。図17は、かかるタ
イマー処理の手順を示すフローチャートである。まず、
ステップSf1において、フラグBUSYが「1」であ
って、アップカウントが許可されているか否かが判別さ
れる。この判別結果が「No」であれば、手順はステッ
プSf3にスキップし、「Yes」であれば、ステップ
Sf2においてレジスタTCOUNTが「1」だけイン
クリメントされる。そして、ステップSf3では、他の
タイマー処理が実行されて、このルーチンは終了する。
このように、タイマー処理では、フラグBUSYが
「1」であれば、起動される毎に、レジスタTCOUN
Tが「1」だけインクリメントされる。フラグBUSY
が「1」となるのは、ステップSa9〜Sa11のルー
プ処理が実行されている期間に限られるから(ステップ
Sa7、Sa12)、結局、レジスタTCOUNTの内
容は、前述のように、当該ループ処理により波形データ
をmサンプル分だけ演算・読出するのに要した期間内
に、タイマー処理が何回起動されたかを示すことにな
り、その際に要する経過時間は、TCOUNTとTtと
の積により表わされることになる。
【0068】2−1−5:本実施形態での具体的動作 図1に示した構成は、オプション品のすべて、すなわ
ち、コプロセッサ17、DSP21および音源デバイス
22のすべてを搭載している構成である。したがって、
この構成では、発音方式の指定、割当の方式についてす
べての動作モードが使用可能である。この際、動作モー
ドが各種音源デバイス優先モードである場合、各種音源
デバイスの処理能力を上回る分の処理がCPU側に割り
当てられて、CPU等がこれを処理するので、楽音発生
専用ハードウェアたる各種音源デバイスの性能を超える
楽音発生ができ、このため多様な音色を発生することが
できるのである。さらに、本構成では、動作モードがC
PU優先モードである場合にも、多様な音色を発生する
ことができる。しかも、サンプリング周波数fsは、シ
ステムの構成に応じて最適に設定されるので(ステップ
Sa21)、楽音の品質が劣化するということもない。
【0069】3:他の構成における具体的動作 本実施形態では、図1(図2)に示すフルオプションの
構成を前提として説明したが、パソコンや電子楽器のよ
うなCPUを用いたシステムのハードウェア構成は、オ
プション品の有無により千差万別である。また、上述し
た波形合成プログラムも、ハードウェア構成により指定
可能な動作モードが異なる。そこで、図1に示す以外の
構成では、波形合成プログラムがいかに動作するかにつ
いて、具体構成を挙げて簡単に説明する。
【0070】3−1:オプションなし 図21に示すハードウェア構成は、図1に示す構成にお
けるオプション品のすべて、すなわち、コプロセッサ1
7、DSP21および音源デバイス22のすべてを搭載
していない構成である。したがって、この構成では、ス
テップSa4(図8参照)の判別結果が「Yes」とな
るため、各種音源デバイス使用モードは使用できず、C
PU合成モードが使用可能である。しかし、コプロセッ
サ17もDSP21も搭載されていないので、CPU1
0単体の処理能力が極めて高くないと、波形データのリ
アルタイム演算が困難となる。このため、実際には、C
PU合成モードのうちの波形メモリ読出モードのみが使
用可能という場合もあり得る。
【0071】3−2:コプロセッサのみ搭載 図22に示すハードウェア構成は、図1に示す構成にお
けるオプション品のうち、コプロセッサ17のみを搭載
した構成である。したがって、この構成でも、ステップ
Sa4(図8参照)の判別結果が「Yes」となるた
め、各種音源デバイス使用モードは使用できず、CPU
合成モードのみが使用可能である。ただ、コプロセッサ
17が搭載されているので、実数演算処理を高速に行な
うことが可能であるため、CPU合成モードの全モード
が使用可能となる。なお、この構成では、コプロセッサ
17が搭載されているので、発音演算処理(ステップS
a9)および波形サンプル発生演算(ステップSa1
5)は、コプロセッサ併用により行なわれる。
【0072】3−3:コプロセッサ、DSP搭載(波形
メモリ等なし) 図23に示すハードウェア構成は、図1に示す構成にお
けるオプション品のうち、コプロセッサ17およびDS
P21を搭載した構成であり、DSP21は、波形デー
タの高速演算を目的としている。ここで、DSP21が
各種音源デバイスに属すると考える立場をとると、2回
目以降の起動ではステップSa4の判別結果が「No」
となるため、各種音源デバイス使用モードが使用でき
る。ただし、DSP21は演算を行なうことを目的とし
ているから、波形メモリ読出方式ではなく、各種の演算
により波形データを生成することになる。また、割当に
よってはCPU合成モードも可能であるが、この構成で
は、波形データの演算については可能であるが、DMA
C19およびRAM20を有しないため、CPU合成モ
ードのうち、波形メモリ読出モードは使用できず、波形
データをリアルタイムに演算するFMモード、高調波合
成モード、および物理モデリング合成モードが使用可能
となる。なお、この構成についても、コプロセッサ17
が搭載されているので、発音演算処理(ステップSa
9)および波形サンプル発生演算(ステップSa15)
は、コプロセッサ併用により行なわれる。
【0073】3−4:音源デバイスのみ 図24に示すハードウェア構成は、図1に示す構成にお
けるオプション品のうち、音源デバイスのみを搭載した
構成である。したがって、この構成では、2回目以降の
起動ではステップSa4(図8参照)の判別結果が「N
o」となるため、各種音源デバイス使用モードが使用可
能である。また、割当によってはCPU合成モードも可
能であるが、この構成では、波形データの演算について
は可能であるが、DMAC19およびRAM20を有し
ないため、波形メモリ読出モードが使用できないという
場合もあり得る。また、コプロセッサ17も搭載されて
いないので、CPU10単体の処理能力が極めて高くな
いと、波形データのリアルタイム演算が困難である。こ
のため、実際には、CPU合成モードの全モードが使用
不可能となる場合もあり得る。
【0074】4:他の実施形態 次に、上述した実施形態とは別の実施形態について説明
する。 4−1:第2実施形態 まず、第2実施形態について説明する。一般に、リズム
系や、ドラム系のような撥音系の波形データを、FMや
高調波合成等による演算によって求めても、雰囲気ある
楽音の再生は困難とされる。このため、音源デバイス2
2が備えられている場合であって、その音源デバイス2
2が波形メモリ読出方式以外のFM方式等により楽音の
波形データを演算して求める構成である場合、当該音源
デバイス22によって、撥音系の楽音を再生するのは適
切とは言えない。また、このような音源デバイス22が
備えられているので、CPU10等があえて波形メモリ
読出モード以外の演算モードにより波形データを演算し
て求める必要性は乏しい。さらに、CPU10等にとっ
てみれば、波形合成以外の処理をする必要もあることか
ら、特にCPU10等の性能が低い場合には、なるべく
なら、波形合成プログラムの実行に伴う負荷を減らした
いという事情もある。したがって、このような場合、C
PU10等が、音源デバイス22にとって不向きである
撥音系の波形データを波形メモリ読出モードによって生
成する一方、各種音源デバイスたる音源デバイス22が
それ以外の楽音の波形データを演算によって生成するよ
うにすれば、CPU10等の側にとってみれば負荷を最
小限とすることができるし、音源デバイス22にとって
みれば不得意な発音をしなくて済み、両者にとって都合
が良い。さらに、再生楽音の品質を高く保てるという利
点もある。この第2実施形態の目的は、まさにこの点に
ある。
【0075】第2実施形態は、構成的には、図1、図2
4に示すように、音源デバイス22の装着を前提とす
る。また、その波形合成プログラムについては、選択さ
れたハードウェアを含む発音処理(図15および16参
照)を、図18に示す処理に差し替えた処理を行なうも
のである。すなわち、上述したステップSa34(図1
1参照)において実行される、選択されたハードウェア
を含む発音処理については、図18に示す処理が行なわ
れる。このため、差し替える処理については説明し、他
の事項については重複するのでその説明を省略する。
【0076】この実施形態において、波形合成プログラ
ムの処理手順が、ステップSa34に進むと、図18に
示すような、選択されたハードウェアを含む発音処理が
実行される。まず、ステップSg1では、ステップSe
1と同様に、イベント検出管理が行なわれる。次に、ス
テップSg2では、発音指定システムチェックが行なわ
れる。すなわち、発音すべき音色のそれぞれについて、
CPU10等側で処理するか、あるいは各種音源デバイ
ス側で処理するか、を割り当てる。ここで、かかる割当
を何を基準にして行なうかについて説明する。一般に、
音源デバイスは、それ固有の音色配列を有しているた
め、音色番号を定めれば発音すべき音色は一意に決ま
る。したがって、撥音系の楽音が属する音色番号を予め
ピックアップしておき、イベントの検出された楽音の音
色番号が、ピックアップされた音色番号に属する場合に
は、CPU10等側で処理すべしと設定し、それ以外の
場合には、各種音源デバイスたる音源デバイス22等側
で処理すべしと設定される。
【0077】なお、本実施形態では、割当の基準を音色
番号に拘泥すべきではなく、例えば、手動モードによっ
て、ある音色についてはCPU側、またある音色につい
ては各種音源側というように、音色毎に処理側をそれぞ
れ設定しておくようにしても良い。また、第1実施形態
のように、同時発音可能なチャンネル数により割り当て
るようにしても良い。さらに、強制モードによって、他
に実行しているプログラムにより強制的に割り当てるこ
ととしても良い。
【0078】さて、各種音源デバイス側に割り当てられ
た音色については、ステップSg3において、ステップ
Se4(図15参照)と同様に、発音割当処理が行なわ
れて、各種音源デバイス側に空きチャンネルが設けられ
る。そして、ステップSg6において、検出されたイベ
ントに対応する波形サンプルが、空きチャンネルにより
実際に生成される。この場合の生成方法は、FMや高調
波合成、物理モデリング合成のみならず、波形メモリ2
5の波形データを読み出すPCM、波形メモリ読出な
ど、装着される音源デバイス22の特性に依存した種々
の方式が考えられる。
【0079】一方、CPU側に割り当てられた音色につ
いては、ステップSg5において、ステップSe7(図
15参照)と同様に、CPU発音割当処理が行なわれ
て、検出されたイベントに対応するCPU波形発生割当
コマンドが生成される。そして、かかるCPU波形発生
割当コマンドが有の場合には、ステップSg6の判別結
果が「Yes」となって、ステップSg7の発音演算処
理が、当該割当コマンドに対応して波形サンプルを生成
する発音演算処理が実行される。なお、この発音演算処
理は、上述のようにCPU等の負担を減らす趣旨から、
波形メモリ読出モードにより行なわれる。一方、CPU
波形発生割当コマンドが無の場合には、ステップSg6
の判別結果が「No」となって、手順が戻る。
【0080】この第2実施形態によれば、ある音色をC
PU側に、また、ある音色については各種音源デバイス
側に、それぞれ任意に処理を割り当てることができるの
で、CPUおよび各種音源デバイスの処理負担を適切に
分けることができ、さらに、再生楽音の品質を維持した
まま、多様化を図ることができる。
【0081】4−2:第3実施形態 次に、第3実施形態について説明する。上述した第1実
施形態および第2実施形態では、1つの音色に関する発
音処理を、CPU側あるいは各種音源デバイス側のいず
れかのチャンネルにより行なう構成であったが、ある音
色に関する発音処理を、CPU側および各種音源デバイ
ス側の双方のチャンネルにより行なう構成であっても良
い。特にこの場合、CPU側では高調波合成により、ま
た、各種音源デバイス側では高調波合成以外の例えばF
M合成により、それぞれ波形データを演算して求めるよ
うにすれば、同じ音色を生成するにも、異なる演算方法
で求められるので、結果として異なった音色で発音され
ることになる。このため、音色の多様化に大きく寄与す
ることが考えられる。この第3実施形態の目的は、まさ
にこの点にある。
【0082】第3実施形態は、第2実施形態と同様に、
構成的には、図1、図24に示すように、音源デバイス
22の装着を前提とする。また、その波形合成プログラ
ムについては、選択されたハードウェアを含む発音処理
(図15および16参照)を、図19に示す処理に差し
替えた処理を行なうものである。すなわち、上述したス
テップSa34(図11参照)において実行される、選
択されたハードウェアを含む発音処理については、図1
9に示す処理が行なわれる。このため、差し替える処理
については説明し、他の事項については重複するのでそ
の説明を省略する。
【0083】この実施形態において、波形合成プログラ
ムの処理手順が、ステップSa34に進むと、図19に
示すような、選択されたハードウェアを含む発音処理が
実行される。まず、ステップSh1では、ステップSe
1、Sg1と同様に、イベント検出管理が行なわれる。
次に、ステップSh2では、発音指定システムチェック
が行なわれる。すなわち、発音すべき音色のそれぞれに
ついて、CPU10等側で処理するか、各種音源デバイ
ス側で処理するか、あるいは双方で処理するかを割り当
てる。ここで、割当の基準は、第2実施形態と同様に、
音色番号や、同時発音可能なチャンネル数、手動モード
による設定や、強制モードによる設定など種々考えられ
る。
【0084】さて、各種音源デバイス側に割り当てられ
た音色については、ステップSh3において、ステップ
Se4(図15参照)と同様に、発音割当処理が行なわ
れて、各種音源デバイス側に空きチャンネルが設けられ
る。そして、ステップSh4において、検出されたイベ
ントに対応する波形サンプルが、空きチャンネルにより
実際に生成される。この場合の生成方法は、FMや高調
波合成、物理モデリング合成のみならず、波形メモリ2
5の波形データを読み出すPCM、波形メモリ読出な
ど、装着される音源デバイス22の特性に依存した種々
の方式が考えられる。一方、CPU側に割り当てられた
音色については、ステップSh5において、CPU発音
割当処理が行なわれて、検出されたイベントに対応する
CPU波形発生割当コマンドが生成される。この場合の
CPU波形発生割当コマンドには、演算方式を指定する
情報も含まれる。また、各種音源デバイス側およびCP
U側の双方に割り当てられた音色については、各種音源
デバイス側では、ステップSh3およびSh4の処理が
行なわれ、CPU側では、ステップSh5の処理が行な
われる。すなわち、双方並列して行なわれる。
【0085】そして、かかるCPU波形発生割当コマン
ドが有の場合には、ステップSh6の判別結果が「Ye
s」となって、ステップSh7の発音演算処理が、当該
割当コマンドに対応して波形サンプルを生成する発音演
算処理が実行される。なお、この場合の発音演算処理
は、第2実施形態の発音演算処理とは異なり、波形メモ
リ読出のみならずFMや高調波合成、物理モデリング合
成など種々の方式が考えられる。一方、CPU波形発生
割当コマンドが無の場合には、ステップSg6の判別結
果が「No」となって、手順が戻る。
【0086】この第3実施形態では、ある音色をCPU
側と各種音源デバイス側とで、両者に割り当てられるこ
とができるので、データ的には1つの音色が、実質的に
異なる2つの音色で発生することができる。したがっ
て、第3実施形態によれば、この意味で発生楽音の多様
化を図ることができる。
【0087】4−3:第4実施形態 次に、第4実施形態について説明する。上述した実施形
態では、いずれも、発音割当の方式なる動作モードにつ
いて規定していたが、本願はこれに限られず、もっとシ
ンプルに、各種音源デバイスが搭載されていて、当該各
種音源デバイスに割り当てられるイベントが検出されれ
ば、その処理を各種音源デバイスに行なわせる構成とし
ても良い。その場合の構成がまさにこの第4実施形態で
ある。
【0088】第4実施形態は、第2および第3実施形態
と同様に、構成的には、図1、図24に示すように、音
源デバイス22の装着を前提とする。また、その波形合
成プログラムについては、選択されたハードウェアを含
む発音処理(図15および16参照)を、図20に示す
処理に差し替えた処理を行なうものである。すなわち、
上述したステップSa34(図11参照)において実行
される、選択されたハードウェアを含む発音処理につい
ては、図20に示す処理が行なわれる。このため、差し
替える処理については説明し、他の事項については重複
するのでその説明を省略する。
【0089】この実施形態において、波形合成プログラ
ムの処理手順が、ステップSa34に進むと、図20に
示すような、選択されたハードウェアを含む発音処理が
実行される。まず、図示しないが、ステップSe1、S
g1と同様に、イベント検出管理が行なわれる。次に、
ステップSi1では、発音割当処理が行なわれて、各種
音源デバイス側に空きチャンネルが設けられる。そし
て、ステップSi2において、検出されたイベントに対
応する波形サンプルが、空きチャンネルにより実際に生
成される。この場合の生成方法は、FMや高調波合成、
物理モデリング合成のみならず、波形メモリ25の波形
データを読み出すPCM、波形メモリ読出など、装着さ
れる音源デバイス22の特性に依存した種々の方式が考
えられる。この後、処理手順は戻る。
【0090】この第4実施形態によれば、各種音源デバ
イスが搭載されていて、当該各種音源デバイスに割り当
てられるイベントが検出されれば、その処理を当該各種
音源デバイスに行なわせることができる。
【0091】4−4:その他 上述した実施形態では、オプション品の例として、コプ
ロセッサ17や、DSP21、音源デバイス22等を例
としたが、本願はこれらに限られない。また、本願構成
は、パソコンや、電子楽器や、ゲーム機などのようにC
PUを用いた応用システムであって、楽音を発生させる
ものすべてに適用可能である。
【0092】
【発明の効果】以上説明した本発明によれば、次のよう
な効果がある。多様な楽音を発生することが可能である
とともに、楽音波形の生成に要する負荷を低減すること
も可能となる(請求項1〜14)。装置構成において最
適なサンプリング周波数にて楽音発生を行なうことが可
能となる(請求項15)。楽音波形のサンプリングデー
タを生成するための構成を簡略化することが可能となる
(請求項16)。装置構成の性能が低い場合において
も、発生楽音の品質を確保することが可能となる(請求
項17、18)。演奏情報が増加しても、当該演奏情報
に対応して楽音発生させること可能となる(請求項5、
11)。
【図面の簡単な説明】
【図1】 本発明が適用される構成を示すブロック図で
ある。
【図2】 同構成におけるバス回りの変形例を示すブロ
ック図である。
【図3】 同構成におけるバス回りの変形例を示すブロ
ック図である。
【図4】 (a)は、同構成における音源デバイス周辺
を集積化した場合の構成を示すブロック図であり、
(b)は、同構成におけるDSP周辺を集積化した場合
の構成を示すブロック図である。
【図5】 この発明による第1実施形態の動作モードを
説明するための図である。
【図6】 同実施形態におけるRAMのメモリマップを
示す図である。
【図7】 同実施形態における処理全体の概観を示すフ
ローチャートである。
【図8】 同実施形態により実行される波形合成プログ
ラムの手順を示すフローチャートである。
【図9】 同実施形態により実行される波形合成プログ
ラムの手順を示すフローチャートである。
【図10】 同実施形態により実行される波形合成プロ
グラムの手順を示すフローチャートである。
【図11】 同実施形態により実行される波形合成プロ
グラムの手順を示すフローチャートである。
【図12】 波形合成プログラムにおける波形サンプル
ロード処理の手順を示すフローチャートである。
【図13】 波形合成プログラムにおける波形サンプル
発生演算の手順を示すフローチャートである。
【図14】 波形合成プログラムにおけるCPUによる
波形サンプル演算処理の手順を示すフローチャートであ
る。
【図15】 波形合成プログラムにおける選択されたハ
ードウェアを含む発音処理の手順を示すフローチャート
である。
【図16】 波形合成プログラムにおける選択されたハ
ードウェアを含む発音処理の手順を示すフローチャート
である。
【図17】 波形合成プログラムにおけるタイマー処理
の手順を示すフローチャートである。
【図18】 本発明の第2実施形態における、選択され
たハードウェアを含む発音処理の手順を示すフローチャ
ートである。
【図19】 本発明の第3実施形態における、選択され
たハードウェアを含む発音処理の手順を示すフローチャ
ートである。
【図20】 本発明の第4実施形態における、選択され
たハードウェアを含む発音処理の手順を示すフローチャ
ートである。
【図21】 本発明が適用される構成の一例を示すブロ
ック図である。
【図22】 本発明が適用される構成の一例を示すブロ
ック図である。
【図23】 本発明が適用される構成の一例を示すブロ
ック図である。
【図24】 本発明が適用される構成の一例を示すブロ
ック図である。
【符号の説明】
10……CPU(演奏情報発生手段、第2の楽音波形生
成手段、指定手段、制御手段、発音制御手段、判別手
段、計測手段、サンプリング周波数決定手段)、17…
…コプロセッサ(CPU10と併せて第2の楽音波形生
成手段)、22……音源デバイス(第1の楽音波形生成
手段)

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 生成された楽音波形に基づき楽音を発生
    する楽音発生装置において、 楽音波形を生成する第1の楽音波形生成手段と、 楽音波形を生成する第2の楽音波形生成手段と、 演奏情報を発生する演奏情報発生手段と、 前記演奏情報に基づく楽音波形をどの楽音波形生成手段
    により生成すべきかを、当該演奏情報に対応して指定す
    る指定手段と、 前記指定手段により指定された楽音波形生成手段に対し
    て、当該演奏情報に基づく楽音波形を生成させる制御手
    段とを具備することを特徴とする楽音発生装置。
  2. 【請求項2】 生成された楽音波形に基づき楽音を発生
    する楽音発生装置において、 楽音波形を生成する第1の楽音波形生成手段と、 楽音波形を生成する第2の楽音波形生成手段と、 操作子の操作状態あるいは曲の進行に合わせた楽音発生
    タイミングと、発生すべき楽音の音色とを指定する演奏
    情報を発生する演奏情報発生手段と、 前記演奏情報に基づく楽音波形をどの楽音波形生成手段
    により生成すべきかを、当該演奏情報の音色に対応して
    指定する指定手段と、 前記指定手段により指定された楽音波形生成手段に対し
    て、当該演奏情報に基づく楽音波形を生成させる制御手
    段とを具備することを特徴とする楽音発生装置。
  3. 【請求項3】 生成された楽音波形に基づき楽音を発生
    する楽音発生装置において、 楽音波形を生成する第1の楽音波形生成手段と、 楽音波形を生成する第2の楽音波形生成手段と、 操作子の操作状態あるいは曲の進行に合わせた楽音発生
    タイミングと、発生すべき楽音の音色を指定する音色指
    定情報とを含む演奏情報を発生する演奏情報発生手段
    と、 前記演奏情報に基づく楽音波形をどの楽音波形生成手段
    により生成すべきかを、当該演奏情報に含まれる音色指
    定情報に対応して指定する指定手段と、 前記指定手段により指定された楽音波形生成手段に対し
    て、当該演奏情報に基づく楽音波形を生成させる制御手
    段とを具備することを特徴とする楽音発生装置。
  4. 【請求項4】 生成された楽音波形に基づき楽音を発生
    する楽音発生装置において、 楽音波形を生成する第1の楽音波形生成手段と、 楽音波形を生成する第2の楽音波形生成手段と、 演奏情報を発生する演奏情報発生手段と、 前記演奏情報に基づく楽音波形を第1および第2の楽音
    波形生成手段の双方により生成すべきか否かを、当該演
    奏情報に対応して指定する指定手段と、 前記指定手段により生成すべきと指定された場合に、第
    1および第2の楽音波形生成手段の双方に対して、当該
    演奏情報に基づく楽音波形を生成させる制御手段とを具
    備することを特徴とする楽音発生装置。
  5. 【請求項5】 生成された楽音波形に基づき楽音を発生
    する楽音発生装置において、 複数の楽音波形を生成する第1の楽音波形生成手段と、 複数の楽音波形を生成する第2の楽音波形生成手段と、 演奏情報を発生する演奏情報発生手段と、 前記演奏情報に基づく楽音波形をどの楽音波形生成手段
    により生成すべきかを、当該演奏情報の対応と、各楽音
    波形生成手段における楽音波形の生成数とにより指定す
    る指定手段と、 前記指定手段により指定された楽音波形生成手段に対し
    て、当該演奏情報に基づく楽音波形を生成させる制御手
    段とを具備することを特徴とする楽音発生装置。
  6. 【請求項6】 生成された楽音波形に基づき楽音を発生
    する楽音発生装置において、 演奏情報を発生する演奏情報発生手段と、 楽音波形を生成する第1の楽音波形生成手段の有無を判
    別する判別手段と、 楽音波形を生成する第2の楽音波形生成手段と、 前記判別手段による判別が有であって、前記演奏情報に
    基づく楽音波形を第1の楽音波形生成手段により生成す
    べき場合には、当該演奏情報に基づく楽音波形を前記第
    1の楽音波形生成手段により生成すべきと指定する一
    方、前記判別手段による判別が無である場合には、前記
    演奏情報に基づく楽音波形を前記第2の楽音波形生成手
    段により生成すべきと指定する指定手段と、 前記指定手段により指定された楽音波形生成手段に対し
    て、当該演奏情報に基づく楽音波形を生成させる制御手
    段とを具備することを特徴とする楽音発生装置。
  7. 【請求項7】 生成された楽音波形に基づき楽音を発生
    する楽音発生装置において、 楽音波形を生成する少なくとも1つ以上の第1の楽音波
    形生成手段と、 処理手段とを具備する楽音発生装置であって、前記処理
    手段は、 楽音波形を生成する第2の楽音波形生成手段と、 演奏情報を発生する演奏情報発生手段と、 前記演奏情報に基づく楽音をどの楽音波形生成手段によ
    り生成すべきかを、当該演奏情報に対応して指定すると
    ともに、指定した楽音波形生成手段に対して、当該演奏
    情報に基づく楽音波形を生成させる発音制御手段とから
    構成されることを特徴とする楽音発生装置。
  8. 【請求項8】 生成された楽音波形に基づき楽音を発生
    する楽音発生装置において、 楽音波形を生成する少なくとも1つ以上の第1の楽音波
    形生成手段と、 処理手段とを具備する楽音発生装置であって、前記処理
    手段は、 楽音波形を生成する第2の楽音波形生成手段と、 演奏情報を発生する演奏情報発生手段と、 前記演奏情報に基づく楽音をどの楽音波形生成手段によ
    り生成すべきかを、発生すべき楽音の音色に応じて指定
    するとともに、指定した楽音波形生成手段に対して、当
    該演奏情報に基づく楽音波形を生成させる発音制御手段
    とから構成されることを特徴とする楽音発生装置。
  9. 【請求項9】 生成された楽音波形に基づき楽音を発生
    する楽音発生装置において、 楽音波形を生成する少なくとも1つ以上の第1の楽音波
    形生成手段と、 処理手段とを具備する楽音発生装置であって、前記処理
    手段は、 楽音波形を生成する第2の楽音波形生成手段と、 演奏情報を、発生すべき音色を指定する音色指定情報を
    含ませて発生する演奏情報発生手段と、 前記演奏情報に基づく楽音をどの楽音波形生成手段によ
    り生成すべきかを、前記演奏情報に含まれる音色指定情
    報に応じて指定するとともに、指定した楽音波形生成手
    段に対して、当該演奏情報に基づく楽音波形を生成させ
    る発音制御手段とから構成されることを特徴とする楽音
    発生装置。
  10. 【請求項10】 生成された楽音波形に基づき楽音を発
    生する楽音発生装置において、 楽音波形を生成する少なくとも1つ以上の第1の楽音波
    形生成手段と、 処理手段とを具備する楽音発生装置であって、前記処理
    手段は、 楽音波形を生成する第2の楽音波形生成手段と、 演奏情報を発生する演奏情報発生手段と、 前記演奏情報に基づく楽音波形を第1および第2の楽音
    波形生成手段の双方により生成すべきか否かを、当該演
    奏情報に対応して指定するとともに、生成すべきと指定
    した場合に、第1および第2の楽音波形生成手段の双方
    に対して、当該演奏情報に基づく楽音波形を生成させる
    発音制御手段とから構成されることを特徴とする楽音発
    生装置。
  11. 【請求項11】 生成された楽音波形に基づき楽音を発
    生する楽音発生装置において、 複数の楽音波形を生成する少なくとも1つ以上の第1の
    楽音波形生成手段と、 処理手段とを具備する楽音発生装置であって、前記処理
    手段は、 複数の楽音波形を生成する第2の楽音波形生成手段と、 演奏情報を演奏情報発生手段と、 前記演奏情報に基づく楽音波形をどの楽音波形生成手段
    により生成すべきかを、当該演奏情報の対応と、各楽音
    波形生成手段における楽音波形の生成数とにより指定す
    るとともに、指定した楽音波形生成手段に対して、当該
    演奏情報に基づく楽音波形を生成させる発音制御手段と
    から構成されることを特徴とする楽音発生装置。
  12. 【請求項12】 生成された楽音波形に基づき楽音を発
    生する楽音発生装置を一の処理手段により構成し、この
    処理手段は、 演奏情報を発生する演奏情報発生手段と、 楽音波形を生成する少なくとも1つ以上の第1の楽音波
    形生成手段の有無を判別する判別手段と、 楽音波形を生成する第2の楽音波形生成手段と、 前記判別手段による判別が有であって、前記演奏情報に
    基づく楽音波形を第1の楽音波形生成手段により生成す
    べき場合には、当該演奏情報に基づく楽音波形を前記第
    1の楽音波形生成手段により生成すべきと指定する一
    方、前記判別手段による判別が無である場合には、前記
    演奏情報に基づく楽音波形を前記第2の楽音波形生成手
    段により生成すべきと指定し、指定された楽音波形生成
    手段に対して、当該演奏情報に基づく楽音波形を生成さ
    せる制御手段とから構成されることを特徴とする楽音発
    生装置。
  13. 【請求項13】 前記第1の楽音波形生成手段はハード
    ウェア音源であり、 前記第2の楽音波形生成手段はソフトウェア音源である
    ことを特徴とする請求項1〜12のいずれか一記載の楽
    音発生装置。
  14. 【請求項14】 前記第2の楽音波形生成手段は、予め
    ロードした楽音波形のサンプリングデータを読み出すこ
    とによって、楽音波形の生成を行なうことを特徴とする
    請求項1〜12のいずれか一記載の楽音発生装置。
  15. 【請求項15】 前記第1および第2の楽音波形生成手
    段は、それぞれ楽音波形のサンプリングデータを生成す
    るものであり、 第2の楽音波形生成手段が、所定の楽音波形を生成する
    のに要した時間を計測する計測手段と、 計測された時間に基づいて、前記サンプリングデータの
    サンプリング周波数を決定するサンプリング周波数決定
    手段とを備えることを特徴とする請求項1〜12のいず
    れか一記載の楽音発生装置。
  16. 【請求項16】 前記サンプリング周波数決定手段は、
    予め段階的に設定された複数のサンプリング周波数のう
    ち、前記計測手段により計測された時間に基づいて求め
    たサンプリング周波数よりも低いものであって、最も高
    いものを決定することを特徴とする請求項15記載の楽
    音発生装置。
  17. 【請求項17】 前記サンプリング周波数決定手段によ
    り決定されたサンプリング周波数が所定のサンプリング
    周波数よりも低い場合には、 前記制御手段は、前記第2の楽音波形生成手段に対し、
    前記演算処理を変更してサンプリングデータを生成する
    ように制御することを特徴とする請求項15記載の楽音
    発生装置
  18. 【請求項18】 前記第2の楽音波形生成手段は、前記
    演算処理を変更する際、予めロードした楽音波形のサン
    プリングデータの読み出しを行なうことを特徴とする請
    求項17記載の楽音発生装置。
JP7253493A 1995-06-06 1995-09-29 楽音発生装置 Expired - Lifetime JP2998612B2 (ja)

Priority Applications (17)

Application Number Priority Date Filing Date Title
JP7253493A JP2998612B2 (ja) 1995-06-06 1995-09-29 楽音発生装置
TW084111030A TW337566B (en) 1995-09-29 1995-10-19 A music generation device
EP99112006A EP0951009B1 (en) 1995-06-06 1996-06-03 Computerized music system having software and hardware sound sources
DE69614765T DE69614765T2 (de) 1995-06-06 1996-06-03 Durch Rechner gesteuertes Musiksystem mit hard- und softwareorientierter Tonerzeugung
EP99120824A EP0978821B1 (en) 1995-06-06 1996-06-03 Computerized music system having software and hardware sound sources
DE69634271T DE69634271T2 (de) 1995-06-06 1996-06-03 Durch Rechner gesteuertes Musiksystem mit Programmen und Schaltungen als Tonerzeuger
DE69632273T DE69632273T2 (de) 1995-06-06 1996-06-03 Rechnermusiksystem mit Software und Hardware Tonerzeugern
EP96108875A EP0747877B1 (en) 1995-06-06 1996-06-03 Computerized music system having software and hardware sound sources
US08/659,011 US5714703A (en) 1995-06-06 1996-06-04 Computerized music system having software and hardware sound sources
SG1998005233A SG74104A1 (en) 1995-06-06 1996-06-04 Computerized music system having software and hardware sound sources
SG200007677A SG92777A1 (en) 1995-06-06 1996-06-04 Computerized music system having software and hardware sound sources
SG1996009976A SG45482A1 (en) 1995-06-06 1996-06-04 Computerized music system having software and hardware sound sources
CNB961104171A CN1153187C (zh) 1995-06-06 1996-06-06 具有软件和硬件声源的计算机化的音乐系统
KR1019960020414A KR100306032B1 (ko) 1995-06-06 1996-06-07 악음발생장치
HK98103469A HK1004441A1 (en) 1995-06-06 1998-04-24 Computerized music system having software and hardware sound sources.
CNB991089685A CN1192350C (zh) 1995-06-06 1999-06-30 乐器以及依演奏信息生成乐音的方法
US09/353,579 USRE37367E1 (en) 1995-06-06 1999-07-14 Computerized music system having software and hardware sound sources

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP13952695 1995-06-06
JP7-139526 1995-06-06
JP7253493A JP2998612B2 (ja) 1995-06-06 1995-09-29 楽音発生装置

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP36357998A Division JP3169003B2 (ja) 1995-06-06 1998-12-21 楽音発生装置
JP10363578A Division JP3104697B2 (ja) 1995-06-06 1998-12-21 楽音発生装置および楽音発生方法

Publications (2)

Publication Number Publication Date
JPH0954586A true JPH0954586A (ja) 1997-02-25
JP2998612B2 JP2998612B2 (ja) 2000-01-11

Family

ID=26472312

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7253493A Expired - Lifetime JP2998612B2 (ja) 1995-06-06 1995-09-29 楽音発生装置

Country Status (8)

Country Link
US (2) US5714703A (ja)
EP (3) EP0978821B1 (ja)
JP (1) JP2998612B2 (ja)
KR (1) KR100306032B1 (ja)
CN (1) CN1153187C (ja)
DE (3) DE69632273T2 (ja)
HK (1) HK1004441A1 (ja)
SG (3) SG45482A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012220511A (ja) * 2011-04-04 2012-11-12 Brother Ind Ltd 楽曲再生装置、楽曲再生方法及びプログラム

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6362409B1 (en) 1998-12-02 2002-03-26 Imms, Inc. Customizable software-based digital wavetable synthesizer
JP3293434B2 (ja) * 1995-10-23 2002-06-17 ヤマハ株式会社 楽音発生方法
SG67993A1 (en) 1996-08-30 1999-10-19 Yamaha Corp Sound source system based on computer software and method of generating acoustic waveform data
JP3152156B2 (ja) * 1996-09-20 2001-04-03 ヤマハ株式会社 楽音発生システム、楽音発生装置および楽音発生方法
US6758755B2 (en) 1996-11-14 2004-07-06 Arcade Planet, Inc. Prize redemption system for games executed over a wide area network
JP3196681B2 (ja) * 1997-03-13 2001-08-06 ヤマハ株式会社 通信データ一時記憶装置
JP2922509B2 (ja) * 1997-09-17 1999-07-26 コナミ株式会社 音楽演出ゲーム機、音楽演出ゲーム用の演出操作指示システムおよびゲーム用のプログラムが記録されたコンピュータ読み取り可能な記憶媒体
US6357039B1 (en) * 1998-03-03 2002-03-12 Twelve Tone Systems, Inc Automatic code generation
JP3031676B1 (ja) 1998-07-14 2000-04-10 コナミ株式会社 ゲ―ムシステムおよびコンピュ―タ読み取り可能な記憶媒体
FR2785711B1 (fr) * 1998-11-06 2001-03-16 Jean Philippe Chevreau Dispositif qui compose de maniere automatique une piece musicale en y incorporant des echantillons sonores
JP2000237455A (ja) 1999-02-16 2000-09-05 Konami Co Ltd 音楽演出ゲーム装置、音楽演出ゲーム方法および可読記録媒体
JP3707300B2 (ja) * 1999-06-02 2005-10-19 ヤマハ株式会社 楽音発生装置用拡張ボード
US7176372B2 (en) 1999-10-19 2007-02-13 Medialab Solutions Llc Interactive digital music recorder and player
US6392133B1 (en) 2000-10-17 2002-05-21 Dbtech Sarl Automatic soundtrack generator
US7078609B2 (en) 1999-10-19 2006-07-18 Medialab Solutions Llc Interactive digital music recorder and player
US9818386B2 (en) 1999-10-19 2017-11-14 Medialab Solutions Corp. Interactive digital music recorder and player
WO2001080219A2 (en) * 2000-04-14 2001-10-25 Realnetworks, Inc. A system and method of providing music items to music renderers
US7237198B1 (en) 2000-05-22 2007-06-26 Realnetworks, Inc. System and method of providing for the control of a music player to a device driver
US7522965B2 (en) * 2000-12-01 2009-04-21 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7818443B2 (en) * 2000-12-01 2010-10-19 O2Micro International Ltd. Low power digital audio decoding/playing system for computing devices
US7522966B2 (en) 2000-12-01 2009-04-21 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7890741B2 (en) 2000-12-01 2011-02-15 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7526349B2 (en) * 2000-12-01 2009-04-28 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7522964B2 (en) * 2000-12-01 2009-04-21 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7076035B2 (en) 2002-01-04 2006-07-11 Medialab Solutions Llc Methods for providing on-hold music using auto-composition
EP1326228B1 (en) 2002-01-04 2016-03-23 MediaLab Solutions LLC Systems and methods for creating, modifying, interacting with and playing musical compositions
US7022906B2 (en) 2002-11-12 2006-04-04 Media Lab Solutions Llc Systems and methods for creating, modifying, interacting with and playing musical compositions
US7928310B2 (en) 2002-11-12 2011-04-19 MediaLab Solutions Inc. Systems and methods for portable audio synthesis
US7169996B2 (en) 2002-11-12 2007-01-30 Medialab Solutions Llc Systems and methods for generating music using data/music data file transmitted/received via a network
WO2006043929A1 (en) 2004-10-12 2006-04-27 Madwaves (Uk) Limited Systems and methods for music remixing
US7045700B2 (en) 2003-06-30 2006-05-16 Nokia Corporation Method and apparatus for playing a digital music file based on resource availability
US7038119B2 (en) 2003-07-18 2006-05-02 Telefonaktiebolaget L M Ericsson (Publ) Dynamic control of processing load in a wavetable synthesizer
DE10339032A1 (de) * 2003-08-25 2005-05-25 Infineon Technologies Ag Software-Synthesizer und Verfahren zum Erzeugen von Audiosignalen mit einer variablen Anzahl von Stimmen in Abhängigkeit vom Betriebszustand einer Prozessoreinheit
JP4134963B2 (ja) * 2003-09-16 2008-08-20 ヤマハ株式会社 音響装置
JP4400363B2 (ja) * 2004-08-05 2010-01-20 ヤマハ株式会社 音源システム、楽曲ファイルを記録したコンピュータ読み取り可能な記録媒体及び楽曲ファイル作成ツール
US20060155543A1 (en) * 2005-01-13 2006-07-13 Korg, Inc. Dynamic voice allocation in a vector processor based audio processor
WO2008121650A1 (en) * 2007-03-30 2008-10-09 William Henderson Audio signal processing system for live music performance
JP4475323B2 (ja) * 2007-12-14 2010-06-09 カシオ計算機株式会社 楽音発生装置、及びプログラム
JP2009169862A (ja) * 2008-01-18 2009-07-30 Panasonic Corp プログラム変換装置、方法、プログラムおよび記録媒体
JP2011242560A (ja) * 2010-05-18 2011-12-01 Yamaha Corp セッション端末及びネットワークセッションシステム
JP6443772B2 (ja) * 2017-03-23 2018-12-26 カシオ計算機株式会社 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
JP6388048B1 (ja) 2017-03-23 2018-09-12 カシオ計算機株式会社 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
CN107436618B (zh) * 2017-08-08 2019-12-27 电子科技大学 一种基于指令架构的任意波形发生器

Family Cites Families (26)

* 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
JPS604994B2 (ja) * 1977-09-05 1985-02-07 ヤマハ株式会社 電子楽器
JPS55500959A (ja) * 1978-12-11 1980-11-13
JPS5792399A (en) * 1980-11-29 1982-06-08 Nippon Musical Instruments Mfg Electronic musical instrument
JPS5792398A (en) * 1980-12-01 1982-06-08 Nippon Musical Instruments Mfg Electronic musical instrument
US4641564A (en) * 1983-06-17 1987-02-10 Nippon Gakki Seizo Kabushiki Kaisha Musical tone producing device of waveform memory readout type
US5119710A (en) * 1986-03-09 1992-06-09 Nippon Gakki Seizo Kabushiki Kaisha Musical tone generator
JPS6384190A (ja) 1986-09-29 1988-04-14 株式会社東芝 チツプ部品搭載基板
US5086685A (en) * 1986-11-10 1992-02-11 Casio Computer Co., Ltd. Musical tone generating apparatus for electronic musical instrument
JP2651600B2 (ja) 1988-07-06 1997-09-10 株式会社アイジー技術研究所 化粧面形成装置
US5020410A (en) * 1988-11-24 1991-06-04 Casio Computer Co., Ltd. Sound generation package and an electronic musical instrument connectable thereto
US5319151A (en) * 1988-12-29 1994-06-07 Casio Computer Co., Ltd. Data processing apparatus outputting waveform data in a certain interval
US5094136A (en) * 1989-01-06 1992-03-10 Yamaha Corporation Electronic musical instrument having plural different tone generators employing different tone generation techniques
JP2643405B2 (ja) 1989-01-18 1997-08-20 カシオ計算機株式会社 電子楽器
US5451710A (en) * 1989-06-02 1995-09-19 Yamaha Corporation Waveform synthesizing apparatus
JPH0383136A (ja) 1989-08-25 1991-04-09 Seiko Epson Corp 電子計算機
JPH04152393A (ja) 1990-10-16 1992-05-26 Casio Comput Co Ltd 楽音発生装置
JP2900082B2 (ja) 1990-10-25 1999-06-02 カシオ計算機株式会社 楽音発生装置
JP2680483B2 (ja) * 1991-05-02 1997-11-19 株式会社東芝 デジタル信号処理装置
JP2705395B2 (ja) * 1991-10-07 1998-01-28 ヤマハ株式会社 電子楽器
JP2743726B2 (ja) 1992-07-07 1998-04-22 ヤマハ株式会社 電子楽器
US5345035A (en) * 1992-07-10 1994-09-06 Yamaha Corporation Musical tone generating apparatus
JPH07146679A (ja) * 1992-11-13 1995-06-06 Internatl Business Mach Corp <Ibm> 音声データを変換する方法及びシステム
US5376752A (en) * 1993-02-10 1994-12-27 Korg, Inc. Open architecture music synthesizer with dynamic voice allocation
JP2678974B2 (ja) 1994-12-27 1997-11-19 カシオ計算機株式会社 楽音波形発生装置
JP2666762B2 (ja) 1995-03-11 1997-10-22 ヤマハ株式会社 電子楽器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012220511A (ja) * 2011-04-04 2012-11-12 Brother Ind Ltd 楽曲再生装置、楽曲再生方法及びプログラム

Also Published As

Publication number Publication date
JP2998612B2 (ja) 2000-01-11
USRE37367E1 (en) 2001-09-18
KR100306032B1 (ko) 2001-11-30
EP0951009A1 (en) 1999-10-20
DE69632273T2 (de) 2005-04-21
KR970002733A (ko) 1997-01-28
DE69634271T2 (de) 2006-04-13
EP0978821B1 (en) 2004-04-21
CN1164727A (zh) 1997-11-12
EP0978821A1 (en) 2000-02-09
SG45482A1 (en) 1998-01-16
US5714703A (en) 1998-02-03
EP0747877A3 (de) 1997-01-22
DE69634271D1 (de) 2005-03-03
EP0747877B1 (en) 2001-08-29
EP0747877A2 (en) 1996-12-11
SG74104A1 (en) 2000-07-18
SG92777A1 (en) 2002-11-19
DE69632273D1 (de) 2004-05-27
HK1004441A1 (en) 1998-11-27
DE69614765T2 (de) 2002-06-20
CN1153187C (zh) 2004-06-09
DE69614765D1 (de) 2001-10-04
EP0951009B1 (en) 2005-01-26

Similar Documents

Publication Publication Date Title
JP2998612B2 (ja) 楽音発生装置
JP6388048B1 (ja) 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
JP6443772B2 (ja) 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
JPH05143065A (ja) 電子楽器
JP2705395B2 (ja) 電子楽器
JP3716710B2 (ja) 楽音発生装置
JP3104697B2 (ja) 楽音発生装置および楽音発生方法
JP3169003B2 (ja) 楽音発生装置
JP3152198B2 (ja) 楽音発生方法および楽音発生装置
JP2002200338A (ja) 楽曲データ処理機能がある携帯端末装置
JP3257400B2 (ja) エフェクト装置
JP3765152B2 (ja) 楽音合成装置
JP7159583B2 (ja) 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
JP6851578B2 (ja) 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
CN1192350C (zh) 乐器以及依演奏信息生成乐音的方法
JP2004279750A (ja) 楽音発生装置および楽音発生プログラム
JP2001282243A (ja) 電子楽音発生装置、電子楽音発生方法及び記録媒体
JPH05265458A (ja) 電子楽器
JPH0816164A (ja) 発音命令生成装置
JP2001282241A (ja) 電子楽音発生装置、電子楽音発生方法及び記録媒体
JP2008097022A (ja) 楽音発生装置
JPH07121165A (ja) 楽音制御装置
JPH0627955A (ja) 楽音発生装置
JP2000315089A (ja) 補助音声生成装置
JPH07121180A (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: 20071105

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081105

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20081105

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20091105

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20101105

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20101105

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20111105

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20111105

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20121105

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20121105

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20131105

Year of fee payment: 14

EXPY Cancellation because of completion of term