JP4070347B2 - Music signal generator - Google Patents

Music signal generator Download PDF

Info

Publication number
JP4070347B2
JP4070347B2 JP08715199A JP8715199A JP4070347B2 JP 4070347 B2 JP4070347 B2 JP 4070347B2 JP 08715199 A JP08715199 A JP 08715199A JP 8715199 A JP8715199 A JP 8715199A JP 4070347 B2 JP4070347 B2 JP 4070347B2
Authority
JP
Japan
Prior art keywords
waveform
sample
waveform data
data
storage means
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP08715199A
Other languages
Japanese (ja)
Other versions
JP2000284783A (en
Inventor
勉 斉藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kawai Musical Instrument Manufacturing Co Ltd
Original Assignee
Kawai Musical Instrument Manufacturing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kawai Musical Instrument Manufacturing Co Ltd filed Critical Kawai Musical Instrument Manufacturing Co Ltd
Priority to JP08715199A priority Critical patent/JP4070347B2/en
Publication of JP2000284783A publication Critical patent/JP2000284783A/en
Application granted granted Critical
Publication of JP4070347B2 publication Critical patent/JP4070347B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、鍵盤電子楽器の技術分野に属し、詳しくは電子楽器に装備されている楽音信号発生装置に関する。
【0002】
【従来の技術】
鍵盤電子楽器には、演奏者が選択した音色と演奏者によって操作された鍵(キー)に対応する楽音信号波形データ(デジタル信号)を生成し、これをDAC、アンプ、スピーカ等で構成される音声出力系に供給する楽音信号発生装置が装備されている。
【0003】
従来の楽音信号発生装置は例えば図4に示す構成であった。
外部波形メモリは、例えばピアノ、ギター、オルガン等の楽器(すなわち音色)毎に、かつ音高(キーナンバー)毎に異なる楽音波形を、設定されたサンプリングタイミング毎にサンプリングしてデジタルデータにしたサンプル波形データを記憶している。
【0004】
波形スタートアドレス、Fナンバ累算器、エンベロープ発生器、サンプル補間乗数テーブル、ラッチ、加算回路、乗算回路及び加算器等により1つの波形生成チャネルが構成され、そうした波形生成チャネルが複数(通常、32チャネルまたは64チャネル)設けられている。
【0005】
演奏者が選択した音色(例えばピアノ、ギター、オルガン等の楽器に対応)とと演奏者によって操作されたキーオン/オフに関わるキーイベント情報(キーナンバー、ベロシティ等)は、図外のスキャン手段によって検出され、同じく図外のCPUは、波形生成チャネルのいずれかを選択して、その波形生成チャネル(チャネル番号)に音色及びキーイベント情報をリンクさせてアサイメントメモリに書き込む(アサインする)。
【0006】
アサインされている波形生成チャネルについては、読出サンプリング周期毎に、波形スタートアドレスとFナンバ累算器で指定されるアドレスのサンプル波形データが読出されてラッチに保持され、ラッチからのデータにはFナンバ累算器からの補間値によりサンプル補間乗数テーブルから出力される補間乗数が乗算されて加算器に入力される。加算器からのデータには、エンベロープ発生器からのエンベロープデータが乗算されて系列累算器に入力される。
【0007】
こうして各波形生成チャネルで生成され系列累算器に入力された楽音信号波形データは、系列累算されてL、Rの音声出力系に供給され、音声出力される。
各波形生成チャネルによるサンプル波形データの読込みのタイミングチャートは図5に例示するようなものであり、読出時の1サンプリング周期の間に必要なサンプル波形データの全てを、1読出サンプリング周期の中で外部波形メモリから読出すという方式である。図示の例では読出サンプリング周期は44.1kHz、チャネル数は64で1チャネル毎に2つのサンプル波形データを読込む設定である。
【0008】
なお、図4に破線で囲んで示すように、2サンプルメモリを付加し、これに前回読出したサンプル波形データ(前回データ)を記憶しておき、今回読出したサンプル波形データと前回データの双方を用いて精度の良いサンプルポイント補間値を得ているものもあった。しかし、この前回データを使用する方式にあっても、毎回の読出サンプリング周期毎に、アサインされている全チャネル分の新たなサンプル波形データを読出すことに変わりはない。
【0009】
これら従来の楽音信号発生装置は、回路をシンプルに構成でき、精度も良く、それなりに効率的であった。
【0010】
【発明が解決しようとする課題】
ところが、外部波形メモリの市場性(供給量、価格)に問題が存在した。
従来の楽音信号発生装置が使用していた外部波形メモリは、高速でランダムなアクセスが可能なROM、RAM(D−RAM、S−RAM)、フラッシュメモリ等の高速なランダムアクセスが可能な半導体メモリであったが、近年これらの半導体メモリの容量増加曲線が頭打ちに(従来のような容量増加は見込めなく)なりつつある。
【0011】
一方、楽音信号発生装置においては、電子楽器のユーザーがよりリアルな音、よりダイナミックレンジの広い音を要求する傾向にあるので、そのような要求に応えるために、より多量の多数のサンプル波形データを必要とし、半導体メモリの容量増加を上回るスピードで外部波形メモリの高容量化が進んでいる。このため、近年の楽音信号発生装置では、外部波形メモリとして、64メガビットのマスクROMを複数使用するのが一般的になりつつある。
【0012】
64メガビットのマスクROMを採用する理由はといえば、現在のところビット単価がもっとも安いのがマスクROMであり、そのマスクROMの中で一番容量が大きく最先端を行くのが64メガビットだからである。
しかし、フラッシュメモリの技術進歩が大きく、現在ではフラッシュメモリのビット単価はマスクROMの2倍以上であるが、将来的にはフラッシュメモリの方が安くなる可能性がある。
【0013】
また、マスクROMは内容の書き換えができないためにリサイクルに不適であるが、フラッシュメモリは何度でも書き換え可能なためにリサイクル性に優れているので、環境保護や省資源性を考慮するとフラッシュメモリが広範に採用されると予想される。
【0014】
ところで、フラッシュメモリには、マスクROMと同様に中速(100ns程度)でランダムアクセス可能なタイプと、高速(50ns以下)でアクセス可能な小さなフラッシュメモリ(セル)を多数集合した構造で(セル構造フラッシュメモリ)、セルを指定するのにかなり時間がかかるが(10μs程度)、一旦セルを指定すれば、そのセル内のメモリ内容は前述したタイプの2倍程度高速で読み出せるタイプとの、2タイプある。
【0015】
本発明は、上記のセル構造フラッシュメモリのように、ランダムアクセスには時間がかかるが、あるセル(またはエリア)が指定された後の連続読出しは非常に高速アクセス可能な半導体メモリもしくはメカニカルな記憶装置を、波形記憶手段(サンプル波形データを記憶するための記憶手段)として利用するのに好適な楽音信号発生装置を提供することを目的としている。
【0016】
【課題を解決するための手段および発明の効果】
上記課題を解決するための請求項1記載の楽音信号発生装置は、音色及びキーナンバーで特定される楽音波形のサンプル波形データを記憶している波形記憶手段と、割り当てられた音色及びキーナンバーに基づいて前記波形記憶手段から前記サンプル波形データを取得し、読出サンプリング周期毎に該取得したサンプル波形データに演算処理を施して楽音信号波形データを生成する複数の波形生成チャネルとを備える楽音信号発生装置において、前記各波形生成チャネルは、M回(Mは複数)の前記読出サンプリング周期に1回の割合で前記波形記憶手段から少なくともM回の前記楽音信号波形データの生成に要する前記サンプル波形データ(N個)を取得して記憶する取得波形記憶手段を有し、前記読出サンプリング周期毎に該取得波形記憶手段から読出される前記サンプル波形データに演算処理を施して前記楽音信号波形データを生成することを特徴とする。
【0017】
請求項1記載の楽音信号発生装置の各波形生成チャネルは、M回(Mは複数)の読出サンプリング周期に1回の割合で波形記憶手段から少なくともM回の楽音信号波形データの生成に要するサンプル波形データ(N個)を取得して取得波形記憶手段に記憶する。そして、読出サンプリング周期毎に取得波形記憶手段から読出されるサンプル波形データに演算処理を施して楽音信号波形データを生成する。
【0018】
すなわち、M回の読出サンプリング周期分の楽音信号波形データの生成に要するN個のサンプル波形データを先読みして記憶しておき、次に波形記憶手段からサンプル波形データを取得するまでの間は、先読みしてあったサンプル波形データを使用して楽音信号波形データを生成するのである。
【0019】
例えば波形生成チャネルが64チャネルあるとしてM=64とすれば、ある読出サンプリング周期には、ある1つの波形生成チャネルがサンプル波形データをN個(例えばN=64×2個)読出して記憶するのである。こうすると、64読出サンプリング周期で全ての波形生成チャネルが64読出サンプリング周期分のサンプル波形データを取り込んで記憶できる。
【0020】
1回の読込みのために1つの波形生成チャネルに与えられる時間は1読出サンプリング周期であり、従来の読込み時間(1読出サンプリング周期を波形生成チャネル数で分割した時間)と比べればきわめて長時間であるから、その時間内に、上述のセル構造フラッシュメモリのようなセル(エリア)の指定に時間がかかるメモリでも、セルを指定して多数のサンプル波形データを読出すことができる。
【0021】
よって、セル構造フラッシュメモリのように、ランダムアクセスには時間がかかるが、あるセル(エリア)が指定された後の連続読出しは非常に高速アクセス可能な半導体メモリ(もしくはメカニカルな記憶装置)を、波形記憶手段として利用するのに好適である。
【0022】
なお、1読出サンプリング周期に複数の波形生成チャネル用のサンプル波形データを取り込んで記憶する構成としてもよい。
このように多数のサンプル波形データを先読みしておいて、これを使用して楽音信号波形データを生成するには、先読みしたサンプル波形データが、そのサンプリング順に連続しているのが好ましい。すなわち、請求項2記載のように、請求項1記載の楽音信号発生装置において、各々の前記取得波形記憶手段に記憶されるN個の前記サンプル波形データは、そのサンプリング順に連続しているとよい。
【0023】
そうしたサンプリング順に連続しているサンプル波形データを扱うために好適なものとして、請求項3記載の楽音信号発生装置がある。
請求項3記載の楽音信号発生装置は、請求項1または2記載の楽音信号発生装置において、演奏者によって操作される音色設定手段により設定された音色とオン操作されたキーのキーナンバーとに基づいて決まる前記波形記憶手段のアドレスを前記波形生成チャネルのいずれかに割り当てる割当手段を備え、前記波形生成チャネルは、該割当手段によって割り当てられた前記アドレスから連続するアドレスに記憶されているN個の前記サンプル波形データを読出して前記取得波形記憶手段に記憶することを特徴としている。
【0024】
この楽音信号発生装置では、割当手段は、演奏者によって操作される音色設定手段により設定された音色とオン操作されたキーのキーナンバーとに基づいて決まる波形記憶手段のアドレスを波形生成チャネルのいずれかに割り当て、波形生成チャネルは、割当手段によって割り当てられたアドレスから連続するアドレスに記憶されているN個のサンプル波形データを読出して取得波形記憶手段に記憶する。
【0025】
サンプル波形データを波形記憶手段に記憶させる際に、そのサンプリング順に従ってアドレスを与えておけば、割り当てられたアドレスから連続するアドレスに記憶されているサンプル波形データを読出すことにより、サンプリング順に連続しているサンプル波形データを取得できる。
【0026】
請求項4記載の楽音信号発生装置は、請求項1ないし3のいずれか記載の楽音信号発生装置において、前記波形記憶手段と前記取得波形記憶手段との間に前記各波形生成チャネルで共用するファーストイン・ファーストアウト方式のバッファメモリを備え、前記取得波形記憶手段は、前記波形記憶手段から読出されて前記バッファメモリに蓄積されていたN個の前記サンプル波形データを読み込んで記憶するので、取得波形記憶手段にサンプル波形データを記憶するタイミングを、1読出サンプリング周期の任意の期間に設定できる。
【0027】
【発明の実施の形態】
次に、本発明の実施例を図面を参照して説明することにより、発明の実施の形態を具体的に説明する。
【0028】
【実施例1】
図1は、本実施例の楽音信号発生装置10の構成を説明するブロック図である。なお、この楽音信号発生装置10は、鍵盤式電子楽器の一部であり、鍵盤式電子楽器には、複数のキーを備える鍵盤、音色を設定するための音色選択スイッチ(音色設定手段)、音色選択スイッチにて設定された音色とオン操作されたキーのキーナンバーとに対応する楽音信号波形データの生成を波形生成チャネルのいずれかに割り当てるアサイン装置(割当手段)等(いずれも図外)を備えている。
【0029】
図1に示すように、本実施例の楽音信号発生装置10は、サンプル波形データを格納している外部波形メモリ20と外部波形メモリ20から読み込んだサンプル波形データに基づいて楽音信号波形データ(デジタル信号)を生成する波形発生器40とによって構成される。なお、波形記憶手段に該当する外部波形メモリ20はNAND型セル構造フラッシュメモリであり、本実施例では東芝製のTC58V64FTを使用している。このTC58V64FTは、セル選択に約10μs、同一セル内の連続アドレス読出しのシリアルリードサイクルは約50nsである。また、波形発生器40は1個のLSIとされており、詳細は後述するがそれぞれが1音のサンプル波形を生成する楽音発生チャネルを64チャネル備えている。
【0030】
波形発生器40のアサイメントメモリ46はRAMであり、各チャネル毎の(64チャネル分の)アサイメント情報を記憶する。すべての音色及びキーナンバーに対応するアサイメント情報は、アサイン装置のROMに記憶されており、音色選択スイッチにより設定された音色とオン操作されたキーのキーナンバーとに基づいて、アサイン装置がROMから読出してアサイメントメモリ46に書込んだものである。
【0031】
1チャネル分のアサイメント情報は、キーナンバ、そのオン/オフ情報、波形スタートアドレス、L側及びR側パンニング係数、アタック、ディケイ及びリリースの各エンベロープデータ、ラウドネスデータ等からなり、公知技術に従っている。
【0032】
波形スタートアドレス48はレジスタメモリであり、チャネル数分(本実施例では64個)備わっている。各波形スタートアドレス48には、アサイメント情報の波形スタートアドレスデータが1個ずつ記憶される。波形スタートアドレス48の波形スタートアドレスデータ(A0〜A31、32ビット)は加算器ADD1に送られる。
【0033】
Fナンバ累算器50も波形スタートアドレス48と同様にチャネル数分(本実施例では64個)備わっている。Fナンバ累算器50にはキーナンバに対応するFナンバ及びキーオン/オフ情報が入力される。Fナンバ累算器50の出力のうちFナンバの整数部分に相当するA0〜A23の24ビットは加算器ADD1に送られ、波形スタートアドレスデータに加算されて、波形読出アドレスとして外部波形メモリアドレスコントローラ58に入力され、外部波形メモリアドレスコントローラ58から外部波形メモリ20に入力される。なお、外部波形メモリ20のI/Oポートが8ビットであるので、実際には8ビットずつ4回に分けて外部波形メモリ20に入力される。
【0034】
この波形読出アドレスで指定されるアドレスに格納されているサンプル波形データが、ファーストイン・ファーストアウト方式のバッファメモリであるFIFORAM60に読み込まれ、蓄積される。FIFORAM60はA、B2つの格納領域を持ち、それぞれの格納領域に128個のサンプル波形データを記憶できる。なお、FIFORAM60のA領域とB領域の選択は、サイクルステール転送アドレスジェネレータ57から領域切替信号に従う。サイクルステール転送アドレスジェネレータ57は一種のカウンタであり、13ビットの値を0から昇順に繰り返し生成し、0リセットする毎に領域切替信号を出力する。
【0035】
また、Fナンバ累算器50のA0〜A6の7ビットは内部波形メモリアドレスコントローラ54に送られる。内部波形メモリアドレスコントローラ54にはサイクルステール転送アドレスジェネレータ57からの13ビット信号も入力される。内部波形メモリアドレスコントローラ54は、Fナンバ累算器50のA0〜A6の7ビットとサイクルステール転送アドレスジェネレータ57からの13ビットに基づいて、128個のサンプル波形データを例えば1個目から128個目へと昇順に指示するための7ビットと64の波形生成チャネルを特定するための6ビットとからなる13ビット信号を、RAMであり取得波形記憶手段に該当する内部波形メモリ56のアドレス指定信号として生成し、出力する。
【0036】
内部波形メモリ56は、波形スタートアドレス48やFナンバ累算器50と同様にチャネル数分(本実施例では64個)備わっており、FIFORAM60から読み込んだサンプル波形データを、内部波形メモリアドレスコントローラ54からのアドレス指定信号にて指定されるアドレスに記憶する。記憶されたサンプル波形データは、定期的に(読出サンプリング周期に従って)ラッチL1〜L4に(各1サンプル波形データが)送られる。
【0037】
各ラッチL1〜L4の出力側にはそれぞれ乗算器MLT1〜MLT4が配されており、乗算器MLT1〜MLT4にはラッチL1〜L4にラッチされている値(サンプル波形データ)とサンプル補間乗数テーブル52からの補間乗数が入力される。補間乗数は、Fナンバ累算器50から出力されるFナンバの小数部分に相当するA−4〜A−1の4ビットのデータに対応して、サンプル補間乗数テーブル52で選択された値であり、各乗算器MLT1〜MLT4にてサンプル波形データに補間乗数を乗算する(補間処理を施す)。
【0038】
補間処理されたサンプル波形データは加算器62において加算処理され、加算波形データとして乗算器MLT5に送られる。乗算器MLT5には、エンベロープ発生器63からのエンベロープデータが入力され、加算波形データにエンベロープデータが乗算され楽音信号波形データとなる。ここで乗算されるエンベロープデータは、アサイメントメモリ46からエンベロープ発生器63に供給されるアタック、ディケイ及びリリースのエンベロープデータに基づいている。
【0039】
そして、乗算器MLT5の出力(楽音信号波形データ)は系列累算回路64に入力され、ここで全チャネル分(本実施例では64チャネル分)の楽音信号波形データの累算処理が行われる。累算後のデータは、左出力端子Lから左出力系のデジタルアナログコンバータ(D/A)66Lに送られ、右出力端子Rから右出力系のデジタルアナログコンバータ(D/A)66Rに送られ、それぞれアナログ信号に変換され、図示しないアンプで増幅されて図示しないスピーカから音声出力される。
【0040】
本実施例の場合、波形スタートアドレス48、Fナンバ累算器50、内部波形メモリ56及びエンベロープ発生器63が、それぞれ64個備わっており、アサイメントメモリ46の1チャネル分のアサイメント情報について、波形スタートアドレス48、Fナンバ累算器50、内部波形メモリ56及びエンベロープ発生器63を1個ずつ対応させて1組となし、その各組を1読出サンプリング周期に1回ずつ時分割で動作させる(ただし、内部波形メモリ56のデータ記憶動作は1読出サンプリング周期に1回ずつではない。)ことにより、1読出サンプリング周期につき64の楽音信号波形データを生成できる。すなわち、波形生成チャネルが64チャネル備わっている。
【0041】
次に、本実施例の楽音信号発生装置10に特有の、内部波形メモリ56にサンプル波形データを記憶する動作について、図2を参照して説明する。
上述した64の波形生成チャネルを時分割動作させる読出サンプリング周期は44.1kHz(1周期=22.67μs)であり、これを64に等分し0〜63のチャネル演算タイムスロットが設定されている。
【0042】
外部波形メモリ20からサンプル波形データを読出すための波形読出タイムスロットは、図示するとおり1読出サンプリング周期の前半11.3μsをセル選択時間に充当し、後半をデータ読出時間に充当している。
マスタークロックは22.58MHzである。1読出サンプリング周期がスタートすると、外部波形メモリ20のセル選択のための波形読出アドレスが、外部波形メモリアドレスコントローラ58から外部波形メモリ20に出力される。外部波形メモリ20のアドレス入力ポートが8ビットであるので、外部波形メモリアドレスコントローラ58は、波形読出アドレス(32ビット)を8ビットずつに分けて(A0〜A7、A8〜A15、A16〜A23、A24〜A31)、マスタークロックの1周期毎に外部波形メモリ20に送り出す。各8ビットデータはアドレスラッチクロックにてラッチされ、外部波形メモリ20に取込まれる。ここまでに要する時間は、マスタークロックの4周期分(177ns)である。
【0043】
波形読出アドレスにより外部波形メモリ20のセルが指定され、外部波形メモリ20内部では、選択されたセルのデータが出力用のレジスタに転送される。本実施例の場合、1セルには、そのセルの先頭アドレスから連続する128アドレスに、各1バイトのサンプル波形データが記憶されており、その128個のサンプル波形データがレジスタに転送される。前述したとおり外部波形メモリ20のセル選択に要する時間は約10μsであるから、チャネル演算タイムスロットの0〜31スロットまでの11.3μsにて外部波形メモリ20のセル選択(外部波形メモリ20内でのデータ転送)が完了する。なお、セル内でのサンプル波形データのアドレス順序は、サンプリング順になっている。つまり、サンプル波形データをアドレス順に読出せば、そのままサンプリング順になる。
【0044】
32スロットのスタート時に外部波形メモリ20に対する波形読出クロックが立ち下がる。波形読出クロックは、以後マスタークロックの2周期毎に立ち下がりを繰り返し、チャネル演算タイムスロットの63スロットの終了(1読出サンプリング周期の終了、次の読出サンプリング周期のスタート時)にハイレベルに戻る。すなわち、波形読出クロックは、読出サンプリング周期の前半はハイレベルを維持し、後半はマスタークロックの2周期毎に立ち下がる。
【0045】
そして、波形読出クロックの立ち下がりに起因して、外部波形メモリ20の出力用のレジスタからセル内の先頭アドレスの8ビットのデータ(すなわち1個のサンプル波形データ)が出力され、FIFORAM60に記憶される。そして、続く波形読出クロックの立ち下がり毎に、先頭アドレスから連続するアドレスのサンプル波形データが、1個ずつ読出されてFIFORAM60に記憶される。こうした動作を繰り返すことにより、読出読出アドレスで選択されたセルからの128個のサンプル波形データをFIFORAM60に記憶することができる。
【0046】
図示するように、外部波形メモリ20のシリアルリードタイムは、波形読出クロックの立ち下がりから立ち上がりまでに相当する66.3nsとなるので、チャネル演算タイムスロットの32〜63スロットまでの11.3μsの間に、ある1つの波形生成チャネル用の128個のサンプル波形データをFIFORAM60に記憶することができる。
【0047】
このように外部波形メモリ20から読出されFIFORAM60に記憶される128個のサンプル波形データは、外部波形メモリ20の同一セル内の連続するアドレスに記憶されているので、セル選択さえ済めば、外部波形メモリ20からのデータの読出はきわめて短時間で行うことができる。
【0048】
FIFORAM60に記憶されたサンプル波形データは、次の読出サンプリング周期において、内部波形メモリ56に送られて記憶される。
前述したとおりFIFORAM60はA、B2つの記憶領域を持っているので、ある読出サンプリング周期で例えばA領域に128個のサンプル波形データを蓄積したとすれば、次の読出サンプリング周期では、A領域のサンプル波形データを内部波形メモリ56に出力し、外部波形メモリ20からの新たなサンプル波形データはB領域に記憶する。そして、その次の読出サンプリング周期では、B領域から内部波形メモリ56に出力し、外部波形メモリ20からのサンプル波形データA領域に記憶する。このように、A、B2つの領域の一方に記憶し、他方から出力するので、1読出サンプリング周期毎に128個のサンプル波形データを記憶し、同じく128個のサンプル波形データを内部波形メモリ56に出力できる。
【0049】
したがって、この楽音信号発生装置10の波形発生器40は、初期状態直後の読出サンプリング周期(FIFORAM60は空)を除けば、1読出サンプリング周期毎に1つの波形生成チャネル用の128個のサンプル波形データを、外部波形メモリ20から取得して記憶できる。
【0050】
そして、読出サンプリング周期毎に、各波形生成チャネルでは、それぞれの内部波形メモリ56に記憶されている128個のサンプル波形データの中から連続する4個ずつが読出されて、それぞれラッチL1〜L4に送られ、上述のように補間処理と加算処理が行われる。なお、読出サンプリング周期毎にラッチL1〜L4に送られる4つのサンプル波形データは毎回異なるわけではなく、例えば今回0〜3番の4データとすれば、次回は1〜4番の4データ、その次は2〜5番の4データというように、サンプリング順序(すなわち外部波形メモリ20内でのアドレス順序)を1ずつシフトした4データとされる。
【0051】
よって、次のサンプル波形データの取込機会(64読出サンプリング周期後)までに必要とするサンプル波形データの個数は64+3=67であるから、1回の取込機会には、最低67データを取込んで内部波形メモリ56に記憶すれば足りる。なお、本実施例では4個のサンプル波形データを使用して1つのサンプル波形を生成している(4ポイント方式である)が、2ポイント方式なら64+1=65データを内部波形メモリ56に取込めばよいことになる。本実施例のように、1読出サンプリング周期に128個のサンプル波形データを内部波形メモリ56に記憶せずに、必要最低限の数のサンプル波形データを内部波形メモリ56に記憶させる構成としてもよい。そのようにすれば、データ読出時間を短縮できる。
【0052】
以上のように、各波形生成チャネルは、64回の読出サンプリング周期に1回の割合で外部波形メモリ20から128個(64個の楽音信号波形データの生成に要するサンプル波形データの個数(67個)を上回っている)を取得して、内部波形メモリ56に記憶し、読出サンプリング周期毎に内部波形メモリ56からラッチL1〜L4に出力される4個のサンプル波形データに補間処理(乗算器MLT1〜4)、加算処理(加算器62)及びエンベロープ処理(乗算器MLT5)を施して楽音信号波形データを生成するので、ランダムアクセスには時間がかかるが、あるセル(エリア)が指定された後の連続読出しは非常に高速アクセス可能な半導体メモリ(セル構造フラッシュメモリ)を、外部波形メモリ20として利用するのに好適である。
【0053】
そして、外部波形メモリ20のセル内では、サンプリング順に連続しているサンプル波形データを、その順序に従って連続するアドレスに記憶させてあるので、上述の連続的な読出に好適である。
また、連続的に読出されたサンプル波形データを一旦FIFORAM60の一方の記憶領域に記憶し、次の読出サンプリング周期で内部波形メモリ56に記憶するので、内部波形メモリ56にサンプル波形データを記憶するタイミングを、1読出サンプリング周期の任意の期間に設定できるし、内部波形メモリ56からラッチL1〜L4への出力のタイミングとのオーバーラップを避けることができる。
【0054】
【実施例2】
実施例1はセル選択に10μs程度のセル構造フラッシュメモリを使用する例であるが、この実施例2ではセル選択をもっと短時間(例えば300ns程度)を要するセル構造のメモリを使用する例である。ハード構成は実施例1と同様であるので図示と説明を省略し、実施例1の符号を引用する。
【0055】
図3に示すように、この実施例2でも、実施例1と同様に読出サンプリング周期のスタートと同時に外部波形メモリ20のセルを指定するために、波形読出アドレスが外部波形メモリ20に送られる。外部波形メモリ20内でのセル選択(出力用のレジスタにセルのデータを転送)は、354ns(チャネル演算タイムスロット1個分)で完了する。
【0056】
セル選択が行われたチャネル演算タイムスロット(例えば0スロット)に続くタイムスロット(例えば1スロット)の期間内では、そのスロットのスタート時に外部波形メモリ20に対する波形読出クロックが立ち下がり、以後マスタークロックの2周期毎に合計4回立ち下がる。そして、実施例1の場合と同様に、
波形読出クロックの立ち下がりに起因して、1個のサンプル波形データが外部波形メモリ20からFIFORAM60に送られて記憶される。
【0057】
このように、チャネル演算タイムスロットの2つのスロットに相当する時間内で4個のサンプル波形データが読出されて、FIFORAM60のA領域またはB領域に記憶される。FIFORAM60に記憶されたサンプル波形データは、次の外部波形メモリ20からのデータ読出が行われる期間(次の2つのタイムスロットに対応する期間)に内部波形メモリ56に転送され、記憶される。これにより、例えば0〜1スロットでA領域に記憶し、続く2〜3スロットではB領域への記憶とA領域からの送出というように、A、B領域を交互に使用して、外部波形メモリ20からの読出と内部波形メモリ56への記憶を滞りなく実行できる。
【0058】
この実施例では、1チャネル当たり4サンプル波形データを、1読出サンプリング周期当たり32チャネル分、外部波形メモリ20から読み出しできる。したがって、64チャネルすべてについて4つのサンプル波形データを読出すには、2読出サンプリング周期を要する(各波形生成チャネルがサンプル波形データを獲得するのは2周期に1回となる。)。
【0059】
このため、本実施例の場合、1つの楽音信号波形データの生成に2つのサンプル波形データを使用する方式(2ポイント方式)を採用している。実施例1で採用している4ポイント方式に比べれば、楽音信号波形データの精度が多少は劣るが、実用上問題はない。
【0060】
この例のように、セル選択を短時間で行える場合には、1読出サンプリング周期内で複数チャネル分のサンプル波形データを外部波形メモリ20から読出して記憶する構成とできる。また、本実施例の装置でも実施例1と同様の効果が得られる。
【0061】
以上、2つの実施例に従って、本発明の実施の形態について説明したが、本発明はこれらの実施例に限定されるものではなく、本発明の要旨を逸脱しない範囲でさまざまに実施できることは言うまでもない。
【図面の簡単な説明】
【図1】 実施例1の楽音信号発生装置の構成を説明するブロック図である。
【図2】 実施例1の楽音信号発生装置におけるサンプル波形データ読出のタイムチャートである。
【図3】 実施例2の楽音信号発生装置におけるサンプル波形データ読出のタイムチャートである。
【図4】 従来例の楽音信号発生装置の構成を説明するブロック図である。
【図5】 従来例の楽音信号発生装置におけるサンプル波形データ読出のタイムチャートである。
【符号の説明】
10…楽音信号発生装置
20…外部波形メモリ(波形記憶手段)
40…波形発生器
46…アサイメントメモリ
48…波形スタートアドレス
50…Fナンバ累算器
52…サンプル補間乗数テーブル
54…内部波形メモリアドレスコントローラ
56…内部波形メモリ(取得波形記憶手段)
57…サイクルステール転送アドレスジェネレータ
58…外部波形メモリアドレスコントローラ
60…FIFORAM(バッファメモリ)
62…加算器
63…エンベロープ発生器
64…系列累算回路
[0001]
BACKGROUND OF THE INVENTION
The present invention belongs to the technical field of keyboard electronic musical instruments, and more particularly relates to a musical sound signal generator provided in an electronic musical instrument.
[0002]
[Prior art]
The keyboard electronic musical instrument generates tone signal waveform data (digital signal) corresponding to the tone color selected by the performer and the key (key) operated by the performer, and is composed of a DAC, an amplifier, a speaker, and the like. It is equipped with a musical tone signal generator that supplies the audio output system.
[0003]
A conventional musical tone signal generator has a configuration shown in FIG. 4, for example.
The external waveform memory is a sample of digital data obtained by sampling a musical sound waveform that differs for each musical instrument (ie, timbre) and each pitch (key number) for each set sampling timing, for example, piano, guitar, organ, etc. Stores waveform data.
[0004]
A waveform start channel, an F number accumulator, an envelope generator, a sample interpolation multiplier table, a latch, an adder circuit, a multiplier circuit, an adder, and the like constitute one waveform generation channel, and a plurality of such waveform generation channels (usually 32 Channel or 64 channels).
[0005]
The tone selected by the performer (for example, corresponding to musical instruments such as piano, guitar, organ, etc.) and key event information (key number, velocity, etc.) related to key on / off operated by the performer are scanned by means of scanning means not shown. The detected CPU, not shown, selects one of the waveform generation channels, and links (assigns) the tone color and key event information to the waveform generation channel (channel number).
[0006]
With respect to the assigned waveform generation channel, the sample waveform data at the address specified by the waveform start address and the F number accumulator is read and held in the latch at every read sampling period, and the data from the latch is F. The interpolation value output from the sample interpolation multiplier table is multiplied by the interpolation value from the number accumulator and input to the adder. The data from the adder is multiplied by the envelope data from the envelope generator and input to the sequence accumulator.
[0007]
The musical tone signal waveform data generated in each waveform generation channel and input to the sequence accumulator in this way is sequence-accumulated, supplied to the L and R audio output systems, and output as audio.
The timing chart for reading the sample waveform data by each waveform generation channel is as shown in FIG. 5, and all the sample waveform data required during one sampling period at the time of reading is all within one reading sampling period. This is a method of reading from an external waveform memory. In the illustrated example, the read sampling period is 44.1 kHz, the number of channels is 64, and two sample waveform data are read for each channel.
[0008]
As shown in FIG. 4 by enclosing with a broken line, a 2-sample memory is added to store the previously read sample waveform data (previous data), and both the sample waveform data read this time and the previous data are stored. Some have used sample point interpolation values with high accuracy. However, even in the method using the previous data, there is no change in reading new sample waveform data for all assigned channels at every read sampling period.
[0009]
These conventional musical tone signal generators have a simple circuit configuration, high accuracy, and are reasonably efficient.
[0010]
[Problems to be solved by the invention]
However, there was a problem in the marketability (supply amount and price) of the external waveform memory.
The external waveform memory used by conventional musical tone signal generators is a semiconductor memory capable of high-speed random access such as ROM, RAM (D-RAM, S-RAM), flash memory, etc. However, in recent years, the capacity increase curve of these semiconductor memories has reached its peak (capacity increase cannot be expected as in the past).
[0011]
On the other hand, in musical tone signal generators, users of electronic musical instruments tend to demand more realistic sounds and sounds with a wider dynamic range. To meet such demands, a larger amount of sample waveform data Therefore, the capacity of the external waveform memory is increasing at a speed exceeding the increase in the capacity of the semiconductor memory. For this reason, in recent musical tone signal generators, it is becoming common to use a plurality of 64-megabit mask ROMs as external waveform memories.
[0012]
The reason for adopting a 64-megabit mask ROM is that, at present, the lowest price per bit is a mask ROM, and the largest capacity of the mask ROM is the most advanced because it is 64 megabits. .
However, the technological advancement of flash memory is significant, and the bit unit price of flash memory is now more than twice that of mask ROM. However, flash memory may be cheaper in the future.
[0013]
The mask ROM is not suitable for recycling because the contents cannot be rewritten, but the flash memory is excellent in recyclability because it can be rewritten any number of times. Widely adopted.
[0014]
By the way, the flash memory has a structure in which random access is possible at medium speed (about 100 ns) and a small number of small flash memories (cells) that can be accessed at high speed (50 ns or less) as in the mask ROM (cell structure). Flash memory), it takes quite a long time to specify a cell (about 10 μs), but once a cell is specified, the memory content in that cell is 2 times faster than the type described above. There are types.
[0015]
In the present invention, as in the above-described cell structure flash memory, random access takes time, but continuous reading after a certain cell (or area) is designated is a semiconductor memory or mechanical memory that can be accessed at a very high speed. An object of the present invention is to provide a musical tone signal generator suitable for using the apparatus as waveform storage means (storage means for storing sample waveform data).
[0016]
[Means for Solving the Problems and Effects of the Invention]
A musical tone signal generator according to claim 1 for solving the above-mentioned problem is provided with waveform storage means for storing musical tone waveform sample waveform data specified by tone color and key number, and assigned tone color and key number. A musical tone signal generator comprising: a plurality of waveform generation channels for acquiring the sample waveform data from the waveform storage means and performing arithmetic processing on the acquired sample waveform data for each readout sampling period to generate musical signal waveform data In the apparatus, each of the waveform generation channels includes the sample waveform data required for generating at least M times of the musical tone signal waveform data from the waveform storage means at a rate of once every M (M is a plurality) of the read sampling periods. (N) acquisition waveform storage means for acquiring and storing the acquisition waveform storage means for each readout sampling period. The read from device sample waveform data by performing arithmetic processing and generating the musical sound signal waveform data.
[0017]
Each waveform generation channel of the musical tone signal generating device according to claim 1 is a sample required for generating at least M musical tone signal waveform data from the waveform storage means at a rate of once every M sampling cycles (M is a plurality). Waveform data (N pieces) is acquired and stored in the acquired waveform storage means. Then, musical tone signal waveform data is generated by performing arithmetic processing on the sample waveform data read from the acquired waveform storage means for each reading sampling period.
[0018]
That is, N sample waveform data required for generating the musical tone signal waveform data for the M reading sampling cycles is pre-read and stored, and then the sample waveform data is acquired from the waveform storage means until The musical tone signal waveform data is generated using the pre-read sample waveform data.
[0019]
For example, if there are 64 waveform generation channels and M = 64, a certain waveform generation channel reads and stores N (for example, N = 64 × 2) sample waveform data in a certain readout sampling period. is there. In this way, all waveform generation channels can capture and store sample waveform data for 64 readout sampling periods in 64 readout sampling periods.
[0020]
The time given to one waveform generation channel for one reading is one readout sampling period, which is extremely long compared to the conventional reading time (time obtained by dividing one readout sampling period by the number of waveform generation channels). Therefore, even in a memory that takes time to designate a cell (area) such as the above-described cell structure flash memory, a large number of sample waveform data can be read by designating the cell.
[0021]
Therefore, like a cell structure flash memory, random access takes time, but a semiconductor memory (or mechanical storage device) that can be accessed at a very high speed for continuous reading after a certain cell (area) is designated, It is suitable for use as waveform storage means.
[0022]
A configuration may be adopted in which sample waveform data for a plurality of waveform generation channels is captured and stored in one readout sampling period.
In order to pre-read a large number of sample waveform data in this way and generate musical tone signal waveform data using this, it is preferable that the pre-read sample waveform data is continuous in the sampling order. That is, as described in claim 2, in the musical sound signal generator according to claim 1, the N pieces of sample waveform data stored in each of the acquired waveform storage means may be continuous in the sampling order. .
[0023]
A musical tone signal generator according to claim 3 is suitable for handling sample waveform data that is continuous in such a sampling order.
The musical tone signal generator according to claim 3 is the musical tone signal generator according to claim 1 or 2, based on the tone color set by the tone color setting means operated by the performer and the key number of the key that is turned on. Allocating means for allocating the address of the waveform storage means determined to any one of the waveform generating channels, and the waveform generating channel is stored in N addresses stored in consecutive addresses from the address allocated by the allocating means. The sample waveform data is read out and stored in the acquired waveform storage means.
[0024]
In this musical tone signal generator, the assigning means assigns the address of the waveform storage means determined based on the tone color set by the tone color setting means operated by the performer and the key number of the on-operated key to any of the waveform generation channels. The waveform generation channel reads the N sample waveform data stored at successive addresses from the address assigned by the assigning means and stores it in the acquired waveform storage means.
[0025]
When the sample waveform data is stored in the waveform storage means, if the addresses are given according to the sampling order, the sample waveform data stored in the consecutive addresses from the assigned address is read out, and the sample waveform data is continuously recorded in the sampling order. Sample waveform data can be acquired.
[0026]
The musical tone signal generator according to claim 4 is the musical tone signal generator according to any one of claims 1 to 3, wherein the waveform generating channel is shared between the waveform storage means and the acquired waveform storage means. In-first-out buffer memory is provided, and the acquired waveform storage means reads and stores the N pieces of sample waveform data read from the waveform storage means and stored in the buffer memory. The timing for storing the sample waveform data in the storage means can be set to an arbitrary period of one readout sampling period.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
Next, embodiments of the present invention will be specifically described with reference to the drawings.
[0028]
[Example 1]
FIG. 1 is a block diagram illustrating the configuration of a musical tone signal generator 10 according to the present embodiment. The musical tone signal generator 10 is a part of a keyboard-type electronic musical instrument. The keyboard-type electronic musical instrument includes a keyboard having a plurality of keys, a tone selection switch (tone setting means) for setting a tone, and a tone. Assigning device (assignment means) etc. (all not shown) that assigns the generation of musical tone signal waveform data corresponding to the tone set by the selection switch and the key number of the key that is turned on to any of the waveform generation channels I have.
[0029]
As shown in FIG. 1, the musical tone signal generator 10 of the present embodiment includes an external waveform memory 20 storing sample waveform data and musical tone signal waveform data (digital) based on the sample waveform data read from the external waveform memory 20. A waveform generator 40 for generating a signal). The external waveform memory 20 corresponding to the waveform storage means is a NAND cell structure flash memory, and in this embodiment, TC58V64FT made by Toshiba is used. This TC58V64FT takes about 10 μs for cell selection and a serial read cycle for continuous address reading in the same cell is about 50 ns. Further, the waveform generator 40 is a single LSI, and will be described later in detail. Each of the waveform generators 40 includes 64 tone generation channels for generating a sample waveform of one tone.
[0030]
An assignment memory 46 of the waveform generator 40 is a RAM and stores assignment information (for 64 channels) for each channel. Assignment information corresponding to all timbres and key numbers is stored in the ROM of the assigning device, and the assigning device reads the ROM based on the timbre set by the timbre selection switch and the key number of the key that is turned on. Is read from and written to the assignment memory 46.
[0031]
The assignment information for one channel consists of a key number, its on / off information, waveform start address, L-side and R-side panning coefficients, attack, decay and release envelope data, loudness data, and the like, and is in accordance with known techniques.
[0032]
The waveform start address 48 is a register memory and is provided for the number of channels (64 in this embodiment). Each waveform start address 48 stores one waveform start address data of assignment information. The waveform start address data (A0 to A31, 32 bits) of the waveform start address 48 is sent to the adder ADD1.
[0033]
Similarly to the waveform start address 48, the F number accumulator 50 is provided for the number of channels (64 in this embodiment). The F number accumulator 50 receives the F number and key on / off information corresponding to the key number. Of the output of the F number accumulator 50, 24 bits A0 to A23 corresponding to the integer part of the F number are sent to the adder ADD1, added to the waveform start address data, and used as an external waveform memory address controller as a waveform read address. 58, and input from the external waveform memory address controller 58 to the external waveform memory 20. Since the I / O port of the external waveform memory 20 is 8 bits, it is actually input to the external waveform memory 20 by dividing it into 4 times every 8 bits.
[0034]
The sample waveform data stored at the address specified by the waveform read address is read and stored in the FIFORAM 60 which is a first-in first-out buffer memory. The FIFO RAM 60 has two storage areas A and B, and can store 128 sample waveform data in each storage area. The selection of the A area and the B area of the FIFO RAM 60 follows the area switching signal from the cycle tail transfer address generator 57. The cycle stale transfer address generator 57 is a kind of counter, repeatedly generates 13-bit values in ascending order from 0, and outputs an area switching signal every time 0 is reset.
[0035]
The 7 bits A0 to A6 of the F number accumulator 50 are sent to the internal waveform memory address controller 54. The internal waveform memory address controller 54 also receives a 13-bit signal from the cycle stale transfer address generator 57. The internal waveform memory address controller 54, based on the 7 bits A0 to A6 of the F number accumulator 50 and the 13 bits from the cycle tail transfer address generator 57, for example, 128 sample waveform data from the first to 128. A 13-bit signal consisting of 7 bits for instructing the eyes in ascending order and 6 bits for specifying 64 waveform generation channels is an RAM, and is an address designation signal for the internal waveform memory 56 corresponding to the acquired waveform storage means. Is generated and output.
[0036]
Similar to the waveform start address 48 and F number accumulator 50, the internal waveform memory 56 is provided for the number of channels (in this embodiment, 64), and the sample waveform data read from the FIFO RAM 60 is stored in the internal waveform memory address controller 54. Is stored in the address designated by the address designation signal from. The stored sample waveform data is periodically sent (according to the read sampling period) to the latches L1 to L4 (one sample waveform data each).
[0037]
Multipliers MLT1 to MLT4 are respectively arranged on the output side of the latches L1 to L4. The values (sample waveform data) latched in the latches L1 to L4 and the sample interpolation multiplier table 52 are arranged in the multipliers MLT1 to MLT4. The interpolation multiplier from is input. The interpolation multiplier is a value selected in the sample interpolation multiplier table 52 corresponding to 4-bit data A-4 to A-1 corresponding to the decimal part of the F number output from the F number accumulator 50. Yes, each of the multipliers MLT1 to MLT4 multiplies the sample waveform data by an interpolation multiplier (interpolates).
[0038]
The interpolated sample waveform data is added in the adder 62 and sent to the multiplier MLT 5 as added waveform data. The multiplier MLT5 receives envelope data from the envelope generator 63 and multiplies the added waveform data by the envelope data to produce musical tone signal waveform data. The envelope data multiplied here is based on the attack, decay, and release envelope data supplied from the assignment memory 46 to the envelope generator 63.
[0039]
The output (music signal waveform data) of the multiplier MLT5 is input to the series accumulation circuit 64, where the accumulation processing of the music signal waveform data for all channels (64 channels in this embodiment) is performed. The accumulated data is sent from the left output terminal L to the digital analog converter (D / A) 66L of the left output system, and from the right output terminal R to the digital analog converter (D / A) 66R of the right output system. Are converted into analog signals, amplified by an amplifier (not shown), and output from a speaker (not shown).
[0040]
In the case of the present embodiment, there are 64 waveform start addresses 48, F number accumulators 50, internal waveform memory 56 and envelope generator 63, and the assignment information for one channel of assignment memory 46 is as follows. The waveform start address 48, the F number accumulator 50, the internal waveform memory 56, and the envelope generator 63 are associated with each other to form one set, and each set is operated in a time-sharing manner once per read sampling period. (However, the data storage operation of the internal waveform memory 56 is not performed once per reading sampling period.) Thus, 64 tone signal waveform data can be generated per reading sampling period. That is, there are 64 waveform generation channels.
[0041]
Next, the operation of storing sample waveform data in the internal waveform memory 56, which is specific to the musical tone signal generator 10 of this embodiment, will be described with reference to FIG.
The readout sampling period for time-sharing the 64 waveform generation channels described above is 44.1 kHz (1 period = 22.67 μs), and this is equally divided into 64 to set channel calculation time slots of 0 to 63. .
[0042]
In the waveform read time slot for reading sample waveform data from the external waveform memory 20, the first half 11.3 μs of one read sampling period is allocated to the cell selection time and the second half is allocated to the data read time as shown in the figure.
The master clock is 22.58 MHz. When one read sampling period starts, a waveform read address for cell selection in the external waveform memory 20 is output from the external waveform memory address controller 58 to the external waveform memory 20. Since the address input port of the external waveform memory 20 is 8 bits, the external waveform memory address controller 58 divides the waveform read address (32 bits) into 8 bits (A0 to A7, A8 to A15, A16 to A23, A24 to A31), and sent to the external waveform memory 20 for each cycle of the master clock. Each 8-bit data is latched by the address latch clock and taken into the external waveform memory 20. The time required so far is four master clock cycles (177 ns).
[0043]
The cell of the external waveform memory 20 is designated by the waveform read address, and the data of the selected cell is transferred to the output register within the external waveform memory 20. In the present embodiment, each cell stores 1-byte sample waveform data at 128 addresses continuous from the start address of the cell, and the 128 sample waveform data are transferred to a register. As described above, since the time required for cell selection in the external waveform memory 20 is about 10 μs, cell selection in the external waveform memory 20 (within the external waveform memory 20 takes place in 11.3 μs from 0 to 31 channel calculation time slots). Data transfer) is completed. The address order of the sample waveform data in the cell is the sampling order. In other words, if the sample waveform data is read in the order of addresses, the order of sampling is directly applied.
[0044]
At the start of 32 slots, the waveform read clock for the external waveform memory 20 falls. Thereafter, the waveform readout clock repeats falling every two cycles of the master clock, and returns to the high level at the end of 63 channel operation time slots (at the end of one readout sampling cycle and at the start of the next readout sampling cycle). That is, the waveform read clock maintains a high level in the first half of the read sampling period, and falls every two periods of the master clock in the second half.
[0045]
Due to the fall of the waveform readout clock, 8-bit data (that is, one sample waveform data) at the head address in the cell is output from the output register of the external waveform memory 20 and stored in the FIFO RAM 60. The Then, every time the waveform reading clock falls, sample waveform data at addresses consecutive from the head address is read one by one and stored in the FIFO RAM 60. By repeating such an operation, 128 sample waveform data from the cell selected by the read / read address can be stored in the FIFO RAM 60.
[0046]
As shown in the figure, the serial read time of the external waveform memory 20 is 66.3 ns, which corresponds to the fall from the rise of the waveform read clock, and therefore, between 11.3 μs from 32 to 63 channel operation time slots. In addition, 128 sample waveform data for a certain waveform generation channel can be stored in the FIFO RAM 60.
[0047]
Since the 128 sample waveform data read out from the external waveform memory 20 and stored in the FIFO RAM 60 are stored in consecutive addresses in the same cell of the external waveform memory 20 as described above, as long as the cell selection is completed, the external waveform is stored. Reading data from the memory 20 can be performed in a very short time.
[0048]
The sample waveform data stored in the FIFO RAM 60 is sent to and stored in the internal waveform memory 56 in the next readout sampling period.
Since the FIFORAM 60 has two storage areas A and B as described above, if, for example, 128 sample waveform data are stored in the A area in a certain read sampling period, the sample of the A area is acquired in the next read sampling period. The waveform data is output to the internal waveform memory 56, and new sample waveform data from the external waveform memory 20 is stored in the B area. In the next readout sampling period, the data is output from the B area to the internal waveform memory 56 and stored in the sample waveform data A area from the external waveform memory 20. As described above, since data is stored in one of the two areas A and B and output from the other, 128 sample waveform data are stored for each readout sampling period, and 128 sample waveform data are also stored in the internal waveform memory 56. Can output.
[0049]
Therefore, the waveform generator 40 of the musical tone signal generator 10 has 128 sample waveform data for one waveform generation channel per read sampling period, except for the read sampling period immediately after the initial state (FIFORAM 60 is empty). Can be acquired from the external waveform memory 20 and stored.
[0050]
At each readout sampling period, each waveform generation channel reads four consecutive samples from 128 sample waveform data stored in the internal waveform memory 56, and stores them in the latches L1 to L4, respectively. The interpolation processing and the addition processing are performed as described above. Note that the four sample waveform data sent to the latches L1 to L4 for each readout sampling period are not different each time. For example, if the current data is the fourth data of 0 to 3, the next time is the 4th data of 1 to 4, Next, 4 data Nos. 2 to 5 are set to 4 data obtained by shifting the sampling order (that is, the address order in the external waveform memory 20) by one.
[0051]
Therefore, since the number of sample waveform data required until the next sample waveform data acquisition opportunity (after 64 reading sampling cycles) is 64 + 3 = 67, at least 67 data is acquired in one acquisition opportunity. And storing it in the internal waveform memory 56 is sufficient. In this embodiment, one sample waveform is generated using four sample waveform data (the 4-point method). However, if the 2-point method is used, 64 + 1 = 65 data is taken into the internal waveform memory 56. It will be good. As in the present embodiment, 128 sample waveform data may not be stored in the internal waveform memory 56 in one readout sampling period, and a minimum necessary number of sample waveform data may be stored in the internal waveform memory 56. . By doing so, the data read time can be shortened.
[0052]
As described above, each waveform generation channel has 128 samples (67 pieces of sample waveform data required for generating 64 musical tone signal waveform data (67 pieces) from the external waveform memory 20 at a rate of once every 64 reading sampling periods. ) Is obtained, stored in the internal waveform memory 56, and interpolation processing (multiplier MLT1) is performed on the four sample waveform data output from the internal waveform memory 56 to the latches L1 to L4 at each read sampling period. ~ 4), the tone signal waveform data is generated by performing the addition process (adder 62) and the envelope process (multiplier MLT5), so that random access takes time, but after a certain cell (area) is specified Is suitable for using a semiconductor memory (cell structure flash memory) that can be accessed at a very high speed as the external waveform memory 20. That.
[0053]
In the cells of the external waveform memory 20, the sample waveform data that is continuous in the sampling order is stored in the continuous addresses according to the order, which is suitable for the above-described continuous reading.
Also, since the continuously read sample waveform data is temporarily stored in one storage area of the FIFO RAM 60 and stored in the internal waveform memory 56 in the next read sampling cycle, the timing of storing the sample waveform data in the internal waveform memory 56 Can be set to an arbitrary period of one readout sampling period, and overlap with the timing of output from the internal waveform memory 56 to the latches L1 to L4 can be avoided.
[0054]
[Example 2]
The first embodiment is an example in which a cell structure flash memory of about 10 μs is used for cell selection. In the second embodiment, a cell structure memory that requires a shorter time (for example, about 300 ns) for cell selection is used. . Since the hardware configuration is the same as that of the first embodiment, illustration and description are omitted, and the reference numerals of the first embodiment are cited.
[0055]
As shown in FIG. 3, also in the second embodiment, a waveform read address is sent to the external waveform memory 20 in order to designate a cell of the external waveform memory 20 simultaneously with the start of the read sampling period as in the first embodiment. Cell selection (transferring cell data to the output register) in the external waveform memory 20 is completed in 354 ns (one channel operation time slot).
[0056]
During the time slot (for example, 1 slot) following the channel calculation time slot (for example, 0 slot) in which cell selection has been performed, the waveform read clock for the external waveform memory 20 falls at the start of that slot, and thereafter the master clock It falls a total of 4 times every 2 cycles. And like the case of Example 1,
Due to the fall of the waveform readout clock, one sample waveform data is sent from the external waveform memory 20 to the FIFO RAM 60 and stored therein.
[0057]
In this way, four sample waveform data are read out in a time corresponding to two slots of the channel calculation time slot and stored in the A area or B area of the FIFO RAM 60. The sample waveform data stored in the FIFO RAM 60 is transferred to and stored in the internal waveform memory 56 during a period in which data is read from the next external waveform memory 20 (a period corresponding to the next two time slots). Thus, the external waveform memory is used by alternately using the A and B areas, for example, storing in the A area in 0 to 1 slot and storing in the B area and sending out from the A area in the subsequent 2 to 3 slots. Reading from the memory 20 and storing in the internal waveform memory 56 can be executed without delay.
[0058]
In this embodiment, 4 sample waveform data per channel can be read from the external waveform memory 20 for 32 channels per read sampling period. Therefore, in order to read four sample waveform data for all 64 channels, two read sampling periods are required (each waveform generation channel acquires sample waveform data once every two periods).
[0059]
For this reason, in this embodiment, a method (two-point method) that uses two sample waveform data for generating one musical tone signal waveform data is adopted. Compared to the 4-point method used in the first embodiment, the accuracy of the musical tone signal waveform data is somewhat inferior, but there is no practical problem.
[0060]
As in this example, when cell selection can be performed in a short time, sample waveform data for a plurality of channels can be read from the external waveform memory 20 and stored in one readout sampling period. In addition, the apparatus of this embodiment can achieve the same effects as those of the first embodiment.
[0061]
Although the embodiments of the present invention have been described according to the two examples, the present invention is not limited to these examples, and it goes without saying that the present invention can be implemented in various ways without departing from the gist of the present invention. .
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a musical sound signal generating device according to a first embodiment.
FIG. 2 is a time chart for reading sample waveform data in the musical tone signal generating apparatus according to the first embodiment;
FIG. 3 is a time chart for reading sample waveform data in the musical tone signal generating apparatus according to the second embodiment;
FIG. 4 is a block diagram illustrating a configuration of a conventional musical tone signal generator.
FIG. 5 is a time chart for reading sample waveform data in a conventional musical tone signal generator.
[Explanation of symbols]
10 ... Music signal generator
20 ... External waveform memory (waveform storage means)
40 ... Waveform generator
46 ... Assignment memory
48 ... Waveform start address
50 ... F number accumulator
52 ... Sample interpolation multiplier table
54 ... Internal waveform memory address controller
56. Internal waveform memory (acquisition waveform storage means)
57 ... Cycle stale transfer address generator
58 ... External waveform memory address controller
60 ... FIFORAM (buffer memory)
62 ... Adder
63 ... Envelope generator
64: Series accumulation circuit

