Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DNNベース音声分離の実施報告
Search
takeshun
December 23, 2022
Programming
0
1.2k
DNNベース音声分離の実施報告
2022年9月にDLHacksで発表した資料です。
音声分離ツールキットの紹介と話者分離の実験を行いました。
takeshun
December 23, 2022
Tweet
Share
More Decks by takeshun
See All by takeshun
ESPnet2のTTS実施報告
takeshun256
0
1.7k
Other Decks in Programming
See All in Programming
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
210
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
170
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
280
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
3.9k
Vibe codingでおすすめの言語と開発手法
uyuki234
0
110
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
4
1.2k
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
610
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
370
SwiftUIで本格音ゲー実装してみた
hypebeans
0
490
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
160
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
120
AIコーディングエージェント(NotebookLM)
kondai24
0
230
Featured
See All Featured
Context Engineering - Making Every Token Count
addyosmani
9
550
HDC tutorial
michielstock
0
270
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
120
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.8k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
120
Done Done
chrislema
186
16k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Speed Design
sergeychernyshev
33
1.4k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
It's Worth the Effort
3n
187
29k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Reality Check: Gamification 10 Years Later
codingconduct
0
1.9k
Transcript
DNNベース音声分離の実施報告 ~音声分離の手法、評価方法やツールキットの調査~ 東京理科大学3年 竹下隼司 1
目次 1. 音声分離とは 2. DNNベースの音声分離アルゴリズム 3. 評価指標 4. データセット 5.
音声分離ツールキット 6. 話者分離の実験 7. 結果と考察 8. 今後の課題 9. 参考文献・クレジット 2
音声分離とは ▶ 音声分離(SS: Speech Separation) • 音源分離手法の中でも特定のタスク • 重なり合う音声信号を分離・抽出する •
話者分離:音声分離のタスクの1種で、複数話者の混合音声からそれぞれの話者の音声を抽出 類似タスク ▶ 音声強調(SE: Speech Enhancement) • ノイズのあるデータから特定の音声を強調して抽出する • 雑音がある環境下での音声認識などで使用される 3 音声分離 音声強調 mix
DNNベースの音声分離アルゴリズム • U-Net • フーリエ変換後の振幅スペクトルを画像と見立てて、U-Netによるセマンティックセグメンテーションを適用する。 • DeepClustering • 振幅スペクトルをembedding空間へ写像し、embedding空間で話者の異なる特徴量が遠くへ配置されるように学習する •
U-Netと異なり、複数話者の混合音声に対しても学習可能(パーミュテーション問題) • ConvTasNet • 振幅スペクトルでなく時系列信号をそのまま入力することで、分離音の位相も入力することができる。 • Encoder-Separation-Decoderの3つで構成され、Separationで各音源のマスクを学習する。 • SepFormer • 時系列信号を入力として、Transformerで学習する • RNNを用いず、並列計算が可能 • 2022年8月までSOTA(paper with code) 4
音声分離の評価指標 ▶ 目的の音声をどれだけうまく分離できたかを測る指標(音源分離や音声強調も同様) • 混合音声がいくつかの特徴のある音声に分離されたとする。 • Img=真の音源/目的音源、spat=ノイズ、interf=目的音源以外の干渉音声、artif=人工的な音 ▶ SI-SDR •
音声分離のベンチ―マークで使用される指標(SI-SDRi)の前進 • スケール不変のSDR(音声対全歪み比) • 音声のスケール(dB)によって値が変化しない • その他の評価指標 • SNR(音声対推論音声との差の歪み比) • SIR(音声対目的音声以外の干渉音声による歪み比) • SAR(音声対非線形(人工的な音声)歪み比) • ISR(音声対雑音比) ▶ その他:PESQ(音質の客観知覚評価)、音声認識(ASR)による評価 5 参照:https://arxiv.org/abs/1811.02508
URL 音声分離用のデータセット ▶ 音声分離(SS)や音声強調(SE)で使用されるデータセット • WSJ0-Mix • WSJ0というウォールストリートジャーナルの記事の朗読音声 • もともと音声認識(ASR)用だったものを、音声分離用のデータセットとして作り直したもの
• WSJ0コーパスが有料 • 音声分離のベンチマークで使用される • 英語、Wav形式、16kHz、40h程度 • WSJ0 Hipster Ambient Mixtures (WHAM!) • WSJ0-Mixデータセットにノイズを付加したもの • 英語、Wav形式 • LibriMix • オープンソースデータセット • MIT license • LibriSpeechのクリーンデータセットとWHAMのノイズを混合させたもの • 混合物の種類 : mix_clean (発話のみ) mix_both (混合発話 + ノイズ) mix_single (1 発話 + ノイズ) • 英語、Wav形式 6 時間
、ReproducibilityModularity 音声分離ツールキット ▶ 色々なオープンソースツールキット • Asteroid • Pytorchベースの音源分離ツールキット • MIT
License • 広範なデータセットとアーキテクチャをサポートしている • モジュール性(Modularity)、拡張性(Extensibility)、再現性(Reproducibility) • ESPnet • End-to-End(E2E)音声処理のためのオープンソースツールキット • Apache License 2.0 • タスク定義(TaskDesign)、Chainer-Free、Kaldi-Free、大規模データセットで学習可能(Scalable)、臨機応変(On-the-Fly) • SS、SE以外にも様々な音声処理タスクのレシピがある。(ASR(音声認識), 音声合成(TTS), 音声翻訳(ST), 機械翻訳(MT), 音声変換(VC)など) • SpeechBrain • Pytorchベースの音声処理ツールキット • Apache License 2.0 • 柔軟なマルチタスクで単一のツールキットにを持つことで、音声技術開発の効率化を図る • 容易(Easy to use)、カスタマイズ性(Easy to customize)、柔軟性(Flexible)、モジュール(Modular)、充実したドキュメント(Well-documented) 7 参照: 1. https://github.com/asteroid-team/asteroid/blob/master/docs/source/_static/images/asteroid_logo_dark.png 2. https://github.com/espnet/espnet/blob/master/doc/image/espnet_logo1.png 3. https://github.com/speechbrain/speechbrain/blob/develop/docs/images/speechbrain-logo.svg
AsteroidのSEの特徴 ▶ SE(Speech Enhancement)は以下の5つのステージで構成されている。 • 様々な音源分離手法やアルゴリズムに対応している • レシピのオプションはrun.sh、SEモデル学習のパラメータはconf.yamlで指定可能 ①sphere形式からwav形式 へ変換
②8k及び16kのデータセット 作成 ③音声の情報をjson形式で保 存 ④SEモデルを学習 ⑤スコアリング(評価) 8
ESPnet2のSEの特徴 ▶ SE(Speech Enhancement)のレシピは、以下の10つのステージで構成されている • 音声分離、Asteroidのモデル使用 • レシピのオプションはenh.sh、SEモデル学習のパラメータはconfig.yamlで指定可能 ①データ作成・取得 ②話速変化に基づくデータ
拡張(音声摂動) ③特徴量抽出 ④発話のフィルタリング ⑤学習のための統計量計算 ⑥SEモデル学習 ⑦デコーディング(推論)+ ⑧スコアリング(評価) ⑨モデルのパッキング+ ⑩アップロード 9
SpeechBrainのSEの特徴 ▶ SE(Speech Enhancement)のレシピは、以下の3つの処理で構成されている • 学習や評価のオプションはすべて、yamlファイルで管理 • マルチGPU、ダイナミックミキシング(動的に学習データを作成)に対応 ①データ作成・取得 ②SSモデル学習
③評価 10
話者分離の実験 ① 概要 ▶ 2話者混合音声の音声分離を実施 データセット • JVSコーパスの4話者各5音声 • CMU-ARCTICの4話者各5音声
• 4話者は男性2名女性2名 使用するアルゴリズム • SepFormer • https://github.com/tky823/DNN-based_source_separation.gitで提供されているコード 事前学習済みモデル • HuggingFaceで提供されているWSJ0-Mixで学習したモデル 11 ▶ 実験・評価の目的 1. 言語別で音声分離精度に違いはあるのか 1. 日本語の事前学習済みモデルが見当たらないのはなぜか? 2. 混合音声の性別の組み合わせによって、音声分離精度は変化するのか
話者分離の実験 ② 評価手法と目的 ▶モデルの評価手法 • SI-SDR • SDR ▶ 混合と評価
• 言語別(英語en、日本語jp) • 2話者混合音声の話者の性別の組み合わせ別 • 男性 & 男性(mm) • 女性 & 男性(fm) • 女性 & 女性(ff) • 異なるテキストを読み上げている音声を混合する • 各5文ずつ混合音声を作成・分離し、評価する 12 ▶ 実験・評価の目的 1. 言語別で音声分離精度に違いはあるのか 1. 日本語の事前学習済みモデルが見当たらないのはなぜか? 2. 混合音声の性別の組み合わせによって、音声分離精度は変化するのか
結果と考察 ② SI-SDRとSDR ▶ SISDR・SDR 言語の種類による比較 • SI-SDR:EN>20、10>JP • SDR:EN>16、16.1>JP(mm,
ff) • SDRの方は、JPがENよりも分散が大きい 性別の組み合わせの種類による比較 • SI-SDRでは、JP(fm)が突出して低い • SDRでは、JP(fm)が突出して高い • mmとffはEN、JPとも同じくらい 13 • ENの方がJPよりもスコアが高く、音声分離精度が高い • mmとffは2話者のF0が近いが、fmはF0の差が大きく、mmやff と結果が異なっている。 • SI-SDRとSDRのスケール処理の差によって、吐出の仕方が異 なっている?
考察と今後の課題 ▶ 考察 • 音声分離精度がEN>JP • 学習データの言語によって、精度に違い生まれているので、日本語の音声分離をするときは、日本語のデータセットで学習したモデル を使用したほうが良い可能性がある。 • 日本語の音声事前学習済みモデルがない
• 日本語には、LibriMixやWSJ0-Mixといった大規模な多話者のデータセットが少ない(JVSコーパスくらい) • ベンチマークとして使用されているWSJ0-Mixやフリーに使用できるLibriMixの方が使用される • 男性&男性や女性&女性の分離精度と男性&女性の分離精度が異なる • 性別によるF0周波数の違いが、分離のしやすさに影響している。 • 男性&女性の混合音声の分離時の突出の仕方がSISDRとSDRとでは異なる • 評価指標ごとに計算式が異なり、SI-SDRはスケール不変のSDRであるため、男性&女性でスケール(dB)の違いがスコアに影響した可能 性がある。 14 ▶ 今後の課題と展望 1. 評価指標の仕組み(計算式や利用目的)を調査 2. ノイズ音声を付加したデータセットの使用 3. 日本語データセットを用いた音声分離モデルの学習
参考文献・クレジット ▶ paper with code speech-separation https://paperswithcode.com/task/speech-separation ▶ paper with
code speech-enhancement https://paperswithcode.com/task/speech-enhancement ▶ 【サーベイ】深層学習を用いた音源分離手法のまとめ https://ys0510.hatenablog.com/entry/single_separation_survey ▶ Speech Enhancement Frontend Recipe https://github.com/espnet/espnet/tree/master/egs2/TEMPLATE/enh1 ▶ Speech Brain ドキュメント https://www.arxiv-vanity.com/papers/2106.04624/ ▶ First stereo audio source separation evaluation campaign: data, algorithms and results https://hal.inria.fr/inria-00544199/document ▶ SDR – HALF-BAKED OR WELL DONE? https://arxiv.org/abs/1811.02508 ▶ Compute and memory efficient universal sound source separation https://paperswithcode.com/paper/compute-and-memory-efficient-universal-sound 15