Palestra realizada no 10º Connecting Knowledge apresentando o Sonic Pi, um sintetizador opensource idealizado para ensinar programação e música para crianças nas escolas.
O projeto é apoiado pela Raspberry Pi Foundation, que inclui o Sonic Pi na distribuição padrão do sistema operacional do seu mini-pc que, atualmente, é uma das principais plataformas para o desenvolvimento de projetos que envolvem IoT, robótica e o movimento maker.
O desafio proposto na palestra, e demonstrado de forma prática, foi a utilização de sensores para interagir com as músicas criadas no Sonic Pi.
Mais informações sobre o Sonic Pi e o Raspberry Pi podem ser encontradas nos links abaixo:
Sonic Pi:
http://sonic-pi.net/
Raspberry Pi:
https://www.raspberrypi.org/
2. Apresentação:
Música & Eletrônica com Sonic Pi
● Analista Desenvolvedor Java a mais de 7 anos
● Buscando sempre novos conhecimentos
● Amante da música que arranha um violão de vez
em quando...
3. Raspberry Pi
Música & Eletrônica com Sonic Pi
● Mini-PC criado para fins educacionais
● 900MHz quad-core ARM Cortex-A7 CPU
● 1GB LPDDR2 SDRAM
4. Sonic Pi
Música & Eletrônica com Sonic Pi
● Criado por Sam Aaron
● Sintetizador que permite criar musicas em tempo
real
● Criado para ensinar programação e música em
escolas
5. Música & Eletrônica com Sonic Pi
● Primeiros “beeps” dentro do Sonic Pi
play 60
sleep 0.5
Primeiros Passos
6. Música & Eletrônica com Sonic Pi
● use_synth - saindo do beep para algo mais
interessante
use_synth :saw
play 38
amp: pan: release: atack:
Sintetizadores
7. Música & Eletrônica com Sonic Pi
● Utilizando amostras de som para incrementar a
experiência
sample :ambi_lunar_land
sample :drum_bass_hard
Samples
8. Música & Eletrônica com Sonic Pi
● rrand - Um pouco da casualidade na música
sample :ambi_lunar_land
sample :drum_bass_hard
Sons Randomicos
9. Música & Eletrônica com Sonic Pi
● Repetições, repetições, repetições...
loop do
play rrand(50, 95)
sleep 0.5
end
Programando: execução de loops
10. Música & Eletrônica com Sonic Pi
● Alterando a musica e o código em tempo real
Live Coding
define :my_loop do
play 50
sleep 0.5
end
in_thread(name: :looper)
do
loop do
my_loop
end
end
11. Música & Eletrônica com Sonic Pi
● Idéia inicial
Se eu posso alterar o código em tempo real, porque
não incluir outras entradas e possibilidades?
O que eu vou precisar?
Musica e Eletrônica
- GPIO & Live Coding -
12. Música & Eletrônica com Sonic Pi
● Alguém já tentou?
● O que temos na web?
“OK Google…”
Dificuldades na Integração
13. Música & Eletrônica com Sonic Pi
● E agora?
Pesquisa, muita pesquisa…
Curva de Aprendizagem
14. Música & Eletrônica com Sonic Pi
● Eletrônica
● Python
● Ruby
● Manipulação de Arquivos
Curva de Aprendizagem
16. Música & Eletrônica com Sonic Pi
● Python
import sys
f = open('novoarquivo.txt', 'w')
f.write('teste novo arquivon')
f.close()
Gravando informações em
um arquivo .TXT
17. Música & Eletrônica com Sonic Pi
● Ruby
File.open(“...Arquivo.txt”) do |file|
file.each_line {...
|line|
play (line.to_i * 1)
sleep 0.5
Lendo arquivos externos no Sonic Pi