SlideShare uma empresa Scribd logo
1 de 17
『FFTライブラリを対象とした実時間Vocoderの速度比較』音響学会2021秋 Web公開版
FFTライブラリを対象とした
実時間Vocoderの速度比較
☆堀部貴紀 (REALITY/明治大), △橋本順之 (グリー),
△白井暁彦 (REALITY), 森勢将雅 (明治大)
『FFTライブラリを対象とした実時間Vocoderの速度比較』音響学会2021秋 Web公開版
● 音声分析合成方式WORLDを用いたリアルタイム声質変換処理の検討
● 高速フーリエ変換 (以下, FFT)関数の大浦 FFT (以下, ooura)に注目
背景:iOSデバイスやサーバで
リアルタイム声質変換処理の検討
2
iOSデバイス/配信サービスにおける
サーバで実現したい
専用のハードウェアやソフトウェア
が必要
【配信でボイスチェンジャーを利用する】
『FFTライブラリを対象とした実時間Vocoderの速度比較』音響学会2021秋 Web公開版
目的:実行環境と各環境に提供されている
FFT関数における速度比較
3
ooura WORLDで採用
FFTW3 オープンソース
Accelerate Apple 提供 大規模な数学的計算や画像処理を
高性能かつ低消費電力に最適化
Math Kernel Library
(MKL)
Intel 提供 演算コストの高いワークロードを
高速化する命令セットAVX512を利用
『FFTライブラリを対象とした実時間Vocoderの速度比較』音響学会2021秋 Web公開版
実装例:「転生こえうらない」のボイスチェンジャー処理
4
基本周波数推定 /
DIO,StoneMask
スペクトル包絡推定 /
CheapTrick
非周期性指標推定 / D4C
パラメータ加工
音声合成 / Synthesis2
音声分析
音声合成
サーバ版 vs モバイル版の比較
● iOSデバイスによる検証
○ ラップする形でSwiftによる実装
● PCやサーバによる検証
○ Core i7/Xeon向けの実装
● 検証対象と方針
FFT:fft_execute()
○ コンパイル方法を変更
○ コードのみを置き換え
→ 並列化などのコード改編
を行わない
『FFTライブラリを対象とした実時間Vocoderの速度比較』音響学会2021秋 Web公開版
実験環境:プロセッサとコンパイラで比較
5
● 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
コンパイラ コンパイラオプション
gcc-9.3 -O3 -march=native -mtune=native
Intel oneAPI
DPC++ Compiler 2021.2.0
-O3 -march=native -mtune=native -parallel
-par-threshold0
PCとサーバ向けコンパイラ設定
『FFTライブラリを対象とした実時間Vocoderの速度比較』音響学会2021秋 Web公開版
実験方法
6
1. 周波数の変化によるRTF
○ {100, 200, 300, 400, 500, 600, 700, 800}[Hz]の正弦波
2. 標本化周波数の変化によるRTF
○ {16, 24, 48}[kHz]に設定された125, 250 Hzの正弦波
→ 各実験環境において100回試行
○ 計測された平均処理時間に対する
Real Time Factorを用いて評価
*RTF: Real Time Factor (RTF<1の時に処理対象の音源に対して実時間処理が可能となる)
『FFTライブラリを対象とした実時間Vocoderの速度比較』音響学会2021秋 Web公開版
Synthesis2()におけるFFTに対するCPU使用率
gcc環境におけるoouraを使った場合のCPU FlameGraph
Synthesis2におけるfft_execute()は全体の59%
⇨ FFTは高速化への寄与率が高いことを可視化できている
要した処理時間
の割合
スタックに応
じて積み上げ
『FFTライブラリを対象とした実時間Vocoderの速度比較』音響学会2021秋 Web公開版
結果1:周波数が100Hzごと異なる音源を用いた
各環境におけるRTF比較
8
⇨ oouraから各環境で最適なFFT関数に置き換えることで高速化できる
『FFTライブラリを対象とした実時間Vocoderの速度比較』音響学会2021秋 Web公開版
結果1:周波数が100Hzごと異なる音源を用いた
各環境におけるRTF比較
9
WORLDのF0推定範囲(上限):800 Hz → 無声音として処理された
constantnumbers.h#L22
『FFTライブラリを対象とした実時間Vocoderの速度比較』音響学会2021秋 Web公開版
結果1:PC, サーバ向けCPUの比較
10
● PC向けCPU < サーバ向けCPU
○ シングルスレッドを重視, Turbo Boost により一時的なCPU周波数が高い
● 8124Mと8275CLの比較
○ TurboBoostが考慮されず、CPU周波数の差が見られなかった
『FFTライブラリを対象とした実時間Vocoderの速度比較』音響学会2021秋 Web公開版
結果1:FFTW3の比較 (AVX512 vs OS)
11
● CPUの仕組み
SIMDを使う際にClockの周波数の切
り替えを動的に行う
● AVX512の効果は見られない原因
○ 周波数の低下
○ 切り替えのオーバーヘッド
(注) FW3: FFTW3 OS付属
FW3A: FFTW3 AVX512
『FFTライブラリを対象とした実時間Vocoderの速度比較』音響学会2021秋 Web公開版
結果1:コンパイルオプションによる比較
12
● 自動並列化オプションによる比較
○ シングルコアに強制した場合
→ 僅かながら速い
○ 自動並列化が有効化された場合
→ オーバーヘッドの発生
コンパイラ コンパイラオプション
gcc-9.3 -O3 -march=native -mtune=native
Intel oneAPI -O3 -march=native -mtune=native -parallel -
par-threshold0
PCとサーバ向けコンパイラ設定 (再掲)
(注) PP0: -parallel-par-threshold0
NP: Non-parallel
『FFTライブラリを対象とした実時間Vocoderの速度比較』音響学会2021秋 Web公開版
結果2: 標本化周波数の変化によるRTF
13
iOSデバイス環境における各ステップRTF
FFTライブラリ: (上)ooura, (下)Accelerate
関数名 FFT呼び出し回数 (回)
DIO 14
StoneMask 400
CheapTrick 603
D4C 1400 (16 kHz)
1800 (24 kHz)
2200 (48 kHz)
Synthesis2 865
表:WORLDを用いたボイスチェンジャー処理での
125 Hz, 1秒の信号音におけるFFT呼び出し回数
⇨ [Accelerate] 安定な声質変換処理への期待
『FFTライブラリを対象とした実時間Vocoderの速度比較』音響学会2021秋 Web公開版
発表まとめ:WORLDのFFT関数に注目し,
特徴的な複数の環境において速度比較した
14
【速度比較】
● RTF:MKL<FFTW3<Accelerate<ooura
● oouraをFFTW3や各環境に最適化されたFFTに
置き換えて得られる効果は十分にある
【コスト面】
● サーバ:CPU 時間に対してコストが発生する
● iOS デバイス:サービス提供者のコストは発生しない
→ サーバ側変換の通信経路や総合的な可搬性とともに考慮する
と,Accelerate Frameworkを用いて変換処理を行うことも十分に実用的
『FFTライブラリを対象とした実時間Vocoderの速度比較』音響学会2021秋 Web公開版 15
【実用上】
● 多様な発話による周波数の変動から発生するオーバーヘッドを考慮
● 総合的な高速化を期待
○ 描画や通信,インタラクション
○ CPUのマルチスレッド化や並列処理化を検討
● 5G通信網のような高速低遅延で環境においても,
アルゴリズムの互換性とともに柔軟な設計を行うための
データを取得できた
発表まとめ:WORLDのFFT関数に注目し,
特徴的な複数の環境において速度比較した
『FFTライブラリを対象とした実時間Vocoderの速度比較』音響学会2021秋 Web公開版
追記:リアルタイム声質変換処理に向けた速度比較
「FFTライブラリを対象とした実時間Vocoderの速度比較」
RTF最速は(チャンピオンデータ的には)
PC環境における oneAPI-MKL が最速。
○ iPhoneXS MaxでのiOS-oouraを基準とすると,
約8.41倍から12.80倍の高速化を期待できる
ただし通信とCPUコスト面も考えるとiOSも効果大きい。
少なくともWORLDのFFT3化は有為。
(ライセンスが異なるので実用上はご確認ください)
『FFTライブラリを対象とした実時間Vocoderの速度比較』音響学会2021秋 Web公開版
[追記]音響学会でいただいた質疑応答
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

