Home - YUKAI/codama-doc-r0 GitHub Wiki

codama

codamaとは?

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

公式サイト:https://codama.ux-xu.com

codamaの主な機能は以下の4つです。

  1. ノイズキャンセリング:周りの環境音ノイズを消し、人の声を集音する
  2. エコーキャンセリング:録音した音から、デバイス自身が再生している音を消す
  3. ビームフォーミング:特定の方向の音にフォーカスを当てて集音する
  4. DOA推定:音源の方向(Direction of Arrival)を推定する

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

例えば、codamaを使って次のようなシステムを構築できます。

  • 工場や店舗の中のようなうるさい場所で、様々な電子機器やIoTデバイスを音声で操作する
  • ユーザーが話しかけると、音源方向を推定してロボットが移動する

codamaの役割

Raspberry PiやPCにcodamaを接続することで、音声対話システムの開発が可能になります。さらに、センサーと組み合わせたり、モーターやLEDなどの出力装置と組み合わせたりすることで、市販品とは違ったオリジナルのスマートスピーカーを作ることができます。

Raspberry Piとの接続

PCとの接続

codamaを使ってみよう

チュートリアル

このチュートリアルではcodamaの基本的な使い方を紹介します。 まずは、Raspberry Piへ取り付けて、codamaを使った録音・再生ができることを確認しましょう。次に、市販のスマートスピーカーのように、特定のフレーズで話しかけると反応するウェイクアップ・ワードを作成します。最後は、音声で様々な操作ができるように、録音した音声をテキストに変換しましょう。

  1. codamaをRaspberry Piに取り付けて設定する
  2. codamaを使って録音・再生を行う
  3. ウェイクアップ・ワードを作成する
  4. 録音した音声をテキストに変換する

応用例

codamaの基本的な使い方を学んだ後は、応用例としてオリジナルのスマートスピーカーを作ってみましょう。今回は、話しかけると英語で返答するスマートスピーカーを制作します。 具体的には、オリジナルのウェイクアップ・ワードを作成し、話しかけた内容をテキストに変換、ChatGPT APIを使って返答内容を生成、Google Cloudを使って音声合成し、スピーカーで再生します。

codamaの設定をカスタマイズしてみよう

codamaのパラメータを調整することで設定をカスタマイズすることができます。例えば、音源方向を取得したり、エコーキャンセリングをオフにしたりすることができます。

作例

他にも様々な作例があるので参考にしてみてください。

※サービスの変更により、ウェイクアップ・ワード検知時にGPIO27ピンが自動的にHIGHにならない仕様になりました。