Arxiu de la categoria: 50 Ways to Play Una Plata d’Enciam

50 ways… #6. Editors de partitures: Lilypond

En l’anterior post vam crear un soundfont per a acordió diatònic, castagnari.sf2, i amb els seus sons vam tocar la meva canço preferida: Una Plata d’Enciam, dins del projecte 50 ways to play Una Plata d’Enciam. Anem a veure ara com amb l’editor de partitures Lilypond podem crear una partitura molt correcta, que respongui als reptes que ens planteja la notació per a acordió. El que aquí farem en aquest post no és res de l’altre món. En el blog amic Scores of Beauty, http://lilypondblog.org/, porten a l’extrem les possibilitats de lilypond.

Bàsicament el que volem és visualitzar correctament la melodia, els acords, i com s’han de tocar els baixos/acords de la mà esquerra (és a dir, l’acompanyament). La idea és crear unes partitures didàctiques que ajudin a la meva filla a posar els dits de la mà esquerra.

El primer que farem és crear la melodia, posarem a sobre de les notes els acords de la forma habitual, i mostrarem quan s’ha de tocar un baix (b) i un acord (a) amb la mà esquerra. Això últim ho farem amb \\lyrics, com si fos la lletra d’una cançó.

\\version “2.12.1”
\\header {
title = “Una Plata d’Enciam”
composer = “tradicional catalana”
}

baixosnotacio = \\chordmode {
c4 c f c f g g c c c f c f g g c
c4 c f c f g g c c c f c f g g c
}

partitura = \\relative c’
<<
\ew ChordNames {
\t\\set chordChanges = ##t
\t\\baixosnotacio
}

\ew Staff = “veu 1”
{
\\clef treble
\\key c \\major
\\time 2/4
\\tempo 4=80

\te8 f g g a a g4 \\times 2/3 { a8 a g } f f \\times 2/3 { f f f } g e e f g g a a g4 \\times 2/3 { a8 a g } f f f g e4
\te8 f g g a a g4 \\times 2/3 { a8 a g } f f \\times 2/3 { f f f } g e e f g g a a g4 \\times 2/3 { a8 a g } f e f g e4
}
\\addlyrics {
\tb _ a _ b _ a b _ _ a _ b _ _ a _ b _ a _
\tb _ a _ b _ a b _ _ a _ b _ _ a _ b _ a _
\tb _ a _ b _ a b _ _ a _ b _ _ a _ b _ a _
\tb _ a _ b _ a b _ _ a _ b _ _ a _ b _ a _
}

>>

\\score {
\\partitura
\\layout { }
\\midi { }
}

Ara anem a posar els baixos. Si ho fem de la forma habitual funciona, però queda una partitura que no és útil per a llegir. A més a més no és correcta, doncs com s’ha explicat en l’anterior post l’associació entre els acords CM, DM,… i les notes midi 24, 26,… va ser una decisió arbitrària. Quedaria de la següent manera:

\\version “2.12.1”
\\header {
title = “Una Plata d’Enciam”
composer = “tradicional catalana”
}

baixosnotacio = \\chordmode {
c4 c f c f g g c c c f c f g g c
c4 c f c f g g c c c f c f g g c
}

partitura =
<<
\ew ChordNames {
\t\\set chordChanges = ##t
\t\\baixosnotacio
}

\\relative c’
\ew Staff = “veu 1”
{
\\clef treble
\\key c \\major
\\time 2/4
\\tempo 4=80
\t%notes amb valors relatius
\te8 f g g a a g4 \\times 2/3 { a8 a g } f f \\times 2/3 { f f f } g e e f g g a a g4 \\times 2/3 { a8 a g } f f f g e4
\te8 f g g a a g4 \\times 2/3 { a8 a g } f f \\times 2/3 { f f f } g e e f g g a a g4 \\times 2/3 { a8 a g } f e f g e4
}
\\addlyrics {
\tb _ a _ b _ a b _ _ a _ b _ _ a _ b _ a _
\tb _ a _ b _ a b _ _ a _ b _ _ a _ b _ a _
\tb _ a _ b _ a b _ _ a _ b _ _ a _ b _ a _
\tb _ a _ b _ a b _ _ a _ b _ _ a _ b _ a _
}