Mais conteúdo relacionado

Mais de GREE VR Studio Lab

VTuber・XRライブエンタメ駆動の研究開発 - GREE VR Studio Laboratory のR2D #GREETC
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 Laboratory 「XR-UX Devプロジェクト」の成果紹介 #GREETC (2021/Nov/11)GREE VR Studio Lab
 
VR Entertainment goes to XR metaverse
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メタバース時代における触覚の役割について
20211004 XRメタバース時代における触覚の役割についてGREE VR Studio Lab
 
第26回VR学会大会 企業セッション-メタバース panel talk
第26回VR学会大会 企業セッション-メタバース panel talk第26回VR学会大会 企業セッション-メタバース panel talk
第26回VR学会大会 企業セッション-メタバース panel talkGREE VR Studio Lab
 
「転声こえうらない」を通したボイスチェンジャー品質改善のための定性分析と考察
「転声こえうらない」を通したボイスチェンジャー品質改善のための定性分析と考察「転声こえうらない」を通したボイスチェンジャー品質改善のための定性分析と考察
「転声こえうらない」を通したボイスチェンジャー品質改善のための定性分析と考察GREE VR Studio Lab
 
VibeShare: Vote -オンラインでの出演者と観客の非言語コミュニケーションの実現-
VibeShare: Vote -オンラインでの出演者と観客の非言語コミュニケーションの実現-VibeShare: Vote -オンラインでの出演者と観客の非言語コミュニケーションの実現-
VibeShare: Vote -オンラインでの出演者と観客の非言語コミュニケーションの実現-GREE VR Studio Lab
 
