8

これは比較的ニッチなものかもしれないことに気付きましたが、とにかく質問するのが良い理由かもしれません. ハードウェアの複数入力レコーディング コンソール (Alesis IO 26 など) を検討しており、Adat ライトパイプ 8 チャネル入力を取り込んで信号処理を行います。私はまだデバイスを取得しておらず、これが実現可能かどうかを判断する必要があるため (予算の問題)、Java でこれら 8 つの入力すべてをデータにタップした経験がある人はいますか? Javax.sound.sampled ライブラリを使用してサウンドを録音する例をたくさん見てきましたが、2 を超えるマルチチャンネルに関する情報は見つかりませんでした。それらに対して簡単な DSP を実行します。ハードウェア デバイスは 1 つのミキサーとして扱われますか? 8 チャンネルは 8 本の線で表されますか? 用語が正しいことを願っています。

誰かが関連する情報を教えてくれれば幸いです。ありがとう!

4

4 に答える 4

3

Java では、実行している Java のバージョン、実行しているプラ​​ットフォーム、および実行しているサウンドカードの種類に応じて、マルチチャンネル オーディオが可能であると想定されています。詳細については、優れたJava Audio Faqを参照してください。これをすべてのプラットフォームで確実に使用することはできませんでした。

堅牢なマルチチャネル オーディオを行うことに本当に関心がある場合は、 PortAudioJuce、またはPulseAudioなどの C API を使用することをお勧めします。

私は PortAudio と Juce の両方で非常に幸運でした。

これらを Java で使用するには、C API へのJNIインターフェイスを作成する必要があります。

これは明らかに単に javax.sound を使用するよりも手間がかかりますが、使用しているオーディオ ハードウェアをより細かく制御できます。オーディオ デバイスを扱った私の経験では、ハードウェアから遠すぎると (つまり、2 層ではなく 4 層の抽象化)、深刻なマルチチャンネル、高ビット深度、高サンプル レートのオーディオを実行する能力が失われることがよくあります。

于 2009-02-02T20:59:41.833 に答える
1

PortAudio 用の Java JNI ラッパーを追加しました。これを PortAudio ソースと一緒に維持する計画です。PortAudio は、N>2 のマルチチャンネル オーディオをサポートします。

今日、2012 年 9 月 3 日、JPortAudio はまだアルファ モードです。これを読む頃には安定しているかもしれません。

http://www.portaudio.com/docs/v19-doxydocs/java_binding.html

于 2012-09-03T23:39:24.313 に答える
1

私は 32 の入力にカスケード接続された Terratec カードで同様のものを実装しました。当時の唯一のライブラリは Jsyn でした。

慣れると本当に良いライブラリです。

http://www.softsynth.com/jsyn

他に役立つものがあるかどうかはわかりません。

于 2009-01-30T09:59:30.513 に答える
0

javax.sound API がマルチチャネルで動作するかどうかについて直接お答えすることはできません (ただし、API doc によれば、動作するはずです)。

ただし、Java を使用したマルチチャネル オーディオ処理の別の方法を試してみました。Jack (Jack Audio Connection Kit) を使用してオーディオ デバイスとの間で信号をやり取りし、JJack ライブラリを使用して信号処理を実行しました。ターゲットOSについては言及していません。Linuxでこのアプローチをうまく使用しました。ちなみに、途中でジャック用のWindowsポートがありました。

チャオ、ニレ

于 2009-01-28T14:41:47.360 に答える