Estava conferindo algumas mensagens antigas que coloquei no fórum do Kurumin e me deparei com o primeiro script que adaptei, mesmo sem conhecer (e ainda não conheço, mas tento ;)) Shell Script. E percebi que ainda é recorrente naquele fórum a pergunta sobre como fazer MIDI funcionar no Kurumin e em outras distribuições baseadas em Debian. Sim, aquele tipo de musiquinha eletrônica que já foi febre como tom de celular quando ainda não conhecíamos aparelhos com mp3… 🙂

Então trouxe para cá… Pode ser muito útil, já que esse blog tá virando mais geek do que eu tinha inicialmente planejado 🙂

Ah, a fonte original? Não lembro… Como expliquei no fórum do Kurumin, eu tinha escrito uma enorme descrição numa primeira mensagem mas um acidente apagou tudo… Ao reescrever, bateu a preguiça, e fui direto ao assunto :lalala:

O problema a ser resolvido é o seguinte: na maioria das placas de som, o Linux não ativa um “interpretador” de sons MIDI direto por hardware. Provavelmente porque a maioria das placas, exceto as SoundBlaster, não o tem, e resolvem isso instalando um software — driver — proprietário para fazê-lo. Mas, como sempre, a maioria das placas só vem com drivers para… |-|

Mantive o crédito original do script. Todo o trabalho foi feito pelo Alex. Eu achei pronto e corrigi onde ele não estava tendo muito sucesso: mesmo com “sudo”, as coisas não queriam ir para as pastas onde era necessária permissão de “root”… Contornei isso com um “copiar para” renomeando, e só num comando seguinte o “mover”… Mas você não precisa entender isso… Se quiser MIDI no seu Linux (e usar o apt-get), basta copiar e colar o código abaixo no seu editor de textos favorito, salvar “com-qualquer-nome”, dar-lhe permissão de “executável” e executá-lo, o que na linha de comando significa digitar:

./com-qualquer-nome

Pronto, ponha seu Linux para tocar MIDI com seu player favorito (desde que ele suporte o formato, claro :-). Há algumas sugestões aqui.

#!/bin/sh
#Escrito por Alex Santos Encarnação
#e-mail: alexencarnacao[semspam]aol.com
#Adaptado por Jeferson Martinho
#Modificações para contornar negação de permissões e alterações para o /etc/init.d/timidity funcionar corretamente)
#e-mail: jeff[semspam]novaondanet.com.br

kdialog --yesno "Vou iniciar o processo de instalação do Timidity e baixar os patches necessários para a instalação. Os patches têm cerca de 71 MB. Por isso, além de ser necessária a conexão à Internet, o processo é um pouco lento. Posso prosseguir mesmo assim?"
resposta=$?
case $resposta in

0)
  echo "Baixando patches para o Timidity..."
  wget -c http://sunsite.univie.ac.at/musicres/thammer/HammerSound/localfiles/soundfonts/FluidR3122501.zip
  echo "Baixando descompactador de patches para o Timidity..."
  wget -c http://melodymachine.com/files/sfarkxtc_lx86.tar.gz
  echo "Iniciando instalação do Timidity..."
  sudo apt-get install timidity pmidi
  echo "Descompactando patches..."
  unzip FluidR3122501.zip
  tar -zxvf sfarkxtc_lx86.tar.gz
  ./sfarkxtc "FluidR3 GM.sfArk"
  echo "Movendo patches para a pasta /usr/share/timidity..."
  mv "FluidR3 GM.SF2" "FluidR3GM.SF2"
  sudo mkdir /usr/share/timidity
  sudo mv "FluidR3GM.SF2" /usr/share/timidity
  cp /etc/timidity/timidity.cfg timidity.cfg
  echo "soundfont /usr/share/timidity/FluidR3GM.SF2" [gt][gt] timidity.cfg
  sudo cp timidity.cfg /etc/timidity/timidity.cfg
  sed -e 's/TIM_ALSASEQ=/TIM_ALSASEQ="true"/g' -e '/TIM_ALSASEQPARAMS=/c TIM_ALSASEQPARAMS="-B2,8 -Os -EFreverb=0 -EFresamp=1 -EFchorus=0"' /etc/init.d/timidity [gt] timidity.tmp
  sudo cp timidity.tmp /etc/init.d/timidity
  sudo /etc/init.d/timidity start
  echo "Concluído."
  kdialog -msgbox "Instalação concluída. Modifique o dispositivo de MIDI do KDE (Som [amp] Multimídia [gt] Sistema de Som [gt] Hardware [gt] Dispositivo de MIDI) para: TiMidity TiMidity port 0 - Alsa device. Faça o mesmo em seu player de MIDI favorito. Para usar o próprio Timidity como player, utilize a linha de comando: timidity -ia";;
1)
kdialog -msgbox "Ok, abortado!";;
esac
#FIM