Skip to content
satomi-yukai edited this page Apr 5, 2021 · 57 revisions

codamaとは?

"ジャービス、今日の天気を教えて"

こんなことができたら面白いですよね。 codamaを使えば"ジャービス"という言葉をウェイク・アップ・ワードにした音声対話開発ができるようになります。

「codama(こだま)」とは、ユカイ工学株式会社(以下、ユカイ工学)と株式会社NTTドコモ(以下、ドコモ)が、XMOS Ltd(以下、XMOS)のボイス・プロセッサーを採用した音声対話開発キットです。

製品サイトはこちら https://codama.ux-xu.com

音声対話開発キット「codama」は、NTTドコモのオープンパートナーイニシアティブ(2017年6月23日発表)のドコモAIエージェントAPI(以下、本API)に対応しており、NTTドコモが提供する本APIのRaspberryPi用ソフトウェアを利用することで動作します。

本製品に搭載された技術と同APIの連携により、様々な電子機器やIoTデバイスを、音声で簡単に操作することを可能にしており、本製品が部屋の隅に配置された場合でも、予め設定出来る様々な呼びかけに反応(ウェイク・アップ・ワード)し、クリアに音声をキャプチャー(ビームフォーミング、およびノイズキャンセル)し、音声によるAPIサービスへのアクセスを可能にします。

本ドキュメントは「codama」のセットアップ方法、およびAPIを利用したサンプルプログラムの説明、「codama」をもっと活用するための各パラーメータの設定方法を説明します。

codamaの役割

codamaは、周りのノイズを消すノイズキャンセリング、デバイス自身が再生している音をキャンセルして処理ができるようにするエコーキャンセリング、特定の方向の音にフォーカスを当てて集音するビームフォーミング機能を有しています。

これらの機能により、多少うるさいところでも音声認識が実現できたり、音楽を再生しているときに中断して次の命令を出すことができるようになります。これは市販のマイクやスピーカーを組み合わせた構成では実現することができません。

またcodamaの1番の特徴は自身の好みに合わせてウェイクアップワードを設定し、それをウェイクアップワードとして登録、処理することが可能であるということです。 これにより、決まったウェイクアップワードでしか音声対話システムを構築できなかったり、そもそもウェイクアップワードを使わず、物理ボタンをトリガーにして認識させるしかなかったといった問題を解決することができるようになります。

codamaはこれらの機能を下図で示すようにRaspberry PiやPCに提供することで、Raspberry PiやPCで音声対話開発を実現できる環境を提供しています。 また、Raspberry PiやPCに接続することで、センサーと組み合わせたり、モーターやLEDなどの出力装置と組み合わせることが容易に出来、市販のデバイスとは違った、オリジナルのスマートスピーカーを作り出すことができます。

Raspberry Piとの接続

image

PCとの接続

image

セットアップ

ここではRaspberry piの初期設定から、codamaを使ったウェイク・アップ・ワードの作成を行い、そのウェイク・アップ・ワードを使ってドコモAIエージェントAPIを動かす手順を説明します。 以下で示す順序通りに設定を進めてください。

1. codamaの設定方法

ここではRaspberry Piの設定方法および、codamaの設定方法を説明します。

  1. Raspberry Piを設定する
  2. codamaをRaspberry Piに取り付け、設定する

2. ウェイク・アップ・ワードを作成する

"ジャービス","アスラーダ"等あなたの好きな言葉でウェイク・アップ・ワードを作ってみましょう。
ウェイク・アップ・ワードとは、音声スピーカーに対して音声アシスタント機能を呼び出す音声コマンドです。 このウェイク・アップ・ワードの作成には、YUKAIが提供する専用のツールを利用します。

3. ドコモAIエージェントAPIを利用したサンプルプログラムの実行

codama設定が完了したらRaspberry pi用のドコモAIエージェントAPIを利用したサンプルプログラムが動かせるようになります。
サンプルプログラムを動かすにはcodamaをRaspberry PiとI2Sで接続するように設定を行なってください。

またサンプルプログラムはNTTドコモが提供するドコモAIエージェントAPIを利用しており、サンプルをカスタマイズすることで音声による対話を実装することが可能です。

codamaのパラメータ調整や他の機能

ウェイクアップワードの処理以外にも、codamaには多数のパラメータが存在し、自由に調整することができます。 例えば、DOA(音源方向)を取得したり、特定の方向からのみ反応するように調整するといったことが可能です。 調整の詳細に関しては下記ご確認ください。

またcodamaはRaspberry Piに留まらず、PCでの開発も可能です。

codamaを使ってものづくりを楽しむ

このサンプルに留まらず、オリジナルのプロダクト開発を楽しんでください。 いくつか作例がありますので、開発の参考にしていただければと思います。

Clone this wiki locally