\ew Staff = “baixosnotes”
{
\\key c \\major
\t%notes amb valors absoluts
\tc,8. r16 c,,8 r f,8. r16 c,,8 r f,8. r16 g,,8 r g,8. r16 c,,8 r
\tc,8. r16 c,,8 r f’8. r16 c,,8 r f,8. r16 g,,8 r g,8. r16 c,,8 r
\tc,8. r16 c,,8 r f,8. r16 c,,8 r f,8. r16 g,,8 r g,8. r16 c,,8 r
\tc,8. r16 c,,8 r f,8. r16 c,,8 r f,8. r16 g,,8 r g,8. r16 c,,8 r
}
>>

\\score {
\\partitura
\\layout { }
\\midi { }
}

Aquí és important remarcar que s’ha utilitzat la notació relativa, i la notació absoluta per als baixos, que simplifica molt escriure l’alternança entre baixos i acords. Aquesta partitura no és correcta per a imprimir, però el fitxer midi que produeix sí que és correcte. Hi ha una manera de solucionar-ho? Sí. Es pot definir un \\score per a ser imprès, i un altre \\score per a generar el fitxer midi. El resultat queda de la següent manera: la partitura per a imprimir és correcta (no apareixen les notes dels baixos, només les posicions on hem de posar els dits de la mà esquerra); i el fitxer midi resultant també és correcte:

\\version “2.12.1”
\\header {
title = “Una Plata d’Enciam”
composer = “tradicional catalana”
}

baixosnotacio = \\chordmode {
c4 c f c f g g c c c f c f g g c
c4 c f c f g g c c c f c f g g c
}

partitura = \\relative c’
<<
\ew ChordNames {
\t\\set chordChanges = ##t
\t\\baixosnotacio
}

\ew Staff = “veu 1”
{
\\clef treble
\\key c \\major
\\time 2/4
\\tempo 4=80
\te8 f g g a a g4 \\times 2/3 { a8 a g } f f \\times 2/3 { f f f } g e e f g g a a g4 \\times 2/3 { a8 a g } f f f g e4
\te8 f g g a a g4 \\times 2/3 { a8 a g } f f \\times 2/3 { f f f } g e e f g g a a g4 \\times 2/3 { a8 a g } f e f g e4
}
\\addlyrics {
\tb _ a _ b _ a b _ _ a _ b _ _ a _ b _ a _
\tb _ a _ b _ a b _ _ a _ b _ _ a _ b _ a _
\tb _ a _ b _ a b _ _ a _ b _ _ a _ b _ a _
\tb _ a _ b _ a b _ _ a _ b _ _ a _ b _ a _
}
>>

fitxermidi =
<<
\\relative c’
\ew Staff = “veu 1”
{
\\clef treble
\\key c \\major
\\time 2/4
\\tempo 4=80
\t%notes amb valors relatius
\te8 f g g a a g4 \\times 2/3 { a8 a g } f f \\times 2/3 { f f f } g e e f g g a a g4 \\times 2/3 { a8 a g } f f f g e4
\te8 f g g a a g4 \\times 2/3 { a8 a g } f f \\times 2/3 { f f f } g e e f g g a a g4 \\times 2/3 { a8 a g } f e f g e4
}

\ew Staff = “baixosnotes”
{
\\key c \\major
\t%notes amb valors absoluts
\tc,8. r16 c,,8 r f,8. r16 c,,8 r f,8. r16 g,,8 r g,8. r16 c,,8 r
\tc,8. r16 c,,8 r f’8. r16 c,,8 r f,8. r16 g,,8 r g,8. r16 c,,8 r
\tc,8. r16 c,,8 r f,8. r16 c,,8 r f,8. r16 g,,8 r g,8. r16 c,,8 r
\tc,8. r16 c,,8 r f,8. r16 c,,8 r f,8. r16 g,,8 r g,8. r16 c,,8 r
}
>>

\\score {
\\partitura
\\layout { }
}

\\score {
\\fitxermidi
\\midi { }
}

