Old:Ascoltare i MIDI in Linux

Parto dal presupposto che questa sia una mini-guida per coloro i quali hanno da poco messo le mani su linux e più nello specifico su Debian. Il nostro amato sistema operativo ha in effetti alcune carenze, dal punto di vista del desktop user, per i files midi. Ed ecco come avere in poco tempo un sistemino che funziona alla grande per aprire i midi, ed anche integrarli nella navigazione su internet. La critica verso gnu/linux in generale è che per ora non ci sia un media player modello Windows Media Player in grado di aprire intuitivamente più formati, da un mp3 ad un wav ad un midi. A tale scopo annoto che ci sono molti progetti che vanno in quella direzione, in primis xmms-timidity (un plugin di xmms che si appoggia su timidity per i midi) e kaffeine che se non lo ha già fatto presto integrerà un midi player, timidity based. Dunque il tempo semplificherà le cose. Ma per ora smanettiamo un po' in console per fare come a NOI piace.

Uso sarge, ma avendo messo le mani anche su etch ho notato che la situazione qui descritta è portabile anche sulla futura stable.

In primis ci serve un midi player. Timidity si rivela il migliore dal punto di vista della semplicità. Dunque:

Diventiamo super-user

su

Installiamo timidity e le interfacce extra.

apt-get install timidity timidity-interfaces-extra

A questo punto ci servono dei soundfonts, almeno che la nostra scheda non ne abbia bisogno. Per toglierci il dubbio scarichiamo un midi e suoniamolo con timidity:

wget http://manteau.de/files/x_av_primavera1.mid

e poi

timidity x_av_primavera1.mid

Se ci sono errori, o non sentite nulla, andiamo sul sicuro e scarichiamoci dei soundfonts. Cercate quelli che vi piacciono, ma questi non sono male, dunque:

wget ftp://ftp.personalcopy.net/pub/Unison.sf2.gz

poi

tar xzvf Unison.sf2.gz

A questo punto possiamo prendere il file sf2 scompattato e metterlo in un posto diciamo "di sistema". A questo punto io l'ho messo in /usr/share/timidity/:

mkdir /usr/share/timidity;mv *.sf2 /usr/share/timidity

Siamo a buon punto, andiamo a modificare il file di configurazione di timidity in modo che vada a leggere i soundfonts.

nano /etc/timidity/timidity.cfg

Mettiamo un bel cancelletto ( # ) davanti a

source /etc/timidity/freepats.cfg

ottenendo

# source /etc/timidity/freepats.cfg

e aggiungiamo al file questi parametri:

dir /usr/share/timidity
soundfont unison.sf2 order=0

A questo punto il nostro timidity legge senza problemi i files midi. Riprovate a leggere il file x_av_primavera1.mid.

Veniamo al fine tuning. Come si può integrare con il desktop il nostro timidity? Ecco due script da aggiungere nella nostra /usr/bin. Iniziamo con il creare il lettore dei singoli files:

nano /usr/bin/playmidi

Il file conterrà questo

#!/bin/bash

FILE_NAME=`basename "$1"` DIR_NAME=`dirname "$1"` OPT='-iatv' PROGRAM="/usr/bin/timidity" cd "$DIR_NAME"

"$PROGRAM" "$OPT" "$FILE_NAME"

E rendiamolo eseguibile

chmod 777 /usr/bin/playmidi

Notare il parametro OPT che contiene la stringa -iatv. Questa è una sola delle molte interfacce di timidity. Se volete una interfaccia GTK basta sostituire a -iatv il parametro -ig ed il gioco è fatto. A questo punto basterà associare al file manager del vostro DE ai file midi (.mid) il comando /usr/bin/playmidi. Essendo desktop dipendente lascio a voi questo compito.

Una variante di script che permette di mettere in play una directory intera è lo script playmididir

#!/bin/bash
DIR_NAME=`dirname "$1"`
OPT='-iatv'
PROGRAM="/usr/bin/timidity"
cd "$DIR_NAME"
"$PROGRAM" "$OPT" "$DIR_NAME"

La gestione di cosa e come aprire, come sopra, dipende dal desktop environment che usate, e dunque lascio a voi le impostazioni.

Non rimane che suonare i midi di internet. A tale scopo è disponibile il plugin di firefox MediaPlayerConnectivity disponibile su https://addons.mozilla.org/firefox/446/ In questo plugin è sufficiente indicare come player dei midi il nostro playmidi ed il gioco è fatto!

Spero di essere stato utile a chi, come me, all'inizio rimane sconcertato nell'avere difficoltà ad ascoltare la propria collezione di midi, o le sue creazioni. Con questi, che sembrano accrocchi, in realtà si intuisce il potere di linux. Il potere del controllo totale sulla propria macchina, e considerando che l'utilizzo di GUI renderà sempre più agevole questo compito... Possiamo ben sperare nel futuro di linux come sistema desktop.

Perseus