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
690
WaveNetを用いた声質変換の実装
CNN音声合成器WaveNetを用いて声質変換(ボイチェン)を実装する試み。
筑波大学 情報特別演習 最終発表会
Sota Ichikawa
January 16, 2020
Tweet
Share
More Decks by Sota Ichikawa
See All by Sota Ichikawa
遭難者を救うために学内Mapを作った話
siy1121
0
85
Other Decks in Programming
See All in Programming
Random\Randomizer クラスで日常のあれこれを解決しよう! / Random\Randomizer class solves familiar trouble
cocoeyes02
0
230
VS Code をプロダクトにどう取り込むか
onomax
1
360
Micro Frontends for Java Microservices - Devnexus 2024
mraible
PRO
0
490
Milestoner
bkuhlmann
1
410
見た目から始める生産性向上
ikumatadokoro
7
830
Elm Form Validation
bkuhlmann
0
510
Code Reviews
bkuhlmann
4
890
GitHub Copilotのススメ
marcy731
1
200
CA.swift19 恋するAIアプリ開発の裏側
oskmr
0
360
Rubyでたのしむクリエイティブコーディング/Enjoy Creative coding with Ruby
chobishiba
1
180
dbtのドメイン分割による データ基盤の改善とDigdagとの連携
sakama
0
150
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
8
4k
Featured
See All Featured
Thoughts on Productivity
jonyablonski
58
3.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
17
6.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
20
1.9k
Writing Fast Ruby
sferik
621
60k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
Infographics Made Easy
chrislema
238
18k
Designing the Hi-DPI Web
ddemaree
276
33k
Gamification - CAS2011
davidbonilla
76
4.6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
116
18k
What’s in a name? Adding method to the madness
productmarketing
PRO
16
2.6k
Facilitating Awesome Meetings
lara
42
5.6k
The Language of Interfaces
destraynor
151
23k
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