人工知能第一研究室

 
デモ大会

フルート演奏音の 音場シミュレーション

2016年7月28日に行われたデモ大会での発表内容です。

背景・目的
私は卒業研究でフルート音の分析・合成に取り組んでいます。
そこで、その技術の一つであるインパルス応答の畳み込みをすることで音場を再現することを目的としてデモを行いました。

デモ内容
無響室で録音したフルート音に大学構内の学生会館の部屋の特性を畳み込み、音場の再現をしました。
録音の際に、マイクの位置は息の音が入らないようにベルの前に来るように配置しました。
メーカーによる違いも調べるために2種類のフルートを用いました。

〈ヤマハYFL211S:洋銀〉
録音音源

合成後

 

〈ムラマツGXⅢ :管体銀製〉
録音音源

合成後

 

結果・考察
部屋の響き(インパルス応答)を演奏音に合成することで、その部屋で演奏したような音を再現できた。メーカーによる違いは聴くだけでは分かりにくい程度だったため、分析が必要だと感じた。

マイク間の相関を用いた音源方向の推定

2016年7月28日に行われたデモ大会の発表について紹介します。

目的・背景

マイクアレイによるフィルタ生成には音源方向が既知である必要があります。

目的音の方向を推定することが出来ればフィルタ生成における負担が減少すると考えたのでその技術について調べました。

今回は目的音方向を推定するプログラムを用いてデモを行いました。

デモ内容

マイクで集音した音から角度を推定して、スクリーンに映るトトロの顔がそちらを向くように動かすというデモになります。

システム説明

マイク二つを用いて集音し、マイク間の相関が最大となる遅延時間を求め角度を推定します。

音声データの相関の計算から角度推定までをMATLABで行い、算出した角度をテキストに保存します。

Processingでテキストを読み込み、角度に合わせて目を動かします。

集音は2秒間隔で10回繰り返した所で終了です。以下、発表の動画です。

まとめ

今回は相関を用いて角度を推定するデモをおこないました。角度推定のプログラムは参考文献に記載されたものを用いています。このプログラムは単に音量で角度を推定しているので常に大きな音が集音されるとそちらの角度が出てしまいます。今後はそのような状況で推定が困難となる点を踏まえて改良したいです。

参考文献

遅延和アレーに基づく音源方向推定の研究

http://www.asp.c.dendai.ac.jp/thesis/H13_moriyama.pdf

雑音下におけるSS法を用いた音声認識ロボット

2016年7月28日に開催されたデモ大会におけるデモ内容は、以下の通りです。

・背景・目的

  • 近年では、様々な場面において音声認識技術は用いられているが、雑音環境下における音声認識に関しては研究途上の段階である。
  • 今回のデモ大会では雑音抑圧ではよく用いられているSS法を使って、雑音環境下においても音声が認識できるかどうかに関するデモを行う。

 

・デモ内容

  • まず、静かな環境でのロボットを用いた音声認識デモを行う。
  • 次に、雑音を発生させた状態にて音声認識ができるかどうかを実験する。

 

・システム構成

  • 今回のシステムでは、C#でプログラムの本体部分を作成し、雑音抑圧部分をMATLABにて関数として作成し、C#から呼び出して利用できるようにした。
  • また、音声認識に関してはJuliusを、音声合成に関してはOpenJTalkを用いた。

 

・今後の改善点

  • 他の雑音抑圧方法の機能の実装→SS法以外にも様々な方法があるので試してみたい。
  • 計算時間の短縮→プログラムに冗長なスリープなどが入っているので、できるだけ減らす。

 

・動画

    • こちらの動画が、実際に行ったデモ内容である。

空間クロススペクトルを用いた拡散性雑音抑圧

2016年7月28日に行われたデモ大会の発表内容です。

「空間クロススペクトルを用いた拡散性雑音抑圧」という論文の追試を途中まで行いました。

システムの説明
拡散性雑音を抑圧するために、Wienerフィルタを設計します。
ここで、Wienerフィルタは 𝐻(𝜔) = (𝑃_(𝑠+𝑛)(𝜔)−𝑃_𝑛(𝜔)) / (𝑃_(𝑠+𝑛)(𝜔)) で計算されます。
𝑃_(𝑠+𝑛)(𝜔)  ,  𝑃_𝑛(𝜔) は以下にある計算式で推定されます。
hp%e7%94%a81

hp%e7%94%a82

 

 

 

 

 

 

 

 

ここで Y_DS(𝜃,𝜔) は正面を0°としたときの右20°,40°,60°,80°方向と左20°,40°,60°,80°方向にビームを向けた遅延和フィルタによって強調された信号です。

遅延和フィルタとは、複数のマイクで収音する時に、各方向から到来する音の時間遅れを、その遅れ分だけフィルタで進めて、相殺させることによって特定の方向の音を強調させるものです。

そして、それぞれの方向の Y_DS(𝜃,𝜔) を計算した後、先のWienerフィルタを計算します。

計算したWiernerフィルタを、収音した信号に掛け合わせることで、拡散性雑音を抑圧することができます。

 

実験結果は以下にあります。
hp%e7%94%a83

 

