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
BONXを支える技術:発話区間検出(VAD)の話/Akerun & BONX Tech Talk
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
shunsukeaihara
April 26, 2016
Technology
7.8k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
BONXを支える技術:発話区間検出(VAD)の話/Akerun & BONX Tech Talk
shunsukeaihara
April 26, 2016
More Decks by shunsukeaihara
See All by shunsukeaihara
Goのnet.TCPConnの話/shibuya.go01
shunsukeaihara
3
870
Norikra in Gunosy Network Ads@Norikra meetup #2
shunsukeaihara
1
6.1k
LevelDB on S3 As A KVS
shunsukeaihara
1
2.9k
色恒常性仮説に基づく色補正ライブラリcolorcorrect / 2015-01-31-kantocv27
shunsukeaihara
3
2.6k
Sparkによる分散処理 / 2015-01-16 PyData.Tokyo#3
shunsukeaihara
11
3.6k
ゼロから始めた Gunosyアドサーバ開発運用記 / 2014-12-16-dots
shunsukeaihara
6
1.2k
Gunosy.Go#5 index/io/log
shunsukeaihara
0
190
Gunosy.go#2 package/compress
shunsukeaihara
0
140
Other Decks in Technology
See All in Technology
Kiro Ambassador を目指す話
k_adachi_01
0
110
脆弱性対応、どこで線を引くか
rymiyamoto
1
420
気軽に使える"情報のハブ"としてのNotion活用 〜フロー情報の集積点 と、 Claude Code × Notion AI〜
syucream
1
160
ザ・データベース、MySQL ~ OSC 2026 Sendai ~
sakaik
0
150
[チョークトーク資料]AWS DevOps Agent を使いこなす / AWS Dev Ops Agent Chalk Talk AWS Summit Japan 2026
kinunori
3
630
Oracle Cloud Infrastructure:2026年6月度サービス・アップデート
oracle4engineer
PRO
0
150
PostgreSQL 19 新機能概要 OSC Hokkaido 2026
nori_shinoda
0
190
螺旋型キャリアの生存戦略 / kinoko-conf2026
rakus_dev
0
150
AIはどのように 組織のアジリティを変えるのか?
junki
4
1.1k
Claude Codeをどのように キャッチアップしているか
oikon48
13
8.6k
ロボティクスの技術 / Robotics Technology
ks91
PRO
0
110
LayerXにおけるセキュリティ管理の現在地と次の一手
tosho
0
250
Featured
See All Featured
KATA
mclloyd
PRO
35
15k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
170
Mind Mapping
helmedeiros
PRO
1
260
Visualization
eitanlees
152
17k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
860
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.4k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
370
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Deep Space Network (abreviated)
tonyrice
0
210
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
600
Transcript
2016/04/26 shunsukeaihara BONXを⽀える技術: 発話区間検出(VAD)の話
⾃⼰紹介 • 粟飯原俊介(@shunsukeaihara) • http://argmax.jp • 技術顧問 • Gunosy, MNU
• フリーランス • ⾃然⾔語処理/画像処理/⾳声信号処理/分散処理系の開発・コンサル • Webシステム/IoTデバイス/データ分析システムの開発/BizDev • Bonxではサーバ(VoIP周り)開発とクライアント側⾳声処理系を担当
(承前)IoTにおける⾳声信号処理 ⼊出⼒に制限が有ることが多いIoTシステムにおいて, ⾳声インターフェイス(Digital Voice Assistant)が注⽬されており, ⾳声処理に関する周辺技術の重要が⾼まっています ボイスコマンド 音声対話 音源定位・分離 環境音認識
音声認識 話者識別
発話区間検出とは Voice Activity Detection(VAD)
発話区間検出とは 与えられた⾳声データから, ⼈間が発話している部分のみを抽出する技術. ⾳声認識能向 上のための前処理や, ⾳声通信における通信削減/⾳声品質向上などに利⽤されています 発話区間 発話区間 ⾮発話区間 ⾮発話区間
⾮発話区間
発話区間検出の難しさ ⼀⾒簡単そうな発話区間検出も, 様々な環境・様々なマイクで安定した動作を実現しよ うとすると, 複数の問題を乗り越える適応的なアルゴリズムが必要になります 環境ノイズの⼤きさ 環境ノイズの多様性 ⾳質・⾳量の違い 背景ノイズがうるさい場合で も,
背景ノイズを無視して発 話がない場合は⾮発話としな ければいけない ⾮定常的な環境⾳や, 突発⾳, テレビや移動等による環境ノ イズの変化に追随して, 環境 ⾳と発話を切り分けなければ いけない ⼈毎の声の差・機種毎のマイ ク・デバイスの⾳の差・サウ ンドデバイスの初期化毎の⾳ 量の差を吸収
発話区間検出の要素技術 発話/⾮発話判定 概要 ⼿法(⼀例) 背景雑⾳と⼈間の発話が混ざった 信号から, ⼈間の発話が含まれてい る区間のみを発話区間として判定 • Spectral Entropy
• Long-Term Spectral Divergence • Periodic Component to Aperiodic Component Ratio • ⾳声モデル(GMM等) ノイズ推定/ トラッキング ノイズ除去/ ⾳声強調 環境ノイズの変化や, ⾮定常的な雑 ⾳に対する頑健性を担保するため に, ⼈間の発話と背景雑⾳が混ざっ た⼊⼒信号から, 変化する背景雑⾳ をリアルタイムに推定 推定した雑⾳の情報を元に, 背景雑 ⾳と⼈間の発話が混ざった信号か ら, ⼈間の発話を抽出・強調する技 術 • Minimum Statistics • VAD Based (Soft / Hard Decision) Estimator • MMSE based Estimator • Spectrum Subtraction • Wiener filtering • MMSE-STSA • Joint-Map • Beamforming(マイクアレイ)
ノイズ推定〜発話判定処理の⼀例 発話⾳声と環境⾳(ノイズ)が重畳された信号からノイズを逐次的に推定し, ⼊⼒⾳声が環 境⾳なのか, 発話を含んでいるのかをオンラインで判定します ノイズプロファイルの初期値とし て, 先頭数百msの平均パワース ペクトルを利⽤ フレーム毎にパワースペクトルと
ノイズプロファイルを⽐較 逐次更新アルゴリズムにより, 発 話・ノイズ混じりの信号からノイ ズプロファイルを毎フレーム更新 更新 ⽐較
Bonxでの発話区間検出の流れ Bonxは独⾃のマルチマイクデバイスを利⽤しているため, デバイス上でマルチマイクを ⽤いた⾳声強調処理を実施し, 後段の処理をスマートフォンで実施しています ①⾳声強調(仮) ②ノイズ推定 • Bonxデバイスから の出⼒⾳声信号 ③ノイズ除去
④発話判定 input output • 前⽅マイクからの ⼊⼒信号 • 後⽅マイクからの ⼊⼒信号 • Bonxデバイスから の出⼒⾳声信号 • 推定したノイズプ ロファイル • ノイズ除去済みの ⾳声信号* • 推定したノイズプ ロファイル • 前⽅マイク側の信 号(⼝側の⾳)を強 調(Beamforming) した⾳声信号 • ⾳声信号に含まれる ノイズの推定値(ノイ ズプロファイル) • ノイズ除去済みの ⾳声信号 Bonxデバイス スマートフォン • 発話・⾮発話判定 結果 • ノイズ除去済みの ⾳声信号 *アルゴリズムによっては①の出⼒とノイズプロファイルを利⽤ ⾳ 量 の 正 規 化
デバイスとスマートフォンでの信号処理 ⾳声信号処理はリアルタイムでの計算が必要とされるため, スマートフォンアプリの中 に実装するためには計算の効率化とアルゴリズムの簡易さが求められます • 基本的にはC/C++での実装. AndroidではNDKを⽤いる • iOS: Accelerate Framework(vDSP)を利⽤
• Android: ARM系のSIMD拡張命令(NEON), DSP拡張命令を利⽤ • cpufeature.h • IoTハードウェアとの連携の場合は, ハードウェア側のDSPチップやSoCに機能を寄せ られないか検討する • 複数マイク(マイクアレイ)を⽤いる事で⾳質の向上を⾒込むことが出来る ⾼速な実装のために… デバイス側で出来ることはやろう
まとめ • 発話区間検出の概要と課題 • ロバストな発話区間検出に必要な要素技術 • ノイズ推定/トラッキング • ノイズ除去/⾳声強調 •
発話⾮発話判定 • IoTデバイスとスマートフォンで⾳声信号処理を実装するにあたって のTips • ITベンチャー業界に他に⾳声信号処理実装関係者いないですかね