音メディア処理研究室

 
デモ大会

方位で鳴らす音階アプリ

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対応~ (教科書シリーズ)」  松岡 謙治 (著)

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

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

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

 


1.目的

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

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

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

2.システムの説明

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

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

3.工夫した点

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

4.今後の課題

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

開発環境
→ Android Studio 1.4
android 5.0.2

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

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

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


 

C#を用いた最大電圧レベル表示機能付き音声変換器

今回、初めてのデモ大会において、C#を用いて最大電圧レベル表示機能付きの音声変換器を作成しました。

・背景・目的

  • 近年では、様々な場面において音声変換技術は用いられている。
  • その技術にて欠かせない要素として、ピッチ、フォルマント、話速などが挙げられる。
  • 音声データから、まず正確にデータを取り出しそれを加工できればよいのではないか?

・デモ内容

  • 既に録音したwavデータを用いて、ヒルベルトフィルタを用いて任意の周波数分だけシフトし、その変換した波形を出力する。
  • 変換処理と同時に入力信号と出力信号の音声データから変換前と変換後の最大電圧レベルを表示する。

・工夫した点

  • 変換させたい分の周波数の値の入力方法を、シフタ―とテキストボックスの2種類用意し、任意入力をできるようにした。
  • 最大電圧レベルの表示をグラフ表示にして、視覚的に見やすくした。

・今後の改善点

  • 録音機能の追加

→WindowsのAPIを用いて実装を試みたが今回はうまくいかなかった

  • フォルマントを調整できる機能の追加

→フォルマントの抽出方法を理解し、それを加工できるようにしたい

・参考文献

C#によるディジタル信号処理プログラミング 三上直樹 工学社

・ビデオ

Juliusを気軽に使える音声認識システム

C#で簡単に音声認識がしたい!ということで、さっそく作成してみました。

