Frage

erkennen ich, könnte dies relativ Nische sein, aber vielleicht ist das, warum das gut ist sowieso zu fragen. Ich betrachte eine Hardware-Mehrfacheingabeaufnahmekonsole (wie der Alesis IO 26) in einem Adat lightpipe 8-Kanal-Eingang aufzunehmen Signalverarbeitung zu tun. Als ich noch das Gerät erwerben muß und müssen herausfinden, ob dies machbar (Haushalt betrifft), würde ich fragen, ob jemand Erfahrung tippt all diese 8 Eingänge für Daten in Java hat? Ich habe jede Menge Beispiele für Aufnahmeton gesehen die Javax.sound.sampled Bibliotheken, aber ich konnte keine Informationen über mehrkanaligen finden, die mehr als 2 ist, was ich bin interessiert in bemustert die 8 Kanäle Individuum als Monoquelle führen an ihnen einige einfache DSP. Würde die Hardware-Gerät wie einem Mischer behandelt werden? Und die 8 Kanäle als 8 Zeilen dargestellt werden? Ich hoffe, ich habe meine Terminologie richtig.

Ich würde mich freuen, wenn mir jemand zu allen relevanten Informationen zeigen kann. Dank!

War es hilfreich?

Lösung

Multi-Kanal-Audio sollte möglich sein, in Java je nach Version von Java Sie ausgeführt wird, die Plattform, die Sie auf ausführen, und die Art der Soundkarte Du ausgeführt werden. Siehe die ausgezeichneten Java Audio Faq Für weitere Details. Ich habe nie in der Lage gewesen, dies über alle Plattformen hinweg zuverlässig zu verwenden.

Wenn Sie wirklich über das Tun robust Mehrkanalton kümmern, würde ich empfehlen, einen C-API verwenden, wie zum Beispiel Portaudio Juce oder Pulseaudio .

Ich habe ausgezeichnetes Glück habe mit Portaudio und Juce beide.

Um diese in Java verwenden Sie erstellen müssten JNI Schnittstelle zur C-APIs .

Das ist natürlich mehr Arbeit als nur javax.sound verwenden, aber es gibt Ihnen viel mehr Kontrolle über die Audio-Hardware Sie verwenden. Nach meiner Erfahrung mit Audio-Geräten zu tun, zu weit ist, von der Hardware entfernt (das heißt 4 Abstraktionsschichten statt 2) oft entfernt Ihre Fähigkeit, ernsthafte Multi-Channel- und High-Bit-Tiefe, hohe Abtastrate Audio zu tun.

Andere Tipps

Ich habe implementiert etwas ähnliches mit Terratec Karten zu 32 Eingängen kaskadiert, die einzige Bibliothek war zu der Zeit JSyn.

Es ist eine wirklich gute Bibliothek, wenn Sie sie kennen zu lernen.

http://www.softsynth.com/jsyn

Ich bin nicht sicher, ob es etwas anderes ist, die helfen können.

Ich habe soeben einen Java JNI-Wrapper für Portaudio. Der Plan ist, diese zu halten zusammen mit Portaudio-Quelle. Portaudio unterstützt Mehrkanal-Audio, wobei N> 2.

Heute 9/3/12, JPortAudio ist noch im Alpha-Modus. Durch die Zeit, lesen Sie diese stabil sein kann.

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

Ich kann Ihnen keine Antwort geben direkt an, ob die javax.sound API arbeitet mit mehreren Kanälen (Aber nach der API doc es soll).

Allerdings habe ich für Multi-Channel-Audio-Verarbeitung mit Java einen anderen Weg gegangen, die auch für Sie arbeiten kann. Ich verwenden Jack (Jack Audio Connection Kit), um die Signale von und zu dem Audiogerät zu kanalisieren und dann wird die Bibliothek JJack Signalverarbeitung durchzuführen. Sie haben nicht Ihr Ziel OS erwähnen. Ich habe diesen Ansatz erfolgreich unter Linux. AFAIR gibt es ein Windows-Port für Jack auf dem Weg.

ciao, Ulme

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top