Pi Day: DIY celebration | Dia do Pi: celebração Faça-Você-Mesmo

[english version below - please scroll]

Pi Day CountdownO 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:

  1. 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.
  2. 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)
  3. 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.
  4. Seguir os passos do patch (as instruções têm números):
    1. 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.
    2. 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.
    3. 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.
    4. No canto inferior direito, uma barra vertical – Controlo do Volume
      Pode alterar o volume em qualquer altura. O = MUTE. 1 = MAX.
    5. 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.
    6. 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.

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:

  1. 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.
  2. 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)
  3. 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.
  4. Follow the patch steps (look for the numbered instructions):
    1. 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.
    2. 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.
    3. 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.
    4. Lower right corner (vertical slider) – Sets volume
      You can change the volume at any time. O = MUTE. 1 = MAX.
    5. 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.
    6. 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.

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!

24 pensamentos em “Pi Day: DIY celebration | Dia do Pi: celebração Faça-Você-Mesmo

  1. 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.

  2. 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

  3. 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?

  4. 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.

  5. 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 :)

  6. 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. ;)

  7. 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 :)

  8. Around 150 games in total, but that’s relatively small compared to our users. A bowler who can consistently pick up his spares can easily hold a 180 average without getting any strikes. People are now looking to be able to connect to things like their vehicles through their smart phones, and now Buick has announced the release of their new e – Assist Fuel Effeciency smartphone games.

  9. If you are receiving a fatal exception error
    message or BSOD with error message while installing or playing
    Real – Arcade games, take note of the stop error code and then temporary disable avast or turn on Gaming or
    Silent mode in the Avast progr am. You will
    find that when you buy Xbox live gold cards online, you are able to get the access you need within minutes.
    The repetition, infinite lectures, pop quizzes and standardized tests
    turn lots of folks off and actually discourage people from
    finding out.

  10. (Game scheduled for December 15th with Utah State playing Toledo).
    All that energy is boxed in, amplified by
    the space. This classic game integrates all-out entertainment
    with vocabulary enhancement in one amazing game.

  11. The internet is fueling the success of music because it can
    be listened to at any time of the day and anywhere in the world.
    So your personal, non-commercial, watercraft
    is exempt from a licensing requirement. You will need an outside antenna to
    get clear reception on your radio.

  12. This is more important than ever in a world where
    there are dozens of different audio formats. This means
    that everyone in the whole wide world can access
    this new kind of radio and you are assured that the programs as well as the list of radio stations you are listening
    to are all automatically updated. Yours Truly, Johnny Dollar:
    The Duke Red Matter (Part One; CBS, 1956)’Abbott Stables’s Duke Red is
    a thoroughbred destroyed over a serious injury
    in an accident, and Dollar (Bob Bailey)’asked to review a $65,000 insurance claim on the horse’smells trouble when the
    stable’s business manager is dismissed after filing the claim, and its veterinarian may have destroyed the horse a little too swiftly.

  13. If with the classic version, you only get to play the same game over and
    over again, with Simon 2 game, you get to play more games with more challenges ad
    game highlights. All that energy is boxed in, amplified by the space.
    It sounds like you log into the game and join a “Shadow war” server and play with hundreds of
    other players within that PVP world, but that world is different from the cooperative Arkfall
    boss hunting world.

  14. Major follows some sports, primarily during the playoffs.
    Just last year Apple sold more than one hundred million i – Phone and i –
    Pad apps. It sounds like you log into the game and join a “Shadow war” server and play with
    hundreds of other players within that PVP world,
    but that world is different from the cooperative Arkfall boss hunting world.

  15. Good day! I simply want to give a huge thumbs up for the great info
    you have right here on this post. I will be coming again to your blog for extra soon.

  16. The starting of the cake toppers was done with the
    wedding cakes, but with time and huge popularity, it became
    a part of decoration in many other occasions where
    cake is used. Second A good wedding cakes designer will
    ask for many details of your big day as possible to him or her to help herself to
    have a few ideas right. This helps prevent crumbs
    from getting in your frosting.

  17. If you find it a bit maddening to follow the daily fluctuations of the scale even though you are eating properly, pick three days of the week on which
    you will always weigh yourself (for example, Monday, Wednesday,
    and Friday). Vinson had participants keep their normal diet and exercise routines (or
    lack thereof) and merely added the green coffee.
    Expect to lose all that extra flabbiness
    as you melt off all your unwanted fat.

  18. I have been browsing online more than 4 hours today, yet I never found any interesting article like yours.
    It’s pretty worth enough for me. Personally, if all web owners and bloggers made good content as you did, the internet will be much more useful than ever before.

Deixar uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Pode usar estas etiquetas HTML e atributos: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>