Archivo de la categoría: Joanillo Productions

smf_parser v1.01: SMF (Standard Midi File) Parser


jplayfine (http://wiki.joanillo.org/index.php/Jplayfine) es un proyecto musical que estoy desarrollando, que consiste en poder hacer un play-along sobre un fichero midi (fichero SMF), y que puedas obtener una nota relacionada con la similitud entre lo que has tocado y lo que se supone que has de tocar. Para hacerlo, el programa ha de saber en qué canal está la melodía en el fichero midi, y por qué canal
toca el controlador midi. jplayfine es un cliente JACK que convive bien dentro del ecosistema de las aplicaciones de audio y midi para Linux. Bien, hablaré de jplayfine en otra ocasión.

Aunque jplayfine utiliza un secuenciador externo per hacer sonar el fichero midi (las pruebas las estoy haciendo con jack-smf-player), el tema es que desarrollando el proyecto jplayfine me he encontrado con la necesidad de parsear el fichero midi que contiene la melodía y el acompañamiento. Podia utilizar la librería smf.h que utiliza jack-smf-player. La verdad es que, con los objetivos de buscar la simplicidad, tener el máximo control del código, y entender con
profundidad el formato MIDI, me he embarcado en hacer un parseador de SMF con C++. Aquí va la versión 1.01, por si alguien se lo quiere mirar. Por una parte hay una aplicación standalone; y por otra hay la librería y una aplicación de test que muestra como utilizar la librería. También hay una carpeta midi/ con los midifiles que se han utilizado para testear. Para utilizar la librería necesitas un ompilador C++ para Linux (g++).

Enlace del proyecto: http://wiki.joanillo.org/index.php/Fitxers_MIDI_(SMF)._Format#smf_parser
Información sobre el protocolo MIDI: http://www.sonicspot.com/guide/midifiles.html
Descargar smf_parser1.01

Ave Maria (música religiosa)


Una composición del mi padre: un Ave María, estamos hablando de música religiosa tocada con un órgano de iglesia. La partitura se ha transcrito en lilypond, se ha tocado con fluidsynth buscando un sonido de órgano que esté bien, y se ha grabado en Ardour. Más adelante convenceré a Rita para que cante encima, pues tiene letra (en latín, como tiene que ser). Puedes descargarte el zip, donde puedes encontrar todo el material, incluido el fichero lilypond y así se puede ver cómo es este formato de transcripción musical:

Descargar Ave Maria (mp3, lilypond, midi, pdf)

La parte melódica de la melodía tiene esta pinta en lilypond:

melodia = \\relative c» {
\t\\set Staff.midiInstrument = #»church organ»
\t\\clef treble
\tr2 r r r r r r r r r r r r \\mBreak
\tbes2 g4. g8 c2 bes ees4 d8 c bes4( g) bes2 c4 bes8 aes g4( ees) g2 bes4 aes8 g f2 g4 r ees’ d8 c \\mBreak
\tbes4( g) bes2 c4 bes8 aes g4( ees) g2 bes4 aes8 g f2 ees \\bar «||» g4.\\f g8 a4 f bes2 a4 a8 a bes4 a d2 d4. d8 \\mBreak
\td4 cis c8 c c c c bes bes4 bes bes8 bes bes4 a~ a gis16( a bes) a e’4~ e16 cis a g g8( f) f4~ f e16 g bes( g) e2~ e4 cis’16( d e d) \\mBreak
\tcis2~ cis4 r \\bar «||» r2 r r r r r r r r r \\mBreak
\tr2 r r \\bar «||» bes2\\mf g4. g8 c2 bes ees4( d8) c bes4( g) bes2 c4( bes8) aes g4( ees) g2 bes4 aes8 g f2 \\mBreak
\tg4 r ees’4( d8) c bes4( g) bes2 c4 bes8 aes g4( ees) g2 bes4( aes8) g f2 ees ges4 ges8 ges f4 f ges4. ges8 \\mBreak
\tf8. f16 f4 g aes8 bes c4 c a( bes8) c d4 d ees bes8 g c4 bes \\mBreak
\taes4( g8) f aes4 g g( f8 ees) f2 f4( ees8 d) ees2~ ees4 r \\bar «|.»
}

Ave maria by joanillo

Canción de cuna muy personal

Estos días estoy cantando a Pere y a María una canción de cuna que tiene un significado muy especial. Es una canción de cuna que le cantaba mi abuela Montserrat a mi padre, y es realmente muy original, no es para nada conocida. Mi abuela nació en una masía en La Guàrdia, en la subcomarca del Lluçanès (Cataluña), una zona con entidad propia entre Puigreig y Vic. Precisamente, todo el folklore de la zona lo documentó Josep M. Vilarmau, allá por los años 40 del s. XX, que era precisamente primo de mi abuela, además de colega del folklorista Joan Amades. Hizo una obra de referencia para estudiar las canciones de la comarca <: Folklore del Lluçanès, y esta canción de cuna, sin título, precisamente no está.

Es una canción muy sencilla y dulce, como han de ser las canciones para hacer dormir a los niños. Mi padre la ha arreglado para piano, plasmando esta dulzura y simplicidad armónica. Yo sólo la he transcrito con lilypond y la he grabado con un buen sonido de piano. Así pues, mi reconocimiento para mi abuela (al cielo esté), a mi padre, y a todo el patrimonio inmaterial que representa el folklore de las tierras catalanas. La letra (traducción del catalán):

El ángel del sueño tiene las alas blancas,
tiene el cabello dorado y el vestido de plata.
El ángel del sueño que del cielo desciende.

El ángel del sueño al niño acompaña,
le mece en la cuna y los ojitos les cierra.
El ángel del sueño le besa y le canta.

Lilypond es un sistema de edición musical muy completo y que produce unas partituras de gran calidad. Eso sí, es un poco complicado de utilizar, aunque hay mucha información disponible. Yo sou un firme partidario. He transcrito la partitura manuscrita a lilypond, y aquí puedes ver el resultado:

Cançó de Bressol (descarga)

Lilypond, además de salida pdf, también produce la salida midi. Este fichero midi lo he hecho sonar con el sinte fluidsynth, que puede funcionar en línea de comandos, y que he cargado con un buen sonido de piano. Así de simple:

$ fluidsynth -l -a jack -m alsa_seq -g 1 /var/soundfonts/Musica_Theoria_v2_GM.sf2 /home/joan/lilypond/canco_bressol_v3.midi

El sonido que produce el fluidsynth se ha grabado en Ardour (el DAW de referencia en el mundo Linux), y sin más, sin añadir ningún efecto, lo he convertido a wav (y a mp3 con lame). Aquí puedes ver el resultado.
Cançó de bressol by joanillo

Espero que en un futuro esta canción se pueda ir transmitiendo de generación en generación y que quede com un bien preciado en mi familia.

Toc de Castells (canción de los castillos humanos)

Encontré por Internet la partitura del Toc de Castells. No sé exactamente de qué colla es, pues veo que cada colla toca el Toc de Castells de una forma un poco diferente. No tengo una gralla (sería equivalente a la dulzaina, en casa no me dejan tener una), pero sí que conseguí un flabiol de gralla, que tiene sonido de flauta dulce pero la digitación es la misma que la de la gralla. De esta forma puedes practicar com si fuese la gralla pero sin molestar a los vecinos. En algunas escuelas utilizan el flabiol de gralla en vez de la flauta dulce.

Esta pequeña grabación me ha servido para practicar algunos temas que tenía pendientes: la caja y los redobles están hechos con Hydrogen (me costó encontrar información de cómo hacer los redobles, pero al final lo conseguí). La secuencia de Hydrogen está grabada directamente en Ardour (escogiendo una buena librería de sonidos de batería), y he tenido que aclararme con el tema del Transporte (Ardour hace de Time Master, y JACK e Hydrogen le siguen). Todo está grabado con Ardour, con cuatro pistas: caja, redoble, flabiol 1 y flabiol 2. También he aprendido a hacer diferentes tomas (takes, playlists) en Ardour, para así poder escoger la que queda mejor; y hacer un punch en alguna zona concreta si se cree que se puede mejorar. Por otra parte, me he olvidado por fin de hacer las conexions en el QJackCtl y he hecho todas las conexions en Ardour, mucho más práctico y rápido.

Como efectos hay un reverb y compresión, que dan profundidad a la grabación y creo que la mejoran (y de paso disimulan alguna imperfección en la interpretación). En definitiva, otra grabación hecha con herramientas libres (JACK, Hydrogen, Ardour, GNU/Linux). El software libre al servicio de la música tradicional.

Hay una entrada de los Castells en la wikipedia en español, pero no en inglés. Podría ser interesante que alguien del mundillo casteller hiciese una entrada en la wikipedia en inglés.

Toc de Castells by joanillo

Grabaciones familiares: construyendo un archivo de muestras de audio

Pere tiene ahora 2 años y tres meses. Aprovechando la inercia de La Castañada y Todos los Santos he grabado de forma improvisada cómo canta \tLa Castanyera.

Estamos muy acostumbrados a archivar las fotos, y también los videos, y a tenerlos más o menos clasificados. Con las fotos podemos ver cómo crecen los niños (Y cómo crecen!). Podría ser una buena idea coleccionar, archivar y clasificar ficheros de audio. También tienen un valor documental, aunque damos más importancia a las fotos y a los videos.

Por ejemplo, me he dedicado 5 minutos a buscar por el fondo sonoro de la Biblioteca Nacional de Catalunya y he encontrado esta grabación de los años 50 de la Cobla de Barcelona, la coral Sant Jordi y el director Oriol Martorell: Vacaciones en la Costa Brava [archivo sonoro]

Aquí va La Castanyera cantada por Pere, con 2 años y tres meses:

gravació Pere, 2 anys i tres mesos by joanillo

video: la técnica del stop-motion

La Canon EOS550D es una cámara fantástica para hacer videos de calidad. Todavía estoy descubriendo cosas. Hacía tiempo que me rondaba por la cabeza hacer una prueba de la técnica del stop-motion. Y aquí tengo el resultado. Es sólo la primera prueba, hay muchas cosas a mejorar, sobretodo que no se mueva el trípode (fácil disparando con un control remoto). Otra posibilidad es pensar un guión y explicar una historia.
Esta técnica se ha visto bastante con muñecos de plastilina y de barro. En este caso la técnica se llama clay-motion.

Creo que con stop-motion se pueden hacer cosas divertidísimas, juntándonos os niños y sobrinos. Sin duda puede dar mucho juego y me gustaría enseñar cosas más profesionales y curradas.

Para realizar el video he necesitado unas 150 fotos, y he escogido 10 frames/segundo, que me ha dado la velocidad del tren correcta. Para renderizar el video se ha utilitzado un proceso automatizado utilitzando el fantástico ffmpeg, más elegante imposible:

c=0;
for i in *.JPG;
do mv «$i» «`printf %05d $c`.JPG»;
c=$((c+1));
done
for i in *.JPG;
do convert «$i» -resize 1350×900 -normalize «$i»;
done
ffmpeg -r 10 -b 1800 -i %05d.JPG output.mp4

Pedro y el Lobo: recuerdos de la infancia

pere_i_llop1El mes passat vaig estar treballant el conte musicat del Pere i el Llop. Concretament, he transcrit a lilypond (editor de partitures amb llicència GPL) tot el primer moviment, amb tots els instruments, i la idea és anar transcrivint els altres moviments a poc a poc. Això s’enmarca dins d’un projecte de fer contes musicals amb ordinador, ajuntant la part d’interpretació d’audio i la visualització d’imatges animades utilitzant tècniques de videojocs. La idea és que l’intèrpret toca la part mel·lòdica dels diferents instruments (el Pere: violins; l’ocell: flauta; l’ànec: l’oboè; el gat: el clarinet; l’avi: el fagot; el llop: les trompes; els caçadors: les timbales), i mentrestant a la pantalla es projecta una animació dels personatges. La clau està en què el moviment dels personatges està controlat per la interpretació del músic a través del protocol MIDI.

Volia recopilar informació sobre Pere i el Llop, i no m’ha sigut difícil trobar els mp3 de versions angleses i castellanes. I en català?? Doncs pensant-ho bé, per casa corria la versió del Pere i el Llop que narrava Josep M. Espinàs. He hagut d’esperar a pujar a Bagà per trobar el disc. Es tracta d’un vinil publicat el 1974: text i narració de l’Espinàs, orquestra Pro Musica de Viena, direcció Hans Sawarowsky, i evidentment, Prokofev és l’autor de l’obra.

És bonic veure com a vegades es tanca el cercle i recuperes històries i vivències de la infantesa. Recordo ara aquell tocadiscs de color vermell que van portar una vegada els Reis i va servir per iniciar-nos als meus germans i a mi en adquirir una sensibilitat musical. Els vinils van passar a la història, i ves per on, ara torna a estar de moda. Guardarem amb molt de carinyo aquesta versió del Pere i el Llop.

Aquí va una mostra d’àudio en què la veu inconfusible de l’Espinàs presenta el Pere i la secció de cordes que el represena:


En pere i el llop – Peter and the Wolf (sample) by joanillo

El sintetizador más simple, controlado con un sensor lineal

simplest_synth
Después de bastante tiempo, una nueva entrega del proyecto 50 maneras de tocar Una Plata d’Enciam. Esta vez quiero enseñaros los principios más básicos de la síntesis de audio. Es un proyecto muy sencillo, básic y barato, con grandes posibilidades de éxito incluso para los novatos en electrónica.

Recuerdo de las épocas de la universidad cuando estudiaba los circuitos RC, las ecuaciones diferenciales asociadas, y cómo la curva de carga y descarga de un condensador es una función exponencial. En este circuito conseguimos cargar y descargar el condensador de forma cíclica, gracias a dos transistores que se abren cuando el condensador está cargado, y se cierran cuando el condensador se descarga. Escogiendo los valores de resistencia y condensador adecuados la frecuencia de resonancia está dentro del espectro audible, que podemos escuchar con un pequeño altavoz. Con una resistencia variable podemos conseguir variar la frecuencia, consiguiendo un pequeño theremin o tanerino.

I aquí va el video mostrando cómo se construye este pequeño sintetizador, y cómo se puede tocar una canción como Una Plata d’Enciam.

Más información en la wiki

Grabando un disco antiguo de Louis Armstrong

Canon EOS 550D and Terratec DMX6 FireChristman has gone, and I have a new camera that I want to use as a full HD video recorder.

Last week I recorded an 1961 Louis Armstrong recording from LP to mp3, using my new Canon EOS 550D as videorecorder, and my new (but 8 years old) Terratec DMX6 Fire 24/96 audio interface as audio recorder. And everything using open source tools (linux OS, Ardour DAW, ffmpeg video processing). The album is called Sincerely. Louis Armstrong, and the song is called If, and I bought this old single years ago in a Barcelona flee market. Google thanks, I found information about the single:

http://michaelminn.net/armstrong/index.php?section6#19550118b
Decca 29421: Sincerely (Louis Armstrong With Sonny Burke’s Orchestra – 1955)

Armstrong, Louis (Trumpet, Vocal)
Burke, Sonny (Conductor)
Candoli, Pete (Trumpet)
Young, Trummy (Trombone)
Bigard, Barney (Clarinet)
Ruffell, Donald (Saxophone)
Gentry, Chuck (Saxophone)
Koch, Jos Cook (Saxophone)
Kyle, Billy (Piano, Celeste)
Shaw, Arvell (Bass)
Deems, Barrett (Drums)

The resulting video is not realiiy full HD, just HD (1280×720) because the video combines the camera recording and a screencast, and the combination of screen and nvidia graphics card limits the overall resolution.

The resulting wav and mp3 files have fine quality. The recording levels are OK, without saturation, and the only noise you can listen is the noise expected from an old LP recording, just the noise that some people like to listen in this sort of ancient recordings.

So this video is a test of the capabilities of my Canon EOS 550D as a video camera, and my Terratec PCI audio interface as a linux compatible device.

Un loro-pirata para María

lloro1bHe estat donant voltes al tema del animatronic i el cartró-pedra… i vull concretar una idea que tindria com a data de termini el febrer del 2011 (queda temps encara per al proper Carnestoltes).

A la Maria últimament li agraden els pirates (a la coral infantil cantaven aquella cançó de »Els que tripulen la nau pirata, han de ser homes ben barbuts,…») i a l’escola també ho han treballat. No sé com va anar la cosa que vam fer una llista de les coses que ha de tenir un bon pirata. A veure si no em deixo res:

  • un pedàs de roba a l’ull borni
  • una pota de pal
  • una bandera pirata
  • un garfi en la mà guerxa
  • un barret o mocador pirata
  • … i un lloro parlador a l’espatlla

Així que li vaig proposar en broma que si es disfressava de pirata pel proper Carnestoltes podríem fer un lloro que el portés enganxat a l’espatlla (i que hauria de ser la sensació dels seus amics de classe). Jo aleshores ja estava pensant en utilitzar el paper-cartró, del que encara no domino la tècnica.

lloro2bEl que encara no m’havia plantejat, i que ho he estat pensant aquests dies, és que aquest lloro pogués ser un animatronic. Hauria de ser una cosa senzilla: per exemple, que se li mogués el cap o el bec, mentre parlés. El tema del parlar ja ho tinc solucionat doncs seria utilitzar un xip de la família ISD amb missatges gravats, i un circuit amplificador perquè el missatge es senti amb claredat. I el tema de què es mogui el cap, doncs un servo. Tot plegat amb una placa basada en arduino (últimament he estat millorant la tècnica per fer circuits impressos amb acabat semi-professional). Tota l’electrònica amagada dins la panxa del lloro. El lloro s’agafaria a l’espatlla del nen/a amb uns agafadors o filferro, de manera que sigui ben estable.

A veure si aquest projecte pot fer-se realitat!… seria maco… clar que la Maria pot dir-me la setmana vinent que de pirates res de res i que el proper Carnestoltes es vol disfressar de cargol… De moment, aquí va el primer esbòs del que hauria de ser el projecte.