WELCOME TO LYRA version XX codename 'boticelli'

LyraXXb is a fork() of LyraXX,
making it the latest version of the Fraktwerk project,
music made with mathematics!

Straight to the point: This code generates a MIDI which I track with Renoise traCKER all powered by Gentoo GNU/Linux. PICTURE THIS SONG WHICH I MADE IN FIVE MINUTES, and has more than fourty ~min
teaser: “MAPPLE THREE” – LyraXXb { Fib(200000-300000)_77ms }

NOTE>Actually “MAPPLE THREE” has more than 6 hours of music, this is just a teaser.

Esta é a última versão de meu programa em C que gera música diretamente através da matemática envolvida na Progressão Áurea, conhecida como Sequência de Fibonacci no ocidente, um alicerce aritmético dentre viscerais leis do Universo enquanto Criação.
.: segue demos renderizadas com samples no GNU/Linux via timidity++ (soundfont CRISIS):.
.
. a short sample

Fib(1-256)_111ms

MIDI converted with timidity++ – soundfont CRISIS

update 07/07/17

NEW SONGS!

. now, more complex results, post-crafted with Renoise


..
.
Since LyraXv3 introduced the ‘mojo’ concept, which makes the “virtual piano player” a little more “human”, by working with differences between music speed note interval, making it vary much more while generating the song. By now, LyraXX had modifications in the Amalgamation process, the way “Amalgama” is determined at the beginning of code also changed, giving more room for bigger phrases per pattern cycle.

LyraXXb completely simplifies the Amalgamation, has less lines of total code and renders music much faster. There is no more SUPERNOTE or SILENTFLOW. Actually objective is to avoid simultaneos notes while I study some music to understand how harmony can fit in the Amalgamation process, when numbers turn into frequencies by writing to a MIDI track . . .

UPDATED ALGORITHM!
LATEST VERSION HERE _ _ _ previous versions here

.:
.
O algoritmo se alimenta dos números Fibonacci e seus intervalos aritméticamente peculiares para modular estes valores em notas musicais, números se tornam frequências, pois cada valor numérico resultante da modulação corresponde a uma nota no MIDI keyboard, e o programa portanto gera um arquivo do tipo MIDI ao final do processo.

O programa recebe pela linha de comando 3 parametros: a, b e o sinal c.

a) n Fibonacci inicial, indica o numero inteiro positivo < b donde o programa inicia a geração de números Fibonacci. b) n Fibonacci final, indica o número inteiro > a donde o programa finaliza a geração de números Fibonacci.
c) o sinal +/- e fração multiplicadora, influi na duração das notas e o sinal (positivo/negativo) influi na direção, se maior ou menor, dos intervalos de frequência a partir da inicial.

++

A progressão nada mais é que a soma de si com seu membro anterior, ex: 0 + 1 = 1, 1 + 1 = 2, 1 + 2 = 3, 2 + 3 = 5 -> gerando uma sequência que rapidamente cresce em valor quantitativo logo nas primeiras dezenas de n membros. [ 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, … ]

This is my latest antimusical experience which I call

Fraktwerk

It’s a mixture of not-a-samba with crypto-maracatu. Also electronic fractals compose fraktions of a lot of energy, straight from the heart thru the soul of both listener and composer — enlightened by the Golden Sequence of Fibonacci in nature, allied with the uniqueness of prime numbers, this is a total experience in pseudo-art. That’s why I call it; Fraktwerk.

Devido a necessidade de trabalhar com números inteiros muito grandes, pois o programa gera a música sequencialmente a partir de um N-ésimo membro da série de Fibonacci, determinando cada n-ésimo membro da série, o intervalo musical correspondente de uma nota para outra nas frases geradas no arquivo MIDI resultante, que pode ser editado em trackers e softwares em geral ou até mesmo tocados por um dispositivo MIDI como um teclado.

Utiliza de algumas bibliotecas, como a matemática ANSI C e também a libgmp de aritmética para números inteiros de ordem extraordinariamente gigantes.

Para (o gerar o arquivo MIDI resultante, eu utilizei a libmidi de Karol Krizka
www.krizka.net/projects/libmidi/


Compilar é moleza, simplesmente mande um


g++ Lira.cpp -lm -lgmp -lmidi -o LYRA

e gere as músicas seguindo os 3 parâmetros
a, b, (-/+)c.
onde a & b são inteiros positivos, X pode ser qualquer número de ponto flutuante, pois deste parametro só obtemos o sinal positivo ou negativo do número input para determinar o fluxo inicial da matriz Realejo e essa fração será a mínima duração das notas em millisegundos, ou seja, você aumenta a duração geral de todas as notas, ao entrar um valor maior por meio deste parâmetro.

a = Fib inicial
b = Fib final ( onde b > a )
c = 100

exemplo:

./LYRA 1 1111 100

Vai tocar o realejo de Fib(1) até Fib(1111) partindo sempre da 60ª nota do keyboard musical.
Ele então aplica o módulo variável entre 5 e 13 sobre N Fibonacci e gera intervalos imprimindo melodias no arquivo MIDI resultante. Todas as notas são multiplicadas pelo valor absoluto do parametro c, no caso, 100, ele toca com a duração mínima de 100 millisegundos para as notas… desde a versão LyraXv3 foi implementado o MOJO, que acelera/desacelera o intervalo entre as notas segundo o numero de iterações;

Desde a versão LyraXX temos também o uso do número de dígitos de Fib(n) para determinar, segundo a paridade do número de dígitos, o gatilho/desativação dos modos de composição supernote e/ou silentflow. São cruciais na “Amalgamation”, fase em que de fato se preenche a estrutura da libmidi com as notas na faixa, que ao final da geração da estrutura, será escrita em um arquivo que pode ser editado e samplerizado em qualquer editor que importe MIDI; agora, eliminados estes modus de operação SILENTFLOW, supernote, SILENTWAY, etc, ainda usamos a contagem de dígitos para influenciar outros fatores de decisão para composição da melodia, principalmente, a direção da variável y (negativa/positiva) que o sinal donde se gera a nota final, a partir do eixo, o DÓ midi note=60, se esta nota determinada progride ou regride em função do meio do teclado.

em breve maiores explicações.

Categorias: linux

GUSTAVO L CONTE INFORMATICA ME

"Porque [Deus] faz que o seu Sol se levante sobre Maus e Bons, e a chuva desça sobre Justos e Injustos." Mateus 5:45

Deixe uma resposta