web-dev-qa-db-ja.com

Windows用の仮想オーディオドライバー?

Windows用の(おそらくフリーまたはオープンソースの)仮想WDMオーディオドライバーがあり、Windowsアプリケーションと実際のサウンドカードのオーディオドライバーの間に1つのレイヤーを追加して、次のことを可能にします。

  • ソフトウェアDSPを一般的なオーディオ出力に追加します。ヘッドフォンなどでオンラインストリーミングメディアを聴くために、コンプレッサーやステレオバイノーラルコンバーターなどのカスタムエフェクトを使用できるようにしたいと考えています。

  • 出力をサウンドカードではなくカスタムバッファに接続します。たとえば、オーディオを録音したり、ワイヤレス接続を介して他のワイヤレスソースにオーディオを送信したりできますか?

[〜#〜] vac [〜#〜] ドライバーについてしか知りませんが、それを使用してこれらのタスクを実行する方法がわかりません。そして残念ながらそれは無料ではありません。

また、オーディオドライバーは、これらの問題を解決するための私のアイデアにすぎませんでした。他の方法をご存知の場合は、知識を共有してください。

Windows 7またはWindows XP、あるいはその両方に必要です。

20
Ognjen

VACバーチャルオーディオケーブルの代わりに無料の(寄付ウェア))が用意されています。チェックアウト VB-Audioバーチャルケーブル です。

VB-Audio Virtual Cable Screenshot

1つの仮想ケーブルをサポートするために使用できる32ビットおよび64ビットのドライバーがあります。このケーブルは8チャンネル(7.1サラウンド)をサポートしているようで、96kHzのサンプルレートを処理でき、調整可能なバッファーサイズを備えています。

11
Brad

次に、物理的なサウンドカードがなくても動作するドライバがいくつかあります。

ただし、これら2つには、効果を適用する機能はありません。

5
saulius2

私は Jack と呼ばれる無料のオープンソースAPIを見つけました。これは、あなたが要求したものの両方を可能にするようです。

あなたが要求したものを提供するジャックを利用する アプリケーション がたくさんあります。

彼らのサイトから:

JACKは、リアルタイムの低遅延オーディオ(およびMIDI)を処理するためのシステムです。 GNU/Linux、Solaris、FreeBSD、OS X、Windowsで動作します(他のPOSIX準拠のプラットフォームに移植できます)。複数の異なるアプリケーションをオーディオデバイスに接続し、アプリケーション間でオーディオを共有することができます。そのクライアントは、独自のプロセスで(つまり、通常のアプリケーションとして)実行することも、JACKサーバー内で(つまり、「プラグイン」として)実行することもできます。 JACKは、高速で信頼性の高いLANだけでなく、低速で信頼性の低いWANの両方で、ネットワーク全体にオーディオ処理を分散することもサポートしています。

これがあなたのやっていることに対してうまくいくかどうか知りたいです。

2
nathanm412

Windows Vista以降のサポートのみを処理できる場合は、audiodg.exeがホストするオーディオスタック(オーディオデバイスグラフ)にカスタム効果をプログラミングできます。 )次のAPIを使用するアプリケーションの場合:

  • WinMM(Windowsで最も古く、最も互換性のあるサウンドAPI)
  • DirectSound
  • 共有モードのWASAPI

以下はサポートされていません。

  • カーネルストリーミング(KS)
  • 排他モードのWASAPI
  • ASIO

独自のフィルターをプログラムできる機能はAudio Processing Objectsと呼ばれ、詳細情報はMicrosoftから入手できます here (安定したリンクである必要があります)詳細 here

LinuxのGstreamerとPulseaudioを使用すれば、これらすべてが笑えるほど簡単です。同様のスタックを取得してすべてのWindowsオーディオのバックエンドにすることができれば、sAPO実装の醜い操作をすべて行う必要はありません。

1
allquixotic

同じことを達成する1つの方法。技術的にはあなたが求めているものではありませんが、 Virtual Audio Cable などの仮想オーディオループバックデバイスを使用することです。このようなソフトウェアは、新しい仮想送信および受信デバイスを作成します。仮想デバイスに設定されたデフォルトのWindowsサウンドデバイス出力、およびオーディオ処理アプリケーションに送信します。したがって、プラグインはドライバに含まれていませんが、デフォルトのサウンドデバイスにサウンドを送信することで、FXを取得できます。次に、低遅延のためにASIOドライバーを使用する必要があります。サウンドカードがオーディオファンデバイスでない場合は、おそらくASIOドライバーが付属していません。とにかくチェックすることをお勧めします。そうでない場合は、ほとんどすべてのオーディオデバイスにASIOドライバーを提供するASIO4ALLを使用します。次に、ASIOを話すプラットフォームが必要になります。そのため、おそらくVSTエフェクトを使用します。 Protoolsも使用できますが、このアプリケーションには過剰です。死神は安価な可能性の1つです。有効期限のないデモがあります。無料のものもあります。ここで重要なのは、リアルタイムオーディオエフェクトを実行できることです。すべてのwaveファイルエディタができるわけではありません。次に、アプリケーションを起動し、トラックを作成し、入力用にループバックデバイスを選択し、出力用にサウンドカードのASIOドライバーを選択し、VSTエフェクトをプラグインし(Reaperには、Niceのシンプルなfxが付属しています)、追跡(これを行う方法については、ヘルプを確認してください)。複雑そうに聞こえますが、実際にはかなり早く開始できます。 Reaperはデフォルトで最後に使用されたプロジェクトをリロードします。

0
CodeLurker

非フリーですが、エフェクトに役立つ可能性があります DMMF仮想オーディオストリーム 。また、 Dante Virtual Sound Card もあります。この時までに何か便利なものを見つけましたか?

0
saulius2