VC++でエフェクト機能の付いた音楽プレイヤーを制作しています。 MCIデバイスを使用して、音楽ファイルの選択→音楽ファイルの再生→音楽ファイルの停止までは動作しました。 今はエフェクト機能の作成をしていますが上手く動作しません。
どうやって音楽データを取り出して、エフェクト機能を付けるかを教えていただければ嬉しいです。
制作するエフェクトはハイパス、ローパス、ディレイです。
よろしくお願いします。
VC++でデジタルフィルタの作成
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: VC++でデジタルフィルタの作成
MCIではなくwaveIn,waveOutを使う必要があると思います。
※ 私は使ったことがありません。
waveInでバッファメモリに展開 → エフェクト・フィルタ加工 → waveOutでバッファメモリから音声出力。
「音声の入力」
http://wisdom.sakura.ne.jp/system/winapi/media/mm7.html
「PCM の基本」
http://wisdom.sakura.ne.jp/system/winapi/media/mm5.html
「Waveメッセージ」
http://wisdom.sakura.ne.jp/system/winapi/media/mm6.html
あと、エフェクト・フィルタ加工の理論面は大丈夫なのでしょうか?
FFTなどいろいろな知識が必要なのですが。
● 参考になる過去トピック
「信号処理について • C言語交流フォーラム ~ mixC++ ~」
http://dixq.net/forum/viewtopic.php?f=3&t=11969
※ 私は使ったことがありません。
waveInでバッファメモリに展開 → エフェクト・フィルタ加工 → waveOutでバッファメモリから音声出力。
「音声の入力」
http://wisdom.sakura.ne.jp/system/winapi/media/mm7.html
「PCM の基本」
http://wisdom.sakura.ne.jp/system/winapi/media/mm5.html
「Waveメッセージ」
http://wisdom.sakura.ne.jp/system/winapi/media/mm6.html
あと、エフェクト・フィルタ加工の理論面は大丈夫なのでしょうか?
FFTなどいろいろな知識が必要なのですが。
● 参考になる過去トピック
「信号処理について • C言語交流フォーラム ~ mixC++ ~」
http://dixq.net/forum/viewtopic.php?f=3&t=11969
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
undergo
Re: VC++でデジタルフィルタの作成
返信ありがとうございます。
waveIn,waveOutを使う方法も考えましたが、その方法で、MCIデバイスで取得した音楽データを加工することは可能なのでしょうか?
FFTやIIRフィルタなどは名前を知っている程度です。
どのような処理が必要になるのでしょうか?
waveIn,waveOutを使う方法も考えましたが、その方法で、MCIデバイスで取得した音楽データを加工することは可能なのでしょうか?
FFTやIIRフィルタなどは名前を知っている程度です。
どのような処理が必要になるのでしょうか?
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: VC++でデジタルフィルタの作成
>waveIn,waveOutを使う方法も考えましたが、その方法で、MCIデバイスで取得した音楽データを加工することは可能なのでしょうか?
waveIn,waveOutするのですからMCIデバイスは使いません。
MCIデバイスの事は忘れたほうが良いと思います。
[訂正] すいません。waveInは使いません。fopenしてメモリ上に展開した後mp3などのコーデックはライブラリなどを使って展開後にフィルタ・エフェクト処理を行なって下さい。
waveOutは出力に使用します。
>FFTやIIRフィルタなどは名前を知っている程度です。
>どのような処理が必要になるのでしょうか?
紹介したトピックから参考サイトを見て、それと検索してみて下さい。
その上でわからないことがあれば質問して下さい。
IIRフィルタについては私も信号処理の専門家ではないので詳しくありません。
waveIn,waveOutするのですからMCIデバイスは使いません。
MCIデバイスの事は忘れたほうが良いと思います。
[訂正] すいません。waveInは使いません。fopenしてメモリ上に展開した後mp3などのコーデックはライブラリなどを使って展開後にフィルタ・エフェクト処理を行なって下さい。
waveOutは出力に使用します。
>FFTやIIRフィルタなどは名前を知っている程度です。
>どのような処理が必要になるのでしょうか?
紹介したトピックから参考サイトを見て、それと検索してみて下さい。
その上でわからないことがあれば質問して下さい。
IIRフィルタについては私も信号処理の専門家ではないので詳しくありません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。