問題タブ [asio]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1342 参照

audio - ASIO4ALLをインストールせずに「asio4all.dll」を使うには?

ASIO4ALLをインストールせずに「asio4all.dll」の機能を利用するには?低遅延でオーディオを使用するには、ASIO4ALL のインストールは必須ですか?

低遅延のオーディオを必要とするアプリケーションを構築しています。エンド ユーザーが ASIO4ALL をインストールする必要がなかったら興味深いでしょう。

0 投票する
1 に答える
3653 参照

c# - NAudio Asio の録音と再生

独自の VST ホストを作成しようとしています。そのためには、Asio ドライバー (私の場合はオーディオ インターフェイス) からオーディオを録音して再生する必要があります。そのため、NAudio の AsioOut を使用しようとしています。

テスト目的で、現在、入力を記録し、コピーして出力に再生しようとしています。

私のコードは次のようになります。

...

このように、私は出力を聞くことができません。私もこの方法で試しました:

このようにして、入力の音量で音を聞くことができますが、非常に歪んでいます。

ここで何が間違っていますか?

PS:録音と再生の方法は知っています....存在しますが、このスレッドから完全な回答を得ることができませんでした。Marshall.Copy で試してみるというアイデアだけです....

0 投票する
1 に答える
210 参照

c# - サウンド バッファ変換での AccessViolationException

入力バッファから関数にデータを渡し、次に出力バッファにデータを渡すために、 Naudio AsioOutオブジェクトを使用しています。delayProc()

にはバッファ タイプdelayProc()が必要であり、これは を使用して可能です。問題は、それを多次元に再変換する必要があることです。これを行うには、クラスを使用しています。float[]e.GetAsInterleavedSamples()IntPtrAsioSampleConvertor

効果を適用しようとすると、エラーが表示されます。クラスのコードにAccessViolationExceptionが表示されます。AsioSampleConvertor

float[]したがって、問題はからIntPtr[]..への変換によるものだと思います。

私はあなたにいくつかのコードを与えます:

OnAudioAvailable()

delayProc()

AsioSampleConverter

クランプToInt()

他のコードが必要な場合は、私に尋ねてください。

0 投票する
1 に答える
176 参照

windows - アプリケーションが 64 ビットで、MSVC2012 または MSVC2013 を使用してコンパイルされている場合、Windows 8 で ASIO がクラッシュする

だから私は興味深い大きな問題を抱えています...最新のASIO SDKをダウンロードし、ホストサンプルをコンパイルしましたが、これらの条件がすべて満たされている場合、いくつかのASIOドライバーでクラッシュします(またはナンセンスを行います...):

一体何が間違っているのでしょうか?

0 投票する
2 に答える
12133 参照

c# - リアルタイムでNAudioを使用してFFTを計算する方法(ASIO出力)

私は今学期の最終プロジェクトとして、ギター (バイオリン) ヒーローのクローンをプログラミングしています。

アイデアは、エレクトリック バイオリンから入力を取得し、FFT を介して分析し、いくつかのロジックと描画を実行して、スピーカーから出力することです。おそらく、並列スレッドのいくつかのステップ。

既に Asio の低遅延入出力を実装していますが、リアルタイム FFT の実装に大きな問題があります。

sampleAggregatorとともにasioOutを設定するコードです。サンプル アグリゲーターは、AudioAvailable() が呼び出されるたびに追加されるサンプルを格納し、サンプル数が fftLength を超えたときに FFT 計算をトリガーする必要があります。

SampleAggregator は、NAudio fft の結果から取得したクラスで、すべての周波数 C# で強度を提供します

Asio は Int32LSB サンプル タイプでデータを出力します。buf には 0 から 255 までの値があります。

これは、fft が計算されるときに呼び出される関数です (SampleAggregator クラスからトリガーされます)。

しかし、FFT は結果として常に NaN を出力します。

float への変換に問題があると思います。

誰かが私を正しい方向に向けることができますか?

EDIT_1: DataAvailable() のループを次のように変更しました

FFT がデータを出力するようになりました。しかし、それらは正しくないと思います。間違いは、asio サンプルと float 値の間の変換にあるに違いありません。しかし、私はバイト操作にあまり慣れていません。

e.GetAsInterleavedSamples が何らかの形で役立つでしょうか?

FFT からの生データのサンプル: X: -5,304741 Y: -0,7160959 X: 6,270798 Y: -0,4169312 X: -8,851931 Y: -0,4485725

FFT からの生データの最初の数個と最後の数個の値が、他のデータよりも大きいことに気付きました。マグニチュードの計算をトリッキーにする。

0 投票する
0 に答える
404 参照

webrtc - WEBRTC と ASIO (または NAudio)

NAudio または特に ASIO デバイスのサポートを WEBRTC に追加したいと考えています。

1) これは NAudio を使用して実行できますか?

2) これは ASIO を使用して実行できますか?

これを行う方法に関するアドバイスはありますか?

また、これは要件であるため、この機能を提供するための契約が利用可能です。

お知らせ下さい

よろしくお願いします

マーク・ジャービス

0 投票する
0 に答える
358 参照

c++ - ASIO ドライバから MM_WIM_DATA で音声データを取得する

USBオーディオカードを使用してデータを記録するCc ++のプログラムがありました。Windows XP で完全に動作します。今、私はそれをWindows7に移動する必要があります。Win7 はそのカードからデータを取得しないため、この問題を解決するために ASIO ドライバーをインストールしました。そこで、Cooledit Pro でデータを取得しようとしましたが、うまくいきました。しかし、私のプログラムでは入力データが壊れています。フロー機能を使用してデータを取得しています:

残念ながら((WAVEHDR *)message.LParam) -> lpDataのようなもので構成されていますЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЃ。私の間違いはどこですか?

追加コードの追加:
1) USB デバイスが見つかりました

2) このデバイスを初期化します

3)WAVEHDRの準備

4)また、デバイスを構成する機能があります

5)関数がデータ「AudioIn :: onMessage」を取得するスレッドを開始しました