Finalment podem escoltar la cançó Una Plata d’Enciam com quedaria amb acordió diatònic:

Una Plata d’Enciam by joanillo

Referències:

50 ways… #5. Com fer un soundfont per a acordió

La meva filla està aprenent a tocar l’acordió diatònic. Es tracta d’un acordió de botons de la marca Castagnari model Studio, amb dues files de botons a la mà dreta (afinades en Sol i Do), i els 8 botons de la mà esquerra són els baixos, dividits en 4 baixos i 4 acords. Aquest és el tipus d’acordions que sonaven en les festes majors dels petits pobles del Pirineu. Quan encara no hi havia carreteres per arribar a aquests pobles, en el segle XIX i fins entrat el segle XX, els músics havien de pujar als pobles a peu o a mula. Per tant era necessari instruments transportables. Moltes vegades un acordió i un violí animaven el ball de la plaça del poble.

En aquesta ocasió, ja que disposo d’un instrument nou per mi, vull fer la pràctica de crear un soundfont des del principi, i d’aquesta manera podré utilitzar el so d’aquest instrument en diferents projectes. Evidentment, s’ha de començar mostrejant totes les notes. Per fer-ho s’utiltizarà un micròfon d’una qualitat òptima, intentant que no hi hagi sorolls de fons. Es gravarà a un volum adequat, notes llargues, i sense produir saturació, en un sol canal. Les mostres es van gravant de forma ordenada i utiltizant el nom del fitxer adequat de manera que no hi hagi confusió. Per gravar les mostres he utilitzat un Ubuntu 12.04 32 bits, interfície Edirol UA-25EX i un microfon Beyerdynamic TG I52d. S’ha utiltizat la següent comanda:

arecord -r 44100 -f cd -t wav -D plughw:UA25EX accordion_C4.wav

A l’hora de fer la gravació tindrem molt de compte amb els baixos i els acords, que són botons especials. Un cop tenim totes les mostres, amb el Audacity editem els fitxers d’ona. Agafem una part significativa de la mostra samplejada, intentant que l’envolvent sigui periòdica, i evidentment que no agafi els extrems del fitxer d’ona. Ens assegurem de què la mostra no té saturació, i amplifiquem la mostra a un nivell raonable, de manera que totes les mostres tinguin un volum similar. El resultat de les mostres és el següent:

Samples Accordion Castagnari Studio by joanillo

Samples Accordion Castagnari Studio (Bass and chords) by joanillo

Aleshores ja podem començar a utiltizar el Polyphone, que serà l’entorn gràfic que s’utilitzarà per construir el soundfont. El primer que farem és importar totes les mostres, i diem quina és la nota arrel de cada nota, de manera que ja li estem assignant una freqüència. Aleshores creem un instrument nou (per ex Accordion), que serà l’únic instrument que contindrà aquest soundfont. Ara és quan hem d’associar cada mostra a una nota midi de l’instrument que estem editant. Per exemple, per a la mostra accordion_C4.wav ficarem:

    \t

  • root key = 60
  • \t

  • key range = 60-60
  • \t

  • attack = 0,2s
  • \t

  • release = 0,2 s

Les notes dels baixos que es fan amb la mà esquerra es corresponen a les següents notes midi:

    \t

  • Baix C = 36 (C2)
  • \t

  • Baix D = 38 (D2)
  • \t

  • Baix E = 40 (E2)
  • \t

  • Baix F = 41 (F2)
  • \t

  • Baix G = 43 (G2)
  • \t

  • Baix A = 45 (A2)

I un cas especial són els acords que es fan amb la mà esquerra, que s’associen per conveni a les següents notes midi.

    \t

  • Acord CM = 24 (C1)
  • \t

  • Acord DM = 26 (D1)
  • \t

  • Acord EM = 28 (E1)
  • \t

  • Acord FM = 29 (F1)
  • \t

  • Acord GM = 31 (G1)
  • \t

  • Acord Am = 33 (A1)

I és important recalcar que aquesta associació és un conveni. Quan toqui la nota midi 24 es dispararà el so samplejat corresponent a l’acord CM.

Per als baixos i acords s’ha fixat els valors d’attack i release a 0,6s.

