JPH1020860A - 楽音発生装置 - Google Patents

楽音発生装置

Info

Publication number
JPH1020860A
JPH1020860A JP8186892A JP18689296A JPH1020860A JP H1020860 A JPH1020860 A JP H1020860A JP 8186892 A JP8186892 A JP 8186892A JP 18689296 A JP18689296 A JP 18689296A JP H1020860 A JPH1020860 A JP H1020860A
Authority
JP
Japan
Prior art keywords
waveform
samples
memory
sample
read
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
JP8186892A
Other languages
English (en)
Other versions
JP3163984B2 (ja
Inventor
Tetsuji Ichiki
哲二 市来
Masahiro Shimizu
正宏 清水
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=16196519&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH1020860(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP18689296A priority Critical patent/JP3163984B2/ja
Priority to US08/882,123 priority patent/US5892170A/en
Publication of JPH1020860A publication Critical patent/JPH1020860A/ja
Application granted granted Critical
Publication of JP3163984B2 publication Critical patent/JP3163984B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/002Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
    • 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/02Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories
    • G10H7/06Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories in which amplitudes are read at a fixed rate, the read-out address varying stepwise by a given value, e.g. according to pitch
    • 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/275Musical interface to a personal computer PCI bus, "peripheral component interconnect bus"
    • 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
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/621Waveform interpolation

Abstract

(57)【要約】 【課題】 波形メモリへのアクセス回数を少なくする。 【解決手段】 波形サンプルが格納されている波形メモ
リ24と音源部25は32ビットのデータ幅を有するP
CIバス28に接続されている。音源部25はサンプリ
ング周期を複数の発音チャンネルに等分した時分割チャ
ンネルタイミングにしたがって各発音チャンネルの楽音
を発生する。音源部25内には、波形メモリ24からバ
ースト読み出しされた複数個の波形サンプルを一時記憶
するための波形バッファが設けられている。各時分割チ
ャンネルタイミングにおいて、音源部25は当該チャン
ネルの楽音を発生するための波形メモリ24の読み出し
アドレスを生成し、当該サンプリングタイミングにおい
て使用する波形サンプルが波形バッファ内に記憶されて
いないときにのみ波形メモリ24から波形サンプルを読
み出す。波形サンプルの読み出しが必要なときは、バー
スト読み出しにより連続する複数個の波形サンプルを読
み出して、波形バッファに格納する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、波形メモリ方式の
楽音発生装置に関し、特に、PCIバスなどの高速バス
に波形メモリが接続されている楽音発生装置に関する。
【0002】
【従来の技術】従来より、時分割動作で複数チャンネル
分の楽音を同時に発生する波形メモリ方式の音源装置が
知られている。このような音源装置では、1サンプリン
グ周期を均等に分割した各チャンネルに対応するタイム
スロットにおいてそれぞれのチャンネルの楽音生成動作
が行われるようになされており、前記各タイムスロット
毎に波形サンプルを記憶している波形メモリに対して所
定回数のアクセスが行われるようになされている。そし
て、各チャンネルについてこのようにして読み出された
連続する何点かの波形サンプルを用いて補間演算するこ
とにより1サンプリング点に対応する楽音波形データを
生成している。
【0003】また、波形メモリ方式の電子楽器におい
て、装置全体の動作を中央処理装置(CPU)により制
御するようにし、メモリに制御プログラムと波形サンプ
ルとを記憶して、CPUと音源部とで該メモリを共用す
るようにした構成のものも知られている。
【0004】
【発明が解決しようとする課題】このような電子楽器の
音源においては、メモリへのアクセスは常にボトルネッ
クとなっている要素である。一般に、波形メモリのバス
には音源部しか接続されない場合が多い。また、波形メ
モリの記憶内容を変更するため、音源部と時分割でCP
Uによる同バスの使用を可能にした音源もある。そこで
は、CPUと音源は時分割クロックに従って、交互に波
形メモリをアクセスする様になっている。この場合、C
PUが波形メモリを読み書きしない時も、CPUのため
のアクセススロットは確保されたままであるので、波形
メモリのアクセスの効率が悪い。したがって、発音のた
めに波形メモリへのアクセスが多く必要な場合であって
も波形メモリへのアクセス回数に制限があり、そのため
発音数を抑えざるを得ない場合が生じる。また、音源部
が波形メモリをアクセスしている期間は、CPUやSC
SIインタフェース回路などの他の回路はバスを使用す
ることができないという問題点があった。
【0005】さらに、前述したように、各サンプリング
周期に各チャンネル毎に補間を行うために2回のメモリ
アクセスが必ず行なわれていた。このため、共有バスが
PCIバスなど優先権を判定してバスの割当てを行うバ
スアービタを持つバスである場合には、バスの使用権の
切替回数が多いとバスの効率が落ちてしまうという問題
点があった。
【0006】そこで本発明は、音源による共有バスの占
有時間を短くし、また、音源によるバスアクセスの頻度
を減らすことのできる楽音発生装置を提供することを目
的としている。
【0007】
【課題を解決するための手段】上記目的を達成するため
に、本発明の楽音発生装置は、波形サンプルに基づいて
サンプリング周期毎に楽音波形サンプルを生成出力する
楽音発生装置であって、複数の前記波形サンプルに対応
するデータ幅を有するバスと、前記バスに接続され、前
記波形サンプルが各アドレス毎に複数サンプルずつ記憶
される波形メモリと、前記バスに接続され、楽音ピッチ
に応じた速度で進行する読出アドレスにより前記波形メ
モリをアクセスし、前記複数サンプル単位で読み出す読
出手段と、前記波形メモリへの1度のアクセスにより読
み出される前記複数サンプルを全て記憶するバッファメ
モリと、前記バッファメモリに記憶された前記複数サン
プルのうち、必要な波形サンプルを選択的に用いて楽音
波形サンプルを生成する生成手段とを有し、前記読出手
段は、前記生成手段における楽音生成に必要な波形サン
プルが前記バッファメモリに存在しない場合にのみ、前
記波形メモリへのアクセスを行うように構成されている
ものである。これにより、1度のアクセスで読み出され
た複数波形サンプルのうち、将来必要となる波形サンプ
ルも記憶しておくので、波形メモリのアクセス回数の無
駄をなくすことができる。
【0008】また、本発明の他の楽音発生装置は、波形
サンプルに基づいてサンプリング周期毎に楽音波形サン
プルを生成出力する楽音発生装置であって、共有バス
と、前記共有バスに接続され、前記波形サンプルが複数
サンプルを単位として記憶される波形メモリと、前記共
有バスに接続され、前記波形メモリをアクセスして前記
複数サンプル単位で読み出す読出手段と、前記読み出し
手段によって読み出される前記波形サンプルを複数サン
プル分記憶するバッファメモリと、前記バッファメモリ
に記憶された前記複数サンプルのうち、必要な波形サン
プルを選択的に用いて楽音波形サンプルを生成する生成
手段と、前記共有バスに接続され、前記波形メモリの読
み出し又は書き込み、ないし、前記生成手段の制御を行
う処理手段とを有し、前記生成手段における楽音生成に
必要な波形サンプルが前記バッファメモリに存在しない
場合にのみ、前記波形メモリへのアクセスを行うように
なされているものである。これにより、読出手段は楽音
生成の状況に応じて複数サンプル単位で波形メモリから
波形サンプルを転送するので、共有バスを占有する時間
および回数を少なくすることができる。
【0009】さらに、前記波形メモリは、波形サンプル
を各アドレス毎に複数サンプルずつ記憶しており、前記
波形メモリへの1度のアクセスにより、複数サンプル分
の読み出しがなされるようになされているものである。
これにより、前記読出手段は楽音生成の状況に応じて複
数サンプル単位で波形メモリから波形サンプルを転送す
るので、共有バスを占有する時間、回数の両方を少なく
することができ、また、1度のアクセスで読み出された
複数波形サンプルのうち、将来必要となる波形サンプル
も記憶しておくので、波形メモリのアクセス回数の無駄
をなくすことができる。
【0010】さらに、前記前記読出手段による前記複数
サンプル単位の読み出しは、バースト読み出しとされて
いるものである。これにより、共有バスを占有する時間
をより短縮することができ、またアクセス回数も少なく
することができる。
【0011】さらにまた、本発明の楽音発生装置は、波
形サンプルに基づいてサンプリング周期毎に複数発音チ
ャンネル分の楽音波形サンプルを生成出力する楽音発生
装置であって、共有バスと、前記共有バスに接続され、
前記波形サンプルが記憶される波形メモリと、前記共有
バスに接続され、前記波形メモリをアクセスして前記波
形サンプルを読み出す読出手段と、前記読出手段によっ
て読み出される前記波形サンプルを複数サンプル分記憶
するバッファメモリと、前記バッファメモリに記憶され
た前記複数サンプルのうち、必要とされる波形サンプル
を選択的に用いて楽音波形サンプルを生成する生成手段
と、前記共有バスに接続され、前記波形メモリの読み出
し又は書き込み、ないし、前記生成手段の制御を行う処
理手段とを有し、前記生成手段における楽音生成に必要
な波形サンプルが前記バッファメモリに存在しない場合
には、前記波形メモリへのアクセスを、波形サンプルが
必要とされる複数チャンネル分まとめて行うようになさ
れているものである。これにより、読出手段は、楽音生
成の状況に応じて必要とされる波形サンプルを複数チャ
ンネル分まとめて波形メモリから波形サンプルを転送す
るので、共有バスを占有する回数を少なくすることがで
きる。
【0012】さらにまた、本発明のさらに他の楽音発生
装置は、波形サンプルに基づいてサンプリング周期毎に
楽音波形サンプルを生成出力する楽音発生装置であっ
て、共有バスと、前記共有バスに接続され、前記波形サ
ンプルが複数サンプルを単位として記憶される波形メモ
リと、前記共有バスに接続され、前記波形メモリをアク
セスして前記複数サンプル単位で読み出す読出手段と前
記読出手段によって読み出される前記波形サンプルを複
数サンプル分記憶するバッファメモリと、上位部、中位
部、下位部からなる楽音位相を発生する位相発生手段
と、前記バッファメモリに記憶された前記複数サンプル
のうち、前記楽音位相の中位部により指定される波形サ
ンプルを選択的に用いて前記楽音位相の下位部に基づく
補間演算を実行し楽音波形サンプルを生成する生成手段
と、前記共有バスに接続され、前記波形メモリの読み出
し又は書き込み、ないし、前記生成手段の制御を行う処
理手段とを有し、前記楽音位相の上位部に変化があった
場合にのみ、前記波形メモリへのアクセスを行うように
なされているものである。これにより、読出手段は楽音
生成の状況に応じて複数サンプル単位で波形メモリから
波形サンプルを転送するので、共有バスを占有する時間
および回数を少なくすることができる。
【0013】
【発明の実施の形態】図1は、本発明の楽音発生装置の
一実施の形態における全体構成を示すブロック図であ
る。この図において、10はこの楽音発生装置全体の制
御を行うための中央処理装置(CPU)、11はこの楽
音発生装置を動作させるためのオペレーティングシステ
ム(OS)、この楽音発生装置の基本動作プログラムお
よび各種の定数データなどを記憶するフラッシュメモ
リ、12はワークレジスタなどとして使用されるランダ
ムアクセスメモリ(RAM)であり、これらCPU1
0、フラッシュメモリ11およびRAM12はCPUロ
ーカル・バス13に接続されている。
【0014】なお、フラッシュメモリ11に格納されて
いるOSとしては、プリエンプティブなマルチタスクO
Sであることが望ましい。
【0015】15はアナログ入力端子16から入力され
る楽音信号や音声信号などのアナログ信号をこの楽音発
生装置に入力するためのアナログデジタル変換回路(A
DC)、17はMIDI端子18を介してMIDI信号
を入出力するためのMIDIインタフェース回路、19
はハードディスク装置やCD−ROM駆動装置などの外
部記憶装置20との間のインタフェースを行うためのS
CSIインターフェース回路、23は、各種の情報を表
示する表示装置21やユーザからの各種の指示を入力す
るためのスイッチ手段22との間のインターフェースを
とるための入出力制御回路(I/O制御回路)である。
【0016】また、24は所定のレート(例えば50K
Hz)でサンプリングされた波形サンプルデータが記憶
されている波形メモリであり、前記外部記憶装置20や
フラッシュメモリ11に格納されている波形データ、C
PU10により演算により生成された波形データ、ある
いは前記アナログ入力端子16から入力されADC15
においてデジタル信号に変換された波形サンプルデータ
がこの波形メモリ24にロードされる。この波形メモリ
24は例えばDRAMにより構成されており、この実施
の形態においては、1波形サンプルは16ビット非圧縮
形式のデータとされている。
【0017】25は楽音を生成するための音源部であ
り、その詳細については後述するが、前記CPU10の
指示に応じて、前記波形メモリ24から波形サンプルを
読み出し、該読み出された波形サンプルに対して補間演
算、エンベロープ付与、チャンネル累算およびエフェク
ト付与などの加工を施した楽音波形サンプルデータをサ
ンプリング周期ごとに出力するものである。なお、この
実施の形態においては、音源部25は64発音チャンネ
ル分の楽音を生成することが可能なものとされている。
【0018】26は前記音源部25からサンプリング周
期ごとに出力される楽音波形サンプルデータをアナログ
信号に変換するデジタルアナログ変換器(DAC)であ
り、27は該DAC26から出力される楽音信号を増幅
して放音するサウンドシステムである。
【0019】前記ADC15、MIDIインタフェース
回路17、SCSIインタフェース回路19、I/O制
御回路23、波形メモリ24および音源25はいずれも
PCI(Peripheral Component Interconnect )バス2
8に接続されており、このPCIバスを介して相互に高
速データ転送を行うことができるようになされている。
なお、PCIバスのバス幅は32ビットであり、また、
この実施の形態においてはPCIバス28のバスクロッ
ク周波数は32MHzとされている。そして、バースト
転送モードを利用することによりより高速にデータ転送
を行なうことができる。
【0020】また、前記CPUローカル・バス13とP
CIバス28との間には、HOST−PCIブリッジ回
路14が接続されており、CPU10はこのHOST−
PCIブリッジ回路14を介してPCIバス28に接続
されている波形メモリ24などにアクセスすることがで
きる。前記PCIバス28のバスアービターは、例えば
このHOST−PCIブリッジ回路14内に設けられて
いる。
【0021】前記HOST−PCIブリッジ回路14、
MIDIインタフェース回路17、SCSIインタフェ
ース回路19、I/0制御回路23および音源25など
は、いずれもバスマスターとなることができ、PCIバ
ス28を使用するときには、バスアービターに対してバ
ス使用要求を出し、バス使用許可を得てから当該データ
の転送を行なう。SCSIインタフェース回路19を例
にとれば、CPU10の指示に応じて接続されたハード
ディスク装置などのデバイスとの間でデータの授受を行
ない、バスマスターとして、例えば波形サンプルデータ
をハードディスクから波形メモリ24に転送したり、逆
に波形メモリ24からハードディスクに保存したりす
る。
【0022】また、前記音源部25は、1DACサイク
ルを2つに分割し、それぞれのタイミング、すなわち、
1DACサイクルの1/2の周期(この実施の形態にお
いては100KHz)毎に前記波形メモリ24の読み出
しが必要であるか否かを判定するようにしている。そし
て、波形メモリ24からの波形サンプルの読み出しが必
要な場合には、バスアービターにPCIバス28の使用
要求を出力し、使用権を獲得してから波形メモリ24を
アクセスすることとなる。
【0023】以上の構成は音源部を除けば一般のパーソ
ナルコンピュータとほぼ同一の構成であり、本発明はP
CIバス上に波形メモリと音源部とを備えたパーソナル
コンピュータにおいても実現することができる。なお、
この場合には、フラッシュメモリ11に代えてRAMを
主メモリとして用い、パーソナルコンピュータ用のOS
を使用することとなる。また、PCIバスの高速性を生
かして、レイテンシーの短縮、リアルタイム性の向上を
実現するために、いずれの場合であっても、複数の入出
力処理を並列に実行することのできるプリエンプティブ
なマルチタスクOSを使用することが望ましい。
【0024】図2に前記音源部25の構成を示す。この
図において、31は、前記CPU10から送出される指
定情報、例えば、割当チャンネル、波形メモリの読み出
しピッチ(Fナンバ)、波形メモリ読み出し区間、エン
ベロープおよびエフェクト用の係数などの情報がセット
される制御レジスタである。32は波形読出補間回路で
あり、その詳細については後述するが、前記波形メモリ
24から波形サンプルを読み出し、所定の補間演算を実
行して補間された楽音波形サンプルを出力するものであ
る。33は前記制御レジスタ31から供給されるパラメ
ータに基づいて、前記波形読出補間回路32から出力さ
れる各発音チャンネルの楽音波形サンプルに対してエン
ベロープを付与する音量変化制御回路、34は前記音量
変化制御回路33から出力されるエンベロープの付与さ
れた各発音チャンネル対応の楽音波形サンプルをチャン
ネル累算するチャンネル累算器、35は前記チャンネル
累算器34の出力に対し前記制御レジスタ31から供給
されるエフェクト用の係数を用いて所定のエフェクト処
理を施す効果回路35である。この効果回路35から出
力される楽音波形サンプルは1サンプリング周期ごとに
DAC26に出力され、アナログ信号に変換されてサウ
ンドシステム27から楽音として放音されることとな
る。
【0025】また、36はこの音源部25の動作の基準
となるシステムクロックφを発生して各部に供給するシ
ステムクロック発生回路、37は前記システムクロック
発生回路36の出力φを入力としてチャンネルカウント
値CHCを出力するチャンネルカウンタである。音源部
25はこのシステムクロックφおよびチャンネルカウン
ト値CHCに基づき、1サンプリング周期(1DACサ
イクル)を64の発音チャンネルに対応するタイムスロ
ットに分割し、該各時分割チャンネルタイミングにおい
てそれぞれ対応する発音チャンネルの処理を実行するよ
うに制御される。
【0026】前記波形読出補間回路32は、大別して
(1)処理A、(2)処理B、(3)取り込み処理およ
び(4)補間処理の4つの処理を行なうものである。こ
こで(1)処理Aは、時分割チャンネルタイミングにし
たがって、各チャンネルの波形メモリの読出アドレスを
生成するとともに、その結果から当該チャンネルについ
て波形メモリから波形サンプルを読み出すことことが必
要であるか否かを判断する処理、(2)処理Bは波形サ
ンプルを読み出すことが必要であるときに、前記PCI
バス28の使用権を獲得して、時分割チャンネルタイミ
ングとは異なるタイミングで読出アドレスWMAを波形
メモリ24に送出する処理、(3)取り込み処理は前記
処理Bにおいて送出されたアドレスにしたがって読み出
された波形サンプルを波形バッファに書き込む処理、
(4)補間処理は時分割チャンネルタイミングにしたが
って、波形バッファに格納されている波形サンプルを用
いて、4点補間演算を行なって補間済み楽音波形サンプ
ルを生成出力する処理である。
【0027】図3はこの波形読出補間回路32の構成を
示す図であり、38は前記処理Aを実行する処理A演算
回路であり、ここで発生された各チャンネルの読出アド
レスはアドレスRAM(ARAM)39に保持され、ま
た、波形サンプルの読出が必要であると判断されたチャ
ンネルのチャンネル番号は制御RAM41に記憶され
る。42は前記制御RAM41に記憶されているチャン
ネル番号情報およびARAM39に記憶されている読出
アドレスに基づいて前記処理Bを実行する処理B演算回
路、43は前記取り込み処理を実行する取り込み処理回
路、44は各チャンネルあたり8サンプルずつの波形サ
ンプルを格納する容量を有するデュアルポートメモリ、
45は各チャンネルあたり4サンプルの波形サンプルデ
ータを格納する容量を有するバッファであり、このデュ
アルポートメモリ44とバッファ45により各チャンネ
ルあたり合計12サンプル分の容量を有する波形バッフ
ァメモリが構成されている。また、46は、前記処理B
演算回路から供給される読出アドレスの小数部FRAC
および整数部の下位3ビットINT3に応じて、前記デ
ュアルポートメモリ44およびバッファ45に格納され
ている波形サンプルを用いて前記補間演算を実行する補
間回路である。
【0028】前記アドレスRAM(ARAM)39の構
成を図4に示す。この図に示すように、ARAM39に
は第0チャンネル〜第63チャンネルの各発音チャンネ
ルに対応した記憶領域が設けられており、各領域は、そ
れぞれ、前述したようにして算出された当該チャンネル
における波形メモリの読出アドレスの整数部上位18ビ
ットが格納されるアドレス上位部ADHとアドレスの整
数部下位9ビット+アドレスの小数部9ビットからなる
アドレス下位部ADLからなっている。このアドレス整
数部の27ビットが波形メモリ24のアドレスと対応し
ており、アドレス整数部の1つの値に対応して波形メモ
リ24の波形サンプルが1つ存在している。また、9ビ
ットのアドレス小数部はそれよりも細かい単位を示して
おり、何点か(この実施の形態においては4点)の波形
サンプルを用いた補間処理においてこのアドレス小数部
を含むアドレスに対応する波形サンプルが算出される。
【0029】図5は前記制御RAM41の構成を示す図
である。前述したように本発明においては、波形読出補
間回路32内に設けられた波形バッファ(デュアルポー
トメモリ44およびバッファ45)の中に各チャンネル
ごとに12個の波形サンプルが記憶されており、この波
形バッファ中に格納されている波形サンプルについては
前記波形メモリ24から再度読み出す必要はない。した
がって、前記処理Aにおいて生成された読出アドレスに
対応する補間演算に使用する波形サンプルが前記波形バ
ッファに格納されていないときにのみ、当該時分割チャ
ンネルタイミングにおいて波形メモリ24から波形サン
プルを読み出すことが必要となる。この波形サンプルの
読出が必要な発音チャンネルのチャンネル番号が前記処
理A演算回路38によりこの制御RAM41に書き込ま
れる。
【0030】前記波形読出補間回路32内には書込ポイ
ンタおよび読出ポインタが備えられており、前記処理A
において波形サンプルの読出が必要なチャンネル番号が
制御RAM41に書き込まれたときは書込ポインタが進
められ、前記処理Bにおいて制御RAM41からチャン
ネル番号が読み出されたときに読出ポインタが進められ
る。制御RAM41はリング状に使用するようになされ
ており、書込ポインタまたは読出ポインタが制御RAM
41の一方の端に至った場合、その次のポインタの位置
は制御RAM41の他方の端になる。また、読出ポイン
タの指す位置が書き込みポインタの指す位置を追いかけ
るように書き込みおよび読み出しが行なわれるが、書込
ポインタが読出ポインタを追い越すことがない程度の大
きさの領域が制御RAM41のための領域として確保さ
れている。なお、この書込ポインタおよび読出ポインタ
は、それぞれ、前半処理用のものと後半処理用のものと
が別々に設けられており、以下、単に書込ポインタある
いは読出ポインタと呼ぶときは、そのとき前半処理であ
れば前半処理用のもの、後半処理であれば後半処理用の
ものを指すものとする。
【0031】図6は前記波形バッファを構成するデュア
ルポートメモリ44とバッファ45の構成を示す図であ
る。図示するようにバッファ45は各発音チャンネルご
とに4つのサンプル格納領域S1〜S4を有しており、
デュアルポートメモリ44は各発音チャンネルごとに8
つのサンプル格納領域S5〜S12を有している。した
がって、これらデュアルポートメモリ44およびバッフ
ァ45により各チャンネルごとに12の波形サンプルを
格納する領域S1〜S12を有する波形バッファが構成
される。
【0032】次に、この波形読出補間回路32において
実行される各処理について詳細に説明する。図7は、波
形読出補間回路32において実行される(1)処理A、
(2)処理B、(3)取り込み処理および(4)補間処
理の処理タイミングを示す図である。前述したように音
源部25における各処理の区間は前半と後半とに分けら
れており、前半で第0〜第31チャンネルの処理が行な
われ、後半で第32〜第63チャンネルの処理が行なわ
れるようになされている。
【0033】図示するように、1サンプリング周期を2
分した前半部分において前半チャンネル(第0〜第31
チャンネル)に対応する処理A前半区間701が実行さ
れ、後半部分において後半チャンネル(第32〜第63
チャンネル)に対応する処理A後半区間705が実行さ
れる。そして、第0〜第31チャンネルの処理B前半区
間702は、当該チャンネルの処理Aを行なう処理A前
半区間701が終了した直後から開始され、第32〜第
63チャンネルの処理Bを行なう処理B後半区間706
は当該チャンネルの処理Aを行なう処理A後半区間70
5が終了した直後から開始される。
【0034】取り込み処理は処理Bによるアドレスの送
出のタイミングに対応しているため、前記処理Bと同一
のタイミングで実行される。すなわち、前記処理B前半
区間702と同一のタイミングで取り込み前半区間70
3が実行され、前記処理B後半区間706と同一タイミ
ングで取り込み後半区間707が実行される。
【0035】図8は、前記図7における各処理の前半処
理中のチャンネルの様子を示す図である。この図の「処
理A前半ch」は図7における処理A前半処理を行なう
区間701におけるチャンネルの様子を示し、「処理B
前半ch」は図7における処理B前半処理区間702に
おけるチャンネルの様子、「取り込み前半ch」は図7
における取り込み前半区間703におけるチャンネルの
様子、「補間前半ch」は図7における補間処理前半区
間704における各チャンネルの様子を示す。なお、こ
の図8においては、各チャンネルタイミングを縦に並べ
て揃えて記載しているが、実際には各処理のタイミング
は図7に示したようなタイミング関係になっていること
に注意されたい。
【0036】図7および図8から分かるように、処理A
および補間処理は1サンプリング周期を64に等分割し
た時分割チャンネルタイミングにしたがって順番にチャ
ンネルごとに処理が行なわれている。一方、処理Bおよ
び取り込み処理は、前記時分割タイミングとは独立した
タイミングで実行されており、前述したようにこの実施
の形態においては、1サンプリング周期が50KHzと
され、PCIバス28のバスクロックが32MHzとさ
れているため、前記時分割チャンネルタイミングにおい
て1チャンネル分の処理を行なう時間幅で10バスクロ
ック分の処理を実行することができる。そして、この処
理Bおよび取り込み処理は、前記時分割チャンネルタイ
ミングとは独立に当該処理区間においてアクセスが必要
なチャンネルについて前詰めで連続して処理するように
なされている。
【0037】例えば、前記図7および図8において、処
理A前半区間701においては処理A演算回路38によ
り第0〜第31チャンネルについて時分割チャンネルタ
イミングにしたがって順番に各チャンネルのアドレスが
生成され、この区間701の終了時点では前記ARAM
39に第0〜第31チャンネルに関する読出アドレスが
格納されている。
【0038】次に処理Bの前半区間702において、処
理B演算回路42により、時分割チャンネルタイミング
とは異なるタイミングで第2チャンネルと第5チャンネ
ルのアドレスの送出が行なわれている。この図8におい
ては、第2チャンネルと第5チャンネルのみが波形メモ
リ24からの波形サンプルの読み出しが必要である場合
の例を示している。その他のチャンネルは発音していな
いか、既に読み出してデュアルポートメモリ44あるい
はバッファ45に格納されている波形サンプルを使用し
て補間演算を実行することができるチャンネルである。
なお、発音していないチャンネルとは、音量レベルの下
げられたチャンネルであり、このチャンネルに関しては
処理Bにおける波形メモリのアクセスタイミングを使用
しないように制御がなされている。
【0039】図8に示したように処理B前半ch702
の第1クロックのタイミングで、第2チャンネルのアド
レスが送出されると、それに引き続く第2〜第5の4ク
ロックで、前記送出されたアドレスを先頭とする32ビ
ット幅のデータが連続して読み出される(バースト読み
出し)。また、それに引き続いて第6クロックのタイミ
ングで第5チャンネルの読み出しアドレスが送出される
と、第7〜第10クロックタイミングで、第5チャンネ
ルの読み出しアドレスに対応する32ビット幅のデータ
が連続して読み出される。したがって、取り込み前半区
間703において、波形メモリ24からバースト読出さ
れた第2チャンネルの波形サンプル(4ワード=8サン
プル)と第5チャンネルの波形サンプル(8サンプル)
が順次取り込み回路43により取り込まれ、デュアルポ
ートメモリ44の対応するチャンネルの領域に格納され
る。
【0040】補間前半区間704においては、時分割チ
ャンネルタイミングにしたがって、補間回路46により
前記デュアルポートメモリ44およびバッファ45に格
納されている波形サンプルデータを用いて第0〜第31
チャンネルについての補間演算処理が行なわれる。ある
チャンネルについて補間を行なう時点で、そのために必
要な当該チャンネルの波形サンプルデータは前記デュア
ルポートメモリ44あるいはバッファ45に用意されて
いるようになされている。
【0041】以上のようにして、第0〜第31チャンネ
ルの楽音波形データが生成される。また、後半の区間を
用いて処理される第32〜第63チャンネルについても
同様に処理される。
【0042】このように処理B演算回路42における処
理Bおよび取り込み処理が時分割チャンネルとは異なる
タイミングで実行されることにより、空きタイムスロッ
トが出現する。図8における区間702および703中
の「−」はいずれのチャンネルの波形サンプル読み出し
にも使用されていない空きタイムスロットであることを
示しており、この空きタイムスロットの区間は任意に使
用することが可能である。この空きタイムスロット区間
を使用してCPU10はPCIバス28に接続されてい
る装置にアクセスすることができ、例えば波形メモリ2
4に波形データを書き込むことや波形データの編集処理
を実行したり、MIDIインタフェース回路17を介し
てMIDIデータを入出力したりすることができる。ま
た、波形メモリ24のリフレッシュ動作を行なうことも
できる。
【0043】次に、前記4つの処理、(1)処理A、
(2)処理B、(3)取り込み処理および(4)補間処
理についてさらに説明する。まず、処理A演算回路38
において実行される(1)処理Aについて詳しく説明す
る。あるチャンネルでの楽音の発音開始が指示される
と、当該チャンネルに関する処理Aが処理A演算回路3
8において開始される。前記図7および図8で説明した
ように、処理Aは時分割チャンネルタイミングで実行さ
れる。まず、1番始めの当該チャンネルのタイムスロッ
ト(楽音の発音開始を指示するノートオン信号の立上り
直後)において、処理A演算回路38は当該チャンネル
に対応するARAM39のアドレス格納領域(ADHと
ADL)を初期化する。この初期値は、読み出すべき波
形データの先頭アドレスであり、CPU10により制御
レジスタ31を介して指定されるものである。次回以降
の当該チャンネルのタイムスロットにおいて、処理A演
算回路38は当該チャンネルに対応するARAM39の
アドレス格納領域の現アドレス値に当該チャンネルにお
けるアドレスの進み値(Fナンバ)であるピッチPITCH
を加算する。なお、このピッチ情報はCPU10により
制御レジスタ31を介して指定される。
【0044】この加算の結果はARAM39のアドレス
格納領域ADHおよびADLに格納されるとともに、該
加算の結果アドレスの整数部の下位の3ビット目から下
位4ビット目より上位への桁上がりが発生したか否かが
判定される。この判定の結果桁上がりがあるときには、
前記波形メモリ24から波形サンプルデータを読み出す
ことが必要であるため、当該チャンネル番号を前記制御
RAM41に書き込む。一方、下位の3ビット目から下
位4ビット目より上位への桁上がりがないときには、波
形メモリ24から波形サンプルを読み出す必要がないた
め、制御RAM41に当該チャンネル番号が書き込まれ
ることはない。
【0045】このように、更新されたアドレスの下位の
3ビット目から下位4ビット目よりも上位への桁上がり
の有無により、波形メモリ24へのアクセスの必要性を
判定するのは、次のような理由による。すなわち、前述
したように、本実施の形態においては、1波形サンプル
は16ビットのデータとされている。一方、PCIバス
28は32ビットのデータ幅を有しており、また、処理
B演算回路は図8に示すように一度のアクセスで4ワー
ドのデータを連続して読み出すことのできるバーストモ
ード読み出しを行なうものである。したがって、波形メ
モリ24に対する一度のアクセスにより取り込み回路4
3を介して8サンプルの波形データが読み出されること
となる。したがって、前述したように下位3ビットを除
いた上位アドレスに変更がある場合にのみ波形メモリ2
4から新たな波形サンプルデータを読み出せばよい。
【0046】なお、波形メモリ24に格納されている波
形データは、アタック部とそれに引き続くループ部とか
ら構成され、波形サンプルのアクセスはアタック部の先
頭から開始され、アタック部の読み出しが終わるとルー
プ部に入る。以後は必要に応じてループ部の波形サンプ
ルを繰り返し読み出す。そのため、現アドレス値がルー
プ部最終位置に至ったときは、ループ部の先頭付近に戻
す必要がある。処理A演算回路38は上述のアドレスを
作成する処理中でこのようなアドレスをループ部先頭付
近に戻す処理も行なっている。
【0047】以上のように、当該チャンネルのタイムス
ロットでARAM39上の現アドレスにピッチ(Fナン
バ)を累算していき、当該チャンネルに関する順次アド
レスを得る。処理Aでは、上述した各チャンネルのアド
レスを生成する処理の他、前述したような制御RAM4
1内の書き込み位置を指すポインタを1つ進め、波形メ
モリ24から波形サンプルを読み出すことの必要なチャ
ンネルのチャンネル番号を書き込む処理を実行する。
【0048】次に、処理B演算回路42において実行さ
れる(2)処理Bについて説明する。前述したように処
理B演算回路42は、時分割チャンネルタイミングとは
独立のタイミングで処理B、すなわちバスアービタに対
しPCIバス28の使用要求を出力し、使用権を獲得し
てから波形メモリ24に対してバースト読み出しの先頭
アドレスを送出する処理を実行する。図8において説明
したように、時分割チャンネルタイミングの1チャンネ
ル当たりの時間は10バスクロックに相当し、16サン
プルの波形データを読み出すことができる。処理Bの波
形メモリアクセス処理は、時分割チャンネルタイミング
とは独立に、波形サンプルの読み出しが必要なチャンネ
ルについて順次連続して行なわれる。読み出しが必要な
チャンネルのチャンネル番号は上述した処理Aにおいて
決定され、ARAM39に格納されている。なお、バス
アービタに使用要求を出した後、使用権が獲得できるま
でに時間遅れがある場合には、その遅れに従って、1バ
スクロック単位でアクセス処理を遅らせるようになって
いる。
【0049】この処理Bが開始されると、まず、図5に
示す制御RAM41内の読み出し位置を示す読み出しポ
インタの値が、当該処理(前半処理または後半処理)の
終了時点における書き込みポインタの値と一致している
か否かが判定される。例えば、当該処理Bが図7におけ
る処理B前半区間702の処理であるときは、読み出し
ポインタの値と処理A前半区間701の終了時点の書き
込みポインタの値とを比較する。これが一致していると
きには、その処理Bの区間において読み出すべき波形サ
ンプルは無いということであるから、この処理Bの区間
において波形メモリ24の読出処理は行なわれない。
【0050】読み出しポインタの値が前記当該書き込み
ポインタの値と一致していないときには、波形メモリ2
4にアクセスして波形サンプルデータを読み出すことが
必要であるから、バスアービタに対してバス使用要求が
出力される。そして、読み出しポインタを1つ進めて、
制御RAM41の対応する位置に記憶されているチャン
ネル番号を読み出す。具体的には、ARAM39内の対
応するチャンネルのアドレス情報ADHとADLから当
該チャンネルの現アドレス整数部の上位24ビットを読
み出して該上位24ビットに下位2ビットの”00”を
付加し、これに制御レジスタ31にセットされている相
対アドレスを絶対アドレスに変換するためのアドレス基
準値WAとを加算して、読み出しアドレスWMAとして
波形メモリ24に送出する。
【0051】前記図8に示したように、制御RAM41
に、波形サンプルの読み出しが必要なチャンネル番号と
して、第2チャンネルと第5チャンネルが記憶されてい
るものとすれば、当該バスクロックタイミングの最初の
タイミングにおいて、第2チャンネルの読み出し先頭ア
ドレスWMAが送出され、第5番目のクロックタイミン
グで第5チャンネルの読み出し先頭アドレスWMAが送
出される。このように制御RAM41の読み出しポイン
タを進めながら必要なチャンネルの読み出しアドレスを
送出していく。そして、読み出しポインタの値が前記書
き込みポインタの値に一致したときはアドレスの送出を
終了する。
【0052】次に、前記取り込み回路43において実行
される(3)取り込み処理について説明する。図示する
ように取り込み回路43には前記処理B演算回路42か
らチャンネル番号chNと読み出しクロックrclkが
供給されており、取り込み回路43はこれらの信号に基
づいて、前記処理B演算回路42により送出された読み
出しアドレスWMAによりバースト読み出しされた波形
サンプルを取り込み、前記デュアルポートメモリ44に
書き込む。この取り込みの結果、デュアルポートメモリ
44の当該チャンネルに対応する8サンプル分の領域は
すべて、新しい波形サンプルにより書き替えられること
となる。
【0053】(4)補間回路46により実行される補間
処理について説明する。補間回路46は時分割チャンネ
ルタイミングに従ってチャンネルごとに補間処理を実行
する。1つのチャンネルについての補間処理は次の通り
である。
【0054】前記図6に示したように、バッファ45に
は4つの波形サンプルS1〜S4が格納されており、デ
ュアルポートメモリ44にはS5〜S12の8つの波形
サンプルが格納されている。そして、バッファ45に格
納されている波形サンプルS1〜S4は、後述するよう
に、デュアルポートメモリ44に新しい波形サンプルが
書き込まれる前に、デュアルポートメモリ44のS9〜
S12の位置に格納されていた波形サンプルが転送され
たものであり、バッファ45に格納されている波形サン
プルS1〜S4とデュアルポートメモリ44に格納され
ている波形サンプルS5〜S12は連続した波形サンプ
ルとなっている。
【0055】図示するように、前記処理B演算回路42
から補間回路46にアドレスの小数部FRACとアドレ
スの整数部の下位3ビットINT3が供給されている。
補間回路46は、このアドレス整数部の下位3ビットI
NT3に応じて、前記デュアルポートメモリ44および
バッファ45から対応する4つの波形サンプルを読み出
し、該読み出した各波形サンプルに前記アドレスの小数
部FRACに基づいて決定される補間係数を乗算して累
算することにより、4点補間を行ない、補間済みの楽音
波形サンプルを生成する。
【0056】前記図6を参照して、各タイミングにおけ
る補間演算において使用する波形サンプルについて説明
する。図6の記載中デュアルポートメモリ44およびバ
ッファ45の右側に記載した数字0〜7はアドレス整数
部下位3ビットINT3の値を示したものであり、図示
するように、INT3=0のときは、補間回路46はバ
ッファ45中の波形サンプルS2、S3、S4とデュア
ルポートメモリ44中の波形サンプルS5の4個の波形
サンプルを使用して補間演算を実行し、また、INT3
=1のときは、波形サンプルS3、S4、S5およびS
6を使用し、以下同様に、INT3=7のときは波形サ
ンプルS9〜S12を使用してそれぞれ補間演算を実行
するようになされている。
【0057】このようにして、INT3の値に応じて決
定される波形サンプルを使用して補間演算を行なうので
あるが、INT3=3を越えたときには、バッファ45
中に格納されている波形サンプルS1〜S4は使用され
なくなる。そこで、INT3=3となったときに、デュ
アルポートメモリ44中の波形サンプルS9〜S12を
バッファ45中に書き込んでおく。このようにすること
により、アドレスの下位3ビットより上位への桁上がり
が発生して前述したように波形メモリ24からバースト
読出しされた8個の新しい波形サンプルによりデュアル
ポートメモリ46が更新されたときに、S9〜S12の
位置に格納されていた波形サンプルを退避させておき、
次のINT3=0〜2のときにおける補間演算に使用す
ることができるようにしておく。
【0058】また、前述したように、処理Aで現在のア
ドレスにFナンバを加算して新たなアドレスを生成した
ときに、アドレスの下位3ビット目から下位4ビット目
よりも上位ビットへの桁上がりが発生していれば、その
直後に実行される前記処理Bにおいて波形メモリへのア
クセスのための処理が実行されることになる。
【0059】このように、本発明においては、データ幅
が複数の波形サンプルに対応する高速バスに波形メモリ
を接続しているために、1度の波形メモリへのアクセス
により複数の波形サンプルを同時に読み出すことが可能
となる。また、読み出された波形サンプルを波形バッフ
ァに一時記憶しているために、該波形バッファに記憶さ
れている波形サンプルについては波形メモリから読み出
すことが不要となる。さらに、バースト読み出しを行う
ことにより、一度のアクセスで連続する8個の波形サン
プルデータを読み出し、波形バッファに記憶することが
できるので、波形メモリへのアクセス回数を大幅に減少
させることが可能となる。
【0060】なお、上述した実施の形態においては、デ
ュアルポートメモリ44およびバッファ45に全64チ
ャンネル分の波形サンプルを記憶する領域を設けている
が、必ずしもこれに限られることはなく、一部のチャン
ネル分の波形バッファを設けるようにしてもよい。例え
ば、32チャンネル分の波形バッファを設け、残りの3
2チャンネルについては従来と同様に各時分割チャンネ
ルタイミングにおいて波形サンプルを読み出すようにし
た場合であっても、従来技術のように各時分割チャンネ
ルタイミング毎に補間演算に用いる4つの波形サンプル
を読み出す場合と比較して、波形メモリへのアクセス回
数を大幅に低減することが可能となる。
【0061】次に、前記フラッシュメモリ11に格納さ
れているこの楽音発生装置の基本動作プログラムによる
処理の概要について図9のフローチャートを参照して説
明する。このプログラムが起動されると、まず、レジス
タエリアの確保などの初期設定が実行(S10)され、
初期表示画面を表示(S11)したのち、何らかの起動
要因(トリガ)があるまで、S12、S13で待機す
る。起動要因が発生した場合には、その起動要因をS1
4で判断して対応する処理動作を実行する。起動要因と
しては、(1)入力バッファにMIDIデータが書き込
まれた場合、(2)波形生成演算のためのトリガの発
生、(3)SCSIインタフェース回路からの割込の発
生、(4)その他パネルやウインドウ画面からのスイッ
チイベントの発生、(5)波形エディットや自動演奏の
実行などのその他の要因、および、(6)終了要求の発
生の6種類の要因があり、それぞれの要因に応じて、M
IDI処理(S15)、ソフト音源処理(S17)、S
CSI処理(S19)、スイッチイベント処理(S2
1)、その他処理(S23)および終了処理(S25)
が実行される。
【0062】MIDI処理(S15)は、前記MIDI
インターフェース回路17からのMIDI信号受信割込
などにより起動される。MIDI処理では、CPUは、
まず、PCIバスの使用権を獲得して、受信したMID
IデータをMIDIインターフェースからRAM12に
取り込み、更に、取り込まれたMIDIデータに対応し
た処理を行う。例えばノートオンが受信されたときに
は、発音チャンネル割当、音色データの準備、等を行っ
た後、再び、PCIバスの使用権を獲得し、音源部25
の割り当てたチャンネルの制御レジスタの設定、同チャ
ンネルに発音開始指示(ノートオン)の送出等の処理を
行う。なお、後述するソフト音源で発音を行う場合、ソ
フト音源の制御レジスタはRAM12の中にあるので、
PCIバス使用権の2回目の獲得は必要ない。
【0063】スイッチイベント処理(S21)は前記ス
イッチ手段22からのスイッチイベントの発生により起
動される。スイッチイベント処理において、CPUは、
まず、PCIバスの使用権を確保し、I/O制御回路2
3をアクセスして、何れのスイッチイベントが発生した
のか確認し、操作のあったスイッチに対応した処理を実
行する。例えば、波形選択、波形エディット、ハードデ
ィスクの制御、サンプリング処理、自動演奏のスタート
/ストップ制御、ソフト音源の起動/終了などを実行す
る処理である。
【0064】ソフト音源処理(S17)は、RAM12
中の制御レジスタのデータに基づいて、音源部25の代
わりに、CPUが演算により楽音波形サンプルを生成す
る処理であり、波形メモリに格納されていない音色の波
形サンプルの合成や異なる原理に基づく音源による楽音
の発生をシミュレートする処理である。本実施例でソフ
ト音源を起動した場合、波形メモリを再生バッファとし
て使用する。即ち、ソフト音源処理で過去に生成した複
数波形サンプルが、波形メモリのバッファエリアに記憶
されており、音源部25は、何れかのチャンネルを使用
して前記バッファエリアの波形を読み出し、再生するよ
うに設定されている。そして、バッファエリアに記憶さ
れたサンプルの内の未再生分が所定量以下に減少した
ら、先述した波形生成演算のトリガが発生し、該トリガ
に応じて起動されたソフト音源処理では、RAM12上
でバッファエリアに補充するための波形サンプルを生成
した後、PCIバス使用権を獲得して、生成した波形サ
ンプルを波形メモリ24のバッファエリアに転送する。
この方法によれば、ソフト音源による波形サンプルの作
成はローカルバス上で行い、完成した波形のバッファエ
リアへの転送時のみ、PCIバスを使用するので、処理
が高速であると共に、PCIバスの使用に無駄がない。
【0065】SCSI処理(S19)はSCSIインタ
ーフェース回路19からの割込信号により起動され、外
部記憶装置20とのデータの入出力を実行する処理であ
る。SCSIインターフェースが使用されるのは、主
に、SCSIバスに接続されたハードディスク等の外部
記憶回路と波形メモリ24ないしRAM12間のデータ
転送である。例えば、前記スイッチ手段22で、ハード
ディスクから波形RAMへの波形サンプル転送が指示さ
れた場合、CPUは前記スイッチイベント処理により、
PCIバスの使用権を獲得し、SCSIインターフェー
スを通じてハードディスクの動作制御をすると共に、波
形メモリ24内に書き込みエリアを確保し、SCSIイ
ンターフェース内にあるデータ転送回路の設定を行う。
その後、SCSIインターフェースは、ハードディスク
から所定量のサンプルを受信する毎にPCIバスの使用
権を獲得し、該設定に従って、受信した波形サンプル
を、順次前記書き込みエリアに書き込んでいく。SCS
Iインターフェースは、書き込みエリアが終了した、等
の新たな制御が必要になった場合は、CPUに対して割
込をかけ、前記SCSI処理(S19)により、新たな
書き込みエリアの確保等の対応処理が実行される。
【0066】前記スイッチ手段22により、サンプリン
グのスタートが指示された場合、CPUは前記スイッチ
イベント処理により、PCIバスの使用権を獲得し、波
形メモリ24内にバッファエリアを設定すると共に、A
DC15のサンプリング周波数、内部データ書込回路の
設定等を行う。続いて、動作を開始したADC15は、
サンプリング周期毎にPCIバスの使用権を獲得し、デ
ジタル化された入力波形のサンプルを前記バッファエリ
アに書き込む。
【0067】前記スイッチ手段22により波形エディッ
トが指定された場合、CPUは前記スイッチイベント処
理により、まず、PCIバスの使用権を確保して、エデ
ィットする波形サンプルを波形メモリ24からRAM1
2へ転送し、RAM12上で指定された波形エディット
の処理を実行した後、処理後の波形サンプルを波形メモ
リ24に転送する。ここで、マルチタスクの応答性を損
なわないようにするため、波形エディット処理は複数の
部分処理に分割され、各部分がその他処理(S23)と
して実行される。また、音源25で読み出し中の波形に
波形エディットを行うようにしたり、波形エディットの
結果の波形を、順次、音源25が次に読み出すべき波形
として波形メモリに書き込むようにすることもできる。
【0068】前記スイッチ手段22により、自動演奏の
スタートが指示された場合、CPUは前記スイッチイベ
ント処理により、PCIバスの使用権を獲得し、外部記
憶装置から自動演奏データをRAM12に取り込むと共
に、RAM12に取り込まれた自動演奏データに基づく
自動演奏をスタートする。その後、イベントタイミング
でその他処理(S23)が起動され、対応するMIDI
イベントが再生される。再生された該MIDIイベント
に応じて、前記MIDI処理(S15)が起動され、上
述した処理が実行される。
【0069】前記スイッチ手段22により電子楽器動作
の終了が指示された場合には、CPUは、終了処理(S
25)として設定データの退避やレジスタのクリアなど
の処理を実行し、この処理が終了したのちS26におい
て画面を消去した後動作を終える。
【0070】以上に見られるように、本実施の形態で
は、CPU10、ADC16、SCSIインターフェー
ス19、音源25等が、PCIバスの使用権を獲得し動
作を行うようになっている。つまり、音源によるPCI
バスの占有時間/回数が減少すれば、それだけ、音源以
外のこれら装置のアクセス速度を改善することができ
る。
【0071】本実施の形態では、CPU10、音源25
が共にPCIバスに接続され、同バスに接続された波形
メモリ24にアクセスするようになっている。複数チャ
ンネル動作を行う波形メモリ音源で、波形メモリに対し
てCPUがこれだけ高速にアクセスできるものは、過去
に例がない。この構成を採ることにより、波形メモリに
対してソフト音源からの波形を供給したり、音源25で
読み出し中の波形サンプルのリアルタイムエディットが
できるようになった。
【0072】また、「読出手段」「生成手段」等の「〜
手段」を、本実施の形態ではそれぞれハードウェアによ
る「読出回路」「生成回路」等で実現しているが、CP
UやDSPのソフトウェアによる「読出処理」「生成処
理」等で置き換えることが可能である。
【0073】さらに、前記実施の形態においては、波形
メモリは各サンプルごとにアドレスを有するものとして
いるが、このようにする必要はなく、複数サンプルを単
位として波形サンプルを記憶していればよい。さらにま
た、バッファメモリのサイズは、前記実施の形態におい
ては各チャンネル当たり12サンプルであったが、これ
は、楽音生成のやり方に応じて適宜増減することができ
る。ただし、読出しの単位である8サンプル以上の容量
がある方が効率的である。本発明のように楽音生成でn
点補間を行う場合、最低限(読出し単位サンプル数+n
−1)サンプル分の容量のバッファを用意することが望
ましい。また、読み出しの単位も、8サンプルずつに限
る必要はない。読み出し単位のサンプル数を増やせば、
バッファの容量も増えるが、それに応じた分だけ波形メ
モリのアクセス回数を減らすことができることとなる。
【0074】さらにまた、前記請求項6における楽音位
相の上位部、中位部、下位部は、それぞれ前記実施の形
態におけるARAM39に記憶されるアドレス整数部の
上位24ビット、同下位3ビット、アドレス小数部に対
応しているが、必ずしもこのようにアドレスをビット分
けすることにより上位部、中位部、下位部を作成する必
要はない。例えば、読み出しの単位を12サンプルずつ
とした場合、アドレス整数部を12で割った商が上位
部、余りが中位部となる。
【0075】なお、上述した実施の形態においてはPC
Iバスを使用するものとして説明したが、これに限られ
ることはなく、64ビットに拡張されたPCIバス、V
L(VESA(Video Electronics Standard Association) L
ocal)バス、EISA(extended industrial standard
architecture )バス等の他の高速バスを使用する場合
も、全く同様に本発明を適用することができることは明
らかである。
【0076】
【発明の効果】本発明は、以上のように構成されている
ので、波形メモリへのアクセス回数を少なくすることが
でき、楽音発生処理と並行して他の処理を実行すること
が可能となる。また、音源部によるバス要求回数を低減
することができ、バスの切替回数を少なくすることがで
きる。
【図面の簡単な説明】
【図1】 本発明の楽音発生装置の一実施の形態の構成
を示すブロック図である。
【図2】 本発明における音源部の構成を示すブロック
図である。
【図3】 本発明における波形読出補間回路の構成を示
すブロック図である。
【図4】 本発明におけるアドレスRAMの構成を示す
図である。
【図5】 本発明における制御RAMの構成を示す図で
ある。
【図6】 本発明におけるデュアルポートメモリおよび
バッファの構成を示す図である。
【図7】 本発明の波形読出補間回路における処理のタ
イミングを示す図である。
【図8】 本発明の波形読出補間回路の動作を説明する
ための図である。
【図9】 本発明の楽音発生装置の動作プログラムの処
理を説明するためのフローチャートである。
【符号の説明】
10 CPU、11 フラッシュメモリ、12 RA
M、13 CPUローカル・バス、14 HOST−P
CIブリッジ回路、15 アナログデジタル変換器、1
6 アナログ入力端子、17 MIDIインタフェース
回路、18 MIDI端子、19 SCSIインタフェ
ース回路、20 外部記憶装置、21 表示装置、22
スイッチ、23 入出力インタフェース回路、24
波形メモリ、25 音源部、26 デジタルアナログ変
換器、27 サウンドシステム、28 PCIバス、3
1 制御レジスタ、32 波形読出補間回路、33 音
量変化制御回路、34 チャンネル累算器、35 効果
回路、36 システムクロック発生回路、37 チャン
ネルカウンタ、38 処理A演算回路、39 アドレス
RAM、41 制御RAM、42 処理B演算回路、4
3 取り込み回路、44 デュアルポートメモリ、45
バッファ、46 補間回路

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 波形サンプルに基づいてサンプリング
    周期毎に楽音波形サンプルを生成出力する楽音発生装置
    であって、 複数の前記波形サンプルに対応するデータ幅を有するバ
    スと、 前記バスに接続され、前記波形サンプルが各アドレス毎
    に複数サンプルずつ記憶される波形メモリと、 前記バスに接続され、楽音ピッチに応じた速度で進行す
    る読出アドレスにより前記波形メモリをアクセスし、前
    記複数サンプル単位で読み出す読出手段と、 前記波形メモリへの1度のアクセスにより読み出される
    前記複数サンプルを全て記憶するバッファメモリと、 前記バッファメモリに記憶された前記複数サンプルのう
    ち、必要な波形サンプルを選択的に用いて楽音波形サン
    プルを生成する生成手段とを有し、 前記読出手段は、前記生成手段における楽音生成に必要
    な波形サンプルが前記バッファメモリに存在しない場合
    にのみ、前記波形メモリへのアクセスを行うように構成
    されていることを特徴とする楽音発生装置。
  2. 【請求項2】 波形サンプルに基づいてサンプリング
    周期毎に楽音波形サンプルを生成出力する楽音発生装置
    であって、 共有バスと、 前記共有バスに接続され、前記波形サンプルが複数サン
    プルを単位として記憶される波形メモリと、 前記共有バスに接続され、前記波形メモリをアクセスし
    て前記複数サンプル単位で読み出す読出手段と、 前記読み出し手段によって読み出される前記波形サンプ
    ルを複数サンプル分記憶するバッファメモリと、 前記バッファメモリに記憶された前記複数サンプルのう
    ち、必要な波形サンプルを選択的に用いて楽音波形サン
    プルを生成する生成手段と、 前記共有バスに接続され、前記波形メモリの読み出し又
    は書き込み、ないし、前記生成手段の制御を行う処理手
    段とを有し、 前記生成手段における楽音生成に必要な波形サンプルが
    前記バッファメモリに存在しない場合にのみ、前記波形
    メモリへのアクセスを行うようになされていることを特
    徴とする楽音発生装置。
  3. 【請求項3】 前記波形メモリは、波形サンプルを各
    アドレス毎に複数サンプルずつ記憶しており、前記波形
    メモリへの1度のアクセスにより、複数サンプル分の読
    み出しがなされることを特徴とする前記請求項2記載の
    楽音発生装置。
  4. 【請求項4】 前記読出手段による前記複数サンプル
    単位の読み出しは、バースト読み出しであることを特徴
    とする前記請求項2記載の楽音発生装置。
  5. 【請求項5】 波形サンプルに基づいてサンプリング
    周期毎に複数発音チャンネル分の楽音波形サンプルを生
    成出力する楽音発生装置であって、 共有バスと、 前記共有バスに接続され、前記波形サンプルが記憶され
    る波形メモリと、 前記共有バスに接続され、前記波形メモリをアクセスし
    て前記波形サンプルを読み出す読出手段と、 前記読出手段によって読み出される前記波形サンプルを
    複数サンプル分記憶するバッファメモリと、 前記バッファメモリに記憶された前記複数サンプルのう
    ち、必要とされる波形サンプルを選択的に用いて楽音波
    形サンプルを生成する生成手段と、 前記共有バスに接続され、前記波形メモリの読み出し又
    は書き込み、ないし、前記生成手段の制御を行う処理手
    段とを有し、 前記生成手段における楽音生成に必要な波形サンプルが
    前記バッファメモリに存在しない場合には、前記波形メ
    モリへのアクセスを、波形サンプルが必要とされる複数
    チャンネル分まとめて行うようになされていることを特
    徴とする楽音発生装置。
  6. 【請求項6】 波形サンプルに基づいてサンプリング
    周期毎に楽音波形サンプルを生成出力する楽音発生装置
    であって、 共有バスと、 前記共有バスに接続され、前記波形サンプルが複数サン
    プルを単位として記憶される波形メモリと、 前記共有バスに接続され、前記波形メモリをアクセスし
    て前記複数サンプル単位で読み出す読出手段と前記読出
    手段によって読み出される前記波形サンプルを複数サン
    プル分記憶するバッファメモリと、 上位部、中位部、下位部からなる楽音位相を発生する位
    相発生手段と、 前記バッファメモリに記憶された前記複数サンプルのう
    ち、前記楽音位相の中位部により指定される波形サンプ
    ルを選択的に用いて前記楽音位相の下位部に基づく補間
    演算を実行し楽音波形サンプルを生成する生成手段と、 前記共有バスに接続され、前記波形メモリの読み出し又
    は書き込み、ないし、前記生成手段の制御を行う処理手
    段とを有し、 前記楽音位相の上位部に変化があった場合にのみ、前記
    波形メモリへのアクセスを行うようになされていること
    を特徴とする楽音発生装置。
JP18689296A 1996-06-28 1996-06-28 楽音発生装置 Expired - Fee Related JP3163984B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP18689296A JP3163984B2 (ja) 1996-06-28 1996-06-28 楽音発生装置
US08/882,123 US5892170A (en) 1996-06-28 1997-06-25 Musical tone generation apparatus using high-speed bus for data transfer in waveform memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18689296A JP3163984B2 (ja) 1996-06-28 1996-06-28 楽音発生装置

Publications (2)

Publication Number Publication Date
JPH1020860A true JPH1020860A (ja) 1998-01-23
JP3163984B2 JP3163984B2 (ja) 2001-05-08

Family

ID=16196519

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18689296A Expired - Fee Related JP3163984B2 (ja) 1996-06-28 1996-06-28 楽音発生装置

Country Status (2)

Country Link
US (1) US5892170A (ja)
JP (1) JP3163984B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366971B1 (en) 1998-01-09 2002-04-02 Yamaha Corporation Audio system for playback of waveform sample data
JPWO2010010646A1 (ja) * 2008-07-24 2012-01-05 パナソニック株式会社 アクセスモジュール、記憶モジュール、楽音生成システム、及びデータ書き込みモジュール

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3384290B2 (ja) * 1997-07-25 2003-03-10 ヤマハ株式会社 音源装置
JP3623379B2 (ja) * 1998-12-01 2005-02-23 富士通株式会社 マイクロプロセッサ
US6441290B2 (en) * 2000-02-01 2002-08-27 Yamaha Corporation Apparatus and method for reproducing or recording, via buffer memory, sample data supplied from storage device
JP5534388B2 (ja) 2009-03-23 2014-06-25 ヤマハ株式会社 楽音生成装置
US8183452B2 (en) 2010-03-23 2012-05-22 Yamaha Corporation Tone generation apparatus
JP5614420B2 (ja) * 2012-03-09 2014-10-29 カシオ計算機株式会社 楽音発生装置、電子楽器、プログラム及び楽音発生方法
JP5915420B2 (ja) * 2012-07-05 2016-05-11 カシオ計算機株式会社 楽音発生装置、楽音発生方法、電子楽器及びプログラム
JP2014092722A (ja) * 2012-11-05 2014-05-19 Yamaha Corp 音発生装置
JP7124371B2 (ja) * 2018-03-22 2022-08-24 カシオ計算機株式会社 電子楽器、方法及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH079590B2 (ja) * 1986-10-16 1995-02-01 株式会社河合楽器製作所 電子楽器
JPH0820872B2 (ja) * 1990-03-20 1996-03-04 ヤマハ株式会社 波形発生装置
JP2680483B2 (ja) * 1991-05-02 1997-11-19 株式会社東芝 デジタル信号処理装置
US5525748A (en) * 1992-03-10 1996-06-11 Yamaha Corporation Tone data recording and reproducing device
US5567901A (en) * 1995-01-18 1996-10-22 Ivl Technologies Ltd. Method and apparatus for changing the timbre and/or pitch of audio signals

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366971B1 (en) 1998-01-09 2002-04-02 Yamaha Corporation Audio system for playback of waveform sample data
US6553436B2 (en) 1998-01-09 2003-04-22 Yamaha Corporation Apparatus and method for playback of waveform sample data and sequence playback of waveform sample data
JPWO2010010646A1 (ja) * 2008-07-24 2012-01-05 パナソニック株式会社 アクセスモジュール、記憶モジュール、楽音生成システム、及びデータ書き込みモジュール

Also Published As

Publication number Publication date
JP3163984B2 (ja) 2001-05-08
US5892170A (en) 1999-04-06

Similar Documents

Publication Publication Date Title
US5689080A (en) Computer system and method for performing wavetable music synthesis which stores wavetable data in system memory which minimizes audio infidelity due to wavetable data access latency
US5717154A (en) Computer system and method for performing wavetable music synthesis which stores wavetable data in system memory employing a high priority I/O bus request mechanism for improved audio fidelity
JP5534388B2 (ja) 楽音生成装置
JP3163984B2 (ja) 楽音発生装置
US5763801A (en) Computer system and method for performing wavetable music synthesis which stores wavetable data in system memory
JPH07181969A (ja) コードセグメント置換装置及びそれを用いたリアルタイム信号処理システム並びにオーディオ処理システム
KR100392621B1 (ko) 악음파형생성방법및그장치
US5809342A (en) Computer system and method for generating delay-based audio effects in a wavetable music synthesizer which stores wavetable data in system memory
JP2010522359A (ja) 電子楽器デジタルインターフェースハードウェア命令セット
EP2137720A1 (en) Efficient identification of sets of audio parameters
JP4036233B2 (ja) 楽音発生装置および楽音発生方法、並びに該方法に係るプログラムを記憶した記憶媒体
JPH07121181A (ja) 音声情報処理装置
JP2797142B2 (ja) 電子楽器用処理装置
JP3791162B2 (ja) 信号処理装置
JP3723973B2 (ja) 音源装置
JP3137043B2 (ja) 波形メモリ音源装置および楽音発生装置
JP2933205B2 (ja) 波形メモリ音源装置
JP3852634B2 (ja) 楽音発生装置および楽音発生方法、並びに該方法に係るプログラムを記憶した記憶媒体
JP3275678B2 (ja) 楽音発生方法および装置
JP4120979B2 (ja) 波形再生装置
JP3148803B2 (ja) 音源装置
JP2001509610A (ja) 減結合の命令実行及び音声データシーケンスを有する音声効果プロセッサ
JP3387810B2 (ja) サウンドプロセッサ
JP3695404B2 (ja) 波形処理デバイス
JP2709965B2 (ja) Bgm再生に用いる音楽伝送再生システム

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010130

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

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090302

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100302

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110302

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110302

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120302

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130302

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20140302

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees