フェーズボコーダ

フェーズボコーダ英語: Phase vocoder)は音声信号を周波数領域の振幅と位相でモデル化するボコーダである[1][注釈 1]

フェーズボコーダの心臓部は短時間フーリエ変換 (STFT)であり、次の段階を経る。

  1. 分析:  STFTによる時間領域表現→時間-周波数表現(英語版)変換
  2. 変更:  任意の周波数成分の振幅・位相操作
  3. 再合成: 逆STFTによる周波数領域表現→時間領域表現変換

フェーズボコーダは周波数領域での変更処理により音声信号の時間伸縮とピッチ変換などを可能にする。また再合成前にSTFT分析フレームの時間的位置を変更すれば、再合成結果の時間発展を変更でき、たとえば音の時間スケール変更を実現できる。

位相コヒーレンス問題

位相コヒーレンス問題はSTFTによる時間-周波数表現 (STFT表現) の操作で必ず解決が必要な主要問題である。これは、時間軸方向にオーバーラップした分析窓(窓関数)を使用する事により、個々の信号成分 (正弦波、インパルス) が、複数のフレームやSTFT周波数ビン(bin)へ拡散しまう問題である(周波数については「スペクトル漏れ」にあたる。)。窓関数の時間的オーバーラップは、隣接するSTFT分析結果が互いに強い相関を持つという事実に基づいている (時刻 t の分析フレームに存在する正弦波成分は、後続フレームにも同様に存在し続ける可能性が高い)。

STFT表現上で行なう全ての変更は、隣接する 周波数ビン (垂直コヒーレンス) や 時間フレーム (水平コヒーレンス) との間で 「適切な相関関係」を維持する必要がある。これは、フェーズボコーダによる信号変形の問題に関連している。合成音が極めて単純な場合以外、この「適切な相関関係」を正確に維持ですることは困難である。フェーズボコーダの発明以来、研究は主にSTFT表現変更後に垂直/水平コヒーレンスを維持するアルゴリズムの発見のために行われてきた。なお、振幅コヒーレンスは、時間スケール操作に関してマイナーな問題に過ぎない。なぜなら、分析フレームの時間シフトは、振幅に小さな影響しか与えないからである。しかし位相コヒーレンスの問題は、適切な解決策が得られるまでかなり長い期間の検討を要した。

歴史

フェーズボコーダは Flanagan & Golden (1966) によって、正弦波成分を表す各ビンの位相間で水平コヒーレンスを維持するアルゴリズムとして導入された[2]。このオリジナルのフェーズボコーダは、隣接する周波数ビン間の垂直コヒーレンスを考慮しなかったので、このシステムによるタイムストレッチ(時間伸縮)の音響信号は明瞭さが欠けていた。

振幅変更後のSTFT表現から音響信号を再構築する最適な方法は、Griffin & Lim (1984) により提案された[3]。このアルゴリズムはコヒーレントSTFT生成の問題を考慮していないが、たとえ変更済みSTFTがコヒーレントでなくとも(いかなる信号も表現していなくとも)、それに可能な限り近いSTFTに相当する音響信号の発見を可能にする。

垂直コヒーレンスの問題は、タイム・スケーリング操作の品質に関する大きな問題として、Laroche & Dolson (1999)[4] が周波数ビン間の位相的整合性を保つずっと簡単な方法を提案するまで、(問題が)残り続けた。LarocheとDolsonの提案は、フェーズボコーダの歴史的転換点と看做すべきだろう。垂直位相の整合性保証により、非常に高品質なタイムスケーリング変換が得られることが示されている。

Larocheが提案したアルゴリズムは、発声(あるいはノート発音)の瞬間の水平位相コヒーレンスの維持は不可能だった。この問題の解決策はRöbel (2003) が提案した[5] 。ここで説明したRöbel提案までの音質改善策を施した、フェーズボコーダ・ベースの信号変換のソフトウェア実装例として、IRCAM SuperVPを挙げることができる [6]

音楽での使用

イギリスの作曲家 トレヴァー・ウィシャート(英語版)は、人間の声のフェーズボコーダ分析/変換に基づいて、“Vox V()” (アルバム “Vox Cycle(英語版)”) を制作した[7]。アメリカの作曲家 ロジャー・レイノルズの作品 “Transfigured Wind()” は、フェーズボコーダをフルート音のタイムストレッチに使用した[8]

