Passo a passo para executar um dispositivo de entrada de teclado midi? 12.04

21

Eu tenho um Korg Nanokey e gostaria de fazê-lo produzir som no ubuntu. Eu li que isso significa que eu deveria usar o Rosegarden e que o Rosegarden usa o JACK, mas não o instala. (Apesar de verificar o Ubuntu Software Center, aparentemente alguns componentes do JACK estão instalados por padrão?)

Entendo que pode haver muito trabalho configurando o JACK sem ele combater o servidor de som padrão. Alguém pode me dar um método passo a passo para o que preciso fazer para conectar minha máquina midi e ouvir música quando pressiono as teclas da maneira mais simples possível (sem estragar o pulseaudio, ou seja, para que eu ainda possa acessar o Skype e material de mesa)? Estou bem em instalar o JACK, mas gostaria de colocá-lo na caixa de areia um pouco, se tiver a chance de bagunçar a área de trabalho normal.

Examinei alguns recursos, mas não tenho certeza do que está desatualizado, mas o seguinte parecia útil ...

Mittenchops
fonte

Respostas:

22

Se você apenas deseja receber o seu teclado para som jogo, isso é muito simples, e você não vai precisar JACK nem Rosegarden para isso. Essas ferramentas são ótimas se você deseja gravar sinal MIDI, escrever notas e direcionar o áudio entre aplicativos separados, mas não é necessário reproduzir o som com o teclado.

Meu passo a passo seria:

  1. Conecte seu dispositivo MIDI ao seu computador. Se for um teclado MIDI USB, basta conectar o USB; se ele tiver apenas um conector MIDI, convém usar um dispositivo MIDI para USB.

  2. Baixe / instale um sintetizador. Há uma grande variedade de aplicativos de sintetização de som para o Ubuntu. Você pode gostar do ZynAddSubFX (realmente poderoso), FluidSynth ou QSynth (suporte de som), AMSynth, AMS. Certifique-se de navegar no Ubuntu Software Center em busca de sintetizadores que possam atrair seu interesse.

  3. Inicie o sintetizador. Claro que precisa estar funcionando para produzir som.

  4. Diga ao sistema para passar dados do teclado para o sintetizador. Você precisa criar um link entre o teclado e o sintetizador, para que o sinal MIDI seja transmitido a ele. Você pode usar a aconnectferramenta, ou um de seus back-ends gráficos (que são mais simples de usar), como aconnectguiou kaconnect. Enquanto o aconnect está instalado por padrão, você pode obter os outros dois no Software Center. Depois de conectar o teclado e o sintetizador, siga para a etapa final ...

  5. Pressione uma tecla do seu teclado. Você ouvirá algum som! Caso contrário, verifique se o som do sistema não está mudo e se nossos alto-falantes estão conectados. Além disso, alguns sintetizadores exigem que você escolha um instrumento antes de produzir qualquer som.

  6. Ajuste as configurações do sintetizador. Você provavelmente não gostará do som inicial do sintetizador. No caso de ZynAddSubFX, esta será uma onda senoidal simples, chata! No entanto, você pode navegar facilmente por uma grande coleção de timbres e personalizá-los completamente. Todos os sintetizadores oferecem muita personalização, vale a pena gastar algum tempo escolhendo o que você mais gosta.

  7. Prossiga para jogar. Boa sorte e divirta-se!

Também já escrevi um artigo sobre fluxo de trabalho geral para produção de música com teclado externo no Ubuntu, que deve ser útil no seu caso. Aqui está o link.

