話速変換や音域拡張,バーチャル・サラウンド,自動音場補正など(前編) ―― DSPによる音声信号処理の動向と実現法

米本 明弘,桜井 淳宏,岩田 佳英,伊藤 裕二

音声に関して,ディジタル信号処理技術を利用した製品が多数存在します.例えば,小型スピーカを搭載しているだけなのに迫力のある音を再生できる薄型テレビや,音声の自然さを損なわずに録音時と異なった速度で再生できるICレコーダなどです.ここでは,ディジタル信号処理を実現するデバイスの一つであるDSP(Digital Signal Processor)を利用した音声信号処理技術について前編と後編にわけて解説します. (編集部)

1. 音声信号処理の変遷

● 1877年に録音・再生機が登場

 音を録音し,好きなときに取り出して聞くという夢を実用化したのが,発明王の異名を持つ米国人トーマス・エジソン (Thomas Edison)でした.彼は1877年に世界最初の録音・再生機であるフォノグラフ(Phonograph)を発明しました.その後,レコードやテープ・レコーダに代表されるアナログ方式による録音技術が進化しました. 

● その100年後にはCDが登場,以降ディジタル化が加速

 フォノグラフの発明から約100年後の1980年,CD (Compact Disc)の発明によって音楽技術はアナログからディジタルへ急速に移行しました.ディジタル化の最大の恩恵は,信号の意味の置き換えが可能になり,アルゴリズムを扱えるようになったことです.

 CDは世界中で流通し,音楽用CDソフトは既に2000億枚以上が販売されています.従って,その膨大なディジタル音声信号を効率良く蓄積・伝送する必要性がでてきました.そこでMP3やAACに代表される音声圧縮の分野でアルゴリズムが開発されました.

● 同時期にDSPが登場,リアルタイム信号処理を可能に

 くしくもそのCDの創世期である1982年,米国Texas Instruments 社(以下,TI社)から本格的DSP(Digital Signal Processor)「TSM32010」が登場しました.「ディジタル信号をリアルタイムで処理する高速プロセッサ」であるDSPは,圧縮処理などディジタル信号処理を伴うオーディオ製品では,既にさまざまな機種で使われています.

 DSPの進化は今までリアルタイムでは不可能と思われたディジタル信号処理を可能にしました.そして,ついにマルチチャネル可逆(無ひずみ)音声圧縮をDSPで実現できる時代が到来しました.さらに蓄積メディアの大容量化,通信の高速化はリニアPCM(Pulse Code Modulation)音声の普及に拍車をかけることでしょう.

 これらのことは新しい開発の中心が,圧縮からほかの分野に移行することを示唆していると考えます.このような動向をかんがみ,本稿ではDSP上で実現したアルゴリズムの中から,圧縮以外の分野における音質向上,新機能付加を目的としたものを5件紹介します.

 

2. 話速変換を実現する時間スケール変換

 最近,ICレコーダやハード・ディスク・レコーダなどの製品が普及し,ディジタル・フォーマットで音声を保存・再生する機会が多くなりました.それに伴い音声の自然さを損なわずに,録音時とは異なった速度で再生するという,ディジタルならではの応用に対するニーズが高まってきています.

 かつては,音の高さ(基本周波数)と再生速度は反比例関係にあるという常識的な感覚がありました.それは,アナログ・テープなどの回転速度と,信号に含まれる周波数成分が物理的に直結していたことによるものでした.しかし,最近のディジタル機器では,音の高さと再生速度を独立に制御できるようになっています.ここではその根底にある技術,いわゆるTSM(Time Scale Modification;時間スケール変換)について解説します.

● TSMの原理

 音声波形の時間軸上のスケール変換処理を理解するために,模様付きテープなどの「切り張り」作業を想像してみます.テープを短くするには一部を切り取り,長くするには同じ種類のテープを挿入してつなぎ合わせます.ここで切れ目(=つなぎ目)をなるべく目立たなくするため,模様にちょうど合わせて切れ目を入れるという工夫が必要です.

 周期信号の場合,周期的に繰り返される波形の周期パターンの境界に合わせて「切れ目」を入れると,位相ずれによる不連続性を回避しながら周期パターンの数を増やしたり減らしたりできます.その結果,信号全体の長さは変わるものの,周期パターンの形そのものに依存する基本周波数(つまり,音の高さ)は保持されます.音声は厳密には周期信号ではありませんが,分析範囲を限定すれば近似的にそうみなせます.

 この原理を利用する時間スケール変換の手法として,周期パターンを検出して切り張り処理を施す方法(PSOLA(1)など)と,周期パターンを明示的に検出せず,相互相関などに基づく尺度を用いてオーバラップさせたフレーム間の接続位置を検索する方法(SOLA (2),GEM-TSM(3)など)があります.そのほかに音声を周波数領域に変換し,周波数成分ごとに位相を求める方法(Phase Vocoder(4)など)もあります.ここではリアルタイム処理に優れているGEM-TSMというアルゴリズムに焦点を当てて説明します.

