JPH06195085A - 波形データ出力装置 - Google Patents

波形データ出力装置

Info

Publication number
JPH06195085A
JPH06195085A JP4347218A JP34721892A JPH06195085A JP H06195085 A JPH06195085 A JP H06195085A JP 4347218 A JP4347218 A JP 4347218A JP 34721892 A JP34721892 A JP 34721892A JP H06195085 A JPH06195085 A JP H06195085A
Authority
JP
Japan
Prior art keywords
data
address
waveform
output
sub
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.)
Pending
Application number
JP4347218A
Other languages
English (en)
Inventor
Kikuji Tanaka
喜久治 田中
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP4347218A priority Critical patent/JPH06195085A/ja
Publication of JPH06195085A publication Critical patent/JPH06195085A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【目的】 サンプリング周期毎に波形メモリを1音あた
り1回アクセスするだけで楽音信号などの波形データ出
力を算出可能とすることを目的とする。 【構成】 サンプリング周期毎に、波形メモリから波形
データDreadが読み出される。サブデータメモリ402
からは、波形データDreadのアドレスの1アドレス前の
波形データであるサブデータDsub が出力され、サブデ
ータレジスタ403に格納される。演算実行部404
は、Dread、Dsub 、及びアドレスadとから、直線補
間演算により波形データ出力Dout を算出する。キャリ
ー信号CCにより次のサンプリング周期で波形メモリに
対して指定されるアドレスが更新されないか否かが決定
され、それに応じて、サブデータレジスタ403から出
力されているサブデータDsub 又は波形データDread
何れかが、セレクタ401で選択され、サブデータメモ
リ402に書き込まれる。この更新内容は、次のサンプ
リング周期における補間演算のために使用される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、波形メモリに記憶され
た波形データを読み出すことにより楽音信号などを生成
するための波形データを出力する波形データ出力装置に
関する。
【0002】
【従来の技術】電子楽器などにおいて高い品質の楽音信
号などを生成できる方式として、PCM(Pulse Code M
odulation)方式と呼ばれる波形読出し方式が知られてい
る。
【0003】PCM方式では、波形メモリに記憶された
ディジタルデータである原波形データが、演奏操作など
により指定されたピッチ(音高)に対応する歩進幅で順
次読み出され、それに対して適宜音響的な加工処理(フ
ィルタリング処理など)が施された後、楽音信号などと
して出力される。
【0004】この波形読出し方式において、波形メモリ
に記憶された波形データが順次1サンプルずつ読み出さ
れた場合に所定のピッチを有する楽音信号などが得られ
るとすれば、その波形データが1サンプルおきに読み出
されればそのピッチの2倍のピッチを有する楽音信号な
どが得られ、その波形データが2サンプルおきに読み出
されればそのピッチの3倍のピッチを有する楽音信号な
どが得られる。
【0005】しかし、電子楽器などで指定されるピッチ
幅はより細かい幅であるため、そのようなピッチを有す
る楽音信号などを得るために、波形データの補間演算処
理が実行される。
【0006】即ち、例えば、波形データの波形メモリ上
での先頭の記憶アドレスをSAとすれば、各波形データ
の波形メモリ上での記憶アドレスは、SA、SA+1、
SA+2、SA+3、SA+4、SA+5、・・・とな
る。ここで例えば、原波形データのピッチの0.8倍の
ピッチを有する楽音信号などが出力される場合には、サ
ンプリング周期毎に、SA、SA+0.8、SA+1.
6、SA+2.4、SA+3.2、・・・という実数ア
ドレスが順次生成され、各実数アドレスに対応する波形
データが、波形メモリから読み出される波形データを使
用して補間演算が実行されることにより、算出され出力
される。
【0007】原理的には、実数アドレスSA+2.4に
対応する波形データ出力は、図8に示されるように、波
形メモリ上の記憶アドレスSA+2とSA+3の各波形
データの振幅値を4対6に内分する振幅値として算出さ
れる。
【0008】従って、補間演算処理においては、波形メ
モリから読み出される複数の波形データから波形データ
出力が算出される。図9に、PCM方式の波形データ出
力装置の第1の従来例の構成図を示す。
【0009】音源LSI901がROM(Read Only Mem
ory)により構成される波形メモリ906をアクセスする
ことにより、波形データ出力Dout が算出される。音源
LSI901において、アドレスカウンタレジスタ90
2には、特には図示しないアドレスカウンタにおいて生
成される実数アドレスデータがセットされる。
【0010】セレクタ904は、1サンプリング周期内
において、アドレスカウンタレジスタ902にセットさ
れた実数アドレスデータのうち整数アドレス部である上
位アドレスADと、その上位アドレスADがインクリメ
ンタ903で+1されることにより得られるインクリメ
ントアドレスAD+1を順次選択し、アドレスレジスタ
905に順次セットする。また、アドレスレジスタ90
5にセットされた実数アドレスデータのうち小数アドレ
ス部である下位アドレスadは、補間演算部909に出
力される。
【0011】この結果、アドレスバスAAから波形メモ
リ906には、図10(a) に示されるように、1サンプ
リング周期T内において、その前半で上位アドレスAD
が出力され、その後半でインクリメントアドレスAD+
1が出力され、それぞれのアドレスに対応して波形メモ
リ906からデータバスDDには、図10(b) に示され
るように、第1波形データDa 及び第2波形データDb
が順次出力され、各データは、図10(c) 及び図10
(d) に示されるタイミングで、第1データレジスタ90
7及び第2データレジスタ908にセットされる。
【0012】補間演算部909は、第1データレジスタ
907にセットされた第1波形データDa 、第2データ
レジスタ908にセットされた第2波形データDb 、及
びアドレスカウンタレジスタ902から入力されている
下位アドレスadとから、図10(e) に示される波形デ
ータ出力Dout を算出する。
【0013】図11は、図9の補間演算部909の構成
図である。補間演算部909は、図8に示した補間演算
処理を実行するために、加算器1101、減算器110
2、及び乗算器1103を備え、 Dout =Da +(Db −Da )×ad で示される直線補間演算を実行することによって、波形
データ出力Dout を算出する。
【0014】図12に、PCM方式の波形データ出力装
置の第2の従来例の構成図を示す。図9の第1の従来例
においては、指定された実数アドレスに対応する波形デ
ータ出力Dout は、その実数アドレスをはさむ2つの整
数アドレスの波形データDa及びDb から、直線補間演
算によって算出された。これに対して、図12の第2の
従来例では、指定された実数アドレスに対応する波形デ
ータ出力Dout は、その実数アドレスをはさむ4つの整
数アドレスの波形データDa 、Db 、Dc 、及びDd
ら、畳み込み多項補間演算によって算出される。これに
より、直線補間演算の場合より正確な波形データを算出
できる。
【0015】音源LSI1201において、アドレスカ
ウンタレジスタ1202には、特には図示しないアドレ
スカウンタにおいて生成される実数アドレスデータがセ
ットされる。
【0016】セレクタ1206は、1サンプリング周期
内において、アドレスカウンタレジスタ1202にセッ
トされた実数アドレスデータのうち整数アドレス部であ
る上位アドレスADがインクリメンタ1203で+1さ
れることにより得られるインクリメントアドレスAD+
1と、上記上位アドレスAD、上位アドレスADがデク
リメンタ1204で−1されることにより得られるデク
リメントアドレスAD−1と、その値がデクリメンタ1
205で更に−1されることにより得られるデクリメン
トアドレスAD−2を順次選択し、アドレスレジスタ1
207に順次セットする。また、アドレスレジスタ12
02にセットされた実数アドレスデータのうち小数アド
レス部である下位アドレスadは、フィルタ係数ROM
1214に出力される。
【0017】この結果、アドレスバスAAから波形メモ
リ1208には、図13(a) に示されるように、1サン
プリング周期T内において、インクリメントアドレスA
D+1、上位アドレスAD、デクリメントアドレスAD
−1、デクリメントアドレスAD−2が順次出力され、
それぞれのアドレスに対応して波形メモリ1208から
データバスDDには、図13(b) に示されるように、第
1波形データDa 、第2波形データDb 、第3波形デー
タDc 、及び第4波形データDd が順次出力され、各デ
ータは、図13(c) 〜(f) に示されるタイミングで、第
1データレジスタ1209、第2データレジスタ121
0、第3データレジスタ1211、及び第4データレジ
スタ1212にセットされる。
【0018】補間演算部1213は、各データレジスタ
1209〜1212にセットされた各波形データDa
b 、Dc 、Dd 、及び下位アドレスadに対応してフ
ィルタ係数ROM1214から出力されるフィルタ係数
a 、Rb 、Rc 、Rd とから、図13(g) に示される
波形データ出力Dout を算出する。
【0019】図14は、図12の補間演算部1213の
構成図である。補間演算部1213は、畳み込み多項補
間演算に対応するフィルタリング演算を実行するため
に、乗算器1401〜1404、及び加算器1405を
備え、 Dout =Da ×Ra +Db ×Rb +Dc ×Rc +Dd ×
d で示されるフィルタリング演算を実行することにより波
形データ出力Dout を算出する。
【0020】
【発明が解決しようとする課題】上述した第1の従来例
では、サンプリング周期毎に、指定された実数アドレス
に対応する波形データ出力Dout を算出するために、1
サンプリング周期内に、実数アドレスをはさむ2つの整
数アドレスで波形メモリを2回アクセスすることにより
2つの波形データDa 及びDb を読み出す必要がある。
【0021】また、上述した図12の第2の従来例にお
いては、サンプリング周期毎に、指定された実数アドレ
スに対応する波形データ出力Dout を算出するために、
1サンプリング周期内に、実数アドレスをはさむ4つの
整数アドレスで波形メモリを4回アクセスすることによ
り4つの波形データDa 、Db 、Dc 、及びDd を読み
出す必要がある。
【0022】上述の波形メモリのアクセス回数は、サン
プリング周期毎に1チャネル分の波形データ出力Dout
のみが出力されると仮定した場合のものであり、同時に
複数チャネル分の波形データ出力を時分割で出力可能と
するためには、波形メモリのアクセス回数は、チャネル
数に応じて増加する。
【0023】ここで、近年の半導体技術の高度化によっ
て音源LSIの基本仕様が高まってきており、特に最大
同時出力数とサンプリング周波数は高くなる一方である
が、上述のように、1サンプリング周期あたりに音源L
SIに接続される波形メモリを複数回アクセスしなけれ
ばならない従来例では、音源LSIの処理性能が波形メ
モリのアクセス速度に律速されてしまい、結果的に、最
大同時出力数とサンプリング周波数を一定のレベル以上
に高めることができなくなってしまうという問題点を有
している。
【0024】本発明の課題は、サンプリング周期毎に波
形メモリを1音あたり1回アクセスするだけで波形デー
タ出力を算出可能とすることにある。
【0025】
【課題を解決するための手段】本発明の第1の態様にお
いて、まず、サンプリング周期毎に、アドレスデータの
値をピッチデータなどの歩進データに対応する値ずつ更
新しながら、その整数部である上位アドレスデータとそ
の小数部である下位アドレスデータをそれぞれ出力し、
現在のサンプリング周期の次のサンプリング周期で出力
される上位アドレスデータの値が1増加する場合にその
旨を示すアドレス変更データを出力するアドレスカウン
タ手段を有する。
【0026】次に、波形データを記憶する波形記憶手段
を有する。また、アドレスカウンタ手段から出力される
上位アドレスデータによって波形記憶手段をアクセスす
ることにより、波形記憶手段から波形データを読み出す
波形アクセス手段を有する。
【0027】更に、サンプリング周期毎に、アドレスカ
ウンタ手段から出力される上位アドレスデータに対応す
るアドレスより1つ前のアドレスに対応する波形データ
である現在の記憶内容をサブデータとして出力し、その
後、アドレスカウンタ手段からアドレス変更データが出
力されていない場合に現在の記憶内容を保持し、アドレ
スカウンタ手段からアドレス変更データが出力されてい
る場合に波形アクセス手段によって波形記憶手段から読
み出されている波形データによって現在の記憶内容を書
き換えるサブデータ記憶制御手段を有する。
【0028】そして、サンプリング周期毎に、波形アク
セス手段によって波形記憶手段から読み出されている波
形データ、サブデータ記憶制御手段から出力されるサブ
データ、及びアドレスカウンタ手段から出力される下位
アドレスデータによって、直線補間などの補間演算を実
行し、波形データ出力を出力する補間演算実行手段を有
する。
【0029】本発明の第2の態様においては、まず、第
1の態様の場合と同様のアドレスカウンタ手段、波形記
憶手段、及び波形アクセス手段を有する。次に、サンプ
リング周期毎に、アドレスカウンタ手段から出力される
上位アドレスデータに対応するアドレスより所定数前ま
でのアドレスに対応する複数の波形データである複数の
現在の記憶内容を複数のサブデータとして出力し、その
後、アドレスカウンタ手段からアドレス変更データが出
力されていない場合に現在の記憶内容を保持し、アドレ
スカウンタ手段からアドレス変更データが出力されてい
る場合に波形アクセス手段によって波形記憶手段から読
み出されている波形データを現在の記憶内容に追加する
サブデータ記憶制御手段を有する。
【0030】また、サンプリング周期毎に、波形アクセ
ス手段によって波形記憶手段から読み出されている波形
データ、サブデータ記憶制御手段から出力される複数の
サブデータ、及びアドレスカウンタ手段から出力される
下位アドレスデータにより、畳み込み多項補間などの補
間演算を実行し、波形データ出力を出力する補間演算実
行手段を有する。
【0031】
【作用】本発明の第1の態様では、サブデータ記憶制御
手段は、現在の上位アドレスデータに対応するアドレス
より1つ前のアドレスに対応する波形データであるサブ
データを記憶しており、それを、サンプリング周期毎に
更新しながら、補間演算実行手段に出力する。
【0032】補間演算実行手段は、このサブデータと、
波形記憶手段から読み出されている波形データとを使用
して直線補間演算などを実行する。従って、サンプリン
グ周期毎に、波形アクセス手段がアドレスカウンタ手段
から出力される上位アドレスデータによって波形記憶手
段を1音あたり1回アクセスするだけで、補間演算が実
行される。
【0033】本発明の第2の態様では、サブデータ記憶
制御手段は、現在の上位アドレスデータに対応するアド
レスより所定数前までのアドレスに対応する複数の波形
データである複数のサブデータを記憶しており、それ
を、サンプリング周期毎に更新しながら、補間演算実行
手段に出力する。
【0034】補間演算実行手段は、これら複数のサブデ
ータと、波形記憶手段から読み出されている波形データ
とを使用して畳み込み多項補間演算などを実行する。従
って、第2の態様でも、サンプリング周期毎に、波形ア
クセス手段がアドレスカウンタ手段から出力される上位
アドレスデータによって波形記憶手段を1音あたり1回
アクセスするだけで、補間演算が実行される。
【0035】
【実施例】以下、図面を参照しながら本発明の実施例に
つき詳細に説明する。 <第1の実施例>第1の実施例では、図9の従来例の場
合と同様、サンプリング周期毎に、指定された実数アド
レスをはさむ2つの整数アドレスに対応する2つの波形
データを使用して補間演算が実行されることによって、
波形データ出力Dout が生成される。この場合、1つ前
のサンプリング周期において波形メモリから読み出され
た波形データが保持され、それが今回のサンプリング周
期における補間演算に使用されることにより、サンプリ
ング周期毎に波形メモリを1音あたり1回アクセスする
だけで波形データ出力を算出できることが特徴である。
【0036】図1は、第1の実施例の全体構成図であ
る。音源LSI101がROMにより構成される波形メ
モリ104をアクセスすることにより、波形データ出力
out が算出される。
【0037】音源LSI101において、制御部102
は、特には図示しないCPU(中央処理装置)からの命
令に基づいて、波形データ出力Dout の出力を開始する
か停止するかを指示するための制御信号Onをアドレスカ
ウンタ部103及び補間演算部106に出力する。
【0038】アドレスカウンタ部103は、特には図示
しないCPUから設定された先頭アドレスから、同じく
CPUから設定されたピッチデータに基づく歩進幅で、
波形データ出力Dout を算出するためのアドレスの更新
を行う。
【0039】図2は、図1のアドレスカウンタ部103
の構成図である。アドレスの更新動作自体は、周知の動
作と同じである。波形データ出力Dout の出力開始時に
は、まず特には図示しないCPUから、セレクタ201
を介してアドレスカウンタメモリ202に、波形メモリ
104上の所望の波形データの先頭アドレスが設定され
る。また、特には図示しないCPUから、ピッチメモリ
205に、ピッチデータPDが設定される。その後、特
には図示しないCPUからの命令に基づいて、図1の制
御部102からアンドゲート群206に入力される制御
信号Onがハイレベルに設定される。これにより、ピッチ
メモリ205にセットされたピッチデータPDが、アン
ドゲート群206を介して後述する下位アドレス加算器
208に入力可能となる。
【0040】波形データ出力Dout の出力開始後は、サ
ンプリング周期毎に、アドレスカウンタメモリ202か
ら出力されるアドレスカウンタ値ADRSとピッチメモ
リ205から出力されているピッチデータPDとが加算
されることにより、アドレスカウンタメモリ202の内
容が更新される。
【0041】具体的には、図5(a) に示されるように、
1サンプリング周期T内の前半区間で、アドレスカウン
タメモリ202から出力されるアドレスカウンタ値AD
RSのうち、その上位ビット列及び下位ビット列は、そ
れぞれ図5(c) 及び(d) に示されるタイミングで、上位
アドレスAD及び下位アドレスadとして、上位アドレ
スレジスタ203及び下位アドレスレジスタ207に格
納される。
【0042】上位アドレスレジスタ203に格納された
上位アドレスADは、図1のアドレスバスAAを介して
波形メモリ104に出力されると共に、上位アドレス加
算器204に供給され、下位アドレスレジスタ207に
格納された下位アドレスadは、図1の補間演算部10
6に出力されると共に、下位アドレス加算器208に供
給される。
【0043】下位アドレス加算器208は、下位アドレ
スレジスタ207からの下位アドレスadと、ピッチメ
モリ205からアンドゲート群206を介して図5(b)
に示されるタイミングで入力されるピッチデータPDと
を加算する。
【0044】上位アドレス加算器204は、下位アドレ
ス加算器208での加算演算の結果、キャリー“1”が
生じなければ、上位アドレスレジスタ203からの上位
アドレスADをそのまま出力し、キャリー“1”が生じ
た場合には、上位アドレスADにキャリー“1”を加算
し出力する。
【0045】また、下位アドレス加算器208から出力
されるキャリーは、図5(e) に示されるタイミングで、
キャリー信号CCとしてキャリーレジスタ209に格納
される。このキャリー信号CCは、図1の補間演算部1
06に出力される。キャリー信号CCは、次のサンプリ
ング周期においてアドレスカウンタ部103から出力さ
れる上位アドレスADが更新されることを、補間演算部
106に通知する機能を有する。
【0046】アドレスカウンタメモリ202の内容は、
図5(a) に示されるように1サンプリング周期T内の後
半区間で、上位アドレス加算器204及び下位アドレス
加算器208からセレクタ201を介して入力される上
位アドレス及び下位アドレスによって更新される。
【0047】ここで、アドレスカウンタ部103におけ
る各データのフォーマットを図3に示す。アドレスカウ
ンタ値ADRSのうち、上位アドレスADは整数部であ
り、下位アドレスadは小数部である。また、ピッチデ
ータPDは、小数である。即ち、第1の実施例は、波形
メモリ104に記憶された波形データが有するピッチ以
下のピッチを有する波形データ出力Dout を再生するこ
とができる。そして、フルビット加算器により構成され
る下位アドレス加算器208において、共に小数である
下位アドレスadとピッチデータPDとの加算が行わ
れ、インクリメンタにより構成される上位アドレス加算
器204において、下位アドレス加算器208からのキ
ャリーに基づいて、上位アドレスADが、選択的に+1
ずつインクリメントされる。上位アドレス加算器204
及び下位アドレス加算器208の各加算結果は、次のサ
ンプリング周期におけるアドレスカウンタ値ADRSと
してアドレスカウンタメモリ202に記憶される。
【0048】なお、図2に示されるアドレスカウンタ部
103では、説明の簡単のため、カウント終了アドレス
とアドレスカウンタ値ADRSとを比較することによっ
てアドレス更新動作を終了させるための構成が省略され
ている。
【0049】また、強制的にアドレス更新動作が中止さ
れる場合は、特には図示しないCPUからの命令に基づ
いて、図1の制御部102からアンドゲート群206に
入力される制御信号Onがローレベルに設定される。これ
により、下位アドレス加算器208でのアドレス加算動
作が実質的に中止される。
【0050】次に、図4は、図1の補間演算部106の
構成図である。演算実行部404は、従来例の説明にお
いて前述した図11の補間演算部と同様の構成を有し、
補間演算を実行する。
【0051】サブデータメモリ402は、本実施例の最
も特徴とする部分であり、1サンプリング周期前での補
間演算に使用された、アドレスカウンタ部103から出
力されている上位アドレスADで示されるアドレスの1
アドレス前の波形データが記憶されている。
【0052】今、アドレスカウンタ部103内の上位ア
ドレスレジスタ203(図2)からアドレスバスAAを
介して波形メモリ104に、図5(c) に示されるように
上位アドレスADが出力されると、波形メモリ104か
らデータバスDDへは、そのアドレスに対応する波形デ
ータDreadが出力され、図5(f) に示されるタイミング
で図1のデータレジスタ105に格納される。
【0053】一方、サブデータメモリ402からは、上
位アドレスADで示されるアドレスの1アドレス前の波
形データであるサブデータDsub が、図5(g) に示され
るタイミングで出力され、そのデータは、図5(h) に示
されるタイミングで図4のサブデータレジスタ403に
格納される。
【0054】演算実行部404は、図1のデータレジス
タ105に図5(f) に示されるタイミングでセットされ
た波形データDread、サブデータレジスタ403に図5
(h)に示されるタイミングでセットされたサブデータD
sub 、及び図1のアドレスカウンタ部103から図5
(d) に示されるタイミングで入力される下位アドレスa
dとから、図5(i) に示されるタイミングで波形データ
出力Dout を算出し出力する。ここでの演算動作は、従
来例の説明において前述した図11で示される構成にお
けるものと同様で、図11のデータDb 及びDa が、波
形データDread及びサブデータDsub に対応する。
【0055】なお、図9及び図11に示される従来例で
は、上位アドレスADに対応する波形データDa と、そ
の1アドレス後のアドレスに対応する波形データDb
から波形データ出力Dout が演算され、第1の実施例に
おいては、上位アドレスADに対応する波形データD
readと、その1アドレス前のアドレスに対応するサブデ
ータDsub とから波形データ出力Dout が演算される
が、両者では波形メモリ104上での波形データの並び
が1アドレスずれるだけなので問題はない。
【0056】サブデータメモリ402の内容は、サンプ
リング周期T毎に、図5(g) に示されるタイミングで更
新される。この場合、セレクタ401にはアドレスカウ
ンタ部103からキャリー信号CCが入力されている。
【0057】そして、キャリー信号CCが“0”であれ
ば、即ち、アドレスカウンタ部103で次のサンプリン
グ周期で出力される上位アドレスADが更新されなけれ
ば、現在サブデータレジスタ403から出力されている
サブデータDsub が、セレクタ401で選択され、サブ
データメモリ402に再度書き込まれる。
【0058】一方、キャリー信号CCが“1”となって
いれば、即ち、アドレスカウンタ部103で次のサンプ
リング周期で出力される上位アドレスADが更新された
ならば、図1のデータレジスタ105にセットされてい
る波形データDreadが、セレクタ401で選択され、サ
ブデータメモリ402に新たに書き込まれる。
【0059】上述のように更新されたサブデータメモリ
402の内容は、次のサンプリング周期における補間演
算のために使用される。なお、セレクタ401には、図
1の制御部102から制御信号Onも入力しており、アド
レス更新動作中は、制御信号Onはハイレベルとなってい
る。ここで、強制的にアドレス更新動作が中止される場
合、即ち、波形データ出力Dout の出力動作が強制的に
中止される場合は、特には図示しないCPUからの命令
に基づいて、図1の制御部102からセレクタ401に
入力される制御信号Onがローレベルに設定される。これ
により、セレクタ401の2つの入力が共に阻止され、
その出力がオール0となり、サブデータメモリ402の
内容がクリアされる。
【0060】以上説明した第1の実施例は、1チャネル
分の波形データ出力Dout を出力するための構成を有し
ているが、同時に複数チャネル分の波形データ出力を出
力可能とするためには、図1の制御部102、図2のア
ドレスカウンタメモリ202とピッチメモリ205、及
び図4のサブデータメモリ402を、複数チャネル分の
データを記憶、出力できるように構成し、複数チャネル
分のアドレス更新及び補間演算を実行できるようにサン
プリング周期を時分割し、図5の動作タイミングチャー
トと同様の制御を行えばよい。 <第2の実施例>第2の実施例においては、図12の従
来例の場合と同様、サンプリング周期毎に、指定された
実数アドレスをはさむ4つの整数アドレスに対応する4
つの波形データを使用して畳み込み多項補間演算が実行
されることによって、波形データ出力Dout が生成され
る。この場合、1つ前までのサンプリング周期において
波形メモリから読み出された3つの波形データが保持さ
れ、それらが今回のサンプリング周期における補間演算
に使用されることにより、サンプリング周期毎に波形メ
モリを1音あたり1回アクセスするだけで波形データ出
力を算出できることが特徴である。
【0061】全体構成及びアドレスカウンタ部の構成
は、第1の実施例における図1及び図2の構成と同様で
あり、図7(a) 〜(e) で示されるアドレス更新動作も、
第1の実施例における図5(a) 〜(e) で示されるものと
同様である。
【0062】図6は、第2の実施例における図1の補間
演算部106の構成図である。フィルタ係数ROM61
1は、従来例の説明において前述した図12の1214
と同様の構成を有し、下位アドレスadに対応してフィ
ルタ係数Ra 、Rb 、Rc 、Rd を出力する。また、演
算実行部610は、従来例の説明において前述した図1
4の補間演算部と同様の構成を有し、上述のフィルタ係
数を使用して畳み込み多項補間演算を実行する。
【0063】第1サブデータメモリ604、第2サブデ
ータメモリ605、第3サブデータメモリ606は、本
実施例の最も特徴とする部分であり、それぞれ、1サン
プリング周期前での補間演算に使用された、アドレスカ
ウンタ部103から出力されている上位アドレスADで
示されるアドレスの1アドレス前、2アドレス前、及び
3アドレス前の各波形データが記憶されている。
【0064】今、アドレスカウンタ部103(図1)内
の上位アドレスレジスタ203(図2)からアドレスバ
スAAを介して波形メモリ104に、図7(c) に示され
るように上位アドレスADが出力されると、波形メモリ
104からデータバスDDへは、そのアドレスに対応す
る波形データDreadが出力され、図7(f) に示されるタ
イミングで図1のデータレジスタ105に格納される。
【0065】一方、第1サブデータメモリ604、第2
サブデータメモリ605、及び第3サブデータメモリ6
06からは、それぞれ、上位アドレスADで示されるア
ドレスの1アドレス前、2アドレス前、及び3アドレス
前の各波形データであるサブデータDsub1、Dsub2、D
sub3が、図7(g) に示されるタイミングで出力され、各
データは、図7(h) 、(i) 、及び(j) に示されるタイミ
ングで、図6の第1サブデータレジスタ607、第2サ
ブデータレジスタ608、及び第3サブデータレジスタ
609に格納される。
【0066】演算実行部610は、図1のデータレジス
タ105に図7(f) に示されるタイミングでセットされ
た波形データDread、各サブデータレジスタ607〜6
09に図7(h) 、(i) 、及び(j) に示されるタイミング
でセットされた各サブデータDsub1、Dsub2、Dsub3
及びアドレスカウンタ部103(図1)から出力される
下位アドレスadに対応してフィルタ係数ROM611
から出力されるフィルタ係数Ra 、Rb 、Rc 、Rd
から、図7(k) に示されるタイミングで波形データ出力
out を算出し出力する。ここでの演算動作は、従来例
の説明において前述した図14で示される構成における
ものと同様であり、図14のデータDa、Db 、Dc
d が、波形データDread、及び各サブデータDsub1
sub2、Dsub3に対応する。
【0067】なお、図12及び図14に示される従来例
では、上位アドレスADの1アドレス後、上位アドレス
AD、上位アドレスADの1アドレス前及び2アドレス
前に対応する各波形データDa 、Db 、Dc 、Dd とか
ら波形データ出力Dout が演算され、第2の実施例で
は、上位アドレスADに対応する波形データDreadと、
その1アドレス前、2アドレス前、及び3アドレス前の
アドレスに対応する各サブデータDsub1、Dsub2、D
sub3とから波形データ出力Dout が演算されるが、両者
では波形メモリ104上での波形データの並びが1アド
レスずれるだけなので問題はない。
【0068】各サブデータメモリ604〜606の内容
は、サンプリング周期T毎に、図7(g) に示されるタイ
ミングで更新される。この場合、各セレクタ601〜6
03にはアドレスカウンタ部103(図1)からキャリ
ー信号CCが入力されている。
【0069】そして、キャリー信号CCが“0”であれ
ば、即ち、アドレスカウンタ部103で次のサンプリン
グ周期で出力される上位アドレスADが更新されなけれ
ば、現在第1サブデータレジスタ607から出力されて
いる第1サブデータDsub1が第1セレクタ601で、第
2サブデータレジスタ608から出力されている第2サ
ブデータDsub2が第2セレクタ602で、また、第3サ
ブデータレジスタ609から出力されている第3サブデ
ータDsub3が第3セレクタ603で、それぞれ選択さ
れ、第1サブデータメモリ604、第2サブデータメモ
リ605、及び第3サブデータメモリ606にそれぞれ
再度書き込まれる。
【0070】一方、キャリー信号CCが“1”となって
いれば、即ち、アドレスカウンタ部103で次のサンプ
リング周期で出力される上位アドレスADが更新された
ならば、図1のデータレジスタ105にセットされてい
る波形データDreadが第1セレクタ601で、第1サブ
データレジスタ607から出力されている第1サブデー
タDsub1が第2セレクタ602で、また、第2サブデー
タレジスタ608から出力されている第2サブデータD
sub2が第3セレクタ603で、それぞれ選択され、第1
サブデータメモリ604、第2サブデータメモリ60
5、及び第3サブデータメモリ606にそれぞれ新たに
書き込まれる。
【0071】上述のように更新されたサブデータメモリ
402の内容は、次のサンプリング周期における補間演
算のために使用される。なお、各セレクタ601〜60
3には、図1の制御部102から制御信号Onも入力し、
アドレス更新動作中は、制御信号Onはハイレベルとなっ
ている。ここで、強制的にアドレス更新動作が中止され
る場合、即ち、波形データ出力Dout の出力動作が強制
的に中止される場合は、特には図示しないCPUからの
命令に基づいて、図1の制御部102から各セレクタ6
01〜603に入力される制御信号Onがローレベルに設
定される。これにより、各セレクタ601〜603の各
2つの入力が共に阻止され、各出力がオール0となり、
各サブデータメモリ604〜606の内容がクリアされ
る。
【0072】以上説明した第2の実施例は、1チャネル
分の波形データ出力Dout を出力するための構成を有し
ているが、同時に複数チャネル分の波形データ出力を出
力可能とするためには、図1の制御部102、図2のア
ドレスカウンタメモリ202とピッチメモリ205、及
び図6の各サブデータメモリ604〜606を、複数チ
ャネル分のデータを記憶、出力できるように構成し、複
数チャネル分のアドレス更新及び補間演算を実行できる
ようにサンプリング周期を時分割し、図7の動作タイミ
ングチャートと同様の制御を行えばよい。
【0073】また、上述した第2の実施例では、指定さ
れた実数アドレスをはさむ4つの整数アドレスに対応す
る4つの波形データを使用して畳み込み多項補間演算が
実行されることによって波形データ出力Dout が生成さ
れるが、指定された実数アドレスをはさむ任意の数の整
数アドレスに対応する各波形データを使用して波形デー
タ出力が生成されてもよい。
【0074】
【発明の効果】本発明の第1の態様によれば、サンプリ
ング周期毎に、波形アクセス手段がアドレスカウンタ手
段から出力される上位アドレスデータによって波形記憶
手段を1音あたり1回アクセスするだけで、直線補間な
どの補間演算を実行することが可能となる。
【0075】本発明の第2の態様によれば、サンプリン
グ周期毎に、波形アクセス手段がアドレスカウンタ手段
から出力される上位アドレスデータによって波形記憶手
段を1音あたり1回アクセスするだけで、畳み込み多項
補間などの補間演算を実行することが可能となる。
【0076】従来、サンプリング周期毎に1音あたり2
回の波形メモリへのアクセスが発生する直線補間を用い
たPCM方式の波形データ出力音源装置において、サン
プリング周波数を48kHzとした場合、サンプリング
周期は 1/48000=20.83μsecとなる。一方、波形メモリ
を構成する標準的なROMのアクセスタイムは 200nse
c である。従って、同時に出力可能な波形データ出力の
チャネル数は、52チャネルが限界となる。また、音質
向上のために2つの波形データ出力をミックスして使用
したり、波形データ出力をステレオ(2チャネル)で出
力させたりする場合は、同時に出力可能な波形データ出
力のチャネル数は、上述のチャネル数の半分の26チャ
ネルとなってしまう。更に、音程変換精度を高めるため
に畳み込み多項補間演算などを実行させようとすると、
第2の従来例で示したようにサンプリング周期毎に4回
の波形メモリへのアクセスが発生するため、同時に出力
可能な波形データ出力のチャネル数は、13チャネルに
減少してしまう。これでは、PCM方式の波形データ出
力音源装置を電子ピアノなどに搭載することはできな
い。
【0077】これに対して、本発明によるPCM方式の
波形データ出力音源装置では、直線補間の場合でも畳み
込み多項補間の場合でも、サンプリング周期毎に発生す
る波形メモリへのアクセスの回数は1音あたり1回だけ
なので、同時に出力可能な波形データ出力のチャネル数
は104チャネルとなる。即ち、本発明によるPCM方
式の波形データ出力音源装置を使用することにより、8
8鍵の電子ピアノでフルポリフォニックが実現可能とな
る。
【0078】また、音質向上のために2つの波形データ
出力をミックスして使用したり波形データ出力をステレ
オで出力させたりする場合でも、同時に出力可能な波形
データ出力のチャネル数は52チャネルを確保できる。
【0079】更に、同時に出力可能な波形データ出力の
チャネル数を増加させる必要がない場合には、処理に余
裕ができるため、サンプリング周波数を従来の2倍に高
めることも可能となり、音質の大幅な向上を図ることが
可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施例の全体構成図である。
【図2】第1の実施例におけるアドレスカウンタ部の構
成図である。
【図3】第1の実施例におけるアドレスカウンタ部のデ
ータフォーマットを示した図である。
【図4】第1の実施例における補間演算部の構成図であ
る。
【図5】第1の実施例の動作タイミングチャートであ
る。
【図6】第2の実施例における補間演算部の構成図であ
る。
【図7】第2の実施例の動作タイミングチャートであ
る。
【図8】補間演算の原理説明図である。
【図9】第1の従来例の構成図である。
【図10】第1の従来例の動作タイミングチャートであ
る。
【図11】第1の従来例における補間演算部の構成図で
ある。
【図12】第2の従来例の構成図である。
【図13】第2の従来例の動作タイミングチャートであ
る。
【図14】第2の従来例における補間演算部の構成図で
ある。
【符号の説明】
101 音源LSI 102 制御部 103 アドレスカウンタ部 104 波形メモリ 105 データレジスタ 106 補間演算部 201 セレクタ 202 アドレスカウンタメモリ 203 上位アドレスレジスタ 204 上位アドレス加算器 205 ピッチメモリ 206 アンドゲート群 207 下位アドレスレジスタ 208 下位アドレス加算器 209 キャリーレジスタ 401 セレクタ 402 サブデータメモリ 403 セレクタデータレジスタ 404 演算実行部 601 第1セレクタ 602 第2セレクタ 603 第3セレクタ 604 第1サブデータメモリ 605 第2サブデータメモリ 606 第3サブデータメモリ 607 第1サブデータレジスタ 608 第2サブデータレジスタ 609 第3サブデータレジスタ 610 演算実行部 611 フィルタ係数ROM ADRS アドレスカウンタ値 AD 上位アドレス ad 下位アドレス CC キャリー信号 PD ピッチデータ On 制御信号 Dout 波形データ出力 Dread 波形データ Dsub サブデータ Dsub1 第1サブデータ Dsub2 第2サブデータ Dsub3 第3サブデータ Ra 、Rb 、Rc 、Rd フィルタ係数

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 サンプリング周期毎に、アドレスデータ
    の値を歩進データに対応する値ずつ更新しながら、その
    整数部である上位アドレスデータとその小数部である下
    位アドレスデータをそれぞれ出力し、現在のサンプリン
    グ周期の次のサンプリング周期で出力される前記上位ア
    ドレスデータの値が1増加する場合にその旨を示すアド
    レス変更データを出力するアドレスカウンタ手段と、 波形データを記憶する波形記憶手段と、 前記アドレスカウンタ手段から出力される前記上位アド
    レスデータによって前記波形記憶手段をアクセスするこ
    とにより、前記波形記憶手段から前記波形データを読み
    出す波形アクセス手段と、 前記サンプリング周期毎に、前記アドレスカウンタ手段
    から出力される前記上位アドレスデータに対応するアド
    レスより1つ前のアドレスに対応する前記波形データで
    ある現在の記憶内容をサブデータとして出力し、その
    後、前記アドレスカウンタ手段から前記アドレス変更デ
    ータが出力されていない場合に現在の記憶内容を保持
    し、前記アドレスカウンタ手段から前記アドレス変更デ
    ータが出力されている場合に前記波形アクセス手段によ
    って前記波形記憶手段から読み出されている前記波形デ
    ータによって現在の記憶内容を書き換えるサブデータ記
    憶制御手段と、 前記サンプリング周期毎に、前記波形アクセス手段によ
    って前記波形記憶手段から読み出されている前記波形デ
    ータ、前記サブデータ記憶制御手段から出力される前記
    サブデータ、及び前記アドレスカウンタ手段から出力さ
    れる前記下位アドレスデータによって、補間演算を実行
    し、波形データ出力を出力する補間演算実行手段と、 を有することを特徴とする波形データ出力装置。
  2. 【請求項2】 サンプリング周期毎に、アドレスデータ
    の値を歩進データに対応する値ずつ更新しながら、その
    整数部である上位アドレスデータとその小数部である下
    位アドレスデータをそれぞれ出力し、現在のサンプリン
    グ周期の次のサンプリング周期で出力される前記上位ア
    ドレスデータの値が1増加する場合にその旨を示すアド
    レス変更データを出力するアドレスカウンタ手段と、 波形データを記憶する波形記憶手段と、 前記アドレスカウンタ手段から出力される前記上位アド
    レスデータによって前記波形記憶手段をアクセスするこ
    とにより、前記波形記憶手段から前記波形データを読み
    出す波形アクセス手段と、 前記サンプリング周期毎に、前記アドレスカウンタ手段
    から出力される前記上位アドレスデータに対応するアド
    レスより所定数前までのアドレスに対応する複数の前記
    波形データである複数の現在の記憶内容を複数のサブデ
    ータとして出力し、その後、前記アドレスカウンタ手段
    から前記アドレス変更データが出力されていない場合に
    現在の記憶内容を保持し、前記アドレスカウンタ手段か
    ら前記アドレス変更データが出力されている場合に前記
    波形アクセス手段によって前記波形記憶手段から読み出
    されている前記波形データを現在の記憶内容に追加する
    サブデータ記憶制御手段と、 前記サンプリング周期毎に、前記波形アクセス手段によ
    って前記波形記憶手段から読み出されている前記波形デ
    ータ、前記サブデータ記憶制御手段から出力される前記
    複数のサブデータ、及び前記アドレスカウンタ手段から
    出力される前記下位アドレスデータによって、補間演算
    を実行し、波形データ出力を出力する補間演算実行手段
    と、 を有することを特徴とする波形データ出力装置。
