Web Speech API 소개 및 구현 가이드
Source
Evernote/Advanced View Required/Voice Driven Web Apps Introduction to the Web Speech API.md
Summary
이 문서는 HTML5 Web Speech API(구체적으로 Chrome의 webkitSpeechRecognition)를 사용하여 웹 페이지에 음성 인식 기능을 추가하는 방법을 설명합니다. 주요 구현 단계는 브라우저 지원 확인, continuous(연속 인식) 및 interimResults(임시 결과 표시) 속성 설정, 언어(lang) 지정, 그리고 onstart, onresult, onerror, onend 이벤트 핸들러를 통한 음성 데이터 처리입니다. 최종 결과(isFinal)와 임시 결과를 구분하여 UI에 반영하는 로직과, 마이크 권한 요청 시 HTTPS 환경의 중요성(반복 권한 요청 방지)을 강조합니다.
Key Points
Web Speech API는 Chrome 25 이상에서 음성 인식을 지원하며, 실험적 단계이므로 webkitSpeechRecognition 접두사를 사용합니다.
continuous: true 설정 시 사용자가 일시 정지해도 인식이 계속되며, interimResults: true 설정 시 실시간으로 변경될 수 있는 임시 결과를 받을 수 있습니다.
음성 인식 언어는 BCP-47 코드(예: ‘en-US’)로 설정하며, 미설정 시 HTML 문서의 lang 속성을 기본값으로 사용합니다.
onresult 이벤트에서 isFinal 속성을 통해 확정된 텍스트와 임시 텍스트를 구분하여 처리해야 합니다.
마이크 권한 요청 시 HTTPS 호스팅 페이지는 반복적인 권한 요청을 피할 수 있으나, HTTP 페이지는 매번 요청할 수 있습니다.
Web Audio API의 Android Chrome Beta 지원 (2013)
Web Animations API: element.animate() (Chrome 36)
WebKit의 웹표준 구현 현황 (2011)
Web Push Notifications for a Simple Login System
Chrome Beta: 숨겨진 자동 재생 오디오 탭 식별 기능
안드로이드 크롬의 WebRTC 지원 (2013)
2012년 1,2월 브라우저 기술 동향
구글의 대화형 검색 (2013)
WebRTC의 대중화와 주요 적용 분야 (2015)
WebRTC DataChannel 구현, API 변경 및 크롬-파이어폭스 상호운용성
8bit.js: Web Audio API 기반 8비트 사운드 라이브러리
Web Workers API 개요 및 기본 사용법
구글 iOS용 크롬 29 버전 주요 기능
Firefox 35: Hello 비디오 채팅 개선 및 데스크톱 Marketplace 베타 출시
Chrome 28 베타: 리치 알림(Rich Notifications) 및 알림 센터 도입
웹 개발자를 위한 가상 현실(VR) 가이드 (Smashing Magazine)
Adobe Primetime 플랫폼 업데이트 및 터너 브로드캐스팅 계약
Firefox OS 한국어 지원 현황 및 로드맵 (2013)
Gittip-links Chrome Extension 개발 기록
5 jQuery Notification Plugins
5 jQuery Notification Plugins
The “When Can I Use” Web Widget
Chrome M37 Precision Touch (TouchEvents Float Coordinates)
Chromecast 신규 앱 및 로컬 콘텐츠 스트리밍 지원 발표
Chrome DevTools 모바일 스크린캐스트 및 에뮬레이션
Chrome Packaged Apps 개요 및 추천 앱
Chrome Packaged Apps (Dev Channel 출시)
자동차용 ‘콧코로’ 음성인식 비서 앱 개발기
WebRTC 인프라: STUN, TURN 및 시그널링
FireChat: 인터넷 없이 작동하는 P2P 채팅 앱
개드립용 크롬 확장 프로그램 만들기 (1 편)
#)
Cube Slam: WebRTC 기반 실시간 브라우저 게임
웹 기반 실시간 통신 보안 (WebRTC)
WebRTC 보안 아키텍처와 호환되지 않는 신원 프로토콜의 적응 방안
BitTorrent Bleep: P2P 암호화 메신저
Native Navigation (Airbnb)
BitTorrent, 분산형 채팅 클라이언트 ‘BitTorrent Chat’ 공개
WebRTC의 패킷 손실 처리 메커니즘
스카이프, 웹 기반 통화 시장에 진출 (2013)
WebRTC 서비스의 사용자 신원 및 신뢰 문제
브라우저 간 P2P 연결 (WebRTC)
WebRTC 브라우저 간 보안 보장
AirDisk: 무선 파일 공유 앱
NIST SP 800-63 디지털 신원 가이드라인 (2017)
Fluid를 사용하여 웹사이트를 맥 메뉴 바 앱으로 변환하기
Libplanet 0.2 릴리스 주요 변경 사항
Simple.TV 2세대 스트리밍 DVR 및 Version 2.0 인터페이스 공개
Google, Web Components 를 웹 개발의 미래로 제시 (2013)
Kurento WebRTC PaaS의 인증, 인가 및 회계 보안 모델 분석
비트토런트 챗 (BitTorrent Chat) 개요
W3C 웹 결제 표준 개발 그룹 결성
Google+ Hangouts 기술 아키텍처 및 전망
Scrapy 로 웹사이트 크롤링 해보기
Google Drive 활용을 위한 6가지 Chrome 확장 프로그램
S-links: 분산 보안 정책과 안전한 소개(Secure Introduction)
Pandora TV 및 게임기용 HTML5 사이트 출시
Puppeteer를 활용한 로컬 개발 서버 대체 방안 (web.dev 사례)
3가 UDP(QUIC)를 선택한 이유
Microsoft Office Web Apps 실시간 공동 작성 기능 출시
CSS 최신 동향 파악을 위한 Adobe Web Platform 블로그
The Web Ahead: Jen Simmons 인터뷰 요약
크롬 컨퍼런스 핵심 요약 (Web Components, DevTools, Chrome Apps)
RFC 7413: TCP Fast Open (TFO)
TLS Forward Secrecy Deployments
Web Fundamentals 및 Web Starter Kit 리소스
Web Framework Benchmark Inspired
Android Remote Application Framework (RAF)
Google Chrome의 고성능 네트워킹 아키텍처
Three.js 시작 가이드 (Aerotwist)
Google Web Designer 출시 예정 (2013)
3가 UDP(QUIC)를 선택한 이유
YouTube Audio Library 출시
Distributed Web Worker 개발 중 Promise 및 이벤트 처리 이슈
31 CSS Web Design Galleries You’ll Love
VMware Horizon Suite 출시 및 HTML5 VDI 지원
W3C 웹 및 브로드캐스팅 제3차 대면 회의 개요
Create React Native App (CRNA) 소개
Web Workers: JavaScript 멀티스레딩
Google Portable Native Client (PNaCl)
API 하이퍼미디어 형식 선택 가이드 (HAL, JSON-LD, Collection+JSON, SIREN)
HTML5 게임 오프라인 지원 가이드
실시간 웹 협업도구 만들기 (홍영택)
HTTPS 개요 및 TLS 핸드셰이크 프로토콜
Roll It: 브라우저 기반 크로스 디바이스 게임 구현 사례
브라우저 개발자 도구의 25 가지 비법 (2011)
3: TCP 대신 UDP(QUIC)를 사용하여 네트워크 성능 및 신뢰성 향상
웹 증강을 위한 엔드유저 언어: 생산자와 소비자 모두를 위한 접근
HTTP 클라이언트 라이브러리의 리다이렉트 지원 방식 제안
uIP (micro IP)
Chromecast 에서 Game Boy 에뮬레이터 실행 방법 (개념 증명)
Android Path 2.0 Timeline Thumb 구현
Godot 엔진을 활용한 Spine(SD) 애니메이션 실행 가이드
Requirify: 브라우저 콘솔에서 동적 라이브러리 로딩
Hiding Native HTML5 Video Controls in Full-Screen Mode
HTML5 Video Player Comparison (2011)
크로스 플랫폼 SSO 기술 (Cross-Platform SSO)
HTML is the Web ~ Pete Lambert
CoAP(Constrained Application Protocol) 표준화 동향
BabyAGI 4 ALL API 설치 및 사용 가이드
MixBit iOS 앱 업데이트: 검색, 저장, 공유 기능 개선
게임 개발팀 A의 정기 회의 매뉴얼
HTTP 프로토콜 핵심 개념: 연결, 인증 및 캐싱 (Part 2)
실시간 데이터 스트리밍 기술 개요
Smart Learning News 19탄: EdTech 동향 (2014)
SCR Screen Recorder for Android
에버노트 헬로 2.0 출시
Vine 앱 출시 및 주요 특징
D3.js를 활용한 한국 지도 시각화 가이드
페이스북, 웹에 포스트 임베드 기능 제공
Microsoft BrowserSwarm 출시
후지쯔, UDP 기반 고속 전송 프로토콜 개발
HTML5 Canvas 실시간 드로잉 성능 최적화 가이드