パソコン
Chrome(くろーむ、WEBブラウザの一つ)
GitHubアカウント作成済み(無料)
Googleアカウント作成済み(無料)
パソコンは、Windowsパソコンでも、Macでも、かまいませんが、私の場合はWindows 10 Proとなります。今回は、Web Speech APIを利用するため、アプリを利用する人にもChromeは必須です。Internet Exploler、Safari、Firefox、Edgeなどではうまく動かないそうです。
今回利用するもの
CodeSandbox
Firebase Firestore
Vue 2.5.2
Vuetify
firebase
moment
===== Codesandboxで新規Vue.jsアプリの作成 =====
*[[https://codesandbox.io/|CodeSandbox]]でVueアプリを新規作成
*Dependencyで、Vuetifyを追加
*index.htmlとsrc/main.jsの編集し、Vuetifyを利用できるようにします。
{{:12.vue.jsとwebspeechapiで音声認識アプリ:pasted:20190102-175625.png}}
===== src/App.vueにVuetifyのテンプレートを適用 =====
src/App.vueにヘッダーとフッター、カードを追加します。
{{:00.vue用デザインフレームワークvuetify:pasted:20190102-181708.png}}
===== text-areaとbuttonを設定 =====
Card内のimgを消して、textareaで置き換えます。button名もStartとStopに変更します。
src/App.vue
Vue WebSpeechAPI Recognition
{{
recognitionText
}}
Startボタンをクリックして、日本語で話しかけてください。終了したら、Stopボタンをクリックしてください。
参考:https://vuetifyjs.com/ja/components/textarea
{{:12.vue.jsとwebspeechapiで音声認識アプリ:pasted:20190102-183941.png}}
===== 初期データの設定 =====
以下、src/App.vueの
data: function() {
return {
text: "",
recognition: new webkitSpeechRecognition(),
recognitionText: "音声入力開始"
};
}
Web Speech APIを利用するためには、以下の2行を記載します。
const speech = new webkitSpeechRecognition();
speech.lang = 'ja-JP';
{{:12.vue.jsとwebspeechapiで音声認識アプリ:pasted:20190103-043821.png}}
===== methods()関数とcreated()関数を定義 =====
音声認識開始buttonをクリックすると、recognition.onstartで音声認識開始し、認識された時点(recognition.onresult)で認識結果をtextに代入します。
以下のコードをsrc/App.vueの