Claims (4)

音色及びキーナンバーで特定される楽音波形のサンプル波形データを記憶している波形記憶手段と、割り当てられた音色及びキーナンバーに基づいて前記波形記憶手段から前記サンプル波形データを取得し、読出サンプリング周期毎に該取得したサンプル波形データに演算処理を施して楽音信号波形データを生成する複数の波形生成チャネルとを備える楽音信号発生装置において、
前記各波形生成チャネルは、M回(Mは複数)の前記読出サンプリング周期に1回の割合で前記波形記憶手段から少なくともM回の前記楽音信号波形データの生成に要する前記サンプル波形データ(N個)を取得して記憶する取得波形記憶手段を有し、前記読出サンプリング周期毎に該取得波形記憶手段から読出される前記サンプル波形データに演算処理を施して前記楽音信号波形データを生成することを特徴とする楽音信号発生装置。
Waveform storage means for storing musical tone waveform sample waveform data specified by tone color and key number, and acquiring the sample waveform data from the waveform storage means based on the assigned tone color and key number, and reading sampling period In a musical sound signal generating apparatus comprising a plurality of waveform generation channels for generating musical signal waveform data by performing arithmetic processing on the acquired sample waveform data every time,
Each of the waveform generation channels includes the sample waveform data (N pieces) required for generating at least M times of the musical tone signal waveform data from the waveform storage means at a rate of once every M (M is a plurality) of the read sampling periods. ) Is acquired and stored, and the musical tone signal waveform data is generated by performing arithmetic processing on the sample waveform data read from the acquired waveform storage means at each readout sampling period. A featured tone signal generator.
請求項1記載の楽音信号発生装置において、
各々の前記取得波形記憶手段に記憶されるN個の前記サンプル波形データは、そのサンプリング順に連続していることを特徴とする楽音信号発生装置。
In the musical tone signal generator according to claim 1,
The musical tone signal generator according to claim 1, wherein the N pieces of sample waveform data stored in each of the acquired waveform storage means are continuous in the sampling order.
請求項1または2記載の楽音信号発生装置において、
演奏者によって操作される音色設定手段により設定された音色とオン操作されたキーのキーナンバーとに基づいて決まる前記波形記憶手段のアドレスを前記波形生成チャネルのいずれかに割り当てる割当手段を備え、
前記波形生成チャネルは、該割当手段によって割り当てられた前記アドレスから連続するアドレスに記憶されているN個の前記サンプル波形データを読出して前記取得波形記憶手段に記憶する
ことを特徴とする楽音信号発生装置。
In the musical tone signal generator according to claim 1 or 2,
Allocating means for allocating an address of the waveform storage means determined based on a timbre set by a timbre setting means operated by a performer and a key number of an on-operated key to any one of the waveform generation channels;
The waveform generation channel reads out the N pieces of sample waveform data stored in consecutive addresses from the address assigned by the assigning means and stores them in the acquired waveform storage means. apparatus.
請求項1ないし3のいずれか記載の楽音信号発生装置において、
前記波形記憶手段と前記取得波形記憶手段との間に前記各波形生成チャネルで共用するファーストイン・ファーストアウト方式のバッファメモリを備え、
前記取得波形記憶手段は、前記波形記憶手段から読出されて前記バッファメモリに蓄積されていたN個の前記サンプル波形データを読み込んで記憶する
ことを特徴とする楽音信号発生装置。
In the musical tone signal generator according to any one of claims 1 to 3,
A first-in first-out buffer memory shared by the waveform generation channels between the waveform storage unit and the acquired waveform storage unit;
The acquired waveform storage means reads and stores the N pieces of sample waveform data read from the waveform storage means and accumulated in the buffer memory.
JP08715199A 1999-03-29 1999-03-29 Music signal generator Expired - Fee Related JP4070347B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP08715199A JP4070347B2 (en) 1999-03-29 1999-03-29 Music signal generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08715199A JP4070347B2 (en) 1999-03-29 1999-03-29 Music signal generator

