FFTライブラリを対象とした実時間Vocoderの速度比較 #ASJ2021a

GREE VR Studio Lab
Sep. 17, 2021
FFTライブラリを対象とした実時間Vocoderの速度比較 #ASJ2021a
FFTライブラリを対象とした実時間Vocoderの速度比較 #ASJ2021a
FFTライブラリを対象とした実時間Vocoderの速度比較 #ASJ2021a
FFTライブラリを対象とした実時間Vocoderの速度比較 #ASJ2021a
FFTライブラリを対象とした実時間Vocoderの速度比較 #ASJ2021a
FFTライブラリを対象とした実時間Vocoderの速度比較 #ASJ2021a
FFTライブラリを対象とした実時間Vocoderの速度比較 #ASJ2021a
FFTライブラリを対象とした実時間Vocoderの速度比較 #ASJ2021a
FFTライブラリを対象とした実時間Vocoderの速度比較 #ASJ2021a
FFTライブラリを対象とした実時間Vocoderの速度比較 #ASJ2021a
FFTライブラリを対象とした実時間Vocoderの速度比較 #ASJ2021a
FFTライブラリを対象とした実時間Vocoderの速度比較 #ASJ2021a
FFTライブラリを対象とした実時間Vocoderの速度比較 #ASJ2021a
FFTライブラリを対象とした実時間Vocoderの速度比較 #ASJ2021a
FFTライブラリを対象とした実時間Vocoderの速度比較 #ASJ2021a
FFTライブラリを対象とした実時間Vocoderの速度比較 #ASJ2021a
FFTライブラリを対象とした実時間Vocoderの速度比較 #ASJ2021a
1 of 17

More Related Content

More from GREE VR Studio Lab

VTuber・XRライブエンタメ駆動の研究開発 - GREE VR Studio Laboratory のR2D #GREETCVTuber・XRライブエンタメ駆動の研究開発 - GREE VR Studio Laboratory のR2D #GREETC
VTuber・XRライブエンタメ駆動の研究開発 - GREE VR Studio Laboratory のR2D #GREETCGREE VR Studio Lab
GREE VR Studio Laboratory 「XR-UX Devプロジェクト」の成果紹介 #GREETC (2021/Nov/11)GREE VR Studio Laboratory 「XR-UX Devプロジェクト」の成果紹介 #GREETC (2021/Nov/11)
GREE VR Studio Laboratory 「XR-UX Devプロジェクト」の成果紹介 #GREETC (2021/Nov/11)GREE VR Studio Lab
VR Entertainment goes to XR metaverseVR Entertainment goes to XR metaverse
VR Entertainment goes to XR metaverseGREE VR Studio Lab
20211004 XRメタバース時代における触覚の役割について20211004 XRメタバース時代における触覚の役割について
20211004 XRメタバース時代における触覚の役割についてGREE VR Studio Lab
第26回VR学会大会 企業セッション-メタバース panel talk第26回VR学会大会 企業セッション-メタバース panel talk
第26回VR学会大会 企業セッション-メタバース panel talkGREE VR Studio Lab
「転声こえうらない」を通したボイスチェンジャー品質改善のための定性分析と考察「転声こえうらない」を通したボイスチェンジャー品質改善のための定性分析と考察
「転声こえうらない」を通したボイスチェンジャー品質改善のための定性分析と考察GREE VR Studio Lab

More from GREE VR Studio Lab(20)

FFTライブラリを対象とした実時間Vocoderの速度比較 #ASJ2021a