#XRKaigi 「Mozilla Hubsを用いたバーチャルイベントのWebVR化~その可能性と実際~」[20201208] #VRStudioLab
#XRKaigi 「Mozilla Hubsを用いたバーチャルイベントのWebVR化~その可能性と実際~」[20201208] #VRStudioLab#XRKaigi 「Mozilla Hubsを用いたバーチャルイベントのWebVR化~その可能性と実際~」[20201208] #VRStudioLab
#XRKaigi 「Mozilla Hubsを用いたバーチャルイベントのWebVR化~その可能性と実際~」[20201208] #VRStudioLabGREE VR Studio Lab
 
VIRTUAL BEINGS WORLD “NEW PLAY TOGETHER” - SIGGRAPH 2020 BoF
VIRTUAL BEINGS WORLD “NEW PLAY TOGETHER” - SIGGRAPH 2020 BoFVIRTUAL BEINGS WORLD “NEW PLAY TOGETHER” - SIGGRAPH 2020 BoF
VIRTUAL BEINGS WORLD “NEW PLAY TOGETHER” - SIGGRAPH 2020 BoFGREE VR Studio Lab
 
VRSJ2020「交流型WebVRにおける空間音響のオンライン評価手法」
VRSJ2020「交流型WebVRにおける空間音響のオンライン評価手法」VRSJ2020「交流型WebVRにおける空間音響のオンライン評価手法」
VRSJ2020「交流型WebVRにおける空間音響のオンライン評価手法」GREE VR Studio Lab
 
VRSionUp!7-Spokeを使ったイベント設営TIPS
VRSionUp!7-Spokeを使ったイベント設営TIPSVRSionUp!7-Spokeを使ったイベント設営TIPS
VRSionUp!7-Spokeを使ったイベント設営TIPSGREE VR Studio Lab
 
VRSionUp7 Hubsイベント運営に便利なロール機能
VRSionUp7 Hubsイベント運営に便利なロール機能VRSionUp7 Hubsイベント運営に便利なロール機能
VRSionUp7 Hubsイベント運営に便利なロール機能GREE VR Studio Lab
 
Hubs Cloud研究-公開リポジトリを中心に-
Hubs Cloud研究-公開リポジトリを中心に-Hubs Cloud研究-公開リポジトリを中心に-
Hubs Cloud研究-公開リポジトリを中心に-GREE VR Studio Lab
 
『転声こえうらない』利用者の基本周波数分析 full version
『転声こえうらない』利用者の基本周波数分析 full version『転声こえうらない』利用者の基本周波数分析 full version
『転声こえうらない』利用者の基本周波数分析 full versionGREE VR Studio Lab
 
Mozilla Hubsが拓く新世代WebVRのススメ #HubsScrum
Mozilla Hubsが拓く新世代WebVRのススメ #HubsScrumMozilla Hubsが拓く新世代WebVRのススメ #HubsScrum
Mozilla Hubsが拓く新世代WebVRのススメ #HubsScrumGREE VR Studio Lab
 
