Binaural Beats in Octave (a.k.a. i-Doser fai da te)

Se siete qui avrete quasi sicuramente sentito parlare del famoso i-Doser, un software che permette di ascoltare delle particolari tracce audio tramite le quali il nostro cervello percepisce i cosidetti battimenti binaurali.

Un prolungato ascolto di questo particolare audio permette di “sintonizzare” il nostro cervello  su certe particolari onde cerebrali tipiche di stati quali attenzione, tensione o sonno profondo. In pratica dovrebbero indurre artificialmente questi particolari stati di coscienza.

Non mi dilungo oltre a spiegare le particolarità di queste onde cerebrali, ma se volete un approfondimento andate qui (Wikipedia) o qui (come stimolare il cervello con i Binaural Beats).

Prima di arrivare a come generare questi suoni, vediamo rapidamente cosa sono.

Le onde cerebrali (elettroencefalogramma), nello spettro delle onde radio si collocano nella banda ELF (Extremely low frequency) in quanto vanno da un minimo di 0.1 Hz a un massimo di circa 42 Hz.

I più attenti avranno già capito l’inghippo: come faccio a riprodurre con un comune impianto stereo queste frequenze?

Risposta: non si può 🙂

MA si può usare un trucchetto, ovvero i battimenti binaurali. Se al nostro cervello applichiamo due differenti stimoli monofrequenziali (uno per orecchio), per piccole differenze di frequenza (intonazione) tra i due, noi percepiamo questi due toni e in più un terzo che è pari alla differenza in Hz tra i due. Detto questo appare piuttosto semplice il metodo per ingannare il nostro cervello a percepire frequenze come 10 Hz e roba del genere.

Lo script per Octave che segue (oltre ovviamente a essere compatibile con Matlab… basta togliere la prima riga) non fa altro che generare un file audio stereofonico, in cui nel canale Left è presente un tono puro ad una frequenza fissa e nel canale Right, un tono che parte da una frequenza superiore e si avvicina piano piano fino alla stessa frequenza del canale L.

Perché non è un tono fisso?

Risposta:  questo esempio è finalizzato a portare il cervello nello stato di sonno profondo (onde Delta ~ 0.1 Hz), per cui dovrebbe funzionare per coloro che fanno fatica a prendere sonno 🙂 . La lenta discesa è necessaria perché il cervello va accompagnato piano piano (così dicono gli esperti 🙂 ) fino allo stato desiderato.

Ora vediamo lo script (dovrebbe già essere ben commentato quindi non mi dilungo a descriverlo):

#!/usr/bin/octave
#Parametri
l=10;               #Lunghezza in minuti (MAX:10)
f0=432;             #Frequenza di partenza
D=20;               #Differenza di frequenza iniziale (freq dei battimenti)
fs=44100;           #sample rate
#Calcolo numero sample totali e base dei tempi
sample=60*l*fs;     #Numero totale di sample
t=[0:1:sample-1];   #Asse dei tempi
#Generazione dei 2 canali audio
out=zeros(sample,2);
freq=(f0+D-((D/2*t)/sample));
#Sinusoidi…
L=sin(2*pi*t*f0/fs)*0.9; #Frequenza fissa
R=sin(2*pi*t.*freq/fs)*0.9; #Frequenza discendente
#salvo il file
out(:,1)=L;
out(:,2)=R;
wavwrite(out,fs,’out.wav’);

Basta salvarlo con il nome che ci piace, per esempio binaural.sh e digitare il seguente comando per renderlo eseguibile:

chmod +x binaural.sh

Ora non ci resta che testarlo con il comando

./binaural.sh

Se tutto ha funzionato a dovere, dovrebbe essere comparso un file chiamato out.wav. Ora non dovete far altro che mettervi un paio di cuffie e cominciare a a indurvi lo stato cerebrale desiderato! 😀

PS: Un limite riscontrato con octave, è che non è possibile creare file audio più lunghi di una decina di minuti per un semplice fatto di Out of Memory 🙂 ma con Matlab a 64 bit dovreste poter riuscire a creare file più lunghi!

Buona dormita! 🙂

Annunci

Guitar Pro 6 ora compatibile con Linux! :)

La nuova versione del famoso editor Guitar Pro è compatibile anche col nostro sistema operativo preferito 🙂

Inoltre presenta alcune novità succose per quanto riguarda i suoni di chitarra… fate un giro sul sito ufficiale per scoprirne tutte le novità!

