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