Web Speech APIãæ¢æ±ããé³å£°èªèãšããã¹ãèªã¿äžãæè¡ã®å¯èœæ§ãè§£ãæŸã¡ãäžçäžã®ãŠã§ãã¢ããªã±ãŒã·ã§ã³ã§ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãåäžãããŸãããã
Web Speech APIïŒé³å£°èªèãšããã¹ãèªã¿äžãã®å®è£ ã«é¢ããå æ¬çãªã¬ã€ã
Web Speech APIã¯ããŠã§ãéçºè ãé³å£°èªèãšããã¹ãèªã¿äžãæ©èœãçŽæ¥ãŠã§ãã¢ããªã±ãŒã·ã§ã³ã«çµ±åã§ãã匷åãªããŒã«ã§ããããã«ãããäžçäžã®ãŠãŒã¶ãŒã«åããŠãããã¢ã¯ã»ã¹ãããããã€ã³ã¿ã©ã¯ãã£ãã§ã䜿ãããããšã¯ã¹ããªãšã³ã¹ãäœæããããã®å¯èœæ§ãåºãããŸãããã®å æ¬çãªã¬ã€ãã§ã¯ãWeb Speech APIã®ã³ã¢ã³ã³ã»ãããå®è£ ã®è©³çްãããã³å®éã®ã¢ããªã±ãŒã·ã§ã³ã«ã€ããŠæãäžãããããžã§ã¯ãã匷åããããã®ãã®å¯èœæ§ã掻çšã§ããããã«ããŸãã
Web Speech APIã®çè§£
Web Speech APIã¯ã次ã®2ã€ã®äž»èŠéšåã§æ§æãããŠããŸãã
- é³å£°èªèïŒããã¹ããžã®é³å£°ïŒïŒãŠã§ãã¢ããªã±ãŒã·ã§ã³ããŠãŒã¶ãŒã®ãã€ã¯ããã®é³å£°å ¥åããã£ããã£ãããããããã¹ãã«æžãèµ·ããããšãå¯èœã«ããŸãã
- é³å£°åæïŒããã¹ãèªã¿äžãïŒïŒãŠã§ãã¢ããªã±ãŒã·ã§ã³ãããã¹ããé³å£°åºåã«å€æã§ããããã«ããŸãã
Web Speech APIã䜿çšããçç±
é³å£°æ©èœããŠã§ãã¢ããªã±ãŒã·ã§ã³ã«çµ±åãããšãããã€ãã®éèŠãªå©ç¹ããããŸãã
- ã¢ã¯ã»ã·ããªãã£ã®åäžïŒé害ã®ãããŠãŒã¶ãŒã«ä»£æ¿ã®å ¥å/åºåæ¹æ³ãæäŸããå šäœçãªã¢ã¯ã»ã·ããªãã£ãåäžãããŸããããšãã°ãéåé害ã®ããå人ã¯ãé³å£°ã³ãã³ãã䜿çšããŠãŠã§ãã³ã³ãã³ããããã²ãŒãããæäœããããšãã§ããŸãã
- ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®åäžïŒç¹ã«ã¢ãã€ã«ããã³IoTïŒã¢ãã®ã€ã³ã¿ãŒãããïŒã®ã³ã³ããã¹ãã«ãããŠããŠãŒã¶ãŒãã¢ããªã±ãŒã·ã§ã³ãšã€ã³ã¿ã©ã¯ãããããã®ãããèªç¶ã§ãã³ãºããªãŒãªæ¹æ³ãæäŸããŸããããšãã°ããããã³ã§ã¿ãã¬ããã§ã¬ã·ããèŠãªããæçãããŠãããŠãŒã¶ãŒãèããé³å£°ã䜿ã£ãŠç»é¢ãå¶åŸ¡ããããšã§ãæãæ±ããŠããå¯èœæ§ã®ããããã€ã¹ã«è§Šããã®ãé¿ããããšãã§ããŸãã
- å€èšèªãµããŒãïŒå¹ åºãèšèªããµããŒãããŠãããããã°ããŒãã«ãªãªãŒãã£ãšã³ã¹ã«å¯Ÿå¿ããã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸããç¹å®ã®èšèªãµããŒãã¯ã䜿çšãããŠãããã©ãŠã¶ãšãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ãã£ãŠç°ãªããŸãããè±èªãã¹ãã€ã³èªããã©ã³ã¹èªãäžåœèªïŒå京èªïŒãã¢ã©ãã¢èªããã³ãã£ãŒèªããã«ãã¬ã«èªãªã©ã®äž»èŠèšèªã¯äžè¬çã«ååã«ãµããŒããããŠããŸãã
- ãšã³ã²ãŒãžã¡ã³ãã®åäžïŒããé åçã§ã€ã³ã¿ã©ã¯ãã£ããªãšã¯ã¹ããªãšã³ã¹ãäœæããããé«ããŠãŒã¶ãŒæºè¶³åºŠãšãªãã³ã·ã§ã³ã«ã€ãªãããŸãã
- å¹çæ§ãšçç£æ§ïŒãŠãŒã¶ãŒãé³å£°ã³ãã³ããéããŠè¿ éãã€ç°¡åã«æäœãå®è¡ã§ããããã«ããããšã§ãã¿ã¹ã¯ãšããã»ã¹ãåçåããŸããå»åž«ãæ£è ã®ã¡ã¢ãé»åå»çèšé²ïŒEHRïŒã·ã¹ãã ã«çŽæ¥å£è¿°ãããšããã®ãè¯ãäŸã§ãã
é³å£°èªèã®å®è£
Web Speech APIã䜿çšããŠé³å£°èªèãå®éã«å®è£ ããŠã¿ãŸããããæ¬¡ã®ã³ãŒãã¹ããããã¯ããã®ããã»ã¹ãã¬ã€ãããŸãã
é³å£°èªèã®èšå®
ãŸããSpeechRecognition APIããŠãŒã¶ãŒã®ãã©ãŠã¶ã§ãµããŒããããŠãããã©ããã確èªããŸãã
if ('webkitSpeechRecognition' in window) {
// Speech Recognition API is supported
} else {
// Speech Recognition API is not supported
console.log("Speech Recognition API is not supported in this browser.");
}
次ã«ãæ°ãã`SpeechRecognition`ãªããžã§ã¯ããäœæããŸãã
var recognition = new webkitSpeechRecognition();
泚ïŒ`webkitSpeechRecognition`ãã¬ãã£ãã¯ã¹ã¯Chromeããã³Safariã§äœ¿çšãããŸããä»ã®ãã©ãŠã¶ã§ã¯ã`SpeechRecognition`ïŒãã¬ãã£ãã¯ã¹ãªãïŒã䜿çšãããããã©ãŠã¶ã®ããã¥ã¡ã³ãã確èªããå¿ èŠãããå ŽåããããŸãã
é³å£°èªèã®èšå®
`SpeechRecognition`ãªããžã§ã¯ãã®ããŸããŸãªããããã£ãèšå®ããŠããã®åäœãã«ã¹ã¿ãã€ãºã§ããŸãã
- `lang`ïŒé³å£°èªèã®èšèªãèšå®ããŸããããšãã°ã`recognition.lang = 'en-US';`ã¯èšèªãç±³åœã®è±èªã«èšå®ããŸããä»ã®äŸãšããŠã¯ãã¹ãã€ã³èªïŒã¹ãã€ã³ïŒã®`es-ES`ããã©ã³ã¹èªïŒãã©ã³ã¹ïŒã®`fr-FR`ããã€ãèªïŒãã€ãïŒã®`de-DE`ãæ¥æ¬èªïŒæ¥æ¬ïŒã®`ja-JP`ãäžåœèªïŒäžåœïŒã®`zh-CN`ãªã©ããããŸãã
- `continuous`ïŒé£ç¶èªèãå®è¡ããããæåã®çºè©±åŸã«åæ¢ããããæå®ããŸããé£ç¶èªèã®å Žåã¯`true`ã«ãåäžçºè©±ã®å Žåã¯`false`ã«èšå®ããŸãã`recognition.continuous = true;`
- `interimResults`ïŒäžéçµæãè¿ãããæçµçµæã®ã¿ã決å®ããŸããäžéçµæã¯ããŠãŒã¶ãŒã«ãªã¢ã«ã¿ã€ã ã®ãã£ãŒãããã¯ãæäŸããã®ã«åœ¹ç«ã¡ãŸãã`recognition.interimResults = true;`
èšå®ã®äŸïŒ
recognition.lang = 'en-US';
recognition.continuous = true;
recognition.interimResults = true;
é³å£°èªèã€ãã³ãã®åŠç
`SpeechRecognition`ãªããžã§ã¯ãã¯ãããã€ãã®ã€ãã³ããçºçãããŸãããããã®ã€ãã³ãããªãã¹ã³ã§ããŸãã
- `start`ïŒé³å£°èªèãéå§ããããšãã«ããªã¬ãŒãããŸãã
- `result`ïŒé³å£°èªèãçµæãçæãããšãã«ããªã¬ãŒãããŸãã
- `end`ïŒé³å£°èªèã忢ãããšãã«ããªã¬ãŒãããŸãã
- `error`ïŒé³å£°èªèäžã«ãšã©ãŒãçºçãããšãã«ããªã¬ãŒãããŸãã
`result`ã€ãã³ããåŠçããæ¹æ³ã¯æ¬¡ã®ãšããã§ãã
recognition.onresult = function(event) {
var interim_transcript = '';
var final_transcript = '';
for (var i = event.resultIndex; i < event.results.length; ++i) {
if (event.results[i].isFinal) {
final_transcript += event.results[i][0].transcript;
} else {
interim_transcript += event.results[i][0].transcript;
}
}
console.log('Interim transcript: ' + interim_transcript);
console.log('Final transcript: ' + final_transcript);
// Update UI with the recognized text
document.getElementById('interim').innerHTML = interim_transcript;
document.getElementById('final').innerHTML = final_transcript;
};
`error`ã€ãã³ããåŠçããæ¹æ³ã¯æ¬¡ã®ãšããã§ãã
recognition.onerror = function(event) {
console.error('Speech recognition error:', event.error);
};
é³å£°èªèã®éå§ãšåæ¢
é³å£°èªèãéå§ããã«ã¯ã`start()`ã¡ãœãããåŒã³åºããŸãã
recognition.start();
é³å£°èªèã忢ããã«ã¯ã`stop()`ã¡ãœãããåŒã³åºããŸãã
recognition.stop();
å®å šãªé³å£°èªèã®äŸ
é³å£°èªèãå®è£ ããæ¹æ³ã®å®å šãªäŸã次ã«ç€ºããŸãã
<!DOCTYPE html>
<html>
<head>
<title>Speech Recognition Example</title>
</head>
<body>
<h1>Speech Recognition</h1>
<button id="startBtn">Start Recognition</button>
<button id="stopBtn">Stop Recognition</button>
<div>
<b>Interim Result:</b> <span id="interim"></span>
</div>
<div>
<b>Final Result:</b> <span id="final"></span>
</div>
<script>
if ('webkitSpeechRecognition' in window) {
var recognition = new webkitSpeechRecognition();
recognition.lang = 'en-US';
recognition.continuous = true;
recognition.interimResults = true;
recognition.onstart = function() {
console.log('Speech recognition started');
};
recognition.onresult = function(event) {
var interim_transcript = '';
var final_transcript = '';
for (var i = event.resultIndex; i < event.results.length; ++i) {
if (event.results[i].isFinal) {
final_transcript += event.results[i][0].transcript;
} else {
interim_transcript += event.results[i][0].transcript;
}
}
document.getElementById('interim').innerHTML = interim_transcript;
document.getElementById('final').innerHTML = final_transcript;
};
recognition.onerror = function(event) {
console.error('Speech recognition error:', event.error);
};
recognition.onend = function() {
console.log('Speech recognition ended');
};
document.getElementById('startBtn').addEventListener('click', function() {
recognition.start();
});
document.getElementById('stopBtn').addEventListener('click', function() {
recognition.stop();
});
} else {
console.log("Speech Recognition API is not supported in this browser.");
document.getElementById('startBtn').disabled = true;
document.getElementById('stopBtn').disabled = true;
}
</script>
</body>
</html>
ããã¹ãèªã¿äžãã®å®è£
次ã«ãWeb Speech APIã䜿çšããããã¹ãèªã¿äžãã®å®è£ ã調ã¹ãŠã¿ãŸãããã
ããã¹ãèªã¿äžãã®èšå®
ãŸãã`speechSynthesis`ãªããžã§ã¯ããå©çšå¯èœãã©ããã確èªããŸãã
if ('speechSynthesis' in window) {
// Speech Synthesis API is supported
} else {
// Speech Synthesis API is not supported
console.log("Speech Synthesis API is not supported in this browser.");
}
é³å£°åæã®çºè©±ã®äœæ
é³å£°ãåæããã«ã¯ã`SpeechSynthesisUtterance`ãªããžã§ã¯ããäœæããå¿ èŠããããŸãã
var utterance = new SpeechSynthesisUtterance();
é³å£°åæã®çºè©±ã®èšå®
`SpeechSynthesisUtterance`ãªããžã§ã¯ãã®ããŸããŸãªããããã£ãèšå®ããŠãé³å£°åºåãã«ã¹ã¿ãã€ãºã§ããŸãã
- `text`ïŒè©±ãããã¹ããèšå®ããŸãã`utterance.text = 'Hello, world!';`
- `lang`ïŒé³å£°åæã®èšèªãèšå®ããŸãã`utterance.lang = 'en-US';` é³å£°èªèãšåæ§ã«ã`es-ES`ã`fr-FR`ã`de-DE`ã`ja-JP`ã`zh-CN`ãªã©ãããŸããŸãªèšèªã³ãŒããå©çšã§ããŸãã
- `voice`ïŒé³å£°åæã«äœ¿çšããé³å£°ãèšå®ããŸãã`window.speechSynthesis.getVoices()`ã䜿çšããŠãå©çšå¯èœãªé³å£°ã®ãªã¹ããååŸã§ããŸãã
- `volume`ïŒé³å£°åºåã®é³éãèšå®ããŸãïŒ0ã1ïŒã`utterance.volume = 0.5;`
- `rate`ïŒé³å£°ã®é床ãèšå®ããŸãïŒ0.1ã10ïŒã`utterance.rate = 1;`
- `pitch`ïŒé³å£°ã®é«ããèšå®ããŸãïŒ0ã2ïŒã`utterance.pitch = 1;`
èšå®ã®äŸïŒ
utterance.text = 'This is a sample text for speech synthesis.';
utterance.lang = 'en-US';
utterance.volume = 0.8;
utterance.rate = 1.0;
utterance.pitch = 1.0;
é³å£°ã®èšå®
ç¹å®ã®é³å£°ãéžæããã«ã¯ãå©çšå¯èœãªé³å£°ã®ãªã¹ããååŸãã䜿çšããé³å£°ãéžæããå¿ èŠããããŸãã
window.speechSynthesis.onvoiceschanged = function() {
var voices = window.speechSynthesis.getVoices();
var selectedVoice = null;
for (var i = 0; i < voices.length; i++) {
if (voices[i].lang === 'en-US' && voices[i].name.includes('Google')) { // Example: Using Google's English (US) voice
selectedVoice = voices[i];
break;
}
}
if (selectedVoice) {
utterance.voice = selectedVoice;
} else {
console.warn('No suitable voice found. Using default voice.');
}
};
éèŠïŒé³å£°ã®ãªã¹ãã¯ããŒãžã®èªã¿èŸŒã¿æã«ããã«å©çšã§ãããšã¯éããªãããã`onvoiceschanged`ã€ãã³ããå¿ èŠã§ããé³å£°ãç²åŸããåã«ããã®ã€ãã³ããåŸ ã€ããšãéèŠã§ãã
ããã¹ãã話ã
ããã¹ãã話ãã«ã¯ã`speechSynthesis`ãªããžã§ã¯ãã®`speak()`ã¡ãœãããåŒã³åºããŸãã
speechSynthesis.speak(utterance);
é³å£°åæã€ãã³ãã®åŠç
`SpeechSynthesisUtterance`ãªããžã§ã¯ãã¯ãããã€ãã®ã€ãã³ããçºçãããŸãããããã®ã€ãã³ãããªãã¹ã³ã§ããŸãã
- `start`ïŒé³å£°åæãéå§ããããšãã«ããªã¬ãŒãããŸãã
- `end`ïŒé³å£°åæãçµäºãããšãã«ããªã¬ãŒãããŸãã
- `pause`ïŒé³å£°åæãäžæåæ¢ããããšãã«ããªã¬ãŒãããŸãã
- `resume`ïŒé³å£°åæãåéããããšãã«ããªã¬ãŒãããŸãã
- `error`ïŒé³å£°åæäžã«ãšã©ãŒãçºçãããšãã«ããªã¬ãŒãããŸãã
`end`ã€ãã³ããåŠçããæ¹æ³ã¯æ¬¡ã®ãšããã§ãã
utterance.onend = function(event) {
console.log('Speech synthesis finished.');
};
å®å šãªããã¹ãèªã¿äžãã®äŸ
ããã¹ãèªã¿äžããå®è£ ããæ¹æ³ã®å®å šãªäŸã次ã«ç€ºããŸãã
<!DOCTYPE html>
<html>
<head>
<title>Text-to-Speech Example</title>
</head>
<body>
<h1>Text-to-Speech</h1>
<textarea id="textInput" rows="4" cols="50">Enter text here...</textarea><br>
<button id="speakBtn">Speak</button>
<script>
if ('speechSynthesis' in window) {
var textInput = document.getElementById('textInput');
var speakBtn = document.getElementById('speakBtn');
var utterance = new SpeechSynthesisUtterance();
utterance.lang = 'en-US';
window.speechSynthesis.onvoiceschanged = function() {
var voices = window.speechSynthesis.getVoices();
var selectedVoice = null;
for (var i = 0; i < voices.length; i++) {
if (voices[i].lang === 'en-US' && voices[i].name.includes('Google')) {
selectedVoice = voices[i];
break;
}
}
if (selectedVoice) {
utterance.voice = selectedVoice;
} else {
console.warn('No suitable voice found. Using default voice.');
}
};
utterance.onend = function() {
console.log('Speech synthesis finished.');
};
speakBtn.addEventListener('click', function() {
utterance.text = textInput.value;
speechSynthesis.speak(utterance);
});
} else {
console.log("Speech Synthesis API is not supported in this browser.");
document.getElementById('textInput').disabled = true;
document.getElementById('speakBtn').disabled = true;
}
</script>
</body>
</html>
å®çšçãªã¢ããªã±ãŒã·ã§ã³ãšãŠãŒã¹ã±ãŒã¹
Web Speech APIã¯ãããŸããŸãªæ¥çã®ããŸããŸãªã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšã§ããŸãã
- ã¢ã¯ã»ã·ããªãã£ããŒã«ïŒèŠèŠé害ã®ãããŠãŒã¶ãŒåãã®ã¹ã¯ãªãŒã³ãªãŒããŒãæ¯æŽæè¡ã®äœæã
- é³å£°å¶åŸ¡ã€ã³ã¿ãŒãã§ãŒã¹ïŒãŠã§ãã¢ããªã±ãŒã·ã§ã³ããã³ããã€ã¹åãã®é³å£°é§ååã®ããã²ãŒã·ã§ã³ããã³å¶åŸ¡ã·ã¹ãã ã®éçºããŠãŒã¶ãŒãé³å£°ã³ãã³ãã䜿çšããŠãç §æãå®¶é»è£œåãã»ãã¥ãªãã£ã·ã¹ãã ãå¶åŸ¡ã§ããã¹ããŒãããŒã ããã·ã¥ããŒããæ€èšããŠãã ããã
- èšèªåŠç¿ã¢ããªã±ãŒã·ã§ã³ïŒçºé³ãã£ãŒãããã¯ãšç·Žç¿ã®æ©äŒãæäŸããã€ã³ã¿ã©ã¯ãã£ããªèšèªåŠç¿ããŒã«ã®æ§ç¯ã
- å£è¿°ãšãã©ã³ã¹ã¯ãªãã·ã§ã³ãµãŒãã¹ïŒãŠãŒã¶ãŒãããã¹ãããŠã§ããã©ãŒã ãããã¥ã¡ã³ãã«çŽæ¥å£è¿°ã§ããããã«ããããšã§ãå¹çæ§ãšçç£æ§ãåäžãããŸããçŸå Žã®ãžã£ãŒããªã¹ããé³å£°ã§ã¡ã¢ãããã¹ãã«ãã°ããèšé²ããããšãæ³åããŠãã ããã
- ã«ã¹ã¿ããŒãµãŒãã¹ãã£ãããããïŒããŒãœãã©ã€ãºããããµããŒããšæ¯æŽãæäŸãããé³å£°ããŒã¹ã®ãã£ããããããã«ã¹ã¿ããŒãµãŒãã¹ãã©ãããã©ãŒã ã«çµ±åããŸããããã¯ãå€èšèªãµããŒããæäŸããã®ã«ç¹ã«åœ¹ç«ã¡ãŸãã
- ã²ãŒã ïŒãã£ã©ã¯ã¿ãŒå¶åŸ¡ãã¡ãã¥ãŒããã²ãŒã·ã§ã³ãã²ãŒã å ã³ãã¥ãã±ãŒã·ã§ã³ã®ããã®ã²ãŒã ã§ã®é³å£°ã³ãã³ãã®å®è£ ã
- Eã©ãŒãã³ã°ïŒé³å£°èµ·åã®ã¯ã€ãºãçºé³ç·Žç¿ããŒã«ããã®ä»ã®é åçãªæ©èœãåããã€ã³ã¿ã©ã¯ãã£ããªeã©ãŒãã³ã°ã¢ãžã¥ãŒã«ãäœæããŸãã
å®è£ ã«é¢ããã°ããŒãã«ãªèæ ®äºé
Web Speech APIãã°ããŒãã«ãªãªãŒãã£ãšã³ã¹ã«å®è£ ããå Žåã¯ã次ã®èŠçŽ ãèæ ®ããããšãéèŠã§ãã
- èšèªãµããŒãïŒAPIãã¿ãŒã²ãããªãŒãã£ãšã³ã¹ã«å¿ èŠãªèšèªããµããŒãããŠããããšã確èªããŸãããµããŒãã¯ç°ãªãå¯èœæ§ããããããããŸããŸãªãã©ãŠã¶ãšãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§ååã«ãã¹ãããŠãã ããã
- ã¢ã¯ã»ã³ããšæ¹èšã®ããªãšãŒã·ã§ã³ïŒèšèªå ã®ã¢ã¯ã»ã³ããšæ¹èšã®ããªãšãŒã·ã§ã³ã«æ³šæããŠãã ãããé³å£°èªèã®ç²ŸåºŠã¯ããããã®ããªãšãŒã·ã§ã³ã«ãã£ãŠåœ±é¿ãåããå¯èœæ§ããããŸãã倿§ãªã¢ã¯ã»ã³ããå«ãããŒã¿ã§ã·ã¹ãã ããã¬ãŒãã³ã°ãããšãããã©ãŒãã³ã¹ãåäžããŸãã
- ããã¯ã°ã©ãŠã³ããã€ãºïŒé³å£°èªèäžã®ããã¯ã°ã©ãŠã³ããã€ãºãæå°éã«æããŠã粟床ãåäžãããŸããéããªç°å¢ã§APIã䜿çšããããã®ã¬ã€ãã³ã¹ããŠãŒã¶ãŒã«æäŸããŸãã
- ãã©ã€ãã·ãŒãšã»ãã¥ãªãã£ïŒãªãŒãã£ãªããŒã¿ãå®å šã«åŠçããããŒã¿ã®äœ¿ç𿹿³ã«é¢ããæç¢ºãªæ å ±ãæäŸããããšã«ããããŠãŒã¶ãŒã®ãã©ã€ãã·ãŒãä¿è·ããŸãããšãŒãããã®GDPRïŒäžè¬ããŒã¿ä¿è·èŠåïŒãç±³åœã®CCPAïŒã«ãªãã©ã«ãã¢å·æ¶è²»è ãã©ã€ãã·ãŒæ³ïŒãªã©ãé¢é£ããããŒã¿ãã©ã€ãã·ãŒèŠå¶ã«æºæ ããŠãã ããã
- ãããã¯ãŒã¯æ¥ç¶ïŒé³å£°èªèãšããã¹ãèªã¿äžãã®äž¡æ¹ã®æ©èœã«ä¿¡é Œæ§ã®é«ããããã¯ãŒã¯æ¥ç¶ã確ä¿ããŸãããªãã©ã€ã³ãµããŒããæäŸããããé »ç¹ã«äœ¿çšãããããŒã¿ããã£ãã·ã¥ããŠãæ¥ç¶ã®åé¡ã軜æžããããšãæ€èšããŠãã ããã
- æåçãªé æ ®ïŒé³å£°ã€ã³ã¿ãŒãã§ãŒã¹ãèšèšããéã«ã¯ãæåçãªéãã«æ³šæããŠãã ããããã¹ãŠã®ãŠãŒã¶ãŒãçè§£ã§ãããšã¯éããªãã¹ã©ã³ã°ãæ £çšè¡šçŸã®äœ¿çšãé¿ããŠãã ãããããã¹ãèªã¿äžãã§äœ¿çšãããé³å£°ãšèšèªããŠãŒã¶ãŒãã«ã¹ã¿ãã€ãºã§ããããã«ããããšãæ€èšããŠãã ããã
é«åºŠãªãã¯ããã¯ãšãã¹ããã©ã¯ãã£ã¹
Web Speech APIã®å¹æãæå€§éã«é«ããã«ã¯ããããã®é«åºŠãªãã¯ããã¯ãšãã¹ããã©ã¯ãã£ã¹ãæ€èšããŠãã ããã
- ã«ã¹ã¿ã èªåœïŒé³å£°èªèã®å Žåãã¢ããªã±ãŒã·ã§ã³ã«é¢é£ããç¹å®ã®åèªãŸãã¯ãã¬ãŒãºã®ç²ŸåºŠãåäžãããããã«ãã«ã¹ã¿ã èªåœãå®çŸ©ã§ããŸãã
- ææ³å®çŸ©ïŒSpeech Recognition Grammar SpecificationïŒSRGSïŒã䜿çšããŠãé³å£°èªèã®ææ³ãå®çŸ©ããããã«ç²ŸåºŠãåäžãããŸãã
- ã³ã³ããã¹ãèªèïŒé³å£°èªèã®å®è£ ã«ã³ã³ããã¹ãæ å ±ãçµã¿èŸŒãã§ã粟床ãšé¢é£æ§ãåäžãããŸããããšãã°ããŠãŒã¶ãŒããã©ãŒã ã«å ¥åããŠããå Žåãã·ã¹ãã ã¯åãã£ãŒã«ãã§ç¹å®ã®ã¿ã€ãã®å ¥åãäºæã§ããŸãã
- ãŠãŒã¶ãŒãã£ãŒãããã¯ïŒé³å£°èªèãšããã¹ãèªã¿äžãã®ã¹ããŒã¿ã¹ã«é¢ããæç¢ºãªãã£ãŒãããã¯ããŠãŒã¶ãŒã«æäŸããŸããã·ã¹ãã ããªãã¹ã³ãåŠçããŸãã¯çºè©±ããŠããããšã瀺ãããã«ãèŠèŠçãªåå³ã䜿çšããŸãã
- ãšã©ãŒåŠçïŒäºæããªããšã©ãŒãé©åã«åŠçãããŠãŒã¶ãŒã«æçãªã¡ãã»ãŒãžãæäŸããããã«ãå ç¢ãªãšã©ãŒåŠçãå®è£ ããŸãã
- ããã©ãŒãã³ã¹ã®æé©åïŒã¹ã ãŒãºã§å¿çæ§ã®é«ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã確ä¿ããããã«ãããã©ãŒãã³ã¹ã®ããã«ã³ãŒããæé©åããŸããåŠçãããããŒã¿ã®éãæå°éã«æããäžèŠãªèšç®ãé¿ããŠãã ããã
- ãã¹ããšè©äŸ¡ïŒäºææ§ãšç²ŸåºŠã確ä¿ããããã«ãããŸããŸãªãã©ãŠã¶ãããã€ã¹ãèšèªã§å®è£ ã培åºçã«ãã¹ãããŠè©äŸ¡ããŸããæ¹åã®äœå°ãç¹å®ããããã«ããŠãŒã¶ãŒãã£ãŒãããã¯ãåéããŸãã
çµè«
Web Speech APIã¯ãé³å£°èªèãšããã¹ãèªã¿äžãæ©èœããŠã§ãã¢ããªã±ãŒã·ã§ã³ã«çµ±åããããã®åŒ·åã§çšéã®åºãæ¹æ³ãæäŸããŸãããã®ã¬ã€ãã§æŠèª¬ãããŠããã³ã¢ã³ã³ã»ãããå®è£ ã®è©³çްãããã³ãã¹ããã©ã¯ãã£ã¹ãçè§£ããããšã«ããããã®ãã¯ãããžãŒã®å¯èœæ§ãæå€§éã«åŒãåºããäžçäžã®ãŠãŒã¶ãŒåãã«ãããã¢ã¯ã»ã¹ãããããã€ã³ã¿ã©ã¯ãã£ãã§é åçãªãšã¯ã¹ããªãšã³ã¹ãäœæã§ããŸããèšèªãµããŒããã¢ã¯ã»ã³ãã®ããªãšãŒã·ã§ã³ããã©ã€ãã·ãŒãæåçæåºŠãªã©ã®ã°ããŒãã«ãªèŠå ãèæ ®ããŠã倿§ãªãªãŒãã£ãšã³ã¹ã«ãšã£ãŠå æ¬çã§å¹æçãªã¢ããªã±ãŒã·ã§ã³ã§ããããšã確èªããŠãã ãããWeb Speech APIãé²åãç¶ããã«ã€ããŠãææ°ã®é²æ©ãšãã¹ããã©ã¯ãã£ã¹ãåžžã«ææ¡ããããšãã驿°çã§ã€ã³ãã¯ãã®ããé³å£°å¯Ÿå¿ã®ãŠã§ããšã¯ã¹ããªãšã³ã¹ãæäŸããããã«äžå¯æ¬ ã«ãªããŸãã