JP2933205B2 - 波形メモリ音源装置 - Google Patents
波形メモリ音源装置Info
- Publication number
- JP2933205B2 JP2933205B2 JP7322225A JP32222595A JP2933205B2 JP 2933205 B2 JP2933205 B2 JP 2933205B2 JP 7322225 A JP7322225 A JP 7322225A JP 32222595 A JP32222595 A JP 32222595A JP 2933205 B2 JP2933205 B2 JP 2933205B2
- Authority
- JP
- Japan
- Prior art keywords
- channel
- waveform
- access
- address
- waveform memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【0001】
【発明の属する技術分野】この発明は、ディジタル楽音
波形データを生成出力する音源装置に関し、詳しくは、
2つの音源で1つの波形メモリを共有することができる
ような波形メモリ読み出しタイプの音源装置に関する。
波形データを生成出力する音源装置に関し、詳しくは、
2つの音源で1つの波形メモリを共有することができる
ような波形メモリ読み出しタイプの音源装置に関する。
【0002】
【従来の技術】従来より、時分割チャンネル動作で複数
チャンネル分の楽音を同時に発生する波形メモリ音源が
知られている。このような音源では、1サンプリング周
期を均等に分割した各チャンネルのタイムスロットにお
いてそれぞれのチャンネルの楽音生成動作を行なってい
る。波形メモリのアクセスについても同様に、時分割チ
ャンネル動作であり、各チャンネルごとに、そのチャン
ネルに対応するタイムスロットで一定の決められた回数
のアクセスを行なうようになっている。
チャンネル分の楽音を同時に発生する波形メモリ音源が
知られている。このような音源では、1サンプリング周
期を均等に分割した各チャンネルのタイムスロットにお
いてそれぞれのチャンネルの楽音生成動作を行なってい
る。波形メモリのアクセスについても同様に、時分割チ
ャンネル動作であり、各チャンネルごとに、そのチャン
ネルに対応するタイムスロットで一定の決められた回数
のアクセスを行なうようになっている。
【0003】さらに、波形メモリ読み出し方式の音源で
は、補間回路を備え、各チャンネルについて連続する何
点かのサンプル(波形データ)を用いて補間演算して1
点分の楽音波形データを得るものがある。また、補間回
路にサンプルバッファを有し、少ないアクセス回数で、
高次の補間演算を可能にした波形メモリ音源がある。こ
れは、波形メモリから読み出した波形データをサンプル
バッファに記憶しておき、波形メモリを読み出していく
際に、アドレスの進みが少ない場合には、サンプルバッ
ファに記憶されている波形データと新たに読み出した波
形データを用いて補間を行なうものである。
は、補間回路を備え、各チャンネルについて連続する何
点かのサンプル(波形データ)を用いて補間演算して1
点分の楽音波形データを得るものがある。また、補間回
路にサンプルバッファを有し、少ないアクセス回数で、
高次の補間演算を可能にした波形メモリ音源がある。こ
れは、波形メモリから読み出した波形データをサンプル
バッファに記憶しておき、波形メモリを読み出していく
際に、アドレスの進みが少ない場合には、サンプルバッ
ファに記憶されている波形データと新たに読み出した波
形データを用いて補間を行なうものである。
【0004】
【発明が解決しようとする課題】上述したように、時分
割チャンネル動作で複数チャンネル分の楽音を同時に発
生する波形メモリ音源では、波形メモリのアクセスが各
チャンネルごとに一定の決められた回数に定められてい
る。一般に、各チャンネルの波形読み出し速度(Fナン
バ)などに応じて、しかも各サンプリング周期ごとに、
必要な波形メモリアクセス回数は異なるが、従来技術で
はそれに対応するようなことは行なっておらず、波形メ
モリの限られた動作速度(アクセス可能回数)を有効に
利用できていなかった。
割チャンネル動作で複数チャンネル分の楽音を同時に発
生する波形メモリ音源では、波形メモリのアクセスが各
チャンネルごとに一定の決められた回数に定められてい
る。一般に、各チャンネルの波形読み出し速度(Fナン
バ)などに応じて、しかも各サンプリング周期ごとに、
必要な波形メモリアクセス回数は異なるが、従来技術で
はそれに対応するようなことは行なっておらず、波形メ
モリの限られた動作速度(アクセス可能回数)を有効に
利用できていなかった。
【0005】また、サンプルバッファを用いる方式で
は、アドレスの進みが少ない場合にはサンプルバッファ
のデータを有効に使って補間が可能だが、アドレスの進
みが大きい場合には必要な波形データをすべて読み出す
ことができずに補間次数を下げる(例えば、4点補間を
2点補間にする)こともあった。
は、アドレスの進みが少ない場合にはサンプルバッファ
のデータを有効に使って補間が可能だが、アドレスの進
みが大きい場合には必要な波形データをすべて読み出す
ことができずに補間次数を下げる(例えば、4点補間を
2点補間にする)こともあった。
【0006】この発明は、時分割チャンネル動作で複数
チャンネル分の楽音を同時に発生する波形メモリ読み出
し方式の音源において、チャンネルごとに必要なときに
必要な分だけ効率よく波形メモリをアクセスすることが
できるようにすることを目的とする。
チャンネル分の楽音を同時に発生する波形メモリ読み出
し方式の音源において、チャンネルごとに必要なときに
必要な分だけ効率よく波形メモリをアクセスすることが
できるようにすることを目的とする。
【0007】
【課題を解決するための手段】本発明の請求項1に係る
発明は、所定サンプリング周期で複数チャンネル時分割
で動作することにより、該複数チャンネルの楽音を生成
する波形メモリ音源装置において、波形サンプルを記憶
した波形メモリであって、前記所定サンプリング周期内
の1チャンネル分の処理時間内に所定回数のアクセスが
可能なものと、各チャンネルのアドレスを記憶するため
のアドレス記憶手段と、各チャンネルの波形サンプルを
記憶するための波形サンプル記憶手段と、前記波形メモ
リの読み出しに先立って、各チャンネルのアドレスを作
成し、前記アドレス記憶手段に記憶させるアドレス作成
手段と、各チャンネルのアドレスの進み量に基づいて、
各チャンネルについての前記波形メモリのアクセス回数
を算出するアクセス回数算出手段と、所定数のチャンネ
ルについて、前記アクセス回数算出手段で算出したアク
セス回数を累算し、累算回数を出力する累算手段と、前
記所定数のチャンネルに対応したアクセス期間内に、前
記累算回数分のアクセスが可能かどうかを判定する判定
手段と、前記アクセス期間の時間幅を、通常の長さまた
は短縮した長さに切り換えるアクセス期間切り換え手段
と、前記判定手段が可能と判定した場合、前記アドレス
記憶手段に記憶された各チャンネルのアドレスに基づ
き、前記アクセス回数算出手段で算出した各チャンネル
のアクセス回数ずつ、前記アクセス期間内で前記波形メ
モリを連続的にアクセスし、読み出した各チャンネルの
波形サンプルを前記波形サンプル記憶手段に記憶する第
1アクセス手段と、前記アクセス期間切り換え手段によ
り前記アクセス期間を短縮したことによって生じた空き
時間に、前記波形メモリをアクセスする第2アクセス手
段と、前記波形サンプル記憶手段に記憶された各チャン
ネルの波形サンプルに基づき、各チャンネルのサンプリ
ング周期ごとの楽音を生成する楽音生成手段とを備えた
ことを特徴とする。
発明は、所定サンプリング周期で複数チャンネル時分割
で動作することにより、該複数チャンネルの楽音を生成
する波形メモリ音源装置において、波形サンプルを記憶
した波形メモリであって、前記所定サンプリング周期内
の1チャンネル分の処理時間内に所定回数のアクセスが
可能なものと、各チャンネルのアドレスを記憶するため
のアドレス記憶手段と、各チャンネルの波形サンプルを
記憶するための波形サンプル記憶手段と、前記波形メモ
リの読み出しに先立って、各チャンネルのアドレスを作
成し、前記アドレス記憶手段に記憶させるアドレス作成
手段と、各チャンネルのアドレスの進み量に基づいて、
各チャンネルについての前記波形メモリのアクセス回数
を算出するアクセス回数算出手段と、所定数のチャンネ
ルについて、前記アクセス回数算出手段で算出したアク
セス回数を累算し、累算回数を出力する累算手段と、前
記所定数のチャンネルに対応したアクセス期間内に、前
記累算回数分のアクセスが可能かどうかを判定する判定
手段と、前記アクセス期間の時間幅を、通常の長さまた
は短縮した長さに切り換えるアクセス期間切り換え手段
と、前記判定手段が可能と判定した場合、前記アドレス
記憶手段に記憶された各チャンネルのアドレスに基づ
き、前記アクセス回数算出手段で算出した各チャンネル
のアクセス回数ずつ、前記アクセス期間内で前記波形メ
モリを連続的にアクセスし、読み出した各チャンネルの
波形サンプルを前記波形サンプル記憶手段に記憶する第
1アクセス手段と、前記アクセス期間切り換え手段によ
り前記アクセス期間を短縮したことによって生じた空き
時間に、前記波形メモリをアクセスする第2アクセス手
段と、前記波形サンプル記憶手段に記憶された各チャン
ネルの波形サンプルに基づき、各チャンネルのサンプリ
ング周期ごとの楽音を生成する楽音生成手段とを備えた
ことを特徴とする。
【0008】請求項1における第2アクセス手段は、後
述する発明の実施の形態では波形メモリ音源になってい
るが、必ずしも波形メモリ音源である必要はない。例え
ば、新たな波形を波形メモリに書き込むサンプリング回
路、波形メモリに記憶された波形を編集加工するための
CPU、波形メモリに波形データを転送するDMAC
(ダイレクトメモリアクセス制御回路)、波形メモリが
DRAM構成であるときのリフレッシュなどでもよい。
述する発明の実施の形態では波形メモリ音源になってい
るが、必ずしも波形メモリ音源である必要はない。例え
ば、新たな波形を波形メモリに書き込むサンプリング回
路、波形メモリに記憶された波形を編集加工するための
CPU、波形メモリに波形データを転送するDMAC
(ダイレクトメモリアクセス制御回路)、波形メモリが
DRAM構成であるときのリフレッシュなどでもよい。
【0009】請求項2に記載の発明は、所定サンプリン
グ周期で複数チャンネル時分割で動作することにより、
該複数チャンネルの楽音を生成する波形メモリ音源装置
であって、波形サンプルを記憶し前記所定サンプリング
周期内の1チャンネル分の処理時間内に所定回数のアク
セスが可能な波形メモリを接続したものにおいて、各チ
ャンネルのアドレスを記憶するためのアドレス記憶手段
と、各チャンネルの波形サンプルを記憶するための波形
サンプル記憶手段と、前記波形メモリの読み出しに先立
って、各チャンネルのアドレスを作成し、前記アドレス
記憶手段に記憶させるアドレス作成手段と、各チャンネ
ルのアドレスの進み量に基づいて、各チャンネルについ
ての前記波形メモリのアクセス回数を算出するアクセス
回数算出手段と、所定数のチャンネルについて、前記ア
クセス回数算出手段で算出したアクセス回数を累算し、
累算回数を出力する累算手段と、前記所定数のチャンネ
ルに対応して設定されるアクセス期間の時間幅を、前記
所定数のチャンネルについて時分割チャンネルタイミン
グで処理する場合の時間幅と同じ時間幅とするか、また
はそれより短縮した時間幅とするかを、入力した指示信
号に基づいて決定するアクセス期間切り換え手段と、前
記アクセス期間内に、前記累算回数分のアクセスが可能
かどうかを判定する判定手段と、前記判定手段が可能と
判定した場合、前記アドレス記憶手段に記憶された各チ
ャンネルのアドレスに基づき、前記アクセス回数算出手
段で算出した各チャンネルのアクセス回数ずつ、前記ア
クセス期間内で前記波形メモリを連続的にアクセスし、
読み出した各チャンネルの波形サンプルを前記波形サン
プル記憶手段に記憶する第1アクセス手段と、前記波形
サンプル記憶手段に記憶された各チャンネルの波形サン
プルに基づき、各チャンネルのサンプリング周期ごとの
楽音を生成する楽音生成手段とを備えたことを特徴とす
る。
グ周期で複数チャンネル時分割で動作することにより、
該複数チャンネルの楽音を生成する波形メモリ音源装置
であって、波形サンプルを記憶し前記所定サンプリング
周期内の1チャンネル分の処理時間内に所定回数のアク
セスが可能な波形メモリを接続したものにおいて、各チ
ャンネルのアドレスを記憶するためのアドレス記憶手段
と、各チャンネルの波形サンプルを記憶するための波形
サンプル記憶手段と、前記波形メモリの読み出しに先立
って、各チャンネルのアドレスを作成し、前記アドレス
記憶手段に記憶させるアドレス作成手段と、各チャンネ
ルのアドレスの進み量に基づいて、各チャンネルについ
ての前記波形メモリのアクセス回数を算出するアクセス
回数算出手段と、所定数のチャンネルについて、前記ア
クセス回数算出手段で算出したアクセス回数を累算し、
累算回数を出力する累算手段と、前記所定数のチャンネ
ルに対応して設定されるアクセス期間の時間幅を、前記
所定数のチャンネルについて時分割チャンネルタイミン
グで処理する場合の時間幅と同じ時間幅とするか、また
はそれより短縮した時間幅とするかを、入力した指示信
号に基づいて決定するアクセス期間切り換え手段と、前
記アクセス期間内に、前記累算回数分のアクセスが可能
かどうかを判定する判定手段と、前記判定手段が可能と
判定した場合、前記アドレス記憶手段に記憶された各チ
ャンネルのアドレスに基づき、前記アクセス回数算出手
段で算出した各チャンネルのアクセス回数ずつ、前記ア
クセス期間内で前記波形メモリを連続的にアクセスし、
読み出した各チャンネルの波形サンプルを前記波形サン
プル記憶手段に記憶する第1アクセス手段と、前記波形
サンプル記憶手段に記憶された各チャンネルの波形サン
プルに基づき、各チャンネルのサンプリング周期ごとの
楽音を生成する楽音生成手段とを備えたことを特徴とす
る。
【0010】請求項3に記載の発明は、請求項2のもの
において、さらに第1のモードで動作するか、第2のモ
ードで動作するかを指定するモード指定信号を入力し、
第1のモードが指定された波形メモリ音源では、前記ア
クセス期間切り換え手段により前記アクセス期間を短縮
した時間幅とするとともに、第2のモードが指定された
別の波形メモリ音源装置に向けて同期信号を出力し、第
2のモードが指定された波形メモリ音源では、前記アク
セス期間切り換え手段により前記アクセス期間を短縮し
た時間幅とするとともに、前記第1のモードが指定され
た波形メモリ音源から出力される同期信号を入力して、
前記第1のモードが指定された波形メモリ音源における
前記アクセス期間以外の区間に、前記第2のモードが指
定された波形メモリ音源における前記アクセス期間が配
置されるように処理タイミングを調整するようにしたも
のである。
において、さらに第1のモードで動作するか、第2のモ
ードで動作するかを指定するモード指定信号を入力し、
第1のモードが指定された波形メモリ音源では、前記ア
クセス期間切り換え手段により前記アクセス期間を短縮
した時間幅とするとともに、第2のモードが指定された
別の波形メモリ音源装置に向けて同期信号を出力し、第
2のモードが指定された波形メモリ音源では、前記アク
セス期間切り換え手段により前記アクセス期間を短縮し
た時間幅とするとともに、前記第1のモードが指定され
た波形メモリ音源から出力される同期信号を入力して、
前記第1のモードが指定された波形メモリ音源における
前記アクセス期間以外の区間に、前記第2のモードが指
定された波形メモリ音源における前記アクセス期間が配
置されるように処理タイミングを調整するようにしたも
のである。
【0011】請求項2、3に記載の発明は、後述する発
明の実施の形態における1チップの音源の構成に着目し
たものである。アクセス期間切り換え手段は、発明の実
施の形態で2チップ指示か1チップ指示かに応じて処理
Bを実行する区間の時間幅を変更している点を明らかに
したものである。また、第1のモードは発明の実施の形
態でマスター音源が指示されたことを示すモードであ
り、第1のモードはスレーブ音源が指示されたことを示
すモードである。
明の実施の形態における1チップの音源の構成に着目し
たものである。アクセス期間切り換え手段は、発明の実
施の形態で2チップ指示か1チップ指示かに応じて処理
Bを実行する区間の時間幅を変更している点を明らかに
したものである。また、第1のモードは発明の実施の形
態でマスター音源が指示されたことを示すモードであ
り、第1のモードはスレーブ音源が指示されたことを示
すモードである。
【0012】請求項4に記載の発明は、所定サンプリン
グ周期で複数チャンネル時分割で動作することにより、
該複数チャンネルの楽音を生成する波形メモリ音源装置
において、複数チャンネルの楽音生成を行なう第1音源
と、別の複数チャンネルの楽音生成を行なう第2音源
と、前記第1音源からの楽音と前記第2音源からの楽音
とを混合して出力する混合手段と、波形サンプルを記憶
した波形メモリであって前記所定サンプリング周期内の
1チャンネル分の処理時間内に所定回数のアクセスが可
能な波形メモリとを備え、前記第1音源は、各チャンネ
ルのアドレスを記憶するための第1アドレス記憶手段
と、各チャンネルの波形サンプルを記憶するための第1
波形サンプル記憶手段と、前記波形メモリの読み出しに
先立って、各チャンネルのアドレスを作成し、前記第1
アドレス記憶手段に記憶させる第1アドレス作成手段
と、各チャンネルのアドレスの進み量に基づいて、各チ
ャンネルについての前記波形メモリのアクセス回数を算
出する第1アクセス回数算出手段と、前記第1アドレス
記憶手段に記憶された各チャンネルのアドレスに基づ
き、前記第1アクセス回数算出手段で算出された各チャ
ンネルのアクセス回数ずつ、前記波形メモリを連続的に
アクセスし、読み出した各チャンネルの波形サンプルを
前記第1波形サンプル記憶手段に記憶する第1アクセス
手段と、前記第1波形サンプル記憶手段に記憶された各
チャンネルの波形サンプルに基づき、各チャンネルのサ
ンプリング周期ごとの楽音を生成する楽音生成手段とを
備え、前記第2音源は、各チャンネルのアドレスを記憶
するための第2アドレス記憶手段と、各チャンネルの波
形サンプルを記憶するための第2波形サンプル記憶手段
と、前記波形メモリの読み出しに先立って、各チャンネ
ルのアドレスを作成し、前記第2アドレス記憶手段に記
憶させる第2アドレス作成手段と、各チャンネルのアド
レスの進み量に基づいて、各チャンネルについての前記
波形メモリのアクセス回数を算出する第2アクセス回数
算出手段と、前記第2アドレス記憶手段に記憶された各
チャンネルのアドレスに基づき、前記第2アクセス回数
算出手段で算出された各チャンネルのアクセス回数ず
つ、前記波形メモリを連続的にアクセスし、読み出した
各チャンネルの波形サンプルを前記第2波形サンプル記
憶手段に記憶する第2アクセス手段と、前記第2波形サ
ンプル記憶手段に記憶された各チャンネルの波形サンプ
ルに基づき、各チャンネルのサンプリング周期ごとの楽
音を生成する楽音生成手段とを備え、前記第1音源の前
記第1アクセス手段による前記波形メモリのアクセスの
空き時間を利用して、前記第2音源の前記第2アクセス
手段による前記波形メモリのアクセスを行なうようにタ
イミング調整が為されていることを特徴とする。
グ周期で複数チャンネル時分割で動作することにより、
該複数チャンネルの楽音を生成する波形メモリ音源装置
において、複数チャンネルの楽音生成を行なう第1音源
と、別の複数チャンネルの楽音生成を行なう第2音源
と、前記第1音源からの楽音と前記第2音源からの楽音
とを混合して出力する混合手段と、波形サンプルを記憶
した波形メモリであって前記所定サンプリング周期内の
1チャンネル分の処理時間内に所定回数のアクセスが可
能な波形メモリとを備え、前記第1音源は、各チャンネ
ルのアドレスを記憶するための第1アドレス記憶手段
と、各チャンネルの波形サンプルを記憶するための第1
波形サンプル記憶手段と、前記波形メモリの読み出しに
先立って、各チャンネルのアドレスを作成し、前記第1
アドレス記憶手段に記憶させる第1アドレス作成手段
と、各チャンネルのアドレスの進み量に基づいて、各チ
ャンネルについての前記波形メモリのアクセス回数を算
出する第1アクセス回数算出手段と、前記第1アドレス
記憶手段に記憶された各チャンネルのアドレスに基づ
き、前記第1アクセス回数算出手段で算出された各チャ
ンネルのアクセス回数ずつ、前記波形メモリを連続的に
アクセスし、読み出した各チャンネルの波形サンプルを
前記第1波形サンプル記憶手段に記憶する第1アクセス
手段と、前記第1波形サンプル記憶手段に記憶された各
チャンネルの波形サンプルに基づき、各チャンネルのサ
ンプリング周期ごとの楽音を生成する楽音生成手段とを
備え、前記第2音源は、各チャンネルのアドレスを記憶
するための第2アドレス記憶手段と、各チャンネルの波
形サンプルを記憶するための第2波形サンプル記憶手段
と、前記波形メモリの読み出しに先立って、各チャンネ
ルのアドレスを作成し、前記第2アドレス記憶手段に記
憶させる第2アドレス作成手段と、各チャンネルのアド
レスの進み量に基づいて、各チャンネルについての前記
波形メモリのアクセス回数を算出する第2アクセス回数
算出手段と、前記第2アドレス記憶手段に記憶された各
チャンネルのアドレスに基づき、前記第2アクセス回数
算出手段で算出された各チャンネルのアクセス回数ず
つ、前記波形メモリを連続的にアクセスし、読み出した
各チャンネルの波形サンプルを前記第2波形サンプル記
憶手段に記憶する第2アクセス手段と、前記第2波形サ
ンプル記憶手段に記憶された各チャンネルの波形サンプ
ルに基づき、各チャンネルのサンプリング周期ごとの楽
音を生成する楽音生成手段とを備え、前記第1音源の前
記第1アクセス手段による前記波形メモリのアクセスの
空き時間を利用して、前記第2音源の前記第2アクセス
手段による前記波形メモリのアクセスを行なうようにタ
イミング調整が為されていることを特徴とする。
【0013】請求項4に記載の波形メモリ音源装置にお
いて、前記第1音源の第1アクセス手段は、前記所定サ
ンプリング周期をm個(mは2以上の整数)の区間に分
割した各区間ごとに、該区間において処理すべき複数チ
ャンネルについて該区間より短縮した時間幅の区間で前
記波形メモリの連続的なアクセスを行ない、前記第2音
源の第2アクセス手段は、前記所定サンプリング周期を
m個(mは2以上の整数)の区間に分割した各区間ごと
に、該区間において処理すべき複数チャンネルについて
該区間より短縮した時間幅の区間で前記波形メモリの連
続的なアクセスを行ない、前記第1音源の前記第1アク
セス手段による前記波形メモリのアクセスと前記第2音
源の前記第2アクセス手段による前記波形メモリのアク
セスとが交互に行なわれるようにタイミング調整が為さ
れているようにするとよい。サンプリング周期の分割
は、前半と後半の2つに等分割するのが望ましい。
いて、前記第1音源の第1アクセス手段は、前記所定サ
ンプリング周期をm個(mは2以上の整数)の区間に分
割した各区間ごとに、該区間において処理すべき複数チ
ャンネルについて該区間より短縮した時間幅の区間で前
記波形メモリの連続的なアクセスを行ない、前記第2音
源の第2アクセス手段は、前記所定サンプリング周期を
m個(mは2以上の整数)の区間に分割した各区間ごと
に、該区間において処理すべき複数チャンネルについて
該区間より短縮した時間幅の区間で前記波形メモリの連
続的なアクセスを行ない、前記第1音源の前記第1アク
セス手段による前記波形メモリのアクセスと前記第2音
源の前記第2アクセス手段による前記波形メモリのアク
セスとが交互に行なわれるようにタイミング調整が為さ
れているようにするとよい。サンプリング周期の分割
は、前半と後半の2つに等分割するのが望ましい。
【0014】また、請求項4に記載の波形メモリ音源に
おいて、前記波形メモリの読み出しまたは書き込みの少
なくとも一方を行なう第3アクセス手段をさらに備え、
該第3アクセス手段は、前記第1アクセス手段による前
記波形メモリのアクセス後の余り時間を利用して、前記
波形メモリのアクセスを行なうようにしてもよい。第3
アクセス手段は、例えば、波形メモリがDRAM構成で
あるときのリフレッシュ、波形メモリに記憶された波形
を編集加工するためのCPUによるアクセス、新たな波
形を波形メモリに書き込むサンプリング回路からのアク
セス、あるいは波形メモリに波形データを転送するDM
ACからのアクセスなどを行なうものである。
おいて、前記波形メモリの読み出しまたは書き込みの少
なくとも一方を行なう第3アクセス手段をさらに備え、
該第3アクセス手段は、前記第1アクセス手段による前
記波形メモリのアクセス後の余り時間を利用して、前記
波形メモリのアクセスを行なうようにしてもよい。第3
アクセス手段は、例えば、波形メモリがDRAM構成で
あるときのリフレッシュ、波形メモリに記憶された波形
を編集加工するためのCPUによるアクセス、新たな波
形を波形メモリに書き込むサンプリング回路からのアク
セス、あるいは波形メモリに波形データを転送するDM
ACからのアクセスなどを行なうものである。
【0015】
【発明の実施の形態】以下、図面を用いて、この発明の
実施の形態例を説明する。
実施の形態例を説明する。
【0016】図2(a)は、この発明の一実施形態例に
係る音源装置を適用した電子楽器の全体のブロック構成
を示す。図2(b)は、本形態例の音源部の概略構成を
示す。図1は、本形態例の音源部の詳細なブロック構成
を示す。図1および図2において、同一の番号は同一の
ものを示すものとする。
係る音源装置を適用した電子楽器の全体のブロック構成
を示す。図2(b)は、本形態例の音源部の概略構成を
示す。図1は、本形態例の音源部の詳細なブロック構成
を示す。図1および図2において、同一の番号は同一の
ものを示すものとする。
【0017】まず、図2(a)を参照して、この電子楽
器の全体構成を説明する。この電子楽器は、鍵盤20
1、表示部202、スイッチ群(SW)203、中央処
理装置(CPU)204、リードオンリメモリ(RO
M)205、ランダムアクセスメモリ(RAM)20
6、音源部207、波形メモリ208、ディジタルアナ
ログ変換器(DAC)210、サウンドシステム(S
S)211、外部記憶装置212、およびバス213を
備えている。鍵盤201、表示部202、スイッチ群2
03、CPU204、ROM205、RAM206、音
源部207、および外部記憶装置212は、バス213
により相互に接続されている。
器の全体構成を説明する。この電子楽器は、鍵盤20
1、表示部202、スイッチ群(SW)203、中央処
理装置(CPU)204、リードオンリメモリ(RO
M)205、ランダムアクセスメモリ(RAM)20
6、音源部207、波形メモリ208、ディジタルアナ
ログ変換器(DAC)210、サウンドシステム(S
S)211、外部記憶装置212、およびバス213を
備えている。鍵盤201、表示部202、スイッチ群2
03、CPU204、ROM205、RAM206、音
源部207、および外部記憶装置212は、バス213
により相互に接続されている。
【0018】鍵盤201は、ユーザが演奏操作するため
の複数の鍵を備えた鍵盤である。表示部202は、電子
楽器のパネル上に設けられており、各種の情報を表示す
る。スイッチ群203は、パネル上に設けられており、
ユーザはこれを操作することにより電子楽器に対して各
種の指示を与えることができる。CPU204は、この
電子楽器全体の動作を制御する。特に、通常の演奏時に
は、鍵盤201の操作を検出し、その操作に応じて音源
部207に発音の指示を出す。ROM205は、CPU
が実行するプログラム(音源部207を制御するための
音源コントロールプログラムなど)や各種の定数データ
などを格納する。RAM206は、ワークレジスタなど
に用いる。外部記憶装置212には、後述するDRAM
構成の波形メモリ208にロードする波形データなどが
格納されている。
の複数の鍵を備えた鍵盤である。表示部202は、電子
楽器のパネル上に設けられており、各種の情報を表示す
る。スイッチ群203は、パネル上に設けられており、
ユーザはこれを操作することにより電子楽器に対して各
種の指示を与えることができる。CPU204は、この
電子楽器全体の動作を制御する。特に、通常の演奏時に
は、鍵盤201の操作を検出し、その操作に応じて音源
部207に発音の指示を出す。ROM205は、CPU
が実行するプログラム(音源部207を制御するための
音源コントロールプログラムなど)や各種の定数データ
などを格納する。RAM206は、ワークレジスタなど
に用いる。外部記憶装置212には、後述するDRAM
構成の波形メモリ208にロードする波形データなどが
格納されている。
【0019】音源部207は、図2(b)に示すよう
に、マスター音源207M、スレーブ音源207S、お
よび混合器220からなる。マスター音源207Mおよ
びスレーブ音源207Sは同じ内部構成を持ち、1つの
波形メモリを共有する。すなわち、マスター音源207
Mおよびスレーブ音源207Sは、それぞれ、CPU2
04の指示に応じて、波形メモリ208から波形データ
を読み出し、補間、エンベロープ付与、チャンネル累
算、および効果付与などの加工を施して、楽音波形デー
タとして出力する。音源207M,207Sから出力さ
れた楽音波形データは、混合器220で混合され、DA
C210によりアナログ信号に変換され、サウンドシス
テム211により放音される。
に、マスター音源207M、スレーブ音源207S、お
よび混合器220からなる。マスター音源207Mおよ
びスレーブ音源207Sは同じ内部構成を持ち、1つの
波形メモリを共有する。すなわち、マスター音源207
Mおよびスレーブ音源207Sは、それぞれ、CPU2
04の指示に応じて、波形メモリ208から波形データ
を読み出し、補間、エンベロープ付与、チャンネル累
算、および効果付与などの加工を施して、楽音波形デー
タとして出力する。音源207M,207Sから出力さ
れた楽音波形データは、混合器220で混合され、DA
C210によりアナログ信号に変換され、サウンドシス
テム211により放音される。
【0020】波形メモリ208は、DRAM(ダイナミ
ックRAM)により構成されている。波形メモリ208
には、所定のレートでサンプリングされた波形サンプル
データが格納されている。1つの波形サンプルは16ビ
ット非圧縮形式であり、アドレスは波形サンプル単位に
付けられている。すなわち、1アクセスで1つの波形サ
ンプルが読み出せる。波形サンプルは、楽音の発音に先
立って外部記憶装置212から読み出して波形メモリ2
08に格納してもよいが、特にこの形態例の音源では、
複数チャンネル分の楽音発生の動作を行なう際に使用さ
れなかった空きタイムスロットを別の用途に用いること
ができるようになっているので、その空きタイムスロッ
トを用いて波形サンプルを外部記憶装置212から読み
出して波形メモリ208に格納してもよい。
ックRAM)により構成されている。波形メモリ208
には、所定のレートでサンプリングされた波形サンプル
データが格納されている。1つの波形サンプルは16ビ
ット非圧縮形式であり、アドレスは波形サンプル単位に
付けられている。すなわち、1アクセスで1つの波形サ
ンプルが読み出せる。波形サンプルは、楽音の発音に先
立って外部記憶装置212から読み出して波形メモリ2
08に格納してもよいが、特にこの形態例の音源では、
複数チャンネル分の楽音発生の動作を行なう際に使用さ
れなかった空きタイムスロットを別の用途に用いること
ができるようになっているので、その空きタイムスロッ
トを用いて波形サンプルを外部記憶装置212から読み
出して波形メモリ208に格納してもよい。
【0021】次に、音源部207について詳しく説明す
る。図1において、音源部207内のマスター音源20
7Mは、制御レジスタ101、波形読み出し補間回路1
02、音量変化制御部105、チャンネル(ch)累算
器106、効果回路107、リフレッシュカウンタ10
8、CPUアクセス制御部109、セレクタ110、セ
レクタ111、システムクロック発生部112、および
チャンネル(ch)カウンタ113を備えている。
る。図1において、音源部207内のマスター音源20
7Mは、制御レジスタ101、波形読み出し補間回路1
02、音量変化制御部105、チャンネル(ch)累算
器106、効果回路107、リフレッシュカウンタ10
8、CPUアクセス制御部109、セレクタ110、セ
レクタ111、システムクロック発生部112、および
チャンネル(ch)カウンタ113を備えている。
【0022】制御レジスタ101は、CPU204から
送出された指定情報(マスター音源207Mに対する命
令やパラメータ情報)を格納するための制御レジスタで
ある。CPU204は、制御レジスタ101に所定の指
定情報をセットして発音の開始指示を出す。セットする
指定情報としては、割り当てチャンネル、メモリ読み出
しピッチ(周波数ナンバ)、メモリ読み出し区間、エン
ベロープ、およびエフェクト用係数などの指定情報があ
る。
送出された指定情報(マスター音源207Mに対する命
令やパラメータ情報)を格納するための制御レジスタで
ある。CPU204は、制御レジスタ101に所定の指
定情報をセットして発音の開始指示を出す。セットする
指定情報としては、割り当てチャンネル、メモリ読み出
しピッチ(周波数ナンバ)、メモリ読み出し区間、エン
ベロープ、およびエフェクト用係数などの指定情報があ
る。
【0023】あるチャンネルにおける発音開始指示を受
けると、マスター音源207Mは楽音波形の発生の動作
を開始する。まず、波形読み出し補間回路102は、波
形メモリ208の読み出しアドレスを順次発生する。読
み出しアドレスは、指定された読み出し区間の先頭か
ら、指定された読み出しピッチを順次累算した値であ
る。特に、このマスター音源207Mでは、波形読み出
し補間回路102中に波形サンプルをバッファリングす
る波形バッファを備え、波形メモリ208からはチャン
ネルごとに必要な数の波形サンプル(波形データ)のみ
を読み出すようになっており、各チャンネルにおける波
形メモリアクセス回数は可変できるようになっている。
そこで、波形読み出し補間回路102は、各チャンネル
において必要なアクセス回数に応じた波形メモリのアド
レスを、時分割チャンネルタイミングとは異なるタイミ
ングで、順次連続して出力するようになっている。
けると、マスター音源207Mは楽音波形の発生の動作
を開始する。まず、波形読み出し補間回路102は、波
形メモリ208の読み出しアドレスを順次発生する。読
み出しアドレスは、指定された読み出し区間の先頭か
ら、指定された読み出しピッチを順次累算した値であ
る。特に、このマスター音源207Mでは、波形読み出
し補間回路102中に波形サンプルをバッファリングす
る波形バッファを備え、波形メモリ208からはチャン
ネルごとに必要な数の波形サンプル(波形データ)のみ
を読み出すようになっており、各チャンネルにおける波
形メモリアクセス回数は可変できるようになっている。
そこで、波形読み出し補間回路102は、各チャンネル
において必要なアクセス回数に応じた波形メモリのアド
レスを、時分割チャンネルタイミングとは異なるタイミ
ングで、順次連続して出力するようになっている。
【0024】波形読み出し補間回路102からのアドレ
ス出力が時分割チャンネルタイミングとは異なるタイミ
ングで行なわれることにより、空きタイムスロットが得
られる。リフレッシュカウンタ108およびCPUアク
セス制御部109は、この空きタイムスロットにおい
て、波形メモリ208のリフレッシュを行ない、あるい
はCPU204から波形メモリ208へのアクセスを行
なうためのものである。セレクタ110,111は、空
きタイムスロットにおいてリフレッシュカウンタ108
やCPUアクセス制御部109を波形メモリ208に接
続するように制御される。
ス出力が時分割チャンネルタイミングとは異なるタイミ
ングで行なわれることにより、空きタイムスロットが得
られる。リフレッシュカウンタ108およびCPUアク
セス制御部109は、この空きタイムスロットにおい
て、波形メモリ208のリフレッシュを行ない、あるい
はCPU204から波形メモリ208へのアクセスを行
なうためのものである。セレクタ110,111は、空
きタイムスロットにおいてリフレッシュカウンタ108
やCPUアクセス制御部109を波形メモリ208に接
続するように制御される。
【0025】波形読み出し補間回路102で発生した読
み出しアドレスは、セレクタ110を介して波形メモリ
208に入力し、これにより波形サンプルが波形メモリ
208から読み出される。波形読み出し補間回路102
は、セレクタ111を介して波形サンプルを受け取り、
内部の波形バッファに記憶する。波形読み出し補間回路
102は、内部に補間回路を有し、その補間回路は、波
形バッファに記憶されている各チャンネルの波形サンプ
ルを読み出し、補間処理を行なう(基本的には6点補間
を行ない、各チャンネルのアクセス回数が不足し6点分
の波形データが確保できないときは4点あるいは2点補
間に補間次数を落とす)。
み出しアドレスは、セレクタ110を介して波形メモリ
208に入力し、これにより波形サンプルが波形メモリ
208から読み出される。波形読み出し補間回路102
は、セレクタ111を介して波形サンプルを受け取り、
内部の波形バッファに記憶する。波形読み出し補間回路
102は、内部に補間回路を有し、その補間回路は、波
形バッファに記憶されている各チャンネルの波形サンプ
ルを読み出し、補間処理を行なう(基本的には6点補間
を行ない、各チャンネルのアクセス回数が不足し6点分
の波形データが確保できないときは4点あるいは2点補
間に補間次数を落とす)。
【0026】音量変化制御回路105は、各チャンネル
の楽音波形データにエンベロープを付与する。チャンネ
ル累算器106は、各チャンネルの楽音波形データをチ
ャンネル累算する。効果回路107は、チャンネル累算
した結果に各種のエフェクト(効果)を付与する。効果
付与された楽音波形データは、図2(b)の混合器22
0でスレーブ音源207Sからの楽音波形データと混合
される。混合器220からの楽音波形データは、DAC
210に入力してアナログ信号に変換され、サウンドシ
ステム211により放音される。
の楽音波形データにエンベロープを付与する。チャンネ
ル累算器106は、各チャンネルの楽音波形データをチ
ャンネル累算する。効果回路107は、チャンネル累算
した結果に各種のエフェクト(効果)を付与する。効果
付与された楽音波形データは、図2(b)の混合器22
0でスレーブ音源207Sからの楽音波形データと混合
される。混合器220からの楽音波形データは、DAC
210に入力してアナログ信号に変換され、サウンドシ
ステム211により放音される。
【0027】このマスター音源207Mは時分割32チ
ャンネルで動作する。システムクロック112は、マス
ター音源207M内の各部に時分割動作を行なうための
基準信号となる制御クロック信号Φを供給する。チャン
ネルカウンタ113は、時分割チャンネル動作を行なう
ためのチャンネルカウント値CHCをカウントし(具体
的には0〜31を繰り返しカウント)、マスター音源2
07M内の各ブロックに供給する。
ャンネルで動作する。システムクロック112は、マス
ター音源207M内の各部に時分割動作を行なうための
基準信号となる制御クロック信号Φを供給する。チャン
ネルカウンタ113は、時分割チャンネル動作を行なう
ためのチャンネルカウント値CHCをカウントし(具体
的には0〜31を繰り返しカウント)、マスター音源2
07M内の各ブロックに供給する。
【0028】スレーブ音源207Sも上記マスター音源
207Mと全く同じ構成であり、マスター音源207M
と並行して同様に動作する。ただし、マスター音源20
7Mのシステムクロック112からの同期信号114が
スレーブ音源207Sに入力し、スレーブ音源207S
は、この同期信号にしたがいすべての処理を1/4サン
プリング周期分、マスター音源207Mより遅いタイミ
ングで実行するように制御する。このタイミングについ
ては後に詳述する。また、スレーブ音源207Sも時分
割32チャンネルで動作するが、マスター音源207M
が第0〜第31チャンネルの処理を行ない、スレーブ音
源207Sがそれと並行して第32〜第63チャンネル
の処理を行なう。音源部207全体として、64チャン
ネル分の楽音生成を行なうことができる。
207Mと全く同じ構成であり、マスター音源207M
と並行して同様に動作する。ただし、マスター音源20
7Mのシステムクロック112からの同期信号114が
スレーブ音源207Sに入力し、スレーブ音源207S
は、この同期信号にしたがいすべての処理を1/4サン
プリング周期分、マスター音源207Mより遅いタイミ
ングで実行するように制御する。このタイミングについ
ては後に詳述する。また、スレーブ音源207Sも時分
割32チャンネルで動作するが、マスター音源207M
が第0〜第31チャンネルの処理を行ない、スレーブ音
源207Sがそれと並行して第32〜第63チャンネル
の処理を行なう。音源部207全体として、64チャン
ネル分の楽音生成を行なうことができる。
【0029】図3は、マスター音源207M内の波形読
み出し補間回路102のブロック構成を示す。スレーブ
音源207S内の波形読み出し回路102も同じ構成で
ある。波形読み出し補間回路102は、処理A演算回路
301、アドレスRAM(ARAM)302、アキュム
レータ(ACC)303、制御RAM304、処理B演
算回路305、補間回路306、波形バッファ307、
および取り込み回路308を備えている。
み出し補間回路102のブロック構成を示す。スレーブ
音源207S内の波形読み出し回路102も同じ構成で
ある。波形読み出し補間回路102は、処理A演算回路
301、アドレスRAM(ARAM)302、アキュム
レータ(ACC)303、制御RAM304、処理B演
算回路305、補間回路306、波形バッファ307、
および取り込み回路308を備えている。
【0030】波形読み出し補間回路102は、大きく
は、処理A、処理B、取り込み処理、および補間処理の
4つの処理を行なう。処理A演算回路301は、処理A
を実行する。処理Aは、時分割チャンネルタイミングに
したがって、主として各チャンネルのアドレスを作成す
る処理である。各チャンネルのアドレスは、ARAM3
02に保持される。処理B演算回路305は、処理Bを
実行する。処理Bは、時分割チャンネルタイミングとは
異なるタイミングで、アドレスWMAを波形メモリ20
8に向けて送り出す処理である。取り込み回路308
は、取り込み処理を行なう。取り込み処理は、処理Bに
より波形メモリ208に送り出されたアドレスにしたが
って読み出された波形サンプルを取り込み、各チャンネ
ル別に波形バッファ307に書き込む処理である。補間
回路306は、補間処理を行なう。補間処理は、時分割
チャンネルタイミングにしたがって、波形バッファ30
7から各チャンネルの波形サンプルを読み出し、補間を
行なって補間済みサンプルを生成出力する処理である。
これらの4つの処理については、後に詳述する。補間回
路306から出力された補間済みサンプルは、図1の音
量変化制御回路105に入力する。
は、処理A、処理B、取り込み処理、および補間処理の
4つの処理を行なう。処理A演算回路301は、処理A
を実行する。処理Aは、時分割チャンネルタイミングに
したがって、主として各チャンネルのアドレスを作成す
る処理である。各チャンネルのアドレスは、ARAM3
02に保持される。処理B演算回路305は、処理Bを
実行する。処理Bは、時分割チャンネルタイミングとは
異なるタイミングで、アドレスWMAを波形メモリ20
8に向けて送り出す処理である。取り込み回路308
は、取り込み処理を行なう。取り込み処理は、処理Bに
より波形メモリ208に送り出されたアドレスにしたが
って読み出された波形サンプルを取り込み、各チャンネ
ル別に波形バッファ307に書き込む処理である。補間
回路306は、補間処理を行なう。補間処理は、時分割
チャンネルタイミングにしたがって、波形バッファ30
7から各チャンネルの波形サンプルを読み出し、補間を
行なって補間済みサンプルを生成出力する処理である。
これらの4つの処理については、後に詳述する。補間回
路306から出力された補間済みサンプルは、図1の音
量変化制御回路105に入力する。
【0031】図4は、図3の制御RAM304の構成を
示す。詳しくは後述するが、処理Aでは、各チャンネル
のアドレス作成と並行して、各チャンネルについて読み
出すべき必要サンプル数を求めて制御RAM304に格
納する処理を行なう。そのため、制御RAM304は、
チャンネル番号とそのチャンネルにおいて読み出すべき
サンプル数を格納する領域が複数用意されて構成され
る。波形読み出し補間回路102内には書き込みポイン
タおよび読み出しポインタが備えられており、各チャン
ネルにおいて読み出すべき必要サンプル数を制御RAM
304に書き込むとき(処理A)は書き込みポインタを
すすめ、制御RAM304からチャンネル番号とサンプ
ル数を読み出して当該チャンネルに関する読み出しアド
レスを送出するとき(処理B)は読み出しポインタを進
める。制御RAM304は、リング状に使用するように
なっており、書き込みまたは読み出しポインタが制御R
AM304の一方の端に至った場合、その次のポインタ
の位置は制御RAM304の他方の端になる。また、読
み出しポインタの指す位置が書き込みポインタの指す位
置を追いかけるように書き込みおよび読み出しが行なわ
れるが、書き込みポインタが読み出しポインタを追い越
さない程度の領域の大きさが確保されているものとす
る。書き込みポインタおよび読み出しポインタは、アキ
ュムレータACCと同様に、それぞれ、前半処理用のも
のと後半処理用のものとが別々に設けられている。単
に、書き込みポインタおよび読み出しポインタと呼ぶと
きは、前半処理では前半処理用のもの、後半処理では後
半処理用のものを指すものとする。なお、図4のような
構成のほか、各チャンネルに1つずつアドレスを対応さ
せ、そこに必要サンプル数を書き込むようにしてもよ
い。
示す。詳しくは後述するが、処理Aでは、各チャンネル
のアドレス作成と並行して、各チャンネルについて読み
出すべき必要サンプル数を求めて制御RAM304に格
納する処理を行なう。そのため、制御RAM304は、
チャンネル番号とそのチャンネルにおいて読み出すべき
サンプル数を格納する領域が複数用意されて構成され
る。波形読み出し補間回路102内には書き込みポイン
タおよび読み出しポインタが備えられており、各チャン
ネルにおいて読み出すべき必要サンプル数を制御RAM
304に書き込むとき(処理A)は書き込みポインタを
すすめ、制御RAM304からチャンネル番号とサンプ
ル数を読み出して当該チャンネルに関する読み出しアド
レスを送出するとき(処理B)は読み出しポインタを進
める。制御RAM304は、リング状に使用するように
なっており、書き込みまたは読み出しポインタが制御R
AM304の一方の端に至った場合、その次のポインタ
の位置は制御RAM304の他方の端になる。また、読
み出しポインタの指す位置が書き込みポインタの指す位
置を追いかけるように書き込みおよび読み出しが行なわ
れるが、書き込みポインタが読み出しポインタを追い越
さない程度の領域の大きさが確保されているものとす
る。書き込みポインタおよび読み出しポインタは、アキ
ュムレータACCと同様に、それぞれ、前半処理用のも
のと後半処理用のものとが別々に設けられている。単
に、書き込みポインタおよび読み出しポインタと呼ぶと
きは、前半処理では前半処理用のもの、後半処理では後
半処理用のものを指すものとする。なお、図4のような
構成のほか、各チャンネルに1つずつアドレスを対応さ
せ、そこに必要サンプル数を書き込むようにしてもよ
い。
【0032】図5は、図3のARAM302のメモリマ
ップを示す。ARAM302は、処理Aにおいて各チャ
ンネルのアドレスを作成するのに用いる領域である。A
RAM302は、32チャンネル分(マスター音源は第
0〜第31チャンネル、スレーブ音源は第32〜第63
チャンネル)の各チャンネルごとの領域からなり、これ
らの領域に各チャンネルの現在のアドレス値を記憶す
る。各チャンネルの領域はアドレス上位ADH、および
アドレス下位ADLからなる。ADHおよびADLの領
域の大きさはそれぞれ16ビットである。アドレス上位
ADHとアドレス下位ADLとを合わせた32ビットの
アドレス値は、アドレス整数部とアドレス小数部とに分
けられる。アドレス整数部は、波形メモリ208のアド
レスと対応している。すなわち、アドレス整数部の1つ
の値に対応して、波形メモリ208の波形サンプルが1
つ存在する。アドレス小数部は、それよりも細かい単位
を示し、何点かの波形サンプルを用いた補間処理で用い
る情報である。アドレス整数部は23ビット、アドレス
小数部は9ビットである。
ップを示す。ARAM302は、処理Aにおいて各チャ
ンネルのアドレスを作成するのに用いる領域である。A
RAM302は、32チャンネル分(マスター音源は第
0〜第31チャンネル、スレーブ音源は第32〜第63
チャンネル)の各チャンネルごとの領域からなり、これ
らの領域に各チャンネルの現在のアドレス値を記憶す
る。各チャンネルの領域はアドレス上位ADH、および
アドレス下位ADLからなる。ADHおよびADLの領
域の大きさはそれぞれ16ビットである。アドレス上位
ADHとアドレス下位ADLとを合わせた32ビットの
アドレス値は、アドレス整数部とアドレス小数部とに分
けられる。アドレス整数部は、波形メモリ208のアド
レスと対応している。すなわち、アドレス整数部の1つ
の値に対応して、波形メモリ208の波形サンプルが1
つ存在する。アドレス小数部は、それよりも細かい単位
を示し、何点かの波形サンプルを用いた補間処理で用い
る情報である。アドレス整数部は23ビット、アドレス
小数部は9ビットである。
【0033】図6は、図3の波形バッファ307の構成
を示す。波形バッファ307は、各チャンネルごとの6
つのサンプル格納領域からなる。6つのサンプル格納領
域はリング状に使用する。すなわち、各チャンネルごと
にポインタを設け、サンプルを書き込むときは、そのポ
インタで指す位置に書き込み、ポインタを1つ進める。
ポインタは、例えば図6の第iチャンネルなら、サンプ
ル1→2→3→4→5→6→1→2→…というように進
める。図6は、マスター音源207Mの波形読み出し補
間回路102の波形バッファであるので、第0〜第31
チャンネルのサンプル格納領域を図示してある。同様
に、スレーブ音源207Sの波形読み出し補間回路の波
形バッファは、第32〜第63チャンネルのサンプル格
納領域から構成される。
を示す。波形バッファ307は、各チャンネルごとの6
つのサンプル格納領域からなる。6つのサンプル格納領
域はリング状に使用する。すなわち、各チャンネルごと
にポインタを設け、サンプルを書き込むときは、そのポ
インタで指す位置に書き込み、ポインタを1つ進める。
ポインタは、例えば図6の第iチャンネルなら、サンプ
ル1→2→3→4→5→6→1→2→…というように進
める。図6は、マスター音源207Mの波形読み出し補
間回路102の波形バッファであるので、第0〜第31
チャンネルのサンプル格納領域を図示してある。同様
に、スレーブ音源207Sの波形読み出し補間回路の波
形バッファは、第32〜第63チャンネルのサンプル格
納領域から構成される。
【0034】次に、波形読み出し補間回路102で実行
する4つの処理について詳しく説明する。始めにこれら
の処理を実行するタイミングについて説明し、その後、
各処理の詳細を説明する。
する4つの処理について詳しく説明する。始めにこれら
の処理を実行するタイミングについて説明し、その後、
各処理の詳細を説明する。
【0035】図7は、マスター音源207Mおよびスレ
ーブ音源207Sのそれぞれの波形読み出し補間回路1
02で行なう処理A、処理B、取り込み処理、および補
間処理の処理タイミングを示す。マスター音源207M
における各処理の区間は、前半と後半に分けられてお
り、前半で第0〜第15チャンネルの処理を行ない、後
半で第16〜第31チャンネルの処理を行なうようにな
っている。同様に、スレーブ音源207Sにおける各処
理の区間は、前半と後半に分けられており、前半で第3
2〜第47チャンネルの処理を行ない、後半で第48〜
第63チャンネルの処理を行なうようになっている。ま
た、スレーブ音源207Sの処理タイミングは、マスタ
ー音源207Mの処理タイミングに比べて1/4サンプ
リング周期だけ遅れている。
ーブ音源207Sのそれぞれの波形読み出し補間回路1
02で行なう処理A、処理B、取り込み処理、および補
間処理の処理タイミングを示す。マスター音源207M
における各処理の区間は、前半と後半に分けられてお
り、前半で第0〜第15チャンネルの処理を行ない、後
半で第16〜第31チャンネルの処理を行なうようにな
っている。同様に、スレーブ音源207Sにおける各処
理の区間は、前半と後半に分けられており、前半で第3
2〜第47チャンネルの処理を行ない、後半で第48〜
第63チャンネルの処理を行なうようになっている。ま
た、スレーブ音源207Sの処理タイミングは、マスタ
ー音源207Mの処理タイミングに比べて1/4サンプ
リング周期だけ遅れている。
【0036】マスター音源の第0〜第15チャンネルの
処理Bを行なう処理B前半区間702は、当該チャンネ
ルの処理Aを行なう処理A前半区間701が終了した直
後から開始される。また、マスター音源の第16〜第3
1チャンネルの処理Bを行なう処理B後半区間706
は、当該チャンネルの処理Aを行なう処理A後半区間7
05が終了した直後から開始される。スレーブ音源の処
理Bの前半および後半の区間712,716と処理Aの
前半および後半の区間711,715とのタイミングの
関係も同様である。処理B前半および後半の区間70
2,706,712,716は、何れも1サンプリング
周期の1/4の時間幅を持つ。したがって、処理Bにつ
いては、マスター音源の第0〜第15チャンネルの処理
B前半処理→スレーブ音源の第32〜第47チャンネル
の処理B前半処理→マスター音源の第16〜第31チャ
ンネルの処理B後半処理→スレーブ音源の第48〜第6
3チャンネルの処理B後半処理→…の順で、マスター音
源とスレーブ音源の処理Bが交互に実行されることにな
る。
処理Bを行なう処理B前半区間702は、当該チャンネ
ルの処理Aを行なう処理A前半区間701が終了した直
後から開始される。また、マスター音源の第16〜第3
1チャンネルの処理Bを行なう処理B後半区間706
は、当該チャンネルの処理Aを行なう処理A後半区間7
05が終了した直後から開始される。スレーブ音源の処
理Bの前半および後半の区間712,716と処理Aの
前半および後半の区間711,715とのタイミングの
関係も同様である。処理B前半および後半の区間70
2,706,712,716は、何れも1サンプリング
周期の1/4の時間幅を持つ。したがって、処理Bにつ
いては、マスター音源の第0〜第15チャンネルの処理
B前半処理→スレーブ音源の第32〜第47チャンネル
の処理B前半処理→マスター音源の第16〜第31チャ
ンネルの処理B後半処理→スレーブ音源の第48〜第6
3チャンネルの処理B後半処理→…の順で、マスター音
源とスレーブ音源の処理Bが交互に実行されることにな
る。
【0037】取り込み処理は、処理Bのアドレス送り出
しのタイミングにしたがって行なわれるから、取り込み
処理についても同様に、マスター音源の第0〜第15チ
ャンネルの取り込み前半処理→スレーブ音源の第32〜
第47チャンネルの取り込み前半処理→マスター音源の
第16〜第31チャンネルの取り込み後半処理→スレー
ブ音源の第48〜第63チャンネルの取り込み後半処理
→…の順で、マスター音源とスレーブ音源の取り込み処
理が交互に実行される。
しのタイミングにしたがって行なわれるから、取り込み
処理についても同様に、マスター音源の第0〜第15チ
ャンネルの取り込み前半処理→スレーブ音源の第32〜
第47チャンネルの取り込み前半処理→マスター音源の
第16〜第31チャンネルの取り込み後半処理→スレー
ブ音源の第48〜第63チャンネルの取り込み後半処理
→…の順で、マスター音源とスレーブ音源の取り込み処
理が交互に実行される。
【0038】図8は、図7のマスター音源207Mの各
前半処理中のチャンネルの様子を示す。図8の「処理A
前半ch」は、図7の処理A前半処理を行なう区間70
1におけるチャンネルの様子を示す。図8の「処理B前
半ch」は、図7の処理B前半処理を行なう区間702
におけるチャンネルの様子を示す。図8の「取り込み前
半ch」は、図7の取り込み前半処理を行なう区間70
3におけるチャンネルの様子を示す。図8の「補間前半
ch」は、図7の補間前半処理を行なう区間704にお
けるチャンネルの様子を示す。図8はマスター音源20
7Mの前半処理におけるチャンネルの様子を示している
が、マスター音源207Mの後半処理、スレーブ音源2
07Sの前半および後半処理についても同様である。な
お、図8では各チャンネルタイミングを縦に並べて揃え
て記載しているが、実際には各処理のタイミングは図7
に示すようにずれている。
前半処理中のチャンネルの様子を示す。図8の「処理A
前半ch」は、図7の処理A前半処理を行なう区間70
1におけるチャンネルの様子を示す。図8の「処理B前
半ch」は、図7の処理B前半処理を行なう区間702
におけるチャンネルの様子を示す。図8の「取り込み前
半ch」は、図7の取り込み前半処理を行なう区間70
3におけるチャンネルの様子を示す。図8の「補間前半
ch」は、図7の補間前半処理を行なう区間704にお
けるチャンネルの様子を示す。図8はマスター音源20
7Mの前半処理におけるチャンネルの様子を示している
が、マスター音源207Mの後半処理、スレーブ音源2
07Sの前半および後半処理についても同様である。な
お、図8では各チャンネルタイミングを縦に並べて揃え
て記載しているが、実際には各処理のタイミングは図7
に示すようにずれている。
【0039】図7および図8から分かるように、処理A
および補間処理は、1サンプリング周期を等分割した時
分割チャンネルタイミングにしたがって、順番にチャン
ネルごとの処理が行なわれる。一方、処理Bおよび取り
込み処理は、時分割チャンネルタイミングとは独立した
タイミングで行なわれる。具体的には、処理Bおよび取
り込み処理は、時分割チャンネルタイミングで1チャン
ネル分の処理を行なう時間幅で4アクセス分の処理Bお
よび取り込み処理ができるようになっている。さらに、
処理Bおよび取り込み処理は、時分割チャンネルタイミ
ングとは無関係に、アクセスが必要なチャンネルについ
て前詰めで連続して処理するようになっている。
および補間処理は、1サンプリング周期を等分割した時
分割チャンネルタイミングにしたがって、順番にチャン
ネルごとの処理が行なわれる。一方、処理Bおよび取り
込み処理は、時分割チャンネルタイミングとは独立した
タイミングで行なわれる。具体的には、処理Bおよび取
り込み処理は、時分割チャンネルタイミングで1チャン
ネル分の処理を行なう時間幅で4アクセス分の処理Bお
よび取り込み処理ができるようになっている。さらに、
処理Bおよび取り込み処理は、時分割チャンネルタイミ
ングとは無関係に、アクセスが必要なチャンネルについ
て前詰めで連続して処理するようになっている。
【0040】例えば、図7および図8において、処理A
前半の区間701では、処理A演算回路301により、
第0〜第15チャンネルについて時分割チャンネルタイ
ミングにしたがって順番に各チャンネルのアドレスを作
成している。この区間701の終了時点では、第0〜第
15チャンネルに関するアドレスがARAM302に設
定済みである。
前半の区間701では、処理A演算回路301により、
第0〜第15チャンネルについて時分割チャンネルタイ
ミングにしたがって順番に各チャンネルのアドレスを作
成している。この区間701の終了時点では、第0〜第
15チャンネルに関するアドレスがARAM302に設
定済みである。
【0041】次に、処理B前半の区間702では、処理
B演算回路305により、時分割チャンネルタイミング
とは異なるタイミング(図8)で、第0チャンネルのア
ドレスを1つ、第2チャンネルのアドレスを3つ、第5
チャンネルのアドレスを1つ、…というように、第0〜
第15チャンネルのアドレスの送り出しを行なってい
る。1アドレス送り出しを行なう区間の時間幅は、時分
割チャンネルタイミングで1チャンネル分の処理を行な
う区間の時間幅の1/4である。各チャンネルで送り出
すアドレスの個数が区々であるのは、波形バッファ30
7に過去の波形サンプルが保持されており各チャンネル
ごとに必要な個数の波形サンプルのみ読み出せば充分な
ため、あるいは発音する必要がなくアドレスの送り出し
が不要なチャンネルがあるためである。
B演算回路305により、時分割チャンネルタイミング
とは異なるタイミング(図8)で、第0チャンネルのア
ドレスを1つ、第2チャンネルのアドレスを3つ、第5
チャンネルのアドレスを1つ、…というように、第0〜
第15チャンネルのアドレスの送り出しを行なってい
る。1アドレス送り出しを行なう区間の時間幅は、時分
割チャンネルタイミングで1チャンネル分の処理を行な
う区間の時間幅の1/4である。各チャンネルで送り出
すアドレスの個数が区々であるのは、波形バッファ30
7に過去の波形サンプルが保持されており各チャンネル
ごとに必要な個数の波形サンプルのみ読み出せば充分な
ため、あるいは発音する必要がなくアドレスの送り出し
が不要なチャンネルがあるためである。
【0042】ここ(図8)では、それぞれ、第0チャン
ネルは1サンプル、第2チャンネルは3サンプル、第5
チャンネルは1サンプル、第7チャンネルは2サンプル
の波形メモリからの読み出しが必要な場合を示してい
る。その他のチャンネルは、発音していないか、既に読
み出して波形バッファ307に記憶されたサンプルのみ
で楽音が生成できるチャンネルである。なお、発音して
いないチャンネルとは、EG等、音量レベルの下げられ
たチャンネルであり、そのチャンネルに関しては処理B
における波形メモリのアクセスタイミングを使用しない
ように、制御がなされている。
ネルは1サンプル、第2チャンネルは3サンプル、第5
チャンネルは1サンプル、第7チャンネルは2サンプル
の波形メモリからの読み出しが必要な場合を示してい
る。その他のチャンネルは、発音していないか、既に読
み出して波形バッファ307に記憶されたサンプルのみ
で楽音が生成できるチャンネルである。なお、発音して
いないチャンネルとは、EG等、音量レベルの下げられ
たチャンネルであり、そのチャンネルに関しては処理B
における波形メモリのアクセスタイミングを使用しない
ように、制御がなされている。
【0043】取り込み前半の区間703では、処理B前
半の区間702のアドレス送り出しのタイミングにした
がって、波形メモリ208から読み出された波形サンプ
ルを取り込み回路308により取り込む。取り込んだ波
形サンプルは波形バッファ307に書き込む。
半の区間702のアドレス送り出しのタイミングにした
がって、波形メモリ208から読み出された波形サンプ
ルを取り込み回路308により取り込む。取り込んだ波
形サンプルは波形バッファ307に書き込む。
【0044】補間前半の区間704では、時分割チャン
ネルタイミングにしたがって、補間回路306によりサ
ンプルRAMのデータを用いて第0〜第15チャンネル
に関する補間処理を行なう。あるチャンネルについて補
間を行なう時点で、補間を行なうために必要な当該チャ
ンネルの波形サンプルはサンプルRAMに用意されてい
るようになっている。
ネルタイミングにしたがって、補間回路306によりサ
ンプルRAMのデータを用いて第0〜第15チャンネル
に関する補間処理を行なう。あるチャンネルについて補
間を行なう時点で、補間を行なうために必要な当該チャ
ンネルの波形サンプルはサンプルRAMに用意されてい
るようになっている。
【0045】以上のようにして、第0〜第15チャンネ
ルの楽音波形データが生成される。後半の区間を用いて
処理される第16〜第31チャンネルについても同様で
ある。また、スレーブ音源の前半および後半における処
理タイミングも同様である。特に、マスター音源とスレ
ーブ音源で波形メモリ208を共有するため、処理B
(波形メモリへのアドレスの送り出し)と取り込み処理
(波形メモリからの波形サンプルの取り込み)は、図7
のようにマスター音源とスレーブ音源とで交互に行なう
ようにタイミングが調整されている。
ルの楽音波形データが生成される。後半の区間を用いて
処理される第16〜第31チャンネルについても同様で
ある。また、スレーブ音源の前半および後半における処
理タイミングも同様である。特に、マスター音源とスレ
ーブ音源で波形メモリ208を共有するため、処理B
(波形メモリへのアドレスの送り出し)と取り込み処理
(波形メモリからの波形サンプルの取り込み)は、図7
のようにマスター音源とスレーブ音源とで交互に行なう
ようにタイミングが調整されている。
【0046】処理B演算回路305における処理Bおよ
び取り込み処理が時分割チャンネルタイミングとは異な
るタイミングで行なわれることにより、空きタイムスロ
ットが出現する。図8の区間702,703中、「−c
h」は何れのチャンネルのサンプル読み出しにも使用さ
れていない空きタイムスロットを示す。この空きタイム
スロットの区間は、任意に使用可能である。本形態例で
は、この空きタイムスロットの区間で、図1のリフレッ
シュカウンタ108による波形メモリ208のリフレッ
シュ処理、またはCPUアクセス制御部109による波
形メモリ208へのアクセス処理を行なうようになって
いる。
び取り込み処理が時分割チャンネルタイミングとは異な
るタイミングで行なわれることにより、空きタイムスロ
ットが出現する。図8の区間702,703中、「−c
h」は何れのチャンネルのサンプル読み出しにも使用さ
れていない空きタイムスロットを示す。この空きタイム
スロットの区間は、任意に使用可能である。本形態例で
は、この空きタイムスロットの区間で、図1のリフレッ
シュカウンタ108による波形メモリ208のリフレッ
シュ処理、またはCPUアクセス制御部109による波
形メモリ208へのアクセス処理を行なうようになって
いる。
【0047】次に、図3の波形読み出し補間回路102
による4つの処理について、以下の(1)〜(4)で詳
細に説明する。
による4つの処理について、以下の(1)〜(4)で詳
細に説明する。
【0048】(1)処理A演算回路301で実行する処
理Aについて詳しく説明する。あるチャンネルで楽音の
発音開始が指示されると、当該チャンネルに関する処理
Aが処理A演算回路301で実行開始される。処理A
は、図7,8で説明したように時分割チャンネルタイミ
ングで実行される。まず、1番始めの当該チャンネルの
タイムスロット(ノートオン立上がり直後)で、処理A
演算回路301は、当該チャンネルに対応するARAM
302(図5)のアドレス格納領域(ADHとADL)
を初期化する。初期値は、読み出すべき波形データの先
頭アドレスであり、CPU204が制御レジスタ101
を介して指定する。次回以降の当該チャンネルのタイム
スロットで、処理A演算回路301は、当該チャンネル
に対応するARAM302のアドレス格納領域の現アド
レス値に、当該チャンネルにおけるアドレスの進み値
(周波数ナンバ)であるピッチPITCHを加算する。
加算結果は、元のARAM302のアドレス格納領域に
格納される。ピッチPITCHは、CPU204が制御
レジスタ101を介して指定する。
理Aについて詳しく説明する。あるチャンネルで楽音の
発音開始が指示されると、当該チャンネルに関する処理
Aが処理A演算回路301で実行開始される。処理A
は、図7,8で説明したように時分割チャンネルタイミ
ングで実行される。まず、1番始めの当該チャンネルの
タイムスロット(ノートオン立上がり直後)で、処理A
演算回路301は、当該チャンネルに対応するARAM
302(図5)のアドレス格納領域(ADHとADL)
を初期化する。初期値は、読み出すべき波形データの先
頭アドレスであり、CPU204が制御レジスタ101
を介して指定する。次回以降の当該チャンネルのタイム
スロットで、処理A演算回路301は、当該チャンネル
に対応するARAM302のアドレス格納領域の現アド
レス値に、当該チャンネルにおけるアドレスの進み値
(周波数ナンバ)であるピッチPITCHを加算する。
加算結果は、元のARAM302のアドレス格納領域に
格納される。ピッチPITCHは、CPU204が制御
レジスタ101を介して指定する。
【0049】この加算は、具体的には、当該チャンネル
の現アドレス値のアドレス小数部にピッチPITCHを
加算し、加算結果のうちアドレス小数部のビット数より
上位に溢れた値を現アドレス値のアドレス整数部に加算
することにより行なう。この溢れ値は、新たに読み出す
べき波形サンプルの数になっている。波形読み出し補間
回路102では波形バッファ307にそれまでに読み出
した波形サンプルが保持されており、上記溢れ値が波形
メモリ上での読み出しアドレスの進み量になっているか
らである。
の現アドレス値のアドレス小数部にピッチPITCHを
加算し、加算結果のうちアドレス小数部のビット数より
上位に溢れた値を現アドレス値のアドレス整数部に加算
することにより行なう。この溢れ値は、新たに読み出す
べき波形サンプルの数になっている。波形読み出し補間
回路102では波形バッファ307にそれまでに読み出
した波形サンプルが保持されており、上記溢れ値が波形
メモリ上での読み出しアドレスの進み量になっているか
らである。
【0050】先述した図8は、溢れ値が、第0チャンネ
ルで1、第2チャンネルで3、第5チャンネルで1、第
7チャンネルで2の場合である。なお、その他のチャン
ネルは、発音していない、または、溢れ値が0のチャン
ネルである。
ルで1、第2チャンネルで3、第5チャンネルで1、第
7チャンネルで2の場合である。なお、その他のチャン
ネルは、発音していない、または、溢れ値が0のチャン
ネルである。
【0051】なお、波形メモリ208上の波形データは
アタック部とそれに引き続くループ部とから構成され、
波形サンプルのアクセスはアタック部の先頭から開始さ
れ、アタック部の読み出しが終わるとループ部に入る。
以後は必要に応じてループ部の波形サンプルを繰り返し
読み出す。そのため、現アドレス値がループ部最終位置
に至ったときは、ループ部の先頭付近に戻す必要があ
る。処理A演算回路301は、上述のアドレスを作成す
る処理中で、このようなアドレスをループ部先頭付近に
戻す処理も行なっている。
アタック部とそれに引き続くループ部とから構成され、
波形サンプルのアクセスはアタック部の先頭から開始さ
れ、アタック部の読み出しが終わるとループ部に入る。
以後は必要に応じてループ部の波形サンプルを繰り返し
読み出す。そのため、現アドレス値がループ部最終位置
に至ったときは、ループ部の先頭付近に戻す必要があ
る。処理A演算回路301は、上述のアドレスを作成す
る処理中で、このようなアドレスをループ部先頭付近に
戻す処理も行なっている。
【0052】以上のように、当該チャンネルのタイムス
ロットで、ARAM302上の現アドレスにピッチ(周
波数ナンバ)を累算していき、当該チャンネルに関する
順次アドレスを得る。
ロットで、ARAM302上の現アドレスにピッチ(周
波数ナンバ)を累算していき、当該チャンネルに関する
順次アドレスを得る。
【0053】処理Aでは、上述した各チャンネルのアド
レスを作成する処理の他、制御RAM304内の書き込
み位置を指す書き込みポインタを1つ進め、各チャンネ
ルごとの必要サンプル数を、制御RAM304(図4)
の書き込みポインタで指す位置に格納する処理を行な
う。各チャンネルごとの必要サンプル数は、上述の現ア
ドレス値のアドレス小数部にピッチPITCHを加算し
た加算結果のうちアドレス小数部のビット数より上位に
溢れた値に一致しているから、この溢れ値を得てチャン
ネル番号とともに制御RAM304に格納する。
レスを作成する処理の他、制御RAM304内の書き込
み位置を指す書き込みポインタを1つ進め、各チャンネ
ルごとの必要サンプル数を、制御RAM304(図4)
の書き込みポインタで指す位置に格納する処理を行な
う。各チャンネルごとの必要サンプル数は、上述の現ア
ドレス値のアドレス小数部にピッチPITCHを加算し
た加算結果のうちアドレス小数部のビット数より上位に
溢れた値に一致しているから、この溢れ値を得てチャン
ネル番号とともに制御RAM304に格納する。
【0054】さらに、処理Aでは、上述の各チャンネル
のアドレス作成、および各チャンネルに関する必要サン
プル数の格納の処理の他、所定の複数のチャンネルごと
に必要な波形メモリアクセス数(本形態例ではサンプル
数とアクセス数とは一致する)を累算する処理をも行な
う。具体的には、マスター音源207M内の波形読み出
し補間回路102の処理A演算回路301では、第0〜
第15チャンネルのアドレス作成(前半処理)と並行し
てこれらのチャンネルについて読み出すべき必要なサン
プル数を累算し、さらに第16〜第31チャンネルのア
ドレス作成(後半処理)と並行してこれらのチャンネル
について読み出すべき必要なサンプル数を累算する。ま
た、スレーブ音源207S内の波形読み出し補間回路1
02の処理A演算回路301では、第32〜第47チャ
ンネルのアドレス作成(前半処理)と並行してこれらの
チャンネルについて読み出すべき必要なサンプル数を累
算し、さらに第48〜第63チャンネルのアドレス作成
(後半処理)と並行してこれらのチャンネルについて読
み出すべき必要なサンプル数を累算する。
のアドレス作成、および各チャンネルに関する必要サン
プル数の格納の処理の他、所定の複数のチャンネルごと
に必要な波形メモリアクセス数(本形態例ではサンプル
数とアクセス数とは一致する)を累算する処理をも行な
う。具体的には、マスター音源207M内の波形読み出
し補間回路102の処理A演算回路301では、第0〜
第15チャンネルのアドレス作成(前半処理)と並行し
てこれらのチャンネルについて読み出すべき必要なサン
プル数を累算し、さらに第16〜第31チャンネルのア
ドレス作成(後半処理)と並行してこれらのチャンネル
について読み出すべき必要なサンプル数を累算する。ま
た、スレーブ音源207S内の波形読み出し補間回路1
02の処理A演算回路301では、第32〜第47チャ
ンネルのアドレス作成(前半処理)と並行してこれらの
チャンネルについて読み出すべき必要なサンプル数を累
算し、さらに第48〜第63チャンネルのアドレス作成
(後半処理)と並行してこれらのチャンネルについて読
み出すべき必要なサンプル数を累算する。
【0055】アキュムレータ(ACC)303は、この
累算を行なうためのアキュムレータである。マスターお
よびスレーブの音源207M,207Sのそれぞれにお
いて、前半処理と後半処理に分けて累算を行なうため、
アキュムレータ(ACC)303は実際には前半アキュ
ムレータと後半アキュムレータとの2つのアキュムレー
タからなる。単に、アキュムレータ(ACC)303と
いうときは、前半処理では前半アキュムレータ、後半処
理では後半アキュムレータのことを指すものとする。
累算を行なうためのアキュムレータである。マスターお
よびスレーブの音源207M,207Sのそれぞれにお
いて、前半処理と後半処理に分けて累算を行なうため、
アキュムレータ(ACC)303は実際には前半アキュ
ムレータと後半アキュムレータとの2つのアキュムレー
タからなる。単に、アキュムレータ(ACC)303と
いうときは、前半処理では前半アキュムレータ、後半処
理では後半アキュムレータのことを指すものとする。
【0056】具体的に累算の処理は、以下のように行な
う。まず、前半処理および後半処理の開始時点でアキュ
ムレータ(ACC)303を初期設定(ゼロクリア)す
る。以後は、前半処理および後半処理の最後のチャンネ
ルまで、必要なサンプル数(すなわち、アクセス数)を
アキュムレータ(ACC)303に累算していく。各チ
ャンネルについて読み出すべき必要なサンプル数は、上
記制御RAM304に書き込む際に分かる。
う。まず、前半処理および後半処理の開始時点でアキュ
ムレータ(ACC)303を初期設定(ゼロクリア)す
る。以後は、前半処理および後半処理の最後のチャンネ
ルまで、必要なサンプル数(すなわち、アクセス数)を
アキュムレータ(ACC)303に累算していく。各チ
ャンネルについて読み出すべき必要なサンプル数は、上
記制御RAM304に書き込む際に分かる。
【0057】さらに処理Aでは、上記のように累算した
結果であるアクセス回数累算値が、実際にアクセスを実
行する処理B前半区間または後半区間における最大アク
セス可能数を超えていないか判定し、各チャンネルごと
のアクセス回数および補間次数を決定する。本形態例で
は、この最大アクセス可能数は32である。図8で述べ
たように処理Bで1アドレス送り出しを行なう区間の時
間幅は時分割チャンネルタイミングで1チャンネル分の
処理を行なう区間の時間幅の1/4であり、処理B前半
区間および処理B後半区間ではそれぞれ32アクセスが
可能だからである。したがって、アキュムレータACC
のアクセス回数累算値が32を超えていないなら、制御
RAM304に書き込んだ前半または後半の各チャンネ
ルのサンプル数はすべてアクセスできるから、そのサン
プル数に応じて各チャンネルのアクセス数および補間次
数を決定する。この場合は、前半または後半の全16チ
ャンネルで6点補間が可能であるということである。一
方、アキュムレータACCのアクセス回数累算値が32
を超えていたなら、制御RAM304に書き込んだ各チ
ャンネルのサンプル数をすべてアクセスすることはでき
ないので、何れかのチャンネルのアクセス回数を削減し
補間次数を落とす。アクセス回数を削減するチャンネル
の決定方法としては、例えば下記のおよびのような
方法がある。
結果であるアクセス回数累算値が、実際にアクセスを実
行する処理B前半区間または後半区間における最大アク
セス可能数を超えていないか判定し、各チャンネルごと
のアクセス回数および補間次数を決定する。本形態例で
は、この最大アクセス可能数は32である。図8で述べ
たように処理Bで1アドレス送り出しを行なう区間の時
間幅は時分割チャンネルタイミングで1チャンネル分の
処理を行なう区間の時間幅の1/4であり、処理B前半
区間および処理B後半区間ではそれぞれ32アクセスが
可能だからである。したがって、アキュムレータACC
のアクセス回数累算値が32を超えていないなら、制御
RAM304に書き込んだ前半または後半の各チャンネ
ルのサンプル数はすべてアクセスできるから、そのサン
プル数に応じて各チャンネルのアクセス数および補間次
数を決定する。この場合は、前半または後半の全16チ
ャンネルで6点補間が可能であるということである。一
方、アキュムレータACCのアクセス回数累算値が32
を超えていたなら、制御RAM304に書き込んだ各チ
ャンネルのサンプル数をすべてアクセスすることはでき
ないので、何れかのチャンネルのアクセス回数を削減し
補間次数を落とす。アクセス回数を削減するチャンネル
の決定方法としては、例えば下記のおよびのような
方法がある。
【0058】チャンネル順に片端からアクセス回数を
削減する。 その時点で音量レベルの小さいチャンネルからアクセ
ス回数を削減する。このようにすると楽音への影響が小
さい。各チャンネルの音量レベルは、エンベロープ値か
ら分かる。
削減する。 その時点で音量レベルの小さいチャンネルからアクセ
ス回数を削減する。このようにすると楽音への影響が小
さい。各チャンネルの音量レベルは、エンベロープ値か
ら分かる。
【0059】なお、本形態例では各チャンネルで基本的
に6点補間を行なうが、アクセス回数を削減する際に
は、4点または2点補間に落とし、さらに最低限2点補
間ができるようにサンプル数を確保するものとする。し
たがって、2点補間ができなくなるほどのアクセス回数
削減は行なわない(最悪でも各チャンネル2回のアクセ
スが確保される。そのため、各処理Bでは16チャンネ
ル×2=32回のアクセススロットがある)。
に6点補間を行なうが、アクセス回数を削減する際に
は、4点または2点補間に落とし、さらに最低限2点補
間ができるようにサンプル数を確保するものとする。し
たがって、2点補間ができなくなるほどのアクセス回数
削減は行なわない(最悪でも各チャンネル2回のアクセ
スが確保される。そのため、各処理Bでは16チャンネ
ル×2=32回のアクセススロットがある)。
【0060】図10に、本形態例におけるアクセス回数
削減の具体例(削減しない例も含む)を示す。図10
(a)〜(h)において、進み量とは、波形メモリアド
レス(詳しくはARAM302のアドレス整数部)の進
み量(先述した溢れ値と同じ値)であり、各チャンネル
において読み出すべき必要なサンプル数のことである。
下向きの矢印↓は、アドレス進み量を示すための便宜的
な基準位置(前回の同チャンネルの処理Bで読み込みの
完了しているサンプル位置)を示す。×、○、および●
は、波形データの1サンプルを示す。●は既に波形バッ
ファ307内に存在するサンプルを示し、○はこれから
読み出すべきサンプルを示す。
削減の具体例(削減しない例も含む)を示す。図10
(a)〜(h)において、進み量とは、波形メモリアド
レス(詳しくはARAM302のアドレス整数部)の進
み量(先述した溢れ値と同じ値)であり、各チャンネル
において読み出すべき必要なサンプル数のことである。
下向きの矢印↓は、アドレス進み量を示すための便宜的
な基準位置(前回の同チャンネルの処理Bで読み込みの
完了しているサンプル位置)を示す。×、○、および●
は、波形データの1サンプルを示す。●は既に波形バッ
ファ307内に存在するサンプルを示し、○はこれから
読み出すべきサンプルを示す。
【0061】図10(a)は、アドレスの進み量が0の
場合を示す。6点補間に必要な6点分のサンプルは波形
バッファ307内に存在するので、新たな読み出しは不
要でありアクセス回数は0である。当然、アクセス回数
の削減は行なわれない。
場合を示す。6点補間に必要な6点分のサンプルは波形
バッファ307内に存在するので、新たな読み出しは不
要でありアクセス回数は0である。当然、アクセス回数
の削減は行なわれない。
【0062】図10(b)は、アドレスの進み量が1の
場合を示す。必要な6点分のサンプルのうち5点は既に
波形バッファ307内に存在するから、1サンプルのみ
新たに読み出す。そのため、アクセス回数は1回必要で
ある。この場合、アクセス回数の削減は行なわない。
場合を示す。必要な6点分のサンプルのうち5点は既に
波形バッファ307内に存在するから、1サンプルのみ
新たに読み出す。そのため、アクセス回数は1回必要で
ある。この場合、アクセス回数の削減は行なわない。
【0063】図10(c)は、アドレスの進み量が2の
場合を示す。必要な6点分のサンプルのうち4点は既に
波形バッファ307内に存在するから、2サンプルを新
たに読み出す。アクセス回数は2回必要である。この場
合にアクセス回数の削減を行なうときは、図10(c)
の下側に記載したように補間次数を6点から4点に落と
し、4点補間に必要な1サンプルを新たに読み出すこと
としてアクセス回数を削減する。
場合を示す。必要な6点分のサンプルのうち4点は既に
波形バッファ307内に存在するから、2サンプルを新
たに読み出す。アクセス回数は2回必要である。この場
合にアクセス回数の削減を行なうときは、図10(c)
の下側に記載したように補間次数を6点から4点に落と
し、4点補間に必要な1サンプルを新たに読み出すこと
としてアクセス回数を削減する。
【0064】図10(d)は、アドレスの進み量が3の
場合を示す。必要な6点分のサンプルのうち3点は既に
波形バッファ307内に存在するから、3サンプルを新
たに読み出す。アクセス回数は3回必要である。この場
合にアクセス回数の削減を行なうときは、図10(d)
の下側に記載したように、補間次数を6点から4点また
は2点に落とし、4点または2点補間に必要な2または
1サンプルを新たに読み出すこととしてアクセス回数を
削減する。
場合を示す。必要な6点分のサンプルのうち3点は既に
波形バッファ307内に存在するから、3サンプルを新
たに読み出す。アクセス回数は3回必要である。この場
合にアクセス回数の削減を行なうときは、図10(d)
の下側に記載したように、補間次数を6点から4点また
は2点に落とし、4点または2点補間に必要な2または
1サンプルを新たに読み出すこととしてアクセス回数を
削減する。
【0065】図10(e)は、アドレスの進み量が4の
場合を示す。必要な6点分のサンプルのうち2点は既に
波形バッファ307内に存在するから、4サンプルを新
たに読み出す。アクセス回数は4回必要である。この場
合にアクセス回数の削減を行なうときは、図10(e)
の下側に記載したように、補間次数を6点から4点また
は2点に落とし、4点または2点補間に必要な3または
2サンプルを新たに読み出すこととしてアクセス回数を
削減する。
場合を示す。必要な6点分のサンプルのうち2点は既に
波形バッファ307内に存在するから、4サンプルを新
たに読み出す。アクセス回数は4回必要である。この場
合にアクセス回数の削減を行なうときは、図10(e)
の下側に記載したように、補間次数を6点から4点また
は2点に落とし、4点または2点補間に必要な3または
2サンプルを新たに読み出すこととしてアクセス回数を
削減する。
【0066】図10(f)は、アドレスの進み量が5の
場合を示す。必要な6点分のサンプルのうち1点は既に
波形バッファ307内に存在するから、5サンプルを新
たに読み出す。アクセス回数は5回必要である。この場
合にアクセス回数の削減を行なうときは、図10(f)
の下側に記載したように、補間次数を6点から4点また
は2点に落とし、4点または2点補間に必要な4または
2サンプルを新たに読み出すこととしてアクセス回数を
削減する。
場合を示す。必要な6点分のサンプルのうち1点は既に
波形バッファ307内に存在するから、5サンプルを新
たに読み出す。アクセス回数は5回必要である。この場
合にアクセス回数の削減を行なうときは、図10(f)
の下側に記載したように、補間次数を6点から4点また
は2点に落とし、4点または2点補間に必要な4または
2サンプルを新たに読み出すこととしてアクセス回数を
削減する。
【0067】図10(g)は、アドレスの進み量が6の
場合を示す。必要な6点分のサンプルは波形バッファ3
07内に存在しないから、6サンプルをすべて読み出
す。アクセス回数は6回必要である。この場合にアクセ
ス回数の削減を行なうときは、図10(g)の下側に記
載したように、補間次数を6点から4点または2点に落
とし、4点または2点補間に必要な4または2サンプル
を新たに読み出すこととしてアクセス回数を削減する。
図10(h)の進み量が7の場合も、図10(g)と同
様である。
場合を示す。必要な6点分のサンプルは波形バッファ3
07内に存在しないから、6サンプルをすべて読み出
す。アクセス回数は6回必要である。この場合にアクセ
ス回数の削減を行なうときは、図10(g)の下側に記
載したように、補間次数を6点から4点または2点に落
とし、4点または2点補間に必要な4または2サンプル
を新たに読み出すこととしてアクセス回数を削減する。
図10(h)の進み量が7の場合も、図10(g)と同
様である。
【0068】(2)次に、処理B演算回路305で実行
する処理Bについて詳しく説明する。処理B演算回路3
05は、時分割チャンネルタイミングとは異なるタイミ
ングで、処理B、すなわちアドレスを波形メモリ208
に向けて送り出す処理を行なう。図8で説明したよう
に、時分割チャンネルタイミングの1チャンネル当りの
時間内で4アクセス(4サンプルの読み出し)が可能で
ある。処理Bの波形メモリアクセス処理は、処理Aの時
分割チャンネルタイミングにしたがった処理とは関係が
なく、読み出しが必要な各チャンネルについて順次連続
して行なわれる。読み出しが必要なチャンネルとサンプ
ル数は、上述の処理Aで決定されている。また、図7で
説明したように、あるチャンネルについて処理Bを行な
うときには既に当該チャンネルに関する処理Aは実行済
みであり、当該チャンネルのアドレス値がARAM30
2にセットされている。
する処理Bについて詳しく説明する。処理B演算回路3
05は、時分割チャンネルタイミングとは異なるタイミ
ングで、処理B、すなわちアドレスを波形メモリ208
に向けて送り出す処理を行なう。図8で説明したよう
に、時分割チャンネルタイミングの1チャンネル当りの
時間内で4アクセス(4サンプルの読み出し)が可能で
ある。処理Bの波形メモリアクセス処理は、処理Aの時
分割チャンネルタイミングにしたがった処理とは関係が
なく、読み出しが必要な各チャンネルについて順次連続
して行なわれる。読み出しが必要なチャンネルとサンプ
ル数は、上述の処理Aで決定されている。また、図7で
説明したように、あるチャンネルについて処理Bを行な
うときには既に当該チャンネルに関する処理Aは実行済
みであり、当該チャンネルのアドレス値がARAM30
2にセットされている。
【0069】アドレス送り出しの処理を説明する。ま
ず、図4に示す制御RAM304内の読み出し位置を指
す読み出しポインタの値が、当該チャンネルに関する処
理A前半または後半処理の終了時点の書き込みポインタ
の値と一致しているか否か判定する。例えば、当該チャ
ンネルの処理Bが図7の処理B前半区間702内の処理
である場合は、読み出しポインタの値を、処理A前半区
間701の終了時点の書き込みポインタの値と比較する
ということである。これが一致すれば、その処理Bの区
間で読み出すべきサンプルはもう無いということだか
ら、後述するアクセス余り時間の処理を行なう。
ず、図4に示す制御RAM304内の読み出し位置を指
す読み出しポインタの値が、当該チャンネルに関する処
理A前半または後半処理の終了時点の書き込みポインタ
の値と一致しているか否か判定する。例えば、当該チャ
ンネルの処理Bが図7の処理B前半区間702内の処理
である場合は、読み出しポインタの値を、処理A前半区
間701の終了時点の書き込みポインタの値と比較する
ということである。これが一致すれば、その処理Bの区
間で読み出すべきサンプルはもう無いということだか
ら、後述するアクセス余り時間の処理を行なう。
【0070】読み出しポインタの値が上記書き込みポイ
ンタの値に一致していないときは、読み出しポインタを
1つ進めて、読み出しポインタが指すチャンネル番号と
サンプル数を制御RAM304から読み出す。そして、
そのサンプル数分の当該チャンネル番号に関するアドレ
スを波形メモリ208に送り出す。具体的には、ARA
M302から当該チャンネルの現アドレス整数部を読み
出し、必要なサンプル数のサンプルを順次アクセスする
ための複数のオフセットを加算し、さらにアドレス基準
値WAを加算して(処理Aで作成したアドレスは相対ア
ドレスであるので、絶対アドレスに変換するためアドレ
ス基準値を加算する)、最終的な読み出しアドレスWM
Aとして波形メモリ208に送り出す。アドレス送り出
しのタイミングについては、図7,8で説明した。図8
における各アクセスタイミングのオフセットは、例え
ば、第0チャンネルでは0、第2チャンネルの1回目が
−2、2回目が−1、3回目が0、第5チャンネルの1
回目が−1、2回目が0等で、先に説明した図10の○
に対応するサンプルが確実に読み出されるようになって
いる。以上のようにして読み出しポインタを進めながら
アドレスを連続的に送り出していく。読み出しポインタ
の値が上記書き込みポインタの値に一致したときは、ア
ドレス送り出しの処理を終了する。
ンタの値に一致していないときは、読み出しポインタを
1つ進めて、読み出しポインタが指すチャンネル番号と
サンプル数を制御RAM304から読み出す。そして、
そのサンプル数分の当該チャンネル番号に関するアドレ
スを波形メモリ208に送り出す。具体的には、ARA
M302から当該チャンネルの現アドレス整数部を読み
出し、必要なサンプル数のサンプルを順次アクセスする
ための複数のオフセットを加算し、さらにアドレス基準
値WAを加算して(処理Aで作成したアドレスは相対ア
ドレスであるので、絶対アドレスに変換するためアドレ
ス基準値を加算する)、最終的な読み出しアドレスWM
Aとして波形メモリ208に送り出す。アドレス送り出
しのタイミングについては、図7,8で説明した。図8
における各アクセスタイミングのオフセットは、例え
ば、第0チャンネルでは0、第2チャンネルの1回目が
−2、2回目が−1、3回目が0、第5チャンネルの1
回目が−1、2回目が0等で、先に説明した図10の○
に対応するサンプルが確実に読み出されるようになって
いる。以上のようにして読み出しポインタを進めながら
アドレスを連続的に送り出していく。読み出しポインタ
の値が上記書き込みポインタの値に一致したときは、ア
ドレス送り出しの処理を終了する。
【0071】図7,8でも説明したように、上記アドレ
ス送り出しの処理は時分割チャンネルタイミングとは異
なるタイミングで行なわれるので、アクセス余り時間と
しての空きタイムスロットが出現する。そこで、アドレ
ス送り出しの処理の後、処理B演算回路305の制御の
もとで、この余り時間を利用して図1のリフレッシュカ
ウンタ108による波形メモリ208のリフレッシュ処
理、またはCPUアクセス制御部109による波形メモ
リ208へのアクセス処理を行なう。アクセス余り時間
が無くなったら、処理を終了する。
ス送り出しの処理は時分割チャンネルタイミングとは異
なるタイミングで行なわれるので、アクセス余り時間と
しての空きタイムスロットが出現する。そこで、アドレ
ス送り出しの処理の後、処理B演算回路305の制御の
もとで、この余り時間を利用して図1のリフレッシュカ
ウンタ108による波形メモリ208のリフレッシュ処
理、またはCPUアクセス制御部109による波形メモ
リ208へのアクセス処理を行なう。アクセス余り時間
が無くなったら、処理を終了する。
【0072】(3)次に、取り込み回路308で実行す
る取り込み処理について説明する。取り込み回路308
は、処理B演算回路305から送り出されたアドレスW
MAにより読み出された波形サンプルを取り込み、波形
バッファ307に書き込む。取り込みの結果、波形バッ
ファ307には、基本的に各チャンネル6サンプルが用
意されることになる。ただし、処理Aで補間次数を4点
または2点補間に落としたチャンネルがある場合、当該
チャンネルについては、それらの補間で必要なサンプル
が波形バッファ307に用意される。
る取り込み処理について説明する。取り込み回路308
は、処理B演算回路305から送り出されたアドレスW
MAにより読み出された波形サンプルを取り込み、波形
バッファ307に書き込む。取り込みの結果、波形バッ
ファ307には、基本的に各チャンネル6サンプルが用
意されることになる。ただし、処理Aで補間次数を4点
または2点補間に落としたチャンネルがある場合、当該
チャンネルについては、それらの補間で必要なサンプル
が波形バッファ307に用意される。
【0073】(4)次に、補間回路306で実行する補
間処理について詳しく説明する。補間回路306は、時
分割チャンネルタイミングにしたがって、チャンネルご
とに順に補間処理を行なう。1つのチャンネルに関する
補間処理は、以下のとおりである。
間処理について詳しく説明する。補間回路306は、時
分割チャンネルタイミングにしたがって、チャンネルご
とに順に補間処理を行なう。1つのチャンネルに関する
補間処理は、以下のとおりである。
【0074】まず、波形バッファ307から当該チャン
ネルの6サンプルを順次読み出す。そして、各サンプル
に所定の補間係数を乗算して累算する。各サンプルに乗
算する補間係数は、当該チャンネルのアドレス小数部F
RACに基づいて決定する。アドレス小数部FRAC
は、ARAM302から処理B演算回路305経由で入
力する。以上により、補間済みの楽音波形データが生成
出力される。なお、上述した波形メモリのアクセス回数
削減により補間次数を6点から4点あるいは2点に落と
したチャンネルについては、6サンプルでなく4または
2サンプルを用いて4点または2点補間を行ない補間済
みの楽音波形データを得る。
ネルの6サンプルを順次読み出す。そして、各サンプル
に所定の補間係数を乗算して累算する。各サンプルに乗
算する補間係数は、当該チャンネルのアドレス小数部F
RACに基づいて決定する。アドレス小数部FRAC
は、ARAM302から処理B演算回路305経由で入
力する。以上により、補間済みの楽音波形データが生成
出力される。なお、上述した波形メモリのアクセス回数
削減により補間次数を6点から4点あるいは2点に落と
したチャンネルについては、6サンプルでなく4または
2サンプルを用いて4点または2点補間を行ない補間済
みの楽音波形データを得る。
【0075】なお、上記形態例において、マスター音源
207Mとスレーブ音源207Sは、同じ構成のLSI
チップを用いている。マスター音源207Mとスレーブ
音源207Sとを区別するのは、CPU204が制御レ
ジスタ101を介して指定する2チップ指定情報および
マスター/スレーブ(M/S)指定情報に基づく。すな
わち、各音源チップは、2チップ指定情報で2チップが
指定され、マスター/スレーブ指定情報でマスターが指
定されていれば、上述のマスター音源207Mとして動
作する。また、2チップ指定情報で2チップが指定さ
れ、マスター/スレーブ指定情報でスレーブが指定され
ていれば、上述のスレーブ音源207Sとして動作す
る。逆に、2チップ指定情報で1チップが指定されてい
たときは、その音源チップは1チップ指定時の動作をす
る。マスター/スレーブ指定情報でマスターまたはスレ
ーブが指定されていたときは、2チップ指定情報で2チ
ップが指定されたものとみなしてもよい。
207Mとスレーブ音源207Sは、同じ構成のLSI
チップを用いている。マスター音源207Mとスレーブ
音源207Sとを区別するのは、CPU204が制御レ
ジスタ101を介して指定する2チップ指定情報および
マスター/スレーブ(M/S)指定情報に基づく。すな
わち、各音源チップは、2チップ指定情報で2チップが
指定され、マスター/スレーブ指定情報でマスターが指
定されていれば、上述のマスター音源207Mとして動
作する。また、2チップ指定情報で2チップが指定さ
れ、マスター/スレーブ指定情報でスレーブが指定され
ていれば、上述のスレーブ音源207Sとして動作す
る。逆に、2チップ指定情報で1チップが指定されてい
たときは、その音源チップは1チップ指定時の動作をす
る。マスター/スレーブ指定情報でマスターまたはスレ
ーブが指定されていたときは、2チップ指定情報で2チ
ップが指定されたものとみなしてもよい。
【0076】図9は、1チップ指定時の各処理のタイミ
ングを示す図である。図7の2チップ指定時のタイミン
グと比較すると、処理Aおよび補間処理のタイミングは
1チップ指定時および2チップ指定時ともに時分割チャ
ンネルタイミングで同じである。処理Bおよび取り込み
処理については、図7では区間702,703,70
6,707が1サンプリング周期の1/4になっている
のに対し、図9では区間902,903,906,90
7が1サンプリング周期の1/2になっている点が異な
る。区間902,903,906,907で処理Bおよ
び取り込み処理が行なわれる際のチャンネルの様子は、
図8で説明したのと同じである。すなわち、時分割チャ
ンネルタイミングで1チャンネル分の処理を行なうタイ
ムスロットの1/4の区間で1アクセスが可能であり、
制御RAM304に記憶されている各チャンネルの必要
サンプル数にしたがって順次連続的に波形メモリをアク
セスする。2チップ指定時は、前半処理の区間702,
703および後半処理の区間706,707のそれぞれ
において、32アクセスが可能であった。1チップ指定
時は、前半処理の区間902,903および後半処理の
区間906,907のそれぞれにおいて、64アクセス
が可能となる。アクセス区間の長さが2倍になったから
である。
ングを示す図である。図7の2チップ指定時のタイミン
グと比較すると、処理Aおよび補間処理のタイミングは
1チップ指定時および2チップ指定時ともに時分割チャ
ンネルタイミングで同じである。処理Bおよび取り込み
処理については、図7では区間702,703,70
6,707が1サンプリング周期の1/4になっている
のに対し、図9では区間902,903,906,90
7が1サンプリング周期の1/2になっている点が異な
る。区間902,903,906,907で処理Bおよ
び取り込み処理が行なわれる際のチャンネルの様子は、
図8で説明したのと同じである。すなわち、時分割チャ
ンネルタイミングで1チャンネル分の処理を行なうタイ
ムスロットの1/4の区間で1アクセスが可能であり、
制御RAM304に記憶されている各チャンネルの必要
サンプル数にしたがって順次連続的に波形メモリをアク
セスする。2チップ指定時は、前半処理の区間702,
703および後半処理の区間706,707のそれぞれ
において、32アクセスが可能であった。1チップ指定
時は、前半処理の区間902,903および後半処理の
区間906,907のそれぞれにおいて、64アクセス
が可能となる。アクセス区間の長さが2倍になったから
である。
【0077】以上のように、本形態例の音源チップは、
1チップか2チップかを示す指定情報を入力し、2チッ
プのときはアクセス期間(処理Bおよび取り込み処理の
区間)を1チップのときの半分に短縮して、それにより
生じた空き時間にもう一方の音源チップによるアクセス
を行なうようにすることができるものである。
1チップか2チップかを示す指定情報を入力し、2チッ
プのときはアクセス期間(処理Bおよび取り込み処理の
区間)を1チップのときの半分に短縮して、それにより
生じた空き時間にもう一方の音源チップによるアクセス
を行なうようにすることができるものである。
【0078】上記形態例では、図3の波形読み出し補間
回路102において処理A演算回路301と処理B演算
回路305とを独立した構成としたが、処理A演算回路
301と処理B演算回路305とをひとまとめにして、
1つの演算回路を時分割で共用することにより処理Aと
処理Bとを行なうようにしてもよい。
回路102において処理A演算回路301と処理B演算
回路305とを独立した構成としたが、処理A演算回路
301と処理B演算回路305とをひとまとめにして、
1つの演算回路を時分割で共用することにより処理Aと
処理Bとを行なうようにしてもよい。
【0079】上記形態例では、波形メモリの波形サンプ
ルを16ビット非圧縮の形式としたが、他の形式でもよ
い。例えば、1アクセスで16ビットを読み出せること
はそのままにして、8ビット非圧縮または8ビット圧縮
形式にしてもよい。ただし、この場合、サンプル数とア
クセス数とが異なるので、その調整が必要である。ま
た、圧縮形式の場合は、連続してサンプルを読み出して
いかないと再生できなくなるため、飛ばし読みの際に対
処が必要である。
ルを16ビット非圧縮の形式としたが、他の形式でもよ
い。例えば、1アクセスで16ビットを読み出せること
はそのままにして、8ビット非圧縮または8ビット圧縮
形式にしてもよい。ただし、この場合、サンプル数とア
クセス数とが異なるので、その調整が必要である。ま
た、圧縮形式の場合は、連続してサンプルを読み出して
いかないと再生できなくなるため、飛ばし読みの際に対
処が必要である。
【0080】上記形態例では、アキュムレータACCの
アクセス回数累算値が最大アクセス可能数である32を
超えていないかどうかを判定して、各チャンネルの読み
出しサンプル数、アクセス回数、および補間次数を決定
しているが、他の処理を行なう分を優先して最大アクセ
ス可能数を決めてもよい。例えば、あらかじめ波形メモ
リのリフレッシュやCPUによるアクセスを行なうこと
が分かっている場合は、それらの処理のためのアクセス
回数はあらかじめ確保しておき、その残りの分を最大ア
クセス可能数として上記判定を行なうようにしてもよ
い。
アクセス回数累算値が最大アクセス可能数である32を
超えていないかどうかを判定して、各チャンネルの読み
出しサンプル数、アクセス回数、および補間次数を決定
しているが、他の処理を行なう分を優先して最大アクセ
ス可能数を決めてもよい。例えば、あらかじめ波形メモ
リのリフレッシュやCPUによるアクセスを行なうこと
が分かっている場合は、それらの処理のためのアクセス
回数はあらかじめ確保しておき、その残りの分を最大ア
クセス可能数として上記判定を行なうようにしてもよ
い。
【0081】特に、波形メモリとしてDRAMを用いた
場合は、必ずリフレッシュが必要であるので、リフレッ
シュの分のアクセス回数は優先して確保するとよい。ま
た、CPUからの波形メモリの読み出し/書き込みは、
その緊急度に応じて対応するとよい。例えば、CPUか
らの波形メモリアクセスの緊急度が低いときは、音源チ
ャンネルで使用されなかった空きタイムスロットを用い
てアクセスを行なう。また、緊急度が高いときは、始め
にCPUからの波形メモリアクセスの分を確保し、残り
を音源チャンネルで使用する。
場合は、必ずリフレッシュが必要であるので、リフレッ
シュの分のアクセス回数は優先して確保するとよい。ま
た、CPUからの波形メモリの読み出し/書き込みは、
その緊急度に応じて対応するとよい。例えば、CPUか
らの波形メモリアクセスの緊急度が低いときは、音源チ
ャンネルで使用されなかった空きタイムスロットを用い
てアクセスを行なう。また、緊急度が高いときは、始め
にCPUからの波形メモリアクセスの分を確保し、残り
を音源チャンネルで使用する。
【0082】また、上記形態例では、図8に示したよう
に処理Bおよび取り込みを行なう前半および後半の区間
の前側のスロットで連続した波形メモリのアクセスを行
なっているが、前側でなくてもよい。例えば、上述の優
先して確保されたリフレッシュあるいはCPUからのア
クセスについては、区間内の前側のスロットでそれらの
処理を行ない、後側のスロットで各チャンネルについて
の連続した波形メモリのアクセスを行なうようにしても
よい。ただしその場合、例えば図7の取り込み処理前半
区間703の処理が終了して、波形バッファに補間に必
要な全サンプルが用意された後に、補間前半区間704
の補間処理が始まるようにする必要がある(後半処理も
同様)。そのため、補間を行なう区間をずらす必要があ
る(取り込み前半処理が終了した後に補間前半処理を開
始し、取り込み後半処理が終了した後に補間後半処理を
開始すれば十分)。
に処理Bおよび取り込みを行なう前半および後半の区間
の前側のスロットで連続した波形メモリのアクセスを行
なっているが、前側でなくてもよい。例えば、上述の優
先して確保されたリフレッシュあるいはCPUからのア
クセスについては、区間内の前側のスロットでそれらの
処理を行ない、後側のスロットで各チャンネルについて
の連続した波形メモリのアクセスを行なうようにしても
よい。ただしその場合、例えば図7の取り込み処理前半
区間703の処理が終了して、波形バッファに補間に必
要な全サンプルが用意された後に、補間前半区間704
の補間処理が始まるようにする必要がある(後半処理も
同様)。そのため、補間を行なう区間をずらす必要があ
る(取り込み前半処理が終了した後に補間前半処理を開
始し、取り込み後半処理が終了した後に補間後半処理を
開始すれば十分)。
【0083】さらに、上記形態例では、処理Aと補間処
理は1サンプリング周期を1/2(前半と後半)に分割
した区間を単位として前半処理と後半処理とを交互に行
ない、処理Bと取り込み処理はさらにその1/2(すな
わち、1サンプリング周期の1/4)の区間を単位とし
て前半処理と後半処理とを交互に行なうようにしている
が、区間の分け方はこれに限らない。例えば、1サンプ
リング周期を1/3,1/4,…に分割し、それらの区
間を単位にして処理Aと補間処理を行ない、さらにその
1/2の区間で処理Bと取り込み処理を行なうようにし
てもよい。処理Aと補間処理を行なう区間の1/2の時
間幅の区間で処理Bと取り込み処理を行なうようにする
とともに、スレーブ音源の処理タイミングを当該時間幅
だけマスター音源の処理タイミングより遅れるようにタ
イミングの調整を行なえば、マスター音源とスレーブ音
源とで交互に波形メモリをアクセスするようにできる。
また、等分割でなく、変則的な区間の分割を行なっても
よい。例えば、第0〜第14チャンネルと第15〜第3
1チャンネルに分割して、それぞれの区間で処理Aと補
間処理を行ない、処理Bと取り込み処理はマスターとス
レーブとで交互に行えるように時間幅の調整を行なって
もよい。さらに、区間を分けずに、1サンプリング周期
を単位としてもよい。ただし、処理Bでアドレス送り出
しを行なって波形メモリをアクセスする前に、処理Aに
よるARAMの書き換えが行なわれることがないこと
を、保証する必要がある。そのためには、例えば区間を
分けない場合は、アドレスRAMを2セット用意し、処
理Aによるアドレスの書き換えと処理Bによるアドレス
の送り出しとで、2セットのアドレスRAMを交互に使
用するなどの方法を採る必要がある。なお、1サンプリ
ング周期を前半と後半に分けて処理する方式によれば、
1セットのアドレスRAMで処理Aと処理Bとを交互に
行なうことができるので、回路構成が簡易にでき合理的
といえる。
理は1サンプリング周期を1/2(前半と後半)に分割
した区間を単位として前半処理と後半処理とを交互に行
ない、処理Bと取り込み処理はさらにその1/2(すな
わち、1サンプリング周期の1/4)の区間を単位とし
て前半処理と後半処理とを交互に行なうようにしている
が、区間の分け方はこれに限らない。例えば、1サンプ
リング周期を1/3,1/4,…に分割し、それらの区
間を単位にして処理Aと補間処理を行ない、さらにその
1/2の区間で処理Bと取り込み処理を行なうようにし
てもよい。処理Aと補間処理を行なう区間の1/2の時
間幅の区間で処理Bと取り込み処理を行なうようにする
とともに、スレーブ音源の処理タイミングを当該時間幅
だけマスター音源の処理タイミングより遅れるようにタ
イミングの調整を行なえば、マスター音源とスレーブ音
源とで交互に波形メモリをアクセスするようにできる。
また、等分割でなく、変則的な区間の分割を行なっても
よい。例えば、第0〜第14チャンネルと第15〜第3
1チャンネルに分割して、それぞれの区間で処理Aと補
間処理を行ない、処理Bと取り込み処理はマスターとス
レーブとで交互に行えるように時間幅の調整を行なって
もよい。さらに、区間を分けずに、1サンプリング周期
を単位としてもよい。ただし、処理Bでアドレス送り出
しを行なって波形メモリをアクセスする前に、処理Aに
よるARAMの書き換えが行なわれることがないこと
を、保証する必要がある。そのためには、例えば区間を
分けない場合は、アドレスRAMを2セット用意し、処
理Aによるアドレスの書き換えと処理Bによるアドレス
の送り出しとで、2セットのアドレスRAMを交互に使
用するなどの方法を採る必要がある。なお、1サンプリ
ング周期を前半と後半に分けて処理する方式によれば、
1セットのアドレスRAMで処理Aと処理Bとを交互に
行なうことができるので、回路構成が簡易にでき合理的
といえる。
【0084】さらに、上記形態例では、マスター音源と
スレーブ音源との2チップで1つの波形メモリを共有し
ているが、さらに多くの音源チップで1つの波形メモリ
を共有するようにもできる。そのためには、処理Bおよ
び取り込み処理の区間を複数の音源チップで分けあうよ
うにして、それぞれの波形メモリアクセスを行なえばよ
い。
スレーブ音源との2チップで1つの波形メモリを共有し
ているが、さらに多くの音源チップで1つの波形メモリ
を共有するようにもできる。そのためには、処理Bおよ
び取り込み処理の区間を複数の音源チップで分けあうよ
うにして、それぞれの波形メモリアクセスを行なえばよ
い。
【0085】なお、あるチャンネルに関してアクセス回
数が足りずに補間点数を落とした後に、元の補間点数に
戻す場合は、その時点で一時的に同チャンネルのアクセ
ス回数を通常より増やすように動作するようにしてもよ
い。
数が足りずに補間点数を落とした後に、元の補間点数に
戻す場合は、その時点で一時的に同チャンネルのアクセ
ス回数を通常より増やすように動作するようにしてもよ
い。
【0086】また本実施形態例では、音源の波形メモリ
アクセスの制限を、2つの音源で1つの波形メモリを共
有するために行なっていたが、それ以外の目的でアクセ
ス制限を行なうようにもできる。例えば、波形メモリに
1つの音源が接続されている場合において、その音源の
波形メモリアクセス期間を制限し、生じたアクセス期間
を波形サンプリング回路やCPU、DMAC、その他の
データ転送回路、等が利用するようにしても良い。ま
た、アクセス期間の制限の仕方は、全期間の1/2に限
る必要はなく、2/3や2/5等々任意でよい。さら
に、演奏者やCPUが時間長でアクセス期間の長さを指
定できるようにしても良い。
アクセスの制限を、2つの音源で1つの波形メモリを共
有するために行なっていたが、それ以外の目的でアクセ
ス制限を行なうようにもできる。例えば、波形メモリに
1つの音源が接続されている場合において、その音源の
波形メモリアクセス期間を制限し、生じたアクセス期間
を波形サンプリング回路やCPU、DMAC、その他の
データ転送回路、等が利用するようにしても良い。ま
た、アクセス期間の制限の仕方は、全期間の1/2に限
る必要はなく、2/3や2/5等々任意でよい。さら
に、演奏者やCPUが時間長でアクセス期間の長さを指
定できるようにしても良い。
【0087】
【発明の効果】本発明によれば、波形メモリの読み出し
に先立って、各チャンネルのアドレスを作成してアドレ
ス記憶手段に一旦格納しておき、さらに各チャンネルの
アドレスの進み量に基づいてアクセス回数を算出し、そ
のアクセス回数ずつ波形メモリを連続的にアクセスす
る。また、波形メモリから読み出した波形サンプルは、
一旦波形サンプル記憶手段に記憶され、楽音生成手段
は、波形サンプル記憶手段に記憶された各チャンネルの
波形サンプルに基づき、各チャンネルのサンプリング周
期ごとの楽音を生成する。アドレスおよび波形サンプル
がアドレス記憶手段およびサンプル記憶手段にバッファ
リングされるので、波形サンプルの読み出しのタイミン
グを適宜調整することができ、波形メモリのスピードに
合せた連続したアクセスが可能になる。したがって、あ
るチャンネルで波形サンプルを読み出さなくても済む場
合、あるいはあるチャンネルでバッファリングされてい
る波形サンプルを使用することができるために少ない数
の波形サンプルのみ読み出せばよい場合などにおいて、
余りのタイムスロットを、他の処理(例えば、他のアク
セス手段による定期的な波形メモリへのアクセス)に回
すことができる。また、余りのタイムスロットを他のチ
ャンネルにおけるアクセスに回せることになるので、そ
のようなチャンネル間の関係から、補間次数を下げなけ
ればならない場合が減少する。
に先立って、各チャンネルのアドレスを作成してアドレ
ス記憶手段に一旦格納しておき、さらに各チャンネルの
アドレスの進み量に基づいてアクセス回数を算出し、そ
のアクセス回数ずつ波形メモリを連続的にアクセスす
る。また、波形メモリから読み出した波形サンプルは、
一旦波形サンプル記憶手段に記憶され、楽音生成手段
は、波形サンプル記憶手段に記憶された各チャンネルの
波形サンプルに基づき、各チャンネルのサンプリング周
期ごとの楽音を生成する。アドレスおよび波形サンプル
がアドレス記憶手段およびサンプル記憶手段にバッファ
リングされるので、波形サンプルの読み出しのタイミン
グを適宜調整することができ、波形メモリのスピードに
合せた連続したアクセスが可能になる。したがって、あ
るチャンネルで波形サンプルを読み出さなくても済む場
合、あるいはあるチャンネルでバッファリングされてい
る波形サンプルを使用することができるために少ない数
の波形サンプルのみ読み出せばよい場合などにおいて、
余りのタイムスロットを、他の処理(例えば、他のアク
セス手段による定期的な波形メモリへのアクセス)に回
すことができる。また、余りのタイムスロットを他のチ
ャンネルにおけるアクセスに回せることになるので、そ
のようなチャンネル間の関係から、補間次数を下げなけ
ればならない場合が減少する。
【0088】特に、本発明では、複数の音源の波形メモ
リアクセス期間を互いに競合しないようにタイミング調
整しているので、複数の音源で1つの波形メモリを共有
することができる。
リアクセス期間を互いに競合しないようにタイミング調
整しているので、複数の音源で1つの波形メモリを共有
することができる。
【0089】以上のように、本発明によれば、時分割チ
ャンネル動作で複数チャンネル分の楽音を同時に発生す
る波形メモリ読み出し方式の音源において、チャンネル
ごとに必要なときに必要な分だけ効率よく波形メモリを
アクセスすることができるようになる。
ャンネル動作で複数チャンネル分の楽音を同時に発生す
る波形メモリ読み出し方式の音源において、チャンネル
ごとに必要なときに必要な分だけ効率よく波形メモリを
アクセスすることができるようになる。
【図1】この発明の一形態例に係る音源装置を適用した
音源部のブロック構成図
音源部のブロック構成図
【図2】本形態例の音源装置を適用した電子楽器の全体
のブロック構成図および音源部の概略構成図
のブロック構成図および音源部の概略構成図
【図3】波形読み出し補間回路のブロック構成図
【図4】制御RAMの構成図
【図5】ARAMのメモリマップを示す図
【図6】波形バッファの構成図
【図7】マスター音源およびスレーブ音源のそれぞれの
波形読み出し補間回路における処理タイミング図
波形読み出し補間回路における処理タイミング図
【図8】図7の各処理中のチャンネルの様子を示す図
【図9】1チップ指定時の各処理のタイミングを示す図
【図10】本形態例におけるアクセス回数削減の具体例
を示す図
を示す図
101…制御レジスタ、102…波形読み出し補間回
路、105…音量変化制御部、106…チャンネル(c
h)累算器、107…効果回路、108…リフレッシュ
カウンタ、109…CPUアクセス制御部、110,1
11…セレクタ、112…システムクロック発生部、1
13…チャンネル(ch)カウンタ、204…中央処理
装置(CPU)、207…音源部、207M…マスター
音源、207S…スレーブ音源、208…波形メモリ、
210…ディジタルアナログ変換器(DAC)、211
…サウンドシステム(SS)、212…外部記憶装置、
213…バス、220…混合器、301…処理A演算回
路、302…アドレスRAM(ARAM)、303…ア
キュムレータ(ACC)、304…制御RAM、305
…処理B演算回路、306…補間回路、307…波形バ
ッファ、308…取り込み回路。
路、105…音量変化制御部、106…チャンネル(c
h)累算器、107…効果回路、108…リフレッシュ
カウンタ、109…CPUアクセス制御部、110,1
11…セレクタ、112…システムクロック発生部、1
13…チャンネル(ch)カウンタ、204…中央処理
装置(CPU)、207…音源部、207M…マスター
音源、207S…スレーブ音源、208…波形メモリ、
210…ディジタルアナログ変換器(DAC)、211
…サウンドシステム(SS)、212…外部記憶装置、
213…バス、220…混合器、301…処理A演算回
路、302…アドレスRAM(ARAM)、303…ア
キュムレータ(ACC)、304…制御RAM、305
…処理B演算回路、306…補間回路、307…波形バ
ッファ、308…取り込み回路。
Claims (4)
- 【請求項1】所定サンプリング周期で複数チャンネル時
分割で動作することにより、該複数チャンネルの楽音を
生成する波形メモリ音源装置において、 波形サンプルを記憶した波形メモリであって、前記所定
サンプリング周期内の1チャンネル分の処理時間内に所
定回数のアクセスが可能なものと、 各チャンネルのアドレスを記憶するためのアドレス記憶
手段と、 各チャンネルの波形サンプルを記憶するための波形サン
プル記憶手段と、 前記波形メモリの読み出しに先立って、各チャンネルの
アドレスを作成し、前記アドレス記憶手段に記憶させる
アドレス作成手段と、 各チャンネルのアドレスの進み量に基づいて、各チャン
ネルについての前記波形メモリのアクセス回数を算出す
るアクセス回数算出手段と、 所定数のチャンネルについて、前記アクセス回数算出手
段で算出したアクセス回数を累算し、累算回数を出力す
る累算手段と、 前記所定数のチャンネルに対応したアクセス期間内に、
前記累算回数分のアクセスが可能かどうかを判定する判
定手段と、 前記アクセス期間の時間幅を、通常の長さまたは短縮し
た長さに切り換えるアクセス期間切り換え手段と、 前記判定手段が可能と判定した場合、前記アドレス記憶
手段に記憶された各チャンネルのアドレスに基づき、前
記アクセス回数算出手段で算出した各チャンネルのアク
セス回数ずつ、前記アクセス期間内で前記波形メモリを
連続的にアクセスし、読み出した各チャンネルの波形サ
ンプルを前記波形サンプル記憶手段に記憶する第1アク
セス手段と、 前記アクセス期間切り換え手段により前記アクセス期間
を短縮したことによって生じた空き時間に、前記波形メ
モリをアクセスする第2アクセス手段と、 前記波形サンプル記憶手段に記憶された各チャンネルの
波形サンプルに基づき、各チャンネルのサンプリング周
期ごとの楽音を生成する楽音生成手段とを備えたことを
特徴とする波形メモリ音源装置。 - 【請求項2】所定サンプリング周期で複数チャンネル時
分割で動作することにより、該複数チャンネルの楽音を
生成する波形メモリ音源装置であって、波形サンプルを
記憶し前記所定サンプリング周期内の1チャンネル分の
処理時間内に所定回数のアクセスが可能な波形メモリを
接続したものにおいて、 各チャンネルのアドレスを記憶するためのアドレス記憶
手段と、 各チャンネルの波形サンプルを記憶するための波形サン
プル記憶手段と、 前記波形メモリの読み出しに先立って、各チャンネルの
アドレスを作成し、前記アドレス記憶手段に記憶させる
アドレス作成手段と、 各チャンネルのアドレスの進み量に基づいて、各チャン
ネルについての前記波形メモリのアクセス回数を算出す
るアクセス回数算出手段と、 所定数のチャンネルについて、前記アクセス回数算出手
段で算出したアクセス回数を累算し、累算回数を出力す
る累算手段と、 前記所定数のチャンネルに対応して設定されるアクセス
期間の時間幅を、前記所定数のチャンネルについて時分
割チャンネルタイミングで処理する場合の時間幅と同じ
時間幅とするか、またはそれより短縮した時間幅とする
かを、入力した指示信号に基づいて決定するアクセス期
間切り換え手段と、 前記アクセス期間内に、前記累算回数分のアクセスが可
能かどうかを判定する判定手段と、 前記判定手段が可能と判定した場合、前記アドレス記憶
手段に記憶された各チャンネルのアドレスに基づき、前
記アクセス回数算出手段で算出した各チャンネルのアク
セス回数ずつ、前記アクセス期間内で前記波形メモリを
連続的にアクセスし、読み出した各チャンネルの波形サ
ンプルを前記波形サンプル記憶手段に記憶する第1アク
セス手段と、 前記波形サンプル記憶手段に記憶された各チャンネルの
波形サンプルに基づき、各チャンネルのサンプリング周
期ごとの楽音を生成する楽音生成手段とを備えたことを
特徴とする波形メモリ音源装置。 - 【請求項3】さらに第1のモードで動作するか、第2の
モードで動作するかを指定するモード指定信号を入力
し、 第1のモードが指定された波形メモリ音源では、前記ア
クセス期間切り換え手段により前記アクセス期間を短縮
した時間幅とするとともに、第2のモードが指定された
別の波形メモリ音源装置に向けて同期信号を出力し、 第2のモードが指定された波形メモリ音源では、前記ア
クセス期間切り換え手段により前記アクセス期間を短縮
した時間幅とするとともに、前記第1のモードが指定さ
れた波形メモリ音源から出力される同期信号を入力し
て、前記第1のモードが指定された波形メモリ音源にお
ける前記アクセス期間以外の区間に、前記第2のモード
が指定された波形メモリ音源における前記アクセス期間
が配置されるように処理タイミングを調整する請求項2
に記載の波形メモリ音源装置。 - 【請求項4】所定サンプリング周期で複数チャンネル時
分割で動作することにより、該複数チャンネルの楽音を
生成する波形メモリ音源装置において、 複数チャンネルの楽音生成を行なう第1音源と、別の複
数チャンネルの楽音生成を行なう第2音源と、前記第1
音源からの楽音と前記第2音源からの楽音とを混合して
出力する混合手段と、波形サンプルを記憶した波形メモ
リであって前記所定サンプリング周期内の1チャンネル
分の処理時間内に所定回数のアクセスが可能な波形メモ
リとを備え、 前記第1音源は、 各チャンネルのアドレスを記憶するための第1アドレス
記憶手段と、 各チャンネルの波形サンプルを記憶するための第1波形
サンプル記憶手段と、 前記波形メモリの読み出しに先立って、各チャンネルの
アドレスを作成し、前記第1アドレス記憶手段に記憶さ
せる第1アドレス作成手段と、 各チャンネルのアドレスの進み量に基づいて、各チャン
ネルについての前記波形メモリのアクセス回数を算出す
る第1アクセス回数算出手段と、 前記第1アドレス記憶手段に記憶された各チャンネルの
アドレスに基づき、前記第1アクセス回数算出手段で算
出された各チャンネルのアクセス回数ずつ、前記波形メ
モリを連続的にアクセスし、読み出した各チャンネルの
波形サンプルを前記第1波形サンプル記憶手段に記憶す
る第1アクセス手段と、 前記第1波形サンプル記憶手段に記憶された各チャンネ
ルの波形サンプルに基づき、各チャンネルのサンプリン
グ周期ごとの楽音を生成する楽音生成手段とを備え、 前記第2音源は、 各チャンネルのアドレスを記憶するための第2アドレス
記憶手段と、 各チャンネルの波形サンプルを記憶するための第2波形
サンプル記憶手段と、 前記波形メモリの読み出しに先立って、各チャンネルの
アドレスを作成し、前記第2アドレス記憶手段に記憶さ
せる第2アドレス作成手段と、 各チャンネルのアドレスの進み量に基づいて、各チャン
ネルについての前記波形メモリのアクセス回数を算出す
る第2アクセス回数算出手段と、 前記第2アドレス記憶手段に記憶された各チャンネルの
アドレスに基づき、前記第2アクセス回数算出手段で算
出された各チャンネルのアクセス回数ずつ、前記波形メ
モリを連続的にアクセスし、読み出した各チャンネルの
波形サンプルを前記第2波形サンプル記憶手段に記憶す
る第2アクセス手段と、 前記第2波形サンプル記憶手段に記憶された各チャンネ
ルの波形サンプルに基づき、各チャンネルのサンプリン
グ周期ごとの楽音を生成する楽音生成手段とを備え、 前記第1音源の前記第1アクセス手段による前記波形メ
モリのアクセスの空き時間を利用して、前記第2音源の
前記第2アクセス手段による前記波形メモリのアクセス
を行なうようにタイミング調整が為されていることを特
徴とする波形メモリ音源装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7322225A JP2933205B2 (ja) | 1995-11-16 | 1995-11-16 | 波形メモリ音源装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7322225A JP2933205B2 (ja) | 1995-11-16 | 1995-11-16 | 波形メモリ音源装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09146551A JPH09146551A (ja) | 1997-06-06 |
JP2933205B2 true JP2933205B2 (ja) | 1999-08-09 |
Family
ID=18141341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7322225A Expired - Fee Related JP2933205B2 (ja) | 1995-11-16 | 1995-11-16 | 波形メモリ音源装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2933205B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7329811B2 (en) | 2003-12-08 | 2008-02-12 | Kabushiki Kaisha Kawai Gakki Seisakusho | Musical sound generation device capable of effectively utilizing the access timing for an unused slave sound source |
JP4503275B2 (ja) * | 2003-12-08 | 2010-07-14 | 株式会社河合楽器製作所 | 波形再生装置 |
JP2006030517A (ja) | 2004-07-15 | 2006-02-02 | Yamaha Corp | 発音割当装置 |
-
1995
- 1995-11-16 JP JP7322225A patent/JP2933205B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09146551A (ja) | 1997-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5925841A (en) | Digital sampling instrument employing cache memory | |
JP5534388B2 (ja) | 楽音生成装置 | |
US5446237A (en) | Electronic musical instrument having a control section memory for generating musical tone parameters | |
JP3637578B2 (ja) | 楽音生成方法 | |
US5892170A (en) | Musical tone generation apparatus using high-speed bus for data transfer in waveform memory | |
JP2933205B2 (ja) | 波形メモリ音源装置 | |
US5559994A (en) | Memory control apparatus permitting concurrent access by compressing addressing time window and multiplexing | |
JPH11202864A (ja) | 楽音発生回路 | |
US5710386A (en) | Method and apparatus for efficiently controlling access to stored operation control data and tone forming data | |
JP2882464B2 (ja) | 波形メモリ音源装置 | |
JP2000276172A (ja) | 楽音生成装置および記憶媒体 | |
US6085309A (en) | Signal processing apparatus | |
JP2901143B2 (ja) | 楽音生成装置 | |
JP2000284783A (ja) | 楽音信号発生装置 | |
JP3137043B2 (ja) | 波形メモリ音源装置および楽音発生装置 | |
US5939655A (en) | Apparatus and method for generating musical tones with reduced load on processing device, and storage medium storing program for executing the method | |
JP3148803B2 (ja) | 音源装置 | |
JP2605903B2 (ja) | 楽音合成装置 | |
JP3230449B2 (ja) | 信号処理装置 | |
JP3050779B2 (ja) | 信号処理装置 | |
JP3275678B2 (ja) | 楽音発生方法および装置 | |
JP5510815B2 (ja) | 楽音生成装置 | |
JP3152197B2 (ja) | 楽音発生方法 | |
JP3695404B2 (ja) | 波形処理デバイス | |
JP2001166777A (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: 20090528 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100528 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110528 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |