DOBON.NET DOBON.NETプログラミング掲示板過去ログ

マイク入力の処理について

分類:[.NET]

どのように表現をしていいのかわからないので曖昧な書き方になってしまいますがご容赦ください

ボイスチェンジャーのようなソフトを作成したいと考えています.
具体的には,
マイク入力から音を拾い,拾った音をリアルタイム(遅延があると思いますが,録音ではないという意味で取ってください)で音の高さのみを変えてパソコン上で再生(Skype等で使用できるような形で出力)したいのです

どのように手をつけていいのか,どのようにすればいいのかがわからなくて困っています
また,言語はどのような選択肢があるのでしょうか
習熟度はVB.netが一番高いのでVBでできるのであればそれが一番いいのですが…

よろしくお願いします
> マイク入力から音を拾い,拾った音をリアルタイム(遅延があると思いますが,録音ではないという意味で取ってください)で音の高さのみを変えてパソコン上で再生(Skype等で使用できるような形で出力)したいのです

  機能的には・・・
  1.音を録音・再生する
  2.音の高さを変更する

  に分かれますネ!

  音の録音と再生は、API使うしかないかナ?・・・
  WAVE API と、あとDirectX のDirectSound調べてみて下さい。
  http://www.ne.jp/asahi/nagoya/ahomaro/builder/cpb-061.html
  http://sorceryforce.com/manageddirectx/directsound.html
  http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=28287&forum=7

  あと、音の高さですが・・・
  私は音の成分(スペクトル)を調べて周波数成分を変更する
  方法を使ったり、FFT/逆FFTでちょっと強引に変更してみたり
  したことあります。

  音の録音・再生と言う機能はデバイス的には、成立した機能
  ですので、何とでもなりますが、音の高さ等の変更は、いろ
  いろな方法やアプローチがあり、決まった方法は無いと思い
  ます。
  ので、厄介・・・

  まずは、録音・再生ができてから音の高さ変更にチャレンジ
  されては?

※ 男性・女性の声に変換したりできますヨ!
  文献は多分検索したら沢山ヒットすると思います。
  ただし、プログラムコードよりはアルゴリズムに遭遇する方
  が多いと思いますが。

以上。

DOBON.NET | プログラミング道 | プログラミング掲示板