商用音楽制作で広く活用されているプロプライエタリなピッチ修正ソフトウェア「Auto-Tune」も、フェーズボコーダの動作原理に基づいているとみなされている[9][10]

関連項目

注釈

[脚注の使い方]
  1. ^ 信号の位相情報とは、信号を極形式表示した場合の偏角 θ {\displaystyle \theta } の事。信号の周波数や位相の時間的変化を踏まえて瞬時位相(英語版)と呼ぶ。
    • 一般に信号解析では複素解析を応用して、実信号 x ( t ) {\displaystyle x(t)} を形式的に複素拡張して解析信号(英語版) x a ( t ) = x ( t ) + i x ~ ( t ) {\displaystyle x_{a}(t)=x(t)+i\cdot {\tilde {x}}(t)} として扱い、オイラーの公式で極形式 x a ( t ) = r e i θ {\displaystyle x_{a}(t)=r\cdot e^{i\theta }} に変換して、偏角 θ {\displaystyle \theta } を得る。
    • 信号が単純な余弦関数もしくは正弦関数の場合、その引数が偏角である。
    • フェーズボコーダのようなフーリエ変換の応用では、信号のフーリエ級数 x k ( t ) {\displaystyle x_{k}(t)} を極形式に変換して、フーリエ級数の偏角 θ k ( t ) {\displaystyle \theta _{k}(t)} を得る。
    信号のフーリエ級数:  x k ( t ) {\displaystyle x_{k}(t)} = a k cos ( 2 π f k t ) + b k sin ( 2 π f k t ) {\displaystyle =a_{k}\cos(2\pi f_{k}\cdot t)+b_{k}\sin(2\pi f_{k}\cdot t)}   (直交形式)
    = r k cos ( 2 π f k t + ϕ k ) {\displaystyle =r_{k}\cos(2\pi f_{k}\cdot t+\phi _{k})}   (極形式)
    フーリエ級数の偏角:  θ k ( t ) {\displaystyle \theta _{k}(t)} = 2 π f k t + ϕ k {\displaystyle =2\pi f_{k}\cdot t+\phi _{k}}

    (関連記事: 「アディティブ・シンセシス」の"周期関数のフーリエ級数展開"、"周波数の時間発展")

出典

  1. ^ "The method specifies the speech signal in terms of its short-time amplitude and phase spectra. For this reason, it is called phase vocoder." Flanagan, et al. (1966). Phase Vocoder.
  2. ^ Flanagan, J.L.; Golden, R.M. (1966), “Phase vocoder”, Bell System Technical Journal 45 (9): 1493–1509, http://www.alcatel-lucent.com/bstj/vol45-1966/articles/bstj45-9-1493.pdf 
  3. ^ Griffin, D.; Lim, J. (1984), “Signal Estimation from Modified Short-Time Fourier Transform”, IEEE Transactions on Acoustics, Speech and Signal Processing 32 (2): 236–243, doi:10.1109/TASSP.1984.1164317, http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1164317 
  4. ^ Laroche, Jean; Dolson, Mark (1999), “Improved Phase Vocoder Time-Scale Modification of Audio”, IEEE Transactions on Speech and Audio Processing 7 (3): 323–332, doi:10.1109/89.759041, http://ieeexplore.ieee.org/iel4/89/16428/00759041.pdf 
  5. ^ Röbel, Axel (IRCAM) (2003), “A new approach to transient processing in the phase vocoder”, DAFx-03: Proc. of the 6th Int. Conference on Digital Audio Effects, オリジナルの2004年6月17日時点におけるアーカイブ。, https://web.archive.org/web/20040617224423/http://www.ircam.fr/equipes/analyse-synthese/roebel/paper/dafx2003.pdf 
  6. ^ SuperVP (Software), Analysis-Synthesis Team, IRCAM, http://anasynth.ircam.fr/home/english/software/supervp 
    SuperVP (Super Phase Vocoder)は、IRCAM で使われている 拡張フェーズボコーダ であり、その提供機能は、タイムストレッチピッチシフト、フィルタリング、クロスシンセシス、音源分離とリミックス、構成成分のトリートメントと再構築、ノイズ除去、等。 AudioSculptのカーネルとして、Sinusoidal modelingを提供するPm2ライブラリと共に使用されている。
  7. ^ Wishart, Trevor (Winter, 1988), “The Composition of Vox 5”, Computer Music Journal 12 (4): 21–27, JSTOR 3680150, http://www.jstor.org/stable/3680150 
  8. ^ Serra, Xavier (1989), “A System for Sound Analysis/Transformation/Synthesis based on a Deterministic plus Stochastic Decomposition”, PhD thesis (Stanford University): p. 12, CiteSeerx: 10.1.1.76.2306 
  9. ^ Mary Bellis, Who Invented Auto-Tune?, Harold Hildebrand aka Dr Andy Hildebrand Invented Auto-Tune, About.com, 2014年7月26日閲覧.
  10. ^ Joe Diaz, The Fate of Auto-Tune, マサチューセッツ工科大学, 2009.