20191128 近未来教育フォーラム2019公開版
20191128 近未来教育フォーラム2019公開版20191128 近未来教育フォーラム2019公開版
20191128 近未来教育フォーラム2019公開版GREE VR Studio Lab
 
ACM SIGGRAPH2019 ロサンゼルスの歩き方増補版 - TokyoACM SIGGRAPH 20190719
ACM SIGGRAPH2019 ロサンゼルスの歩き方増補版 - TokyoACM SIGGRAPH 20190719ACM SIGGRAPH2019 ロサンゼルスの歩き方増補版 - TokyoACM SIGGRAPH 20190719
ACM SIGGRAPH2019 ロサンゼルスの歩き方増補版 - TokyoACM SIGGRAPH 20190719GREE VR Studio Lab
 
#VRSionUp!6 特集「先端ボイチェン研究」Slideshare公開版
#VRSionUp!6 特集「先端ボイチェン研究」Slideshare公開版#VRSionUp!6 特集「先端ボイチェン研究」Slideshare公開版
#VRSionUp!6 特集「先端ボイチェン研究」Slideshare公開版GREE VR Studio Lab
 
#CCSE2019 GREE VR Studio Lab 「VTuber向け特殊表情コントローラの可能性と機械学習的アプローチ」(速公開版)
#CCSE2019 GREE VR Studio Lab 「VTuber向け特殊表情コントローラの可能性と機械学習的アプローチ」(速公開版)#CCSE2019 GREE VR Studio Lab 「VTuber向け特殊表情コントローラの可能性と機械学習的アプローチ」(速公開版)
#CCSE2019 GREE VR Studio Lab 「VTuber向け特殊表情コントローラの可能性と機械学習的アプローチ」(速公開版)GREE VR Studio Lab
 

Mais de GREE VR Studio Lab (20)

VTuber・XRライブエンタメ駆動の研究開発 - GREE VR Studio Laboratory のR2D #GREETC
VTuber・XRライブエンタメ駆動の研究開発 - GREE VR Studio Laboratory のR2D #GREETCVTuber・XRライブエンタメ駆動の研究開発 - GREE VR Studio Laboratory のR2D #GREETC
VTuber・XRライブエンタメ駆動の研究開発 - GREE VR Studio Laboratory のR2D #GREETC
 
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 Laboratory 「XR-UX Devプロジェクト」の成果紹介 #GREETC (2021/Nov/11)
 
VR Entertainment goes to XR metaverse
VR Entertainment goes to XR metaverseVR Entertainment goes to XR metaverse
VR Entertainment goes to XR metaverse
 
20211004 XRメタバース時代における触覚の役割について
20211004 XRメタバース時代における触覚の役割について20211004 XRメタバース時代における触覚の役割について
20211004 XRメタバース時代における触覚の役割について
 
第26回VR学会大会 企業セッション-メタバース panel talk
第26回VR学会大会 企業セッション-メタバース panel talk第26回VR学会大会 企業セッション-メタバース panel talk
第26回VR学会大会 企業セッション-メタバース panel talk
 
「転声こえうらない」を通したボイスチェンジャー品質改善のための定性分析と考察
「転声こえうらない」を通したボイスチェンジャー品質改善のための定性分析と考察「転声こえうらない」を通したボイスチェンジャー品質改善のための定性分析と考察
「転声こえうらない」を通したボイスチェンジャー品質改善のための定性分析と考察
 
VibeShare: Vote -オンラインでの出演者と観客の非言語コミュニケーションの実現-
VibeShare: Vote -オンラインでの出演者と観客の非言語コミュニケーションの実現-VibeShare: Vote -オンラインでの出演者と観客の非言語コミュニケーションの実現-
VibeShare: Vote -オンラインでの出演者と観客の非言語コミュニケーションの実現-
 
#XRKaigi 「Mozilla Hubsを用いたバーチャルイベントのWebVR化~その可能性と実際~」[20201208] #VRStudioLab
#XRKaigi 「Mozilla Hubsを用いたバーチャルイベントのWebVR化~その可能性と実際~」[20201208] #VRStudioLab#XRKaigi 「Mozilla Hubsを用いたバーチャルイベントのWebVR化~その可能性と実際~」[20201208] #VRStudioLab
#XRKaigi 「Mozilla Hubsを用いたバーチャルイベントのWebVR化~その可能性と実際~」[20201208] #VRStudioLab
 