今後の課題
実験結果を見てもらうと分かるのですが、効果があまりでていません。
原因は雑音の推定ができていないことによるものだと考えられます。
その理由は実験で使用したものはただの雑音で、拡散性の雑音ではなかったからだと思います。

参考文献
空間クロススペクトルを用いた拡散性雑音抑圧

NMFの多チャンネル拡張を用いた音源分離

研究背景・目的

私たちが生活する環境の中には、様々な音(人の声、音楽、騒音、残響など)が存在しています。このような音が存在する時、目的音源の抽出、認識性能は低下するといった問題があります。そこで音源分離を行うことで、背景音が含まれる中で目的とする音源の抽出、認識性能を向上させることが出来ます。音源分離には、いくつかの手法がありますが、その中でも新しい手法であるNMFを多チャネル拡張したマルチチャネルNMFに着目します。

マルチチャネルNMFおよびシングルチャネルNMFの概要は吉山さん、三浦さんの記事を参考にして下さい。

http://www-ai1.csis.oita-u.ac.jp/?page_id=538

http://www-ai1.csis.oita-u.ac.jp/?page=1946

デモ内容

以下のチャネル数で観測した音を分離しました。ここでは、ランダムな初期値パターンを作成し、初期値に与えています。

2チャネルで観測:
人の声(男女)、楽器(ギター、ドラム、シンセサイザー)

3,4,5,6チャネルで観測
楽器(ギター、ドラム、シンセサイザー)

まとめ

NMFの多チャネル拡張を用いた音源分離を行いました。
まだ、試行回数が少ないので回数を重ねてこれからの研究に結びつけていければいいなと思います。

詳細は以下の動画をご覧下さい。

音による神経衰弱アプリ

2015年12月17日に行われたデモ大会の発表内容です。

通常の同じ絵を見つけていく神経衰弱ではなく、タッチしたときに流れる音を聞き同じ音を探していくゲームです。

音源はフリー素材を使用しています。

ゲーム内容

・タッチし、同じ音を探す

・残り枚数が4枚になると通常の音に加えて鳥の音が同時に流れ、

難易度が上がる

詳細は以下の動画をご覧ください

 

 

 

開発環境:eclipse

使用デバイス:Android

参考文献:「10日でおぼえる Androidアプリ開発入門教室 第2版」

 

 

ジェスチャーで演奏するDuoPiano

2015年12月17日に行われた3年生デモ大会での発表内容です。
今回のデモでは二人で演奏することができ、演奏する際に体の一部を触ることで音が鳴るシステムを発表しました。

システムの流れは以下の通りです。

  • Kinectを用いて二人分の骨格検出を行い、関節を取得する
  • 手を関節に近づける
  • 近づけた関節に設定してある音が鳴る

関節に設定してある音階は、
右手で頭、右肩、右腰、右ひざの順でド、レ、ミ、ファとなり、
左手で頭、左肩、左腰、左ひざの順でソ、ラ、シ、ドとなっています。

使用した環境、機材

  • Windous7
  • Visual Stadio 2010
  • Kinect for Windows
  • Kinect for Windows SDK v 1.8

詳しい説明や実際の動作は以下の動画でご覧下さい。

 

 

音声で操作ロボットを操作するAndroidアプリ『EV3指令室』

2015年12月17日に行われた3年生デモ大会で発表したアンドロイドアプリについての内容です。

本アプリは、アンドロイド端末から音声入力し、ロボットを動かすアプリです。

使用した環境・ツールなど

  • OS:Windows7
  • Androidバージョン:4.1.1
  • 音声認識:Google音声認識API RecognizerIntent
  • 開発ツール:eclipse + Android SDK
  • 開発言語:Java
  • ロボット:教育版レゴ®マインドストーム®EV3
  • 参考資料:教育版EV3Androidアプリプログラミングガイド

 

詳しい説明や実際の動作は、以下の動画でご覧下さい。

音声認識を用いた音楽プレイヤー

サンプルプログラムを変更し、グーグルが無料で提供している音声認識APIを利用して
Androidの音声認識を用いた音楽プレイヤーアプリを作成しました。
————————————————————
システムの説明

  • テキスト入力または音声認識で文字列を入力
  • 登録してある曲名と一致した曲がある場合その曲を再生
  • 曲順再生
  • ループ再生
  • ランダム再生
  • 一時停止、リセット

また、今回はフリー素材の音源を使用させていただいております。
詳しい動作の様子は以下の動画をご覧ください。

開発環境:androidstudio 1.4.1

使用デバイス:Android 5.0.1

参考文献 : 「Android StudioではじめるAndroidアプリ開発の教科書 ~Android Studio 1.3対応~ (教科書シリーズ)」  松岡 謙治 (著)

加速度センサを用いた音楽演奏アプリ 「Shake Sound」

Android端末を振ることで音を鳴らして演奏するアプリ「Shake Sound」を作成しました。

加速度の値によって音階を設定し、対応する加速度の時にボタンを押すことで、それに応じた音を鳴らすことが出来ます。

よく楽曲で使われる調を実装しており、ボタンで切り替えることが出来ます。

解決すべき課題は多いですが、今後解決していきたいと思います。

環境:Android Studio

使用デバイス:Android