「転声こえうらない」を通したボイスチェンジャー品質改善のための定性分析と考察☆堀部貴紀 (REALITY/明治大), △白井暁彦 (REALITY), 森勢将雅 (明治大)「転声こえうらない」

https://vr.gree.net/lab/vc/● ブラウザのみで利用できる
無料ボイスチェンジャーサービス● WebAudio経由で保存した10秒間の音声をボコーダーに渡してサーバ上で変換する● 声のタイプに対応したプリセット(声の高さ：pitch, 声の特徴：formant)● ユーザは同意に基づき実験に参加「『転声こえうらない』を通したボイスチェンジャー品質改善のための定性分析と考察」音響学会2021春 Web公開版 2

目的：収録時に混入する背景雑音のフィードバック
背景：いつでもどこでも「なりたい自分」になれるvocoder● 収録者のなりたい声のタイプを選ぶ（キャラクターの雰囲気で選びたい）● 気軽に利用できる部屋の環境や持ち方● スマホで収録する【満足できる品質には至らない例】● 収録者の声質の推定 [1]なりたいスタイル
外の騒音● 収録時に混入する背景雑音● キャラクターとの印象
エアコン「『転声こえうらない』を通したボイスチェンジャー品質改善のための定性分析と考察」音響学会2021春 Web公開版 3

関連研究
●

●Nisimura ら Operating A Public Spoken Guidance System In Real Environment[2]○ 公共の場で長期運用されている音声案内システム○ 子供， 大人，笑い，咳，その他に分類された学習データから5クラスの混合ガウス分布モデル (Gaussian Mixture Model: GMM) を作成○ 無効入力の85%を検出
藤田 ら 単語の頻度と音響の特徴を利用したSVMによる無効入力の棄却[3]○ 音響特徴量に加え，音声認識による Bag-of-Words (BoW) を特徴量とした
Support Vector Machine (SVM) による無効入力の棄却を検討○ GMMのみでの手法に比べ，分類誤り率を抑制することに成功⇒ ボイスチェンジャー目的の実環境で収録した音声品質を評価する事例は多くはない○○[音声コマンドと異なり] 自由な発話が多く、有意なBoWを生成しづらい[ユーザが満足できる品質] 混入したノイズを推定→ユーザに即時フィードバック✓ [成功すれば] ユーザが体感できる形で品質を改善できる可能性[1] 堀部貴紀, 石原達馬, 白井暁彦, 森勢将雅,『転声こえうらない』利用者の基本周波数分析,
研究報告音楽情報科学（MUS）, 2020-MUS-127(18), 1-6, 2020.
[2]R. Nisimura et al., Operating A Public Spoken Guidance System In Real Environment
Interspeech’ 2005, pp. 845– 848, 2005.
[3]藤田洋子 他, 単語の頻度と音響の特徴を利用したSVMによる無効入力の棄却,
情報処理学会研究報告. SLP, 音声言 語情報処理, 80, C1-C6, 2010.
4まとめ：ボイスチェンジャーのための多様なノイズ分類と高速化手法を大量のプレイヤーデータから獲得した[手法1] 非線形・線形モデルのSVMによるノイズ分類● 非線形モデルのSVMがノイズ分類に有効[手法2] 音声テキスト変換 (Speech-to-Text: STT)による評価● テキスト化された文字数の変化を客観的指標とする有効性[手法3] 手法1と手法2を組み合わせる● 手法1と手法2の処理時間を比較● リアルタイム声質変換に対する実時間フィードバックのための検討● Zoomなど快適なオンライン環境をフィードバックする手法● 利用者自身が収録環境をボイチェンに適したものに近づけられる「『転声こえうらない』を通したボイスチェンジャー品質改善のための定性分析と考察」音響学会2021春 Web公開版 5

手法1：音響信号的特徴量を学習させたSVMを複数のモデルで構築

表1：音響信号的特徴量● 音響信号的特徴量 (表1)
● Python3.7

