Open2

音声認識関連

pistapista

このスクラップについて

業務で音声認識APIのamivoiceを扱うことになったので音声認識やamivoiceの使い方なんやかんやをメモする。

pistapista

chromeブラウザでマイク音声入力をして音声処理(amivoice)関数に渡す流れ

import { createVoiceRecogJob } from './amivoice';

export async function startRecord() {
  // ユーザーのデバイス(マイクなど)からメディア入力を取得するための処理
  const audioStream = await navigator.mediaDevices.getUserMedia({
    audio: true,
  });
  
  // MediaRecorderの初期化
  // 取得したオーディオストリームをMediaRecorderに渡して録音を開始する。 
  const mediaRecorder = new MediaRecorder(audioStream);
  let audioChunks = [];
  mediaRecorder.addEventListener('dataavailable', (event) => {
    audioChunks.push(event.data);
  });

  mediaRecorder.addEventListener('stop', async () => {
    const audioBlob = new Blob(audioChunks, { type: 'audio/wav' });
    const result = await createVoiceRecogJob(audioBlob);
  });
  mediaRecorder.start();
  console.log('start recording');
  return mediaRecorder;
}