challenge 音声合成でHello, world!

与えられた文字列を音声合成して再生する関数を作ってください。

使用したライブラリはタグでつけてください。またOSに依存する場合もタグでつけてください。日本語文字列も発音できることが好ましいですが、必須ではありません。

以下はサンプルです。

>>> say("Hello, world!")
>>> say("con nitch were") # 「こんにちは」
>>> say("daw cat coo org, sole what program mar know tum yen know Colosseum death")

Posted feedbacks - JavaScript

↓から落としてインストールすれば様々な言語が使える模様。(TTSが登録されて無いようなら "regsvr32 VText.dll" する。)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
function doukaku59(text, option){ // テキスト [, {language:言語, gender:性別, speed:速度}]
  var i = 1, c, l, g, s;
  with(new ActiveXObject('TextToSpeech.TextToSpeech')){
    c = countEngines;
    if(l = option.language) for(; i <= c && !~modeName(i).indexOf(l); i++);
    if(g = option.gender)   for(; i <= c && !~modeName(i).indexOf(g); i++);
    if(s = option.speed)    if(95 <= s && s <= 270) speed = s;
    try { select(i) } catch(e){ WSH.echo('No engines for the option.'); WSH.quit() }
    for(speak(text); isSpeaking; WSH.sleep(590));
  }
}
doukaku59('Hello, world!', {language:'English', gender:'Male', speed:160});
doukaku59('こんにちは!', {language:'Japanese', gender:'Female'});

個人的にはnipotanと言う発音は神がかってると思う。

1
2
3
4
5
6
7
function say(msg) {
  var sprk = new ActiveXObject("SAPI.SpVoice");
  sprk.Speak(msg);
}

say("Hello world");
say("nipotan");

Index

Feed

Other

Link

Pathtraq

loading...