JACK é um daemon de servidor de som profissional que fornece conexões de baixa latência em tempo real para áudio e dados MIDI entre aplicações que implementam sua API. A API pode ser usada através de JACK1 ou JACK2. JACK fornece uma infraestrutura básica para aplicações de áudio para se comunicar uns com os outros e com hardware de áudio. Através do JACK, os usuários estão habilitados a construir sistemas poderosos para processamento de sinais e produção de música. Jack 1 e Jack 2 são implementações equivalentes do mesmo protocolo. JACK2 aka jackdmp é uma versão C+ do servidor de áudio de baixa latência JACK para máquinas multiprocessadores. É uma nova implementação dos recursos básicos do servidor JACK que visa remover algumas limitações do projeto JACK1. O sistema de ativação foi alterado para um modelo de fluxo de dados e técnicas de programação sem bloqueio para acesso a gráficos foram usadas para ter um sistema mais dinâmico e robusto. • usa um novo modelo de ativação do cliente, que permite a execução simultânea do cliente (em uma máquina SMP) quando os clientes paralelos existem no gráfico (cliente que tem as mesmas entradas.) Este modelo de ativação permite melhor usar CPU disponível em uma máquina smp, mas também funciona na máquina monoprocessador. • usa uma maneira livre de bloqueio para acessar (leia/gravação) o gráfico do cliente, permitindo assim que as conexões/desconexão sejam feitas sem interromper o fluxo de áudio. O resultado é que as conexões/desconexões são livres de falhas. • pode trabalhar em dois modos diferentes no nível do servidor: - ativação síncrona: em um determinado ciclo, o servidor espera que todos os clientes sejam terminados (semelhante ao jackd normal) - ativação assíncrona: em um determinado ciclo, o servidor não espera que todos os clientes sejam terminados e usar o buffer de saída computou o ciclo anterior. Para mais informações sobre as diferenças entre JACK1 e JACK2, consulte https://github.com/jackaudio/jackaudio. É frequentemente usado com um frontend como qjackctl.