2011-10-05 15 views
1

私の目的は、人間の音を記録し、それを(エフェクトを使って)変更するプロジェクトです。 例:人がマイクで音を録音し(しばらく話してください)、プログラムよりもベビーサウンドのようになります。 (あまりにも、変更操作を実行する必要があります記録しながら)これはXNA | C#:音声の録音と変更

それを行うための最適な方法は何で効果的かつ迅速に実行しなければなら

おかげ

+0

あなたはどんなプラットフォームを目指していますか? PC? WP7? – r2d2rigo

+0

PCの場合、実際には問題ありません.XNAには両方の機能があります。 – icaptan

答えて

2

これを行うためにXNAまたはDirectXのいずれかをお探しの場合は、運が悪いと思います(DirectSoundの経験はあまりありません。 )。あなたがしたいように聞こえるように聞こえるのはリアルタイムデジタル信号処理です。つまり、生の波形を操作するための独自のコードを書く必要があるか、既にコードを書いている他の人を見つける必要があります。

このようなことを書いた経験がないなら、この種のものはすぐに複雑になる可能性があるので、おそらく他の人の信号処理ライブラリを使用するのが最善です。あなたがPCのために開発しているので、あなたは運がいいです。 P/Invokeを使用して好きなライブラリを使用することができます。 herehereのいくつかのソリューションを試してみてください。

+0

私にupvoted、答えのおかげで。リアルタイムのデジタル信号処理が必要なのですが、私は既にPInvokeでライブラリを見つけました。私は質問を閉じるだろう:) – icaptan

0

MSDNのXNAからオーディオ名前空間に関するいくつかの情報を持っており、バージョン4で導入されたオーディオ録音:

があることに注意してください記録されたデータはPCM形式で返されます。

+0

未使用のリンク...録音はすでに終わっていますが、このオーディオ名前空間ではできないことはできません。 – icaptan

+0

なぜですか? Microphone.Default.GetDataを使用すると、生の録音データを取得することができます。これにより、必要な処理を行うことができます。 – r2d2rigo

+0

私はすべてが欲しいわけではありません。 Audio Classesのメンバーを確認してください。パンとピッチの値だけを変更できます。サウンドにはより多くの特性があります。 XNAはDirectX上に構築されていますが、DirectXのすべての機能を保持しているわけではありません。 – icaptan

関連する問題