メル周波数ケプストラム係数 (MFCC)
ΔMFCC
再生時間
信号対雑音比13次元
13次元最大10秒○ MFCC：Librosaライブラリ○ SVM：Scikit-learnライブラリ

表2：手法1で用いたモデル■ 計4種類のモデルを構築 (表2)モデル

● 教師データセットに対する誤分類率を使って自動化を試みる

線形：LinearSVC()

非線形：SVC()

One-vs-One(OvO)

Linear-OvO

NonLinear-OvO

One-vs-Rest(OvR)

Linear-OvR

NonLinear-OvR

多クラス分類6

手法1
Excellent

Web based voice transform(WORLD)

Unknown User
(recording in 10 sec)

Transformed Voice(with original)

Teaching Data Set(Evaluator)

SVM-Based Classification「『転声こえうらない』を通したボイスチェンジャー品質改善のための定性分析と考察」音響学会2021春 Web公開版 7

手法1：教師データセット構築

被験者による音声の分類結果
N=686件

割合(%)

改善不要

74.1

1. 変換後音声を聴く

変換パラメータが極端

5.8

短すぎる発話・発話なし

5.5

2. 「内容を聞き取れない/音質の改善を要する」

周期性ノイズ

2.3

発話が途切れ途切れと感じた場合は，変換前の音声を聴く
3. 主要な要因を推定し，ラベル付けする(2)において当てはまらないサンプル→「改善不要」

ボソボソ声

1.6

上記以外
波形なし (モデル学習では除外)

1.2

他者の会話

1.0

発話品質が低い

1.0

その他環境, 非周期性

0.9

空調などの音響

0.7

マイクに息が当たっている

0.6

屋外で収録

0.4

マイクなどに触れている
音楽
その他ノイズ

0.3

テレビなどの音
人工的な処理反響するような空間で収録

0.1「『転声こえうらない』を通したボイスチェンジャー品質改善のための定性分析と考察」音響学会2021春 Web公開版 8

結果1：SVMによる誤分類率
表：SVMによる誤分類率

Linear-OvO/Linear-OvR● 改善必要なサンプルを「改善不要」と分類● [利点] 学習時間がともに0.15hと短い

NonLinear-OvO/NonLinear-OvR

N=176件Linear
Non-Linear

OvO (%)
96.0
0.6

OvR (%)
93.8
0.6

被験者により19種類のノイズ要因に分類されたサンプ
ルのうち、被験者のラベル付けと異なる分類結果になったものの割合● 被験者と学習の分類が一致した⇨ノイズ分類に1番有効な結果となった● [欠点] 学習時間が12h, 23.5hと長い「『転声こえうらない』を通したボイスチェンジャー品質改善のための定性分析と考察」音響学会2021春 Web公開版 9

手法2：
音声テキスト変換 (Speech-to-Text: STT)による評価● Googleが提供しているAPIを使用
Cloud Speech-to-Text：https://cloud.google.com/speech-to-text● 評価項目：客観的「聞き取りやすさ」● 変換前後の変化を比較○ テキスト化された文字数○ 音声の各単語に割り当てられた尤度を集計し、計算された信頼度

https://cloud.google.com/speech-to-text/docs/basics#conﬁdence-values「『転声こえうらない』を通したボイスチェンジャー品質改善のための定性分析と考察」音響学会2021春 Web公開版 10

結果2-1：
音声テキスト変換 (Speech-to-Text: STT)による評価
もと音声

声質変換後劣化（ユーザーの自由な発話につき不明）「いつまで寝てるんだよ早く起きてよ」
信頼度 = 0.93

「サンタさんが早く来てよ」
信頼度 = 0.77

お題から「18歳はお酒もタバコもやれないけれど…選挙は…やれるんだぜ！」

劣化「実際お酒もタバコもやらない総選挙」
信頼度 = 0.90

「十八歳はお酒もタバコもやらない人選挙は言われるんだぜ」
信頼度 = 0.91
改善?

（ユーザーの自由な発話につき不明）「ロサンゼルスモンドバンデラス」
信頼度 = 0.86

