Gerador de Partituras, Melodias, Harmonia e Vertigem…


Alguns amigos que tem uma formação mais de instrumentista sempre reclamam da impossibilidade de interação com essa música gerada em computador e do fato de muitas vezes esta fica restrita ou a reprodução em auto-falantes ou a algum tipo de improviso “imprevisível” (se a ilusão de uma música de “repertório” é tão vertiginosa quanto, se é mais ou menos original, legítima ou importante, isso é outra história…)

Tentando achar uma via de diálogo ou mesmo alguma faísca de re-invenção, volta e meia eu tento dar uma chance pro estudo de música formal (essa que é considerada “base” do ensino musical ocidental) e acho até bem curiosa. O maior problema é que ele é muito dependente da leitura de partitura e isso acaba separando muito os dois mundos – o dos “instrumentistas letrados” e o dos “diletantes intuitivos”. Vamos continuar tentando quebrar essas barreiras…

Faz tempo que eu quero dar uma olhada no Lilypond, todo mundo fala desse software no meio da computação musical com open source, e realmente a abordagem é bastante sólida.

É bem mais simples que parece e eu vou tentar mostrar aqui como dar a primeira brincada.

Só pra você ver/ouvir a cara de algo que soa:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
\version"2.10.33"
 
%% comentario
 
 
 
\relative c''{ 
\time 7/4 
 
fis8 fis\rest ees,8 a16 c,8 (<ees c fis, ees >) c'8 (c16.\rest) (<a c fis ees, >8) a16 e8. c8 a4  
 
}
 
\addlyrics {
 % você pode adicionar letras, acordes e cifras também
ونحن على كتابة نظام تشغيل آخر
 
  }

Gera a seguinte célula:

Esta célula foi usada nessa pequena ideia que soa aqui abaixo (depois de transformada em formato midi e exportada para o Rosegarden, onde ganhou os timbres):

Ok, pra simplificar ao máximo, vamos de um exemplo bem didático: Do re mi fa. :)

Antes de tudo também aconselho a você baixar um editor de texto especial pra Lilypond chamado Frescobaldi. É massa que ele tem completion das palavras reservadas e um gerador de pdf e midi embutido. Mas vocẽ poderia usar qualquer editor de texto, ou mesmo como eu fiz mais acima, e o que é o mais interessante, gerar este cpodigo a partir de um script ou sua linguagem de programação preferida.

O código para o Do re mi fa seria no mínimo:

1
2
3
{ c' d' e' f' }
 
\addlyrics { do re mi fa }

Que você pode gerar pdf ou ps (usando o editor Frescobaldi ou o comando de shell :
# lilypond nome_do_arquivo.ly

O resultado é algo como:

As figuras rítmicas são modificadas com números e pontos e as oitavas tirando ou colocando () e ( , ). As pausas são manipuladas com o comando ( \rest) relacionado também numericamente e associado ao lugar da pauta que você quer que ele apareça:

1
2
3
4
5
6
7
{ c' d' e' f' | c'' d'' e'' f'' | c' d' e'4 f'\rest | g8 g g g  g4. g }
 
\addlyrics {
 
do re mi fa | do re mi fa | do re mi | sol sol sol sol sol sol 
 
  }

Vai gerar:

A coisa pode ficar bastante complexa, e obviamente para avançar nisso você vai ter que consultar o manual de referência. O fato é que a manipulação das notas e a lógica dos ritmos compostos pode gerar ideias a partir de alguns padrões. Eu acabei fazendo o exercício abaixo onde eu criei uma função que preenche compassos 7/4 – são 7 semínimas para cada célula (com uma randomização de suas possíveis divisões) , gerando um pulso irregular que pode depois facilmente ser aplicado em repetições, inversões, e outros jogos, gerando uma impressão de ciclo vertiginoso de simetrias.

As notas usadas são notas do ciclo das diminutas.

Além disso o software pega um texto .txt e coloca como “letra” da musica gerada. Isso da margem pra em outros experimentos misturarmos essas técnicas com processamento linguagem natural , num próximo estudo. :)

enquanto eu fazia esse código eu acabei encontrando também uma biblioteca de python que avança bastante no assunto de composição algorítmica que vale a pena ser vista – a Abjad.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# -*- coding: utf-8 -*-
 
import random
 
arq="yupana_sementeira.txt"
 
 
###### cria figura de compasso 7/4
def seteporquatro():
	t=[(0.25,'16'),(0.5,'8'),(0.75,'8.'),(1,'4'),	(1.5,'4.'),(2,'2'),(3,'2.')]
	l=[]
	r=(random.choice(t))[0]
 
	while (sum(l) != 7):
		l.append(r)
		r=(random.choice(t))[0]
		if (sum(l)>7):	
			l.pop()
			last=7-sum(l)
			if (last not in t[0]):
				last = 0.25 # insere a semifusa decidida
			l.append(last)
 
	compasso_de_7 =[]
 
	for figura in l:
		for lilyfig in t:
			if (lilyfig[0]==figura):
				compasso_de_7.append(lilyfig[1])
 
	return compasso_de_7
