アプリ版:「スタンプのみでお礼する」機能のリリースについて

音楽の加工をするソフトを作ろうかと考えています。

現在、音源データ(Wave)を加工して、加工後のデータを音源として保存するという機能を付けたいと思っています。

・2つの音源の合成
・エコーの様に時系列を少しずらす
・音量、左右バランスの調整
等々の加工を施した後、保存することが目標です。

音源の加工をする方法はどのようなものがあるのでしょうか?

できれば、.NETの中にあるDirectXで済ますことができれば非常に助かるのですが、可能なのでしょうか?

皆さんの知恵をお貸しいただけたら幸いです。

A 回答 (2件)

>可能なのでしょうか?<


ファイルを読み込んでそこからデータを読み込んで
変換を加えてファイルに書き出せばそれでできあがるはずです。
DirectXのプログラミングはよくわからないのですが
SDKにサンプルプログラムが付属しているはずです。

マルチメディア関係でいじろうとしたら、ファイルのヘッダーをよく理解しなければなりません。
wavファイルのヘッダーの構成がどうなっているのか、
 つまりサンプリング周波数と8,16ビットでそれぞれモノラル、ステレオの記録データがどのように並んでいるのかわかればいいわけです。
プロの方でしたら簡単なことでしょうが、データの組み合わせを考えるだけでうんざりします。

 MSDNでマルチメディア関係の部分を調べてください。
    • good
    • 0

未圧縮WAVEファイルであれば、自力で波形データを取り出して演算処理によって加工。


DirectX(DirectSoundやDirectShow)を使うと余計にややこしくなると思います。これらは再生することが主なので。

波形データの取り出しは、mmioで始まるWinAPIを利用すれば多少楽はできますが、WAVEファイルのフォーマット(RIFF)はさほど複雑ではないのでSystem.IO.BinaryReaderを使えば読みやすいと思います。
http://www.kk.iij4u.or.jp/~kondo/wave/

この回答への補足

ご回答ありがとうございます。
やはりDirectXでの実装は難しそうなので、System.IO.BinaryReaderを使い波形データを取り出したいのですが、バイナリを扱った経験が無い故全く理解が及びませんでした。

波形データ自体も、配列で取得できるのかと想像していたのですがどうやら違う模様・・・

また質問させていただくかもしれません、その時はよろしくお願いします

補足日時:2009/12/07 16:50
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!