参考文献

  • Dudley, Homer (1939), “The vocoder”, Bell Labs Record 17: 122–126 

外部リンク

英語版ウィキブックスに本記事に関連した解説書・教科書があります。
フェーズボコーダとエンコーダ
  • The Phase Vocoder: A Tutorial, http://www.panix.com/~jens/pvoc-dolson.par  (英語) — フェーズボコーダに関するチュートリアル
  • New Phase-Vocoder Techniques for Pitch-Shifting, Harmonizing and Other Exotic Effects, http://www.ee.columbia.edu/~dpwe/papers/LaroD99-pvoc.pdf  (英語) — [ピッチシフト、ハーモナイジング、その他のエキゾティックなエフェクトのための新しいフェーズボコーダ・テクニック]
  • “Phase Vocoder”, Guitar Pitch Shifter, http://www.guitarpitchshifter.com/algorithm.html#33  (英語) — フェーズボコーダの解説(図・式入り)
ソフトウェア
  • AwesomeBox, https://web.archive.org/web/20110709004823/http://decabear.com/awesomebox.html  (英語) — オープンソースのピッチ修正ソフト


モデル / 手法
エンジン
商用
  • AquesTalk
  • AITalk
  • ReadSpeaker
  • FineSpeech
  • RECAIUS
  • RubyTalk
  • VoiceOperator
  • CereProc(英語版)
  • IVONA(英語版)
  • Microsoft text-to-speech voices(英語版)
  • PlainTalk(英語版)
  • Syllaflow
  • Seiren Voice
フリー
  • eSpeak(英語版)
  • Gnuspeech(英語版)
  • Festival Speech Synthesis System(英語版)
  • Open JTalk
非OSS
  • MBROLA(英語版)
システム / API
商 用
フリー
  • FreeTTS(英語版)
ハードウェア
歴史的
  • DECtalk(英語版)
  • Pattern playback(英語版)
  • The Voder(英語版)
  • Wolfgang von Kempelen's speaking machine(英語版)
LSI
  • GI SP0256(英語版)
  • TI LPC Speech Chips(英語版)
娯楽
応用ソフトウェア
商用
  • VOICEROID
  • CeVIO
  • Megpoid Talk
  • A.I.VOICE
  • ボイスソムリエ
  • AOLbyPhone(英語版)
  • DialogOS(英語版)
  • Dr. Sbaitso(英語版)
  • Microsoft Agent(英語版)
  • Microsoft Narrator(英語版)
  • Voice font(英語版)
  • VOICEPEAK
フリー
サイト
アクセシビリティ
  • RIAS(英語版)
  • Silent speech interface(英語版)
  • Speech-generating device(英語版)
  • Spoken Web(英語版)
  • TuVox(英語版)
スクリーン
リーダー
(リスト)
商用
フリー
ハード
Self-voicing
商用
  • WordQ+SpeakQ(英語版)
フリー
  • Emacspeak(英語版)
音声ブラウザ
商用
ブラウザ拡張
フリー
  • Fire Vox(英語版)
  • Text to Voice(英語版)
サイト拡張
商用
  • BrowseAloud(英語版)
  • Readspeaker(英語版)
ボーカルシンセ
商用
フリー
シェア
非OSS
  • MBROLA(英語版)
ハード
応用
  • ぼかりす
サイト
サービス・サイト
  • Odiogo(英語版)
  • Quack.com(英語版)
プロトコル
開発者・研究者
  • Catherine Browman(英語版)
  • Franklin Seaney Cooper(英語版)
  • Gunnar Fant(英語版)
  • Haskins Laboratories(英語版)
  • ヴォルフガング・フォン・ケンペレン
  • Ignatius Mattingly(英語版)
  • Philip Rubin(英語版)
  • CereProc(英語版)
  • IVONA(英語版)
  • VoiceWeb(英語版)
  • ヤマハ
関連分野
カテゴリ カテゴリ