初心者のためのゲームプログラミング入門

プログラミングとゲームの杜

初心者のためのプログラミング入門 & ゲームプログラムの作り方入門

Scratchで はじめようゲームプログラミング

7.音声合成で「こんにちは」

 

今回はゲームを作りません。
テキスト(文字列)の入力と音声合成の機能を使ってみようと思います。

ゲームに限らず色々なことに使えると思います。
機能の使い方を覚えるだけでなく、それをどのように利用するかイメージすることも忘れないでください。

 

 

背景を入れよう

新しくプロジェクトを作りましょう。
作るをクリックします。

作るをクリックする

 

作品の名前を入力しましょう。
私は「君の名は?」にしました。

作品の名前を入力する

 

背景を入れます。
ページの右下にあるステージの枠の下のボタンをクリックします。

背景を入れる

 

背景の絵を選択します。
なんの絵でもいいです。私は屋内をクリックしてBedroom 3を選びました。

背景の絵を選択する

 

背景に絵が入りました。
機能を試すだけなら背景なんて必要ないのですが、絵があると「次はこんなことしてみようかな」って気持ちになりやすいので入れています。

背景に絵が入った

 

 

質問と答え

質問を表示して、答えを入力してもらうための入力欄を作ります。
また、その入力されたものを利用してみます。
簡単なのでサクッと作りましょう。

イベントから旗が押されたときを持ってきます。

旗が押されたときを使う

 

調べるからあなたの名前は何ですか?と聞いて待つを持ってきます。
なんと、このブロックだけで質問のメッセージと入力欄の用意をしてくれます。

あなたの名前は何ですか?と聞いて待つを使う

 

入力された答えを表示する仕組みを作ります。
見た目からこんにちは!と言うを持ってきます。

こんにちは!と言うを使う

 

調べるに戻って答えを先ほどのブロックに入れます。

答えを使う

 

実行してみましょう。
「あなたの名前は何ですか?」という表示と入力欄が用意されました。
このときプログラムはあなたの名前は何ですか?と聞いて待つのブロックで処理が入力待ちになっています。

と聞いて待つで入力待ちになる

 

入力欄に何かテキストを入力してみてください。
入力が終わったらエンターキーを押します。
処理が進み答え と言うが実行され、入力した内容が表示されます。

入力した内容が表示される

なお、エンターキーではなく、入力欄の右側にあるチェックアイコンをクリックしても入力は完了します。

 

 

返事をしよう

入力されたテキストを使って、ちゃんとした返事を作りたいと思います。
なお、プログラミングでテキストのことを文字列と言います。

「こんにちは、○○さん」
という文字列を返事にしたいため、文字列の連結(つなぎ合わせ)が必要です。

文字列の連結には演算にあるりんごとバナナのブロックを使います。
今回、3つの文字列を連結するためブロックを2つ用意します。

りんごとバナナを使う

 

バナナの中にもう一つのブロックを入れます。
これで3つの文字列が連結できます。

3つの文字列を連結する

 

真ん中に答えを入れます。

答えを連結する

 

左を「こんにちは、」 右を「さん」に変更します。
最後にブロックをこんにちは と言うに入れます。

連結したブロックを言うの中に入れる

 

テストしましょう。
「田中」と入力すれば「こんにちは、田中さん」という文章になって表示されます。

返事のメッセージを確認する

 

 

音声合成を使ってみよう

拡張機能って知っていますか?
普段は使わないけど、ちょっと特別なことをしたいときに使える便利な機能がいくつか用意されています。

今回は音声合成を使ってみようと思います。
文字列の言葉を読み上げる機能です。
音が出るのでスピーカーの音量に注意してください。

ページの左下にある拡張機能アイコンをクリックします。

拡張機能を使う

 

音声合成を選んでください。

音声合成を選ぶ

 

これで音声合成の機能が追加されました。簡単ですね。
カテゴリアイコンの一番下に音声合成のアイコンが追加されます。確認しましょう。

音声合成のアイコンが追加される

 

こんにちは としゃべるを持ってきます。

こんにちはとしゃべるを使う

 

先ほど連結させて作ったこんにちは、と 答え とさんをコピーしてください。
右クリックして複製を選びます。
コピーしたものをこんにちは としゃべるの中に入れます。

返事の文字列をしゃべるの中に入れる

 

まずは簡単なひらがなの文字でテストしてみてください。
自分の名前や短めの文章を入力して、ちゃんとしゃべってくれるのか確認しましょう。
漢字の文章も試してみてください。
苦手なものもあるようですね。

入力したものをしゃべらせるテストをする

 

 

英語ネイティブ

音声合成には英語ネイティブで発声させる機能もあります。
やってみましょう。
スペースキーを押したら「ゲームオーバー」と言う処理を作ります。

イベントからスペースキーが押されたときを持ってきます。

音声合成の機能を使ってみる

 

見た目からこんにちは!と言うを持ってきます。
メッセージを「ゲームオーバー」に変更します。

こんにちは!と言うを使う

 

音声合成からこんにちはとしゃべるを持ってきます。
メッセージを「game over」に変更します。

ゲームオーバーとしゃべらせる

 

スペースキーを押してテストします。
「ゲームオーバー」と表示されながら音声が聞こえますか?
日本人が発声しているような声ですね。

日本人のような発声

 

言語を日本語にするを入れて、英語に変更します。
スペースキーを押してテストしてください。
今度の発音は英語ネイティブになったと思います。

言語を英語にしてテストする

 

もう一つテストしてください。
実行ボタンを押して名前を入力し、発音を確認してください。
たどたどしい発音になったと思います。言語が英語になったままだからです。

英語設定のまま日本語をしゃべっている

 

名前を答える処理には言語を日本語にするを入れましょう。
日本語をしゃべらせるときには日本語モードが一番いいです。

日本語を喋らせる時は日本語モードで

 

音声合成の機能はどうでしたか?
使い勝手がよかったですね。ゲームの中でも色々と使えそうです。