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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
tlnlniri
記事: 17
登録日時: 7年前

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

#1

投稿記事 by tlnlniri » 7年前

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

ソフト屋 外出中

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

#2

投稿記事 by ソフト屋 外出中 » 7年前

まず音の波形とは?と言う物理的な知識が必要です。
それとPCM(デジタル波形)の知識も必要となりますね。
さいごにWin32APIやDXライブラリなどの出力のための知識です。

アバター
みけCAT
記事: 6296
登録日時: 9年前
住所: 千葉県
連絡を取る:

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

#3

投稿記事 by みけCAT » 7年前

音の電気的な出力を取り込んで、マイコンなどで加工したい、ということでしょうか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

tlnlniri
記事: 17
登録日時: 7年前

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

#4

投稿記事 by tlnlniri » 7年前

>> ソフト屋 外出中 さん
PCMとWin32APIとDXライブラリは大丈夫です。
DirectXを直接扱うことはできませんが。

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

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

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

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

アバター
h2so5
副管理人
記事: 2212
登録日時: 9年前
住所: 東京
連絡を取る:

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

#5

投稿記事 by h2so5 » 7年前

出力波形を取得する方法についてはこちらに資料があります。
http://msdn.microsoft.com/en-us/library/dd316551.aspx

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

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

tlnlniri
記事: 17
登録日時: 7年前

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

#6

投稿記事 by tlnlniri » 7年前

>> h2so5 さん
リンクありがとうございます。訳しながら読んでいきたいと思います。

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


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

ソフト屋 外出中

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

#7

投稿記事 by ソフト屋 外出中 » 7年前

完全に出力に干渉するには、サウンドドライバを作らないとダメだと思います。入力やサウンドファイルを加工して出力するだけなら、そこまでしなくて良いです。

tlnlniri
記事: 17
登録日時: 7年前

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

#8

投稿記事 by tlnlniri » 7年前

>> ソフト屋 外出中 さん
そう簡単にはいかないのですね。
ドライバですか。作ったことが無いので勉強してきます。


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

アバター
へにっくす
記事: 630
登録日時: 8年前
住所: 東京都

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

#9

投稿記事 by へにっくす » 7年前

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

tlnlniri
記事: 17
登録日時: 7年前

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

#10

投稿記事 by tlnlniri » 7年前

>> へにっくす さん
経験者の意見ありがとうございます。
いつかは周辺機器でも作ってみたいと思っているので、やはり勉強はしておきたいと思います。


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

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

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

#11

投稿記事 by softya(ソフト屋) » 7年前

tlnlniriさんの知識が、どの程度の知識か分かりませんがマイコンを扱うのと同じ様な知識が必要です。
「Windows Vista時代のデバイス・ドライバ開発 | Blog of Blogrommer」
http://www.devdrv.co.jp/hidaka/article/WindowsVista
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

tlnlniri
記事: 17
登録日時: 7年前

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

#12

投稿記事 by tlnlniri » 7年前

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

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

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

#13

投稿記事 by softya(ソフト屋) » 7年前

ハードを叩く場合、デバイスドライバが署名や色んなPCで動かないといけないので色々と大変です。

仮想デバイスドライバで出力だけかっぱらうという考え方もあります。
 ↓ こっちの方面で探してみて下さい。ただ、この方面は詳しくないのでWindowsVista以降で動くか不明です。
「Virtual Audio Pipeline プロジェクト日本語トップページ - SourceForge.JP」
http://sourceforge.jp/projects/sfnet_virtualaudiopip/
この手のやつです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

“C言語何でも質問掲示板” へ戻る