Aggiornamento: Il nuovo script lo trovate qui.
Ritorno volentieri a parlare di Sox! Questa volta, però, per eseguire un'operazione un pò insolita, cioè per accordare una chitarra classica. :D
Sox è un tool a riga di comando, il cui nome sta per Sound Exchange; è libero, multipiattaforma e rilasciato sotto licenza Gnu General Public License.
E' meglio conosciuto come coltellino svizzero.
Vabbè, tutte queste cose le avevo scritte già nell'altro post. Si, perchè questo è il secondo che gli dedico. E ce ne saranno degli altri!
Per installarlo:
sudo apt-get install sox
Per installare i codec
sudo apt-get install libsox-fmt-all
Per automatizzare le operazioni da eseguire mi sono "permesso" (lol) di scrivere uno script. Dato che è tutto spiegato al suo interno, non mi dilungo "molto" con parole inutili.
Ecco il corpo dello script:
#!/bin/bash
#Autor: Bit3Lux
#Accordatore di chitarra
clear
echo "Quando lo script ci chiede una nota, bisogna usare la nomenclatura internazionale. Ecco il prospetto:"
echo "1 E4 sta per MI Cantino
2 B sta per Si
3 G sta per Sol
4 D sta per RE
5 A sta per LA
6 E2 sta per Mi Basso"
echo "se si vuole uscire dallo script durante l'esecuzione della nota, premere Ctrl+C."
echo "Dammi una nota"
read nota
if [ $nota == E2 ]; then
echo "la nota è il MI basso, detto E2"
play -n synth 4 pluck E2 repeat 6
elif [ $nota == A ]; then
echo "la nota è il LA, detto A"
play -n synth 4 pluck A repeat 6
elif [ $nota == D ]; then
echo "la nota è il RE, detto D"
play -n synth 4 pluck D repeat 6
elif [ $nota == G ]; then
echo "la nota è il SOL, detto G"
play -n synth 4 pluck G repeat 6
elif [ $nota == B ]; then
echo "la nota è il SI, detto B"
play -n synth 4 pluck B repeat 6
elif [ $nota == E4 ]; then
echo "la nota è il MI cantino, detto E4"
play -n synth 4 pluck E4 repeat 6
fi
exit 0
Va salvato su un file di testo, sulla scrivania, e nominato ak.sh
aperto il terminale, ci spostiamo sulla scrivania con
$ cd Scrivania
e lo rendiamo eseguibile
$ chmod +x ak.sh
lanciamo lo script
$ ./ak.sh
Non resta che leggere e eseguire le poche istruzioni che saranno stampate a video. In caso di problemi, se avete qualche idea per migliorarlo, etc, etc, fatevi sentire :)
Ciao :)
Lo provo subito :D
RispondiElimina@Mattux
RispondiEliminaHo scoperto di questa possibilità leggendo il man di Sox. Sox è un tool che mi fa impazzire. Permette di fare migliaia e migliaia di cose! Peccato che il manuale, come tutti i grandi manuali con la M maiuscola, è scritto male! :D
@Bit3Lux:
RispondiEliminaCon Sox non ci ho ancora smanettato, rimedierò :)
Dopo aver provato lo script ho due considerazioni da fare :)
Prima considerazione: sarebbe meglio se la nota venisse riprodotta finché non viene premuto un tasto, per esempio invio.
Seconda considerazione: se devo accordare tutte le corde devo lanciare 6 volte lo script. Riproducendo dal MI basso fino al Mi Cantino in un'unica "passata" forse sarebbe meglio.
Poi come implementarlo ehm...dovrei rimettermi a fare un po' di bash XD
@Mattux
RispondiEliminaHai perfettamente ragione! A dire il vero, ci avevo pensato anch'io. Mi sa che devo mettere mani alle funzioni! Per "allungare" l'esecuzione della nota si può intervenire sull'opzione "repeat" che ho impostato a 6 Insomma la mia voleva essere un'idea. Spero che possa essere migliorata :)
#Mattux
RispondiEliminaOppure si potrebbe ricorrere al ciclo di For. Che poi è l'esempio riportato nel Man, dove ho solo modificato il valore di repeat (da due a otto)
for n in E2 A2 D3 G3 B3 E4; do
play -n synth 4 pluck $n repeat 8; done
Questo va subito nei preferiti, lo userò per stupire mio fratello :P
RispondiElimina@Marco
RispondiEliminaNon male come idea :D
@Bit3Lux
RispondiEliminaSì sicuramente occore un ciclo. La mia idea è che certe corde le potrei accordare dopo più di n ascolti, altre in meno. Certo, se le accordo in meno di n ascolti potrei abortire lo script con CTRL-C, ma devo rieseguirlo per andare avanti nell accordatura.
Bisognerebbe fare in modo che cicli finché non si preme un tasto, così da passare alla corda successiva.
Per ora va benissimo così :D Non avrei molto tempo da dedicare alla cosa però chissà...
@Mattux
RispondiEliminaDai, che creiamo un accordatore sofisticato! :D
@Mattux
RispondiEliminaNon mi escludete dal creare lo script. Vi darò una mano molto volentieri, anzi mi piace proprio l'idea. Anche se non suono la chitarra, be niente ci fa, l'idea mi intrippa molto :D
@Lightuono
RispondiEliminaCerte cose non dirle neanche per scherzo! Tu qui sei di casa!!!! ;)