VIRTUAL BEINGS WORLD “NEW PLAY TOGETHER” - SIGGRAPH 2020 BoF
VIRTUAL BEINGS WORLD “NEW PLAY TOGETHER” - SIGGRAPH 2020 BoFVIRTUAL BEINGS WORLD “NEW PLAY TOGETHER” - SIGGRAPH 2020 BoF
VIRTUAL BEINGS WORLD “NEW PLAY TOGETHER” - SIGGRAPH 2020 BoF
 
VRSJ2020「交流型WebVRにおける空間音響のオンライン評価手法」
VRSJ2020「交流型WebVRにおける空間音響のオンライン評価手法」VRSJ2020「交流型WebVRにおける空間音響のオンライン評価手法」
VRSJ2020「交流型WebVRにおける空間音響のオンライン評価手法」
 
VRSionUp!7-Spokeを使ったイベント設営TIPS
VRSionUp!7-Spokeを使ったイベント設営TIPSVRSionUp!7-Spokeを使ったイベント設営TIPS
VRSionUp!7-Spokeを使ったイベント設営TIPS
 
VRSionUp7 Hubsイベント運営に便利なロール機能
VRSionUp7 Hubsイベント運営に便利なロール機能VRSionUp7 Hubsイベント運営に便利なロール機能
VRSionUp7 Hubsイベント運営に便利なロール機能
 
#VRSionUp!7 "Hubs Study"
#VRSionUp!7 "Hubs Study"#VRSionUp!7 "Hubs Study"
#VRSionUp!7 "Hubs Study"
 
Hubs Cloud研究-公開リポジトリを中心に-
Hubs Cloud研究-公開リポジトリを中心に-Hubs Cloud研究-公開リポジトリを中心に-
Hubs Cloud研究-公開リポジトリを中心に-
 
『転声こえうらない』利用者の基本周波数分析 full version
『転声こえうらない』利用者の基本周波数分析 full version『転声こえうらない』利用者の基本周波数分析 full version
『転声こえうらない』利用者の基本周波数分析 full version
 
Mozilla Hubsが拓く新世代WebVRのススメ #HubsScrum
Mozilla Hubsが拓く新世代WebVRのススメ #HubsScrumMozilla Hubsが拓く新世代WebVRのススメ #HubsScrum
Mozilla Hubsが拓く新世代WebVRのススメ #HubsScrum
 
20191128 近未来教育フォーラム2019公開版
20191128 近未来教育フォーラム2019公開版20191128 近未来教育フォーラム2019公開版
20191128 近未来教育フォーラム2019公開版
 
ACM SIGGRAPH2019 ロサンゼルスの歩き方増補版 - TokyoACM SIGGRAPH 20190719
ACM SIGGRAPH2019 ロサンゼルスの歩き方増補版 - TokyoACM SIGGRAPH 20190719ACM SIGGRAPH2019 ロサンゼルスの歩き方増補版 - TokyoACM SIGGRAPH 20190719
ACM SIGGRAPH2019 ロサンゼルスの歩き方増補版 - TokyoACM SIGGRAPH 20190719
 
#VRSionUp!6 特集「先端ボイチェン研究」Slideshare公開版
#VRSionUp!6 特集「先端ボイチェン研究」Slideshare公開版#VRSionUp!6 特集「先端ボイチェン研究」Slideshare公開版
#VRSionUp!6 特集「先端ボイチェン研究」Slideshare公開版
 
#CCSE2019 GREE VR Studio Lab 「VTuber向け特殊表情コントローラの可能性と機械学習的アプローチ」(速公開版)
#CCSE2019 GREE VR Studio Lab 「VTuber向け特殊表情コントローラの可能性と機械学習的アプローチ」(速公開版)#CCSE2019 GREE VR Studio Lab 「VTuber向け特殊表情コントローラの可能性と機械学習的アプローチ」(速公開版)
#CCSE2019 GREE VR Studio Lab 「VTuber向け特殊表情コントローラの可能性と機械学習的アプローチ」(速公開版)
 

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

Notas do Editor

  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