Slide 1

Slide 1 text

Web Speech APIと Google Cloud Speech to Text 比較してみる 河津正和

Slide 2

Slide 2 text

河津正和 株式会社博報堂アイ・スタジオ所属 ● 主にバックエンド領域のテクニカルディレクター ● 新規事業開発的なお仕事をしてます ● コンテナ技術とか機械学習とか電子工作にも興味あり Twitter:@kawazu255_ Qiita:kawazu255 note:kawazu255

Slide 3

Slide 3 text

ここ数ヶ月のSpeech to Text

Slide 4

Slide 4 text

世はまさに大文字起こし時代

Slide 5

Slide 5 text

1ヶ月以内にリリースされた 文字起こしサービス AmiVoice ScribeAssist Notta GIJIREC

Slide 6

Slide 6 text

オンライン上でのやりとりが増えたことにより、 その中での付加価値が求められてきた 相手の顔が見えないと 伝わってるかどうか わからないなぁ 今相手が言ってたこと 聞き取れなかったけど、 聞き返しづらいなぁ オンライン飲みは 逃げ場がないよなぁ (自宅だし) ブレストする時とか なんかやりづらくて 対面がいいなぁ

Slide 7

Slide 7 text

音声認識&話者認識の障壁が下がった いままで いま

Slide 8

Slide 8 text

各クラウドAIの強み(個人の感想) 音声認識 画像処理 チャットボット 自然言語処理 ? (Google Homeが強い?) (MS COCOのおかげ?) (Conversation APIがいい感じ) (誰か教えて)

Slide 9

Slide 9 text

各クラウドAIの強み(個人の感想) 音声認識 画像処理 チャットボット 自然言語処理 ? (Google Homeが強い?) (MS COCOのおかげ?) (Conversation APIがいい感じ) (誰か教えて)

Slide 10

Slide 10 text

Web Speech API Google Cloud Speech to Text API

Slide 11

Slide 11 text

Web Speech API ● Webページ上で音声認識、音声合成を利用することができるJavascriptのAPI ● 厳密にはGoogleが提供しているAPIではなく「仕様」。ただ実装されているブラウザ が現状Google Chromeのみ ● 話す音声のリアルタイムな音声文字起こしが強み

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

Google Cloud Speech to Text API ● Google提供のクラウドML API。その名の通りSpeech to Textを行う ● APIはREST形式で、どんなプラットフォームからでも使用できる ● ストリーミングでの音声入力もできる(通信はgRPC)

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

特徴比較 Web Speech API Google Cloud Speech to Text API リアルタイム性 高い 音声認識中の文字起こしもできる gRPC通信でなら可能 ただブラウザには対応してない プラットフォーム Google Chrome のみ どこでも使える 精度(主観) そこそこ かなり高い

Slide 16

Slide 16 text

Cloud Speech to Text APIを ブラウザでリアルタイムに 使いたい!

Slide 17

Slide 17 text

Voice Activity Detection(音声検出) ● マイクへの音声入力を検知する技術 ● VADって略されたりする ● JSライブラリあり ○ 生JS用:https://github.com/kdavis-mozilla/vad.js ○ npm installできる:https://www.npmjs.com/package/voice-activity-detection

Slide 18

Slide 18 text

{ fftSize: 1024, bufferLen: 1024, smoothingTimeConstant: 0.2, minCaptureFreq: 85, // in Hz maxCaptureFreq: 255, // in Hz noiseCaptureDuration: 1000, // in ms minNoiseLevel: 0.3, // from 0 to 1 maxNoiseLevel: 0.7, // from 0 to 1 avgNoiseMultiplier: 1.2, onVoiceStart: function() {}, onVoiceStop: function() {}, onUpdate: function(val) {} } ノイズ検出フィルター 人間の声の周波数範囲 音声検出開始までの時間 集音環境変数

Slide 19

Slide 19 text

吾輩は猫である。名前はまだ無い。 どこで生れたかとんと見当がつかぬ。何でも薄暗いじめじめした 所でニャーニャー泣いていた事だけは記憶している。

Slide 20

Slide 20 text

吾輩はここで始めて人間というものを見た。しかもあとで聞くとそ れは書生という人間中で一番獰悪な種族であったそうだ。

Slide 21

Slide 21 text

注意点! ● 音声検出まで若干のタイムラグがあり、喋り始めのワードを取得できない場合が多 い ○ OK, Google的にデバイス側での準備ができないため ● そもそも音声認識の精度は集音環境やマイクの性能に大きく影響を受ける ○ Macのマイクは意外と広範囲の音を拾う ○ SM58とかはそこそこの指向性とそこそこ狭い集音範囲 (10cmくらい)

Slide 22

Slide 22 text

その他やってみて思ったこと ● 音声検出のみWeb Speech APIにして見た結果 ○ VADライブラリとほぼ変わらなかった ○ ブラウザ依存問題が出るため、 VADライブラリで十分。 ● UI的な話 ○ Web Speech APIの、話してる最中も文字起こしをしてくれる機能は唯一無二 (Androidにもあるけど) ○ 話している途中はWeb Speech API、話終わった後の音声は Cloud Speech to Textという使い分け もありかも ○ リアルタイム文字起こし UIにこだわるならブラウザの縛りをいれてもいいかも

Slide 23

Slide 23 text

オンライン会議支援サービス          開発中! ←サービス紹介ページです(事前登録できます)