Rafał Cieślak
fonte
Como faço para definir os links para aconnectgui? Eu acidentalmente conectei um monte de coisas, quero redefinir os links.
answerSeeker
@TatakaiWasumi Selecione a ferramenta tesoura e clique com o botão esquerdo em uma conexão. Ele irá 'cortar' (ou seja, excluir) a conexão.
Holocronweaver
Se você optar por qjackctrl, poderá usar a guia de conexões para encaminhar o sintetizador para a saída para os alto-falantes (se não estiver por padrão) e a entrada USB MIDI para a entrada de sintetizador. Eu tive que fazer isso quando o ZynAddSubFX não conseguiu se conectar à saída do alto-falante e o aconnectgui não pôde fazer essa conexão.
holocronweaver
Eu também tive que adicionar qjackctlo pipeline para qsynthproduzir um som real. qjackctltambém pode executar a etapa 4, portanto, aconnectnão é necessário nesse caso. Passo adicional nesse caso é a dispositivos configure de entrada / saída na qjackctlindosetup->settings->advanced
chefarov
5

Não conheço o Rosegarden, mas você pode executar o qjackctl no gerenciador de pacotes. Amsynth é uma maneira fácil e fácil de emitir um som midi> jack.

Não sei como rodar o jack e o pulseaudio ao mesmo tempo - ou seja, rodar o chrome pelo jack (examinando-o agora, na verdade). Até agora, minha experiência no 12.04 é fácil de fazer som.

  • Instale qjackctl e amsynth a partir do gerenciador de pacotes
  • Encerre os navegadores da Web ou outras coisas que possam estar levando o hardware de som
  • Inicie o qjackctl (você pode ter que mexer com parâmetros nas configurações, mas não o fiz desta vez)
  • Iniciar Amsynth
  • Na aba ALSA do qjackctl (por que não é a aba midi?!?!), Conecte seu dispositivo usb midi (esperançosamente detectado automaticamente) ao Amsynth ...
  • Verifique se o amsynth está conectado à saída de áudio ...
  • Toque!
Skylar Saveland
fonte
1
É qjackctl não qjackctrl
answerSeeker
4

O MIDI no Linux é altamente modular e, como resultado, inicialmente impressionante. É bom ter uma solução de baixa complexidade funcionando antes de você se preocupar com otimizações, mas infelizmente o Ubuntu não vem com uma configuração de trabalho padrão. Aqui está a maneira mais simples que eu encontrei ...

sudo apt install qsynth vmpk ## install components
qsynth & vmpk ## launch
  • Qsynth -> Setup -> Sountfonts -> Open : FluidR3_GM.sf2
  • Virtual MIDI Piano Keyboard -> Edit -> Connections ->
    • Enable MIDI Thru on MIDI Output : (marcado)
    • Input MIDI Connection : (Seu controlador)
    • Output MIDI Connection : FLUID Synth

Nesse ponto, você poderá tocar notas do seu controlador MIDI externo ou da GUI do piano virtual ( a GUI funciona mesmo que você não tenha um controlador externo ).

Na GUI do teclado, você pode selecionar diferentes instrumentos (consulte Program). Na interface gráfica do Qsynth, você pode manipular o volume (consulte Gain), bem como os efeitos de reverberação / coro. Há também um Panicbotão no caso de o reverb sair dos trilhos.

Isso foi testado especificamente na instalação limpa do Ubuntu Studio 18.04, mas etapas semelhantes funcionaram no Ubuntu MATE 16.04, com uma diferença de configuração automática notável que é o Qsynth -> Setup -> Audio -> Audio Driverpadrão jackno Ubuntu Studio, mas alsano Ubuntu MATE.


Estática com falha com ALSA [RESOLVIDO]

Nas versões 16.04 e 18.04, experimentei uma estática estranha quando o Qsynth começou a trabalhar com o alsa. Essa estática parece afetar todas as fontes de áudio, mas de alguma forma funciona em um minuto ou dois (pelo menos parcialmente).

Mais tarde, tentei essa configuração em uma CPU menos poderosa e notei uma estática semelhante que parecia não resolver com o tempo. [Como um aparte, notei que essa estática estava correlacionada com a ALSA plug-in [qsynth]linha entrando e saindo na guia Aplicativos de Sound Preferences].

Isso me levou a brincar com algumas configurações do Qsynth e encontrei algo que parece resolver os problemas de estática / falha (talvez com uma troca de um pequeno aumento de latência):

  • Qsynth-> Setup-> Audio-> Buffer Size:128
  • Qsynth-> Setup-> Audio-> Buffer Count:8

