人工知能第一研究室

 
デモ大会2015

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)