sabato 30 aprile 2011

Mini how-to per utilizzare Festival in italiano con Archlinux

In AUR ( l'Arch User Repository) è già presente il pacchetto festival-italian che contiene una serie di voci italiane utilizzabili con il celebre software di sintetizzazione vocale. Procediamo quindi all'installazione con:

$ yaourt -S festival-italian

Meno ovvia è invece la procedura di configurazione :-)
Lanciamo festival in modalità interattiva digitando in un terminale semplicemente:

$ festival

Visualizziamo le voci disponibili inserendo il comando (voice.list); le voci installate dal pacchetto italian-festival sono: pc_mbrola, lp_ogi_diphone, pc_ogi_diphone, lp_mbrola, lp_diphone, pc_diphone

$ festival> (voice.list)
(pc_mbrola
 lp_ogi_diphone
 pc_ogi_diphone
 lp_mbrola
 lp_diphone
 pc_diphone)

In realtà, seppur elencate, alcune voci potrebbero risultare inutilizzabili, perché il loro funzionamento dipende dall'installazione di programmi aggiuntivi (per esempio pc_mbrola e lp_mbrola richiedono mbrola e festival-italian-voice-mbrola anch'essi presenti in AUR)
Per testare una voce occorre inserire il comando "voice_" seguito dal nome della voce stessa senza spazi, ad esempio:

$ festival> (voice_pc_diphone)                       
pc_diphone

Dopodiché utilizziamo SayText per riprodurre un messaggio di prova, per verificare che la voce selezionata funzioni a dovere:

$ festival> (SayText '"Odi la mia stupenda voce")

Una volta terminate le nostre prove, usciamo dal prompt di festival con quit:

$ festival> (quit)

e andiamo ad impostare la voce che preferiamo come default per festival; per fare questo occorre aprire con un editor di testo (vim, gedit, ecc) da root il file  /usr/share/festival/voices.scm e modificare l'impostazione "voice_default", ad esempio:

(defvar voice_default voice_pc_diphone
 "voice_default
A variable whose value is a function name that is called on start up to
the default voice. [see Site initialization]")

Salviamo e chiudiamo il file. Verifichiamo di aver fatto tutto correttamente riproducendo un messaggio di prova:

echo "Odi la mia stupenda voce" | festival --tts

Se festival non produce alcun suono, restituendo l'errore "Linux: can't open /dev/dsp" caricate il modulo snd_pcm_oss:

# modprobe snd_pcm_oss

 Per caricare automaticamente il modulo al boot, aggiungetelo all'elenco "MODULES" in /etc/rc.conf.

E' tutto!! Potete reperire ulteriori utili informazioni dal Wiki di Archlinux .

lunedì 4 aprile 2011

Un semplice script per liberare ram sulla vostra macchina Linux

Utile nel caso di macchine con poca memoria fisica installata. Può essere anche utile eseguirlo, tra le altre cose, prima di fare test sul filesystem, per aver risultati più accurati:
#!/bin/sh
## freemem.sh
if [ $UID != 0 ]; then
    echo "You have to be root to do that!";
    exit 1;
fi
echo "flushing file system buffers..."
/bin/sync
echo "dropping pagecache, dentries and inodes..."
echo 3 > /proc/sys/vm/drop_caches
## possible values
## 1: free pagecache
## 2: free dentries and inodes
## 3: free pagecache, dentries and inodes
Lo script richiede un versione di kernel uguale o successiva alla 2.6.16, poichè il meccanismo di "drop caches" è stato appunto aggiunto a partire da tale versione