Publications (2)

Publication Number Publication Date
JP2000284783A JP2000284783A (en) 2000-10-13
JP4070347B2 true JP4070347B2 (en) 2008-04-02

Family

ID=13906991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08715199A Expired - Fee Related JP4070347B2 (en) 1999-03-29 1999-03-29 Music signal generator

Country Status (1)

Country Link
JP (1) JP4070347B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007043124A1 (en) * 2005-09-30 2007-04-19 Fujitsu Limited Oversampling transversal equalizer
JPWO2009125541A1 (en) 2008-04-10 2011-07-28 パナソニック株式会社 Nonvolatile storage module, access module, musical sound data file generation module and musical sound generation system
JP2014092723A (en) * 2012-11-05 2014-05-19 Yamaha Corp Sound generator
JP2014092722A (en) * 2012-11-05 2014-05-19 Yamaha Corp Sound generator
JP6540057B2 (en) * 2015-02-02 2019-07-10 カシオ計算機株式会社 Waveform reading apparatus, method, program, and electronic musical instrument

Also Published As

Publication number Publication date
JP2000284783A (en) 2000-10-13

Similar Documents

Publication Publication Date Title
US4641564A (en) Musical tone producing device of waveform memory readout type
JPWO2009125541A1 (en) Nonvolatile storage module, access module, musical sound data file generation module and musical sound generation system
JP4070347B2 (en) Music signal generator
US4562763A (en) Waveform information generating system
WO2000014721A1 (en) Sound-producing integrated circuit with virtual cache
JP2997470B2 (en) Music information processing device
JPS6326398B2 (en)
US5185492A (en) Electronic musical instrument having multivoice function for generating musical tones of plural tone colors
US4338844A (en) Tone source circuit for electronic musical instruments
JP3067630B2 (en) Music sound information processing apparatus and music sound information processing method
JP3344988B2 (en) Music sound generation apparatus and music sound generation method
US20100217922A1 (en) Access module, storage module, musical sound generating system and data writing module
JP3134840B2 (en) Waveform sample interpolation device
JP3176901B2 (en) Music sound information processing apparatus and music sound information processing method
JP2877012B2 (en) Music synthesizer
JP3447715B2 (en) Musical sound generation device and musical sound generation method
JPH03174592A (en) Sound source circuit for electronic musical instrument
US5371319A (en) Key assigner for an electronic musical instrument
JPH09269779A (en) Effect adding device
JP2614711B2 (en) Double tone generator
JPH0128398B2 (en)
JP2924965B2 (en) Electronic musical instrument
JP3858905B2 (en) Sound generator using memory
JPH04205000A (en) Waveform generator
JPH0414800B2 (en)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060223

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071207

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080115

R150 Certificate of patent or registration of utility model

Ref document number: 4070347

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110125

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120125

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130125

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees