SpeechSynthesisUtterance: volume プロパティ

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2018.

volumeSpeechSynthesisUtterance インターフェイスのプロパティで、発話の音量を取得および設定します。

未設定の場合、既定値の 1 が使用されます。

0 (最低)から 1 (最高)の間の浮動小数点数で、音量を表します。

SSML を使用している場合、この値はマークアップの韻律タグによって上書きされます。

js
const synth = window.speechSynthesis;

const inputForm = document.querySelector("form");
const inputTxt = document.querySelector("input");
const voiceSelect = document.querySelector("select");

const voices = synth.getVoices();

// ...

inputForm.onsubmit = (event) => {
  event.preventDefault();

  const utterThis = new SpeechSynthesisUtterance(inputTxt.value);
  const selectedOption =
    voiceSelect.selectedOptions[0].getAttribute("data-name");
  for (let i = 0; i < voices.length; i++) {
    if (voices[i].name === selectedOption) {
      utterThis.voice = voices[i];
    }
  }
  utterThis.volume = 0.5;
  synth.speak(utterThis);
  inputTxt.blur();
};

仕様書

Specification
Web Speech API
# dom-speechsynthesisutterance-volume

ブラウザーの互換性

BCD tables only load in the browser

関連情報