Coll. Internet Copertina Indice

Articoli


La coda dei midi

Ovvero: trasformare il proprio PC in un Juke-box per midi. Questo per mostrare che con Linux non si fanno solo le cose serie!

Sotto Linux, per ascoltare un file midi, basta solo una scheda sonora qualsiasi (supportata) oppure un buon altoparlantino. In alternativa all'altoparlantino si può usare una schedicciola semplice da attaccare alla porta parallela, come spiegato nel Pluto Journal di settembre '97 e come visto anche al Pluto Meeting '97.

Come software c'è il bellissimo timidity, free e facilmente installabile con Debian (un pacchetto con il programma e un altro con gli strumenti). timidity va benissimo su qualsiasi scheda (converte via software i midi nell'audio di output), ma se avete una buonissima scheda capace di riprodurre perfettamente i midi da sola, potete anche optare per qualcosa che non carica la cpu.

Normalmente basta dare a timidity il o i file da suonare, al limite inserendolo in un breve riga di comando bash per aumentare la durata (cioè facendo ripetere a lungo un ciclo di midi). Però inserirne man mano che si ascoltano nuovi brani sarebbe veramente comodo... :-)

Ma per gestire una coda, c'è già il software su ogni sistema: lpd!!!

Perché allora non sfruttare lpd per inserire una ``coda'' di midi da suonare automaticamente? Proviamoci!

Fase 1. Aggiungere la ``stampante midi''. È sufficiente inserire queste righe in /etc/printcap:


midi|Audio midi:\
        :lp=/dev/null:\
        :sd=/var/spool/lpd/midi:\
        :af=/var/log/lp-acct:\
        :lf=/var/log/lp-errs:\
        :if=/usr/local/bin/lpdmidi:

Fase 2. Creiamo lo script /usr/local/bin/lpdmidi, e assegnamoli il permesso di esecuzione (0755).


#!/bin/sh

exec /usr/bin/timidity -s 22050 -int -A 120 -p48 -

In pratica viene creata una ``stampante'' con output su /dev/null e /usr/local/bin/lpdmidi come filtro.

Il filtro, poi, altro non fa che chiamare timidity, passargli alcuni parametri e dargli il file midi in input.

Vantaggi

In questo modo, quando si vuole sentire un file midi, è sufficiente digitare: ``lpr -Pmidi nomefile''. E per sentirne altri, basta usare lo stesso comando: i file si mettono in coda automaticamente, e appena ne finisce uno parte il successivo.

Può essere usato da più utenti sulla stessa macchina, e gestisce correttamente l'accesso al dispositivo audio da parte di un utente alla volta.

Può essere usato da rete!!! Basta impostare nelle altre macchine una stampante remota che finisce alla stampante midi della macchina con questo filtro, e in un ufficio si può riciclare una macchinetta non caricata in modo pesante e con un buon audio in un server di musica :-)

Si può facilmente integrare in ambienti grafici e file manager, basta associare al click su un file o al trascinamento di un'icona l'aggiunta del file di musica nella coda dei midi da suonare.

di Michele Dalla Silvestra


Coll. Internet Copertina Indice