Aparentemente, a CPU nem sempre consegue acompanhar a taxa de burst necessária , portanto, é necessário um pouco de buffer extra para evitar falhas de desempenho. Presumivelmente, existem outras configurações que também podem afetar isso.


vmpkperde a conexão Qsynthquando as configurações são alteradas. A maneira mais rápida de experimentar alterações nas configurações é fechar e reiniciar vmpkpara forçar uma reconexão.


Alternativa: aplicativo "Polyphone" (não nos repositórios Ubuntu)

Estou de olho no Polyphone como uma solução (quase) tudo em um (essencialmente um superconjunto de qsynth + vmpk). Embora não esteja nos repositórios do Ubuntu até o momento (a partir do 19.04 Disco), foi fácil criar a partir do código-fonte no 18.04 (também, é fornecido um .deb pré-construído do Ubuntu).

O pacote não inclui um soundfont padrão (é um criador / editor de soundfont), mas você pode obtê-lo com sudo apt install fluid-soundfont-gm(at /usr/share/sounds/sf2/) - ou tente fazer o download no "Repositório online" do aplicativo (mas isso pode exigir uma conta).

Vá para Settings->General->Input/Outpute certifique-se de que as configurações de Áudio / MIDI sejam sensíveis, abra uma fonte sonora e selecione um instrumento abaixo, Presetse ele deve estar pronto para tocar música no seu controlador MIDI ou no teclado virtual embutido.

nobar
fonte
Depois de ter uma configuração básica funcionando, você poderá se interessar por algumas das muitas opções descritas aqui: Guia MIDI do Linux do Ted
nobar 17/18
Nota pessoal: Alguns controladores precisam estar ligados antes que você possa usá-los.
Nobar
Agora, se eu pudesse descobrir como transpor o controlador ...
Nobar
1
@Bani, ainda não consegui usar MIDI sobre Bluetooth no Ubuntu. Tentei novamente esta noite com o meu Xkey Air, mas ele não foi emparelhado (Ubuntu 18.04). Este pode ser o caminho a seguir , mas não estou disposto a tentar no momento. Outra opção que encontrei hoje à noite é um dongle de US $ 50 chamado "WIDI Bud" que, penso, converterá automaticamente o Bluetooth em MIDI. Publique de volta se você descobrir isso - eu gostaria de poder fazer isso também!
nobar 25/11
1
incrível, que funcionou também! Agora posso usá-lo de duas maneiras: FP-30 como entrada ou posso tocar no teclado virtual para que o som saia no FP-30
Bani
1

Descubra sua placa de som:

aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: ALC3235 Analog [ALC3235 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Nós estaremos usando card1, device0, assim hw: 1,0

Meu cenário de pipeline que finalmente funcionou, usando jack-control (qjackctl)e qsynthfoi:

  1. Instalar jack-tools, jack-server, qsynth
  2. Abra o qsynth e vá para Setup. Na MIDIguia, eu seleciono Midi Driver: alsa-seq. Na Audioguia eu seleciono Audio Driver: jack.
  3. Inicie o servidor jack com

    jackd -R -d alsa -d hw: 1,0

  4. Aberto qjacktctle:

4.1 Vá para Connect-> ALSA. Na coluna da esquerda, encontre o teclado e conecte-o ao qsynthque está na coluna da direita. Verifique também se a primeira coluna ( AUDIO) qsynthestá conectada aos seus alto-falantes (coluna da direita).

4.2 Voltar à qjackctljanela principal Vá para setup->settings->advancede na coluna da direita, escolha Output Device(alto-falantes) e Input Device(teclado Midi)

Nessa etapa, pude ouvir meu teclado. Uma captura de tela geral da configuração segue

insira a descrição da imagem aqui

PS: Nesse cenário, nenhum outro aplicativo pode usar os alto-falantes ao mesmo tempo.

chefarov
fonte