JP4347218A 1992-12-25 1992-12-25 波形データ出力装置 Pending JPH06195085A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4347218A JPH06195085A (ja) 1992-12-25 1992-12-25 波形データ出力装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4347218A JPH06195085A (ja) 1992-12-25 1992-12-25 波形データ出力装置

Publications (1)

Publication Number Publication Date
JPH06195085A true JPH06195085A (ja) 1994-07-15

Family

ID=18388726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4347218A Pending JPH06195085A (ja) 1992-12-25 1992-12-25 波形データ出力装置

Country Status (1)

Country Link
JP (1) JPH06195085A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010522362A (ja) * 2007-03-22 2010-07-01 クゥアルコム・インコーポレイテッド オーディオ・デバイスにおける参照波形の検索のための帯域幅制御

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010522362A (ja) * 2007-03-22 2010-07-01 クゥアルコム・インコーポレイテッド オーディオ・デバイスにおける参照波形の検索のための帯域幅制御

Similar Documents

Publication Publication Date Title
US4715257A (en) Waveform generating device for electronic musical instruments
JP3175179B2 (ja) デジタルピッチシフター
US9040800B2 (en) Musical tone signal generating apparatus
US5486644A (en) Electronic musical instrument having a waveform memory for storing variable length waveform data
JP2950461B2 (ja) 楽音発生装置
JPH06195085A (ja) 波形データ出力装置
JP3252296B2 (ja) 波形データ出力装置
JP2576615B2 (ja) 処理装置
JP2576616B2 (ja) 処理装置
JP2576614B2 (ja) 処理装置
JP3371643B2 (ja) 信号処理装置
JP3435702B2 (ja) 楽音発生装置
JP2586442B2 (ja) 楽音周波数制御回路
US5932826A (en) Effect adder circuit with a coefficient smoothing circuit for an electronic musical instrument
JP3178036B2 (ja) 信号処理装置
JP2768241B2 (ja) 信号処理装置
JPH07122796B2 (ja) 処理装置
JPS6352399B2 (ja)
JPH02179698A (ja) 処理装置
JP3104281B2 (ja) 楽音発生装置
JPH02179692A (ja) 処理装置
JPH07334151A (ja) 効果付加装置およびそれを用いた楽音発生装置
JPS62267798A (ja) 電子楽器
JPH02108099A (ja) 波形補間装置
JPH06195079A (ja) ディジタルフィルタ装置付波形データ出力装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20011030