음성인식 라이브러리를 통해 내 말을 자동으로 받아쓰여지도록 구현해볼 수 있다 !
로직
라이브러리 불러오기 및 기본설정 (window.SpeechRecognition
)
addEventListener ⇒ 이벤트 수신과 메서드
태그 형태로 append
라이브러리 불러오기 및 기본설정!
💡 SpeechRecognition이라는 웹 라이브러리를 사용한다. (크롬, 엣지)
파이어폭스에선 window.webkitSpeechRecognition
이 사용된다.
사용법 const OOOO = new SpeechRecognition();
1 2 3 4 5 6 7 8 9 10 window .SpeechRecognition = window .SpeechRecognition || window .webkitSpeechRecognition; const recognition = new SpeechRecognition();recognition.interimResults = true ; recognition.lang = 'ko-KR' ;
이벤트리스너
💡 result
= 결과값이 도출될 경우
1 2 3 4 5 6 7 8 9 recognition.addEventListener('result' , e => { const transcript = Array .from(e.results) .map(result => result[0 ]) .map(result => result.transcript) .join('' ); }; }) recognition.addEventListener('end' , recognition.start);
우리에게 필요한건 results의 transcript!
p태그로 append! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 let p = document .createElement('p' );const words = document .querySelector('.words' );words.appendChild(p); recognition.addEventListener('result' , (e ) => { const transcript = Array .from(e.results) .map((result ) => result[0 ]) .map((result ) => result.transcript) .join('' ); p.textContent = transcript; if (e.results[0 ].isFinal) { p = document .createElement('p' ); words.appendChild(p); } });
덮어쓰기 → 줄글 형태로 쭉 쓰기
최종 완성 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 window .SpeechRecognition = window .SpeechRecognition || window .webkitSpeechRecognition; const recognition = new SpeechRecognition();recognition.interimResults = true ; recognition.lang = 'ko-KR' ; let p = document .createElement('p' );const words = document .querySelector('.words' );words.appendChild(p); recognition.addEventListener('result' , (e ) => { const transcript = Array .from(e.results) .map((result ) => result[0 ]) .map((result ) => result.transcript) .join('' ); p.textContent = transcript; if (e.results[0 ].isFinal) { p = document .createElement('p' ); words.appendChild(p); } }); recognition.addEventListener('end' , recognition.start); recognition.start();