Watsonと連携したPepper:Speech to Textで音声認識精度を上げてみよう

Watsonと連携したPepper:Speech to Textで音声認識精度を上げてみよう

Watson Speech to Text & pepper

こんにちは。

AI coordinatorの清水秀樹です。

Pepper単体でも音声認識機能は持っていますが、如何せん認識精度が悪いのは周知の事実ですよね。

Pepperと会話をしたければ、想定される会話をあらかじめSpeech Reco.やダイアログに登録しておく必要があります。

これはこれでPepperと会話が出来なくはないけど、かなり限定的な会話しかできません。

 

この問題の解決策の一つして、WatsonとPepperの連携があげられます。

Bluemix上にあるWatson APIの中にSpeech to Textというアプリがあり、これをPepperに組み込むだけで飛躍的に音声認識精度をあげることができます。

 

ここではPepperにWatsonのSpeech to Textを組み込む方法を紹介します。

 

Blumiexは30日間は無料で使用できるので、ぜひ試してみてください。

また、当記事最後にプロジェクトファイルのダウンロードリンクを貼ってあります。

手っ取り早く使ってみたい方は記事最後まで読み飛ばしてください。

 

事前準備

Pepperを使う以上はコレグラフのインストールは必須です。

また、Bluemix上でWatson Speech to Textアプリを作成しておく必要があります。

Speech to Textの作成方法は以下の記事を参考にしてください。

Watosn Speech to Text をPythonで使ってみよう

 

プロジェクトファイルの説明

コレグラフで実装するプロジェクトファイルの説明です。

ここで紹介するプロジェクトファイルは、人間が話した内容をPepperがオウム返ししてくれるというアプリケーションです。

非常に単純に作っていますので、特に実装に難しい部分はありません。

Watsonと連携したPepper:Speech to Textで音声

ボックスは全部で4つです。

  1. Speech Reco.ボックスはアプリを開始するために準備しただけです。
    ペッパーと声がけするとアプリがスタートします。
  2. Record SoundボックスはPepperに話しかけている内容を録音します。
    ここでは5秒間録音します。
    録音後はwav形式で保存し、次のボックスにファイルのパスを連携します。
  3. Watson STTはPythonボックスで実装しています。
    このボックス内で先ほど録音した音声ファイル(wav)をWatsonのSpeech to Textに渡し、そこでテキスト化された音声データを次のボックスに受け渡します。
  4. 最後のSay Textボックスはオウム返しするために準備しただけです。

以上です。

プロジェクトファイルのダウンロードはこちらから → Speech To Text.zip

 

実機で確認済みです。

ぜひお試しあれ。

この記事の内容について、相談したい方へ

技術選定・実装の進め方・組織での導入など、AI/IoT全般のご相談を受け付けています。

無料相談会(30分・オンライン)

About The Author

Hideki
AI coordinator株式会社 代表取締役/東京海洋大学 産学官連携研究員。AIロボティクスのスタートアップで執行役員CTO 兼 VPoEとして収穫ロボットの開発組織を統括(2026年7月まで)。画像認識関連のAI特許3件取得・1件出願中。現在はAI・ロボティクス・IoTの現場実装を、月額の技術顧問契約で「現場で動くまで」伴走しています。
会社概要 → www.ai-coordinator.co.jp

COMMENTS & TRACKBACKS

  • Comments ( 4 )
  • Trackbacks ( 0 )
  1. とても分かりやすい記事でした、ありがとうございます。
    実機のペッパーで試したみたところ、以下のようなエラーが出てしまいます。
    原因が分からないのですが、どうしたら良いのでしょうか。
    コードはurl,username,password以外の部分はいじっておりません。

    [ERROR] behavior.box :_safeCallOfUserMethod:125 _Behavior__lastUploadedChoregrapheBehaviorbehavior_1622976592:/Watson STT_2: Traceback (most recent call last):
    File “/usr/lib/python2.7/site-packages/albehavior.py”, line 113, in _safeCallOfUserMethod
    func(functionArg)
    File “”, line 35, in onInput_onStart
    KeyError: ‘results’

  2. お問い合わせありがとうございます。

    watsonからのリターンをからうまく文章が抜き出せない感じでエラーになっているみたいですね。

    url,username,passwordに間違いはないでしょうか?

  3. 返信ありがとうございます。
    エラーはそのような意味なのですね。ありがとうございます。
    url,username,passwordをもう一度確認しましたが、間違いはないようです。
    23-25行のみを変更すれば良いのですよね?

  4. あ!?
    urlはそのままにして、変更する箇所はusername,passwordのみでやってみてください。
    サービス資格情報のurlはパラメータが不足しているので、サービス資格情報のurlをそのまま貼り付けただけでは動きません。