Linux Fun

Linux pode ser divertido também! Jogos & aplicativos pouco usuais merecem seu espaço...

12 novembro, 2005

Processamento de áudio no Ubuntu

Venho pesquisando um bocado sobre o estado da arte em processamento de áudio no Ubuntu. Tem um monte de coisas que eu não estava à par, e que podem ajudar muito no projeto de gerenciamento de "Sound Fonts" que estou montando. Minha primeira surpresa foi o LADSPA (ou Linux Audio Developer's Simple Plugin API), uma API padrão para plugins de áudio, que eu descobri quando instalei o Hydrogen, um excelente sequenciador de bateria. Instalei depois mais dois pacotes, o swh-plugins (Steve Harris's LADSPA plugins) e o tab-plugins (Tom's Audio Processing LADSPA plugins), que suportam efeitos diversos como delay, reverb, chorus e flanger, além de diversos tipos de distorção.

Outro projeto interessante é o DSSI, abreviatura de (DSSI Soft Synth Instrument). Pelo que pude entender, é ainda uma parte da infraestrutura que não está totalmente madura, mas que tem potencial para oferecer uma API superior à disponível para controle MIDI no ambiente Windows. Por sinal o Windows não é a melhor referência neste assunto... mas como eu não tenho acesso a um Mac, fico devendo a comparação.

O interessante é notar que ainda não achei nada parecido com o que eu queria, que é uma interface simples para administrar Sound Fonts no Ubuntu. Percebi ainda outra parte do problema, que talvez seja mais complicada de resolver. No caso dos plugins LADSPA, também não há uma interface administrativa; eu descobri os pacotes acima (swh-plugins e tap-plugins) usando o Synaptic e procurando pela string LADSPA. O resultado não é confiável, pois há outros pacotes que contém a string e que não são uma coleção de plugins. A solução seria ter alguma forma de pesquisar o repositório identificando pacotes específicos, como fontes TrueType, plugins LADSPA, ou Sound Fonts, de forma a permitir sua instalação através do "painel de controle" correspondente.

03 novembro, 2005

Melhorando o suporte MIDI no Ubuntu

O suporte a multimídia é uma das áreas em que o Linux mais fica a dever para o Windows. Um dos itens onde isso fica visível é no suporte MIDI, essencial para aplicações de composição musical. O MIDI tem uma certa má fama, injustificável na minha opinião, por causa do som de 'brinquedinho de camelô' de algumas implementações, que usavam síntese FM. Com uma boa base de instrumentos digitalizadas, o som MIDI no PC nada fica em dever em qualidade aos instrumentos profissionais disponíveis no mercado.

Desde a versão 3.11, o Windows inclui suporte nativo para MIDI. É possível selecionar entre diversas saídas, mapear canais individuais para saídas diferentes, remapear sons de instrumentos, entre outras coisas. A partir do XP, a síntese MIDI foi grandemente melhorada com o adoção dos sons (patches) da Roland; assim, mesmo sem um sintetizador externo, os sons são de boa qualidade.

No mundo Linux, a solução é o Timidity++, um pacote que gera saída de áudio em tempo real a partir de um arquivo MIDI. Instalando um conjunto pequeno de pacotes -- entre eles, o timidity e o freepats, temos uma solução suficiente para começar a 'brincar' com MIDI no PC. Infelizmente, ainda é só isso -- brincadeira -- porquê os sons e a funcionalidade básica são bons, mas o pacote ainda peca nos detalhes, longe da experiência que a alternativa Windows proporciona. Os problemas são diversos:

  • Suporte GM incompleto. O pacote freepats tem sons de boa qualidade em formato GUS, mas faltam alguns instrumentos, o que prejudica a reprodução de arquivos MIDI que usem estes sons.
  • Problemas de sincronização. O Timidity toca arquivos de Karaoke, mas os a letra fica fora de sincronismo com a música. Não sei se o delay de áudio é culpa do Timidity, ou do subsistema de áudio (ALSA/OSS/ESD, o que for), mas o mesmo não acontece no Windows
  • Falta de uma interface de configuração. Tudo é feito em arquivos texto - não há um painel de controle para o MIDI.
  • Falta de ferramentas para gerenciamento de patches, ou sound fonts. Esta talvez seja a única fraqueza compartilhada com o Windows, e fica evidente quando se tenta instalar sons adicionais para complementar o suporte ao padrão GM.

Minha contribuição para resolver o problema é modesta; abri uma especificação ontem no Ubuntu LaunchPad para melhorar o suporte MIDI via 'Soft Synth'. Se os itens citados anteriormente forem tratados, então poderemos dizer que pelo menos neste ponto, a experiência multimídia com o Linux se tornou tão simples e funcional como é hoje no Windows. Agora, é esperar para ver se a especificação ganha suporte, e se aparecem mais voluntários para fazer acontecer...

02 novembro, 2005

Planeta Ubuntu Brasil, Dapper e 'Linux Fun'

Boas notícias! Agora temos um local adequado para trocar idéias, que é o Planeta Ubuntu Brasil. A comunidade é ativa, e cá pra nós -- o Ubuntu merece isso.

Em casa, ainda estou com o Hoary, usando os backports... e com uma preguiça imensa de migrar para o Breezy. Já estou usando o Breezy em outros PCs -- entre eles, um servidor na empresa onde trabalho, e também como segundo OS no meu notebook (que por razões diversas ainda depende do XP). E hoje, pra completar a salada, comecei a acompanhar o desenvolvimento da futura versão, 'Dapper Drake', prevista para daqui a seis meses.

Minha idéia ao participar do processo do Dapper Drake -- a princípio com idéias e especificações, e se der, com código -- está 100% alinhada com este blog: a idéia que o Linux pode ser uma distribuição amigável, apropriada para uso doméstico, em um PC que é compartilhado com todos -- esposa, filhos, cunhados, e quem mais aparecer. Por isso, o polimento é necessário. O suporte a multimídia do Linux, por exemplo: é bom, funciona, mas... falta polimento. É neste ponto que quero ajudar.

A primeira idéia, apesar de meio 'nerd', é uma coisa que já havia me incomodado -- um 'event viewer' ou 'log viewer' de boa qualidade para o Ubuntu. Mexer com log de sistema já é assustador o suficiente, o que dirá se a interface não colabora. Vamos ver se dá pra emplacar algo neste sentido...