CompMus001-Readme (texto)
Bem-vindos ao curso de Computação Musical!
A série de arquivos CompMus* traz exemplos ilustrativos dos conceitos abordados no curso.
Para acessá-los, você precisará instalar o software PureData (a.k.a. Pd), disponível em https://puredata.info.
Certifique-se de instalar a versão original (a.k.a. Vanilla): https://puredata.info/downloads/pure-data
Se você usa Ubuntu, basta rodar no Terminal "sudo apt install puredata"
Há muito material introdutório na rede sobre Pd, especialmente em https://puredata.info/docs.
Algumas recomendações específicas:
- Cartão de referência (1 página) com objetos muito importantes: https://puredata.info/docs/manuals/pdrefcards/pd-refcard-en.pdf
- Introdução do livro Designing Sound de Andy Farnell: http://dm.ncl.ac.uk/courseblog/files/2011/02/pd_intro.pdf
- Manual FLOSS do Pd: http://en.flossmanuals.net/PureData/
- Tutorial do Rafael Hernandez:
- Vídeo-aulas com Miller Puckette, criador do Pd: http://pd-la.info/pd-media/miller-puckette-mus171-videos/
Além do Pd, usaremos algumas bibliotecas externas que são fáceis de instalar a partir de sua própria interface. Abra o Pd (puredata no terminal), acesse o menu "Ajuda", opção "Procurar por externals", e busque as bibliotecas a seguir:
Ofelia: interface entre o Pd e a linguagem de scripting Lua
escolha a versão ofelia-v3.0.1 ou superior.
No Windows, se acontecer da biblioteca não carregar, abra o executável vc_redist no diretório do ofelia para instalar os Microsoft Visual C++ Redistributable packages. Se os exemplos em vídeo não funcionarem, tente instalar o K-Lite Codec Pack.
No Linux/Raspbian, se acontecer da biblioteca não carregar, rode os seguintes comandos no terminal:
cd ofelia/scripts/nome_da_sua_distribuição
sudo ./install_dependencies.sh
Ggee: uma biblioteca escrita por Guenter Geiger (que contém o objeto [image] usado nos exemplos)
escolha a versão ggee-v0.27 ou superior.
A biblioteca Ofelia permite o uso da linguagem textual Lua (https://www.lua.org/portugues.html) dentro de patches Pd. Para quem já programou em Python, C, Java, Octave/Matlab ou essencialmente qualquer outra linguagem textual de uso geral, aprender Lua é antes de mais nada familiarizar-se com algumas pequenas diferenças sintáticas. Os links a seguir podem ajudar:
- Uma introdução à programação em Lua: https://www.lua.org/doc/jai2009.pdf
- Lua Quick Guide: https://www.tutorialspoint.com/lua/lua_quick_guide.htm
- Programming in Lua (1st edition): https://www.lua.org/pil/contents.html
A linguagem PureData pode ser estendida por várias bibliotecas, algumas das quais teremos a oportunidade de usar durante o curso. Uma referência útil para se ter à mão é a lista de externals/bibliotecas para Pd: https://puredata.info/docs/ListOfPdExternals/
O material a seguir não é fundamental para a disciplina, mas pode servir para aqueles que desejem aprofundar seus conhecimentos nessa linguagem. Para implementações grandes ou numericamente pesadas, pode ser interessante construir objetos externos ao Pd escritos em C. Algumas referências úteis para isso são:
https://github.com/flschiavoni/pd-external-tutorial/
https://github.com/pure-data/externals-howto