JP4344438B2 - オーディオ信号波形処理装置 - Google Patents
オーディオ信号波形処理装置 Download PDFInfo
- Publication number
- JP4344438B2 JP4344438B2 JP30061499A JP30061499A JP4344438B2 JP 4344438 B2 JP4344438 B2 JP 4344438B2 JP 30061499 A JP30061499 A JP 30061499A JP 30061499 A JP30061499 A JP 30061499A JP 4344438 B2 JP4344438 B2 JP 4344438B2
- Authority
- JP
- Japan
- Prior art keywords
- waveform
- phase
- audio signal
- band
- signal 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 - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、位相ボコーダ方式によりタイムストレッチ(時間圧縮/伸長)やピッチシフト(ピッチ変換)を行うオーディオ信号波形処理装置に関するものである。
【0002】
位相ボコーダ方式においては、分析系では、原音のオーディオ信号波形を帯域フィルタを用いて複数の周波数帯域(バンド)に分割し、各帯域のバンド成分をそれぞれ分析してその出力振幅と位相を特徴パラメータとして抽出して保持しておき、合成系では、各帯域についてその出力振幅と位相を用いて元のバンド成分を再生し、それら各帯域のバンド成分を加算合成して、元のオーディオ信号波形を復元する。
【0003】
図10はこの位相ボコーダ方式によるオーディオ信号波形処理装置の概念を説明する。図示するように、オーディオ信号波形X(n) を複数の分析部60に入力する。この例では、分析部60はオーディオ信号波形の周波数を100に帯域分割した各帯域対応に設ける。各分析部60は図11に示すようにオーディオ信号波形の概略基本周波数をそれぞれ中心周波数とするバンド0〜99を持つもので、図13に示すごとくの構成を持つ。すなわち、例えばバンドkの分析部は、入力したオーディオ信号波形X(n) をその中心の複素周波数sin(ωk)、cos(ωk) にて乗算(同期検波)してバンドkの出力振幅値を得るとともに、その検波出力の位相値を微分等して瞬間周波数の情報を得る。この瞬間周波数は、各時点(波形の時間軸上の各位置)における単位時間あたりの位相の変化量(微分値)であり、中心周波数からの周波数偏差を示す情報である。
【0004】
図10の波形処理装置では、このオーディオ信号波形X(n) の各バンドの波形データ(出力振幅と瞬間周波数)は波形メモリ61に格納される。波形メモリ61への波形データ格納の態様は、図12に示すごとく、オーディオ信号波形x(n) の時間軸上の各アドレスaddr(0) 〜addr(n) に対して、各バンド0〜99毎に、振幅データAと瞬間周波数データfとが格納されるものである。
【0005】
合成系は、各バンド毎に設けられたバンド成分再生部62からなり、各バンド成分再生部62は時間周波数変換処理部31と余弦発振器33と乗算器33とからなる。時間周波数変換処理部31は、図14に示すような構成からなる。すなわち、入力した出力振幅の値に対しては、タイムストレッチ比(時間圧縮/伸長比)に応じてサンプル点を補間部で飛越し/追加補間してその振幅エンベロープ(振幅値の経時的変化を示すエンベロープ)を圧縮/伸長した振幅値を出力する。また、入力した瞬間周波数の値に対しては、その瞬間周波数値に中心の角周波数ωk を加算するとともに、ピッチ変換を行う場合にはこの瞬間周波数値に周波数変換比(ピッチシフトの度合いに応じた比)を乗算し、タイムストレッチ比に応じてサンプル点を補間部で飛越し/追加補間してその周波数エンベロープ(見なし周波数値の経時的変化を示すエンベロープ)を圧縮/伸長した瞬間周波数の値を出力する。
【0006】
図15はこの振幅値と瞬間周波数の補間処理の様子を示す図である。時間伸長する場合には、図15(a)に示すように、元の振幅エンベロープと周波数エンベロープをともに引き伸ばして、時間軸を伸長した振幅値と瞬間周波数とを生成する。また、時間圧縮する場合には、図15(b)に示すように、元の振幅エンベロープと周波数エンベロープをともに縮めて、時間軸を圧縮した振幅値と瞬間周波数とを生成する。この補間処理により、元のオーディオ信号波形の時間軸を任意に圧縮/伸長することができる。
【0007】
時間周波数変換処理部31で処理された瞬間周波数値(適宜、タイムストレッチされたもの)は余弦発振器に供給され、それにより余弦発振器はそのバンドの周波数の余弦波を発生し、その余弦波に、時間周波数変換処理部31で処理された振幅エンベロープを付加して出力する。これにより、当該バンドの成分信号が再生される。さらに、これら各バンド0〜99のバンド成分を加算合成することで、元のオーディオ信号波形を復元できる。
【0008】
【発明が解決しようとする課題】
上記の位相ボコーダ方式で楽音のオーディオ信号波形を再生するにあたり、ピアノなどのオーディオ信号波形はそのアタック部分で時間的にレベルが大きく変化する。このようなオーディオ信号波形をディジタルフィルタを用いて帯域分割すると、一つ一つのバンドには、アタックに先行してその痕跡、いわゆる「プリエコー」が現れる。
【0009】
図9はこのプリエコー現象を説明する図である。簡単のために、図9では、元のオーディオ信号波形を高周波帯域と低周波帯域に2分した場合について示してある。典型的なアタックの波形(a)を、低周波成分の波形(b)と高周波成分の波形(c)に分離し、プリエコーの発生する様子を示している。低周波成分波形(b)と高周波成分波形(c)では、元のアタック波形(a)に先行している無音部分にプリエコーが生じる様子が分かる。低周波成分波形(b)のプリエコーと高周波成分波形(c)のプリエコーは互いに逆相となっており、したがって、最終的に低周波成分波形(b)と高周波成分波形をそのままの位相で合成すると、両者のプリエコーは互いに相殺され、無音部分が復元する。このことは、分割する帯域(バンド)数が多い場合も同じであり、各バンドの成分波形を再生後に加算合成すれば、プリエコーは相殺し合って無音部分となる。
【0010】
かかるプリエコーは、使用するディジタルフィルタ(FIRフィルタ)のタップ数が大きいほど甚だしく発生するようになり、その発生限界はフィルタのタップ数そのものになり、一般にフィルタの遅延量からプリエコーの大きさを見積もることができる。
【0011】
ところで、位相ボコーダ方式を用いてタイムストレッチやピッチシフトを行うと、一般に各バンドの波形は元波形の位相には戻らず、位相が変化してしまう。このため、各バンドのバンド成分を再生した後に加算合成しても、各バンドの波形のプリエコー部分も位相が変化しているため、これらプリエコー部分が互いに相殺し合うことにならず、この結果、合成後の信号にアタッフに先行するプリエコーが残ってしまう。
【0012】
このため、通常、位相ボコーダを用いた波形再生では、アタックの直前にプリエコーによる雑音が生じることになり、アタック音が歯切れのよいものにならず、いわゆるアタック感が著しく損なわれてしまう。
【0013】
本発明はかかる問題点に鑑みてなされたものであり、位相ボコーダ方式を用いつつも、帯域分割により発生するプリエコーに起因する雑音の発生を防止することを目的とする。
【0014】
【課題を解決するための手段および作用】
本発明が適用されるオーディオ信号波形処理装置では、オーディオ信号を複数バンドに帯域分割した各バンド成分の振幅と位相を波形データとして持ち、この波形データに基づいて各バンドのバンド成分を必要に応じ時間圧縮/伸長しつつ再生して合成することでオーディオ信号波形を復元する。
このオーディオ信号波形処理装置において、上述の課題を解決するために、本発明では、帯域分割によりオーディオ信号波形中に発生するプリエコーの区間に対して、該プリエコー区間の始めにて、復元する各バンド成分の位相を、上記波形データで示されるそれぞれに対応する元のバンド成分の位相となるように位相リセットをするように構成する。
このプリエコーの区間にては、復元する波形の時間圧縮/伸長を行わないようにすることが望ましい。
このようにすると、プリエコーが発生する時点で位相リセットが行われ、その時点での各バンドの再生波形の位相が原音のそれと同じものにセットされるので、これらのバンド成分を合成すると、復元したオーディオ信号波形においてプリエコーが相殺される。
【0015】
また、上記の位相リセットでは、それまで再生していた波形の位相と上記波形データに基づく置き換えるべき位相の値とをクロスフェードにより置き換えるように構成すると一層望ましい。
このようにすると、位相リセットの際に、再生波形の位相が連続的に変化するようにあるから、突然位相値を変えてしまうことによる位相の不連続的変化に起因した雑音の発生を防止できる。
【0016】
また、波形再生にピッチ変換が伴う場合には、ピッチ変換に基づく位相変化の度合いと、波形データを読み出すための読出しアドレスの歩進度合いとを合わせるように構成すると望ましい。
これにより、ピッチ変換された波形の位相は元波形と同じになり、バンド成分の再生波形において元の位相が再現され、各バンド成分を合成することでプリエコーを相殺することができる。
【0017】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
図1には本発明の一実施例としてのオーディオ信号波形処理装置が示される。この実施例は鍵盤型の電子楽器に本発明を適用したものである。図中、2は装置全体の制御を行うCPU(中央処理装置)、3は各種テーブルデータやCPU用の制御プログラムなどを格納するROM(リード・オンリー・メモリ)、4は複数のオーディオ信号波形の波形データを格納したりCPUの作業用メモリとして用いられるRAM(ランダム・アクセス・メモリ)である。5は各種の操作子からなる操作子群であり、この操作子としては各種波形から再生波形を選択するための選択ボタンや後述する柔軟度を設定したり波形再生を開始・終了指示するなどの各種の操作子などがある。6は鍵盤装置であり、再生速度を調整するためのレバー61をそのパネル上に持つ。1は波形合成部であり、波形メモリ10と各バンドに対応して設けたバンド成分再生部11-0〜11-99 とからなり、再生のために選択した波形データに基づいて元のオーディオ信号波形を復元して出力する。
【0018】
波形合成部1の波形メモリ10は、オーディオ信号波形の波形データを格納する領域とリセットアドレス情報を格納する領域とを有する。
【0019】
オーディオ信号波形の波形データは出力振幅値と位相値とからなる。出力振幅値は前述の従来技術で説明したものと同じである。位相値は前述の従来技術の瞬間周波数値に代わるもので、位相ボコーダの本来の特徴パラメータである。本実施例装置では、複数種類のオーディオ信号波形について上記波形データ(振幅値と位相値)を予め分析して求めておいて、RAM4に格納してある。そして、波形選択用の選択ボタンで再生用に選択したオーディオ信号波形の波形データが上記波形メモリ10の波形データ領域に格納される。
【0020】
図2にはオーディオ信号波形を分析して各バンドの波形の出力振幅値と位相値の波形データを抽出する分析部の概念構成が示される。図示するように、オーディオ信号波形X(n) に対して、バンド中心の複素周波数cos(ωk,n) 、sin(ωk,n) をそれぞれ乗じてインパルス応答W(n) の分析フィルタを通し、その出力を二乗演算した後に加算して平方根を計算することで振幅値を得る。また、分析フィルタの出力Xcos 、Xsin を演算部に通して位相値を得る。演算部では、分析フィルタの出力Xcos 、Xsin に応じて、
Xcos >0の時には Arctan(Xsin/Xcos)
Xcos <0の時には Arctan(Xsin/Xcos)+π
を演算し、その結果を位相値として出力する。
【0021】
また、波形メモリ10のリセットアドレス情報領域には、選択したオーディオ信号波形のリセットアドレス情報(位相リセット情報)が格納される。このリセットアドレス情報は、オーディオ信号波形のアタックを表すアドレスよりもプリエコーが発生する分だけ前の位置のアドレスが設定されており、オーディオ信号波形中に時系列的に存在する各アタック波形毎に設定されて、RstAdr(0) 、RstAdr(1) 、RstAdr(2) ・・・のように連続的に付番され、その大きさの順に整列させておく。なお、プリエコーがアタックよりどれだけ先行するかは帯域分割するフィルタの遅延量から推し量ることができる。
【0022】
本実施例装置では、複数種類のオーディオ信号波形について上記リセットアドレス情報を予め分析して求めておいて、RAM4に格納しておく。そして、波形選択用の選択ボタンで再生用に選択したオーディオ信号波形のリセットアドレス情報が上記波形メモリ10のリセットアドレス情報領域に格納される。
【0023】
バンド成分再生部11-0〜11-99 には波形メモリ10からは振幅値と位相値と、さらにリセットアドレスとが入力され、またCPU2側から時間位置情報(読出しアドレスDataAdr)とピッチ情報が入力されており、これらのデータに基づいて該当バンドのバンド成分を再生し出力する。この各バンド成分再生部11-0〜11-99 から出力されたバンド成分は互いに加算合成されてオーディオ信号波形として復元されて出力される。
【0024】
図3にはバンド成分再生部11の構成例が示される。図示するごとく、波形メモリ10から読み出された位相値は2分岐されて一方は直接に余弦発振器32に、もう一方は微分部30にそれぞれ入力される。微分部30に入力された位相値は微分されることで瞬間周波数に変換されて時間周波数変換処理部31に入力される。また、波形メモリ10から読み出された振幅値は時間周波数変換処理部31に入力される。この時間周波数変換処理部31は従来技術の項で説明したものと同じ構成を持っており、従来構成同様、その振幅値を乗算器33に、瞬間周波数の値を余弦発振器32にそれぞれ送出する。
【0025】
また、波形メモリ10から読み出されたリセットアドレス情報は、位相リセット信号発生部34に入力される。この位相リセット信号発生部34には波形メモリ10から波形データを読み出すための読出しアドレスDataAdr (時間位置情報)が入力されている。位相リセット信号発生部34は、波形メモリ10から読み出したリセットアドレスRstAdrと読出しアドレスDataAdr とを比較し、読出しアドレスDataAdr がリセットアドレスRstAdrを超えた時点で位相リセット信号を生成して余弦発振器32に送出する。
【0026】
図4にはこの位相リセット信号発生部34での位相リセット信号送出手順のフローチャートが示される。図示するように、波形の再生にともない読出しアドレスDataAdr が更新されると(ステップS1)、その読出しアドレスがリセットアドレスRstAdr(k) を超えたか、すなわち、
RstAdr(k) <DataAdr
かを判定し(ステップS2)、超えていなければ処理を終了して、次の読出しアドレスの更新まで待ち、超えていれば、リセットアドレスの順番を示すパラメータkの更新、すなわちk=k+1を行うとともに、位相リセット信号を発生して送出する(ステップS3)。
【0027】
図5には余弦発振器32の構成例が示される。波形メモリ10からの位相値データは加算器42に入力され、ここで当該ブロックの中心周波数の回転分(角周波数)ωkが加算されてその結果値が和分器40に入力される。この和分器40には時間周波数変換処理部31からの瞬間周波数値が入力されており、和分することで瞬間位相値に変換して、この瞬間位相値を余弦演算器41に供給することで、当該ブロックの成分信号の周波数と見なされる周波数を持つ余弦波を発生し出力する。また、和分器には位相リセット信号が入力されており、位相リセット信号が到来すると、その瞬間周波数の位相を加算器42からの絶対位相に置き換える。
【0028】
次に、この実施例装置では、オーディオ信号波形のタイムストレッチ(時間の圧縮/伸長)を行うために、時間の圧縮伸長率と柔軟度を用いているので、これらについて説明する。圧縮伸長率は、オーディオ信号波形に対する時間圧縮伸長量を圧縮/伸長前後の時間長の比率で表わすものである。一方、柔軟度は、オーディオ信号波形の各区間において圧縮伸長率をどのように修正するかの修正度合を表わしたものである。
【0029】
〔柔軟度〕
例えば図6に示すように、楽音波形を時間的に複数の区間(その総区間数をmとする)に区切り、それらの各区間毎に柔軟度E(i) を設定する。この区間は例えばプリエコーの区間、アタックの区間、ディケイの区間、サスティンの区間、リリースの区間、無音の区間などに一致するよう設定すると望ましい。
【0030】
ここで、柔軟度E(i) が「0」である場合は、その区間についてはその再生速度はレバー61の設定状態や圧縮伸長率の値いかんにかかわらず元波形のままに保つことになる。また、柔軟度が「1」である場合、レバー61で設定された再生速度となる。また、柔軟度が「1」よりも小さくなれば、レバー61で設定された再生速度よりも低くなり、柔軟度が「1」よりも大きくなれば、レバー61で設定された再生速度よりも高くなる。
【0031】
この柔軟度は、楽音波形の各区間の長さとその区間における柔軟度との積の総和が全区間の長さとなるように、各区間の柔軟度が設定される。これは数式で表わすと、
ΣE(i) ×L(i) =ΣL(i) ・・・(1)
但し、Σはi=0から(m−1)までの加算
L(i) は各区間の長さ
E(i) は各区間における柔軟度
mは総区間数
iは0からmまでの区間のうちの再生中の区間を示す区間カウンタ
となる。従って、柔軟度によって各区間の圧縮伸長率が修正されても、波形データの全体の圧縮または伸長された時間は、圧縮伸長率に元の波形データの時間を乗算した値、即ち波形データ全体を単に圧縮伸長率に基づいて圧縮/伸長したときの時間となる。
【0032】
なお、後述するが、本発明では、プリエコー区間の柔軟度E(i) を「0」に設定することで本発明による処理を可能ならしめている。
【0033】
〔圧縮伸長率〕
圧縮伸長率は、再生する波形の時間長を元波形の時間長に比べて圧縮したり伸長したりするための係数である。すなわち、この実施例装置では、鍵盤6に設けたレバー61を操作することによって波形の再生速度が可変できる。このレバー61は、自動復帰点である中点位置では再生速度は元波形と同じになり、前後に揺動することで再生速度を速めたり遅らしたりできる。この再生速度は、圧縮伸長率とは逆数の関係にある。例えば、或る波形を2倍の再生速度で再生すると、再生にかかる時間はl/2倍となるが、これは、即ち圧縮伸長率がl/2であることに他ならない。また、この波形をl/2倍の再生速度で再生すると、再生にかかる時間は2倍となるが、同様に、これは圧縮伸長率が2であることを示している。
【0034】
上記の再生速度は歩進量(tcomp, tcomp', tcomp")に基づいて決まる。歩進量は、オーディオ信号波形を再生するための時間位置(読出しアドレスDataAdr)を歩進させる量であり、言い換えれば波形再生の速さ、すなわち時間伸長圧縮率の逆数になる。この歩進量は、レバー61の操作によって設定される。
【0035】
この歩進量には、レバー61の設定位置により決まる基本となる基本歩進量tcomp 、この基本歩進量tcomp を柔軟度を考慮して修正した柔軟度修正歩進量tcomp'、この柔軟度修正歩進量tcomp'を更にピッチ変換を考慮して修正したピッチ修正歩進量tcomp"がある。
【0036】
まず、基本歩進量tcomp は、具体的にはレバー61が中点位置にある時に「1」、前後に倒された時に例えば「+2」〜「0」の間で変化する値である。この基本歩進量tcomp で読出しアドレスDataAdr を更新する場合、基本歩進量tcomp が「1」であればオーディオ信号波形は元の時間長のまま再生され、基本歩進量tcomp が「2」であればオーディオ信号波形は元の時間長の半分で再生され、基本歩進量tcomp が「0」であればオーディオ信号波形は同じ位置を繰り返し再生される。
【0037】
柔軟度修正歩進量tcomp'は、上記基本歩進量tcomp を対応区間の柔軟度E(i) に基づいて下式により修正したものである。
tcomp'=1/[E(i) ×{ (1/tcomp )−1}+1]
ここで柔軟度E(i) を1とすると、柔軟度修正歩進量tcomp'は基本歩進量tcomp となり、レバー61で設定された再生速度となる。また柔軟度E(i) をlよりも小さくすると、柔軟度修正歩進量tcomp'の値は基本歩進量tcomp よりも小さくなり、レバー61によって設定された再生速度よりも低くなる。また柔軟度E(i) を1よりも大きくすると、柔軟度修正歩進量tcomp'の値は基本歩進量tcomp よりも大きくなり、レバー61で設定された再生速度よりも高くなる。また柔軟度E(i) を「0」に設定すると、柔軟度修正歩進量tcomp'は「l」となり、元波形の再生遠度となる。従って、柔軟度E(i) を「0」に設定することによって圧縮伸長を行っているにもかかわらず、その区間M(i) を元波形の再生速度で再生することができる。この場合、レバー61によって設定される基本歩進量tcomp の値が再生の途中で変更されても、柔軟度修正歩進量tcomp'は「1」を維持する。このようにCPU2が基本歩進量tcomp の修正を行っている。
【0038】
ピッチ修正歩進量tcomp"については、詳しくは後述するが、柔軟度修正歩進量tcomp'を更に修正して、
tcomp"=W×tcomp'
により求める。ここに、Wは修正度であり、
W=(L/tcomp −L0)/(L/tcomp −L0/P)
である。ここで、「L0」はリセットアドレスから始まる柔軟度0の区間、「L」は注目しているリセットアドレスから次のリセットアドレスまでの長さである。
【0039】
〔読出しアドレスDataAdr の生成〕
時間の圧縮/伸長やピッチシフトを行っていない場合、読出しアドレスDataAdr はオーディオ信号波形のアドレス順に歩進されて発生される。その速度は、オーディオ信号波形データのサンプリング周波数が44.lkHzであると、44.1kHzとなる。レバー61により再生速度が変えられている場合には、レバー61により決定される基本歩進量tcomp により読出しアドレスDataAdr は歩進される。例えば、基本歩進量tcomp が「2」であれば、元のオーディオ信号波形のサンプリング点(アドレスAddr) を一つ置きに飛び越す読出しアドレスDataAdr が生成される(すなわち時間圧縮される)。また、例えば基本歩進量tcomp が「1/2」であれば、元のオーディオ信号波形のサンプリング点間の中間点においても読出しアドレスDataAdr が生成される(すなわち時間伸長される)。
【0040】
以下、この実施例装置の動作を説明する。
前述したように、複数のオーディオ信号波形について、それぞれのオーディオ信号波形中の各プリエコー部分の先頭がリセットアドレスとして予め設定されており、これらのリセットアドレスは対応するオーディオ信号波形の波形データとともにRAM4に予め格納されている。また、これらのオーディオ信号波形については、柔軟度E(i) の情報も各オーディオ信号波形に対応付けてRAM4に格納されている。本実施例では、上記各プリエコーの区間に対しては柔軟度E(i) として「0」が設定されている。
【0041】
操作子群5中の波形選択ボタンを用いて任意のオーディオ信号波形を選択すると、当該オーディオ信号波形の波形データとリセットアドレス情報が波形合成部1の波形メモリ10に転送されて格納される。また、柔軟度の情報が読出しアドレスDataAdr を作成するためにCPU2によって参照される。
【0042】
波形再生の開始を指示すると、CPU2ではその時のレバー61の設定状態や波形再生位置の柔軟度情報、ピッチ情報などを参照して読出しアドレスDataAdr を生成し、これをバンド成分再生部11-0〜11-99 に時間位置情報として供給する。
【0043】
バンド成分再生部11-0〜11-99 では、この読出しアドレスDataAdr に従って波形メモリ10から各バンドの波形データを読み出して、各バンド成分再生部11-0〜11-99 でバンド成分を再生する。バンド成分再生部11における時間周波数変換処理部31での処理は、波形メモリ10から読み出した位相値を微分部30で微分することにより瞬間周波数に変換して時間周波数変換処理部31に送出している点を除けば、従来技術で説明したと同様の処理である。
【0044】
また、波形メモリ10からはリセットアドレスRstAdr(n) が読み出されて位相リセット信号発生部34に入力され、この位相リセット信号発生部34において読出しアドレスDataAdr がこのリセットアドレスRstAdr(n) と比較され、両者が一致したら、位相リセット信号を発生して余弦発振器32に送出される。余弦発振器32では、位相リセット信号を受信すると、発生する余弦波の位相を、その時点で波形メモリ10から入力される波形データの位相値(すなわち原音波形の位相)になるようリセットする。
【0045】
これにより、リセットアドレスRstAdr(n) の時間位置、すなわちプリエコー区間の先頭位置で、各バンド成分再生部11-0〜11-99 で再生される各バンド成分信号の位相は、元のオーディオ信号波形を帯域分割した各バンド成分信号のそれと一致することになるので、これらを加算合成すれば、各バンド成分信号のプリエコー波形は互いに相殺し合って、復元したオーディオ信号波形中から無くなる。プリエコー区間では柔軟度が「0」に設定されているため同区間を通して時間圧縮/伸長が行われないので、再生信号中に時間圧縮/伸長処理に起因する位相シフトは生じない。よって、上記の再生される各バンド成分信号のプリエコー波形が互いに相殺し合う状態は、上記プリエコー区間全体わたり続くことになる。
【0046】
なお、余弦発振器32中での動作は、位相リセット信号が入力されると、和分器40において、保持している位相をリセットし、波形メモリ10から直接に送られている位相値に中心周波数の回転分ωknを加えたものに置き換える。そして、この位相を置き換えた瞬間周波数の値を余弦演算器41に与えて、その位相と周波数の余弦波を演算で発生し出力する。上述したように、予め少なくとも各リセットアドレスRstAdr(n) からアタック区間の先頭アドレスまでは柔軟度が0の区間になるように設定してあるので、アタックが開始されるまでの区間では、時間位置情報(読出しアドレス)は原音が忠実に再現されるような値になり、この区間では、初めに帯域分割したままのプリエコー波形がそのまま再現され、よって合成時にプリエコーが相殺される。
【0047】
以上の動作はピッチ変換(ピッチシフト)を伴わない場合について説明したものであり、この発明は、このようなピッチ変換を伴わない場合に最も効果的に用いられるものであるが、しかし、ピッチ変換を伴う場合にも、以下のような処理を行うことでこの発明を適用することができる。
【0048】
まず、リセットアドレスに続く柔軟度0の区間を仮にリジット区間と呼ぶ。便宜上、リジット区間の長さを「L0」、注目しているリセットアドレスから次のリセットアドレスまでの長さを「L」とする。先に説明した柔軟度修正歩進量tcomp'に更に修正を加える。すなわち、リセットアドレスに続く柔軟度「0」の区間では、
tcomp"=P
とする。ここに、Pはバンド成分再生部に供給されるピッチ情報P(ピッチシフトさせる量を示す情報)である。
【0049】
さらに、次のリセットアドレスまでの各区間では、歩進量として、柔軟度修正歩進量tcomp'を更に修正した再修正ピッチ修正歩進量tcomp"、
tcomp"=W×tcomp'
を用いる。ここに、Wは修正度であり、
W=(L/tcomp −L0)/(L/tcomp −L0/P)
である。
【0050】
これは、リジッド区間においては、ピッチ変換がなされるために位相の進み方がP倍になる。そこで、基本歩進量tcomp のほうも同じ値に設定すれば、位相の進みは元波形と同じになり、ピッチ変換した波形においても元の位相が再現される。さらに、それに伴いリジッド区間の長さは1/Pになるので、次のリセットアドレスが来るまでの残りの区間のアドレスの歩進量を修正度Wで調整することで、リセットアドレスから次のリセットアドレスまでの長さを所望の時間長に修正する。図7はこの様子を示したもので、黒い部分がリジッド区間である。
このピッチ修正歩進量tcomp"により時間位置情報が計算される。
【0051】
本発明の実施にあたっては種々の変形形態が可能である。例えば、上述した実施例では、余弦発振器で位相リセットするときに一般に位相は不連続になり、そのために雑音が発生する可能性がある。一般に、位相リセットはアタックの少し前になされ、そのときの振幅は通常きわめて小さなものであるため、この部分の位相が不連続であるとしても、雑音は発生しないか発生したとしても問題にならないくらい小さなものであるが、しかし、この小さな雑音発生の可能性をさらに低減するよう改良することも可能である。
【0052】
すなわち、余弦発振器において、位相リセット信号の到来のタイミングでいきなり位相リセットするのではなく、位相リセット信号の到来から、周波数値の和分の値と絶対位相(波形メモリ10の波形データの位相に応じたもの)との割合を徐々に変えながら加えていく、いわゆるクロスフェードにより位相を連続的に絶対位相に近づけていくように構成する。クロスフェードの時間はリセットアドレスからプリエコーの長さに比べて短い時間で十分であるが、リセットアドレスをその分だけさらに前になるように予め設定しておくこともできる。
【0053】
図8は、このクロスフェードをするときの余弦発振器の構成例を示すものである。この構成例では、クロスフェード演算器43を新たに設け、位相リセット信号、絶対位相、和分器40の出力(瞬間位相値)を入力するとともに、和分器40に対してクロスフェード終了通知を送出するよう構成する。クロスフェード演算器43は、通常のとき、和分器40からのデータをそのまま出力し、位相リセット信号が到来すると、クロスフェードを開始する。このクロスフェードは、位相リセット後、このクロスフェード演算器43の出力信号を、和分器40の瞬間位相値から時間経過とともに絶対位相値の比率がだんだん大きくなるようにする。クロスフェードの終了時点でクロスフェード終了通知を和分器40に送出し、和分器40の位相を絶対位相値に書き換えるとともに、この和分器40からの出力信号を瞬間位相値として出力するよう切換えを行う。
【0054】
また、上述の実施例では、位相リセット信号をプリエコー区間の開始位置で発生することでプリエコーの除去を可能ならしめるものであった。しかし、この位相リセット信号は、例えば、再生するオーディオ信号波形を原音を忠実に再現するものにするような場合(すなわち時間圧縮/伸長を行わない場合)には、波形再生の開始時点や再生途中の任意の時点にて発生するようにしてもよい。このようにすると、その位相リセット時点で、復元するオーディオ信号波形の各バンドの成分信号の各位相が原音のそれと一致されるので、再生波形が原音に一層忠実なものになる。
【0055】
また、上述の実施例では、柔軟度「0」の区間をプリエコーの区間に設定することで、プリエコーの除去を可能ならしめていたが、この柔軟度「0」の区間を例えばアタック区間に設定することもできる。このようにアタック区間を柔軟度「0」とすると、オーディオ信号波形の時間圧縮/伸長を行った場合にも、アタック部分は原音どうりの波形(すなわち時間圧縮/伸長されていない波形)で再生されることになる。一般に、アタック部分はその楽音の特徴を最もよく表現するので、このアタック部分を時間圧縮/伸長してしまうと、原音と異なった音色のように聞こえてしまうが、上記のようにアタック部分を柔軟度「0」に設定することで、波形全体を時間圧縮/伸長する場合にも、アタック部分により表現されるその楽音の特徴をよく保存することができる。
【0056】
【発明の効果】
以上に説明したように、本発明によれば、プリエコーが発生する時点で位相リセット信号が発生し、その時点での位相が原音と同じものにセットされるので、プリエコーに起因して生じる雑音の発生を防止し、それによりアタック音の歯切れをよいものにしてアタック感が損なわれることを防止できる。
【図面の簡単な説明】
【図1】本発明にかかる一実施例としてのオーディオ信号波形処理装置を示す図である。
【図2】実施例装置におけるオーディオ信号波形から位相値、振幅値を抽出する分析部の概念を説明する図である。
【図3】実施例装置におけるバンド成分再生部の構成例を示す図である。
【図4】実施例装置のバンド成分再生部における位相リセット信号発生部による位相リセット信号送出の処理手順を示すフローチャートである。
【図5】実施例装置のバンド成分再生部における余弦発振器の構成例を示す図である。
【図6】実施例装置における柔軟度の概念を説明するための図である。
【図7】実施例装置におけるピッチ変換を伴う場合の波形形状を説明する図である。
【図8】実施例装置におけるバンド成分再生部における余弦発振器の他の構成例を示す図である。
【図9】帯域分割されたオーディオ信号波形におけるアタック波形とプリエコーとの関係を説明するための図である。
【図10】位相ボコーダ方式による従来のオーディオ信号波形処理装置の全体構成概念を説明するための図である。
【図11】原音のオーディオ信号波形の成分と帯域分割した各バンドとの関係を説明する図である。
【図12】原音のオーディオ信号波形についての波形データを説明する図である。
【図13】実施例装置におけるオーディオ信号波形を分析して振幅値と位相値を抽出する概念を説明するための図である。
【図14】従来のオーディオ信号波形処理装置における時間周波数変換処理部の構成例を示す図である。
【図15】従来のオーディオ信号波形処理装置の時間周波数変換処理部における信号波形の処理例を示す図である。
【符号の説明】
1 波形合成部
2 CPU(中央処理装置)
3 ROM〔リード・オンリー・メモリ〕
4 RAM(ランダム・アクセス・メモリ)
5 操作子群
6 鍵盤装置
61 速度調整用のレバー
10 波形メモリ
11 バンド成分再生部
30 微分部
31 時間周波数変換処理部
32 余弦発振器
33 乗算器
34 位相リセット信号発生部
40 和分器
41 余弦演算部
42 加算器
43 クロスフェード演算器
Claims (4)
- オーディオ信号を複数バンドに帯域分割した各バンド成分の振幅と位相を波形データとして持ち、この波形データに基づいて各バンドのバンド成分を必要に応じ時間圧縮/伸長しつつ再生して合成することでオーディオ信号波形を復元するオーディオ信号波形処理装置であって、
帯域分割によりオーディオ信号波形中に発生するプリエコーの区間に対して、該プリエコー区間の始めにて、再生する各バンド成分の位相を、上記波形データで示されるそれぞれに対応する元のバンド成分の位相となるように位相リセットをするように構成したオーディオ信号波形処理装置。 - 該プリエコーの区間にては、復元する波形の時間圧縮/伸長を行わないようにした請求項1記載のオーディオ信号波形処理装置。
- 上記の位相リセットは、それまで再生していた波形の位相と上記波形データに基づく置き換えるべき位相の値とをクロスフェードにより置き換えるようにした請求項1または2記載のオーディオ信号波形処理装置。
- 波形再生にピッチ変換が伴う場合には、ピッチ変換に基づく位相変化の度合いと、波形データを読み出すための読出しアドレスの歩進度合いとを合わせるようにした請求項1〜3のいずれかに記載のオーディオ信号波形処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30061499A JP4344438B2 (ja) | 1999-10-22 | 1999-10-22 | オーディオ信号波形処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30061499A JP4344438B2 (ja) | 1999-10-22 | 1999-10-22 | オーディオ信号波形処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001117595A JP2001117595A (ja) | 2001-04-27 |
JP4344438B2 true JP4344438B2 (ja) | 2009-10-14 |
Family
ID=17886987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP30061499A Expired - Fee Related JP4344438B2 (ja) | 1999-10-22 | 1999-10-22 | オーディオ信号波形処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4344438B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1377967B1 (en) * | 2001-04-13 | 2013-04-10 | Dolby Laboratories Licensing Corporation | High quality time-scaling and pitch-scaling of audio signals |
EP1840871B1 (en) * | 2004-12-27 | 2017-07-12 | P Softhouse Co. Ltd. | Audio waveform processing device, method, and program |
JP6118522B2 (ja) * | 2012-08-22 | 2017-04-19 | Pioneer DJ株式会社 | タイムスケーリング方法、ピッチシフト方法、オーディオデータ処理装置およびプログラム |
JP7488703B2 (ja) | 2020-06-18 | 2024-05-22 | フォルシアクラリオン・エレクトロニクス株式会社 | 信号処理装置及び信号処理プログラム |
-
1999
- 1999-10-22 JP JP30061499A patent/JP4344438B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001117595A (ja) | 2001-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6721711B1 (en) | Audio waveform reproduction apparatus | |
US5412152A (en) | Device for forming tone source data using analyzed parameters | |
JP4702392B2 (ja) | 共鳴音発生装置および電子楽器 | |
US20030182106A1 (en) | Method and device for changing the temporal length and/or the tone pitch of a discrete audio signal | |
JP2001084000A (ja) | 波形再生装置 | |
JP4344438B2 (ja) | オーディオ信号波形処理装置 | |
JP2000510255A (ja) | 長さ変調デジタル遅延線を使って音を合成するシステムと方法 | |
US6323797B1 (en) | Waveform reproduction apparatus | |
JP3654117B2 (ja) | 時間軸方向における楽音波形信号の伸縮方法 | |
JP3037861B2 (ja) | 波形形成装置およびこの出力波形を用いた電子楽器 | |
JP2699629B2 (ja) | 楽音信号生成装置 | |
JP3731470B2 (ja) | 波形データ生成方法、波形データ生成装置および記録媒体 | |
JPH0667671A (ja) | 楽音発生装置 | |
JP3888315B2 (ja) | 音合成装置およびプログラム | |
JP3752855B2 (ja) | 波形データ作成方法 | |
JP3428230B2 (ja) | 電子楽器の繰返し波形の形成法及び繰返し波形形成装置 | |
JP4294179B2 (ja) | 波形再生装置 | |
JPS61204697A (ja) | 楽音信号発生装置 | |
JPH01269995A (ja) | 楽音信号発生装置のための信号補間器 | |
JP3525482B2 (ja) | 音源装置 | |
JP2002023750A (ja) | オーディオ波形データ再生装置、オーディオ波形データの時間軸圧縮伸長処理装置およびオーディオ波形データのピッチ変換処理装置 | |
JP3727110B2 (ja) | 楽音合成装置 | |
JP2000066678A (ja) | 時間軸圧縮伸長装置 | |
JP4267114B2 (ja) | 波形処理装置 | |
JP5035388B2 (ja) | 共鳴音発生装置および電子楽器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060501 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060911 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090602 |
|
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: 20090707 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090713 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120717 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130717 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |