JP2004328361A - Harmonic overtone generation method and harmonic overtone generator - Google Patents
Harmonic overtone generation method and harmonic overtone generator Download PDFInfo
- Publication number
- JP2004328361A JP2004328361A JP2003119972A JP2003119972A JP2004328361A JP 2004328361 A JP2004328361 A JP 2004328361A JP 2003119972 A JP2003119972 A JP 2003119972A JP 2003119972 A JP2003119972 A JP 2003119972A JP 2004328361 A JP2004328361 A JP 2004328361A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- buffer memory
- zero
- overtone
- input signal
- 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
Links
Images
Landscapes
- Circuit For Audible Band Transducer (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、低音域の成分に関する倍音を生成する倍音生成方法および倍音生成装置に係る。
【0002】
【従来の技術】
従来より、様々な目的で、原音の整数倍の周波数成分、すなわち倍音を生成する倍音生成装置を含んだ音響信号装置が各種提案されている。
【0003】
例えば、小型スピーカで生成不可能な低音域の成分の倍音を生成し、バーチャルピッチ効果を利用して低音感向上を図る音響信号処理装置が知られている。
【0004】
倍音生成装置に関連して、原音の周波数を変換する周波数変換装置が各種知られている。倍音生成とは、周波数変換における周波数変換率を2以上の整数倍に限定したものと考えてよい。
【0005】
周波数変換は、時間軸圧縮操作により行う。例えば、図23で示すように、時間長t1の信号(図23(a))を、それより短い時間長t2で再生することで、周波数を(t1/t2)倍に上げることができる(図23(b))。
【0006】
図24は、従来例として、特許文献1に記載されている周波数変換装置のブロック線図を示したものである。
【0007】
この周波数変換装置は、バッファメモリとしての役割を有するRAMに対する読み出しと書き込み速度の制御、すなわち、RAMへの書き込みよりも速い速度で信号をRAMから読み出すことにより、時間軸圧縮操作を行っており、これにより入力信号の周波数を上げている。ただし、このような操作は必然的に再生時間の変化を伴う。通常は、読み出しアドレスを適時再設定することで、再生時間の変化を補正する。
【0008】
図24において、読み出しアドレスカウンタ2415と書き出しアドレスカウンタ2416は、それぞれ、RAMからのデータの読み出しアドレスとRAMへの書き出しアドレスを与えると共に、そのアドレスの更新速度を制御する。
【0009】
ゼロクロス検出回路2413は、RAMに格納された信号に対するゼロクロス点を検出する。その結果は、前述した読み出しアドレスの再設定動作に反映される。
【0010】
すなわち、図25(a)で示すように、ゼロクロス検出回路より検出したゼロクロス点と、仮決めした再設定アドレスA1、B1のずれを計算し、A1からA2に、B1からB2に再設定アドレスの補正を行う。これにより、図25(b)に示すように、アドレス再設定時の信号接続を滑らかに行う。
【0011】
【特許文献1】
特開昭60−35795号公報
【0012】
【発明が解決しようとする課題】
従来の技術で説明したように、従来の倍音生成装置では、対象とする信号に関して、ゼロクロス区間を超える信号データを格納するだけのバッファメモリの容量が必要となる。しかしながら、本技術の処理対象としている低域成分は波長が長いため、ゼロクロス区間も長くなり、そのため、バッファメモリの容量が莫大なものになり、コストが高くなる課題が存在した。
【0013】
本発明は、以上の課題を鑑みなされたもので、ゼロクロス区間の信号を一時保存するためのバッファメモリの容量を削減した倍音生成方法および倍音生成装置を提供することを目的とするものである。
【0014】
【課題を解決するための手段】
第1の発明は、入力信号に対しその倍音を生成する倍音生成方法であって、
前記入力信号に対しダウンサンプリングを行った後にバッファメモリに格納し、
前記バッファメモリから読み出した信号についてアップサンプリングを行い、
前記アップサンプリングされた信号に対し、時間軸圧縮操作あるいは間引き操作により倍音を生成するものである。
【0015】
これにより、信号をダウサンプリングされた状態でバッファメモリに格納するため、必要となるバッファメモリの容量を削減できる。
【0016】
第2の発明は、入力信号に対し、周波数がk倍(kは自然数)の倍音を生成する倍音生成方法であって、
前記入力信号に対しダウンサンプリングを行った後に、書き込みアドレスの更新速度p(pは自然数)でバッファメモリに格納し、
前記バッファメモリから、読み出しアドレスの更新速度がp×kで読み出した信号について、kサンプルのうち1サンプルの割合でアップサンプリングを行うことにより、倍音を生成することを特徴とするものである。
【0017】
これにより、信号をダウサンプリングされた状態でバッファメモリに格納するため、必要となるバッファメモリの容量を削減できる。また、kサンプルのうち1サンプルの割合でアップサンプリングを行うことで、不要なサンプルのアップサンプリング操作を省かれるため、演算量を削減できる。
【0018】
第3の発明は、入力信号に対しその倍音を生成する倍音生成装置であって、
前記入力信号に対し間引き処理を行うダウンサンプリング手段と、
信号系列の処理過程でのいずれか定められた信号に対し、ゼロクロス点を検出するゼロクロス検出手段と、
前記ダウンサンプリング手段の出力信号を格納するバッファメモリと、
前記ゼロクロス検出手段が検出したゼロクロス点の情報と、生成する倍音の次数に基づき、前記バッファメモリからの読み出しアドレスを設定するアドレス管理手段と、
前記アドレス管理手段からの読み出しアドレスの情報からアップサンプリングで用いるフィルタの係数を選択し、前記バッファメモリからの出力信号に関し、信号のアップサンプリングを行うアップサンプリング手段とを具備することを特徴とするものである。
【0019】
これにより、信号をダウサンプリングされた状態でバッファメモリに格納するため、必要となるバッファメモリの容量を削減できる。
【0020】
【発明の実施の形態】
最初に、従来の技術で述べた周波数変換手法を、倍音生成を目的として改良を施した倍音生成方法の原理と、それを適用した倍音生成装置について説明する。
【0021】
まず、整数倍の周波数変換の基本原理について、図2を参照しながら説明する。図2(a)に示すような正弦波に関し、その倍音を生成する例を考える。ゼロクロス点とは、信号が正から負へ、あるいは負から正へ変化する点と定義される。例えば、負から正へのゼロクロス点は、P1、P2、P3となる。第2倍音を生成する場合には、負から正へのゼロクロス点から、次の負から正へのゼロクロス点との区間(以下、ゼロクロス区間と呼ぶことにする)、ゼロクロス区間P1−P2、ゼロクロス区間P2−P3において、波形を時間軸方向について1/2に圧縮し、2回繰り返し再生する。この処理後の信号は、図2(b)に示すように、周波数が2倍の信号になっていることがわかる。
【0022】
同様に、第N倍音は、同ゼロクロス点の区間において、時間軸方向に1/Nに圧縮し、N回繰り返し再生することで生成される。
【0023】
上記原理に基づく基本的な倍音生成装置のブロック線図を図3に示す。従来の倍音生成装置は、入力信号を受ける入力端子301、入力端子からの信号を一時格納するバッファメモリ304、バッファメモリ304に格納されている信号、あるいはその入力、あるいはその出力に関し、ゼロクロス点を検出するゼロクロス検出手段303、ゼロクロス検出手段303からの情報に基づき、バッファメモリ304からの信号の読み出しアドレスを制御するアドレス管理手段305、バッファメモリ304から読み出された信号、これが目的の倍音となるが、この倍音を外部に出力するための出力端子308により構成される。
【0024】
ここで、バッファメモリ304の動作を、図4を用いて説明する。ここでは、生成する倍音の次数を2とし、ブロック処理で1ブロックが8サンプル単位で処理を行うものとする。
【0025】
バッファメモリ304には、図4(a)から図4(b)に示すように入力信号が8サンプル単位で、B1w、B2w、B3w、・・・と順次書き込まれていく。
【0026】
その一方で、図4(b)から図4(c)のように、一定サンプル遅れて、1サンプル飛びで、B1r、B2r、B3r、・・・と、8サンプル単位で読み出される。このように、1サンプル飛びで読み出された信号データは、図4(d)のように、再び元のサンプリング周波数の信号として出力される。これにより入力信号に対し、周波数を2倍に変換した信号が得られる。
【0027】
アドレス管理手段305では、バッファメモリ304における読み出しアドレスの制御を行う。読み出しアドレスがゼロクロス点のアドレスに達した最初の場合には、読み出しアドレスを前回のゼロクロス点に戻し、そこから再度アドレス更新を行う。2回目の場合には、前回のゼロクロス点に戻ることはせずに、そのまま読み出しアドレスを更新する。すなわち、隣接するゼロクロス点の間で2回繰り返すことになる。
【0028】
この動作でわかるように、読み出しアドレスの更新速度は、書き込みアドレスの更新速度の2倍である。したがって、読み出しアドレスが書き込みアドレスを追い越すことが無いように、2つのアドレスは所定の間隔を設ける必要がある。
【0029】
(実施の形態1)
以下、図面を参照しながら、本発明の実施の形態1を説明する。
【0030】
まず、本発明の実施の形態1における倍音生成方法について、図1を参照しながら説明する。ここでは、本発明の本質とは直接関係はないゼロクロス点の検出と、それ伴うアドレス管理動作に関しては省略している。
【0031】
図1に示されるように、本実施の形態における倍音生成方法は、入力信号に対しダウンサンプリングを行う処理ステップS11と、ダウンサンプリング後の入力信号をバッファメモリに格納するステップS12と、バッファメモリから信号データを読み出すステップS13と、読み出された信号データに対しアップサンプリングを行う処理ステップS14と、アップサンプリングされた信号に対し時間軸圧縮操作を行う処理ステップS15から成る。
【0032】
さらに、時間軸圧縮についての一例を示した倍音生成方法を、図5を参照しながら説明する。ここでは、周波数がk倍の倍音を生成するものとする。
【0033】
長さMの入力信号に対しダウンサンプリングを行う処理ステップS51と、ダウンサンプリング後の入力信号をバッファメモリに格納するステップS52と、バッファメモリから信号データを読み出すステップS53と、読み出された信号データに対しアップサンプリングを行い長さM×kの信号を作る処理ステップS54と、kサンプルのうち1サンプルの割合で信号を取り出すといった間引き操作を行う処理ステップS55から成る。
【0034】
次に、図5と図6を参照しながら、より詳細な動作について説明する。ここでは数値例として、ステップS51でのダウンサンプリング率を1/4、生成する倍音の次数を2とする。また、1ブロックで8サンプル(M=8)(入力信号の時点で)まとめて処理を行うブロック処理とする。
【0035】
長さ8サンプルの入力信号は、ステップS51で1/4にダウンサンプリングされて2サンプルとなり(図6(a))、ステップS52でバッファメモリに(B1w、B2w、B3w、・・・)のように格納される(図6(b))。
【0036】
ステップS53ではバッファメモリからは4サンプルの信号データが(B1w、B2w、B3w、・・・)のように読み出される(図6(c))。すなわち、バッファメモリからの読み出しアドレスは、バッファメモリへの書き込みアドレスよりも遅れており、単位時間当たりのアドレス更新速度が、書き込みアドレスの2倍となっている。
【0037】
ステップS54では、この4サンプルの信号データに対し、4倍のアップサンプリングを行う(図6(d))。これには、イメージング歪を除去するためのフィルタ処理が含まれている。
【0038】
ステップS55では、アップサンプリングされた信号データに対し、2サンプルのうち1サンプルを取り出していく(図6(e))。すなわち、出力するサンプルと廃棄するサンプルが交互になる。これにより、元の時間長に戻し、事実上の時間軸圧縮操作を行い、元の信号と同じ長さで、周波数を2倍にした信号(図6(f))が得られる。
【0039】
上記の倍音生成方法によれば、ダウンサンプリングされ、信号のデータ数が減少された状態でバッファメモリに格納することができるので、バッファメモリの容量を削減できる。
【0040】
以上に示した倍音生成方法に基づき、装置として適用した倍音生成装置に関して説明する。
【0041】
本発明の実施の形態1における倍音生成装置のブロック線図を図7に示す。実施の形態1における倍音生成装置は、入力端子701、ダウンサンプリング手段702、ゼロクロス検出手段703、バッファメモリ704、アドレス管理手段705、アップサンプリング手段706、間引き手段707、出力端子708から構成されている。
【0042】
入力端子701は、倍音生成装置への入力信号を受ける端子である。
【0043】
ダウンサンプリング手段702は、入力端子701からの入力信号に対し、エイリアス歪の発生を防止するために、周波数帯域を制限するフィルタリングを行い、そして所定の間隔で信号の間引きを行うものである。換言すれば、信号のサンプリング周波数を下げるものである。ここで行うフィルタリングを行うフィルタとして、FIRフィルタを用いても良いし、IIRフィルタを用いても良い。
【0044】
バッファメモリ704は、ダウンサンプリング手段702の出力信号を一旦メモリに格納し、アドレス管理手段705の指示に従って、メモリに格納された信号をアップサンプリング手段706へ出力するものである。
【0045】
ゼロクロス検出手段703は、アップサンプリング手段706からの出力信号に対し、そのゼロクロス点を検出するものである。
【0046】
アドレス管理手段705は、ゼロクロス検出手段703からの情報に基づき、バッファメモリ704からの信号の読み出しアドレスを求め、バッファメモリ704から読み出す出力を制御するものである。
【0047】
アップサンプリング手段706は、バッファメモリ704からの信号を、イメージングによる歪の発生を防止するために、周波数帯域を制限するフィルタリングを行い、元のサンプリング周波数に戻し、さらに信号の長さをk倍(kは生成する倍音の次数)にするものである。ここで行うフィルタリングを行うフィルタとして、FIRフィルタを用いても良いし、IIRフィルタを用いても良い。ダウンサンプリング手段702で用いられるものと同じフィルタでも良い。
【0048】
間引き手段707は、アップサンプリング手段706からの出力に対し、kサンプルに1回の割合で信号を取り出し、時間軸圧縮を行って周波数をk倍に上げると共に、信号の長さを元に戻すものである。
【0049】
出力端子708は、間引き手段707からの出力信号を、外部に出力するものである。
【0050】
次に、図6を参照しながら、より詳細な動作について説明する。ここでは数値例として、ダウンサンプリング手段702におけるダウンサンプリング率を1/4、生成する倍音の次数を2とする。また、1ブロックで8サンプル(ダウンサンプリング手段702での入力時時点)まとめて処理を行うブロック処理とする。また、ゼロクロス検出手段703は、アップサンプリング手段706の出力に関し、ゼロクロス判定を行うものとする。
【0051】
入力端子701からの信号は、ダウンサンプリング手段702で1/4にダウンサンプリングされ(図6(a))、バッファメモリ704に格納される(図6(b))。入力信号が8サンプルの長さであれば、そのうちの1/4である2サンプルのみがバッファメモリ704に転送される。
【0052】
ゼロクロス検出手段703は、アップサンプリング手段706の出力よりゼロクロス点を検出し、それをアドレス管理手段705へ伝達する。
【0053】
アドレス管理手段705は、受け取ったゼロクロス点の情報より、バッファメモリ704からの読み出しアドレスを算出する。バッファメモリ704からの読み出しアドレスは、バッファメモリ704への書き込みアドレスよりも遅れている。そして単位時間当たりのアドレス更新速度が、書き込みアドレスの2倍となっている。すなわち、バッファメモリ704に2サンプル書き込まれる毎(B1w、B2w、B3w、・・・)に、そのバッファメモリ704から4サンプル分の信号データが読み出される(B1r、B2r、B3r、・・・)ことになる(図6(c))。
【0054】
なお、読み出しアドレスがゼロクロス点に達した場合、前回のゼロクロス点の読み出しアドレスまで戻り、そこから再度アドレス更新が行われる。すなわち、ゼロクロス区間を2回繰り返すことになる。
【0055】
アップサンプリング手段706は、バッファメモリ704からの出力(図6(c))について、4倍のアップサンプリングを行う(図6(d))。これには、イメージング歪を除去するためのフィルタ処理が含まれている。
【0056】
ここで、バッファメモリ704から読み出され、アップサンプリング手段706でフィルタリングされる信号データについて簡単にコメントする。アップサンプリング手段706でフィルタリングを行うためには、フィルタ次数に基づく過去の信号データが必要である。これについては、以下の3つの方法がある。
【0057】
方式1
バッファメモリ704への読み出しアドレスは、信号データの先頭(あるいは末尾)のアドレスを示しており、それからアップサンプリング手段706におけるフィルタリングに必要な分(α個)だけ、連続した信号データをバッファメモリ704から読み出す。
【0058】
方式2
新しい信号データのみ、バッファメモリ704から読み出し、他の過去の信号データは、アップサンプリング手段706で記録した信号データを用いる。すなわち、アップサンプリング手段706は過去の信号データを保持する手段をも含んでいる。
【0059】
方式3
方式1と2の折衷系である。フィルタリングに伴う、過去のフィルタ出力信号データはアップサンプリング手段706に保持されており、フィルタへの入力信号データは、全てバッファメモリ704から供給される。
【0060】
間引き手段707は、アップサンプリング手段706の出力(図6(d))に対し、2サンプルのうち1サンプルを取り出していく(図6(e))。すなわち、出力するサンプルと廃棄するサンプルが交互になる。これにより、元の時間長に戻し、事実上の時間軸圧縮操作を行い、元の信号と同じ長さで、周波数を2倍にした信号(図6(f))を得る。
【0061】
なお、ここでは、ゼロクロス検出手段703について、ゼロクロス点を検出すべき信号として、アップサンプリング手段706の出力としたが、図8(a)で示す構成のように、ダウンサンプリング手段702の入力信号を、ゼロクロス点を検出すべき信号としてもよい。この場合は、ダウンサンプリング手段702、バッファメモリ704、アップサンプリング手段706の処理における遅延分をあらかじめ考慮し、アップサンプリング手段706での出力でのゼロクロス点の時刻に合わせればよい。
【0062】
また、時間分解能は劣るものの、間引き手段707の出力でゼロクロス点の検出を行うことも可能である。その場合のブロック線図を、図8(b)に示す。
【0063】
さらに、図8(c)、(d)、(e)で示す構成のように、バッファメモリ704の入力、あるいは出力、あるいは記録されている信号データを、ゼロクロス点を検出すべき信号としてもよい。この場合にも、バッファメモリ704やアップサンプリング手段706の処理における遅延分をあらかじめ考慮し、アップサンプリング手段706での出力でのゼロクロス点の時刻に合わせる必要がある。
【0064】
なお、図8(c)、(d)、(e)のいずれの構成においても、ダウンサンプリングされた信号データを用いるため、時間分解能が大きい状態でゼロクロス点を検出することになる。
【0065】
これを避けるため、例えば、直線補間を用いて、ゼロクロス点の検出における時間分解能を細かくする方法が考えられる。これについて、図9を用いて説明する。
【0066】
x(40)、x(44)、x(52)のように、ゼロクロス点を含まない場合は、そのままでよい。
【0067】
x(48)のようにゼロクロス点が検出された場合には、その前のダウンサンプリングされたサンプルx(44)との間を直線で結び、その直線上に挿入したサンプルx(45)、x(46)、x(47)を含めてゼロクロス点の検出を行うと、検出の時間分解能を向上させることができる。
【0068】
なお、ゼロクロスの検出方法には、この他にも各種の変形が考えられるが、本発明はゼロクロスの検出方法には依存しないため、いずれの方法を使用しても良い。
【0069】
本実施の形態によれば、バッファメモリ704に格納される信号データが、元の信号データの1/4、すなわちダウンサンプリング手段702のダウンサンプリング率だけ小さくなる。よって、バッファメモリ704の容量も1/4で済み、バッファメモリの容量の削減に関し、大きな効果を有していることがわかる。
【0070】
以上の動作を具体的な例で説明する。ここでは、図10に示すゼロクロス点y(41)とy(104)を含む信号を例として考える。また、ダウンサンプリング率は1/4で、第2倍音を作るものとし、アップサンプリング時のイメージング歪の除去を行うフィルタとして、以下の16タップのFIRフィルタF(z―1)を用いるものとする。
【0071】
F(z―1)=f(0)+f(1)z−1+f(2)z―2+・・+f(15)z―15
この例において、各時刻tで倍音y(n)を求めることを考える。なお、x(4m+1)、x(4m+2)、x(4m+3)(mは自然数)の値はバッファメモリには存在せず、値0とみなして演算すればよい。なお、この値0に対する乗算は省くことも可能である。
【0072】
以下、ゼロクロス区間を2回繰り返すところまでを列記する。
【0073】
t=0、t=1:
ダウンサンプリング後の信号をx(80)として書き込む。
【0074】
x(28)、x(32)、x(36)、x(40)を読み出し
y(40)、y(41)、y(42)、y(43)の信号を生成。
【0075】
最後に、y(40)、y(42)を出力。
【0076】
t=2、t=3:
x(32)、x(36)、x(40)、x(44)を読み出し
y(44)、y(45)、y(46)、y(47)の信号を生成。
【0077】
最後に、y(44)、y(46)を出力。
【0078】
t=4、t=6:
ダウンサンプリング後の信号x(84)として書き込む。
【0079】
x(36)、x(40)、x(44)、x(48)を読み出し
y(48)、y(49)、y(50)、y(51)の信号を生成。
【0080】
最後に、y(48)、y(50)を出力。
【0081】
…
t=30、t=31:
x(88)、x(92)、x(96)、x(100)を読み出し
y(100)、y(101)、y(102)、y(103)の信号を生成。
【0082】
最後に、y(100)、y(102)を出力。
【0083】
t=32、t=33:
ダウンサンプリング後の信号をx(112)として書き込み
x(28)、x(32)、x(36)、x(40)を読み出し
y(40)、y(41)、y(42)、y(43)の信号を生成。
【0084】
最後に、y(41)、y(43)を出力。
【0085】
t=34、t=35:
x(32)、x(36)、x(40)、x(44)を読み出し
y(44)、y(45)、y(46)、y(47)の信号を生成。
【0086】
最後に、y(45)、y(47)を出力。
【0087】
…
t=62、t=63:
x(88)、x(92)、x(96)、x(100)を読み出し
y(100)、y(101)、y(102)、y(103)、の信号を生成。
【0088】
最後に、y(101)、y(103)を出力。
【0089】
t=64、t=65:
ダウンサンプリング後の信号をx(144)として書き込み
x(92)、x(96)、x(100)、x(104)を読み出し
y(104)、y(105)、y(106)、y(107)、の信号を生成。
【0090】
最後に、y(105)、y(107)を出力。
【0091】
…
このような一連の動作で、倍音を生成することが出来る。
【0092】
なお、本発明の倍音生成装置は、ハードウェアとしても、コンピュータにおけるソフトウェアとしても適用可能である。
【0093】
(実施の形態2)
以下、図面を参照しながら、本発明の実施の形態2を説明する。
【0094】
まず、本発明の実施の形態2における倍音生成方法について、図11を参照しながら説明する。ここでは、周波数がk倍の倍音を生成するものとし、本発明の本質とは直接関係の無いゼロクロス点の検出と、それ伴うアドレス管理動作に関しては省略している。
【0095】
図11に示されるように、本実施の形態における倍音生成方法は、入力信号に対しダウンサンプリングを行う処理ステップS111と、ダウンサンプリング後の入力信号を書き込み速度pでバッファメモリに格納するステップS112と、バッファメモリから信号データを読み出し速度p×kで読み出すステップS113と、読み出された信号データに対し、kサンプルのうち1サンプルの割合でアップサンプリングを行い、倍音を生成する処理ステップS114から成る。
【0096】
次に、図11と図12を参照しながら、より詳細な動作について説明する。ここでは数値例として、ステップS1でのダウンサンプリング率を1/4、生成する倍音の次数を2とする。また、1ブロックで8サンプル(M=8)(入力信号の時点で)まとめて処理を行うブロック処理とする。
【0097】
長さ8サンプルの入力信号は、ステップS111で1/4にダウンサンプリングされて2サンプルとなり(図12(a))、ステップS112でバッファメモリに(B1w、B2w、B3w、・・・)のように格納される(図12(b))。
【0098】
ステップS113ではバッファメモリからは4サンプルの信号データが(B1w、B2w、B3w、・・・)のように読み出される(図12(c))。すなわち、バッファメモリからの読み出しアドレスは、バッファメモリへの書き込みアドレスよりも遅れており、単位時間当たりのアドレス更新速度が、書き込みアドレスの2倍となっている。
【0099】
ステップS114では、この4サンプルの信号データに対し、4倍のアップサンプリングを行う(図12(d))。これには、イメージング歪を除去するためのフィルタ処理が含まれている。ここで、2サンプルのうち1サンプルしかアップサンプリングしないものとする。すなわち、全てアップサンプリングすれば16サンプルになるところを、8サンプル分しかアップサンプリングの演算をしないことになる。この8サンプルは、そのまま入力信号と同じ長さ8の第2倍音となる。
【0100】
上記の倍音生成方法によれば、実施の形態1と同様に、バッファメモリの容量を削減できる効果を有すると共に、実施の形態1では間引き手段で廃棄されるデータについてはあらかじめ演算しないため、演算量の削減なる効果も有する。
【0101】
以上に示した倍音生成方法に基づき、装置として適用した倍音生成装置に関して説明する。図13は、本発明の実施の形態2における倍音生成装置のブロック線図である。
【0102】
実施の形態2における倍音生成装置は、入力端子1301、ダウンサンプリング手段1302、ゼロクロス検出手段1303、バッファメモリ1304、アドレス管理手段1305、アップサンプリング手段1306、出力端子1308から構成されている。
【0103】
入力端子1301は、倍音生成装置への入力信号を受ける端子である。
【0104】
ダウンサンプリング手段1302は、入力端子1301からの入力信号に対し、エイリアス歪の発生を防止するために、周波数帯域を制限するフィルタリングを行い、そして所定のサンプル間隔で信号の間引きを行うものである。換言すれば、信号のサンプリング周波数を下げるものである。ここで行うフィルタリングを行うフィルタとして、FIRフィルタを用いても良いし、IIRフィルタを用いても良い。
【0105】
バッファメモリ1304は、ダウンサンプリング手段1302の出力信号を一旦メモリに格納し、アドレス管理手段1305の指示に従って、メモリに格納された信号をアップサンプリング手段1306へ出力するものである。
【0106】
ゼロクロス検出手段1303は、バッファメモリ1304に記憶された信号、またはバッファメモリ1304への入力信号、あるいはバッファメモリ1304からの出力信号、あるいはアップサンプリング手段1306からの出力信号のいずれかに対し、そのゼロクロス点を検出するものである。これについては、実施の形態1で示したものと同様であるため、ここでは、アップサンプリング手段1306からの出力信号を対象とする場合についてのみ説明する。
【0107】
アドレス管理手段1305は、ゼロクロス検出手段1303からの情報に基づき、バッファメモリ1304からの信号の読み出しアドレスを求め、バッファメモリ1304から読み出す出力を制御するものである。
【0108】
アップサンプリング手段1306は、バッファメモリ1304からの信号を、イメージングによる歪の発生を防止するために、周波数帯域を制限するフィルタリングを行い、元のサンプリング周波数に戻し、さらに周波数をk倍にするものである。ここではFIRフィルタを用いる。
【0109】
出力端子1308は、アップサンプリング手段16からの出力信号を、外部に出力するものである。
【0110】
次に、図12を参照しながら、より詳細な動作について説明する。ここでは数値例として、実施の形態1と同様に、ダウンサンプリング手段1302におけるダウンサンプリング率を4、生成する倍音の次数を2とする。また、1ブロックで8サンプル(ダウンサンプリング手段1302での入力時時点)まとめて処理を行うブロック処理とする。
【0111】
また、ゼロクロス検出手段1303は、アップサンプリング手段1306の出力に関し、ゼロクロス判定を行うものとする。
【0112】
入力端子1301からの信号は、ダウンサンプリング手段1302で1/4にダウンサンプリングされ(図12(a))、バッファメモリ1304に格納される(図12(b))。入力信号が8サンプルの長さであれば、そのうちの1/4である2サンプルのみがバッファメモリ1304に転送される。
【0113】
ゼロクロス検出手段1303は、アップサンプリング手段1306の出力よりゼロクロス点を検出し、それをアドレス管理手段1305へ伝達する。
【0114】
アドレス管理手段1305は、受け取ったゼロクロス点の情報より、バッファメモリ1304からの読み出しアドレスを算出する。バッファメモリ1304からの読み出しアドレスは、バッファメモリ1304への書き込みアドレスよりも遅れている。そして単位時間当たりのアドレス更新速度が、書き込みアドレスの2倍となっている。すなわち、バッファメモリ1304に2サンプル書き込まれる毎(B1w、B2w、B3w、・・・)に、そのバッファメモリ1304から4サンプル分の信号データが読み出される(B1r、B2r、B3r、・・・)ことになる(図12(c))。
【0115】
ここまでは、実施の形態1と同様である。本実施の形態では、間引き手段が存在せず、その役割をアップサンプリング手段1306が兼ねる働きとなる。
【0116】
アップサンプリング手段1306は、バッファメモリ1304からの出力について、4倍のアップサンプリングが行われるが、実施の形態1では間引き手段で間引かれるデータについては、この時点で生成しないようにすることが大きな特徴である。
【0117】
このために、アップサンプリング手段1306にて、2サンプル毎のサンプルのみをフィルタ処理で求めるようにする(図12(d))。
【0118】
これにより、バッファメモリ1304からの出力が4サンプルの信号データならば、その4倍の16サンプルの信号データになるはずが、あらかじめ間引かれるサンプルはフィルタ処理を行わないため、8サンプルのみ信号データが生成されることになる。これは、事実上の時間軸圧縮操作となり、元の信号と同じ長さで周波数を2倍にした信号(図12(e))が得られる。
【0119】
なお、本実施の形態においても実施の形態1と同様に、読み出しアドレスがゼロクロス点に達した際には、前のゼロクロス点に読み出しアドレスが再設定される。そして、そのゼロクロス点より、2巡目のアップサンプリング処理が行われる。
【0120】
ここで、ゼロクロス区間の長さ、すなわちサンプル数が偶数か奇数かによって、2巡目の求めるべきサンプルが異なる。これについて、図14を用いて説明する。図14(a)のように、ゼロクロス区間の長さが偶数であれば、1巡目と同じ信号データを求めればよい。図14(b)のようにゼロクロス区間の長さが奇数の場合には、1巡目では求めなかったサンプルの信号データを求めればよい。すなわち、1巡目で求めたサンプルは、2巡目では求めないことになる。
【0121】
このようにすれば、入力信号と出力信号のサンプル数を一定に保ち、かつ歪の少ない倍音を生成することが出来る。
【0122】
以上、第2倍音を求める方法について説明したが、第3倍音以降も同様の操作で生成可能である。
【0123】
例えば、第3倍音を生成する場合を考える。アップサンプリング手段1306にて、3サンプル毎に、フィルタ処理で信号データを求めればよい。この場合、ゼロクロス区間が、3n、3n+1、3n+2(nは自然数)の3つの場合に分けられる。これについては、図15を参照しながら説明する。
【0124】
(a)ゼロクロス区間が3nの場合 図15(a)
1巡目、2巡目、3巡目全て同じ信号データを求めることになる。
【0125】
(b)ゼロクロス区間が3n+1の場合 図15(b)
2巡目で求める信号データは、1巡目でのサンプルより1サンプル過去側の信号データになる。3巡目で求める信号データは、2巡目でのサンプルより1サンプル過去側の信号データになる。
【0126】
(c)ゼロクロス区間が3n+2の場合 図15(c)
2巡目で求める信号データは、1巡目でのサンプルより1サンプル未来側の信号データになる。3巡目で求める信号データは、2巡目でのサンプルより1サンプル未来側の信号データになる。
【0127】
次に、動作を具体的な例で説明する。ここでは、実施の形態1と同様に、図10に示すゼロクロス点y(41)とy(104)を含む信号を例として考える。以下、実施の形態1と同様に、ダウンサンプリング率は1/4で、第2倍音を作るものとし、アップサンプリング時のイメージング歪の除去を行うフィルタとして、以下の16タップのFIRフィルタF(z―1)を用いるものとする。
【0128】
F(z―1)=f(0)+f(1)z−1+f(2)z―2+・・+f(15)z―15
この例において、各時刻tで倍音y(n)を求めることを考える。なお、x(4m+1)、x(4m+2)、x(4m+3)(mは自然数)の値はバッファメモリには存在せず、値0とみなして演算すればよい。なお、この値0に対する乗算は省くことも可能である。
【0129】
以下、ゼロクロス区間を2回繰り返すところまでを列記する。
【0130】
t=0、t=1:
ダウンサンプリング後の信号をx(80)として書き込む。
【0131】
x(28)、x(32)、x(36)、x(40)を読み出し
y(40)、y(42)の信号を生成、出力。
【0132】
t=2、t=3:
x(32)、x(36)、x(40)、x(44)を読み出し
y(44)、y(46)の信号を生成、出力。
【0133】
t=4、t=6:
ダウンサンプリング後の信号x(84)として書き込む。
【0134】
x(36)、x(40)、x(44)、x(48)を読み出し
y(48)、y(50)の信号を生成、出力。
【0135】
…
t=30、t=31:
x(88)、x(92)、x(96)、x(100)を読み出し
y(100)、y(102)の信号を生成、出力。
【0136】
t=32、t=33:
ダウンサンプリング後の信号をx(112)として書き込み
x(28)、x(32)、x(36)、x(40)を読み出し
y(40)、y(42)の信号を生成、出力。
【0137】
最後に、y(41)、y(43)を出力。
【0138】
t=34、t=35:
x(32)、x(36)、x(40)、x(44)を読み出し
y(44)、y(46)の信号を生成、出力。
【0139】
…
t=62、t=63:
x(88)、x(92)、x(96)、x(100)を読み出し
y(100)、y(102)の信号を生成、出力。
【0140】
t=64、t=65:
ダウンサンプリング後の信号をx(144)として書き込み
x(92)、x(96)、x(100)、x(104)を読み出し
y(104)、y(106)の信号を生成、出力。
【0141】
…
このような一連の動作で、倍音を生成することが出来る。
【0142】
本実施の形態によれば、バッファメモリの容量削減の効果は実施の形態1と同様であるが、あらかじめ間引かれるとわかっている信号データに関しては、最初から求めないので、演算量の削減という意味でより優れていることがわかる。
【0143】
なお、本発明の倍音生成装置は、ハードウェアとしても、コンピュータにおけるソフトウェアとしても適用可能である。
【0144】
(実施の形態3)
以下、図面を参照しながら、本発明の実施の形態3を説明する。
【0145】
図16は、本発明の実施の形態3における倍音生成装置のブロック線図である。本実施の形態は、実施の形態2で説明したアップサンプリング手段において、より効率良く処理するためのものである。
【0146】
実施の形態3における倍音生成装置は、入力端子1601、ダウンサンプリング手段1602、ゼロクロス検出手段1603、バッファメモリ1604、アドレス管理手段1605、アップサンプリング手段1606、出力端子1608から構成されている。さらに、アップサンプリング手段1606は、サブフィルタ演算部1611とサブフィルタ係数選択部1612から構成されている。
【0147】
全体の動作は、実施の形態2とほぼ同一であるため、重複する箇所の説明は省き、本実施の形態の特徴であるアップサンプリング手段1606とアドレス管理手段1605の動作を中心に説明する。
【0148】
アドレス管理手段1605は、ゼロクロス検出手段1603からの情報に基づき、バッファメモリ1604からの信号の読み出しアドレスを求め、バッファメモリ1604から読み出す出力を制御するものである。さらに、サブフィルタ係数選択部1612へ、選択すべきサブフィルタを指定するための情報を伝達する。
【0149】
サブフィルタ係数選択部1612は、アドレス管理手段1605からのサブフィルタ選択情報を受けて、該当するサブフィルタの係数列を選択し、該係数列をサブフィルタ演算部1611に送る。
【0150】
サブフィルタ演算部1611は、サブフィルタ係数選択部1611により選択されたサブフィルタの係数列と、バッファメモリ1604から読み出された信号とのサブフィルタ処理(積和演算)を行う。
【0151】
図16の倍音生成装置の全体構成の中で、アドレス管理手段1605とアップサンプリング手段1606をより具体的に示したものが図17である。
【0152】
アドレス管理手段1605は、内部に設けられたレジスタと加算器により、生成倍音に相当する次数(例えば2)ずつアドレスを増加させる。
【0153】
これにより、2番目ごとにサンプルをアップサンプリングしていくことになるので、実施の形態2で述べたような不要なサンプルに対するアップサンプリング処理を省くことができる。
【0154】
ここで、ゼロクロス検出手段1604からのゼロクロス点の情報より、ゼロクロス点に到達した場合には、前のゼロクロス点、あるいは前のゼロクロス点より数サンプル進めた位置に、読み出しアドレスが再設定される。
【0155】
アドレス管理手段1605で算出されるアドレスの下位ビットは、サブフィルタの選択情報として、サブフィルタ係数選択部1612に送られる。
【0156】
また、アドレス管理手段1605で算出されるアドレスの上位ビットは、データ列を読み出すための情報として、バッファメモリ1604に送られる。
【0157】
サブフィルタ係数選択部1612は、送られてくる下位ビット情報に基づいて、該当するサブフィルタの係数列を選択する。
【0158】
バッファメモリ1604は、アドレス管理手段1605から送られてくる読み出しアドレスの上位ビット情報に基づいて、4つの連続するデータ列をサブフィルタ演算部1611に送る。
【0159】
サブフィルタ演算部1611は、サブフィルタ係数選択部1612により選択されたサブフィルタの係数列と、バッファメモリ1604から読み出された信号とを積和演算し、外部に出力する。
【0160】
ここで、サブフィルタ処理を用いたアップサンプリングの原理について説明する。数値例として、FIRフィルタのタップ数を16、ダウンサンプリング率1/4(アップサンプリング率4)とする。また、バッファメモリから取り出す信号をx(4m)、アップサンプリング出力をy(n)とする。
【0161】
最初に、以下のようなFIRフィルタを取り上げる。
【0162】
F(z−1)=f(0)+f(1)z−1+f(2)z―2+・・+f(15)z―15
このFIRフィルタに関し、4つのサブフィルタに分割する。
【0163】
f0(z−1)
=f(0)+f(4)z−4+f(8)z―8+f(12)z―12
f1(z−1)
=[f(1)+f(5)z−4+f(9)z―8+f(13)z―12]z−1
f2(z−1)
=[f(2)+f(6)z−4+f(10)z―8+f(14)z―12]z−2
f3(z−1)
=[f(3)+f(7)z−4+f(11)z―8+f(15)z―12]z−3
したがって、アップサンプリング信号y(n)は、時刻nが次の4系列のうちどれに属するかを判別し、対応するサブフィルタ処理を行うことで得られる。
【0164】
(a)n=4mの系列
y(n)=f(0)x(4m)+f(4)x(4m−4)
+f(8)x(4m−8)
(b)n=4m+1の系列
y(n)=f(1)x(4m)+f(5)x(4m−4)
+f(9)x(4m−8)
(c)n=4m+2の系列
y(n)=f(2)x(4m)+f(6)x(4m−4)
+f(10)x(4m−8)
(d)n=4m+3の系列
y(n)=f(3)x(4m)+f(7)x(4m−4)
+f(11)x(4m−8)
ここで、サブフィルタの判別は、nをビット表示(2進数表示)した際の、最下位ビットから下位2ビットの情報により行うことが可能である。これは、nの最下位ビットから下位2ビットの情報(n−4m)に相当する。
【0165】
この動作をより具体的な例で説明する。
【0166】
各時刻tで倍音y(n)を求めることを考える。ダウンサンプリング率は1/4で、第2倍音を作る例を考える。また、ゼロクロス点がy(41)、y(104)にあるものとする。
【0167】
まず、nの上位ビット(=4m)に基づいて、信号データx(4m)がバッファメモリ14より読み出される。また、nの下位ビット(=n−4m)に基づいて、サブフィルタf0(z−1)〜f3(z−1)のいずれかが選択され、フィルタ演算手段で、積和演算が実行される。
【0168】
以上の操作を、ゼロクロス区間を2回繰り返すところまでを列記する。
【0169】
t=0、t=1:
ダウンサンプリング後の信号をx(80)として書き込み
x(28)、x(32)、x(36)、x(40)を読み出し
y(40)の信号を生成、f0(z−1)使用
y(42)の信号を生成、f2(z−1)使用
t=2、t=3:
x(32)、x(36)、x(40)、x(44)を読み出し
y(44)の信号を生成、f0(z−1)使用
y(46)の信号を生成、f2(z−1)使用
t=4、t=5:
ダウンサンプリング後の信号をx(84)として書き込み
x(36)、x(40)、x(44)、x(48)を読み出し
y(48)の信号を生成、f0(z−1)使用
y(50)の信号を生成、f2(z−1)使用
…
t=30、t=31:
x(88)、x(92)、x(96)、x(100)を読み出し
y(100)の信号を生成、f0(z−1)使用
y(102)の信号を生成、f2(z−1)使用
t=32、t=33:
ダウンサンプリング後の信号をx(112)として書き込み
x(28)、x(32)、x(36)、x(40)を読み出し
y(41)の信号を生成、f1(z−1)使用
y(43)の信号を生成、f3(z−1)使用
t=34、t=35:
x(32)、x(36)、x(40)、x(44)を読み出し
y(45)の信号を生成、f1(z−1)使用
y(47)の信号を生成、f3(z−1)使用
…
t=62、t=63:
x(88)、x(92)、x(96)、x(100)を読み出し
y(101)の信号を生成、f1(z−1)使用
y(103)の信号を生成、f3(z−1)使用
t=64、t=65:
ダウンサンプリング後の信号をx(144)として書き込み
x(92)、x(96)、x(100)、x(104)を読み出し
y(105)の信号を生成、f1(z−1)使用
y(107)の信号を生成、f3(z−1)使用
…
このような一連の動作で、倍音を生成することが出来る。
【0170】
ここで、サブフィルタの選択を時系列で見ると、生成する倍音次数とダウンサンプリング率(=アップサンプリング率)の関係に応じて、周期性が見られる。
例えば、倍音次数2、ダウンサンプリング率4の場合で考えると、サブフィルタの選択は、上記の例のように、サブフィルタ0、サブフィルタ2、サブフィルタ0、サブフィルタ2、・・・、あるいは、サブフィルタ1、サブフィルタ3、サブフィルタ1、サブフィルタ3というように変化する。
【0171】
この周期性を利用し、係数列選択の変化パターンをテーブル化しておいて、ゼロクロス点における繰り返し初回の係数列選択以降は、このテーブルを利用して係数列の選択を行うことで、係数列の選択に要するステップ数を削減することも可能である。
【0172】
なお、ここではダウンサンプリング率1/4で、第2倍音の生成の例を示したが、他のダウンサンプリング率、第k倍音の場合でも、同様の手続きで実行することが出来る。
【0173】
本実施の形態によれば、バッファメモリの容量の削減は実施の形態2と同様であることに加え、サブフィルタを用いることで、無駄な積和演算処理を省いたため、単位時間当たりの演算量の削減という意味で、より優れていることがわかる。
【0174】
なお、本発明の倍音生成装置は、ハードウェアとしても、コンピュータにおけるソフトウェアとしても適用可能である。
【0175】
(実施の形態4)
本発明の実施の形態4について、図面を参照しながら説明する。
【0176】
本実施の形態は、実施の形態1の倍音生成装置に関し、複数の倍音を生成するように拡張したものである。
【0177】
図18に示すように、バッファメモリ1804に書き込むまでは、全ての倍音生成において共通なので、ダウンサンプリング手段1802とバッファメモリ1804については共用化する。そして、生成する倍音毎に、ゼロクロス検出手段1803a〜1803c、アドレス管理手段1805a〜1805c、アップサンプリング手段1806a〜1806c、間引き手段1807a〜1807cを設け、それぞれ倍音生成を行えば良い。生成された各倍音について、振幅レベルが乗算器1809a〜1809cで調整され、加算器1810により加算された後に外部に出力される。
【0178】
なお、ゼロクロス点は、バッファメモリの入力側でも出力側でも、倍音の倍率には関係ない。したがって、ゼロクロス検出手段でゼロクロス点の検出を行う信号を、ダウンサンプリング手段1802の入力信号(図19)や出力信号、あるいはバッファメモリ1804に記憶されている信号とする場合には、ゼロクロス検出手段1803を共用化することも可能である。
【0179】
また、アップサンプリング手段1806a〜1806cの入力信号や出力信号、間引き手段1807a〜1807cの出力信号にてゼロクロス点を検出する場合には、最も倍音の次数が高いところにのみゼロクロス検出手段1803を設置することも可能である(図20)。最も倍音の倍率が高いところにした理由は、読み出しアドレスが最も早く次のゼロクロス点に到達するからである。
【0180】
以上、複数の倍音を生成する場合について説明した。なお、ここでは代表として、実施の形態1で示した倍音生成装置を拡張する場合について述べたが、実施の形態2、実施の形態3で示した倍音生成装置についても同様な考え方で拡張することができる。
【0181】
なお、本発明の倍音生成装置は、ハードウェアとしても、コンピュータにおけるソフトウェアとしても適用可能である。
【0182】
(実施の形態5)
本発明の実施の形態5について、図面を参照しながら説明する。
【0183】
本実施の形態は、実施の形態1で示した倍音生成装置に関し、帯域分割処理を行い、周波数帯域毎に倍音生成を行うように拡張したものである。
【0184】
このような場合には、図21に示すように、ダウンサンプリング手段2102の後に、帯域分割処理を行うための帯域通過フィルタ2112a〜2112cを新たに挿入する。そして、ゼロクロス検出手段2103a〜2103c、バッファメモリ2104a〜2104c、アドレス管理手段2105a〜2105c、アップサンプリング手段2106a〜2106c、間引き手段2107a〜2107cを周波数帯域毎に設ける。この構成により、周波数帯域毎に倍音生成を行う。
【0185】
そして、各周波数帯域で生成される倍音の振幅レベルは、乗算器2109a〜2109cで調整され、加算器2110により加算された後に外部に出力される。
【0186】
本実施の形態における倍音生成装置も、これまでの実施の形態と同様に、バッファメモリの容量を削減できるという効果を有する。
【0187】
これに加え、本実施の形態における倍音生成装置は、帯域分割処理を行う帯域通過フィルタの演算量削減という効果を有する。すなわち、各周波数帯域の成分を抽出するための帯域通過フィルタ2112a〜2112cを、低いサンプリング周波数で動作させるため、帯域通過フィルタのタップ数の削減、単位時間の処理サンプル数の削減ができ、それにより演算量(単位時間当たりの乗算回数)を削減することが可能となる。
【0188】
ダウンサンプリングしない場合と比べ、単位時間当たりの帯域通過フィルタの呼び出し回数が1/D(Dはダウンサンプリング率)になり、また帯域通過フィルタ2112a〜2112cのタップ数を1/D(FIRフィルタで構成した場合)まで削減できるため、全体で帯域通過フィルタ2112a〜2112cに要する単位時間当たりの演算量を1/D2にまで削減可能となる。すなわち、単位時間当たりの演算量の削減について、大きな効果を有していることがわかる。
【0189】
なお、ここでは代表として、実施の形態1で示した倍音生成装置を拡張する場合について述べたが、他の実施の形態で示した倍音生成装置についても同様な考え方で拡張可能である。
【0190】
なお、本発明の倍音生成装置は、ハードウェアとしても、コンピュータにおけるソフトウェアとしても適用可能である。
【0191】
(実施の形態6)
本実施の形態では、これまでに示した本発明における倍音生成装置を、バーチャルピッチ効果を利用して小型スピーカの低音感向上を図る音響信号処理装置に適用した場合について述べる。
【0192】
図22はこの音響信号処理装置のブロック線図である。本実施例における音響信号処理装置は、入力端子2218、ディレイ2213、低域通過フィルタ2214、高域通過フィルタ2215、倍音生成装置2216、加算器2217、出力端子2219により構成される。
【0193】
構成要素である倍音生成装置2216には、実施の形態1から5で示した、いずれかの倍音生成装置を用いる。
【0194】
次に、図22(a)で示される音響信号処理装置について、その動作を説明する。
【0195】
入力端子2218より入力された入力信号は、ディレイ2213と低域通過フィルタ2214にそれぞれ入力される。
【0196】
ディレイ2213は、倍音生成装置2216の処理に伴う遅延の分、入力信号を遅延させる。
【0197】
低域通過フィルタ2214は、入力信号から倍音生成の対象となる低域成分を抽出する。
【0198】
倍音生成装置2216では、低域通過フィルタ2214の出力に対し、倍音生成を行う。
【0199】
ディレイ2213の出力信号と倍音生成装置2216の出力信号は、加算器2217で加算される。加算器2217の出力信号は、高域通過フィルタ2215に入力され、そこで低域成分が減衰させられる。これにより、低域における過負荷を防止する。最後に高域通過フィルタ2215の出力信号は、出力端子2219を通じて外部に出力される。
【0200】
また、図22(b)、(c)に示すように、高域通過フィルタ2215を、ディレイ2213の前段、あるいは後段に配置する構成としてもよい。
【0201】
このように、実施の形態1から5で説明した本発明における倍音生成装置を、小型スピーカの低音感向上を図る音響信号処理装置に適用することが可能である。
【0202】
【発明の効果】
以上示したように、本発明によれば、ダウンサンプリングされた信号がバッファメモリに格納されるため、必要となるバッファメモリの容量を削減でき、その効果は大なるものである。
【図面の簡単な説明】
【図1】本発明の実施の形態1に係る倍音生成方法の第1のフロー図
【図2】ゼロクロス法に基づく倍音生成法の原理説明図
【図3】基本的な倍音生成装置のブロック線図
【図4】基本的な倍音生成装置の動作説明図
【図5】本発明の実施の形態1に係る倍音生成方法の第2のフロー図
【図6】本発明の実施の形態1に係る倍音生成装置の動作説明図
【図7】本発明の実施の形態1に係る倍音生成装置のブロック線図(1)
【図8】本発明の実施の形態1に係る倍音生成装置のブロック線図(2)
【図9】直線補間を用いたゼロクロス検出の説明図
【図10】アップサンプリング手段における入力と出力の具体例を示す図
【図11】本発明の実施の形態2に係る倍音生成方法のフロー図
【図12】本発明の実施の形態2に係る倍音生成装置の動作説明図
【図13】本発明の実施の形態2に係る倍音生成装置のブロック線図
【図14】第2倍音生成におけるアップサンプリング出力を表す図
【図15】第3倍音生成におけるアップサンプリング出力を表す図
【図16】本発明の実施の形態3に係る倍音生成装置のブロック線図
【図17】本発明の実施の形態3に係る倍音生成装置の詳細構成図
【図18】本発明の実施の形態4に係る倍音生成装置のブロック線図(1)
【図19】本発明の実施の形態4に係る倍音生成装置のブロック線図(2)
【図20】本発明の実施の形態4に係る倍音生成装置のブロック線図(3)
【図21】本発明の実施の形態5に係る倍音生成装置のブロック線図
【図22】本発明の実施の形態6に係る倍音生成装置のブロック線図
【図23】周波数変換の原理説明図
【図24】従来の周波数変換装置のブロック線図
【図25】ゼロクロス点に基づくアドレス再設定法の説明図
【符号の説明】
301,701,1301,1601,1801,2101,2218,2411 入力端子
702,1302,1602,1802,2102 ダウンサンプリング手段303,703,1303,1603,1803a〜1803c,2103a〜2103c ゼロクロス検出手段
304,704,1304,1604,1804,2104a〜2104c バッファメモリ
305,705,1305,1605,1805a〜1805c,2105a〜2105c アドレス管理手段
706,1306,1606,1806a〜1806c,2106a〜2106c アップサンプリング手段
707,1807a〜1807c,2107a〜2107c 間引き手段
308,708,1308,1608,1808,2108,2219,2418 出力端子
1611 サブフィルタ演算部
1612 サブフィルタ係数選択部
1809a〜1809c,2109a〜2109c 乗算器
1810,2110,2217,2417 加算器
2112a〜2112c 帯域通過フィルタ
2213 ディレイ
2214 低域通過フィルタ
2215 高域通過フィルタ
2216 倍音生成装置
2413 ゼロクロス検出回路
2414 RAM
2415 読み出しアドレスカウンタ
2416 書き込みアドレスカウンタ[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an overtone generation method and an overtone generation device that generate overtones related to bass components.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, for various purposes, various acoustic signal devices including a harmonic generation device that generates a frequency component that is an integral multiple of an original sound, that is, a harmonic are proposed.
[0003]
For example, there has been known an acoustic signal processing device that generates harmonics of a low-frequency component that cannot be generated by a small speaker, and that uses a virtual pitch effect to improve bass feeling.
[0004]
Various frequency converters for converting the frequency of the original sound are known in relation to the harmonic generation device. The generation of harmonics may be considered as limiting the frequency conversion rate in frequency conversion to an integral multiple of 2 or more.
[0005]
The frequency conversion is performed by a time axis compression operation. For example, as shown in FIG. 23, by reproducing a signal having a time length t1 (FIG. 23A) with a shorter time length t2, the frequency can be increased to (t1 / t2) times (FIG. 23). 23 (b)).
[0006]
FIG. 24 shows, as a conventional example, a block diagram of a frequency conversion device described in
[0007]
This frequency conversion device performs a time axis compression operation by controlling the reading and writing speeds of the RAM serving as a buffer memory, that is, by reading out signals from the RAM at a speed faster than writing to the RAM, This increases the frequency of the input signal. However, such an operation necessarily involves a change in the reproduction time. Usually, a change in the reproduction time is corrected by appropriately resetting the read address.
[0008]
In FIG. 24, a
[0009]
The zero-
[0010]
That is, as shown in FIG. 25 (a), the shift between the zero-cross point detected by the zero-cross detection circuit and the provisionally determined reset addresses A1 and B1 is calculated, and the reset addresses of the reset addresses A1 to A2 and B1 to B2 are calculated. Make corrections. Thereby, as shown in FIG. 25B, the signal connection at the time of resetting the address is smoothly performed.
[0011]
[Patent Document 1]
JP-A-60-35795
[0012]
[Problems to be solved by the invention]
As described in the background art, the conventional harmonic generation apparatus requires a buffer memory having a capacity enough to store signal data exceeding a zero-cross section for a target signal. However, since the low-frequency component to be processed by the present technology has a long wavelength, the zero-cross section also becomes long, and therefore, there is a problem that the capacity of the buffer memory becomes enormous and the cost increases.
[0013]
The present invention has been made in view of the above problems, and has as its object to provide a harmonic generation method and a harmonic generation apparatus in which the capacity of a buffer memory for temporarily storing a signal in a zero-cross section is reduced.
[0014]
[Means for Solving the Problems]
A first invention is a harmonic generation method for generating an overtone of an input signal,
After performing downsampling on the input signal, store it in the buffer memory,
Up-sampling is performed on the signal read from the buffer memory,
The oversampled signal is used to generate harmonics by performing a time axis compression operation or a thinning operation.
[0015]
Thus, the signal is stored in the buffer memory in a state of being down-sampled, so that the required capacity of the buffer memory can be reduced.
[0016]
A second invention is a harmonic generation method for generating an overtone whose frequency is k times (k is a natural number) with respect to an input signal,
After down-sampling the input signal, it is stored in a buffer memory at a write address update speed p (p is a natural number),
Overtones are generated by up-sampling a signal read from the buffer memory at a read address update rate of p × k at a rate of 1 sample out of k samples.
[0017]
Thus, the signal is stored in the buffer memory in a state of being down-sampled, so that the required capacity of the buffer memory can be reduced. In addition, by performing upsampling at a rate of one sample out of k samples, an unnecessary sample upsampling operation can be omitted, so that the amount of calculation can be reduced.
[0018]
A third invention is a harmonic generation device that generates an overtone of an input signal,
Downsampling means for performing a thinning process on the input signal,
Zero-crossing detection means for detecting a zero-crossing point for any given signal in the process of processing the signal sequence,
A buffer memory for storing an output signal of the downsampling means;
Address management means for setting a read address from the buffer memory based on information of the zero-cross point detected by the zero-cross detection means and an order of a generated harmonic;
Upsampling means for selecting a coefficient of a filter used in upsampling from information of a read address from the address management means and upsampling a signal with respect to an output signal from the buffer memory. It is.
[0019]
Thus, the signal is stored in the buffer memory in a state of being down-sampled, so that the required capacity of the buffer memory can be reduced.
[0020]
BEST MODE FOR CARRYING OUT THE INVENTION
First, the principle of a harmonic generation method in which the frequency conversion method described in the related art is improved for the purpose of generating harmonics, and a harmonic generation device to which the principle is applied will be described.
[0021]
First, the basic principle of frequency conversion of an integral multiple will be described with reference to FIG. An example of generating a harmonic of a sine wave as shown in FIG. The zero crossing point is defined as the point at which the signal changes from positive to negative or from negative to positive. For example, zero cross points from negative to positive are P1, P2, and P3. When generating the second harmonic, a section from a zero cross point from negative to positive to a next zero cross point from negative to positive (hereinafter, referred to as a zero cross section), a zero cross section P1-P2, a zero cross In the section P2-P3, the waveform is compressed to 1/2 in the time axis direction, and reproduced twice. As shown in FIG. 2B, the signal after this processing is a signal whose frequency is doubled.
[0022]
Similarly, the Nth overtone is generated by compressing it to 1 / N in the time axis direction and repeatedly playing back N times in the section of the zero cross point.
[0023]
FIG. 3 shows a block diagram of a basic harmonic generation device based on the above principle. The conventional harmonic generation device includes an
[0024]
Here, the operation of the
[0025]
As shown in FIGS. 4A to 4B, the input signals are sequentially written in the
[0026]
On the other hand, as shown in FIG. 4 (b) to FIG. 4 (c), B1r, B2r, B3r,. In this way, the signal data read one sample at a time is output again as a signal of the original sampling frequency as shown in FIG. As a result, a signal whose frequency is doubled with respect to the input signal is obtained.
[0027]
The
[0028]
As can be seen from this operation, the update speed of the read address is twice the update speed of the write address. Therefore, it is necessary to provide a predetermined interval between the two addresses so that the read address does not overtake the write address.
[0029]
(Embodiment 1)
Hereinafter,
[0030]
First, a harmonic generation method according to
[0031]
As shown in FIG. 1, the overtone generation method according to the present embodiment includes a processing step S11 of downsampling an input signal, a step S12 of storing the input signal after downsampling in a buffer memory, It comprises a step S13 for reading out signal data, a processing step S14 for up-sampling the read-out signal data, and a processing step S15 for performing a time axis compression operation on the up-sampled signal.
[0032]
Further, a harmonic generation method showing an example of time axis compression will be described with reference to FIG. Here, it is assumed that a harmonic having a frequency of k times is generated.
[0033]
A processing step S51 of performing downsampling on an input signal of length M, a step S52 of storing the input signal after downsampling in a buffer memory, a step S53 of reading out signal data from the buffer memory, And a processing step S54 for performing upsampling to generate a signal of length M × k, and a processing step S55 for performing a thinning operation such as extracting a signal at a rate of one sample among k samples.
[0034]
Next, a more detailed operation will be described with reference to FIGS. Here, as a numerical example, it is assumed that the downsampling rate in step S51 is 1/4 and the order of the overtone to be generated is 2. In addition, block processing is performed in which eight samples (M = 8) are processed collectively (at the time of an input signal) in one block.
[0035]
The input signal having a length of 8 samples is down-sampled to 1/4 in step S51 to become 2 samples (FIG. 6A), and stored in the buffer memory in step S52 as (B1w, B2w, B3w,...). (FIG. 6B).
[0036]
In step S53, four samples of signal data are read from the buffer memory as (B1w, B2w, B3w,...) (FIG. 6C). That is, the read address from the buffer memory is behind the write address to the buffer memory, and the address update speed per unit time is twice the write address.
[0037]
In step S54, quadrupled up-sampling is performed on the four-sample signal data (FIG. 6D). This includes filtering to remove imaging distortion.
[0038]
In step S55, one sample of two samples is extracted from the up-sampled signal data (FIG. 6E). That is, the output sample and the discarded sample alternate. As a result, the signal is returned to the original time length, and the actual time axis compression operation is performed to obtain a signal having the same length as the original signal and a frequency doubled (FIG. 6 (f)).
[0039]
According to the above harmonic generation method, since the downsampled data can be stored in the buffer memory in a state where the number of signal data is reduced, the capacity of the buffer memory can be reduced.
[0040]
A harmonic generation device applied as an apparatus based on the harmonic generation method described above will be described.
[0041]
FIG. 7 is a block diagram of the overtone generation device according to the first embodiment of the present invention. The harmonic generation device according to the first embodiment includes an
[0042]
The
[0043]
The down-
[0044]
The
[0045]
The zero cross detection means 703 detects the zero cross point of the output signal from the up-sampling means 706.
[0046]
The
[0047]
The
[0048]
The
[0049]
The
[0050]
Next, a more detailed operation will be described with reference to FIG. Here, as a numerical example, it is assumed that the downsampling rate in the
[0051]
The signal from the
[0052]
The zero-
[0053]
The
[0054]
When the read address reaches the zero cross point, the read address returns to the previous read address at the zero cross point, and the address is updated again from there. That is, the zero cross section is repeated twice.
[0055]
The
[0056]
Here, the signal data read from the
[0057]
The read address to the
[0058]
Only new signal data is read from the
[0059]
It is an eclectic system of
[0060]
The
[0061]
Here, the output of the up-
[0062]
Further, although the time resolution is inferior, it is also possible to detect the zero-cross point by the output of the thinning means 707. A block diagram in that case is shown in FIG.
[0063]
Further, as shown in FIGS. 8C, 8D, and 8E, the input, output, or recorded signal data of the
[0064]
In each of the configurations shown in FIGS. 8C, 8D, and 8E, since the down-sampled signal data is used, the zero-cross point is detected with a large time resolution.
[0065]
In order to avoid this, for example, a method is considered in which the time resolution in detecting the zero-cross point is made fine using linear interpolation. This will be described with reference to FIG.
[0066]
In the case where a zero cross point is not included as in x (40), x (44), and x (52), it may be left as it is.
[0067]
When a zero crossing point is detected as in x (48), a straight line is connected to the previous down-sampled sample x (44), and the samples x (45), x inserted on the straight line are connected. When the zero cross point is detected including (46) and x (47), the time resolution of the detection can be improved.
[0068]
Various other modifications are conceivable for the method of detecting a zero cross, but any method may be used since the present invention does not depend on the method of detecting a zero cross.
[0069]
According to the present embodiment, the signal data stored in
[0070]
The above operation will be described with a specific example. Here, a signal including the zero cross points y (41) and y (104) shown in FIG. 10 will be considered as an example. The downsampling rate is 1/4, and the second harmonic is produced. As a filter for removing imaging distortion at the time of upsampling, the following 16-tap FIR filter F (z−1) Shall be used.
[0071]
F (z-1) = F (0) + f (1) z-1+ F (2) z-2+ ・ ・ + F (15) z-Fifteen
In this example, it is assumed that the overtone y (n) is obtained at each time t. The values of x (4m + 1), x (4m + 2), and x (4m + 3) (m is a natural number) do not exist in the buffer memory, and may be calculated assuming that the value is 0. The multiplication of the value 0 can be omitted.
[0072]
Hereinafter, up to the point where the zero cross section is repeated twice is listed.
[0073]
t = 0, t = 1:
The down-sampled signal is written as x (80).
[0074]
Read x (28), x (32), x (36), x (40)
Generate signals y (40), y (41), y (42), y (43).
[0075]
Finally, y (40) and y (42) are output.
[0076]
t = 2, t = 3:
Read x (32), x (36), x (40), x (44)
Generate signals y (44), y (45), y (46), y (47).
[0077]
Finally, y (44) and y (46) are output.
[0078]
t = 4, t = 6:
Write as a signal x (84) after downsampling.
[0079]
Read x (36), x (40), x (44), x (48)
Generate y (48), y (49), y (50), y (51) signals.
[0080]
Finally, y (48) and y (50) are output.
[0081]
…
t = 30, t = 31:
Read x (88), x (92), x (96), x (100)
Generate y (100), y (101), y (102), y (103) signals.
[0082]
Finally, y (100) and y (102) are output.
[0083]
t = 32, t = 33:
Write down-sampled signal as x (112)
Read x (28), x (32), x (36), x (40)
Generate signals y (40), y (41), y (42), y (43).
[0084]
Finally, y (41) and y (43) are output.
[0085]
t = 34, t = 35:
Read x (32), x (36), x (40), x (44)
Generate signals y (44), y (45), y (46), y (47).
[0086]
Finally, y (45) and y (47) are output.
[0087]
…
t = 62, t = 63:
Read x (88), x (92), x (96), x (100)
Generate signals y (100), y (101), y (102), y (103).
[0088]
Finally, y (101) and y (103) are output.
[0089]
t = 64, t = 65:
Write down-sampled signal as x (144)
Read x (92), x (96), x (100), x (104)
Generate signals y (104), y (105), y (106), y (107).
[0090]
Finally, y (105) and y (107) are output.
[0091]
…
Overtones can be generated by such a series of operations.
[0092]
The harmonic generation device of the present invention can be applied as hardware or software in a computer.
[0093]
(Embodiment 2)
Hereinafter, a second embodiment of the present invention will be described with reference to the drawings.
[0094]
First, a harmonic generation method according to
[0095]
As shown in FIG. 11, the overtone generation method according to the present embodiment includes a processing step S111 of downsampling an input signal, and a step S112 of storing the input signal after downsampling in a buffer memory at a writing speed p. A step S113 of reading signal data from the buffer memory at a reading speed p × k, and a processing step S114 of upsampling the read signal data at a rate of one sample out of k samples to generate harmonics. .
[0096]
Next, a more detailed operation will be described with reference to FIGS. Here, as a numerical example, it is assumed that the downsampling rate in step S1 is 1/4 and the order of the generated harmonic is 2. In addition, block processing is performed in which eight samples (M = 8) are processed collectively (at the time of an input signal) in one block.
[0097]
The input signal having a length of 8 samples is down-sampled to 1/4 in step S111 to be 2 samples (FIG. 12A), and stored in the buffer memory in step S112 as (B1w, B2w, B3w,...). (FIG. 12B).
[0098]
In step S113, four samples of signal data are read from the buffer memory as (B1w, B2w, B3w,...) (FIG. 12C). That is, the read address from the buffer memory is behind the write address to the buffer memory, and the address update speed per unit time is twice the write address.
[0099]
In step S114, quadrupled up-sampling is performed on the four-sample signal data (FIG. 12D). This includes filtering to remove imaging distortion. Here, it is assumed that only one of the two samples is up-sampled. In other words, the upsampling operation is performed only for 8 samples, where 16 samples are obtained if all are upsampled. These 8 samples become the second harmonic of the
[0100]
According to the above harmonic generation method, as in the first embodiment, the effect of reducing the capacity of the buffer memory is obtained, and in the first embodiment, the data discarded by the thinning means is not calculated in advance, so that the amount of calculation is It also has the effect of reducing.
[0101]
A harmonic generation device applied as an apparatus based on the harmonic generation method described above will be described. FIG. 13 is a block diagram of a harmonic generation device according to
[0102]
The harmonic generation device according to the second embodiment includes an
[0103]
The
[0104]
The downsampling means 1302 performs filtering for limiting the frequency band to the input signal from the
[0105]
The
[0106]
The zero-
[0107]
The
[0108]
The up-
[0109]
The
[0110]
Next, a more detailed operation will be described with reference to FIG. Here, as a numerical example, as in the first embodiment, it is assumed that the downsampling rate in the
[0111]
The zero-
[0112]
The signal from the
[0113]
The zero-
[0114]
The
[0115]
The operation up to this point is the same as in the first embodiment. In this embodiment, there is no thinning means, and the function of the upsampling means 1306 also serves as the function.
[0116]
The
[0117]
For this purpose, the
[0118]
As a result, if the output from the
[0119]
In this embodiment, as in the first embodiment, when the read address reaches the zero cross point, the read address is reset to the previous zero cross point. Then, a second round of up-sampling processing is performed from the zero cross point.
[0120]
Here, the sample to be obtained in the second round differs depending on the length of the zero cross section, that is, whether the number of samples is even or odd. This will be described with reference to FIG. As shown in FIG. 14A, if the length of the zero cross section is an even number, the same signal data as in the first cycle may be obtained. When the length of the zero cross section is an odd number as shown in FIG. 14B, signal data of a sample not obtained in the first round may be obtained. That is, the sample obtained in the first round is not obtained in the second round.
[0121]
In this way, the number of samples of the input signal and the output signal can be kept constant, and harmonics with little distortion can be generated.
[0122]
The method for obtaining the second overtone has been described above, but the third overtone can be generated by the same operation.
[0123]
For example, consider a case where a third harmonic is generated. The
[0124]
(A) When the zero cross section is 3n FIG.
The same signal data is obtained for all of the first, second, and third rounds.
[0125]
(B) When the zero cross section is 3n + 1 FIG. 15 (b)
The signal data obtained in the second cycle is signal data one sample past the sample in the first cycle. The signal data obtained in the third round is the signal data one sample before the sample in the second round.
[0126]
(C) When the zero cross section is 3n + 2 FIG. 15 (c)
The signal data obtained in the second round is signal data one sample future from the sample in the first round. The signal data obtained in the third round becomes signal data one sample future from the sample in the second round.
[0127]
Next, the operation will be described with a specific example. Here, as in the first embodiment, a signal including zero cross points y (41) and y (104) shown in FIG. 10 will be considered as an example. Hereinafter, as in the first embodiment, the downsampling rate is 1/4, the second harmonic is generated, and the following 16-tap FIR filter F (z) is used as a filter for removing imaging distortion at the time of upsampling. ―1) Shall be used.
[0128]
F (z-1) = F (0) + f (1) z-1+ F (2) z-2+ ・ ・ + F (15) z-Fifteen
In this example, it is assumed that the overtone y (n) is obtained at each time t. The values of x (4m + 1), x (4m + 2), and x (4m + 3) (m is a natural number) do not exist in the buffer memory, and may be calculated assuming that the value is 0. The multiplication of the value 0 can be omitted.
[0129]
Hereinafter, up to the point where the zero cross section is repeated twice is listed.
[0130]
t = 0, t = 1:
The down-sampled signal is written as x (80).
[0131]
Read x (28), x (32), x (36), x (40)
Generate and output signals y (40) and y (42).
[0132]
t = 2, t = 3:
Read x (32), x (36), x (40), x (44)
Generate and output signals of y (44) and y (46).
[0133]
t = 4, t = 6:
Write as a signal x (84) after downsampling.
[0134]
Read x (36), x (40), x (44), x (48)
Generate and output y (48) and y (50) signals.
[0135]
…
t = 30, t = 31:
Read x (88), x (92), x (96), x (100)
Generate and output signals of y (100) and y (102).
[0136]
t = 32, t = 33:
Write down-sampled signal as x (112)
Read x (28), x (32), x (36), x (40)
Generate and output signals y (40) and y (42).
[0137]
Finally, y (41) and y (43) are output.
[0138]
t = 34, t = 35:
Read x (32), x (36), x (40), x (44)
Generate and output signals of y (44) and y (46).
[0139]
…
t = 62, t = 63:
Read x (88), x (92), x (96), x (100)
Generate and output signals of y (100) and y (102).
[0140]
t = 64, t = 65:
Write down-sampled signal as x (144)
Read x (92), x (96), x (100), x (104)
Generate and output y (104) and y (106) signals.
[0141]
…
Overtones can be generated by such a series of operations.
[0142]
According to the present embodiment, the effect of reducing the capacity of the buffer memory is the same as that of the first embodiment. However, since signal data that is known to be thinned out in advance is not obtained from the beginning, the amount of calculation is reduced. It turns out that it is better in meaning.
[0143]
The harmonic generation device of the present invention can be applied as hardware or software in a computer.
[0144]
(Embodiment 3)
Hereinafter, a third embodiment of the present invention will be described with reference to the drawings.
[0145]
FIG. 16 is a block diagram of a harmonic generation device according to
[0146]
The harmonic generation device according to the third embodiment includes an
[0147]
Since the entire operation is almost the same as that of the second embodiment, the description of the overlapping portions will be omitted, and the operation of the upsampling unit 1606 and the
[0148]
The
[0149]
The sub-filter coefficient selection unit 1612 receives the sub-filter selection information from the
[0150]
The
[0151]
FIG. 17 shows the
[0152]
The
[0153]
As a result, the sample is up-sampled every second time, so that the up-sampling process for unnecessary samples as described in the second embodiment can be omitted.
[0154]
Here, when the zero-cross point is reached from the zero-cross point information from the zero-cross detection means 1604, the read address is reset to the previous zero-cross point or a position advanced by several samples from the previous zero-cross point.
[0155]
The lower bits of the address calculated by the
[0156]
The upper bits of the address calculated by the
[0157]
Sub-filter coefficient selection section 1612 selects a corresponding sub-filter coefficient sequence based on the transmitted lower bit information.
[0158]
The
[0159]
The
[0160]
Here, the principle of upsampling using sub-filter processing will be described. As a numerical example, the number of taps of the FIR filter is 16, and the downsampling rate is 1/4 (upsampling rate 4). A signal taken out from the buffer memory is x (4m), and an up-sampling output is y (n).
[0161]
First, the following FIR filter is taken up.
[0162]
F (z-1) = F (0) + f (1) z-1+ F (2) z-2+ ・ ・ + F (15) z-Fifteen
The FIR filter is divided into four sub-filters.
[0163]
f0 (z-1)
= F (0) + f (4) z-4+ F (8) z-8+ F (12) z-12
f1 (z-1)
= [F (1) + f (5) z-4+ F (9) z-8+ F (13) z-12] Z-1
f2 (z-1)
= [F (2) + f (6) z-4+ F (10) z-8+ F (14) z-12] Z-2
f3 (z-1)
= [F (3) + f (7) z-4+ F (11) z-8+ F (15) z-12] Z-3
Therefore, the up-sampling signal y (n) is obtained by determining to which of the following four sequences the time n belongs, and performing a corresponding sub-filter process.
[0164]
(A) n = 4m series
y (n) = f (0) x (4m) + f (4) x (4m-4)
+ F (8) x (4m-8)
(B) Series of n = 4m + 1
y (n) = f (1) x (4m) + f (5) x (4m-4)
+ F (9) x (4m-8)
(C) Series of n = 4m + 2
y (n) = f (2) x (4m) + f (6) x (4m-4)
+ F (10) x (4m-8)
(D) Series of n = 4m + 3
y (n) = f (3) x (4m) + f (7) x (4m-4)
+ F (11) x (4m-8)
Here, the determination of the sub-filter can be performed based on information from the least significant bit to the least significant two bits when n is represented in bits (binary number representation). This corresponds to information (n−4m) of lower 2 bits from n least significant bits.
[0165]
This operation will be described with a more specific example.
[0166]
Consider obtaining the overtone y (n) at each time t. Consider an example in which the downsampling rate is 1/4 and the second harmonic is generated. It is also assumed that the zero cross points are at y (41) and y (104).
[0167]
First, the signal data x (4m) is read from the
[0168]
The above operations are listed up to the point where the zero cross section is repeated twice.
[0169]
t = 0, t = 1:
Write down-sampled signal as x (80)
Read x (28), x (32), x (36), x (40)
Generate a signal of y (40), f0 (z-1)use
Generate a signal of y (42), f2 (z-1)use
t = 2, t = 3:
Read x (32), x (36), x (40), x (44)
Generate a signal of y (44), f0 (z-1)use
Generate a signal of y (46), f2 (z-1)use
t = 4, t = 5:
Write down-sampled signal as x (84)
Read x (36), x (40), x (44), x (48)
Generate a signal of y (48), f0 (z-1)use
Generate a signal of y (50), f2 (z-1)use
…
t = 30, t = 31:
Read x (88), x (92), x (96), x (100)
Generate a signal of y (100), f0 (z-1)use
Generate a signal of y (102), f2 (z-1)use
t = 32, t = 33:
Write down-sampled signal as x (112)
Read x (28), x (32), x (36), x (40)
Generate a signal of y (41), f1 (z-1)use
Generate a signal of y (43), f3 (z-1)use
t = 34, t = 35:
Read x (32), x (36), x (40), x (44)
Generate a signal of y (45), f1 (z-1)use
Generate a signal of y (47), f3 (z-1)use
…
t = 62, t = 63:
Read x (88), x (92), x (96), x (100)
Generate a signal of y (101), f1 (z-1)use
Generate a signal of y (103), f3 (z-1)use
t = 64, t = 65:
Write down-sampled signal as x (144)
Read x (92), x (96), x (100), x (104)
Generate a signal of y (105), f1 (z-1)use
Generate a signal of y (107), f3 (z-1)use
…
Overtones can be generated by such a series of operations.
[0170]
Here, when the selection of the sub-filter is viewed in time series, periodicity is seen according to the relationship between the generated harmonic order and the downsampling rate (= upsampling rate).
For example, considering the case where the harmonic order is 2 and the downsampling rate is 4, the selection of the sub-filter is performed as in the above-described example. ,
[0171]
Using this periodicity, the change pattern of the coefficient sequence selection is tabulated, and after the first iteration of the coefficient sequence selection at the zero crossing point, the coefficient sequence is selected using this table, so that the coefficient sequence is selected. It is also possible to reduce the number of steps required for selection.
[0172]
Here, an example of generating the second overtone at a downsampling rate of 1/4 has been described. However, the same procedure can be performed for other downsampling rates and kth overtones.
[0173]
According to the present embodiment, the reduction of the capacity of the buffer memory is the same as that of the second embodiment, and the use of a sub-filter eliminates unnecessary product-sum operation processing. It turns out that it is better in terms of reducing the amount.
[0174]
The harmonic generation device of the present invention can be applied as hardware or software in a computer.
[0175]
(Embodiment 4)
[0176]
The present embodiment relates to the harmonic generation device of the first embodiment and is extended to generate a plurality of harmonics.
[0177]
As shown in FIG. 18, the downsampling means 1802 and the
[0178]
It should be noted that the zero-crossing point has nothing to do with the overtone magnification on the input side or output side of the buffer memory. Therefore, when the signal for detecting the zero-cross point by the zero-cross detecting means is an input signal (FIG. 19) or an output signal of the downsampling means 1802 or a signal stored in the
[0179]
When the zero-cross point is detected by the input signals and output signals of the up-sampling
[0180]
The case where a plurality of harmonics are generated has been described above. Here, as an example, the case where the harmonic generation device shown in
[0181]
The harmonic generation device of the present invention can be applied as hardware or software in a computer.
[0182]
(Embodiment 5)
[0183]
The present embodiment is an extension of the overtone generation device shown in the first embodiment so as to perform band division processing and generate overtones for each frequency band.
[0184]
In such a case, as shown in FIG. 21, after the
[0185]
Then, the amplitude levels of the harmonics generated in each frequency band are adjusted by multipliers 2109a to 2109c, added by
[0186]
The harmonic generation device according to the present embodiment also has an effect that the capacity of the buffer memory can be reduced as in the previous embodiments.
[0187]
In addition, the harmonic generation device according to the present embodiment has an effect of reducing the amount of calculation of the band-pass filter that performs the band division processing. That is, since the band-
[0188]
Compared to the case without downsampling, the number of times the bandpass filter is called per unit time is 1 / D (D is the downsampling rate), and the number of taps of the
[0189]
Here, as an example, the case where the harmonic generation device described in the first embodiment is extended has been described. However, the harmonic generation device described in the other embodiments can be extended based on the same concept.
[0190]
The harmonic generation device of the present invention can be applied as hardware or software in a computer.
[0191]
(Embodiment 6)
In the present embodiment, a case will be described in which the overtone generation device according to the present invention described so far is applied to an acoustic signal processing device that improves the low-pitched sound of a small loudspeaker using the virtual pitch effect.
[0192]
FIG. 22 is a block diagram of the acoustic signal processing device. The acoustic signal processing device according to the present embodiment includes an
[0193]
Any of the harmonic generation devices described in
[0194]
Next, the operation of the acoustic signal processing device shown in FIG.
[0195]
The input signal input from the
[0196]
The
[0197]
The low-
[0198]
The
[0199]
The output signal of the
[0200]
Further, as shown in FIGS. 22B and 22C, the high-
[0201]
As described above, the overtone generation device according to the present invention described in
[0202]
【The invention's effect】
As described above, according to the present invention, the down-sampled signal is stored in the buffer memory, so that the required capacity of the buffer memory can be reduced, and the effect is great.
[Brief description of the drawings]
FIG. 1 is a first flowchart of a harmonic generation method according to
FIG. 2 is a diagram illustrating the principle of a harmonic generation method based on a zero-cross method.
FIG. 3 is a block diagram of a basic harmonic generation device.
FIG. 4 is a diagram illustrating the operation of a basic harmonic generation device.
FIG. 5 is a second flowchart of the harmonic generation method according to the first embodiment of the present invention;
FIG. 6 is an operation explanatory diagram of the overtone generation device according to the first embodiment of the present invention;
FIG. 7 is a block diagram (1) of a harmonic generation device according to the first embodiment of the present invention;
FIG. 8 is a block diagram (2) of the harmonic generation device according to the first embodiment of the present invention.
FIG. 9 is an explanatory diagram of zero cross detection using linear interpolation.
FIG. 10 is a diagram showing a specific example of input and output in the upsampling means.
FIG. 11 is a flowchart of an overtone generation method according to the second embodiment of the present invention.
FIG. 12 is an explanatory diagram of an operation of the harmonic generation device according to the second embodiment of the present invention;
FIG. 13 is a block diagram of a harmonic generation device according to a second embodiment of the present invention.
FIG. 14 is a diagram illustrating an up-sampling output in second harmonic generation.
FIG. 15 is a diagram showing an up-sampling output in third harmonic generation.
FIG. 16 is a block diagram of a harmonic generation device according to a third embodiment of the present invention.
FIG. 17 is a detailed configuration diagram of a harmonic generation device according to
FIG. 18 is a block diagram (1) of a harmonic generation device according to
FIG. 19 is a block diagram (2) of a harmonic generation device according to a fourth embodiment of the present invention.
FIG. 20 is a block diagram (3) of an overtone generation device according to
FIG. 21 is a block diagram of a harmonic generation device according to a fifth embodiment of the present invention.
FIG. 22 is a block diagram of a harmonic generation device according to a sixth embodiment of the present invention.
FIG. 23 is a diagram illustrating the principle of frequency conversion.
FIG. 24 is a block diagram of a conventional frequency converter.
FIG. 25 is an explanatory diagram of an address resetting method based on a zero-cross point.
[Explanation of symbols]
301, 701, 1301, 1601, 1801, 101, 2218, 2411 Input terminals
702, 1302, 1602, 1802, 2102 Down sampling means 303, 703, 1303, 1603, 1803a to 1803c, 2103a to 2103c Zero cross detection means
304, 704, 1304, 1604, 1804, 2104a to 2104c Buffer memory
305, 705, 1305, 1605a, 1805a to 1805c, 2105a to 2105c Address management means
706, 1306, 1606, 1806a to 1806c, 2106a to 2106c Up-sampling means
707, 1807a to 1807c, 2107a to 2107c Thinning means
308, 708, 1308, 1608, 1808, 2108, 2219, 2418 Output terminals
1611 Sub-filter operation unit
1612 Sub-filter coefficient selection unit
1809a-1809c, 2109a-2109c Multiplier
1810, 2110, 2217, 2417 Adder
2112a-2112c Bandpass filter
2213 Delay
2214 Low-pass filter
2215 High-pass filter
2216 Overtone generator
2413 Zero-cross detection circuit
2414 RAM
2415 Read address counter
2416 Write address counter
Claims (5)
前記入力信号に対しダウンサンプリングを行った後にバッファメモリに格納し、
前記バッファメモリから読み出した信号についてアップサンプリングを行い、
前記アップサンプリングされた信号に対し、時間軸圧縮操作により倍音を生成することを特徴とする倍音生成方法。A harmonic generation method for generating an overtone of an input signal,
After performing downsampling on the input signal, store it in the buffer memory,
Up-sampling is performed on the signal read from the buffer memory,
A harmonic generation method, wherein a harmonic is generated for the up-sampled signal by a time axis compression operation.
長さM(Mは自然数)の前記入力信号に対しダウンサンプリングを行った後にバッファメモリに格納し、
前記バッファメモリから読み出した信号について、アップサンプリングを行い、長さM×kの信号を取り出し、
前記アップサンプリングされた信号に対し、kサンプルのうち1サンプルの割合で信号を取り出すことにより、長さMの倍音を生成することを特徴とする倍音生成方法。A harmonic generation method for generating an overtone whose frequency is k times (k is a natural number) with respect to an input signal,
After performing downsampling on the input signal of length M (M is a natural number), store it in the buffer memory,
The signal read from the buffer memory is up-sampled, and a signal of length M × k is extracted.
A harmonic generation method characterized by generating a harmonic having a length M by extracting a signal at a rate of one sample out of k samples from the up-sampled signal.
前記入力信号に対しダウンサンプリングを行った後に、書き込みアドレスの更新速度p(pは自然数)でバッファメモリに格納し、
前記バッファメモリから、読み出しアドレスの更新速度がp×kで読み出した信号について、kサンプルのうち1サンプルの割合でアップサンプリングを行うことにより、倍音を生成することを特徴とする倍音生成方法。A harmonic generation method for generating an overtone whose frequency is k times (k is a natural number) with respect to an input signal,
After down-sampling the input signal, the input signal is stored in a buffer memory at an update speed p (p is a natural number) of a write address,
A method for generating harmonics by upsampling a signal read out from the buffer memory at a read address update rate of p × k at a rate of one sample out of k samples.
前記入力信号に対し間引き処理を行うダウンサンプリング手段と、
定められた信号に対し、ゼロクロス点を検出するゼロクロス検出手段と、
前記ダウンサンプリング手段の出力信号を格納するバッファメモリと、
前記ゼロクロス検出手段が検出したゼロクロス点の情報と、生成する倍音の倍率に基づき、前記バッファメモリからの読み出しアドレスを設定するアドレス管理手段と、
前記バッファメモリからの出力信号に関し、信号の補間処理を行うアップサンプリング手段と、
前記アップサンプリング手段の出力信号に対し、生成する倍音の次数に応じ、間引き処理を行い、出力信号を生成する間引き手段とを具備し、
前記ゼロクロス検出手段において、ゼロクロス点を検出する対象となる前記定められた信号が、前記ダウンサンプリング手段への入力信号、あるいは前記バッファメモリに記憶された信号、あるいは前記バッファメモリへの入力信号、あるいは前記バッファメモリからの出力信号、あるいは前記アップサンプリング手段からの出力信号、あるいは前記間引き手段の出力信号のいずれかであることを特徴とする倍音生成装置。An overtone generation device that generates an overtone of the input signal,
Downsampling means for performing a thinning process on the input signal,
Zero-crossing detection means for detecting a zero-crossing point for a predetermined signal;
A buffer memory for storing an output signal of the downsampling means;
Address management means for setting a read address from the buffer memory based on information of the zero-cross point detected by the zero-cross detection means and a magnification of an overtone to be generated;
Upsampling means for performing an interpolation process of a signal with respect to an output signal from the buffer memory,
The output signal of the up-sampling unit, according to the degree of harmonics to be generated, performing a thinning process, comprising a thinning unit to generate an output signal,
In the zero-cross detection means, the predetermined signal to be detected for a zero-cross point is an input signal to the down-sampling means, or a signal stored in the buffer memory, or an input signal to the buffer memory, or An overtone generation device, which is one of an output signal from the buffer memory, an output signal from the upsampling unit, and an output signal from the thinning unit.
前記入力信号に対し間引き処理を行うダウンサンプリング手段と、
定められた信号に対し、ゼロクロス点を検出するゼロクロス検出手段と、
前記ダウンサンプリング手段の出力信号を格納するバッファメモリと、
前記ゼロクロス検出手段が検出したゼロクロス点の情報と、生成する倍音の次数に基づき、前記バッファメモリからの読み出しアドレスを設定するアドレス管理手段と、
前記アドレス管理手段からの読み出しアドレスの情報からアップサンプリングで用いるフィルタの係数を選択し、前記バッファメモリからの出力信号に関し、信号の補間処理と倍音の生成を行い、出力信号を生成するアップサンプリング手段とを具備し、
前記ゼロクロス検出手段において、ゼロクロス点を検出する対象となる前記定められた信号が、前記ダウンサンプリング手段への入力信号、あるいは前記バッファメモリに記憶された信号、あるいは前記バッファメモリへの入力信号、あるいは前記バッファメモリからの出力信号、あるいは前記アップサンプリング手段からの出力信号のいずれかであることを特徴とする倍音生成装置。An overtone generation device that generates an overtone of the input signal,
Downsampling means for performing a thinning process on the input signal,
Zero-crossing detection means for detecting a zero-crossing point for a predetermined signal;
A buffer memory for storing an output signal of the downsampling means;
Address management means for setting a read address from the buffer memory based on information of the zero-cross point detected by the zero-cross detection means and an order of a generated harmonic;
Upsampling means for selecting a filter coefficient used in upsampling from the information of the read address from the address management means, performing signal interpolation processing and generation of harmonics on the output signal from the buffer memory, and generating an output signal And
In the zero-cross detection means, the predetermined signal to be detected for a zero-cross point is an input signal to the down-sampling means, or a signal stored in the buffer memory, or an input signal to the buffer memory, or An overtone generation device, which is either an output signal from the buffer memory or an output signal from the upsampling unit.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003119972A JP2004328361A (en) | 2003-04-24 | 2003-04-24 | Harmonic overtone generation method and harmonic overtone generator |
EP04008546A EP1473965A2 (en) | 2003-04-17 | 2004-04-08 | Acoustic signal-processing apparatus and method |
CN2004100325813A CN1538784B (en) | 2003-04-17 | 2004-04-09 | Audible signal processing device and its method |
US10/821,942 US7551742B2 (en) | 2003-04-17 | 2004-04-12 | Acoustic signal-processing apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003119972A JP2004328361A (en) | 2003-04-24 | 2003-04-24 | Harmonic overtone generation method and harmonic overtone generator |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004328361A true JP2004328361A (en) | 2004-11-18 |
Family
ID=33499027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003119972A Pending JP2004328361A (en) | 2003-04-17 | 2003-04-24 | Harmonic overtone generation method and harmonic overtone generator |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004328361A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008134582A (en) * | 2006-10-27 | 2008-06-12 | Sony Corp | Audio processing method and audio processing apparatus |
JP2008191659A (en) * | 2007-01-12 | 2008-08-21 | Sony Corp | Speech emphasis method and speech reproduction system |
-
2003
- 2003-04-24 JP JP2003119972A patent/JP2004328361A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008134582A (en) * | 2006-10-27 | 2008-06-12 | Sony Corp | Audio processing method and audio processing apparatus |
US8204239B2 (en) | 2006-10-27 | 2012-06-19 | Sony Corporation | Audio processing method and audio processing apparatus |
JP2008191659A (en) * | 2007-01-12 | 2008-08-21 | Sony Corp | Speech emphasis method and speech reproduction system |
US8229135B2 (en) | 2007-01-12 | 2012-07-24 | Sony Corporation | Audio enhancement method and system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103262162B (en) | Psychoacoustic filter design for rational resamplers | |
JP6672322B2 (en) | Multi-rate system for audio processing | |
TWI292124B (en) | Method to perform sampling rate conversion, multirate filter for performing sampling rate conversion, associated signal processing system, and computer readable storage medium recorded with associated instructions | |
JP2010249939A (en) | Noise reducing device and noise determination method | |
JP2010249940A (en) | Noise reducing device and noise reduction method | |
CN101944364B (en) | Voice frequency processing method and voice frequency system | |
US8666732B2 (en) | High frequency signal interpolating apparatus | |
CN1815549A (en) | Early reflection reproduction apparatus and method of sound field effect reproduction | |
GB2473266A (en) | An improved filter bank | |
EP1463030A2 (en) | Reverberation sound generating apparatus | |
Kahles et al. | Oversampling for nonlinear waveshaping: Choosing the right filters | |
WO2002089334A1 (en) | Resampling system and apparatus | |
JP5541832B2 (en) | Sampling rate conversion | |
CN106972840B (en) | Sampling rate conversion method and device | |
US8949303B2 (en) | Filter | |
JP2004328361A (en) | Harmonic overtone generation method and harmonic overtone generator | |
Zhang et al. | Optimized design of windowed-sinc anti-aliasing filters for phase-preserving decimation of hydrophone data | |
EP1533898A1 (en) | Digital filter designing method, digital filter designing program, digital filter | |
US6772022B1 (en) | Methods and apparatus for providing sample rate conversion between CD and DAT | |
JP3851757B2 (en) | Sampling rate converter | |
US7400676B2 (en) | Tone quality adjustment device designing method and designing device, tone quality adjustment device designing program, and tone quality adjustment device | |
JP3468677B2 (en) | Frequency converter | |
JPH0732343B2 (en) | Asynchronous sampling frequency conversion method | |
WO2019152101A1 (en) | Sample rate conversion with pitch-based interpolation filters | |
JPH01144814A (en) | Sound field reproducing device |