[Entreblogs] Criando música com Programação - Parte 01
Uns dias atrás, me deparei com um vídeo de uma pessoa fazendo música "eletrônica" usando programação. Achei incrível e resolvi aprender.
- A programação é feita com Strudel, uma linguagem derivada do Javascript.
- A Música é feita com sons e silencioso repetidos em looping e organizados de forma harmoniosa.
Estou rodando os códigos do Strudel no site da documentação da linguagem, o Strudel REPL.
É só colocar o código lá e apertar Play, Stop, Update.
Primeiros Sons
Existem alguns sons pré-definidos nas bibliotecas do Strudel, que podem ser acessado digitando sound seguido de ("palavra").
Exemplo:
sound("casio") ou sound("jazz").
Existem outros sons como:
insect wind jazz metal east crow casio space numbers
E suas variações:
sound("insect:1") ou sound("space:2").
Instrumentos Musicais
Também tem sons de instrumentos músicas:
Bateria
- BD = Base Drum = bumbo
- SD = Snare Drum = caixa
- RIM = Rimshot = bater no aro e na pele da caixa
- HH = Hihat = chimbal (dois pratos empilhados)
- LT = Low Tom = Tom-Tom Grave
- MT = Mid Tom = Tom-Tom Médio
- HT = High Tom = Tom-Tom Agudo
- RD = Ride Cymbal = Prato
- CR = Crash Cymbal = Prato Final
Se digitar sound("BD") toca o som de 1 batida no bumbo a cada 2 segundos.
Se digital sound("HH") toca o som de 1 batida no chimbal a cada 2 segundos.
Também da pra escolher o modelo da bateria que você quer usar, adicionando .bank("modelo").
Exemplo:
sound("BD HH MT CR").bank("Akailinn").
Ou:
sound("BD LT HH SD LT LT HH CR").bank("RolandTR707").
Existem outros modelos como:
AkaiLinn, RolandTR808, RolandTR707, RolandTR909
Sobre tempo
Cada trecho de código é chamado de cycles e , por padrão, cada cycle tem 2 segundos.
Dessa forma, sound("BD") toca 1 bumbo a cada 2 segundos.
Enquanto, sound("BD BD") toca 1 bumbo por segundos, totalizando os 2 segundos do cycle.
Seguindo, sound("BD BD HH HT") toca 1 "nota" a cada meio segundo, que multiplicado por 4 da 2 segundos.
No caso de sound("BD BD BD BD BD BD BD BD") toca 1 nota a cada ¼ de segundo.
Repetições de nota também pode ser feita com sound("<nota>*n").
Exemplo:
sound("<BD>*8") ou sound("<insect>*16").
Ou até:
sound("<insect>*16 BD insect:2 HH HH")
Ainda estou no começo, foi o primeiro contato com live coding, com Strudel e com criação de música. Vou trazer mais coisas sobre isso, em breve.
Esta é uma postagem do Projeto EntreBlogs, uma ideia de blogagem coletiva conduzida pela BaMoretti para aproximar blogueiros e estimular a produção de conteúdo autêntico e feito por humanos. O tema do mês foi Passatempo/Hobbies.