JP3858905B2 - メモリ使用音源装置 - Google Patents
メモリ使用音源装置 Download PDFInfo
- Publication number
- JP3858905B2 JP3858905B2 JP2004083463A JP2004083463A JP3858905B2 JP 3858905 B2 JP3858905 B2 JP 3858905B2 JP 2004083463 A JP2004083463 A JP 2004083463A JP 2004083463 A JP2004083463 A JP 2004083463A JP 3858905 B2 JP3858905 B2 JP 3858905B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- memory
- latch
- 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.)
- Expired - Lifetime
Links
- 230000004044 response Effects 0.000 claims description 19
- 239000000284 extract Substances 0.000 claims 3
- 238000001514 detection method Methods 0.000 description 15
- 239000011295 pitch Substances 0.000 description 13
- 238000000034 method Methods 0.000 description 9
- 230000001934 delay Effects 0.000 description 8
- 230000003111 delayed effect Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
このような波形メモリを搭載した電子楽器においては、複数の楽音信号を同時に発音するために、時分割チャンネル処理という手法を用いている。この時分割チャンネル処理とは、ある一定時間を複数にタイムスロットに分割し、そのタイムスロット毎に波形データを読み出し、その一定時間内の複数のタイムスロットで読み出された波形データを累算することによって、波形メモリからは一定時間毎に複数の波形データが同時に読み出されるようにすることをいう。
この発明によれば、処理手段から与えられる制御データに含まれるアドレス情報に基づいて、各チャンネル毎にメモリ読み書き用のアドレスが生成され、複数チャンネルのうちの楽音発生に使用されない特定のチャンネルを除く残りの各チャンネルのタイミングで、該残りの各チャンネルで発生すべき楽音に応じて生成された読み出し用のアドレスに基づいて前記メモリから前記音源用のデータを読み出し、これに基づき楽音信号を生成する。その一方で、処理手段からメモリに音源用のデータを書き込むときには、処理手段からの指示に従って特定のチャンネルに対応してデータ書き込みのためのアドレスが生成され、かつ、書き込もうとするデータがラッチで一時保存される。よって、メモリアクセス手段では、該ラッチのデータを、複数の時分割チャンネル中の楽音発生に使用されない特定のチャンネルを使用して、該生成されたアドレスに基づいて該メモリに書き込めばよいため、楽音生成処理する時分割チャンネルタイミングと干渉しないので、書き込み処理に余裕をもたせることができる。従って、処理手段がこのメモリ使用音源装置と非同期で動作するものであっても、問題のない制御を行うことができる。その場合、1回の書き込み指示で複数のデータを供給し、これらを該ラッチに一時保存しておき、これを該ラッチに順次書き込むように制御することで処理手段の効率的なバス利用が行える。
請求項2の実施態様として、前記処理手段が、書き込もうとする前記音源用のデータを前記ラッチに保持させ、前記メモリに該データを書き込むアドレスを示すアドレス情報を前記制御レジスタに書き込むとともに、書き込み指示を発生することにより、前記アドレスカウンタ手段は、前記制御レジスタに書き込まれた該アドレス情報に基づき前記特定のチャンネルのアドレスを生成し、前記メモリアクセス手段は、前記特定のチャンネルのタイミングで、前記ラッチに保持された該データを該アドレスに基づき前記メモリに書き込むことを特徴とする。
また、請求項3の実施態様として、前記ラッチは複数のデータを保持することが可能であり、前記処理手段は、書き込もうとする複数のデータを前記ラッチに保持させ、前記アドレスカウンタ手段は、前記特定のチャンネルのタイミングに、該特定のチャンネルのアドレスとして複数のアドレスを順次生成し、前記メモリアクセス手段は、該生成される複数のアドレスに基づいて、前記ラッチに保持された複数のデータを前記メモリに順次書き込んで、該順次書き込みが終了したら書き込み終了通知を発生することを特徴とする。
この発明によれば、処理手段から与えられる制御データに含まれるアドレス情報に基づいて、各チャンネル毎にメモリ読み書き用のアドレスが生成され、複数チャンネルのうちの楽音発生に使用されない特定のチャンネルを除く残りの各チャンネルのタイミングで、該残りの各チャンネルで発生すべき楽音に応じて生成された読み出し用のアドレスに基づいて前記メモリから前記音源用のデータを読み出し、これに基づき楽音信号を生成する。その一方で、メモリから処理手段に音源用のデータを読み出すときには、処理手段からの指示に従って特定のチャンネルに対応してデータ読み出しのためのアドレスが生成され、複数の時分割チャンネル中の楽音発生に使用されない特定のチャンネルを使用して、該生成されたアドレスに基づいて前記メモリから前記音源用のデータを読み出して前記ラッチに保持させ、該ラッチに保持したデータが前記処理手段により取り出されるようにする。よって、処理手段では、該ラッチに保存してあるデータを取り込めばよいため、また、メモリからの読み出しに際しても楽音生成処理する時分割チャンネルタイミングと干渉しないので、取り込み処理に余裕をもたせることができる。従って、処理手段がこのメモリ使用音源装置と非同期で動作するものであっても、問題のない制御を行うことができる。その場合、1回の読み出し指示で複数の音源用のデータを読み出し、これらをバッファに一時保存しておき、これを処理手段に転送するようにすれば、処理手段の効率的なバス利用が図れる。
請求項5の実施態様として、前記処理手段が、前記メモリから前記音源用のデータを読み出そうとするアドレスを示すアドレス情報を前記制御レジスタに書き込むとともに、読み出し指示を発生することにより、前記アドレスカウンタ手段は、前記制御レジスタに書き込まれた該アドレス情報に基づき前記特定のチャンネルのアドレスを生成し、前記メモリアクセス手段は、前記特定のチャンネルのタイミングで、前記アドレスに基づき前記メモリから前記音源用のデータを読み出して前記ラッチに保持させ、該読み出しが終了したら読み出し終了通知を発生し、該終了通知に応じて、前記処理手段は、前記メモリから読み出されて前記ラッチに保持されたデータを該ラッチから取り出すことを特徴とする。
また、請求項6の実施態様として、前記ラッチは複数のデータを保持することが可能であり、前記アドレスカウンタ手段は、前記特定のチャンネルのタイミングに、該特定のチャンネルのアドレスとして複数のアドレスを順次生成し、前記メモリアクセス手段は、該生成される複数のアドレスに基づいて、前記メモリから複数のデータを順次読み出して前記ラッチに順次保持させ、前記処理手段は、前記メモリから読み出されて前記ラッチに保持された複数のデータを該ラッチから順次取り出すことを特徴とする。
図2は、本発明の一実施例に係るサンプラータイプの波形メモリ音源を内蔵した電子楽器の全体構成を示す図である。
マイクロプロセッサユニット(CPU)20は、この電子楽器全体の動作を制御するものである。このCPU20に対しては、データ及びアドレスバス2Jを介してROM21、RAM22、鍵盤23、パネルスイッチ24、パネル表示器25、インターフェイス26、アナログ−ディジタル変換器(ADC)27及び音源回路2Aが接続されている。
ROM21はCPU20の各種プログラムや各種データを格納するものであり、リードオンリーメモリ(ROM)で構成されている。
RAM22は、CPU20がプログラムを実行する際に発生する各種データを一時的に記憶するものであり、ランダムアクセスメモリ(RAM)の所定のアドレス領域がそれぞれ割り当てられ、レジスタ、フラグ、バッファ等として利用される。
パネルスイッチ24は、音色、音量、効果等を選択・設定・制御するための各種操作子を含むものである。
パネル表示器25はCPU20の制御状態、設定データの内容等の各種の情報を液晶パネル(LCD)等に表示するものである。
マイク28は音声信号や楽器音等をアナログの電圧信号に変換して、ADC27に出力する。ADC27はマイク28からのアナログの電圧信号をディジタル信号に変換して、データ及びアドレスバス2Jに出力する。
ハードディスク29は数十〜数百メガバイト(MB)の記憶容量を有し、インターフェイス26を介してデータ及びアドレスバス2Jに接続されている。
音源I/O2Bは、データ及びアドレスバス2Jを介してCPU20から供給される演奏データを音源側に入力したり、音源側のデータをデータ及びアドレスバス2Jを介してCPU20に出力したりする。
波形メモリ2Dは、立上り部(アタック部)を構成する複数周期分のデータと、その後の持続部(ループ部)を構成する1周期分のデータとからなる波形データやマイク28によってサンプルされた波形データ等を記憶しており、波形発生部2Cからのアドレス信号を入力し、このアドレス信号に応じた領域に記憶されている波形データを出力する。
チャンネル累算部2Fは、32チャンネル時分割でエンベロープ付与部2Eから出力される各チャンネルの楽音信号を累算処理してDAC2Gに出力する。
音源回路2Aから出力された楽音信号は、サウンドシステム2Hを介してスピーカから発音される。
この実施例では、音源I/O2Bは、CPUバス制御部11、アドレスラッチ(Aラッチ)12、データラッチ(Dラッチ)13、書込用バッファアンプ14、読出用バッファアンプ15、書込用デコーダ16、書込パルス発生部17、読出用デコーダ18、チャンネルラッチ(chラッチ)19、チャンネル変換部(ch変換部)1A、チャンネルカウンタ(chカウンタ)1B、セレクタ1C、楽音制御レジスタ1D、波形メモリI/O1Eから構成される。
書込用バッファアンプ14は、CPUバス制御部11からのイネーブル信号の入力に応じてデータDATAをデータラッチ13に出力する。読出用バッファアンプ15は、CPUバス制御部11からのイネーブル信号の入力に応じて波形メモリI/Oからの読出データWDRをデータバスDATAに出力する。
書込パルス発生部17は、書込用デコーダ16からの書込デコード信号に応じた書込パルス信号WP1を波形メモリI/O1Eの書込アドレス端子WADに、書込パルス信号WP2を楽音制御レジスタ1Dに出力すると共に、ラッチパルスLCをチャンネルラッチ19に出力する。すなわち、書込パルス発生部17はアドレスラッチ12にラッチされているアドレスADRが「0」、「1」、「3」、「4」の場合にそれぞれ、対応するA0、A1、A3及びA4のいずれかの書込パルス信号WP1を出力する。
チャンネル変換部1Aは、アドレスラッチ12からのアドレスADR及びチャネルラッチ19からのチャンネル選択データCSDを入力し、それに基づいて楽音制御レジスタ1Dのどのチャンネルタイミング位置にデータを書き込むのか、そのチャンネル指定アドレスCDAを発生する。
チャンネルカウンタ1Bは、0チャンネルから31チャンネルまでを順次カウントし、そのチャンネル番号をセレクタ1Cに出力する。なお、チャンネルカウンタ1Bは、最後の32番目の31チャンネルに対応した1チャンネル分の期間だけハイレベル“1”をとるようなタイミング信号φ31chを波形メモリI/Oのチャンネル端子chに出力する。
楽音制御レジスタ1Dは、波形発生部2Cにおける波形生成動作を制御するための複数種類のデータ(音高を制御するピッチデータ、楽音の発生の開始及び終了を指示するノートオン、波形スタートアドレス(WSA)、ループスタートアドレス(LPS)、ループエンドアドレス(LPE)及び、その他変調効果やタッチによる音色変化等を制御するデータ)やエンベロープ付与部における音量エンベロープ付与動作を制御するための複数種類のデータ(演算型エンベロープ発生に必要な各ステートのレートデータとレベルデータ、ノートオン及びその他のデータ)をそれぞれ各時分割チャンネルタイミングに対応した領域に格納する複数のレジスタで構成されている。ここで、セレクタ1Cの出力するデータは、複数時分割チャンネル分記憶された各レジスタのデータのうちの、どのチャンネルタイミングのデータをアクセスするか指示するタイミング位置を指示する指示データとして使用される。
一方、CPU20からの楽音制御レジスタ1Dに対する書き込みは、上述したチャンネルカウンタ1Bによる読み出しに重ならないタイミングにおいて、セレクタ1Cがチャンネル変換部1Aの出力するチャンネル指定アドレスCDAを選択しつつ行われる。
この時、チャンネル変換部1Aから楽音制御レジスタ1Dに対して上記指示データとして供給されているチャンネル指示アドレスCDAは、Aラッチ12の指定するアドレスにあるレジスタのチャンネルラッチ19に書き込まれたチャンネル番号に対応したタイミング位置を指定している。書き込み信号*WRのイネーブルで書き込み用デコーダ16にて発生するデコード信号を受けて、書込パルス発生部17は書込パルス信号WP2の複数信号線の中のAラッチ12に指定するアドレスに対応したラインに一発の書き込みパルスを発生する。この書き込みパルスに応じて、楽音制御レジスタ1Dの中の、Aラッチ12のアドレスにより指定された種類のレジスタの、チャンネルラッチ19にラッチされたチャンネル番号に対応したタイミング位置に、Dラッチ13にラッチされた値のデータが書き込まれる。
チャンネル制御レジスタ31には、アドレスADRが「0」の場合に書込パルス発生部17から出力される書込パルス信号A0に応じてデータラッチ13からの書込データWDが書き込まれ、書き込まれたデータのうち動作中信号USEをアクセス回数検出部35及び4連続パルス発生部3Eに出力すると共に、書込読出制御信号W/*Rを4連続パルス発生部3E及びセレクタ3Hの制御端子に出力する。なお、この動作中信号USEは図4の周波数ナンバ発生器(Fナンバ発生器)41にも出力される。
オア回路33は、パルス発生部32から1サンプル読出完了パルスRSPとアドレスADRが「4」の場合に書込パルス発生部17から出力される書込パルス信号A4を入力し、両者の論理和出力をオア回路3F及びアクセス回数検出部35に出力する。
フリップフロップ回路37は、オア回路36からの論理和信号をセット端子Sに、ディレイ3Cからの遅延信号をリセット端子Rに入力し、セット出力をアンド回路38に出力し、その反転出力をゲート回路3Pに出力する。
ゲート回路3Pは、アドレスADRが「2」の場合に読出デコーダ18から出力される読出デコード信号A2を入力した時点でフリップフロップ回路37の反転出力を読出終了データWEDをデータ出力端子DOから読出用バッファアンプ15を介してCPU20に出力する。
ディレイ39は、アンド回路38からの論理積信号を1チャンネル期間だけ遅延し、それをタイミング信号TSとして波形発生部2C及びディレイ3Aに出力する。
ディレイ3Aは、ディレイ39からのタイミング信号を1チャンネル期間だけ遅延し、それを4連続パルス発生部3E及びディレイ3Cに出力する。
ディレイ3Cは、ディレイ3Aからの遅延信号をからに1チャンネル期間だけ遅延し、それをフリップフロップ回路37のリセット端子Rに出力する。
送りパルス発生器3Gは、オア回路3Fからの論理和信号を入力する毎に送りパルスL1〜L4をラッチ3M,3L,3K,3Jに順番に出力する。
ラッチ3Jは、セレクタ3Hからの16ビット構成のデータを送りパルスL4の入力時点でラッチして、次段のラッチ3Kに出力する。ラッチ3Kは、前段のラッチ3Jからのデータを送りパルスL3の入力時点でラッチして、次段のラッチ3Lに出力する。ラッチ3Lは、前段のラッチ3Kからのデータを送りパルスL2の入力時点でラッチして、次段のラッチ3Mに出力する。ラッチ3Mは、前段のラッチ3Lからのデータを送りパルスL1の入力時点でラッチして、セレクタ3N及び波形発生部2Bに出力する。なお、ラッチ3Mからセレクタ3Nに出力されるデータは波形メモリ2Cから読み出されたメモリ読出データMRDであり、一方ラッチ3Mから波形発生部2Cに出力されるデータは波形メモリ2Dに書き込まれるべきメモリ書込データMWDである。
周波数ナンバ(Fナンバ)発生器40は、楽音制御レジスタ1Dからのピッチデータに対応した周波数ナンバ(Fナンバ)をアドレスカウンタ41に出力すると共に、図3のチャンネル制御レジスタ31からの動作中信号USE及びディレイ39からのタイミング信号TSを入力している。動作中信号USEがハイレベル“1”である場合、CPU20のアクセスのために第31チャンネルが使用されており、Fナンバ発生器40はタイミング信号TSが“0”の場合、第31チャンネルのFナンバとして“0”を出力し、タイミング信号TSが“1”の場合、第31チャンネルのFナンバとて“4”をアドレスカウンタ41に出力する。この周波数ナンバは、整数部と小数部とからなるデータである。
加算器43はアドレスカウンタ41からの整数部のアドレスInに補助カウンタ45からの補助アドレスAAの「0」,「1」,「2」,「3」を順次加算する。従って、波形メモリ2Dには時分割チャンネルの1チャンネル内で連続した4個のアドレスInAが順次供給され波形メモリ2D中のアドレスInに対応した4つの連続した波形データが順次読み出されるようになる。一方、加算器44はアドレスカウンタ41からの小数部のアドレスDcに補助カウンタ45からの補助アドレスAAの「0」,「1」,「2」,「3」を加算するので、補間係数メモリ4Aには1チャンネル内でアドレス小数部Dcに応じた、該4つの連続した波形データにそれぞれ対応する4個のアドレスDcAが順次供給され、4つの係数が順次読み出される。
乗算器49は、補間係数メモリ4Aからの補間係数を各メモリ読出データMRDに乗じて補間累算器4Bに出力する。
補間累算器4Bは、乗算器49から順次出力される値を1チャンネル内で累算処理して、1つの補間出力サンプル値としてエンベロープ付与部2Eに出力する。
アンド回路4Eは、チャンネル制御レジスタ31からの動作中信号USEとタイミング信号φ31chとを入力し、両者の論理積信号をアンド回路4F,4G及び反転回路4Jに出力する。反転回路4Hは、チャンネル制御レジスタ31からの書込読出制御信号W/*Rを入力し、その反転出力をアンド回路4Fに出力する。アンド回路4Fは、アンド回路4Eの論理積信号と書込読出制御信号W/*Rの反転出力とを入力し、その論理積信号をバッファアンプ46に出力する。アンド回路4Gは、アンド回路4Eの論理積信号と書込読出制御信号W/*Rとを入力し、両者の論理積信号をバッファアンプ47に出力する。反転回路4Jは、アンド回路4Eの論理積信号を入力し、その反転出力をバッファアンプ48に出力する。
まず、CPU20が波形メモリ2Dから例えば、アドレス「5F」以降に書かれたサンプリング波形データを読み出す処理について説明する。
CPU20は、タイミング信号φ31chのタイミングで波形メモリ2Dのアドレス「5F」から順番にサンプリング波形データを読み出すために、楽音制御レジスタ1Dのタイミング信号φ31chの波形スタートアドレス(WSA)として「5F」を設定する。
次に、CPU20は、アドレスADRとして「A1」を出力する。これに応じて書込用デコーダ16は「A1」に対応した書込デコード信号を書込パルス発生部17に出力し、書込パルス発生部17は、ハイレベル“1”のスタート信号A1をアクセス回数検出部35、オア回路36及びアドレスカウンタ41に出力する。
フリップフロップ回路37のセット端子Sにはオア回路36を介してスタート信号A1が入力するので、フリップフロップ回路37はハイレベル“1”のセット出力Qをアンド回路38に、ローレベル“0”の反転出力*Qをゲート3Pに出力する。
アクセス回数検出部35は、スタート信号A1の入力に応じて検出回数値をクリアする。
アドレスカウンタ41にオア回路42を介してスタート信号A1が入力すると、アドレスカウンタ41は波形メモリ読出アドレスとして楽音制御レジスタ1D内の波形スタートアドレス(WSA)の「5F」をカウンタ初期値としてセットする。
CPU20は、アドレスADRとして「A2」を出力する。これに応じて読出用デコーダ18は「A2」に対応した読出デコード信号A2をゲート3Lに出力し、ゲート3Lを開き、フリップフロップ回路37の反転出力*Qを読出して、該反転出力*Qが“1”になったタイミングで、波形メモリ2Dからのメモリ読出データMRDのラッチ3J,3K,3L,3Mへの取り込みが完了したことを検出する。
すなわち、CPU20がアドレスADRとして「A5」を出力すると、読出用デコーダ18は読出デコード信号A5をセレクタ3Nに出力する。セレクタ3Nは、ラッチ3Mにラッチされているメモリ読出データMRDの上位8ビットを読出データWDRとして読出データバスに出力され、該上位8ビットがバッファ15を介してCPUにより読み出される。次に、CPU20がアドレスADRとして「A6」を出力すると、読出用デコーダ18は読出デコード信号A6をセレクタ3Nに出力する。セレクタ3Nは、ラッチ3Mにラッチされているメモリ読出データMRDの下位8ビットを読出データWDRとして読出データバスに出力され、バッファ15を介してCPUにより読み出される。
一方、送りパルス発生器3Gは、この1サンプル読出完了パルスRSPの入力に応じてラッチ3J,3K,3L,3Mのデータを1段ずつラッチ3M側にシフトする。
この読出動作が終了すると、アクセス回数検出部35はオア回路33から出力される1サンプル読出完了パルスRSPを計数して、4ワード分のデータ読み出しが終了した事を検出し、ハイレベル“1”の検出信号をオア回路36を介してフリップフロップ回路37のセット端子Sに出力する。これによって、フリップフロップ回路37は、再びセットされ、ハイレベル“1”のセット出力Qをアンド回路38に出力する。そして、次回のタイミング信号φ31chの間に波形メモリ2Dから4ワード分のデータが先程と同様に波形メモリ2Dから順次読み出され、4段のラッチ3J,3K,3L,3Mに取り込まれ、その後、再びフリップフロップ回路37がリセットされる。なお、この場合には、波形発生部2Cのアドレスカウンタ41への波形スタートアドレス(WSA)の書込処理は行われずに、前回のカウント値が継続して使用される。
波形メモリ2Dからのデータ読み出し処理を終了する時は、CPU20は、フリップフロップ回路37がリセットされている状態(セット出力Qがローレベル“0”の状態)で、アドレスADRとして「A0」を出力し、書込パルス信号A0をチャンネル制御レジスタ31に出力し、チャンネル制御レジスタ31の動作中信号USEをローレベル“0”とするようなデータDATAを出力する。これによって、チャンネル制御レジスタ31は、ローレベル“0”の動作中信号USEをアクセス回数検出部35及び4連続パルス発生部3E、周波数ナンバ発生器40及びアンド回路4Eに出力するようになるので、これ以降のデータ読み出し動作は行われなくなる。
CPU20は、タイミング信号φ31chのタイミングで波形メモリ2Dのアドレス「6F」から順番にサンプリング波形データを書き込むために、楽音制御レジスタ1Dのタイミング信号φ31chの波形スタートアドレス(WSA)すなわち波形メモリ2Dの書き込み先頭アドレスに「6F」を設定する。
なお、この時点では動作中信号USEはローレベル“0”にしておく。
すなわち、CPU20が最初の波形データの上位8ビットと共にアドレスADRとして「A3」を出力すると、書込用デコーダ16は「A3」に対応した書込デコード信号を書込パルス発生部17に出力し、書込パルス発生部17は、ハイレベル“1”の書込パルス信号A3を上位ラッチ34に出力する。上位ラッチ34は、データラッチ13からの上位8ビットの書込波形データをラッチする。次に、CPU20が同波形データの下位8ビットと共にアドレスADRとして「A4」を出力すると、書込用デコーダ16は「A4」に対応した書込デコード信号を書込パルス発生部17に出力し、書込パルス発生部17は、ハイレベル“1”の書込パルス信号A4をオア回路33及び3Fを介して送りパルス発生器3Gに出力する。
CPU20は、上述の動作(アドレスADR(A3,A4)を交互に出力する動作)を4回繰り返し行うことによって、4ワード分の書込波形データWDをラッチ3J,3K,3L,3Mに蓄える。
アクセス回数検出部35は、スタート信号A1の入力に応じて検出回数値をクリアする。
アドレスカウンタ41は、スタート信号A1をオア回路42を介して入力することによって、波形メモリ書込アドレスとして楽音制御レジスタ1D内の波形スタートアドレス(WSA)の「6F」をカウンタ初期値として格納する。
なお、この場合の上記3個のパルスは、読み出し時(書込読出制御信号W/*Rが“0”の時)に発生する4個のパルスのうちの最初の一発を除いた残りの3個のタイミングで発生している。
このとき、補助カウンタ45は、時分割チャンネルの1チャンネル分の間に、「0」,「1」,「2」,「3」の補助アドレスAAを加算器43及び44に出力するので、波形メモリ2Dには、アドレスカウンタ41からのアドレスInと補助カウンタ45の補助アドレスAAとの加算された4連続のアドレスInAが書込アドレスとして入力する。
ラッチ3J,3K,3L,3Mに蓄積されていた4個のメモリ書込データMWDが波形メモリ2Dに書き込まれると、それに合わせてディレイ3Cからハイレベル“1”の出力がフリップフロップ回路37のリセット端子Rに入力し、フリップフロップ回路37のセット出力Qをローレベル“0”に反転出力*Qをハイレベル“1”にセットする。
書込処理の終了を検出したCPU20は、アドレスADR(A3,A4)を交互に4回ずつ出力し、新たな4ワード分の書込波形データWDをラッチ3J,3K,3L,3Mに蓄え、上述の動作を繰り返し実行して、メモリ書込データMWDを波形メモリ2Dに書き込む。CPU20は、以上の動作を繰り返し実行することにより、波形スタートアドレス(WSA)の「6F」から順次4ずつアドレスを増加させながら、対応するアドレスにメモリ書込データMWDを書き込む。
12 アドレスラッチ
13 データラッチ
14 書込用バッファ
15 読出用バッファアンプ
16 書込用デコーダ
17 書込パルス発生部
18 読出用デコーダ
19 チャンネルラッチ
1A チャンネル変換部
1B チャンネルカウンタ
1C セレクタ
1D 楽音制御レジスタ
1E 波形メモリI/O
Claims (6)
- 複数チャンネル時分割動作する音源装置であって、
音源用のデータを記憶するメモリと、
当該音源装置における前記複数チャンネルの各チャンネルの動作を制御する制御データを記憶し、処理手段による該制御データの書き込みが可能な制御レジスタと、
前記制御レジスタの制御データに含まれるアドレス情報に基づいて、各チャンネル毎にメモリ読み書き用のアドレスを生成するアドレスカウンタ手段と、
新たな音源用のデータとして前記メモリに記憶させようとするデータを前記処理手段により入力して保持させることが可能なラッチを含み、前記複数チャンネルのうちの楽音発生に使用されない特定のチャンネルを除く残りの各チャンネルのタイミングで、当該残りの各チャンネルで発生すべき楽音に応じて前記アドレスカウンタ手段により生成された読み出し用の前記アドレスに基づいて前記メモリから前記音源用のデータを読み出すとともに、該特定のチャンネルのタイミングで、前記ラッチに保持された前記新たな音源用のデータを、該特定のチャンネルに対応して生成された書き込み用の前記アドレスに基づいて前記メモリに書き込むメモリアクセス手段と、
前記残りの各チャンネルについて、前記発生すべき楽音に応じて読み出された前記音源用のデータと前記制御データとに基づきそれぞれ楽音信号を生成する楽音生成手段と
を具備するメモリ使用音源装置。 - 前記処理手段が、書き込もうとする前記音源用のデータを前記ラッチに保持させ、前記メモリに該データを書き込むアドレスを示すアドレス情報を前記制御レジスタに書き込むとともに、書き込み指示を発生することにより、
前記アドレスカウンタ手段は、前記制御レジスタに書き込まれた該アドレス情報に基づき前記特定のチャンネルのアドレスを生成し、
前記メモリアクセス手段は、前記特定のチャンネルのタイミングで、前記ラッチに保持された該データを該アドレスに基づき前記メモリに書き込むこと
を特徴とする請求項1に記載のメモリ使用音源装置。 - 前記ラッチは複数のデータを保持することが可能であり、
前記処理手段は、書き込もうとする複数のデータを前記ラッチに保持させ、
前記アドレスカウンタ手段は、前記特定のチャンネルのタイミングに、該特定のチャンネルのアドレスとして複数のアドレスを順次生成し、
前記メモリアクセス手段は、該生成される複数のアドレスに基づいて、前記ラッチに保持された複数のデータを前記メモリに順次書き込んで、該順次書き込みが終了したら書き込み終了通知を発生すること
を特徴とする請求項2に記載のメモリ使用音源装置。 - 複数チャンネル時分割動作する音源装置であって、
音源用のデータを記憶するメモリと、
当該音源装置における前記複数チャンネルの各チャンネルの動作を制御する制御データを記憶し、処理手段による該制御データの書き込みが可能な制御レジスタと、
前記制御レジスタの制御データに含まれるアドレス情報に基づいて、各チャンネル毎にメモリ読み書き用のアドレスを生成するアドレスカウンタ手段と、
前記処理手段によりデータを取り出すことが可能なラッチを含み、前記複数チャンネルのうちの楽音発生に使用されない特定のチャンネルを除く残りの各チャンネルのタイミングで、当該残りの各チャンネルで発生すべき楽音に応じて前記アドレスカウンタ手段により生成された読み出し用の前記アドレスに基づいて前記メモリから前記音源用のデータを読み出すとともに、該特定のチャンネルのタイミングで、該特定のチャンネルに対応して生成された読み出し用の前記アドレスに基づいて前記メモリから前記音源用のデータを読み出して前記ラッチに入力して保持させ、その結果、該ラッチに保持したデータが前記処理手段により取り出されるようにする、メモリアクセス手段と、
前記残りの各チャンネルについて、前記発生すべき楽音に応じて読み出された前記音源用のデータと前記制御データとに基づきそれぞれ楽音信号を生成する楽音生成手段と
を具備するメモリ使用音源装置。 - 前記処理手段が、前記メモリから前記音源用のデータを読み出そうとするアドレスを示すアドレス情報を前記制御レジスタに書き込むとともに、読み出し指示を発生することにより、
前記アドレスカウンタ手段は、前記制御レジスタに書き込まれた該アドレス情報に基づき前記特定のチャンネルのアドレスを生成し、
前記メモリアクセス手段は、前記特定のチャンネルのタイミングで、前記アドレスに基づき前記メモリから前記音源用のデータを読み出して前記ラッチに保持させ、該読み出しが終了したら読み出し終了通知を発生し、
該終了通知に応じて、前記処理手段は、前記メモリから読み出されて前記ラッチに保持されたデータを該ラッチから取り出すこと
を特徴とする請求項4に記載のメモリ使用音源装置。 - 前記ラッチは複数のデータを保持することが可能であり、
前記アドレスカウンタ手段は、前記特定のチャンネルのタイミングに、該特定のチャンネルのアドレスとして複数のアドレスを順次生成し、
前記メモリアクセス手段は、該生成される複数のアドレスに基づいて、前記メモリから複数のデータを順次読み出して前記ラッチに順次保持させ、
前記処理手段は、前記メモリから読み出されて前記ラッチに保持された複数のデータを該ラッチから順次取り出すこと
を特徴とする請求項5に記載のメモリ使用音源装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004083463A JP3858905B2 (ja) | 2004-03-22 | 2004-03-22 | メモリ使用音源装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004083463A JP3858905B2 (ja) | 2004-03-22 | 2004-03-22 | メモリ使用音源装置 |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP34202893A Division JP3561939B2 (ja) | 1993-12-14 | 1993-12-14 | 波形メモリ音源 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2004227004A JP2004227004A (ja) | 2004-08-12 |
| JP3858905B2 true JP3858905B2 (ja) | 2006-12-20 |
Family
ID=32906277
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004083463A Expired - Lifetime JP3858905B2 (ja) | 2004-03-22 | 2004-03-22 | メモリ使用音源装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3858905B2 (ja) |
-
2004
- 2004-03-22 JP JP2004083463A patent/JP3858905B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP2004227004A (ja) | 2004-08-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103310780B (zh) | 乐音产生装置及乐音产生方法 | |
| 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 | |
| JP4998046B2 (ja) | 楽音発生装置 | |
| JP3163984B2 (ja) | 楽音発生装置 | |
| US5809342A (en) | Computer system and method for generating delay-based audio effects in a wavetable music synthesizer which stores wavetable data in system memory | |
| JP5915420B2 (ja) | 楽音発生装置、楽音発生方法、電子楽器及びプログラム | |
| JP3221314B2 (ja) | 楽音合成装置及び方法 | |
| JP3858905B2 (ja) | メモリ使用音源装置 | |
| JP3561939B2 (ja) | 波形メモリ音源 | |
| KR100236686B1 (ko) | 데이터 샘플열 액세스 장치 | |
| JPH07121181A (ja) | 音声情報処理装置 | |
| JP2950461B2 (ja) | 楽音発生装置 | |
| JP4070347B2 (ja) | 楽音信号発生装置 | |
| JP4254677B2 (ja) | 楽音発生装置および楽音発生処理のプログラム | |
| JP2000293169A (ja) | 楽音生成装置 | |
| JP2571559B2 (ja) | 波形信号処理方法 | |
| JP4692056B2 (ja) | 音波形生成装置、及び、音波形の波形生成データのデータ構造 | |
| JP4102930B2 (ja) | 音波形合成装置 | |
| JP4102931B2 (ja) | 音波形合成装置 | |
| JP4172366B2 (ja) | 自動演奏装置、自動演奏プログラム、自動演奏データ及びそのデータを記録した記録媒体 | |
| JP3245411B2 (ja) | 電子楽器 | |
| JP3095323B2 (ja) | 電子楽器 | |
| JP2000206972A (ja) | 波形デ―タの演奏制御装置 | |
| JP5146188B2 (ja) | 楽音信号生成装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040408 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050715 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050809 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051007 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051122 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060123 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060411 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060609 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060802 |
|
| A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060807 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060829 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060911 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| 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: 20100929 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100929 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110929 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120929 Year of fee payment: 6 |