Editor's Notes

  1. WORLD で使用されている高速フーリエ変換(以下, FFT)関数の大浦 FFT [5](以下,ooura)に注目した. ooura と オープンソース化されたFFTライブラリの中でスタンダードに用いられる FFTW3 [6] Apple が提供している大規模な数学的計算や画像処理を高性能かつ低消費電力に最適化して行う Accelerate Framework [7] (以下,Accelerate) Intel が提供している演算コストの高いワークロードを高速化する命令セット AVX512 を利用した Math Kernel Library (以下,MKL)のように
  2. これらの要因を特定し、音声変換サービスの改善を目指すには、 声優や音声データベースなどの収録環境の定められたものではなく、実際の利用者の自由な発話に対して分析する必要があります。 本研究では、Webブラウザだけで利用できる無料のボイスチェンジャーサービスの開発と公開実験を通じて、 不特定多数の利用者による収録音声をサーバに保存し、統計解析ができるようにしました。 今回使用したサービス「転声こえうらない」は GREE VRStudioが提供している Webブラウザのみで利用できる無料ボイチェンジャーサービスです。 変換した音声はTwitterでシェアすることができます。 なりたい声のタイプは、左の図にある13種類です。 13種類のタイプに変換できることによって、タイプに応じて声質が劣化しやすいか計測できるようになります。 声のタイプに対応した、声の高さとフォルマントからなるプリセットを使用し、 WebAudio経由で保存した10秒間の音声をボコーダーに渡してサーバ上で変換します。 「転声こえうらない」 https://vr.gree.net/lab/vc この図は「転生こえうらない」におけるボイスチェンジャー処理をWORLD内での関数で表現したものです WORLDを用いたボイスチェンジャー処理の一例として理解していただければ幸いです。 サーバ版 vs モバイル版の比較 iOSデバイスによる検証 ラップする形でSwiftによる実装 PCやサーバによる検証 Core i7/Xeon向けの実装 検証対象と方針 FFT:fft_execute() コンパイル方法を変更 コードのみを置き換え → 並列化などのコード改編を行わない
  3. 実験環境:プロセッサとコンパイラで比較 PC (Ubuntu20.04(WSL2)) Intel Core(TM) i7-10750H CPU@2.60 GHz Amazon Elastic Computing (c5.4xlarge, Ubuntu20.04) Intel Xeon Platinum 8124M 及び 8275CL CPU@3.00 GHz 8275CL:新しい世代/CPU動作周波数が高い iPhone XSMax (iOS) A12 Bionic PCとサーバ向けコンパイラ設定
  4. 実験方法 周波数の変化によるRTF {100, 200, 300, 400, 500, 600, 700, 800}[Hz]の正弦波 標本化周波数の変化によるRTF {16, 24, 48}[kHz]に設定された125, 250 Hzの正弦波 → 各実験環境において100回試行 計測された平均処理時間に対する Real Time Factorを用いて評価 *RTF: Real Time Factor (RTF<1の時に処理対象の音源に対して実時間処理が可能となる)
  5. Synthesis2()におけるFFTに対するCPU使用率 gcc環境におけるoouraを使った場合のCPU FlameGraph Synthesis2におけるfft_execute()は全体の59% ⇨ FFTは高速化への寄与率が高いことを可視化できている
  6. 結果1:周波数が100Hzごと異なる音源を用いた各環境におけるRTF比較 ⇨ oouraから各環境で最適なFFT関数に置き換えることで高速化できる
  7. 結果1:周波数が100Hzごと異なる音源を用いた各環 境におけるRTF比較 WORLDのF0推定範囲(上限):800 Hz → 無声音として処理された constantnumbers.h#L22 https://github.com/mmorise/World/blob/master/src/world/constantnumbers.h#L22
  8. 結果1:PC, サーバ向けCPUの比較 PC向けCPU < サーバ向けCPU シングルスレッドを重視, Turbo Boost により一時的なCPU周波数が高い https://www.intel.co.jp/content/www/jp/ja/gaming/resources/turbo-boost.html 8124Mと8275CLの比較 TurboBoostが考慮されず、CPU周波数の差が見られなかった
  9. 結果1:FFTW3の比較 (AVX512 vs OS) CPUの仕組み SIMDを使う際にClockの周波数の切り替えを動的に行う AVX512の効果は見られない原因 周波数の低下 切り替えのオーバーヘッド (注) FW3: FFTW3 OS付属 FW3A: FFTW3 AVX512
  10. 結果1:コンパイルオプションによる比較 自動並列化オプションによる比較 シングルコアに強制した場合 → 僅かながら速い 自動並列化が有効化された場合 → オーバーヘッドの発生 (注) PP0: -parallel-par-threshold0 NP: Non-parallel
  11. 結果2:標本化周波数の変化によるRTF 表:125 Hz, 1秒の信号音におけるFFT呼び出し回数 iOSデバイス環境における各ステップRTF FFTライブラリ: (上)ooura, (下)Accelerate 表:WORLDを用いたボイスチェンジャー処理での125 Hz, 1秒の信号音におけるFFT呼び出し回数
  12. 発表まとめ:WORLDのFFT関数に注目し,特徴的な複数の環境において速度比較した 【速度比較】 RTF:MKL<FFTW3<Accelerate<ooura oouraをFFTW3や各環境に最適化されたFFTに 置き換えて得られる効果は十分にある 【コスト面】 サーバ:CPU 時間に対してコストが発生する iOS デバイス:サービス提供者のコストは発生しない サーバ側変換の通信経路や総合的な可搬性とともに考慮すると,Accelerate Frameworkを用いて変換処理を行うことも十分に実用的
  13. 発表まとめ:WORLDのFFT関数に注目し,特徴的な複数の環境において速度比較した 【実用上】 多様な発話による周波数の変動から発生するオーバーヘッドを考慮 総合的な高速化を期待 描画や通信,インタラクション CPUのマルチスレッド化や並列処理化を検討 5G通信網のような高速低遅延で環境においても, アルゴリズムの互換性とともに柔軟な設計を行うための データを取得できた
  14. 「FFTライブラリを対象とした実時間Vocoderの速度比較」 RTF最速は…PC環境における oneAPI-MKL iOS-oouraを基準とすると, 約8.41倍から12.80倍の高速化を期待できる コスト面も考えるとiOSもすごい 少なくともWORLDのFFT3化は有為。
  15. [追記]音響学会でいただいた質疑応答 Q. 大浦FFTからFFTW3などに置き換えてなぜ速くなったのか? A. FFTW3とMKLの場合、Intelが提供しているSIMD命令を使用することやIntelのコンパイラにおいて命令セットの並びなどの最適化が高速化に寄与していると推察します。 Q. ライセンスについて A. 大浦FFTはOSSでアプリ組み込みにフリーなことから使用されています(WORLD開発者 森勢先生談)。FFTW3やMKLはそれぞれライセンスが明記されていますのでそちらに従っていただければ幸いです。 Q. データパッキングをしているのか?データパッキングによる高速化は考えられるか A. Accelerate Frameworkでは独自のデータパッキングを行なっています。そのため、アプリ開発者側によるデータパッキングが高速化に寄与していると考えられます。 REALITYエンジニア ブログ参照 https://note.com/reality_eng/n/n0cd9bd157df3