Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
WaveNetを用いた声質変換の実装
Search
Sota Ichikawa
January 16, 2020
Programming
0
800
WaveNetを用いた声質変換の実装
CNN音声合成器WaveNetを用いて声質変換(ボイチェン)を実装する試み。
筑波大学 情報特別演習 最終発表会
Sota Ichikawa
January 16, 2020
Tweet
Share
More Decks by Sota Ichikawa
See All by Sota Ichikawa
遭難者を救うために学内Mapを作った話
siy1121
0
97
Other Decks in Programming
See All in Programming
20250628_非エンジニアがバイブコーディングしてみた
ponponmikankan
0
300
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
190
GoのGenericsによるslice操作との付き合い方
syumai
3
680
XSLTで作るBrainfuck処理系
makki_d
0
210
VS Code Update for GitHub Copilot
74th
1
260
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
3
300
Benchmark
sysong
0
250
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
44
29k
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
250
プロダクト志向なエンジニアがもう一歩先の価値を目指すために意識したこと
nealle
0
100
Team operations that are not burdened by SRE
kazatohiei
1
140
今ならAmazon ECSのサービス間通信をどう選ぶか / Selection of ECS Interservice Communication 2025
tkikuc
16
3k
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
The Language of Interfaces
destraynor
158
25k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Fireside Chat
paigeccino
37
3.5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
790
Visualization
eitanlees
146
16k
Practical Orchestrator
shlominoach
188
11k
Optimizing for Happiness
mojombo
379
70k
Scaling GitHub
holman
459
140k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Transcript
WaveNetを用いた声質変換の実装 2020/1/16 筑波大学 情報特別演習最終発表会 情報科学類2年 市川創大 1
話すこと 2 1. 人の声がでるしくみ 2. 声質変換の概要 3. 声質変換の実装
人の声が出るしくみ 1 3
人間の声が出るプロセス 1. 空気が声帯を通り音が鳴る 2. 音が声道を通って出てくる 声帯が発生させたただの音が 声道を通ると人間の話し声になる ただのブザー音 声帯 声道
あ 4
ただの音が人の話し声になる 1. 音が声道を通ると共鳴する(その人らしさが出る) 2. 口の形で共鳴の仕方が変わる(発話内容が決定する) ただのブザー音 声帯 声道 あ 5
声はいくつかのパラメータに分解できる ・基本周波数 Fundamental frequency (f0) 声の高さ ・声道のスペクトル包絡 声道の音響特性(発話内容やその人らしさ)を表す ・非周期性 有声音・無声音(声帯がふるえているかどうか)を表す
声質変換(ボイチェン)は これらのパラメータを変化させることで実現できる 6
声質変換の概要 2 7
声質変換とは Aさんの声をBさんの声に変換する技術 Aさんの声 Bさんの声 変換 8
声質変換の流れ Aさんの声 基本周波数 スペクトル 包絡 非周期性 特性 変換後の 声 パラメータ
操作 音響特徴量 抽出 合成 黄色枠のブロックを何で実装するか 9
手段1 統計的処理 (夏休みまで) 基本周波数 スペクトル 包絡 非周期性 特性 変換後の 声 パラメータ 操作
(GMM) 音響特徴量 抽出 (World) 合成 (World) 混合正規分布モデル(GMM)を用いてパラメータ操作を表現する 10 Aさんの声
手段2-1 ニューラルネットワーク 基本周波数 スペクトル 包絡 非周期性 特性 変換後の 声 パラメータ 操作
(ニューラル ネット) 音響特徴量 抽出 (World) 合成 (World) パラメータ操作をニューラルネットに行ってもらう 11 Aさんの声
手段2-2 ニューラルネットワーク 基本周波数 スペクトル 包絡 非周期性 特性 変換後の 声 パラメータ 操作
(ニューラル ネット) 音響特徴量 抽出 (World) 合成 (World) パラメータ操作から声の合成まで全てニューラルネットに行ってもらう パラメータ 操作 + 合成 (ニューラルネット) 12 Aさんの声
ニューラルネットワークの選択 WaveNet Google Assistantなどで使用されている音声合成器 畳み込み・残差モデリング 合成された声 WaveNet 入力 (文字など)
声B WaveNet 入力 (声A) 13 [WaveNet: A Generative Model for Raw Audio] (https://deepmind.com/blog/wavenet-generative-model-raw-audio/)
声質変換の実装 3 14
環境 言語:Python 3.6 特徴量抽出:world, sptk, librosa DTW実装:dtw 学習フレームワーク:Chainer 15
データセットの準備 JVS (Japanese versatile speech) corpus 違う人が同じ内容を話しているものを使う あ い う
え あ い う え A B DTW(動的時間伸縮法)で タイミングを合わせる 16
学習プロセス 入力をAの音響特徴量、出力をBの音声として学習 μ-lawで圧縮した Bの音声 (8bit256段階) Aの音声の 音響特徴量 WaveNet 256種類の分類問題 t
17 5~10秒の音声ファイル100個から 無作為に0.3秒の音声500個を抽出した
結果 学習が進むにつれて 発話内容が不明瞭になってしまった mini batch size:2 ResNetの数:4 ResNet内のレイヤー数:10 出力チャンネル数:256 最適化手法:MomentumSGD
18 教師音声 生成音声
考察 音響特徴量の補完に問題がある WaveNetはサンプル単位で入出力を行う 1サンプルに対して1特徴量にする必要があ る 別の種類の特徴量を全て同じ方法で補完し ている f0 mcep ap
抽出 補完 1フレーム=10ms f0 mcep ap 19
今後の展望 ・複数特徴量の補完を一括で行わず、それぞれ最適な補完を行う ・特徴量に変換せずAの音声からBの音声にダイレクトに変換する ・高速化されたFast WaveNetを実装する 20
ご清聴ありがとうございました 21