
Enquanto trabalhava em umPPApara fornecer binários paraSonic Pi, os usuários dos binários PPA continuam tropeçando no jackd. Como tornar as coisas mais fáceis para eles?
Sonic Pi é uma ferramenta musical educacional que combina um sintetizador eletrônico com uma linguagem de programação. Destina-se a usuários novatos e crianças em idade escolar paraensine codificação através da diversão com música. O principal alvo de instalação do software é o Raspbian, onde ele vem pré-instalado. Eo códigocontém alguns hacks integrados, quero dizer, soluções pragmáticas para colocar o Jackd em funcionamento no Raspberry Pi. Mas esses hacks são específicos do RPi e não funcionam bem em outras distribuições.
Esta é a situação:
- Sonic-Pi é um IDE gráfico
- com um servidor baseado em Ruby rodando em segundo plano que controla a música
- para tocar a música, está usando o scsynth (uma parte do Supercollider) como backend do sintetizador
- scsynth atualmente requer o uso do jackd para reproduzir áudio no Linux
- o servidor Sonic Pi baseado em Ruby inicia o jackd (se ainda não estiver em execução) e depois o scsynth
Agora, aqui começam os problemas se você estiver no Ubuntu (e eu acho que no Debian também):
- A configuração padrão do jackd no Ubuntu não parece funcionar para todos, então em alguns sistemas, ele simplesmente não inicia e o usuário tem que usar qjackctl ou cavar nos logs e alterar os arquivos de configuração
- quando jackd inicia,bloqueia o PulseAudio, então qualquer programa que use áudio já em execução irá parar de funcionar
- jackd prefere agendamento em tempo real, mas o Ubuntu não está pré-configurado para fazer isso e requeralterações no usuáriofazer isso
Então tudo em tudo,é uma bagunça. Esta não é a experiência que um usuário novato deseja após instalar o Sonic Pi.
Existem guias por aí sobre como fazer o jackd funcionar com o Ubuntu, mas trabalhar com eles é exigir muito de um usuário novato ou de um professor em sala de aula que deseja apenas colocar este software em funcionamento.
Então, o que estou procurando é uma maneira quegarantirá que após instalar o Sonic Pi a partir do .deb,coisas com jackd funcionam imediatamente, sem problemas, sem necessidade de configuração manual.
A lista de desejos é esta:
- uma configuração para jackd que "simplesmente funciona" imediatamente
- para todas as contas de usuários sem privilégios
- isso não bloqueia PulseAudio/ALSA no mesmo sistema
- em um Ubuntu padrão (e se possível em um Debian e Raspbian padrão também)
- e o mixer de áudio padrão e as teclas de atalho de controle de volume da distribuição continuam funcionando
Isso existe mesmo?
Existe um .deb para isso (ou pode ser feito um .deb) que os usuários podem simplesmente instalar para configurá-lo dessa maneira?
Responder1
Eu li os comentários do Takkat e pode ser que isso seja bom para você:
- Deaqui, instale "pulseaudio-module-jack" então edite /etc/pulse/default.pa (
sudo gedit /etc/pulse/default.pa
): Adicione as seguintes linhas, abaixo da linha que diz#load-module module-alsa-sink
load-module module-jack-sink
load-module module-jack-source
Em seguida, crie ou modifique .jackrc em sua casa contendo :
/usr/bin/jackd --no-realtime -dalsa -dhw -r44100 -p1024 -n2
Reinicie o pulseaudio em execução killall pulseaudio
(também pare o jackd se estiver em execução killall jackd
): o pulseaudio será reiniciado automaticamente e o jackd também será iniciado, ambos conectados corretamente, entãoJackd e Pulseaudio podem ser usados ao mesmo tempo.
(isso funciona no meu PC Ubuntu 14.04).
- O tempo real só é necessário se você quiser baixa latência para gravação multipista. A configuração do jackd acima produzirá latência de 21 ms, o que é bom para a maioria dos programas de áudio (a latência pode aumentar configurando 2048 em vez de 1024 em .jackrc , veja jackd --help)
Assim, você não precisa conceder acesso em tempo real aos usuários,
(Você pode ignorar os avisos, se houver ("Não é possível usar agendamento em tempo real")) .
O-dhw
parâmetro deve funcionar na maioria dos PCs, mas pode ser omitido para usar o dispositivo de áudio padrão ou alterado para-d hw:1,0
usar o segundo dispositivo de áudio - Pode ser mais um passo se você precisar conectar manualmente o jackd à entrada/saída de áudio usando o "Qjackctl connect manager" (a maioria dos programas se conecta ao jackd automaticamente, neste caso não há necessidade de fazer isso): instale "jack tools" e use "jack_connect " comandos para criar scripts para essas conexões (você também pode usaraj-instantâneo para salvar e restaurar conexões jack)