Iniciando o aplicativo antes que o dispositivo firewire esteja pronto

1

Para usar um aplicativo de áudio que exija jackd-firewire , tenho que inicializar as coisas na seguinte ordem:

  1. Ligue a interface de hardware (um console de mixagem Phonic no meu caso)
  2. Iniciar o jackd
  3. Iniciar o aplicativo de áudio

Qualquer outro pedido fará com que o aplicativo de áudio reclame "sem jack", então tenho que fechá-lo e depois executar a sequência acima.

Quando a interface hw está desativada, o dispositivo /dev/fw1 simplesmente não existe. Criar /dev/fw1 com mknod não ajuda - o jackd não iniciará com um dispositivo tão "morto".

vs. placa de som integrada

Isto está em contraste com uma placa de som integrada, onde o / dev-device está sempre presente quando o computador está em execução.

vs. Pulseaudio

Mesmo o pulseaudio configurado para usar a saída firewire permite que eu desligue e ligue a interface do hw. O som só pára e retoma, e o aplicativo não reclama (só testei isso com o google-chrome reproduzindo um filme).

udev

Eu sei como usar udev para iniciar o jackd quando /dev/fw1 existir. Mas ainda tenho que sair do aplicativo de áudio caso eu tenha esquecido de ligar o hw ifc antes de iniciar o aplicativo.

Minha pergunta

Existe uma maneira de permitir que o aplicativo acredite que pode conectar-se ao jackd mesmo quando o jackd não vê um dispositivo firewire? Idealmente, eu gostaria de poder desconectar o hardware enquanto o aplicativo está em execução sem efeitos nocivos, exceto ouvir nenhum som.

    
por Martin Drautzburg 09.11.2018 / 23:24

1 resposta

0

O JACK geralmente é configurado para usar um dispositivo de áudio específico
se o dispositivo de áudio não estiver disponível, o JACK não poderá iniciar Se o JACK estiver em execução e o dispositivo estiver desconectado, o JACK irá falhar

O JACK pode ser iniciado com a opção de driver alterada para 'fictício' e executada sem dispositivo de áudio

Eu sei como adicionar manualmente outros dispositivos de áudio ao JACK com alsa_in e alsa_out e pode ser possível usar comandos semelhantes para adicionar dispositivos firewire manualmente para entradas e saídas. Mas, qualquer conexão adicionada manualmente ao dispositivo firewire teria que ser removida antes de desconectar o dispositivo, somente o ganho aqui não é necessário parar o JACK

Considerando que você preferiu usar o mixer no Pulseaudio, pode ser melhor para você:

  • Mantenha o mixer em execução no Pulseaudio;
  • Executar o JACK com um driver simulado;
  • Use as conexões Pulseaudio JACK Sink e Pulseaudio JACK Source para conectar o aplicativo no JACK ao mixer no Pulseaudio
    (pode ser necessário instalar o pacote pulseaudio-jack para obter as conexões de origem e origem)
por 19.12.2018 / 04:55