-
-
Save mecab/a14a761d76a9136a96466b0fc4c2acc3 to your computer and use it in GitHub Desktop.
window.addEventListener('message', function(e) { | |
const data = e.data || {}; | |
if (data.type !== 'item') | |
return; | |
const message = data.message || {}; | |
const obj = { detail: { command: message.command, body: message.body, from: message.from }}; | |
const synth = window.speechSynthesis; | |
if (obj.detail.command === 'PRIVMSG') { | |
var utter = new SpeechSynthesisUtterance(obj.detail.body); | |
utter.voice = synth.getVoices().filter(v => v.lang === 'ja-JP')[0]; | |
utter.rate = 1; | |
utter.pitch = 1; | |
synth.speak(utter); | |
} | |
}); |
I release above code under CC0.
( https://creativecommons.org/publicdomain/zero/1.0/deed )
I see. Thank you.
If it doesn't work use the following instead;
(Released under CC0)
window.addEventListener('message', function(e) {
const data = e.data || {};
if (data.type !== 'item')
return;
const message = data.message || {};
const obj = { detail: { command: message.command, body: message.body, from: message.from }};
const synth = window.speechSynthesis;
if (obj.detail.command === 'PRIVMSG') {
var utter = new SpeechSynthesisUtterance(obj.detail.body);
utter.voice = synth.getVoices().filter(v => v.lang === 'ja-JP')[0];
utter.rate = 1;
utter.pitch = 1;
synth.speak(utter);
}
});
EDIT: Applied above to the gist. Previous version can be seen at https://gist.github.com/mecab/a14a761d76a9136a96466b0fc4c2acc3/e93bca2e683b30ca2ccbb03702972be20734012f
Thank you for releasing this amazing code under CC0.
When I implement this codes into Chat Box in Streamlabs, it reads out each comment three times repeatedly.
Do you know how to fix it?
@yuichitanakadesu Sorry for the very late reply. I got some reports that recent OBS seems to read comments by itself (i.e., the browser inside OBS can use speech API), I haven't confirmed yet though. In this case, you won't need the external browser anymore so please just close it.
What kind of license is applied for this code?