[JS]web speach apiで音声出力、音声からテキスト取得
更新:2023-06-18
JS技術メモ!
web speach apiを使ってみる
web speach apiは無料で制限なく使えるみたい
・音声認識(マイクで発生した内容をテキストで取得する)
・音声合成(テキストを音声として出力する)
の二つの機能があるみたい(すごい)
■音声認識を試してみる
※この機能はHTTPSアクセスできるサイトじゃないとダメみたいです
(なんかマイクが音声を拾ってくれない)
↓認識結果 うまく機能しなかったらごめんなさい
↓くそコード
■音声合成を試してみる
↓くそコード
音声認識詳細ページ
音声合成詳細ページ
音声認識はなんか感度(中々音声を認識してくれない)が低い気がした
大きい声でなんども繰り返し発声してやっと認識される...みたいな
音声認識も合成も各OSの代表的なブラウザで動作できるみたい
(上のリンク先にブラウザーの互換性の記載があるよ)
PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html,
web speach apiを使ってみる
web speach apiは無料で制限なく使えるみたい
・音声認識(マイクで発生した内容をテキストで取得する)
・音声合成(テキストを音声として出力する)
の二つの機能があるみたい(すごい)
■音声認識を試してみる
※この機能はHTTPSアクセスできるサイトじゃないとダメみたいです
(なんかマイクが音声を拾ってくれない)
↓認識結果 うまく機能しなかったらごめんなさい
↓くそコード
<div id="voice-status" style="display:none;">
音声認識中...(何か喋ってみて)
</div>
↓認識結果 うまく機能しなかったらごめんなさい
<div id="voice-text" style="border: 1px solid #dddddd;padding: 10px;min-height:10px;"></div>
<button id="voice-st-btn" style="float: left;margin-right: 10px;">音声認識を開始するよ</button>
<button id="submit-btn">送信</button>
<script>
window.onload = function() {
document.getElementById('voice-st-btn').onclick = function() {
voice_recognition_start();
}
};
function voice_recognition_start () {
document.getElementById('voice-status').style.display = "block";
recognition.start();
}
function voice_recognition_end () {
document.getElementById('voice-status').style.display = "none";
recognition.stop();
}
window.SpeechRecognition = window.SpeechRecognition || webkitSpeechRecognition;
let recognition = new webkitSpeechRecognition();
recognition.lang = 'ja';
recognition.onresult = function(event){
document.getElementById('voice-status').style.display = "none";
var results = event.results;
for (var i = event.resultIndex; i < results.length; i++)
document.getElementById('voice-text').innerHTML = results[i][0].transcript;
}
recognition.onaudioend = () => {
document.getElementById('voice-status').style.display = "none";
}
</script>
■音声合成を試してみる
↓くそコード
<textarea id="input-text" style="width: 100%;margin-top: 10px;">マイクテス、マイクテス</textarea><br>
<button id="speak-btn">喋らせる</button>
<script>
window.onload = function() {
document.getElementById('speak-btn').onclick = function() {
const text = document.getElementById('input-text').value;
if (text) {
const uttr = new SpeechSynthesisUtterance();
uttr.text = text;
// 音声を出力
window.speechSynthesis.speak(uttr);
console.log(text);
} else {
alert('喋らせたい内容を入力してください');
}
}
};
</script>
音声認識詳細ページ
音声合成詳細ページ
音声認識はなんか感度(中々音声を認識してくれない)が低い気がした
大きい声でなんども繰り返し発声してやっと認識される...みたいな
音声認識も合成も各OSの代表的なブラウザで動作できるみたい
(上のリンク先にブラウザーの互換性の記載があるよ)
PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html, PHP,javascript,css,html,