■システム構成

  • 開発言語・・・C#
  • OS   ・・・Windows7
  • アプリケーション開発環境・・・Visual Studio Professional 2013
  • 音声認識エンジン・・・Julius
  • ■Juliusの使用方法

    Juliusはコマンドプロンプト上で実行可能です。実行コマンドは下記のようになっています。

    コマンド例:”julius –C am-gmm.jconf”

    バッチファイルにコマンドを記述しておけば、バッチファイルを起動するだけで、音声認識ができるようになります。

  • バッチファイル
  •    Windowsでコマンドプロンプトに行わせたい命令列をテキストファイルに記述したもの。

    ■システム概要

     今回、Juliusの便利なオプションをそのまま使用するためにプログラムに直接組み込むのではなく、Juliusを起動させる部分はすべてバッチファイルで作成しています。C#ではバッチファイルの起動と出力結果の読み込みしかしていません。
     作成した音声認識システムの起動画面は図1のようになっています。起動画面が立ち上がったら、”音声認識開始”ボタンを押します。すると出力結果欄に”please speak”と表示されますので、マイクに向かって発話してください。認識結果は出力結果欄に出力されます。図1では「こんにちは」と発話したときの実行例となっています。出力結果欄に「こんにちは。」と出力されているのが確認できます。

    音声認識システム

    図1 音声認識システムの使用例

    <参考文献>

    • DOSコマンドを実行し出力データを取得する[DOBON.NET プログラミング道]  (http://dobon.net/vb/dotnet/process/standardoutput.html)

    OpenJTalkを気軽に使える音声合成システム

    C#で簡単に音声合成がしたい!ということで、さっそく作成してみました。

    ■システム構成

  • 開発言語・・・C#
  • OS   ・・・Windows7
  • アプリケーション開発環境・・・Visual Studio Professional 2013
  • テキスト音声合成エンジン・・・OpneJTalk
  • ■OpneJTalkの使用方法

    OpenJTalkはコマンドプロンプト上で実行可能です。実行コマンドは下記のようになっています。

    コマンド例:”bin\open_jtalk -z 2000 -m voice\hts_voice_nitech_jp_atr503_m001\nitech_jp_atr503_m001.htsvoice -ow talk.wav talk.txt”

    バッチファイルにコマンドを記述しておけば、バッチファイルを起動するだけで、音声合成ができるようになります。

  • バッチファイル
  •    Windowsでコマンドプロンプトに行わせたい命令列をテキストファイルに記述したもの。

    ■システム概要

     今回、OpneJTalkの便利なオプションをそのまま使用するためにプログラムに直接組み込むのではなく、OpneJTalkを起動させる部分はすべてバッチファイルで作成しています。C#ではバッチファイルの起動と出力結果の読み込みしかしていません。
     作成した音声合成システムの起動画面は図1のようになっています。起動画面が立ち上がったら、入力フォームに音声合成させたい言葉を入力します。その後、”音声合成開始”ボタンを押してください。すると出力結果欄に”再生開始”と表示されると同時に音声が再生されます。図1では「こんにちは。」と発話させたいときの実行例となっています。

    音声合成

    図1 音声合成システムの使用例

    <参考文献>

    • DOSコマンドを実行し出力データを取得する[DOBON.NET プログラミング道]  (http://dobon.net/vb/dotnet/process/standardoutput.html)

    ゲームアプリ「フリックドロイド」

    サンプルプログラムを変更し、Androidゲームアプリを作成しました。

    変更点は以下のとおりです。

    • アプリ起動後にスタート画面を追加
    • 蜂の種類を増やし、得点をそれぞれ変更(黄色の蜂が1点、緑色の蜂が3点)
    • 爆弾を追加(マイナス5点)
    • 一時停止・リトライ機能を追加
    • ドロイド君の減速
    • ドロイド君などが画面の端で跳ね返る

     

    ゲームの内容としては、制限時間30秒以内にドロイド君をフリックして操作し、蜂を消していくゲームです。

    蜂を消すとスコアがあがっていきます。蜂は2種類いて黄色の蜂が1点、緑色の蜂が3点です。

    爆弾に当たってしまうとマイナス5点となります。

    詳しいゲームの様子は以下の動画をご覧ください。

     

    開発環境:eclipse

    使用デバイス:Android

    サンプルプログラムは

    「10日でおぼえるAndroidアプリ開発入門教室 第2版」寺園聖文 (著)/ 翔泳社 (出版社)

    のプログラムを使用させていただきました。

    おさぼり防止ロボット「T.BUSTER」

    2014年12月19日に行われた3年生デモ大会での発表内容です。
    今回のデモではPCでの作業中において、ユーザの居眠りを防止してくれるシステムを発表しました。

    ディスプレイに対面しているユーザをKinectを用いてフェイストラッキングを行い、顔認証が外れた時に「ユーザがサボっている」と認識します。一定時間サボっている場合はMindstormNXTが動作してユーザへの警告を行うようにしました。

    使用した環境、機材
    ・Windows7
    ・Visual Studio 2010
    ・MindStormNXT
    ・Kinect for Windows
    ・Kinect for Windows SDK v 1.8

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

    音声認識APIを用いたアプリ

    今回はグーグルが無料で提供している音声認識APIを利用して、以下の動作ができるアプリを作成しました。

    ・音声録音
    ・発表の順番抽選
    ・日にちを教えてくれる
    ・時刻を教えてくれる

    ——————————————————————–
    開発環境
    → eclipse 4.2
      android 4.2.2

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

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

    Android音楽再生アプリ「ふりっくま」

    Android端末で音楽を再生するアプリ「ふりっくま」を作成しました。

    アプリの簡単な内容は以下の通りです。

    • 8方向のフリックを検知して、それぞれの方向に対応した曲を再生
    • 画面を長押しすると曲が一時停止

     

    また、今回はフリー素材の音源を使用させていただいております。

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

     

    開発環境:eclipse バージョン4.2

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

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