pirika logo

ホームページ Pirikaで化学 ブログ 業務案内 お問い合わせ
情報化学+教育トップ 情報化学 MAGICIAN MOOC プログラミング

プログラミング・トップ > 化学,薬学系の親子で楽しみながらプログラミング >1-6 問題を読ませるには?

2022.3.12

Pirika.comでプログラミング
山本博志

問題を音声で読ませるには?

3択クイズによっては文字で見てもダメなものもあります。
例えば、読者のフィードバックで、ひらがなの「し」はどれ?
に対して、「く」、「し」、「つ」から選ぶというものがありました。

問題文に「し」があるので、パターン認識で「し」が選べるかもしれません。

では、「りんご」を絵で教えていて、「りんご」、「みかん」、「バナナ」の絵の中からりんごはどれ?ってやろうとしたら、問題文の「りんご」という文字がわかる年までこの3択クイズは使えません。

その時には、問題を読ませましょう。


りんごはどれ?
をコピーして、次のテキストエリアにペーストしましょう。


テキストエリアを読み込んで、話してくれます。
これがHTML5という規格のすごいところです。

次のプログラムで、簡単に読み上げてくれるのです。
3択クイズの質問は既に変数に入っているので、speak.textに代入して、MySpeech();を呼べば質問を読み上げてくれます。

<script>
var speak = new SpeechSynthesisUtterance();
speak.text = "サンプル";

function GetTextArea(){
    var textAreaValue = document.getElementById("textarea1"); // htmlでID textareaの内容を取り出す。
    speak.text =textAreaValue.value;//テキトエリアの内容を代入
    MySpeech();
}

function MySpeech(){
    speechSynthesis.speak(speak);
}
</script>

機械による読み上げでは無く、肉声も使える。

MacやiPhone(それ以外でもこの機能はあるでしょう。誰か教えてください。)では音声を録音するボイスメモの機能があります。
これをmp3に変換すると、javascriptから簡単に扱う事ができます。
(mp3への変換方法はネットなどで調べて見てください。私はVLCというアプリを使いました。)


次の再生ボタンを押して見てください。(ちなみに、私の誕生日3月20日が近いので自分で自分におめでとうと言って見ました。)

自分の声で、絵本読み上げなどに使えます。

html
<button onclick="play()" id="play">再生</button>
<button onclick="stop()">停止</button>

<script>
var music = new Audio();
  function init() {
    music.preload = "auto";
    music.src = "./images/HB.mp3";//読み込む音声ファイルを指定する。
    music.load();

    music.addEventListener("ended", function () {
      music.currentTime = 0;
      music.play();
    }, false);
  }

  function play() {
    music.loop = true;
    music.play();
  }

  function stop() {
    music.pause();
    music.currentTime = 0;
  }

  init();

</script>

プログラミング・トップ > 化学,薬学系の親子で楽しみながらプログラミング


Copyright pirika.com since 1999-
Mail: yamahiroXpirika.com (Xを@に置き換えてください) メールの件名は[pirika]で始めてください。