Web Speech API 문서 홈페이지 :
https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API/Using_the_Web_Speech_API
웹 페이지나 웹 앱에서 음성 데이터를 인식하고 합성하는 기능을 제공하는 JavaScript API다.
import SpeechRecognition, { useSpeechRecognition } from 'react-speech-recognition';
const useSpeechToText = () => {
const { transcript, listening } = useSpeechRecognition();
const toggleListening = () => {
if (listening) {
SpeechRecognition.stopListening();
} else {
SpeechRecognition.startListening({ language: 'ko-KR', continuous: true });
}
}
return { transcript, listening, toggleListening };
};
export default useSpeechToText;
npm i react-speech-recognition
+) react-speech-recognition
react-speech-recognition 라이브러리는, 웹 브라우저에서 제공하는 SpeechRecognition API를 React에서 쉽게 사용할 수 있도록 해준다.
- transcript : 현재까지 인식된 음성을 텍스트로 변환한 결과
- listening : 현재 음성 인식이 활성화되어 있는지를 나타내는 boolean 값
+) 연속적인 인식 여부는 사용자가 말하는 것을 멈추면 음성인식을 멈춘다.
const App = () => {
const { transcript, listening, toggleListening } = useSpeechToText();
return (
<div>
<h1>Web Speech API</h1>
<textarea className="transcript" value={transcript} onChange={() => {}} />
<button onClick={toggleListening}>
{listening ? '음성인식 중지' : '음성인식 시작'}
</button>
</div>
);
};
export default App;