音メディア処理研究室

 
ブログ

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

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

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

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

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

使用した環境、機材

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

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

http://www.youtube.com/watch?v=mahbin4yvQ0

 

 

音声で操作ロボットを操作する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」を作成しました。

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

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

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

https://youtu.be/u9iUBW8oPrU

環境:Android Studio

使用デバイス:Android

声の大きさを検知する障害物ゲーム

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

マイクを使って声を発すると声の大きさに合わせてジャンプし障害物を飛び越えていくゲームを作成しました。

時間は15秒です。

自動的に障害物が発生するモードと、キーボード操作から障害物を発生させるモードがあります。

キーボード操作での障害物発生は、A → 1段差発生 Q → 大きな段差発生

D → 1段差消滅  E → 大きく段差消滅

となっています。

また、今回は画像、音源ともにフリー素材を使用しました。

動作の詳細は以下の動画をごらんください。

https://youtu.be/nlvO6QdHeKs

開発環境 : Processing2.1.1

実装環境 : Windows x64ビット アプリケーション

参考文献: サウンドの基本(minminライブラリの使用)[http://r-dimension.xsrv.jp/classes_j/minim/]

アラーム・着信音に利用可能な音声変換アプリ

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

録音した音声を変換して再生したり、保存することが出来るアプリを作成しました。

以下の変換機能があります。

  • speed・・・速さを変更
  • pitch・・・ピッチを変更
  • volume・・・音量を変更
  • echo delay・・・エコー、ディレイを行う
  • echo volume・・・エコー、ディレイした音の音量変更
  • reverse・・・逆再生

 

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

開発環境:androidstudio 1.4.1

使用デバイス:Android 5.0.1

参考文献:Androidアプリサンプル全集

 

方位で鳴らす音階アプリ

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

Android端末で振ってからボタンを押すことで

音階を鳴らして遊ぶことのできるアプリを作成しました。

アプリの簡単な機能は以下の通りです。

—————————————————————————————————————————-

[背景が黄緑色のモード]

  • 端末を振った後でボタンを押すと端末の方位・傾き・画面の裏表によって白鍵のc6ド,~,c7ド(8音)を鳴らす機能。
  • 今までに鳴らした音を履歴として再生できる機能。

[背景がオレンジ色のモード]

  • ボタンを押している間その時の端末の方位や傾き、画面の表裏によって白鍵のc5ド~c8ミ(24音)を定期的に鳴らし続ける機能
  • ランダムに選ばれる音を探しだして鳴らす音探しゲーム機能

—————————————————————————————————————————–

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

https://youtu.be/2S8hOoWIOxo
開発環境: Androidstdio 1.4.1

使用デバイス: Androidバージョン4.4.2

参考文献: 「作ればわかる!Androidプログラミング 第3版」

音声認識を用いたクイズゲーム

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

Googleの音声認識APIを用いてクイズゲームアプリを作成しました。

システムの説明


難易度を選ぶ。

ステージセレクト画面に遷移するので、そこでステージを選ぶとクイズ画面が出てくる。

クイズに答えて正解であれば、ステージセレクト画面に遷移し、次の問題が開放される。
(クイズに答えるときはボタンでも音声認識でも答えられるようにしました。)

まとめと今後の課題


  • 今のままでは音声認識した後にボタンを押さないと正解か不正解かを判断できないので、ボタンを押さずに正解か不正解かを判断する。
  • タイムアタックモードの実装。

 

また、問題がランダムに表示されるモードも作成しました。

詳しい動作は以下の動画をご覧ください。

また、このアプリの音源はフリー素材を使用させていただいています。

開発環境 : Android Studio

使用デバイス : Android 5.0.1

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

サビの連続再生における楽曲印象を用いたプレイリストの自動生成の研究

研究背景・目的

近年、CDや音楽配信サービスなどが普及し、膨大な楽曲の中から聴けるようになりました。それに伴い、音楽を流し聴きするスタイルが増加し、複数の楽曲をメドレーのように楽しみたいという要望が増えています。

大量の音楽を聴取する方法としては、ランダム再生やプレイリストによるものがあります。
しかし、ランダム再生の場合は楽曲間で雰囲気が大きく変わると違和感を覚えたり、またプレイリストを作成するには大量の楽曲の中から選択しなければならないため、手間がかかってしまいます。

そこで、なるべく多くの楽曲を楽しめるようにサビのみを再生し、違和感のないメドレーを自動で生成することを目的としています。

システム構成

違和感のないメドレーを生成するために、楽曲印象を用いて再生順を決定することで違和感を抑えることができると考えています。

例えば、所持している楽曲すべてを「明るい曲」から「暗い曲」へだんだんと移り変わっていくように順番に並べます。
ランダム再生であると前後の楽曲の雰囲気が大きく変化するところで違和感を覚えることがありますが、印象の近い順番で並べると前後の楽曲の雰囲気が似ているため違和感を感じにくくなります。

system

楽曲間の処理については、クロスフェード処理を行っています。

従来研究

楽曲印象を推定する方法として、ゆらぎ特徴を用いた方法があります。
ゆらぎとは「繰り返されるパターンが時間的に変化する現象」で音楽にもゆらぎがあります。
楽曲の音量、ピッチ、リズムのゆらぎ特徴に着目することで、楽曲印象を推定することが可能となっています。

実験

内容

印象による再生順の決定がどの程度違和感を抑えることができるのかを評価するために、以下の4種類の再生順を用意しました。

  1. 聴取者個人の印象に合わせた再生順
  2. 聴取者個人の印象に合わせさらにテンポで並べた再生順
  3. ランダムに並べた再生順
  4. テンポで並べた再生順

の4つの再生順を用意しました。
再生順を決定する楽曲印象については、「明るい-暗い」と「激しい-穏やか」の2種類を使用します。
また、ひとつの再生順に使用するサビ曲は5曲としています。

上記1については、聴取者に楽曲をそれぞれの印象に35曲を分類してもらいます。

分類

そして分類結果をもとに別に用意した65曲の印象を推定し、印象で並べることで再生順が決定されます。

プレイリスト

上記2については、上記1のあとにテンポで並び替えることで再生順が決定されます。

これらの再生順を聴いてもらい、違和感があるかどうかを5段階で評価してもらいました。また、どの再生順が一番好みであるかも回答してもらいました。

 

結果

5に近いほど違和感を抑えられており、良い結果となります。

評価結果

  • 印象順で並べるとランダムより違和感を抑えられる
  • 印象とテンポを組み合わせるとより違和感を抑えられる

ことが結果からわかります。

考察

「印象とテンポを組み合わせた再生順」の評価が「テンポで並べた再生順」の評価を大きく上回ることができなかった結果について

  • 印象推定の正答率が約65%であるため、印象で正しく並べることが難しい
  • 「テンポで並べた再生順」で使用した楽曲の印象が近い

ということが考えられます。

まとめ

楽曲印象で再生順を決定するとランダムより違和感を抑えることができ、また、印象とテンポを組み合わせるとより違和感を抑えることができるとわかりました。

今後は「明るい-暗い」「激しい-穏やか」以外の印象についても検証が必要であると考えています。

 

音声認識による子ども向けアプリ「こえでものがたりをつくろう!」

Googleの音声認識APIを利用し、以下の動作ができるアプリ「こえでものがたりをつくろう!」を作成しました。

  • 昔話の音読
  • 物語の内容の一部変更

 


1.目的

スマートホンユーザの低年齢化

文字入力がうまく行えない子供でも扱えるような子ども向けのアプリを作りたい

現存している物語のパロディを行うことのできる「絵本アプリ」を作ろう!

2.システムの説明

  • 通常の絵本読み聞かせ
  • 音声認識による物語の内容変更

‑Googleの音声認識APIを使い、音声認識を行う

3.工夫した点

  • 音声認識後の複数の内容の変更
  • タイトル画面の追加
  • 画面デザイン
  • オブジェクトの大きさを可動化

4.今後の課題

  • 決まったものしか変更が行えない
  • 変更できる物語が少ない

開発環境
→ Android Studio 1.4
android 5.0.2

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

参考サイト
ハコニワ デザイン

利用図
無料イラスト かわいいフリー素材集 いらすとや