Dopo la recente resa dei miei adorati auricolari sony, giacche' ero in fiera, ho comprato degli auricolari in-ear, di una non meglio identificata SOYT ( evviva le cineserie(tm) ) che dalla loro hanno il prezzo - veramente ridicolo - e il doppio jack, rispettivamente da 2.5" e 3.5".. comodo!
Il problema pero' si e' presentato durante l'utlizzo al pc: le cuffie in-ear ( per il fatto di essere in-ear ed.. economiche :D ) amplificano notevolmente i bassi, rendendo il suono troppo ovattato.
In verita', pero', e' piu' una scusa per muoversi: un equalizzatore serve sempre! :)
Per puro caso, mi sono imbattuto in questo plugin per alsa!
Vediamo come ottenerlo e utilizzarlo con MPD ( anche se il suo uso generale e' molto semplice ;) )
Semplicemente utilizzate il vostro gestore pacchetti e installatelo. Se non e' presente nel vostro repository vi tocchera' compilarlo :)
In gentoo:
# emerge alsaequal
Premessa: alsaequal lavora per-utente. I settaggi sono memorizzati per-utente.
Se utilizziamo MPD tramite l'utente fittizio mpd (default ) sara' necessario creare il file .asoundrc nella sua home ( default: /var/lib/mpd )
File: .asoundrc
ctl.equal {
type equal;
}
pcm.plugequal {
type equal;
# Modify the line below if you don't
# want to use sound card 0.
slave.pcm "plughw:0,0";
}
pcm.equal {
# Or if you want the equalizer to be your
# default soundcard uncomment the following
# line and comment the above line.
# pcm.!default {
type plug;
slave.pcm plugequal;
}
Presa direttamente dal sito del progetto.
Ora dobbiamo dire a MPD di utilizzare il plugin come uscita audio.
File: /etc/mpd.conf
[..]
audio_output {
type "alsa"
name "equal"
device "plug:plugequal"
}
[..]
Per controllare in realtime l'equalizzatore e' sufficiente lanciare
$ alsamixer -D equal
e, attraverso la solita interfaccia di alsamixer, potremo controllare l'equalizzazione.
Alsaequal: uno screenshot di alsaequal
Questo e' quello che mi ha dato un po' di grattacapi. Essendo la configurazione per utente, avevo la necessita' di modificare i settaggi per l'utente mpd ma, non essendo realmente un utente, per sicurezza non puo' usare una shell.
Ho vagliato diverse soluzioni - anche piuttosto esoteriche - ma, finalmente ne ho trovata una parecchio accettabile: attraverso sudo e' possibile eseguire comandi anche come altri utenti - qui viene il bello - anche se non hanno una shell.
Detto fatto:
$ sudo -u mpd HOME="/var/lib/mpd" alsamixer -D equal
( ci ho messo un po' per capire che la variabile d'ambiente HOME andava modificata ^_^ )
Per rapidita' e' possibile fare un veloce alias modificando il file ~/.bashrc aggiungendo
alias mpd-eq="sudo -u mpd HOME="/var/lib/mpd" alsamixer -D equal"
Ecco qua, finalmente una comoda gestione dell'equalizzazione anche per mpd.
Ora devo solo trovare un generatore di playlist dinamiche, come mpd-dynamic, che non si tiri dietro il mondo in perl :D.
Un grande grazie allo sviluppatore di alsaequal :)