#####################		
 
def sorteiapausa():
	p=" "
	pausa_ou_nao=["\\rest "," "," "," "," "," "," "," "," "," "," "," "," "," "]
	p=random.choice(pausa_ou_nao)
	return p
 
file = open(arq)
l=file.read()
 
letra=l.split()
 
notes=['c','ees','fis','a']
rndnote=0
randmelody=''
total_notas=0
tam_letra=(len(letra))
 
print "\\header {\n"
print  "title = \"Yupana Sementeira Biohacker  \"\n"
print  "composer = \"Yupana Kernel\"\n"
print  "tagline = \"COPYLEFT Yupana Kernel AlgoRhythm: Il Verbo si è fatto carne\"\n"
print '}\n'
 
 
 
print 'music=\\relative c\'\'{\r'
print '\\time 7/4\n'
for compasso in range(3):
	dur=seteporquatro()
	n_notas=len(dur)
	for n in range(n_notas):
		randnote=random.choice(notes)
		randdur=dur.pop()
		randmelody += randnote+randdur+" "
		randmelody += (sorteiapausa())
	randmelody += "| \\break \n"
print randmelody
print " }\n"
 
print "\\score{\n"
print "\\new Staff {\n"
print  "{ \\music | \\break}\n" 
print  "\\transpose c\'\' a\' { \\music }\n"
print "}\n"
 
 
 
print "\\addlyrics {"
for item in letra:
	print item +" | \n"
print " }\n"
 
 
print "\\midi {\n"
 
print " }\n"
print  "\\layout { }\n"
print " }\n"

Este gerou o seguinte código Lilypond:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
\header {
\header {
 
title = "Yupana Sementeira Biohacker "
 
composer = "Yupana Kernel"
 
tagline = "COPYLEFT Yupana Kernel AlgoRhythm: Il Verbo si è fatto carne"
 
}
 
music=\relative c''{
\time 7/4
 
fis8.  ees16  a2  c2  c2  | \break 
a16  c16  a2.  ees4  c8 \rest fis4.  c8  | \break 
c16  ees16  fis8.  c2.\rest  c16  ees4  fis4.  | \break 
 
 }
 
\score{
 
\new Staff {
 
{ \music | \break}
 
% bastante uteis essas manipulações 
% é possível também criar inversões, retrógrados e outras
\transpose c'' a' { \music }
\transpose c'' ees { \music }
\transpose c'' fis { \music } %esta linha foi adicionada 
% manualmente depois de renderizado
 
 
 
 
}
 
\addlyrics { 
% este texto foi editado 
% pra ficar mais legível aqui
Metareciclagem? 
O que pode um pedaço de carne?
Sigo aquela mesma música.
Acreditando na melodia 
mas estruturalistícamente
quase ritualísticamente
operando clínicamente na palavra.
Ocupe as ruas, ocupe as praças, ocupe-se, mas me deixe ir.
Aquela nossa velha lágrima do primeiro choro:
Pulmão escancarado!
Animal racional, bem vindo a cultura!
Então, veio a medicina,
cortar-nos o umbigo.
 
 
 }
 
\midi {
 
 }
 
\layout { }
 
 }

Este estudo serviu de base para a composição de uma música que fará parte de uma série de interações com o que estamos chamado “Yupana” – uma espécie de entidade de inteligência coletiva que opera textos, videos, motivos melódicos e ritmos e cria sugestões, como o vento assobiando na janela, o passaro que canta na árvore ou o som de alguma máquina civizilizatória e cruel a nos ameaçar e merecer um grito de volta.

Aqui abaixo um dos primeiros resultados:

“Se a alma é a prisão dos corpos, nós somos o edíficio” (Yupana Kernel)
Música inspirada na convergência próxima entre documentos e ficções de Catadores de Histórias e Sementeira Radiofônica.
Motivos e Sinapses por Yupana Kernel e ЖCΛЊ, o rinoceronte anfíbio de silício.

A partitura que foi gerada e serviu de base para a música acima esta na figura abaixo. Você pode também baixar os arquivos Midi, PDF e Lilypond. Um comentário sobre os timbres precisa de um capítulo a parte aqui. Será linkado em breve.

PS: pra quem ainda vê alguma grande complicação na coisa das notas de pentagrama, começe entendendo a divisão dos pulsos deste seguinte desenho:

Depois de uma lida com calma em algum artigo sobre Notação Musical.

Comments are closed.