Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
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);
}
});
@kimitaka

This comment has been minimized.

Copy link

@kimitaka kimitaka commented Mar 16, 2020

What kind of license is applied for this code?

@mecab

This comment has been minimized.

Copy link
Owner Author

@mecab mecab commented Mar 18, 2020

I release above code under CC0.
( https://creativecommons.org/publicdomain/zero/1.0/deed )

@kimitaka

This comment has been minimized.

Copy link

@kimitaka kimitaka commented Mar 18, 2020

I see. Thank you.

@mecab

This comment has been minimized.

Copy link
Owner Author

@mecab mecab commented Aug 22, 2020

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.