LaTeX e LilyPond: incorpora spartiti nei tuoi documenti LaTeX
Chiunque abbia usato LaTeX per i propri documenti, conosce bene le potenzialità di questa suite. Template, equazioni, pubblicazioni, etc. etc…
Ma sei io volessi inseriere degli spartiti musicali (o anche solo 2 battute) nel mio documento? Per esempio se voglio scrivere un sunto di teoria musicale è sicuramente molto comodo poter scrivere al volo la scala di Do maggiore sul rigo, senza dovermela scrivere con altri programmi ed esportare immagini, che in seguito devo incorporare nel mio documento!
Bene, il pacchetto LilyPond (sito ufficiale) serve proprio a questo. In realtà questo software è nato principalmente solo come editor di score completo e professionale, ma ora possiamo usarlo come environment per i nostri documenti LaTeX.
La procedura prevede 2 passi di compilazione. Il primo passo avviene tramite il comando lilypond-book documeto.tex, e successivamente avviene la vera e propria compilazione tramite latex. Questo procedimento potrebbe risultare noioso, così ho deciso di crearmi un makefile. Lanciano un semplice make mi ritrovo con il mio dvi o pdf bello e pronto.
Questo makefile ha 3 opzioni: lanciando solo il make, compiliamo soltanto il dvi. Lanciando make pdf, otteniamo un pdf (ma va??
). Come ultima opzione abbiamo il solito make clean, che ripulisce la cartella dai file e cartelle temporanei usati per la compilazione.
Vediamo come è fatto il makefile
# Makefile for LilyPond LaTeX
# Alessio Degani <alessio.degani@gmail.com>
LATEX = latexLP = lilypond-bookDVIPDF = dvipdfSRC := $(shell egrep -l ‘^[^%]*\\begin\{document\}’ *.tex)
DVI = $(SRC:%.tex=%.dvi)
PDF = $(SRC:%.tex=%.pdf)
LPDIR = $(SRC:%.tex=%.lp)all : dvi
clean :
-rm -rf *.log *.aux *.dvi *.bbl *.blg *.ilg *.toc *.lof *.lot *.idx *.ind *.ps *.pdf *~ $(LPDIR)
pdf:
if test -d $(LPDIR); then rm -rf $(LPDIR); fi
$(LP) –output $(LPDIR) $(SRC)
cd $(LPDIR); $(LATEX) $(SRC); $(DVIPDF) $(DVI)
cp $(LPDIR)/$(PDF) ./
dvi:
if test -d $(LPDIR); then rm -rf $(LPDIR); fi
$(LP) –output $(LPDIR) $(SRC)
cd $(LPDIR); $(LATEX) $(SRC)
cp $(LPDIR)/$(DVI) ./
Ora vediamo un file LaTeX di esempio pronto per essere compilato (preso dagli esempi di LilyPond)
\documentclass[a4paper]{article}
\begin{document}
Documents may freely mix music and text.
For example,
\begin{lilypond}
\relative c’ {
c2 g’2 \times 2/3 { f8 e d } c’2 g4
}
\end{lilypond}
Options are put in brackets.
\begin[fragment,staffsize=26]{lilypond}
c’4 f16
\end{lilypond}
\end{document}
MarkovEX è tra noi! Generative Music Compositions
Oggi è finalmente giunto ad una release funzionante, il progetto MarkovEX.
MarkovEX è un programma per la creazione di musica generativa con una struttura ben definita. La componente random del sistema permette di generare musica sempre nuova (e potenzialmente di durata infinita), ma il susseguirsi delle note presenta una struttura di fondo data da una catena di Markov del secondo ordine.
MarkovEX è in grado di analizzare file midi trattandoli come realizzazioni di un processo stocastico associato ad una particolare catena di Markov. L’obiettivo di questa analisi è cercare di ricavare la catena di Markov del secondo ordine associata alla traccia musicale. Una volta fatto questo, salva i risultati su file in modo da poterli aprire (sempre con MarkovEX) e farli suonare sul sequencer ALSA, creando di volta in volta nuove melodie che però hanno sempre un po lo stesso sapore.
Il modello usato è del secondo ordine in quanto il primo ordine non è sufficientemente “strutturato” per poter generare musica “simile” al file midi originale. Passando all’ordine successivo invece, si rende la sequenza di note maggiormente correlata.
Provare per credere
Per ora lo potete trovare su GitHub a questo indirizzo
git://github.com/axeldamage/Markovex.git
Saluti
Voronoi Art Project
Con le moderne tecnologie, anche l’arte è sempre più contaminata dalla scienza in generale o in particolare dalla computer sience.
Un esempio è la composizione algoritmica di musica, come la musica generativa che fra varie tecniche fa ampio uso di teorie come, per dirne una, le catene di Markov.
Per quanto riguarda la computer grafica invece, di recente sono stato attirato dall’utilizzo dei cosidetti Voronoi diagram. Questo diagramma non fa altro che delimitarmi delle aree attorno a questi punti secondo un criterio di nearest neighbors, ovvero mi traccia dei confini che mi definiscono il perimetro a minima distanza dal punto in esame il quale è detto centroide. In parole povere, se punto il dito a caso, basta vedere in quale area sono finito, e il punto a minima distanza dal mio dito è proprio il centroide di quell’area.
In rete sono presenti alcuni esempi di intrepidi sperimentatori. L’unica cosa che non mi piace, è che alla fine per ottenere dei risultati decenti è sempre necessaria la mano e il gusto dell’uomo. Nel caso dei Voronoi diagram, questo significa definire “a mano” la popolazione di punti che poi andrà a formare il diagramma.
A questo punto mi sono chiesto se fosse possibile automatizzare la cosa. La chiave di volta sta appunto nel trovare un sistema algoritmico per ricavare questa nuvola di punti che in un certo qual modo ricordi l’immagine originale. Per dirla in parole povere, questa nuvola dovrebbe essere più densa nelle parti scure dell’immagine, e più sparsa nelle parti chiare.
Pensa e ripensa (mille metodi possibili, tra cui la segmentazione dell’immagine in base a proprietà di istogramma o criteri di gradiente minimo… troppo pesanti) e la soluzione è arrivata, semplice e veloce. Così apro Matlab, compagno fidato di mille avventure
Non vi voglio svelare tutti i trucchi, ma voglio darvi un’idea di quello che ho realizzato.
Dopo aver convertito in scala di grigi l’immagine prescelta da “Voronoizzare”, ho creato un’altra immagine vuota alla quale ho aggiunto del rumore di tipo salt&pepper. Questo tipo di rumore approssima abbastanza bene il problema dei pixel bianchi/neri dei vari sensori CCD (nda. per ridurlo funziona molto bene il filtro mediano). Questo salt&pepper viene poi discriminato pixel-by-pixel con una probabilità proporzionale alla luminanza (B/W) del singolo pixel. In questo modo nelle parti scure ho maggiore probabilità che il salt&pepper “sopravviva”.
Non voglio aggiungere altro, quindi vi lascio con un’anteprima visuale!
Wish list: Akai MPK mini
Post di inaugurazione della nuova categoria Wish List. Ovvero, se volete farmi un regalo guardate qui!!
L’Akai MPK mini è un controller MIDI USB pensato per essere versatile e portabile. Dimensioni ridotte e ricchezza di controlli (8 velocity-sensitive pads, 8 control change, 25 tasti, program change, arpeggiatore)
Natale si avvicina…
Nuovo SoundFont: Il Sitar del Diavolo a.k.a. Ditar :)
Con immenso piacere vi presento un nuovo soundfont creato e registrato da me medesimo. L’esigenza di creare un soundfont è data dal fatto che questo strumento, unico al mondo (LOL), creato da un liutaio bresciano dall’indentità segreta, risulta un po’ ostico da suonare… e da accordare! Cosa meglio di un soundfont per questo scopo?
Per il download del SF2, per la demo audio e per ulteriori informazioni, vi rimando all’articolo originale publicato sul mio blog sperimentale.
Lasciate ogni speranza voi che suonate questo soundfont!
DISCLAIMER: Attenzione! Potrebbe manifestarsi Satana!
M-Audio Pro Tools Vocal Studio on Linux
Di recente ho acquistato questo microfono USB a condensatore (NON electrect!!). Le mie esigenze non riguardano il podcasting o la registrazione professionale (quella si fa in studio con i microfoni GNUMAN
).
Il mio uso è prettamente legato ai miei esercizi di canto (esigenze di riascolto) e per registrare eventuali idee dimostrative (per poi essere ri-registrate in studio). Inoltre l’ho trovato utile per fare delle prove di interpretazione di vari pezzi in modo che posso riascoltarmeli e decidere su cosa lavorare.
La spesa è piuttosto contenuta. Per un centinaio di euro mi è arrivato un bel pacchetto contenente il microfono (bello solido e pesante, da l’impressione di essere un prodotto fatto con un certo criterio), la versione Essentials di Pro Tools e un comodo stand da tavolo. Successivamente ho provveduto all’acquisto di uno shockmount (il “ragnetto” anti-shock).
Interessante feature di questo mic, è la possibilità di avere il direct monitoring (per il riascolto zero-latency) ma in Linux, questo mi è ancora impossibile
in quanto necessita della sua interfaccia di settings che esiste solo per Win*. A parte questo problemino, il microfono funziona out-of-the-box. Lo attacco al PC e lui va. Diamo un attimo un occhio alle impostazioni di Jack.
NOTA: Per far si che jack si avvii correttamente, dobbiamo per forza settare il numero di canali d’ingresso pari a UNO! Chissà perché, da solo non ce la fa a capirlo e all’avvio di jack vi trovate un bell’errore generico
Il campo Frame/Period può essere ridotto per aver meno latenza, io l’ho testato fino a 128 ed è sufficiente. Altro paramentro importante è Periods/Buffer, che per le periferiche USB è consigliabile impostare a 3!
Ora una breve valutazione dal punto di vista tecnico.
Il microfono ha una buona risposta e sensibilità. Uno spettro che garantisce una bella ripresa anche sulla gamma delle alte frequenze grazie alla capsula a condensatore. Le basse sono definite grazie al diaframma (quasi)largo (cardioide da 16mm), infatti risente dell’effetto prossimità!
La qualità nel complesso è molto buona per 100 euro, ma se vogliamo trovargli un difetto, devo segnalare il noise floor un po’ altino! Ok… non è a livelli insopportabili… anzi… più o meno come tutti i mic USB in circolazione fino ad oggi!
Fatemi sapere le vostre opinioni!
Ciao!
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#Parametril=10; #Lunghezza in minuti (MAX:10)f0=432; #Frequenza di partenzaD=20; #Differenza di frequenza iniziale (freq dei battimenti)fs=44100; #sample rate#Calcolo numero sample totali e base dei tempisample=60*l*fs; #Numero totale di samplet=[0:1:sample-1]; #Asse dei tempi#Generazione dei 2 canali audioout=zeros(sample,2);freq=(f0+D-((D/2*t)/sample));#Sinusoidi…L=sin(2*pi*t*f0/fs)*0.9; #Frequenza fissaR=sin(2*pi*t.*freq/fs)*0.9; #Frequenza discendente#salvo il fileout(:,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!
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à!
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 psmousesudo 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












Commenti recenti