ページ 11

スピーカーから出る音を操作したい

Posted: 2013年7月28日(日) 03:21
by tlnlniri
PCのスピーカー(イヤホン)から出る音を直接加工なりしたいのですが、どのようにすれば操作ができるのでしょうか?
C言語です。
WindowsVistaを使っています。

Re: スピーカーから出る音を操作したい

Posted: 2013年7月28日(日) 09:32
by ソフト屋 外出中
まず音の波形とは?と言う物理的な知識が必要です。
それとPCM(デジタル波形)の知識も必要となりますね。
さいごにWin32APIやDXライブラリなどの出力のための知識です。

Re: スピーカーから出る音を操作したい

Posted: 2013年7月28日(日) 09:35
by みけCAT
音の電気的な出力を取り込んで、マイコンなどで加工したい、ということでしょうか?

Re: スピーカーから出る音を操作したい

Posted: 2013年7月28日(日) 10:20
by tlnlniri
>> ソフト屋 外出中 さん
PCMとWin32APIとDXライブラリは大丈夫です。
DirectXを直接扱うことはできませんが。

>> みけCAT さん
いえ、ソフトウェアを使って音がPCから出力される前に加工したいのです。
あと、マイコンは使い方を知りません。

私がやりたいのは、
「PCの内臓スピーカーやイヤホンから本来出力される波形を取得し、ソフトウェアでリアルタイムで加工し、PCの内臓スピーカーやイヤホンへ出力する」
です。言葉足らずで申し訳ございません。

スピーカーのプロパティの、「低音ブーストと周波数の保護」「仮想サラウンド」「室内音響補正」「ラウドネスイコライゼーション」などの機能を自分で作りたいということです。

そして今わからないことは、ソフトウェアでPCの内臓スピーカーやイヤホンから本来出力される波形を取得・送信する方法です。

Re: スピーカーから出る音を操作したい

Posted: 2013年7月28日(日) 11:16
by h2so5
出力波形を取得する方法についてはこちらに資料があります。
http://msdn.microsoft.com/en-us/library/dd316551.aspx

サンプルコードもあるようです。
https://github.com/rdp/virtual-audio-ca ... ber-device

ただ、出力波形を取得できてもスピーカーからの出力を停止できないと意味ないですよね。

Re: スピーカーから出る音を操作したい

Posted: 2013年7月28日(日) 11:59
by tlnlniri
>> h2so5 さん
リンクありがとうございます。訳しながら読んでいきたいと思います。

>> ただ、出力波形を取得できてもスピーカーからの出力を停止できないと意味ないですよね。
そうですね。スピーカーへの出力をコピーするというより奪う感じですね。


質問の補足
ちょっと思ったことを質問しただけなので解決しなくても問題ありません

Re: スピーカーから出る音を操作したい

Posted: 2013年7月28日(日) 14:11
by ソフト屋 外出中
完全に出力に干渉するには、サウンドドライバを作らないとダメだと思います。入力やサウンドファイルを加工して出力するだけなら、そこまでしなくて良いです。

Re: スピーカーから出る音を操作したい

Posted: 2013年7月28日(日) 15:55
by tlnlniri
>> ソフト屋 外出中 さん
そう簡単にはいかないのですね。
ドライバですか。作ったことが無いので勉強してきます。


追加質問なのですが、プログラマーならドライバは作れないといけないでしょうか?

Re: スピーカーから出る音を操作したい

Posted: 2013年7月28日(日) 18:43
by へにっくす
tlnlniri さんが書きました:追加質問なのですが、プログラマーならドライバは作れないといけないでしょうか?
作った経験があれば確かに良いですが、別に経験無くとも飯は食ってけますよ(^^

Re: スピーカーから出る音を操作したい

Posted: 2013年7月28日(日) 19:27
by tlnlniri
>> へにっくす さん
経験者の意見ありがとうございます。
いつかは周辺機器でも作ってみたいと思っているので、やはり勉強はしておきたいと思います。


これで質問は(一応)解決したのですが、デバイスドライバの勉強(作り方等)ができるサイトを知っている人がいれば教えていただきたいです。

Re: スピーカーから出る音を操作したい

Posted: 2013年7月28日(日) 23:17
by softya(ソフト屋)
tlnlniriさんの知識が、どの程度の知識か分かりませんがマイコンを扱うのと同じ様な知識が必要です。
「Windows Vista時代のデバイス・ドライバ開発 | Blog of Blogrommer」
http://www.devdrv.co.jp/hidaka/article/WindowsVista

Re: スピーカーから出る音を操作したい

Posted: 2013年7月28日(日) 23:58
by tlnlniri
>> softya(ソフト屋) さん
リンクありがとうございます。
pdf見てみましたが、なめてました。
見た感じ、あまりプログラミング関係ないですね。電子回路から勉強を始めることにします。

Re: スピーカーから出る音を操作したい

Posted: 2013年7月29日(月) 00:07
by softya(ソフト屋)
ハードを叩く場合、デバイスドライバが署名や色んなPCで動かないといけないので色々と大変です。

仮想デバイスドライバで出力だけかっぱらうという考え方もあります。
 ↓ こっちの方面で探してみて下さい。ただ、この方面は詳しくないのでWindowsVista以降で動くか不明です。
「Virtual Audio Pipeline プロジェクト日本語トップページ - SourceForge.JP」
http://sourceforge.jp/projects/sfnet_virtualaudiopip/
この手のやつです。