Per acabar de definir el soundfont hem de crear un nou preset associat a aquest instrument, de manera que el so d’acordió el tindrem en el banc=0 i canal=0 (000:000). Finalment ja puc guardar el soundfont, castagnari.sf2, i ja el puc testejar, en aquest cas amb fluidsynth, fent sonar la meva cançó preferida: Una Plata d’Enciam, tocada a la manera com es faria amb l’acompanyament de diatònic: la melodia amb la mà dreta, i alternant els baixos i acords amb la mà esquerra.

/usr/bin/fluidsynth -s -l -j -a jack -m jack ./accordion_castagnari_studio.sf2 ./una_plata_denciam.midi

Una Plata d’Enciam by joanillo

En el següent post explicarem com s’ha generat el fitxer midi que acabem de tocar a partir de l’editor de partitures lilypond. Tenia ganes de fer un post sobre lilypond, i concretament ara que la meva filla està aprenent el diatònic, com es pot fer servir el lilypond per a la notació d’acordió.

Referències:

Wacom Theremin

El Theremin és un instrument inventat per Léon Theremin el 1918 que té la particularitat de què es toca amb els gestos de les mans. Està considerat un dels primers instruments electrònics, i el seu so sintètic i característic s’ha utilitzat moltes vegades per a pel·lícules de ciència ficció i efectes especials.

