Peccata Mundi: un programa de composició musical automàtica

17
TITOL www.peccatamundiproject.com Peccata Mundi, un programa de composició musical automàtica ( o bé: Mozart no jugava a daus; nosaltres sí ) Xavier de Palau, David Juher www.peccatamundiproject.com

Transcript of Peccata Mundi: un programa de composició musical automàtica

Page 1: Peccata Mundi: un programa de composició musical automàtica

TITOL

www.peccatamundiproject.com

Peccata Mundi, un programa de composició

musical automàtica

( o bé: Mozart no jugava a daus; nosaltres sí )

Xavier de Palau, David Juher

www.peccatamundiproject.com

Page 2: Peccata Mundi: un programa de composició musical automàtica

www.peccatamundiproject.com

AFIRMACIÓ:

TOTA OBRA D’ART ÉS LA COMBINACIÓ D’UN NOMBRE FINIT D’ELEMENTS DISCRETS

Per tant:

TOTA OBRA D’ART ÉS UNA SEQÜÈNCIA FINITA DE NOMBRES ENTERS

Page 3: Peccata Mundi: un programa de composició musical automàtica

www.peccatamundiproject.com

OBJECTIU:

Construir un compositor musical automàtic.

Això és: una aplicació informàtica que generi automàticament melodies amb un cert valor estètic:

6. no dissonants7. prou repetitives per poder ser “enteses” i apreses8. prou no-repetitives per continuar resultant atractives després

de múltiples audicions

Page 4: Peccata Mundi: un programa de composició musical automàtica

www.peccatamundiproject.com

PRECEDENTS :

• Musikalisches Wülferspiel (Mozart, publicat el 1792). Permet compondre 1114 valsos diferents amb el llançament, 16 cops, d’un parell de daus. Primera gravació comercial de valsos obtinguts amb aquest sistema: 1959, Solidac (1r ordinador escocès).

• Kaleidacousticon (M. Winkel, Amsterdam,1822): orgue de tubs que, barrejant targetes, permet compondre 214 milions de valsos diferents.

• Actualitat: cadenes de Markov obtingudes analitzant estadísticament totes les melodies de Chopin (probabilitat chopinística que una determinada nota vagi seguida d’una altra nota). S’obtenen melodies que “sonen a Chopin”.

Page 5: Peccata Mundi: un programa de composició musical automàtica

www.peccatamundiproject.com

COM TRIAR LES NOTES D’UNA MELODIA?

Dos extrems:

• Totalment a l’atzar [ MelodiaAtzarosa.midi ]:

1, 7, 9, 0, 4, 2, 7, 5, 4, 2, 8, 3, 1, 0, 9, 5, 5, 2, 3, 6, 2, 1…

2. Gens a l’atzar [ FJ.midi ] (per exemple, triant patrons repetitius i previsibles d’una base de dades de patrons):

1, 7, 5, 6, 1, 7, 5, 6, 1, 7, 5, 6, 8, 8, 8, 1, 7, 5, 6, 1, 7, 5, 6 …

Page 6: Peccata Mundi: un programa de composició musical automàtica

www.peccatamundiproject.com

AFIRMACIÓ:

Tota bona peça musical és una combinació depautes predictibles i elements de sorpresa.

Com identificar a priori les seqüències de notes quetenen interès estètic?

Hi ha regles que governen la creativitat humana?

Page 7: Peccata Mundi: un programa de composició musical automàtica

www.peccatamundiproject.com

COM TRIEM LES NOTES A PECCATA MUNDI?

Aplicació logística: f(x) = 4x(1-x) = 4x – 4x2

Si x és un valor entre 0 i 1, f(x) també ho és. Per tant,

f: [0,1] [0,1]

defineix un sistema dinàmic discret.

El sistema dinàmic definit per l’aplicació logística és el més simpleque exhibeix CAOS.

Page 8: Peccata Mundi: un programa de composició musical automàtica

www.peccatamundiproject.com

Cada punt x (anomenat llavor) genera una seqüència(anomenada òrbita) si apliquem f successivament:

x = 0.6433: llavorf(x) = f(0.6433) = 0.9178f2(x) = f(0.9178) = 0.3018f3(x) = f(0.3018) = 0.8427f4(x) = f(0.8427) = 0.5303f5(x) = f(0.5303) = 0.9962

Page 9: Peccata Mundi: un programa de composició musical automàtica

www.peccatamundiproject.com

A l’iniciar el programa, l’usuari entra una llavor x. Durant l’execució, cada cop que cal triar un enter d’entre un nombre finit d’opcions (per exemple, si cal triar una nota que és un enter entre 0 i 9) apliquem f i triem en funció del nombre obtingut. Per exemple, si cal triar 6 notes, fem 6 iterats i en cada cas triem el primer decimal.

