ラズパイ・オーディオの製作 中間報告1 14EC004 飯田 頌平 コンセプト 音声でオーディオに命令する なぜ音声認識をするのか? • 音声認識はマイクの質が課題 • もともとの目的はRaspberry Piでデバイスドラ イバを開発すること – ADCをRaspberry Piに搭載できるように • シリアル通信なので音質が良い – 追加のDACをRaspberry Piに搭載 • bcm2835を使わずに再生できる 製作物概要 構成部品 • Raspberry Pi 2 • 無線子機 • USBカメラ – オーディオ入力端子として使用 – 将来的にADCに置換 • スピーカー 外部仕様 • 音楽の再生・停止 – 「再生」「停止」と呼びかけると実行 • ファイル選択 – ファイル名を呼びかけて指定 • 対話機能 – 特定の文言を受け取ると、返事をする 音声認識 音声入力 • 音楽認識エンジン – juliusを使用 音声認識サーバ • openCVの音声版 • 入力-サーバ間 クライアント – USB/シリアル通信 • サーバ-クライアント間 パケット解析 – TCP/IP通信 • パケット解析 スクリプト – XMLパーサを使用 音楽の再生・停止 • 再生命令・停止命令を認識すると実行 • シェルスクリプトによって再生 – 停止はプロセスを抹消することで実現 – 現状ではpythonでの再生が難しいため • 参考:Audio problem with snd_bcm2835 + PyAudio (sound stuttering) – https://github.com/raspberrypi/linux/issues/994 ファイル選択 • 認識された音声から命令語を得る • 命令語をデコードして曲の情報を取得 – 曲ファイル名 – ルートまでの親ディレクトリ – 拡張子 – その他特徴(ジャンル、発表年など) • 得られた情報から曲ファイルのパスを取得 対話機能 • モード切り替え時の案内などを合成音声で知 らせる – 音声合成ツール「AquesTalk」を使用 • 簡単な会話も可能 • 自動でニュースも読み上げてくれる – クローラーでニュースサイトのトピックを取得 – 他の情報も取得可能(天気など) 今後の展望 • デバイスドライバは開発が難航 – コンパイルに際し膨大な通信量を要する • 一回コンパイルしてみるのに半日~丸一日 – よって、努力目標とする • アプリケーション部分(音声認識他) – シェルやpythonで操作できる限りのことが可能 – AI部分について重点的に挑戦したい – 余裕があれば音声信号処理もやってみる
© Copyright 2025 ExpyDoc