En aquest projecte s’implementa la manera de tocar i el so d’un theremin amb un controlador poc convencional: una tauleta gràfica Wacom de les que fan servir els dissenyadors gràfics. Si saps com es toca un theremin la implementació és evident: amb l’eix x canvies el to (Pitch Bend amb terminologia MIDI; amb l’eix y canvies el volum; i clar: apretar el llapis produeix el so de la nota (missatge MIDI NoteOn) i aixecar el llapis apaga la nota (NoteOff). A més de la posició XY, la tecnologia wacom proporciona altres sensors que donen informació com és la pressió i la inclinació. Encara que no s’ha fet en aquest projecte, es podria haver associat la pressió i la inclinació a altres missatges MIDI CC (Continuous Controller) com ara la modulació (efecte de vibrato).

S’ha utilitzat un sintetitzador Roland JV-2080 per tal de produir un so de Theremin, tot i que no estic molt content amb el resultat obtingut. Allò bo del JV-2080 és que té un espai de memòria per guardar els patch d’usuari i motls paràmetres, oscil·ladors i efectes per poder anar jugant si tens suficient temps. I el que és millor del JV-2080 és que pots configurar el pitch bend (variació del to) amb una amplitud molt gran, també configurable, cosa que normalment no passa en altres sintes (sobretot els sintes software).

Una de les coses que m’ha agradat més del projecte és la integració de l’aplicació desenvolupada amb llenguatge C (hi ha l’enllaç per descarregar el codi més avall) amb Gimp (l’editor d’imatges i fotos de referència en el món Linux). Això dóna peu a múltiples possibilitats i idees per fer projectes que combinin Gimp amb efectes sonors i interactius.

Evidentment, la idea no és nova, hi ha altra gent que ha fet Theremins amb wacom’s i altres controladors com la Wii, però en el projecte 50 Ways to Play Una Plata d’Enciam no podia faltar un Wacom Theremin fet exclusivament amb eines de Codi Lliure.

El sintetitzador més simple, controlat amb un sensor linial

simplest_synth
Després de bastant de temps, una nova entrega del projecte 50 maneres de tocar Una Plata d’Enciam. Aquest cop vull ensenyar-vos els principis més bàsics de la síntesi d’audio. És un projecte molt senzill, bàsic i barato, amb grans possibilitats d’èxit fins i tot per la gent sense experiència en electrònica.

Recordo de les èpoques de la universitat en què estudiava els circuits RC, les equacions diferencials associades, i com la corba de càrrega i descàrrega d’un condensador és una funció exponencial. En aquest circuit aconseguim carregar i descarregar el condensador de forma cíclica, gràcies a dos transistors que s’obren quan el condensador està carregat, i es tanquen quan el condensador es descarrega. Escollint els valors de resistència i condensador adequats la freqüencia de ressonància està dins l’espectre audible, que podem escoltar amb un petit altaveu. Amb una resistència variable podem aconseguir variar la freqüència, aconseguint un petit theremin o tannerin.

i aquí va el video mostrant com es construeix aquest petit sintetitzador, i com es pot tocar una cançó com Una Plata d’Enciam.
més informació a la wiki

50 Ways… ALSA i programació MIDI a baix nivell

alsalogo

ALSA (Advanced Linux Sound Architecture) proporciona la funcionalitat MIDI a Linux. Gràcies als drivers d’ALSA podem utilitzar moltes de les targetes de so comercials, i disposem d’una API per tal que els programadors puguin fer aplicacions d’audio i MIDI.

Els programadors poden construir aplicacions d’audio i midi utilitzant la API d’ALSA (alsa-lib, libasound), o d’altres llibreries que estan en capes d’abstracció més elevades. Nosaltres, en aquest video del projecte 50 Ways to Play Una Plata d’Enciam, mostrarem tres maneres diferents de poder tocar la nostra cançó peferida, Una Plata d’Enciam, acostant-nos tot el que puguem a la capa de hardware, a la targeta de so. Es tracta de poder enviar missatges MIDI directament a la targeta de so des de la shell de Linux.

50 ways… caixa de música amb targeta perforada

diy music box

Per fi he aconseguit el meu DIY Music Box que es pot comprar a ThinkGeek.com. La cosa no ha estat fàcil: des d’Espanya no es pot comprar a ThinkGeek.com (diuen que tenen massa devolucions i no els surt a compte, som uns impresentables…). I és que tinc ganes de jugar amb el catxarro i tocar unes quantes cançons infantils, a veure quina cara posa el Pere!…

Abans d’entrar a fer música electrònica i remenar hardware en el projecte que estic portant a terme (50 ways to play Una Plata d’Enciam), m’ha semblat que tocar Una Plata d’Enciam amb aquesta caixa de música és una bona idea. I el resultat que he obtingut és molt satisfactori.

El gruix de la feina ha estat en fer una petita aplicació amb llenguatge C++ per convertir un fitxer simplificat de lilypond (fitxer de partitura musical) a les imatges que, un cop impreses, seran les plantilles per perforar la targeta que codificarà la música. Aquesta aplicació segur que la faré servir més endavant en el projecte, doncs el tema de les caixes de música tornarà a sortir més endavant en el projecte 50 ways to play Una Plata d’Enciam.

Us deixo l’enllaç del projecte a la wiki (http://wiki.joanillo.org/index.php/50_ways…_DIY_punched_card_Music_Box), on podreu trobar informació tècnica, descarregar l’aplicatiu lilypond2musicbox.cpp, i consultar les transcripcions del vídeo en català i castellà

Projecte: 50 Ways to Play Una Plata d’Enciam

Una Plata d'Enciam

Amb aquest post inaugurem un nou projecte: 50 maneres de tocar Una Plata d’Enciam. Una Plata d’Enciam és una cançó infantil que canten els nens a Catalunya, i que últimament he hagut de cantar molt amb la meva filla. Com que darrerament m’ha interessat les diferents maneres de programar audio i midi en entorns linux, i m’ha interessat la possibilitat de construir instruments musicals nous i noves interfícies home-màquina que produeixin so i música, és per això que vull recopilar i ordenar aquesta informació i produir uns videotutorials per mostrar les diferents possibilitats i tècniques.

Espero poder anar produint els videotutorials amb una certa regularitat. No sé si arribaré a 50 videos, o potser em passaré d’aquest número… és només una intenció, un número indicatiu.

Aquí us deixo amb el primer video, la introducció al projecte i la primera manera de fer sonar aquesta cançó: cantant amb la veu humana (l’instrument perfecte) i tocant amb un instrument (en aquest cas un instrument de vent, una mel·lòdica).

Els videos són en anglès, però sempre es facilitarà la direcció del projecte a la wiki on trobareu la transcripcio del video al català i al castellà, i informació tècnica sobre el projecte.

Wiki: Informació tècnica i transcripció dels videos