Jack Audio Connection Kit 1.9.10

Lizenz: kostenlos ‎Dateigröße: N/A
‎Benutzerbewertung: 2.6/5 - ‎14 ‎Stimmen

JACK ist ein Audioserver mit niedriger Latenz, der für jedes Betriebssystem geschrieben wurde, das einigermaßen POSIX-kompatibel ist. Es existiert derzeit für Linux, OS X, Solaris, FreeBSD und Windows. Es kann mehrere Client-Anwendungen mit einem Audiogerät verbinden und es ihnen ermöglichen, Audio miteinander zu teilen. Clients können als separate Prozesse wie normale Anwendungen oder innerhalb des JACK-Servers als "plugins" ausgeführt werden. JACK wurde von Grund auf für professionelle Audioarbeit entwickelt und konzentriert sich auf zwei Schlüsselbereiche: synchrone Ausführung aller Clients und Betrieb mit geringer Latenz. Traditionell war es schwierig, wenn nicht unmöglich, Audioanwendungen zu schreiben, die Daten miteinander teilen können. Darüber hinaus war die Konfiguration und Verwaltung von Audiointerface-Hardware oft einer der komplexesten Aspekte beim Schreiben von Audiosoftware. JACK ändert all dies, indem es eine API bereitstellt, die mehrere Dinge tut: 1. bietet eine High-Level-Abstraktion für Programmierer, die die Audio-Interface-Hardware aus dem Bild entfernt und es ihnen ermöglicht, sich auf die Kernfunktionalität ihrer Software zu konzentrieren. 2. ermöglicht es Anwendungen, Audiodaten an/von einander sowie die Audioschnittstelle zu senden und zu empfangen. Es gibt keinen Unterschied, wie eine Anwendung Daten sendet oder empfängt, unabhängig davon, ob sie von einer anderen Anwendung oder einer Audioschnittstelle stammen oder an diese gesendet werden. Für Programmierer mit Erfahrung mit mehreren anderen Audio-APIs wie PortAudio, Apples CoreAudio, Steinbergs VST und ASIO sowie vielen anderen präsentiert JACK ein vertrautes Modell: Ihr Programm bietet eine "callback"-Funktion, die zur richtigen Zeit ausgeführt wird. Ihr Rückruf kann Daten sowie andere Signalverarbeitungsaufgaben senden und empfangen. Sie sind nicht für die Verwaltung von Audioschnittstellen oder Threading verantwortlich, und es gibt keine "Format-Aushandlung": Alle Audiodaten in JACK werden als 32-Bit-Gleitkommawerte dargestellt. Für diejenigen mit Erfahrungen, die in der Unix-Welt verwurzelt sind, präsentiert JACK eine etwas unbekannte API. Die meisten Unix-APIs basieren auf dem Lese-/Schreibmodell, das durch das "alles ist eine Datei" Abstraktion, für die Unix zu Recht berühmt ist. Das Problem bei diesem Design ist, dass es die Echtzeit-Natur von Audio-Schnittstellen nicht berücksichtigt, oder genauer gesagt, es nicht zwingt, Anwendungsentwickler zu zwingen, genügend Aufmerksamkeit auf diesen Aspekt ihrer Aufgabe zu zahlen. Darüber hinaus wird es ziemlich schwierig, das audio-Routing zwischen anwendungen zu erleichtern, wenn nicht alle Programme synchron laufen. Die Verwendung von JACK in Ihrem Programm ist sehr einfach und besteht in der Regel aus: - Aufrufen jack_client_open(), um eine Verbindung zum JACK-Server herzustellen. - Registrierung von "ports", damit Daten in und aus Ihrer Anwendung verschoben werden können. - Registrierung eines "Prozessrückrufs", der vom JACK-Server zum richtigen Zeitpunkt aufgerufen wird. - Jack mitteilen, dass Ihre Anwendung bereit ist, mit der Verarbeitung von Daten zu beginnen. Es gibt noch viel mehr, was Sie mit den Schnittstellen von JACK tun können, aber für viele Anwendungen ist dies alles, was benötigt wird. Das simple_client.c Beispiel zeigt eine vollständige (einfache!) JACK-Anwendung, die nur das Signal kopiert, das an seinem Eingangsanschluss ankommt, an seinen Ausgangsanschluss. In ähnlicher Weise zeigt inprocess.c, wie ein interner Client "plugin" geschrieben wird, der innerhalb des JACK-Serverprozesses ausgeführt wird.

VERSIONSVERLAUF

  • Version 0.109.2 veröffentlicht auf 2008-01-30
    Mehrere Korrekturen und Updates
  • Version 0.109.2 veröffentlicht auf 2008-01-30

Programmdetails