Scratchで はじめようゲームプログラミング
7.音声合成で「こんにちは」
今回はゲームを作りません。
テキスト(文字列)の入力と音声合成の機能を使ってみようと思います。
ゲームに限らず色々なことに使えると思います。
機能の使い方を覚えるだけでなく、それをどのように利用するかイメージすることも忘れないでください。
背景を入れよう
新しくプロジェクトを作りましょう。
作るをクリックします。
作品の名前を入力しましょう。
私は「君の名は?」にしました。
背景を入れます。
ページの右下にあるステージの枠の下のボタンをクリックします。
背景の絵を選択します。
なんの絵でもいいです。私は屋内をクリックしてBedroom 3を選びました。
背景に絵が入りました。
機能を試すだけなら背景なんて必要ないのですが、絵があると「次はこんなことしてみようかな」って気持ちになりやすいので入れています。
質問と答え
質問を表示して、答えを入力してもらうための入力欄を作ります。
また、その入力されたものを利用してみます。
簡単なのでサクッと作りましょう。
イベントから旗が押されたときを持ってきます。
調べるからあなたの名前は何ですか?と聞いて待つを持ってきます。
なんと、このブロックだけで質問のメッセージと入力欄の用意をしてくれます。
入力された答えを表示する仕組みを作ります。
見た目からこんにちは!と言うを持ってきます。
調べるに戻って答えを先ほどのブロックに入れます。
実行してみましょう。
「あなたの名前は何ですか?」という表示と入力欄が用意されました。
このときプログラムはあなたの名前は何ですか?と聞いて待つのブロックで処理が入力待ちになっています。
入力欄に何かテキストを入力してみてください。
入力が終わったらエンターキーを押します。
処理が進み答え と言うが実行され、入力した内容が表示されます。
なお、エンターキーではなく、入力欄の右側にあるチェックアイコンをクリックしても入力は完了します。
返事をしよう
入力されたテキストを使って、ちゃんとした返事を作りたいと思います。
なお、プログラミングでテキストのことを文字列と言います。
「こんにちは、○○さん」
という文字列を返事にしたいため、文字列の連結(つなぎ合わせ)が必要です。
文字列の連結には演算にあるりんごとバナナのブロックを使います。
今回、3つの文字列を連結するためブロックを2つ用意します。
バナナの中にもう一つのブロックを入れます。
これで3つの文字列が連結できます。
真ん中に答えを入れます。
左を「こんにちは、」 右を「さん」に変更します。
最後にブロックをこんにちは と言うに入れます。
テストしましょう。
「田中」と入力すれば「こんにちは、田中さん」という文章になって表示されます。
音声合成を使ってみよう
拡張機能って知っていますか?
普段は使わないけど、ちょっと特別なことをしたいときに使える便利な機能がいくつか用意されています。
今回は音声合成を使ってみようと思います。
文字列の言葉を読み上げる機能です。
音が出るのでスピーカーの音量に注意してください。
ページの左下にある拡張機能アイコンをクリックします。
音声合成を選んでください。
これで音声合成の機能が追加されました。簡単ですね。
カテゴリアイコンの一番下に音声合成のアイコンが追加されます。確認しましょう。
こんにちは としゃべるを持ってきます。
先ほど連結させて作ったこんにちは、と 答え とさんをコピーしてください。
右クリックして複製を選びます。
コピーしたものをこんにちは としゃべるの中に入れます。
まずは簡単なひらがなの文字でテストしてみてください。
自分の名前や短めの文章を入力して、ちゃんとしゃべってくれるのか確認しましょう。
漢字の文章も試してみてください。
苦手なものもあるようですね。
英語ネイティブ
音声合成には英語ネイティブで発声させる機能もあります。
やってみましょう。
スペースキーを押したら「ゲームオーバー」と言う処理を作ります。
イベントからスペースキーが押されたときを持ってきます。
見た目からこんにちは!と言うを持ってきます。
メッセージを「ゲームオーバー」に変更します。
音声合成からこんにちはとしゃべるを持ってきます。
メッセージを「game over」に変更します。
スペースキーを押してテストします。
「ゲームオーバー」と表示されながら音声が聞こえますか?
日本人が発声しているような声ですね。
言語を日本語にするを入れて、英語に変更します。
スペースキーを押してテストしてください。
今度の発音は英語ネイティブになったと思います。
もう一つテストしてください。
実行ボタンを押して名前を入力し、発音を確認してください。
たどたどしい発音になったと思います。言語が英語になったままだからです。
名前を答える処理には言語を日本語にするを入れましょう。
日本語をしゃべらせるときには日本語モードが一番いいです。
音声合成の機能はどうでしたか?
使い勝手がよかったですね。ゲームの中でも色々と使えそうです。