JP2669073B2 - Pcm音源装置 - Google Patents

Pcm音源装置

Info

Publication number
JP2669073B2
JP2669073B2 JP1247665A JP24766589A JP2669073B2 JP 2669073 B2 JP2669073 B2 JP 2669073B2 JP 1247665 A JP1247665 A JP 1247665A JP 24766589 A JP24766589 A JP 24766589A JP 2669073 B2 JP2669073 B2 JP 2669073B2
Authority
JP
Japan
Prior art keywords
data
address
interpolation
loop
waveform
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
Application number
JP1247665A
Other languages
English (en)
Other versions
JPH03179400A (ja
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.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP1247665A priority Critical patent/JP2669073B2/ja
Priority to US07/585,381 priority patent/US5194681A/en
Publication of JPH03179400A publication Critical patent/JPH03179400A/ja
Application granted granted Critical
Publication of JP2669073B2 publication Critical patent/JP2669073B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 「産業上の利用分野」 この発明は、電子楽器に用いて好適なPCM音源装置に
関する。
「従来の技術」 楽音の波高値を時間の経過に従ってデジタルデータで
記憶し、この記憶値を読出して処理することにより楽音
信号を発生するPCM音源が開発されている。
このPCM音源の中には、波形メモリサイズを小さくで
き、かつ、波形メモリのアドレス移動速度を上げる必要
がない補間方式ピッチ非同期音源がある。ここで、この
方式の音源について説明する。
第10図(イ)は、音源の波形図である。まず、音源を
同図(ロ)に示す所定周波数(fs=fs1)のサンプリン
グパルスでサンプリングし、波形メモリに記憶させる。
同図(ハ)は波形メモリに記憶された波形データであ
る。次に、第10図(ニ)に示すように波形データを補間
(図は1次直線補間)するとともに、周波数fs2(fs2
fs1)でリサンプルし、補間後の波形データを読出す。
すなわち、周波数fs1と異なる周波数fs2によってリサン
プルすることにより、仮想的なサンプリング周波数変換
を行う(同図(ヘ)参照)。次に、fs2をfs1と同じ周波
数にすると新しいピッチをもった音が発生される(同図
(ト)参照)。
このように、有限なサンプル列から任意ピッチの楽音
を得ることができ、しかも、楽音のピッチと同期したサ
ンプリングパルスを作らなくて済むという利点を有して
いる。
「発明が解決しようとする課題」 ところで、PCM音源では波形が繰り返す部分について
はルーピング処理を行う。このルーピング処理とは、波
形が繰り返す部分については、1周期分の波形を記憶
し、この部分を繰り返して読出すことにより繰り返し波
形を発生する処理である。
始めに、ピッチ同期方式におけるルーピング処理につ
いて説明する。
例えば、第11図(イ)に示すように、原波形(アナロ
グ波形)が繰り返す場合は、ピッチ同期方式によるサン
プリングデータは同図(ロ)に示すようになる。この場
合に、所定の1周期、例えば、a点とb点との間の1周
期の波形データのみを記憶し、読出しアドレスがb点ま
できたら再びa点に戻って波形データの読出しを行うよ
うにする。また、a1点とb1点との間、a2点とb2点との間
の1周期の波形データを記憶して繰り返し読出しても同
様の作用を奏することができる。
次に、ピッチ非同期方式のルーピングについて説明す
る。
今、音源が第12図(イ)に示す波形であり、サンプリ
ングタイミングが同図(ロ)に示す状態であったとする
と、サンプルされた波形データは、同図(ハ)に示すよ
うになる。そして、同図(ハ)の波形データを直線補間
したデータは、同図(ニ)に示すようになる。ここで、
図の時刻t(x)を繰り返しの始点とし、時刻t(x)
からループ区間(繰り返し周期T)経過後の時刻t(x
+T)を繰り返しの終点とする。このとき、終点はサン
プリングポイントの(n+6)と(n+7)のほぼ中間
にあるが、波形データS(n+7)は通常サンプリング
されないため、終点における波形データを正確に補間す
ることができない。
したがって、波形データS(n+7)がない場合に
は、ルーピング処理を正確に行うことができず波形歪を
発生させる。
一方、S(n+7)のデータを用意しておいたとして
も、その後のルーピングにおける補間値との間の調整を
考慮しなければ正確なルーピング処理を行うことはでき
ない。なぜなら、ピッチが非周期であるから、S(n+
7)のデータはS(n)のデータとは異なった値となり
(第12図(ハ)参照)、S(n+7)を用いて補間を行
った後に再び始点に戻って補間を行うと、初回のルーピ
ングにおける補間値と2回目のルーピングにおける補間
値との間に誤差が生じ、さらに、2回目と3回目との
間、3回目と4回目との間というように継続して誤差が
生じてしまうからである。そして、この期差は波形歪を
起こし、しかも、歪の発生のし方がルーピング毎に変化
するという不都合を生じさせる。
これに対し、ピッチ同期式の場合は、第11図(ロ)に
示すように、始点と終点との波形データ値が等しく、ル
ーピングを行っても不都合は生じない。この発明は、上
記事情に鑑みてなされたもので、ルーピング処理を正確
に行うことができ、波形歪を生じることがないピッチ非
同期式のPCM音源装置を提供することを目的としてい
る。
「課題を解決するための手段」 上記課題を解決するために、本願発明は、所定のサン
プリング周期で波形データが記憶されている波形メモリ
と、発音すべき音の周波数に対応する音高情報を一定時
間毎に累算し、該累算値をアドレスデータとして出力す
る累算手段と、前記累算手段から出力されたアドレスデ
ータの整数部および当該整数部の次の整数により前記波
形データをアクセスし、さらに前記アドレスデータの小
数部を補間データとして出力するアドレスデータ発生部
と、前記アドレスデータ発生部によってアクセスされた
2つの波形データと前記補間データとに基づいてデータ
補間を行うデータ補間制御部とを具備したPCM音源装置
において、前記アドレスデータによるアドレス空間の少
なくとも一部にループ部を設定し、このループ部を繰り
返しアクセスするように前記アドレスデータ発生部を制
御するループ制御部を具備し、前記データ補間制御部
は、前記累算手段から出力されたアドレスデータが示す
アドレスが前記ループ部の最後の波形データのアドレス
から前記ループ部の最初の波形データのアドレスまでの
接続区間にある場合には、前記ループ部の最後の波形デ
ータと前記ループ部の最初の波形データとを用い、か
つ、前記接続区間の距離に対応して前記補間データを補
正し、これによりデータ補間を行うことを特徴としてい
る。
「作用」 本願発明においては、ループ部の最後の波形データと
ループ部の最初の波形データとを連続的に接続すること
ができるので、ルーピングの回数によって補間値が変動
するということがない。
また、ループ部エンドアドレスが小数部を含む場合
に、このアドレスの波形データとしてループ部スタート
アドレスの波形データを用いることができ、ループ部ス
タートアドレスが小数部を含む場合に、このアドレスの
波形データとしてループ部エンドアドレスの波形のデー
タを用いることができる。
「実施例」 以下、図面を参照してこの発明の実施例について説明
する。
A:実施例の基本原理 始めに、実施例の基本原理について説明する。まず、
波形メモリにおけるルーピング始点のアドレスをループ
スタートポイントアドレスLSPA、ルーピング終点のアド
レスをループエンドポイントアドレスLEPAとする。ピッ
チ非同期方式においては、ループスタートポイントアド
レスLSPAを第3図(ロ)に示すようにサンプリングポイ
ントと一致させると、ループエンドポイントアドレスLE
PAは前述のようなサンプリングポイントと一致しない
(同図(イ)参照)。しかも、S(n+x)、S(n+
x+1)はサンプリングされないため、S(n+x−
1)とループエンドポイントアドレスLEPAとの間におい
ては、補間を行うことができない。そこで、本実施例に
おいては、ループエンドポイントアドレスLEPAの波形デ
ータとしてループスタートポイントアドレスLSPAの波形
データを用い、S(n+x−1)とループエンドポイン
トアドレスLEPAとの間の補間を、S(n+x−1)とS
(n)とを用いて行うようにしている。これは、周期波
形であれば、ループエンドポイントアドレスLEPAの波形
データは、ループスタートポイントアドレスLSPAの波形
データに等しくなることを利用したものである。
この場合において、S(n+x−1)とループエンド
ポイントアドレスLEPAとの距離は、通常のサンプリング
ポイント間の距離とは異なるので、S(n+x−1)と
ループエンドポイントアドレスLEPAとの間における補間
は、補間値を補正するようにしている。
以上のような補間処理を行うことにより、ルーピング
処理における各補間値の同一性が保たれ、歪のない波形
データを得ることができる。
以上がこの実施例の基本原理である。
B:実施例の構成 第1図はこの発明の一実施例の構成を示すブロック図
である。図において1は多数のキーからなる鍵盤であ
り、鍵盤1の各キーから出力されるキー信号は押鍵検出
手段2に供給される。押鍵検出手段2は、キー信号に基
づいてそのキーを示すキーコードKCを出力するととも
に、押鍵が検出されるとキーオン信号KONを出力する。
3は周波数情報発生部であり、キーコードKCに対応する
周波数情報であるFナンバを発生する。このFナンバ
は、Fナンバレジスタ4に入力されるようになってい
る。
次に、5は装置各部を制御する制御部であり、CPU、R
OMおよびI/Oポート等から構成されている。この制御部
5は、キーオン信号KONが供給されると、各種の制御信
号を所定のタイミングに従って発生するようになってい
る。
8は加算器であり、一方の入力端にFナンバレジスタ
4が出力するFナンバが供給され、その出力信号はセレ
クタ9の一方の入力端に供給される。セレクタ9は制御
部5が出力する信号ASELが“0"のときに第0入力端を選
択し、“1"のときに第1入力端を選択する。このセレク
タ9の第1の入力端には、制御部5からスタートデータ
SDが供給されている。スタートデータSDは、波形データ
の読出し開始アドレスであり、アタック部の最初のアド
レスを示す。このスタートデータSDは、音色等によって
種々異なる値が予め設定されている。10は減算器であ
り、制御部5が信号RDを出力すると、セレクタ9の出力
信号から信号SDを減算してシフトレジスタ11に供給す
る。また、制御部5が信号RDを出力しないときは、セレ
クタ9の出力信号は、減算器10をそのまま通過してシフ
トレジスタ11に供給される。シフトレジスタ11は、クロ
ック信号φso、φs1に基づいてシフト動作を行う回路で
ある。クロック信号φs0、φs1は、第4図(ホ)、
(ヘ)に示すタイミングで出力される信号であり、シフ
トレジスタ11はクロック信号φs0の立上りで供給されて
いる信号を取り込み、クロック信号φS1の立上りで取り
込んだ信号を出力するようになっている。このシフトレ
ジスタ11の出力信号は加算器8の他方の入力端に供給さ
れ、Fナンバに加算されるようになっている。
次に、12は比較器であり、制御部5が出力するループ
エンドポイントアドレスLEPAが入力端Bに供給され、加
算器8の出力信号が入力端Aに供給されている。そし
て、A>Bのときに信号CP1(“1"信号)を出力し、A
>int(B)のときに信号CP2(“1"信号)を出力する。
ここで、A,Bは各々入力端A,Bに供給される信号の大きさ
であり、int(B)は入力端Bに供給される信号の整数
部を示している。これら信号CP1、CP2は、各々制御部5
に供給されるようになっており、制御部5は信号CP1が
供給されると、前述した信号RDを出力するようになって
いる。信号RDは、ループのサイズを示す信号であり、ル
ープエンドポイントアドレスLEPAとループスタートポイ
ントアドレスLSPAとの差を示す信号である。
次に、16はシフトレジスタ11の出力信号の整数部に
“1"を加える加算器であり、この加算器の出力信号がセ
レクタ15の第1入力端に供給される。また、セレクタ15
の第0入力端にはシフトレジスタ11の出力信号の整数部
Iが直接供給される。セレクタ15はクロック信号φwに
従ってセレクト動作を行うようになっている。この場
合、クロック信号φwは、第4図(イ)に示すタイミン
グで出力され、セレクタ15は、クロック信号φwが“1"
のときに第1入力端、“0"のときに第0入力端を各々選
択する。このセレクタ15の出力信号は、波形メモリ17に
アドレスデータとして供給されるようになっており、こ
れにより、波形メモリ17に記憶されている波形データは
正数部Iおよび(I+1)によってアクセスされる。
一方、シフトレジスタ11の出力信号の小数部iは、セ
レクタ19の第0入力端および乗算器20の一方の入力端に
供給される。乗算器の他方の入力端には、制御部5から
補正データCDが供給されている。補正データCDについて
は、後述する。
また、乗算器20の出力信号は、セレクタ19の第1入力
端に供給されている。セレクタ19は、制御部5から供給
される信号BSELによってセレクト動作を行うようになっ
ており、信号BSELが“0"のときに第0入力端、“1"のと
きに第1入力端を選択する。このセレクタ19の出力信号
は、補間係数データIPDとして補間制御部18に供給され
るようになっている。補間制御部18は、波形メモリ17か
ら出力される正数部I、(I+1)に対応する波形デー
タ、補間係数データIPD、および信号BSELに基づいて補
間を行う。ここで、補間制御部18の構成を第2図に示
す。
図において、30はセレクタであり、第0入力端に波形
メモリ17から読出される波形データが供給され、第1入
力端にLSレジスタ31の出力信号が供給される。LSレジス
タ31には、ループスタートポイントアドレスLSPAにおけ
る波形データの値(以下、ループスタートポイントデー
タLSPDという)がキーオン信号KONの発生時に書き込ま
れるようになっている。セレクタ30はアンドゲート32の
出力信号が“1"のときに第1入力端を選択し、“0"のと
きに第0入力端を選択し、アンドゲート32は信号BSELと
クロック信号φwの論理積をとるようになっている。33
はセレクタ30の出力信号とセレクタ35の出力信号とを乗
算する乗算器であり、その出力信号が加算器34の一方の
入力端に供給される。セレクタ35の第1入力端には補間
係数データIPDが直接供給され、第0入力端には補間係
数データIPDがビット反転回路36によってビット反転さ
れた後に供給される。
次に、加算器34の出力信号は、出力ラッチ38の入力端
に供給される。出力ラッチ38は、クロック信号φsum
2(第4図(ハ)参照)が立ち上がったときに、加算器3
8の出力信号をラッチする。また、加算器38の出力信号
は、累算ラッチ37に供給される。累算ラッチ37は、クロ
ック信号φsum1が立ち上がったときに加算器34の出力信
号をラッチし、クリア信号φclr(第4図(ニ)参照)
が立ち上がる毎にクリアされるようになっている。
次に、第1図に示す23は、補間制御部18の出力信号と
エンベロープ発生部22の出力信号とを乗算する乗算器で
ある。エンベロープ発生部22は、キーオン信号KONが供
給されると、所定のエンベローブ信号を発生するもので
ある。乗算器23の乗算処理によって、補間された波形デ
ータに対しエンベローブが付されることになる。そし
て、乗算器23の出力信号は、D/Aコンバータ25によって
アナログ信号に変換され、その後にサウンドシステム26
に供給されて楽音として発生される。
C:実施例の動作 次に、上記構成によるこの実施例の動作についてアタ
ック部とループ部(第6図参照)に分けて説明する。
アタック部の発音動作 まず、鍵盤1内のいずれかのキーが押されると、押鍵
検出回路2によって押鍵が検出され、キーオン信号KON
が出力される。これにより、制御部5が信号ASELを“1"
信号にし、セレクタ9に第1入力端を選択させる。この
結果、スタートデータSDがセレクタ9、減算器10および
シフトレジスタ11を介して出力され、その正数部Iがセ
レクタ15の第0入力端に供給される。ここで、クロック
信号φwが“0"信号のときは(第4図(イ)参照)、セ
レクタ15が第0入力端を選択するから、スタートデータ
SDの正数部Iは、セレクタ15を介して波形メモリ17に供
給される。この結果、スタートデータSDの正数部Iが示
すアドレスに記憶されている波形データS(s)が読出
され、補間制御部18に供給される。一方、比較器12にお
いてはA<Bであるため、信号CP1,CP2は出力されず、
この結果、信号BSELは“0"信号となる。信号BSELは“0"
信号であると、第2図に示すアンドゲート32の出力信号
は常に“0"信号となる。そして、アンドゲート32の出力
信号が“0"信号の場合は、セレクタ30が第0入力端を選
択するから、波形メモリ17から読出された波形データS
(s)は、セレクタ30を介して乗算器33に供給される。
また、信号BSELが“0"信号の場合は、第1図に示すセ
レクタ19が第0入力端を選択するから、スタートデータ
SDの小数部iがセレクタ19から補間データIPDとして出
力される。補間データIPDは、クロック信号φwが“0"
信号となっているタインミングにおいては、ビット反転
回路36によってビット反転された後にセレクタ35を介し
て乗算器33に供給される。この小数部iをビット反転す
ると、その値は(1−i)になるから、乗算器33におい
ては、スタートデータSDのアドレスにおける波形データ
S(s)と(1−i)が乗算される。この乗算結果{S
(s)・(1−i)}は加算器34を介して累算ラッチ37
に供給される。累算ラッチ37は、すでにクロック信号φ
clrによってクリアされており(第4図(ニ)の時刻t1
参照)、次いで、第4図(ロ)の時刻t3においてクロッ
ク信号φsum1が立ち上がると上記乗算結果が累算ラッチ
37に取り込まれる。この結果、乗算結果{S(s)・
(1−i)}が加算器34のB入力端に供給される。
次に、時刻t4においてクロック信号φwが立ち上がる
と、第1図に示すセレクタ15が第1入力端を選択する。
この結果、加算器16の出力信号、すなわち、スタートデ
ータSDに“1"が加えられた値がセレクタ15を介して波形
メモリ17に供給される。これにより、スタートデータSD
の次のアドレスの波形データS(s+1)が読出され
る。この波形データS(s+1)は、第2図に示すセレ
クタ30を介して乗算器33に供給される。このとき、クロ
ック信号φwは“1"信号であるから、セレクタ35が第1
入力端を選択し、補間係数データIPDがセレクタ35を介
して乗算器33に供給される。この場合の補間データIPD
は、スタートデータSDの小数部iであるから、乗算器33
における演算結果は、S(s+1)・iとなる。そし
て、この乗算結果が加算器34のA入力端に供給され、す
でにB入力端に供給されている前回の乗算結果{S
(s)・(1−i)}と加算される。この加算により直
線補間が終了し、直線補間されたデータが、クロック信
号φsum2が立ち上がったとき(第4図の時刻t5参照)に
出力ラッチ38に取り込まれて次段に出力される。ここ
で、上述の演算によって直線補間が行われることを説明
する。
今、スタートデータSDの正数部Iが示すアドレスにお
ける波形データS(s)と、スタートデータSDの正数部
Iに1を加えたアドレスにおける波形データS(s+
1)が、各々第5図に示すようになっていたとする。そ
して、スタートデータSDの小数部iを図示のようにとる
と、補間により求めるべき波形データS(s+i)は次
式によって表される。
この(1)式の右辺の第1項の乗算はクロック信号φ
wが“0"のときにおいて乗算器33が行う演算であり、第
2項の乗算はクロック信号φwが“1"のときにおいて乗
算器33が行なう演算である。したがって、加算器34にお
いて各乗算結果を加え合わせると、その演算結果は
(1)式の右辺と同等となり、直線補間が行われたこと
になる。
次に、直線補間後のデータは、出力ラッチ38から出力
され、乗算器23によってエンベロープ処理が施され、そ
の後にD/Aコンバータ25によってアナログ信号に変換さ
れた後、サウンドシステム26によって楽音として発せら
れる。
一方、シフトレジスタ11から出力されたスタートデー
タSDは第1図に示す加算器8の他方の入力端に供給さ
れ、Fナンバレジスタ4が出力するFナンバと加算され
る。このとき、制御部5が出力する信号ASELは、“0"信
号になっており、この結果、セレクタ9は第0入力端を
選択する。これにより、加算器8における加算結果は、
セレクタ9、減算器10およびシフトレジスタ11を介して
出力される。そして、その整数部Iおよび小数部iに対
し、上述の場合と同様の波形データを読出し、および直
線補間処理が行われる。また、シフトレジスタ11の出力
信号は、加算器8の他方の入力端に供給されるから、以
後はこのループによりFナンバが順次累算されていく。
したがって、順次累算されていくデータの整数部Iおよ
び小数部iに対し、波形データ読出し、および補間処理
が順次行われ、これにより、アタック部の波形データ補
間処理によって作成される。このアタック部の各波形デ
ータは、前述したようにエンベロープ処理が施された後
に楽音として発せられる。
ループ部の発音動作 次に、ループ部の発音動作について説明する。上述の
ようにして、スタートデータSDに対しFナンバが順次累
算されていくと、波形メモリ17の読出しアドレスは、第
6図に示すアタック部の領域を越えループ部の領域に入
る。そして、ループ部の波形データ読出し、および補間
処理は基本的にはアタック部の場合と同様にして行われ
る。しかし、Fナンバの累算が進んでシフトレジスタ11
の出力信号が第3図(イ)に示す波形データS(n+x
−1)とループエンドポイントアドレスLEPAとの間(以
下特定補間区間という)のアドレスを示すようになる
と、前述の処理とは異なる処理内容になる。この処理に
ついて以下に説明する。
まず、加算器8の出力信号が特性補間区間に入ると、
比較器12においてA>int(B)となる。加算器12のB
入力端にはループエンドポイントアドレスLEPAが供給さ
れているから、int(B)は結局ループエンドポイント
アドレスLEPAの整数部となる。このループエンドポイン
トアドレスLEPAの整数部は、第3図(イ)から判るよう
に、波形データ(S+x−1)のアドレス値であり、特
定区間の開始点である。そして、A>int(B)となる
と、比較器12が信号CP2を出力し、これにより、制御部
5が信号BSELを“1"信号にし、かつ、補正データCDを出
力する。ここで、補正データCDは、その逆数1/CDがルー
プエンドポイントアドレスLEPAの小数部となるように設
定されているデータである(第3図(ハ)参照)。
信号BSELが“1"信号になると、第1図に示すセレクタ
19が第1入力端を選択し、この結果、シフトレジスタ11
の出力信号の小数部と補正データCDとの乗算値i・CDが
補間係数データIPDとして出力される。また、信号BSEL
が“1"信号になると、第2図に示すアンドゲート32の一
方の入力端に“1"信号が供給されるから、アンドゲート
32の出力値はクロック信号φwによって一義的に定ま
る。したがって、クロック信号φwが“0"信号のときに
は、セレクタ30が第0入力端を選択し、波形メモリ17か
ら読出された波形データが乗算器33に供給される。この
ときFナンバの累算値は特定補間区間に入っているか
ら、その整数値Iによってアクセスされる波形データは
第3図(イ)から判るように波形データS(n+x−
1)である。また、このときはセレクタ35が第0入力端
を選択するから、乗算器33においてはi・CDのビット反
転値と波形データS(n+x−1)とが乗算される。し
たがって、乗算器33の乗算結果は、(1−i・CD)・S
(n+x−1)となる。この乗算結果は、加算器34のA
入力端、出力端を順次介して累算ラッチ37に取り込ま
れ、加算器34のB入力端に供給される。次に、クロック
信号φwが立ち上がると(第4図(イ)の時刻t4
照)、アンドゲート32が“1"信号を出力し、セレクタ30
が第1入力端を選択する。この結果、LSレジスタ31内に
記憶されているループ部の最初の波形データ、すなわち
波形データS(n)が乗算器33に供給される。また、ク
ロック信号φwが“1"信号になるとセレクタ35が第1入
力端を選択するから補間係数データIPDがそのまま乗算
器33に供給される。この結果、乗算器33における乗算結
果はS(n)・i・CDとなる。この乗算結果は、加算器
34のA入力端に供給され、すでにB入力端に供給されて
いる前回の乗算結果と加算される。したがって、加算器
34においては、S(n+x−1)・(1−i・CD)・CD
+S(n)・i・CDなる演算が行われる。ここで、この
演算の意味について説明する。
まず、本実施例においては、前述したように、ループ
エンドポイントアドレスLEPAの位置にループスタートポ
イントアドレスLSPAの波形データS(n)があるとみな
して特定補間区間の補間を行うようにしている。ところ
で、特定補間区間の間隔は、第3図(ハ)に示すように
1/CDであり、他の区間の間隔より短い。そこで、小数部
iについては、区間の長さに対する割合に変換する必要
があり、区間長(1/CD)で除する必要がある。結果的に
は少数部iにCDを乗じることになり、すなわち、特定補
間区間の長さを他の区間と同様に「1」として取り扱う
ことと同様になる。この拡大の状態を第7図に示す。第
7図においては、ループエンドポイントアドレスLEPAを
右側にずらしてLEPA′とし、区間の長さを「1」にして
いる。これに対応して少数部iの値にCDを乗じれば、拡
大された区間に対して前述の(1)式が適用され補間が
できることが判る。すなわち、(1)式の右辺における
iをi・CDに置き換え、波形データS(s)をS(n+
x−1)に、波形データS(s+1)をS(n)に置き
換えればよい。この置き換え後の右辺が加算器34の演算
に対応し、適性な補間が行われたことが判る。
そして、加算器34の加算結果は、クロック信号φsum2
(第4図(ハ)参照)の立ち上がりにおいて出力ラッチ
38に取り込まれ、後段の回路に出力される。
次に、第1図に示す加算器8においてFナンバの累算
が行われると、この累算値に対して上述と同様の処理が
行われる。ただし、特定補間区間においては、第3図
(イ)からも判るように、累算値(すなわちシフトレジ
スタ11の出力信号)の整数値Iは変わらず波形データS
(n+x−1)が記憶されているアドレスを示す。そし
て、クロック信号φwが“1"になったときは第2図に示
すセレクタ30が第1入力端を選択するから、結局、特定
補間区間においては、Fナンバ累算値の変動に拘わらず
波形データS(n+x−1)とS(n)との間で補間が
行われる。補間に影響を与えるのはFナンバ累算値の少
数部、すなわちシフトレジスタ11の出力信号の少数部i
であり、Fナンバの累算に伴う少数部iの変動に従った
補間値が補間制御部18から順次出力される。
そして、Fナンバ累算値がさらに大きくなると、その
値がループ部(第6図参照)の領域を超える。この結
果、第1図に示す比較器12において、A>Bとなり、比
較器12から制御部5へ信号CP1が出力される。制御部5
は、信号CPが供給されると、信号RDを減算器10へ供給
し、この結果、減算器10による減算が行われる。ここ
で、信号RDは、ループのサイズを示す信号であるから、
減算器10による減算が行われると、ループエンドポイン
トアドレスLEPAを僅かに越えたアドレスから、ループサ
イズが減算されることになる。したがって、その演算値
はループ部の開始アドレス、すなわち、ループスタート
ポイントアドレスLSEA(第6図参照)より僅かに大きな
値となる。この場合、減算値がループスタートポイント
アドレスLSEAに完全に一致しなくても、補間制御部18に
よってループスタートポイントアドレスLSEAの波形デー
タS(n)と上記減算値における波形データとの間で補
間処理が行われるため不都合は生じない。そして、以後
は減算値に順次Fナンバが累算され、各累算値に対し前
述と同様の波形データ読出し、および補間が行われる。
そして、累算値が再びループエンドポイントアドレスLE
PAを越えた場合は、減算器10による減算が行われ、再度
ループスタートポイントアドレスLSEAに付近に戻る。こ
のように、以後はループ部内において、繰り返し波形デ
ータの読出し、補間が行われる。
以上の動作においては、ループエンドポイントアドレ
スLEPAの波形データをルプスタートポイントアドレスLS
EAの波形データS(n)と一致させているため、ルーピ
ングの回数によって補間値に誤差が生じるということが
ない。
D:実施例の変形 上述した実施例は、ループスタートポイントアドレス
LSEAに少数部iがなく、ループエンドポイントアドレス
LEPAに少数部iがある場合の例であったが(第2図
(イ)、(ロ)参照)、これと逆に第8図(イ)、
(ロ)に示すようにループスタートポイントアドレスLS
EAに少数部iがあり、ループエンドポイントアドレスLE
PAに少数部iがない場合であっても上記実施例と同様の
処理を行うことができる。ただし、この場合において
は、同図(ロ)に示すように、ループスタートポイント
アドレスLSPAのアドレス位置にループエンドポイントア
ドレスLEPAの波形データを配置させ、このデータによっ
て補間を行うようにする。このため、補間制御部18を第
9図に示すように構成する必要がある。第9図に示す回
路が第8図に示す回路と異なる点は、LSレジスタ31に代
えてループエンドポイントアドレスLEPAにおける波形デ
ータを記憶するLEレジスタ40が設けられている点および
クロック信号φwがインバータ41を介してアンドゲート
32の一方の入力端に供給される点である。また、第9図
に示す信号BSELは、第8図(ハ)に示す特定補間区間に
おいて“1"信号になるように構成される。
以上のような構成によると、第8図(ハ)に示す特定
補間区間において、波形データS(n+x)と波形デー
タS(n+1)との間で補間がなされる。特定補間区間
の区間幅については、前述の実施例と同様に補正データ
CDによって補正がなされるので、第7図に示した場合の
処理内容となる。したがって、第9図に示す回路によっ
ても、前述の実施例と同様の効果を得ることができる。
「発明の効果」 以上説明したように、本願発明によれば、データ補間
制御部は、累算手段から出力されたアドレスデータが示
すアドレスがループ部の最後の波形データのアドレスか
らループ部の最後の波形データのアドレスまでの接続区
間にある場合には、ループ部の最後の波形データとルー
プ部の最初の波形データとを用い、かつ、接続区間の距
離に対応して補間データを補正し、これによりデータ補
間を行うようにしたので、ループ部の最後の波形データ
とループ部の最初の波形データとを連続的に接続するこ
とができる。これにより、ピッチ非同期式でありなが
ら、ルーピング処理を正確に行うことができ、波形歪が
生じないという利点を得ることができる。
【図面の簡単な説明】
第1図はこの発明の一実施例の全体構成を示すブロック
図、第2図は同実施例における補間制御部の構成を示す
ブロック図、第3図は同実施例におけるループ部の境界
と波形データの位置関係を示す概念図、第4図は同実施
例におけるクロック信号のタイミングを示すタイミング
チャート、第5図は同実施例における直線補間処理を説
明するための説明図、第6図は同実施例における読出し
波形のアタック部とループ部とを示す波形図、第7図は
同実施例における特定補間区間の補正処理を説明するた
めの説明図、第8図は同実施例の一変形例におけるルー
プ部の境界と波形データの位置関係を示す概念図、第9
図は同変形例における補間制御部18の構成例を示すブロ
ック図、第10図はピッチ非同期方式の発音原理を説明す
るための波形図、第11図はピッチ同期方式によるルーピ
ング処理を説明するための波形図、第12図はピッチ非同
期方式における従来のルーピング処理を説明するための
波形図である。 3……周波数情報発生部、4……Fナンバレジスタ、8
……加算器、9……セレクタ、10……減算器、11……シ
フトレジスタ、15……セレクタ、16……加算器、19……
セレクタ(以上3,4,8,9,10,11,15,16,19はアドレスデー
タ発生部)、5……制御部(ループ制御部)、17……波
形メモリ、18……補間制御部。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】所定のサンプリング周期で波形データが記
    憶されている波形メモリと、 発音すべき音の周波数に対応する音高情報を一定時間毎
    に累算し、該累算値をアドレスデータとして出力する累
    算手段と、 前記累算手段から出力されたアドレスデータの整数部お
    よび当該整数部の次の整数により前記波形データをアク
    セスし、さらに前記アドレスデータの小数部を補間デー
    タとして出力するアドレスデータ発生部と、 前記アドレスデータ発生部によってアクセスされた2つ
    の波形データと前記補間データとに基づいてデータ補間
    を行うデータ補間制御部と を具備したPCM音源装置において、 前記アドレスデータによるアドレス空間の少なくとも一
    部にループ部を設定し、このループ部を繰り返しアクセ
    スするように前記アドレスデータ発生部を制御するルー
    プ制御部を具備し、 前記データ補間制御部は、前記累算手段から出力された
    アドレスデータが示すアドレスが前記ループ部の最後の
    波形データのアドレスから前記ループ部の最初の波形デ
    ータのアドレスまでの接続区間にある場合には、前記ル
    ープ部の最後の波形データと前記ループ部の最初の波形
    データとを用い、かつ、前記接続区間の距離に対応して
    前記補間データを補正し、これによりデータ補間を行う
    ことを特徴とするPCM音源装置。
JP1247665A 1989-09-22 1989-09-22 Pcm音源装置 Expired - Lifetime JP2669073B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP1247665A JP2669073B2 (ja) 1989-09-22 1989-09-22 Pcm音源装置
US07/585,381 US5194681A (en) 1989-09-22 1990-09-20 Musical tone generating apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1247665A JP2669073B2 (ja) 1989-09-22 1989-09-22 Pcm音源装置

Publications (2)

Publication Number Publication Date
JPH03179400A JPH03179400A (ja) 1991-08-05
JP2669073B2 true JP2669073B2 (ja) 1997-10-27

Family

ID=17166847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1247665A Expired - Lifetime JP2669073B2 (ja) 1989-09-22 1989-09-22 Pcm音源装置

Country Status (1)

Country Link
JP (1) JP2669073B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6931370B1 (en) * 1999-11-02 2005-08-16 Digital Theater Systems, Inc. System and method for providing interactive audio in a multi-channel audio environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6029793A (ja) * 1983-07-28 1985-02-15 ヤマハ株式会社 楽音形成装置
JPS6374100A (ja) * 1986-09-18 1988-04-04 カシオ計算機株式会社 波形読出装置
JPH0157799B2 (ja) * 1981-07-20 1989-12-07 Yamaha Corp

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2530695Y2 (ja) * 1987-10-07 1997-03-26 カシオ計算機株式会社 電子楽器のアドレス制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0157799B2 (ja) * 1981-07-20 1989-12-07 Yamaha Corp
JPS6029793A (ja) * 1983-07-28 1985-02-15 ヤマハ株式会社 楽音形成装置
JPS6374100A (ja) * 1986-09-18 1988-04-04 カシオ計算機株式会社 波形読出装置

Also Published As

Publication number Publication date
JPH03179400A (ja) 1991-08-05

Similar Documents

Publication Publication Date Title
US4246823A (en) Waveshape generator for electronic musical instruments
JPS6147435B2 (ja)
US5194681A (en) Musical tone generating apparatus
US5553011A (en) Waveform generating apparatus for musical instrument
JP2567717B2 (ja) 楽音発生装置
JP2669073B2 (ja) Pcm音源装置
KR100236686B1 (ko) 데이터 샘플열 액세스 장치
JPH0486795A (ja) 楽音発生装置
JP2861007B2 (ja) 電子楽器
JP3252296B2 (ja) 波形データ出力装置
JP3435702B2 (ja) 楽音発生装置
JPS5846036B2 (ja) 電子楽器
JP2608938B2 (ja) 波形補間装置
JPS62245434A (ja) 電子楽器の波形発生装置
JPS6037600Y2 (ja) 電子楽器
JPS633319B2 (ja)
JP3288500B2 (ja) 電子楽器の楽音発生装置
JPH03174592A (ja) 電子楽器の音源回路
JP2991436B2 (ja) 楽音信号発生装置
JPH0369119B2 (ja)
JPH0560118B2 (ja)
JPH052999B2 (ja)
JP2800623B2 (ja) 係数記憶方法及び楽音波形発生装置
JP4645337B2 (ja) 波形データ補間装置
JP3044712B2 (ja) 電子楽器