Jack Audio Connection Kit 1.9.10

Licentie: Gratis ‎Bestandsgrootte: N/A
‎Gebruikersbeoordeling: 2.6/5 - ‎14 ‎Stemmen

JACK is een audioserver met lage latentie, geschreven voor elk besturingssysteem dat redelijk POSIX-compatibel is. Het bestaat momenteel voor Linux, OS X, Solaris, FreeBSD en Windows. Het kan verschillende clienttoepassingen verbinden met een audioapparaat en ze in staat stellen audio met elkaar te delen. Clients kunnen als afzonderlijke processen draaien zoals normale applicaties, of binnen de JACK-server als "plugins". JACK is van de grond af ontworpen voor professioneel audiowerk en het ontwerp richt zich op twee belangrijke gebieden: synchrone uitvoering van alle clients en een lage latentieoperatie. Traditioneel is het moeilijk, zo niet onmogelijk om audio-applicaties te schrijven die gegevens met elkaar kunnen delen. Bovendien is het configureren en beheren van audio-interface hardware vaak een van de meest complexe aspecten van het schrijven van audiosoftware. JACK verandert dit alles door het verstrekken van een API die verschillende dingen doet: 1. biedt een hoog niveau abstractie voor programmeurs die de audio-interface hardware verwijdert uit het beeld en hen in staat stelt zich te concentreren op de kernfunctionaliteit van hun software. 2. stelt toepassingen in staat om audiogegevens naar/van elkaar en de audio-interface te verzenden en te ontvangen. Er is geen verschil in hoe een toepassing gegevens verzendt of ontvangt, ongeacht of deze afkomstig is van/gaat naar een andere toepassing of een audio-interface. Voor programmeurs met ervaring met verschillende andere audio-API's zoals PortAudio, Apple's CoreAudio, Steinberg's VST en ASIO en vele anderen, presenteert JACK een bekend model: uw programma biedt een "callback" functie die op het juiste moment wordt uitgevoerd. Uw terugroepactie kan gegevens verzenden en ontvangen en andere signaalverwerkingstaken uitvoeren. Je bent niet verantwoordelijk voor het beheer van audio-interfaces of threading, en er is geen "format negotiation": alle audiogegevens binnen JACK worden weergegeven als 32-bits zwevende puntwaarden. Voor degenen met ervaringen geworteld in de Unix wereld, JACK presenteert een enigszins onbekende API. De meeste Unix API's zijn gebaseerd op het lees/schrijfmodel dat is voortgebracht door de "alles is een file" abstractie waar Unix terecht om bekend staat. Het probleem met dit ontwerp is dat het er niet in slaagt om de realtime aard van audio-interfaces in aanmerking te nemen, of beter gezegd, het niet te dwingen applicatie-ontwikkelaars om voldoende aandacht te besteden aan dit aspect van hun taak. Bovendien wordt het nogal moeilijk om audioroutering tussen toepassingen te vergemakkelijken wanneer verschillende programma's niet allemaal synchroon worden uitgevoerd. Het gebruik van JACK binnen uw programma is zeer eenvoudig, en meestal bestaat uit alleen: - bellen jack_client_open() om verbinding te maken met de JACK-server. - registratie "ports" om gegevens van en naar uw aanvraag te verplaatsen. - het registreren van een "process callback" die op het juiste moment gebeld wordt door de JACK server. - JACK vertellen dat uw toepassing klaar is om gegevens te verwerken. Er is veel meer dat je doen met jack's interfaces, maar voor veel toepassingen, dit is alles wat nodig is. Het simple_client.c voorbeeld toont een compleet (eenvoudig!) JACK applicatie die alleen kopieën van het signaal aankomen op de ingang poort naar de uitgang poort. Ook inprocess.c laat zien hoe je een interne client "plugin" die binnen het JACK-serverproces draait, schrijven.

versiegeschiedenis

  • Versie 0.109.2 geplaatst op 2008-01-30
    Verschillende oplossingen en updates
  • Versie 0.109.2 geplaatst op 2008-01-30

Programmadetails