Escolar Documentos
Profissional Documentos
Cultura Documentos
Horizonte - 2016
MODALIDADE: PSTER
Vilson Zattera
LAB e IA da UNICAMP e-mail: vilson.zattera@gmail.com
Jos Fornari
Ncleo Interdisciplinar de Comunicao Sonora (NICS) da UNICAMP e-mail: tutifornari@gmail.com
Resumo: Este trabalho apresenta uma pesquisa em andamento que trata do desenvolvimento de
um mtodo de programao textual para o ambiente visual de programao de performances de
msica computacional; o Puredata (Pd). Este mtodo particularmente til para o msico
deficiente visual que, dessa forma, passa a ter total acesso para a criao de composies e
performances de msica computacional e arte multimodal atravs do Pd.
Palavras-chave: Computao Musical, Puredata, Acessibilidade.
1. Introduo
Linguagens de programao visual so muitas vezes utilizadas na programao de
processos em tempo-real. A msica uma arte fortemente atrelada ao domnio do tempo, no
apenas em termos do sentido do seu deslocamento, como tambm com relao ao seu
andamento, sua percepo e contextualizao do presente aparente (specious present); a
janela do tempo que, apesar de acusticamente fazer parte do passado, cognitivamente compe
o que sentimos como o presente (o momento atual) e intuitivamente separamos do passado
bvio (JAMES, 1893). Como processo, a msica ocorre em tempo-real. A notao musical,
apesar de estruturada em tempo diferenciado, apenas se torna msica no momento da
performance. Com os avanos tecnolgicos e computacionais, os computadores pessoais (PC)
passaram a ser utilizados como ferramentas de criao musical e gerao sonora. O
barateamento dos PCs possibilitou a criao e acesso linguagens de programao
XXVI Congresso da Associao Nacional de Pesquisa e Ps-Graduao em Msica B. Horizonte - 2016
especificamente desenvolvidas para a composio musical e a arte sonora. Uma das primeiras
linguagens de programao musical o Csound (http://csound.github.io), inicialmente
desenvolvido nos anos 80s por Barry Vercoe, no Massachusetts Institute of Technology (MIT)
descendendo do programa de sntese sonora MusicN, de Max Mathews. Nos anos 90s
surgiu o Pure Data (Pd); um novo ambiente computacional para msica e artes sonoras em
tempo-real. Pd uma linguagem de programao visual, desenvolvida por Miller Puckette,
que especializada em criar performances de computao musical e intalaes multimodais.
Pd uma ferramenta de cdigo aberto e pertence famlia de linguagens patcher, tais
como: Max (Max/FTS, ISPW Max, Max/MSP, jMax e DesireData. Estas so linguagens de
programao em fluxo de dados, onde blocos (mensagens, objetos, tomos) so conectados
por segmentos de retas que conectam as sadas (outlets) de blocos s entradas (inlets) de
outros blocos. Estas conexes representam a passagem de dados de controle e mdia
(PUCKETTE, 1988).
3. Implementao
Existem trs maneiras de tornar um software acessvel: 1) Reprogramao:
modificao do cdigo fonte (desde que disponvel); 2) Interao atravs de ferramentas de
acessibilidade, como o caso dos chamados leitores de tela, e 3) Uso de software alternativo
para criar ou editar o arquivo de armazenamento do software original. Optou-se neste estudo
pelo terceiro item, utilizando-se um editor de texto simple (como o bloco de notas do
Windows) para editar diretamente o arquivo salvo no formato do Pd. Este mtodo conhecido
como Engenharia Reversa, que, de acordo com CHIKOFSKY (1990: 15), o processo de
analisar um sistema para identificar seus componentes e como se interrelacionam, e criar
representaes do sistema em outra forma ou nvel mais alto de abstrao.
O Pd tambm um software livre. Segundo STALLMAN (2010: 3) todo software
livre deve garantir a seus usurios a liberdade de estud-lo e modific-lo, oferecendo livre
acesso ao seu cdigo fonte. Cdigo Fonte2. O cdigo fonte do Pd3, de livre acesso e
portanto permite ser analisado. Verificou-se assim que os arquivos do Pd possuem um
formato textual simples, que pode ser facilmente compreendido. Em um arquivo do Pd, as
informaes so salvas em registros. Cada registro escrito em uma linha do arquivo. Cada
linha inicia sempre com uma cerquilha (#) e finaliza com um ponto e vrgula (;), como pode
ser observado na figura 1.
Logo aps a cerquilha existe um caractere descritor do tipo do registro, o qual
pode ser um entre estes trs tipos de descritores: X, N ou A. Tais descritores identificam
respectivamente: Elementos, Janelas e Listas de dados. Cada descritor seguido por um
elemento. No exemplo da figura 1, na quarta linha, o elemento um objeto (obj), seguido de
XXVI Congresso da Associao Nacional de Pesquisa e Ps-Graduao em Msica B. Horizonte - 2016
parmetros, que so: a posio horizontal do objeto na tela (210), sua posio vertical (94),
um parmetro indicando que o elemento um oscilador senoidal de udio (osc~).
Os objetos do Pd so interconectados, na interface grfica por segmentos de retas,
que so automaticamente desenhadas em trao fino (para dados de controle) ou grossas (para
dados de udio). Estas conexes so registradas no arquivo textual atravs do elemento
connect. Na figura 1 (nas linhas 6, 7, 8 e 9) tem-se a presena destes elementos.
A sintaxe do elemento connect obedece seguinte regra: a cerquilha (#), o
descritor de tipo (X), o descritor de elemento (connect) e 4 parmetros. Os nmeros dos
parmetros obedecem a lgica da linguagem C, onde o primeiro nmero o 0 e o n-simo o
N-1 (assim, o parmetro de valor n representado por n-1). As conexes so sempre feitas da
sada (outlet) de um elemento para a entrada (inlet) de outro. Exemplificando, na figura 1,
linha 8, os parmetros so (2, 0, 3, 0). O primeiro parmetro indica qual elemento ter seu
inlet conectado. No caso, o terceiro objeto (osc~), representado pelo valor 2 (3-1=2). O
segundo parmetro representa qual outlet deste objeto ser conectado. No caso, o primeiro (e
nico), representado por 0 (1-1=0). O terceiro parmetro representa qual objeto ter seu inlet
conectado. No caso, o quarto elemento (dac~), representado por 3 (4-1=3). Por fim, o ltimo
parmetro representa qual inlet deste objeto receber a conexo. No caso, o primeiro,
representado por 0 (1-1=0). A linha abaixo (linha 9) cujos parmetros so (2 0 3 1), representa
praticamente a mesma conexo entre os mesmoe objetos, com a exceo do ltimo parmetro,
que representa a conexo ao segundo inlet (2-1=1) do objeto dac~. Assim, no arquivo textual
do Pd, os objetos no possuem um nome especfico. Estes so apenas numerados
sequencialmente (conforme aparecem ordenados na lista de definies dos elementos).
Uma outra necessidade, importante para facilitar o processo de programao e
depurao do cdigo, a insero de linhas de comentrios. Estas funcionam como lembretes
ao programador acerca do que est sendo realizado em cada parte do cdigo. No encontrou-
se uma indicao, na documentao disponvel, para a sintaxe de insero de uma linha de
comentrio, na programao textual do Pd. No entanto, aps diversos experimentos, o
primeiro autor deste artigo conseguiu uma soluo adequada; introduzir uma linha de
comentrio no arquivo textual bastando para isso no utilizar o cerquilha inicial e finalizar o
comentrio com um ponto e vrgula (como mostra a linha 10 da figura 1).
A incluso de comentrios claros e relevantes, segundo JONES (2010: 107),
parte essencial das boas prticas de programao. O formato de insero de comentrios,
testado na verso 0.46 do Pd, consistindo em inserir uma linha que no comece com a
cerquilha e que termine com um ponto e vrgula, gera um aviso (warning) na janela principal
XXVI Congresso da Associao Nacional de Pesquisa e Ps-Graduao em Msica B. Horizonte - 2016
do Pd, porm, at onde testamos, este no corrompe o arquivo, nem tampouco impede o
funcionamento correto e robusto do patch.
5. Discusso
O procedimento utilizado para garantir acessibilidade ao Pd para o msico
deficiente visual foi a edio textual do arquivo de programao do patch. A principal
vantagem deste mtodo permitir que um msico com deficincia visual crie patches com o
Pd, que um software principalmente visual, porm atravs da edio de seus arquivos de
textos correspondentes, sem a necessidade de utilizar a interface grfica do editor padro do
Pd. Arquivos texto so facilmente acessveis pelo msico deficiente visual, seja atravs do uso
de leitores de tela (que convertem textos em fala) ou atravs de dispositivos conhecidos como
displays braille6 que so capazes de converter dinamicamente linhas de texto em caracteres
braille.
No entanto, deparou-se com duas questes deste mtodo textual de criao de
patches. A primeira a inexistncia de um formato oficial para a incluso de comentrios no
arquivo de armazenamento, em formato .pd. A soluo encontrada funcionou na verso
0.46 e em algumas anteriores, mas no se pode garantir que ter suporte em verses futuras.
No de fato uma boa prtica de programao quando um programa, ao ser executado, gera
avisos (warnings), mesmo que estes no sejam erros que impeam ou interfiram com o seu
bom funcionamento. A segunda dificuldade foi a ausncia de um modo de nomear os
elementos, que so referenciados por nmeros, o que em geral no costuma ser considerado
amigvel. GOODLIFE (2007: 40) afirma que um nome marca um elemento como uma
entidade distinta, transformando este, de um conceito etreo, para uma realidade bem
definida7.
A utilizao de nomes amigveis para identificar elementos da programao
textual poderia ser realizada atravs da utilizao de um software intermedirio,
especialmente desenvolvido para este fim. A vantagem deste mtodo, alm do uso para
nomear objetos, seria tambm permitir a incluso de comentrios no cdigo. No entanto, a
XXVI Congresso da Associao Nacional de Pesquisa e Ps-Graduao em Msica B. Horizonte - 2016
principal desvantagem seria a curva de aprendizagem que o msico deficiente visual teria que
passar para aprender e dominar um novo software, alm da possvel incluso de erros (bugs)
no cdigo traduzido, situao esta que qualquer novo desenvolvimento est sujeito.
6. Concluso
Este trabalho apresenta uma pesquisa em andamento, que est sendo realizada no
Laboratrio de Acessibilidade (LAB) da UNICAMP por alunos do PIBIC EM, intitulado:
Ferramentas de software e hardware livre para a acessibilidade musical do deficiente visual.
Este projeto visa o auxlio na utilizao, desenvolvimento e apoio utilizao de ferramentas
de software para msicos deficientes visuais, em processos de anlise, composio e
performance musical. Este artigo tratou da viabilizao da acessibilidade do msico deficiente
visual ao Pd, uma das mais importantes ferramentas de programao para msica
computacional e instalaes multimodais operando em em tempo-real. Aps cumprida a etapa
de mapeamento da semntica e da sintaxe que compem a linguagem textual por trs da
programao visual do Pd, o prximo passo ser redigir um documento, em texto acessvel,
para o ensino desta metodologia, e distribu-la gratuitamente aos msicos deficientes visuais
interessados em aprender a programar em Pd. Feito isto, este documento dever passar por
diversas revises (vindas dos prprios usurios) at que este se torne suficientemente
completo e coerente. Este projeto se estender desde a questo da utilizao e implementao
de ferramentas computacionais de auxlio ao acesso msica, para compositores e
instrumentistas com deficincia visual, at a explorao da interatividade musical, dada pela
excelncia aural destes msicos, no que tange sua destacada capacidade de localizao
espacial sonora, e que pode assim constituir uma vantagem da percepo sonora do deficiente
visual, podendo esta ser utilizada na anlise, criao e performance musical contempornea.
Referncias:
CHIKOFSKY, Elliot J.; CROSS, James H.. Reverse engineering and design recovery: A
taxonomy. IEEE Software, v. 7, n. 1, p. 13-17, 1990.
GOODLIFFE, Pete. Code craft: the practice of writing excellent code. No Starch Press, 2007.
JAMES, W. The principles of psychology. New York: H. Holt and Company. Page 609. 1893.
JONES, Caper. Software Engineering Best Practices: Lessons from Successful Projects in the
Top Companies. New York, NY, USA: McGraw-Hill, Inc, 2010
PUCKETTE, Miller. The patcher. In Proceedings of International Computer Music
Conference. 1988.
STALLMAN, Richard; LESSIG, Lawrence. Free software, free society : selected essays of
Richard Stallman. Boston, MA: Free Software Foundation, 2010.
1
https://puredata.info/docs/developer/PdFileFormat (acessado em abril de 2016)
2
Instrues escritas em uma linguagem facilmente legvel por humanos e que posteriormente so convertidas para o
chamado cdigo binrio que ser executado por um computador
3
https://sourceforge.net/p/pure-data/pure-data/ci/master/tree/src (acessado em abril de 2016)
4
https://pt.wikipedia.org/wiki/Leitor_de_tela (acessado em abril de 2016)
5
http://www.audacityteam.org (acessado em abril de 2016)
6
https://en.wikipedia.org/wiki/Refreshable_braille_display (acessado em abril de 2016)
7
Goodlife dedicou o captulo 3 inteiro de sua obra Code Craft para chamar a ateno importncia deste fato, o ttulo
do captulo uma resenha de seu prprio contedo: O que h em um nome - dando nomes significativos para coisas
significativas