$voise = null;
$voiseName = lang.lang_speech;
$voices = speechSynthesis.getVoices();
$synthes = new SpeechSynthesisUtterance();
$voise = $.grep($voices, function (n, i) { return n.name == $voiseName })[0];
$synthes.voice = $voise;                  // 音声の設定
localStorage.removeItem("voicebank");
speechSynthesis.cancel()
if (!localStorage.getItem("voice_vol")) {
    localStorage.setItem("voice_vol", 1)
}
$synthes.rate = localStorage.getItem("voice_speed");
$synthes.pitch = localStorage.getItem("voice_pitch");
$synthes.volume = localStorage.getItem("voice_vol");
function say(msgr) {
    msg = voiceParse(msgr);
    var voice = localStorage.getItem("voicebank");
    var obj = JSON.parse(voice);
    if (!obj) {
        var json = JSON.stringify([msg]);
        localStorage.setItem("voicebank", json);
    } else {
        obj.push([msg]);
        var json = JSON.stringify(obj);
        localStorage.setItem("voicebank", json);
    }

}
$repeat = setInterval(function () {
    if (!speechSynthesis.speaking) {
        var voice = localStorage.getItem("voicebank");
        if (voice) {
            var obj = JSON.parse(voice);
            if (obj[0]) {
                $synthes.text = obj[0];
                speechSynthesis.speak($synthes);
                obj.splice(0, 1);
                var json = JSON.stringify(obj);
                localStorage.setItem("voicebank", json);
            }
        }
    }
}, 300);
function voiceParse(msg) {
    msg = $.strip_tags(msg);
    msg = msg.replace(/#/g, "");
    msg = msg.replace(/'/g, "");
    msg = msg.replace(/"/g, "");
    msg = msg.replace(/https?:\/\/[a-zA-Z0-9./-@_=?%&-]+/g, "");
    return msg;
}
function voiceToggle(tlid) {
    var voiceck = localStorage.getItem("voice_" + tlid);
    if (voiceck) {
        localStorage.removeItem("voice_" + tlid);
        speechSynthesis.cancel()
        $("#sta-voice-" + tlid).text("Off");
        $("#sta-voice-" + tlid).css("color", 'red');
        parseColumn(tlid);
    } else {
        localStorage.setItem("voice_" + tlid, "true");
        $("#sta-voice-" + tlid).text("On");
        $("#sta-voice-" + tlid).css("color", '#009688');
        parseColumn(tlid);
    }
}
function voiceCheck(tlid) {
    var voiceck = localStorage.getItem("voice_" + tlid);
    if (voiceck) {
        $("#sta-voice-" + tlid).text("On");
        $("#sta-voice-" + tlid).css("color", '#009688');
    } else {
        $("#sta-voice-" + tlid).text("Off");
        $("#sta-voice-" + tlid).css("color", 'red');
    }
}
function voicePlay() {
    if (speechSynthesis.speaking) {
        speechSynthesis.cancel()
    } else {
        $synthes.text = $("#voicetxt").val();
        $synthes.rate = $("#voicespeed").val() / 10;
        $synthes.pitch = $("#voicepitch").val() / 50;
        $synthes.volume = $("#voicevol").val() / 100;
        speechSynthesis.speak($synthes);
    }
}

function voiceSettings() {
    localStorage.setItem("voice_speed", $("#voicespeed").val() / 10);
    localStorage.setItem("voice_pitch", $("#voicepitch").val() / 50);
    localStorage.setItem("voice_vol", $("#voicevol").val() / 100);
    M.toast({ html: lang.lang_speech_refresh, displayLength: 3000 })
}
function voiceSettingLoad() {
    var speed = localStorage.getItem("voice_speed");
    var pitch = localStorage.getItem("voice_pitch");
    var vol = localStorage.getItem("voice_vol");
    if (speed) {
        $("#voicespeed").val(speed * 10);
    }
    if (pitch) {
        $("#voicepitch").val(pitch * 50);
    }
    if (vol) {
        $("#voicevol").val(vol * 100);
    }
}