Skip to content
mako edited this page Jul 14, 2023 · 57 revisions

codamaとは?

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

codamaには主に以下の4つの機能があります。

  1. 周りのノイズを消すノイズキャンセリング機能
  2. デバイス自身が再生している音をキャンセルして処理ができるようにするエコーキャンセリング機能
  3. 特定の方向の音にフォーカスを当てて集音するビームフォーミング機能
  4. 音源の方向を取得する機能

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

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

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

codamaの役割

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

Raspberry Piとの接続

image

PCとの接続

image

codamaを使ってみよう

チュートリアル

ここではcodamaの基本的な使い方を紹介します。Raspberry Piへの取り付けから順番にやっていきましょう。

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

作例

オリジナルのスマートスピーカーを作ってみよう

ここではpicovoiceを使ったウェイクアップ・ワードの作成を行い、話しかけた内容をWhisper APIでテキストに変換し、ChatGPT APIで返答内容を生成、Google CloudのText-to-Speechを使って音声合成し、オリジナルのスマートスピーカーを作成するまでの手順を順番に説明します。

1. Raspberry Pi, codamaの設定方法

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

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

2. ウェイクアップ・ワードの作成

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

3. 話しかけた内容をWhisper APIでテキストに変換

ウェイクアップ・ワードを検知できるようになったら、その後話しかけた内容をテキストに変換します。この変換にはOpenAIのWhisperという音声認識モデルを使用します。

4. ChatGPT APIで返答内容を生成

話しかけた内容をテキストに変換できたら、その内容をChatGPT APIに送信し、返答内容を生成します。

5. Google CloudのText-to-Speechを使って返答内容を音声合成

生成された返答内容を音声合成します。合成した音声ファイルを再生すれば、スマートスピーカーの完成です。

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

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

Clone this wiki locally