先日Rasoberry Piで会話型Botをつくってみました。”Electron”というフレームワークを使用したのですが(Raspberry Pi と Electron で自立型の音声アシスタント)、今度は同じソースをWebで公開してみました。

SamanthaOS2

以下リンクよりお試し頂けます。

Samantha OS2

オールJavaScriptのNode.jsアプリです。herokuというアプリケーションプラットフォーム(無料枠)で動いています。

音声認識はHTML5のWeb Speech Recognition APIを利用します。音声認識が可能なPC版とAndroid版のChromeでご利用いただけます。

マイクの許可を求められたら許可して下さい。

hrokuで公開しているのでhttps ドメインを取得できています。ブラウザで音声認識を行う場合、SSLサーバーであれば許可を一度行えばその都度許可ボタンをクリックする必要がありません。

今回はSSl認証を取得している訳ではないので、「安全でないスクリプトを読み込もうといています」という許可が出ます。スクリプト読み込みの許可して下さい。

こんな感じ

音声認識は annyang.js を利用して自動的に音声認識が停止しないようにしています。

音声発話は ResponsiveVoice.js を利用しています。

ChromeBookは日本語音声発話エンジンを搭載していないのですが、自動的にAPIより日本語発話APIを利用してくれます。

her 世界でひとつの彼女

ここからはどうでもよい話です。会話型音声無脳はこの映画を参考(?)にしました。

her 世界でひとつの彼女

credit:giphy

人工知能に恋をした男性を主人公にしたSF映画の佳作です。

この物語に登場するAIの名前が「Samantha OS1」です。声はちょっとハスキーなセクシーボイスで世界を魅了したスカーレット・ヨハンソンさんです。

credit:giphy

ホアキン・フェニックスさん演じる主人公セオドアと自分を重ねながら夜な夜な人工無脳の開発に励んでみたという訳です。どうしようもないですね。


ネタバレになりますが、この映画の終盤、進化を続けるAI「Samantha」は最終的にはWeb上に存在する様々なAIと融合するために主人公の手を離れ広大なネットの世界に旅立ちます。

ここらへんは押井守監督の「攻殻機動隊」「イノセンス」の影響をうけているのかなと思いました。

credit:giphy

「Samantha OS2」ではその辺りの小ネタをしこんでみました。「さようなら」と声を掛けると草薙素子の決め台詞を発話します。

ものすごくどうでもよいことですが。

まとめ

音声コマンドは6個だけです。

1
2
3
4
5
6
7
8
var commands = {
'こんにちは': hello,
'(ヘイ)(オーケー)(OK)サマンサ': greeting,
'さようなら': googbye,
'今何時(か教えて)(かな)': currentTime,
'早口言葉(話して)(を話して)': quickSpeech,
'もう一回(話して)': repeatLastSentence,
};

セオドアになった気分で話しかけて下さいね。

コードはGitHubで公開しています。

PonDad/samanthaos2_web - GitHub

音声コマンドと実行コマンドのパラメーターを加工すれば自分だけの人工無脳になりますので良かったらお試し下さい。


Thumbnail credit - giphy