O mínimo necessário para ser um músico com Linux
"Todo programador é um músico frustrado"
Todo programador já deve ter se deparado com esssa afirmação alguma vez na vida. Em partes, considerando os programadores com quem eu convivo no dia a dia, eu considero ela muito próxima da realidade. Eu mesmo sou um músico frustrado. Eu toco violão desde meus 12 anos.
Pois bem, aos 14 eu ganhei minha primeira guitarra. O grande problema é que dessa época até hoje, aos meus 24, a pobrezinha só teve seus captadores ligados pouquíssimas vezes. Eu não tinha um amplificador, então sempre tocava com ela desligada mesmo.
Itch for the cure
Recentemente, porém, me veio a súbita vontade de ouvir o que a guitarra tinha a me dizer. Foi então que comecei a pesquisar sobre minhas opções para descobrir isso.
Inicialmente, eu pensei no óbvio: comprar um amplificador. Empecilhos:
- Eu moro em uma república com outras pessoas. Não posso fazer muito barulho normalmente.
- Eu não queria gastar um rim com um setup de pedais, ou uma pedaleira minimamente decente.
- Não tenho espaço para enfiar um trambolho grande como um amplificador.
Logo, me restou apenas uma única saída: ligar a porcaria da guitarra no PC.
Então fui pesquisar o que eu precisava pra isso. O grande problema é que a grande maioria dos músicos de PC estão no windows ou macOS (assim como a grande maioria da população em geral). Portante, todas as soluções que eu achava de setup de aplicações era voltado pra esses dois sistemas.
Antes de começar a xingar o software, vamos chutar o hardware
O que todos esses guias que citei anteriormente tinham em comum era o setup de hardware. Basicamente nesse quesito eu só preciso de uma interface de áudio e um cabo para ligar a guitarra a ela e voila, tudo pronto.
Com isso em mente eu procurei a interface mais barata que fazia o mínimo que eu precisava com um mínimo de qualidade. Encontrei 2 modelos: Behringer um2 e Fifine Sc1. Ambas são compactas e tem o set mínimo de input e output que eu precisava. Acabei optando pela Sc1 pelo único motivo dela ter conexão usb-c, contra uma usb-b da behringer.
Como eu queria ouvir o output no meu fone p2, tive que comprar um adaptador p10-p2 também, já que os outputs de áudio dela são apenas para p10 e conexão com monitores de áudio.

Bom, foi isso. Eu gastei 300 e poucos reais com ela. Era hora de fazer esse investimento valer a pena.
Como fazer essa porcaria (a interface de áudio) funcionar no linux
Agora, voltamos ao problema do Linux.
Bom, antes de mais nada, só para esclarecer, a própria interface consegue me devolver o output sem passar pelo sistema. Logo, teoricamente eu não precisaria depender de qual sistema eu uso para poder aproveitar o brinquedinho novo. Mas, contudo, entretanto, porém, todavia, ela retorna só um som limpo. Desde o surgimento dos pedais nos anos 70, nenhum guitarrista gosta de som limpo.
Então a grande questão passa a ser: como estragar o meu som?
Bom, para isso, comecei a me adentrar mais nas profundezas da interwebs para encontrar respostas. Depois de muita pesquisa e testes com diferentes softwares, finalmente encontrei a melhor maneira de estragar meu áudio com meu sistema. O nome dele é Guitarix.
O Guitarix nada mais é do que um amplificador virtual. Mas, além do papel de amp, ele também possui diversos plugins que emulam pedais de efeitos. Não obstante, ele já vem pré configurado com alguns setups utilizados em várias músicas modinhas para ser meio plug and play para aqueles que só querem ver do que ele é capaz antes de se perder nas infinitas possibilidades de setup com efeitos personalizados.
Como fazer essa porcaria (O Guitarix) funcionar no linux
Bom, provavelmente se você estiver seguindo isso aqui cegamente, você provavelmente não ouve bolhufas do que ta tocando e pode estar considerando jogar a porcaria da interface pela janela essa merda.
O grande problema é que gerenciar áudio no Linux sempre foi um problema complicado. Mas, felizmente, tem solução.
Distros mais modernas suportam o Pipewire, que veio justamente para solucionar esse tipo de problema. Ele é um servidor de áudio que funciona uma camada acima do Alsa, o driver de áudio normalmente utilizado.
O problema é que gerenciar as conexões do pipewire, por mais poderoso que ele seja, é uma dor de cabeça sem fim pela linha de comando. Eis que surge o qpwgraph, uma GUI para gerenciar conexões de áudio gerenciadas pelo pipewire.
O básico para receber o áudio da interface, processar no Guitarix e delvolver para a interface é o seguinte:

A lógica é: interface input -> guitarix amp -> guitarix fx pedals -> interface output.
Com isso, você já deve conseguir ouvir o que está tocando e, se for sua primeira vez nisso, provavelmente está achando muito mágico. Eu nunca me acostumo, sempre acho um momento mágico.
Dicas
Se estiver enfrentando o fantasma do delay, você pode setar a variável de ambiente PIPEWIRE_LATENCY="128/48000"
Agora, como gravar?
Eu ainda não tenho uma resposta minimamente profissional para essa resposta. Todas as gravações que eu fiz até o momento foram usando o OBS. Não utilizei nenhum software específico de gravação de áudio.
Se for utilizar o OBS, ou algum software específico para isso, lembre-se de ligar o output do guitarix fx ao input do programa escolhido.

Final thoughts
Então, basicamente é isso. Não dá para ter uma qualidade de estúdio com uma interface barata como a Fifine sc1, mas para tocar despretenciosamente em casa em momentos de ócio é mais do que suficiente para ser honesto. Se eu lembrar, vou atualizar esse artigo em breve com algumas gravações, apenas para mostrar do que esse setup é capaz. É realmente bem impressionante pelo preço. O Guitarix é incrível. Não o conhecia antes de 1 mês atrás, mas hoje sou evanjelista do mesmo.
I tried so hard, and got so far. But in the end, it doesn't even matter