Pi Day: DIY celebration | Dia do Pi: celebração Faça-Você-Mesmo
[english version below - please scroll]
O Dia do Pi celebra-se em todo o mundo a 14 de Março (3.14 no formato amerciano de datas) e há imensas razões para celebrar esta entidade matemática extraordinária. E há também muitas formas de o fazer.
No último episódio do podcast mostrei uma experiência musical feita a partir do Pi, recorrendo ao Pure Data e prometi explicações também em português e a disponibilização do patch. Cá está: diadopi-final.zip simplificado e comentado em português.
Mas, primeiro, as explicações que tinha dado só em inglês.
2 professoras de Matemática (a minha mãe e uma colega) pediram-me para conceber alguma forma de representação musical de Pi para ser usada no Dia do Pi em escolas do básico. Usei, obviamente, o Pure Data para fazer várias experiências.
Usei alguns princípios simples.
Como Pi é uma dízima infinita não periódica, a sequência de casas decimais pode ser lida, algarismo a algarismos e mapeada para que cada algarismo corresponda a uma nota musical. Teríamos assim uma escala de 10 notas que o Pure Data pode “tocar” lendo os algarismos como uma partitura.
Se escolhermos uma sequência longa, como 1 milhão de casas decimais de Pi, e a passarmos por qualquer sintetizador ou sampler teremos a representação musical ou sonora dessa sequência infinita e não periódica.
Para assegurar algum interesse musical e não “assustar” o público em geral, escolhi mapear os algarismos de acordo com a escala pentatónica maior (as teclas pretas do piano, que produzem uma espécie de escala chinesa), já que esta escala garante uma coesão harmónica grande e a possibilidade de sobrepôr mais do que uma série, sem criar dissonâncias. Como a escala tem 5 notas, usei-a estendida em 2 oitavas e estabeleci uma pulsação rítmica regular.
Assim, o Pure Data lê o milhão de algarismos de Pi e toca-os, um de cada vez. O mapeamento faz corresponder a cada algarismo uma nota MIDI, que é convertida em frequência (para poder reorganizar a escala em qualquer altura) e torna-se audível através dum sintetizador básico, com modulação de amplitude e de frequência, com um ligeiro ar de percussão metálica. Adiciona-se a isso um envelope ASR e um gerador de ruído para dar alguma cor e a base está feita. Esta é a sequência mais rápida que se ouve na faixa do podcast. Mas houve-se igualmente uma segunda sequência, ou voz, mais lenta. Acrescentei isso para testar alguma variação, por isso uso a mesma sequência e mapeamento, mas a um ritmo 4 vezes mais lento e com uma forma de onda mais simples. A escolha da pentatónica torna tudo mais fácil e o resultado final tem um efeito de “escala/dimensão” que também tem interesse no contexto Matemático: usando diferentes abordagens podemos encontrar “escondidos” na sequência de algarismos, variadíssimos “significados” (nomes, números de telefone e BI) como se demonstra no Atractor.
O resultado em qualquer uma das fases tem o seu interesse e quem quiser experimentar tem todo o meu apoio.
No podcast há umas “suspensões” a cada minuto que resultam de variações introduzidas por outros factores, para mostrar algumas das possibilidades do patch.
E, como tinha anunciado, o meu patch Pi Day Pure Data está disponível para quem quiser usar. Podem descarregá-lo aqui: Dia do Pi: Pure Data patch
É uma versão simplificada, só com a sequência principal e está comentado em Português. É relativamente fácil de usar (fiz o teste com a minha mãe) e permite a representação audível e visível do Pi.
Para usarem, precisam de:
- Descarregar e instalar o Pure Data
É livre, gratuito e existe para todas as plataformas. Os instaladores são simples. Aconselho a última versão estável do pd-extended (0.39.3 por agora). É só descarregar, descomprimir, abrir o instalador e seguir as instruções. - Descarregar e descomprimir o meu ficheiro diadopi-final.zip para um sítio relevante no vosso computador
Devem ficar com uma pasta chamada diadopi-final com 4 ficheiros lá dentro (diadopi.pd, pi.txt, fftscope.pd e oscscope.pd) - Abrir o patch diadopi.pd (um duplo click e está)
Vão ficar com 2 janelas do PD abertas: o patch e a consola. Certifiquem-se de que a opção compute audio está seleccionada na consola. - Seguir os passos do patch (as instruções têm números):
- Canto superior esquerdo - clicar em table pi
Cria uma tabela para receber os valores de Pi. A janela que aparece pode ser fechada ou minimizada. - Clicar em pi resize 1e+06…
Redimensiona a tabela para albergar 1 milhão de entradas e carrega o ficheiro pi.txt. pi.txt é 1 milhão de casas decimais de Pi, separadas por parágrafos. - Clicar no botão para reinicializar os valores base
Pode usar este botão em qualquer altura para voltar ao primeiro algarismo da sequência, indpendentemente da sequência estar parada ou em andamento. - No canto inferior direito, uma barra vertical - Controlo do Volume
Pode alterar o volume em qualquer altura. O = MUTE. 1 = MAX. - Acima de 4 - clicar em pd montra
Vai abrir uma nova janela onde poderá ver uma representação do que irá acontecer. Cada algarismo “acende” uma luz diferente nos quadrados negros e tem um osciloscópio e o gráfico FFT. Mantenha esta janela visível. - No cimo, ao centro - clicar no quadrado acima de metro
Vai iniciar a sequência à velocidade base de 176.8 milisegundos para cada nota. A sequência de 1 milão de algarismos demora 48 horas. Pode parar e reiniciar a sequência em qualquer altura clicando neste botão.
- Canto superior esquerdo - clicar em table pi
Se alguma coisa (ou tudo) fallhar, pode entrar em contacto comigo, através dos comentários.
Se quiser editar alguma coisa, vá ao menu Edit > Edit Mode (ctrl+e) e experimente à vontade. A alteração do tempo (metro), da escala base (notas MIDI), da configuração geomátrica da montra, assim como alguns parâmetros dos 3 osciladores usados deve ser relativamente simples. Se quiser usar este exemplo para se iniciar no Pure Data, fico muito contente. Vá experimentando e familiarize-se com o menu Help.
E, se quiser, pergunte coisas. Eu só responderei ao que souber e puder.
Feliz Dia do P!
– english:
As announced, my Pi Day Pure Data patch is available for anyone to use.
You can download it here: Dia do Pi: Pure Data patch
It’s a slightly simpler version (one sequence only) and it’s commented (Portuguese only, sorry). It’s fairly simple to use (as far as I can tell) and it allows a simultaneous audible and a visible representation of Pi.
To use it, you’ll need:
- Download and install Pure Data
It’s freely available for every platform and the installers are straight-forward. I advise the latest stable release of pd-extended (0.39.3 as of this writing). It should be a matter of downloading, uncompressing, double-clicking an installer and following instructions. - Download and uncompress my zipped file diadopi-final.zip to a convenient location on your computer
You should have a folder named diadopi-final with 4 files inside (diadopi.pd, pi.txt, fftscope.pd and oscscope.pd) - Open my diadopi.pd patch (double-clicking it should do)
You’ll have 2 PD windows: the patch and the console. Make sure compute audio is enable in the console window. - Follow the patch steps (look for the numbered instructions):
- Upper left corner - click table pi
Generates a table to receive Pi values and you can close the table window that opens at this time. - Below 1 - click pi resize 1e+06…
Resizes the table to hold one million entries and loads pi.txt into it. pi.txt is one million digits of Pi, separated by paragraphs. - Below 2 (the square button) - Resets initial values
You can use this button at any time to go back to the first digit of the sequence, either stopped or playing. - Lower right corner (vertical slider) - Sets volume
You can change the volume at any time. O = MUTE. 1 = MAX. - Above 4 - click pd montra
This will open a new window where you will be able to see a simple graphical representation of what’s happening. Digits of Pi light up different squares and you have an oscilloscope and an FFT graph. Keep this window visible. - Up center, click the square button above metro
This starts the sequence at a default speed of 176.8 milliseconds for each note. It will take 48 hours to complete the sequence of one million digits. You can stop and resume at any time pressing the same button.
- Upper left corner - click table pi
If anything (or everything) fails, you can reach me through the comments at this post.
If you want to edit something, you’ll have to go to Edit > Edit Mode (ctrl+e) and you’re free to experiment. Changing default time, musical scales (using MIDI values), the geometrical configuration of montra and some parameters of the 3 oscillators should be fairly simple. If you want to use this example to start to learn Pure Data, I’ll be thrilled. Just play around and get to know the Help section.
And feel free to ask questions. I’ll feel free to answer only when possible.
Happy Pi Day!
Etiquetas: arte, ciência, dia-do-pi, matemática, math, mathematics, música, pi-day, pure-data
7 de Março, 2008 às 11:19
Obrigado! Ainda só vi o patch assim muito de rajada, mas acho que já deu para ver que vai-me servir para brincar bastante e tirar umas ideias giras…
7 de Março, 2008 às 13:37
Se quiseres o patch que usei para o podcast, com as duas sequências, o gerador de ruído, e o “sistema estrutural” avisa.
Não está comentado e não tem a parte de “visualização”, mas comparando com este mais “didáctico”, deve perceber-se bem. E tem a parte de “gravação”, que pode dar jeito.
7 de Março, 2008 às 14:07
ta fixe o patch.. estou a ver que gostas de composiçao algoritmica e de sintese sonora.. de qualquer das maneiras tenho uma implementaçao muito simples de fm/am synthesis que podes usar para extrair ideias.. se quiseres depois mando-te o patch por mail
7 de Março, 2008 às 15:07
João e Tiago: se me puderem mandar isso, eu agradeço
O meu endereço é marado_aquela-coisa-que-os-mails-têm_isp.novis.pt
Obrigado!
7 de Março, 2008 às 18:38
Está catita! Já dei uma volta e marcha bem. Dá-lhe (;
10 de Março, 2008 às 17:07
bem este foi o meu primeiro contacto com o programa e achei muito criativas as funcionalidades que oferece e a metodologia. O projecto do pi está bastante interessante. Só duas dúvidas: como obter a música que está no podcast e como fazer para gravar em formato wav?
10 de Março, 2008 às 17:38
A música do podcast usa um oscilador extra, com uma segunda sequência de Pi num tempo mais lento. Retirei essas variações do patch para simplificar a leitura, utilização e estudo. Esse patch tem também o “módulo” de gravação, que grava em formato wav, precisamente.
Para si e para quem mais tiver interesse, cá está esse patch mais “avançado”: download diadopiVAR1.pd.
Ponham-no na mesma pasta que o anterior para ele poder usar o pi.txt e reparem no canto inferior direito: para usarem o módulo de gravação estéro writesf~ 2 têm que clicar em open diadopiV1.wav (para criar o ficheiro) e start e stop para começar e acabar a gravação.
Há por lá mais umas “surpresas”, mas não quero estragar o prazer de descobrirem. Lembrem-se que um right-click sobre qualquer objecto permite aceder ao Help específico.
Espero que se divirtam. Se se lembrarem de referir o patch “original” de vez em quando e se me forem dizendo o que estão a fazer com ele, fico muito agradecido.
3 de Abril, 2008 às 21:59
Muito obrigado João, prometo que te pago uma bebida à tua escolha quando um dia nos conhecermos pessoalmente.
Esta interessantíssima “Música do Pi” foi o marco dos eventos principais do meu casamento, no dia 14 de Março às 16h
4 de Abril, 2008 às 12:06
Casaste-te mesmo neste dia do Pi? Se sim, os meus parabéns. Se sim e se usaste a minha música, parabéns redobrados pela coragem. E se tiveres tido queixas dos convidados, remete-os para aqui.
Se estás simplesmente a imaginar o que poderia ter sido, não deixa de ser uma belíssima ideia.
4 de Abril, 2008 às 12:09
Yup
pensava é que já te tinha agradecido aqui, mas estava a mostrar a um amigo e reparei que afinal ainda não o tinha feito!
Obrigado!
E quanto a queixas, não tive, pelo contrário, todos os que comentaram acharam o som muito interessante