4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Makeblock の CyberPi を使ったビジュアルプログラミングで音声認識を試す

Last updated at Posted at 2021-04-10

この記事の内容は、Makeblock が出している製品の 1つである CyberPi(以下のツイートの写真にうつっているもの) をビジュアルプログラミングの環境で試してみた話です。

CyberPi について等の情報は後で記載しますが、ボタンやスピーカー・フルカラーLED などといった機能が入っており、「ボタンを押したら、LED が光って、それと合わせて音を出す」といったものは簡単に作れてしまったりします(以下の動画のとおり)。

また、Wi-Fi へ直接接続できる機能もあるため、インターネットを介した処理(今回の記事で扱った音声認識など)も利用できたりします。

CyberPi とは

CyberPi は、以下のページ内にも書かれているとおり、「様々な機能が内蔵されているシングルボードコンピュータ」です。「フルカラーディスプレイ・スピーカー・マイク・ジョイスティック・ボタン・複数のセンサーなど」を搭載していたり、Wi-Fi に接続可能なモジュールも内蔵しています。
そして、ビジュアルプログラミング・Python を用いた開発を行うことが可能です。

●Makeblock、ネットワーク対応のプログラミング教材「CyberPi」の販売を開始 - Makeblock
 https://www.makeblock.com/jp/news-center-jp/274405.html
●CyberPi - ネットワーク対応のマイクロコンピュータ- Makeblock
 https://www.makeblock.com/jp/steam-kits/cyberpi
CyberPi.jpg

mBlock について

上記のとおり、開発にはビジュアルプログラミング(ブロックベース)と Python を用いることができますが、今回はビジュアルプログラミングのほうを用います。

プログラミングに使う mBlock の概要

ブロックを使ったビジュアルプログラミングには、mBlock を用います。
mBlock には、インストールして利用する「デスクトップ版」と、ネットを介してブラウザ上で開発ができる「ウェブ版」がありますが、今回は Mac用のデスクトップ版を使いました。
mBlockのダウンロード.jpg

mBlock の画面はこのようなものになります。
mBlockの画面.jpg

mBlock でのプログラミング

とりあえず、簡単な動作を試してみたい、という場合は以下の記事を見て試してみたりすると良いかもしれません。
 ●携帯ゲーム機風のプログラミング学習用コンピューター「CyberPi」 ~ジョイスティックやディスプレイを搭載 - どれ使う?プログラミング教育ツール - 窓の杜
  https://forest.watch.impress.co.jp/docs/serial/progedu/1317273.html

ここから、音声認識の処理を行うプログラムについて説明していきます。

音声認識を試す

音声認識用に組んだプログラムは以下のとおりです。

AIブロックを使ったもの.jpg

プログラムの大まかな処理の流れは以下となります。

  1. Wi-Fi 接続
    1. 接続準備のタイミングで LED を光らせる(状況を分かりやすくするためのもの)
    2. SSID・パスワードを設定
    3. ネットワーク接続完了まで待機する処理
    4. ネットワークに接続したら、画面に文字を表示させたり LED を光らせる(状況を分かりやすくするためのもの)
  2. 音声認識関連
    1. Aボタン押下に連動する形で処理を実行
    2. 音声認識を開始するタイミングで LED を光らせる(状況を分かりやすくするためのもの)
    3. 日本語による音声認識を行う
    4. 音声認識処理の終了後に LED を光らせる(状況を分かりやすくするためのもの)
    5. 音声認識結果表示前に音を鳴らす(状況を分かりやすくするためのもの)
    6. 音声認識結果を画面に表示する

そして、実際に動作させた時の様子は以下のとおりです。
なお、動画ではうまくいった部分を編集してつなげており、誤認識が混じる場合もありました。

AI・IoT用のブロックを使う際の注意1

AI・IoT用のブロックを使う場合、注意する点があります。
起動時のデフォルト設定の「アップロードモード:オフ」では、これらのブロックが使えません(表示上、グレーアウトした状態になります)。そのため、「アップロードモード:オン」に設定してプログラムを作ってください。
アップロードモードの切り替え.png
アップロードモードがオフの状態だと、PC と CyberPi を接続して開発している際に、プログラムの変更が動的にデバイスの動作に反映されて便利に使えるのですが、今回のブロックを使う場合は利用NG のようです。
なお、「アップロードモード:オン」にしてデバイスにプログラムを書き込むと、「アップロードモード:オフ」で開発している時と異なり、CyberPi を PC から外して単独で起動させた場合でも、書き込んだプログラムが実行できるようになります。

なお、アップロードモードをオンにする必要があるという話は、ブロックのヘルプ(以下の画像の内容)で確認しました。そのヘルプは、mBlock上のブロックの上で右クリックをすると呼び出すことができます。
アップロードモードで利用するという記載(ヘルプ).jpg

AI・IoT用のブロックを使う際の注意2

もう 1つ注意点があります。
それは、AI・IoT用のブロックを使う際にはアカウント登録・ログインが必要になることです。

以下の記事にあるように、メニューバーのアカウントのアイコンの見た目でも、ログインしている状態かどうかを判別できます。
 ●「mBlockでAI(人工知のう)を学ぼう」お家で学ぶ初めてのプログラミング - Makeblock
  https://www.makeblock.com/jp/mblock-jp/267069.html
アカウント登録・ログインについて.jpg

おわりに

今回、CyberPi の音声認識機能を、mBlock を使ったビジュアルプログラミングでの開発で実装してみました。他にも様々な機能が使えるので、他の機能を使うプログラムも作ってみたいと思います。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?