Skip to the content.

(HOME)

Scratch 2 オフラインで使える音声対話ロボット/音声対話システム用ブロック

気軽に対話システムや対話ロボット、スマートスピーカーのプロトタイプを作成するには、音声合成、音声認識、および電子回路(目が光る、頭が動く)を Scratch で使えるとよさそうです。それに、常にインターネットに接続できる環境にいるとは限らないので、すべてオフラインで行えるようにしたいところ。ここではそんな Scratch ブロックを実現するための設計方針をまとめます。

(クリックするとそれぞれの解説ページへ)

設計

拡張ブロックとヘルパー

機能 ヘルパー名 (github へのリンク) と解説 ポート番号 ベースとなるエンジン/API Scratch デモプロジェクト
音声合成 s2speak
[解説]
50210/TCP (HTTP) OpenJTalk s2speak_demo.sb2
音声認識 s2listen
[解説]
50211/TCP (HTTP) Julius s2listen_demo.sb2
顔検出 s2face
[解説]
50212/TCP (HTTP) OpenCV s2face_demo.sb2
Arduino との Firmata 通信 s2aio
[解説]
50209/TCP (HTTP) MrYsLab作 PyMata FirmataPlus s2aio_demo.sb2
micro:bitとBluetooth接続 s2microbit-ble
[解説]
50209/TCP (HTTP) node-bbc-microbit デモ/ビデオ

ヘルパーによってはさらに別のモジュールと通信します。

想定するシステムの全体像は以下のような図になります。 Scratch2 Blocks for Dialog Systems and Robots

ヘルパーの HTTP サーバは非同期 I/O ライブラリを利用

開発言語およびバージョンの選択

ブロック記載の漢字

各ヘルパー (helper app) の説明

s2speak (OpenJTalk)

機能

使用方法へのリンク

ブロックの設計

拡張性

s2listen (Julius)

機能

使用方法へのリンク

ブロックの設計

拡張性

s2aio (Arduino)

機能

使用方法へのリンク

ブロックの設計

拡張性