Guitar Pro 6

GP6 !

Qualcuno l’ha già provato?

Sony VAIO e Ubuntu Lucid

L’ultimo arrivato nel mio parco macchine è un notebook Vaio VPCEB1Z1E.

Non mi dilungo in caratteristiche tecniche. Chi è interessato può seguire il link qui sopra.

L’installazione di Ubuntu Lucid Lynx 10.04 è filata liscia, anche se non tutto è andato come speravo.

La scheda video (una ATI serie HD5600) funziona al primo colpo con i driver fglrx andando contro tutti i pronostici 🙂

Ora vediamo quali sono i punti critici e relativa soluzione.

1. Touchpad

Funziona correttamente, MA lo scroll verticale a lato del touch non funziona. La soluzione è semplice e indolore

Soluzione on-the-fly:

sudo modprobe -r psmouse
sudo modprobe psmouse proto=imps

Per rendere le modifiche definitive, serve però un accorgimento. Dobbiamo creare il file /etc/modprobe.d/psmouse.conf

sudo vim /etc/modprobe.d/psmouse.conf

e aggiungiamo la riga

options psmouse proto=imps

E questo è risolto.

2. Audio

Nessun errore, ma nessun suono. A quanto pare è un bug del kernel di Lucyd, che in quello nuovo dovrebbe essere risolto. Se non vogliamo aspettare qualche settimana per l’aggiornamento, esiste una soluzione che però è solo temporanea (al riavvio bisogna rifare la procedura).

Occore scaricare il programma HDAAnalzser e eseguirlo (occorre aver installato l’interprete python):

wget -O run.py http://www.alsa-project.org/hda-analyzer.py
sudo python run.py

Selezione il Node 19 nella lista di sinistra e cambiare il valore di VREF da 80 a HIZ.

Come detto però… al prossimo riavvio, va rieffettuata questa procedura. Un’altra soluzione proposta in rete è quella di installare un backport dei moduli ALSA, ma questo per me non ha funzionato.

3. Luminosità dello schermo

Pare che ci sia un’utility (spicctrl) che si basa sul modulo sonypi, che dovrebbe essere in grado di settare la luminosità del display. Dico “dovrebbe”, perché effettivamente a me non funziona. Da errore al momento di caricare il modulo sonypi.

Non mi sono dato per vinto, quindi ho deciso di usare un metodo old school. Ovvero settarla a mano tramite /proc.

echo VALORE > /proc/acpi/video/VGA/LCD/brightness

Dove VALORE è un livello tra questi: 5, 8, 11, 16, 23, 34, 48, 70, 100

Ora sto scrivendo uno script python che mi fa queste operazioni in automatico quando premo i tasti per regolare la luminosità.
Questo è quanto. Se ci saranno aggiornamenti degni di nota, provvederò a postarli!
Ciao a tutti 🙂

Senso dell’orientamento :)

girl

fonte: kartoen.be 🙂

Frank Zappa

December 21, 1940 – December 4, 1993

Equalizzatore globale con PulseAudio

Una della mancanze che si fanno più sentire in una moderna linux box, è la possibilità di avere un equalizzatore globale che funzioni per tutte le applicazioni che usano l’audio in GNOME.

Sembra che qualche volenteroso sviluppatore si sia rimboccato le maniche per colmare questa lacuna che, inspiegabilmente, continuava a rimanere incolmata! 🙂

PulseAudio 15-band Equalizer

Questo equalizzatore funziona con la nuova versione di PulseAudio (0.9.20) o superiore. Quindi per chi usa Jaunty o Karmic, c’è bisogno di effetture degli aggiornamenti. Per chi già usa (quanti sono? 🙂 ) Lucid Lynx non dovrebbero esserci problemi.

Tranquilli, non c’è da compilare nulla, ci sono i repository dei pacchetti belli e pronti.

Questo plugin per Pulse non è altro che un’interfaccia grafica ad un plugin LADSPA che fornisce un equalizzatore a 15 bande. Esso può anche caricare i preset di VLC. Il plugin scelto fa parte del pacchetto swh-plugins, il quale si può installare da qualsiasi ubuntu tramite il comando:

$ sudo apt-get install ladspa-sdk swh-plugins

Per maggiori informazio sull’installazione e l’aggiunta dei repository necessari vi rimando al thread ufficale su UbuntuForums.

100K

100K grazie ! 🙂