x = 0.6433: llavorf(x) = f(0.6433) = 0.9178f2(x) = f(0.9178) = 0.3018f3(x) = f(0.3018) = 0.8427f4(x) = f(0.8427) = 0.5303f5(x) = f(0.5303) = 0.9962Seqüència de 6 notes triada: 6, 9, 3, 8, 5, 9.

Page 10: Peccata Mundi: un programa de composició musical automàtica

www.peccatamundiproject.com

Propietat de les seqüències d’enters generades amb la iteració d’una funció caòtica:

NO segueixen una distribució uniforme!

Exemple obtingut amb la nostra aplicació logística:

5, 9, 0, 0, 1, 6, 9, 2, 7, 7, 7, 8, 9, 1, 5, 9, 0, 1, 5, 0, 0, 9 …

Una seqüència d’enters generada mitjançant una funció caòtica té un comportament erràtic i impredictible: s’alternen regions d’ordre (repeticions cícliques) i regions aleatòries (sense patró aparent)

[ potser.midi ]

Page 11: Peccata Mundi: un programa de composició musical automàtica

www.peccatamundiproject.com

Una altra propietat del caos que ens interessa (per al projecte original Peccata Mundi):

DEPENDÈNCIA SENSIBLE A CONDICIONS INICIALS

Llavor 0.6433:

9, 3, 8, 5, 9, 0, 0, 2, 6, 8, 5, 9, 0, 0, 1, 3, 9, 1, 5, 9 …

Llavor 0.6434:

9, 3, 8, 5, 9, 0, 0, 2, 7, 7, 6, 8, 4, 9, 1, 4, 9, 0, 2, 6 …

Page 12: Peccata Mundi: un programa de composició musical automàtica

www.peccatamundiproject.com

FASE 1: Paràmetres melòdics globals:

• Compàs: simple / compost• Tempo: velocitat d’interpretació• Tonalitat• Mode: major / menor• Timbre dels instruments• Superestructura o esquelet rítmic: ABBA, AABB, ABCA…

Aquests paràmetres els triem a través del sistema caòtic

Page 13: Peccata Mundi: un programa de composició musical automàtica

www.peccatamundiproject.com

FASE 2: Melodia:

Consta de 32 compassos dividits en 4 frases musicals de 8 compassos cada una.

2.1. Triada la superestructura (ex.: ABAC), es desenvolupa

cada majúscula com una altra estructura de 4 frases (procés “fractal”). Per ex., si A = “abaa”, B = “aabb” i C = “abca”, obtenim:

abaa | ccdd | abaa | efge

2.2. Cada minúscula, que ocupa 2 compassos, s’omple amb “rajols rítmics” triats d’una base de dades

2.3. Es determinen les notes mitjançant el sistema caòtic

Page 14: Peccata Mundi: un programa de composició musical automàtica

www.peccatamundiproject.com

FASE 3: Harmonització i veus d’acompanyament

Un cop construïda la melodia principal:

3.1. Es decideix si hi haurà 1 o 2 acords per compàs3.2. Es decideix si l’harmonització serà normal o tensada3.3. Es trien els acords (harmonització)3.4. Per a cada veu (acompanyament, baix i coixí) es

decideix la superestructura en frases musicals (tal com s’ha fet a la melodia principal)

3.5. Per a cada veu es decideix com es despleguen els acords (per exemple: notes simultànies, arpegiat, etc.)

Page 15: Peccata Mundi: un programa de composició musical automàtica

www.peccatamundiproject.com

FASE 4: Generació del material

4.1. Es construeix un pdf amb la partitura4.2. Es construeix un arxiu midi4.3. Es construeix un arxiu wav4.4. Es comprimeix a un arxiu mp3

Page 16: Peccata Mundi: un programa de composició musical automàtica

www.peccatamundiproject.com

PROPÒSIT DEL PROGRAMA - EXPECTATIVES

Pot una melodia composada per Peccata Mundi guanyar un premi Grammy? …

El Grammy a la Millor Tonteria, potser sí.

Genera melodies rígides i de sonoritat “clàssica” (no hi ha modulació, no hi ha harmonització arriscada, no hi ha canvis “humanitzadors” en la velocitat d’interpretació, la tímbrica no està en funció de la melodia, etc).

Tot i així, una proporció important de les peces generades són susceptibles de ser bones melodies. Peccata Mundi és un sistema d’ajuda a la composició musical.

Page 17: Peccata Mundi: un programa de composició musical automàtica

www.peccatamundiproject.com

AUDICIONS (exemples reals)

2.mp3

1.mp3 (observem superestructura ABBC percussió)

5.mp3 (observem ABAB patrons d’acompanyament)

4v2.mp3 (comparem amb 4.mp3)

8.mp3Carib89432.mp3LaKalimbaDeMandelbrot.mp3Tuguri643.mp3