「ローソンお盆ですベルモンドバンデラスです」
信頼度 = 0.78
お題から「認めたくないものだな、自分自身の、若さゆえ生意気な声というものは…」「認めたくないものだな自分自身の若さ故の生意気な声というものは」信頼度=0.93

文字変化無信頼度低下「認めたくないものだな自分自身の若さ故の生意気な声というものは」
信頼度 = 0.88「『転声こえうらない』を通したボイスチェンジャー品質改善のための定性分析と考察」音響学会2021春 Web公開版 11

結果2-2：
音声テキスト変換 (Speech-to-Text: STT)による評価● 文字数や信頼度の減少⇨変換過程でのノイズ増大による品質低下
影響するノイズが混入している可能性があると、分類するフィルタへの応用● 文字数の増加⇨変換過程でのノイズの変化がSTTに影響しない【今後】● STTに影響するノイズの特定⇨STT単独での品質に影響する要因のフィードバックができる可能性(注1) 判定不能：APIによりSTTが実行されなかった音声サンプル(注2) 信頼度は小数点以下2桁までで比較
12

手法3：手法1と手法2を組み合わせる
音声収録
Google Speech-To-Text API(変換前音声に対して)

音声テキスト変換・並列化可能・マイクロサービス化してAPI

音声収録
Google Speech-To-Text API

平均処理時間：1.68s

Python: Scikit-learn(変換前音声に対して)

音声テキスト変換

ノイズ分類(NonLinear-OvO)

平均処理時間：1.61s

Python: Scikit-learn

ノイズ分類(NonLinear-OvO)

声質変換処理声質変換処理(変換後音声に対して)

音声テキスト変換

文字数変化の比較

判定処理

平均処理時間：1.61s

平均処理時間：1.68s

合計 4.97sec

ユーザに情報表示※いずれのフィルタで検知した場合も品質が低く変換する必要はない(変換後音声に対して)

音声テキスト変換

文字数変化の比較「『転声こえうらない』を通したボイスチェンジャー品質改善のための定性分析と考察」音響学会2021春 Web公開版 13

結果3：手法1と手法2を組み合わせる
音声収録
Google Speech-To-Text API(変換前音声に対して)

音声テキスト変換・並列化可能・マイクロサービス化してAPI

音声収録
Google Speech-To-Text API

平均処理時間：1.68s

Python: Scikit-learn(変換前音声に対して)

音声テキスト変換

ノイズ分類(NonLinear-OvO)

平均処理時間：1.61s

Python: Scikit-learn

ノイズ分類(NonLinear-OvO)

声質変換処理声質変換処理(変換後音声に対して)

音声テキスト変換

文字数変化の比較

判定処理

平均処理時間：1.61s

平均処理時間：1.68s

合計 4.97sec

ユーザに情報表示※いずれのフィルタで検知した場合も品質が低く変換する必要はない(変換後音声に対して)

音声テキスト変換

文字数変化の比較

1.61s で判定, 即時にユーザにフィードバックを返す機能を加えて最長 3.29sec で処理可能「『転声こえうらない』を通したボイスチェンジャー品質改善のための定性分析と考察」音響学会2021春 Web公開版 14発表まとめ：「転声こえうらない」を通したボイスチェンジャー
品質改善のための定性分析と考察[手法1] 非線形・線形モデルのSVMによるノイズ分類→ 非線形モデルのSVMがノイズ分類に有効（学習時間、クラス数を絞るためにも）[手法2] 音声テキスト変換 (Speech-to-Text: STT)による評価→ テキスト化された文字数の変化を客観的指標とする（シンプル、実装が平易、学習不要）[手法3] 手法1と手法2を組み合わせる→ 1.61s で判定, 即時にユーザにフィードバックを返しつつ、最長 3.29sec で処理可能【その他】● ビデオ会議への応用（本人が気づき辛い Web会議での快適な音声品質への貢献）● 抑揚や感情などを加えたモデルへの応用「『転声こえうらない』を通したボイスチェンジャー品質改善のための定性分析と考察」音響学会2021春 Web公開版 15