● GEM-TSMの基本的な機構であるOLA

 まず,GEM-TSMのベースとなるOLA(Overlap-Add)という機構について説明します(図1).全体の流れは,入力信号をフレームに分割し,処理を施した上でフレームを再度重ね合わせることによって出力信号を生成するというものです.



図1 OLA方式に基づくフレーム分割・再構築
オーバーラップ部分における重み付き加算のフェージングの概念図(先行フレーム,後続フレームの重みの推移を傾斜で表示)


 音声フレームは隣り合わせではなく,オーバラップさせた形で切り出します.二つのフレームがオーバラップする部分においては,サンプル同士の値をミックス(重み付き加算)します.その際に,先行フレームのサンプルの重みを次第に弱め,後続フレームのサンプルの重みを次第に強めます.これは,DJが曲と曲の間に行うフェージング処理と似ています.ここで,各サンプルにおいて,両フレームの重みの合計を一定に保てば,入力信号を元の形のまま再構築できます.

● 重ね合わせを調整することで時間スケールを変換する
 OLAの機構の上で時間スケールを変換したい場合,フレーム同士を互いにずらします.つまり,フレーム同士の間隔を伸ばせば時間スケールが伸長し,縮めれば縮小します(図2).一方,その過程では信号の位相関係が考慮されていないため,不連続性によるノイズが発生してしまいます.GEM-TSMアルゴリズムは,位相による不連続性(位相ずれ)を回避するため,独自の相互相関関数を利用します.


図2 OLA機構を用いた時間スケール変換の概念図
フレームを互いにずらせば信号の長さが変わる.ただし,ずらした状態では位相ずれが生じてしまうため,相対的な位置を微調整する必要がある.微調整の尺度として相互相関関数が用いられる.

 

● 相互相関関数による位相ずれの回避
 OLA機構において位相ずれのない状態とは,ミックスする波形の周期パターンが一致している状態のことをいいます.このとき相互相関が最大になることに気を付けてください.そこでフレーム同士のオーバラップ部分に着目し,基本周期の範囲内でフレームをずらしながら相互相関を計算し,最大値に対応する位置を検索します.その位置に合わせてフレームを重ね合わせれば,位相ずれの問題を回避できます.この概念はSOLA(2)アルゴリズムによって導入されたものですが,そこで用いられた相互相関関数は複雑なため,実用的ではありませんでした.GEM-TSMアルゴリズムは,リアルタイム性を考慮して簡素化された相互相関関数を利用します(図3).



図3 SOLAとGEM-TSMの相互相関関数の比較
SOLA(式(1))の場合,振幅の正規化のために複雑な処理が必要になるが,GEM-TSM(式(2))の場合,計算の対象となる範囲(LGEM-TSM)の決め方などを工夫することにより,その必要がない.

 

● TSMをDSPに実装するヒント

 このようにGEM-TSMアルゴリズムは,次のステップで構成されます.

  1. OLA機構と同じ手法で入力音声をフレームに分割する.
  2. 希望の時間スケール変換率に応じてフレーム間隔をずらす.
  3. 3 位相ずれを回避するために相互相関関数に基づく尺度を利用して重ね合わせ位置を検索し調整する.

 このステップのうち,1と2は必要とする演算量が極めて少ないため,通常のC言語で記述し,DSPメーカが提供するコンパイラによるコードをそのまま利用しても問題ありません.

 一方,ステップ3は最も演算量を消費するところであり,最適化が必要となります.GEM-TSMの実装では,DSPが持つ並列演算命令を効率良く利用できるように,隣接する2点の重ね合わせ位置における相互相関関数を同時に求めます.

 GEM-TSMはTI社製C55系DSP(以下,C55DSP)およびC67系DSP(以下,C67DSP)向けのファームウェアとして提供されており,市販のボイス・レコーダなどの製品に組み込まれています.演算量は2倍速再生の場合,100MHzクロックのデバイスの約10%に相当する10MHz程度で動作します.

 

1  2  »
組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日