Categorias
Csound Síntese Som

Iniciação à síntese de som com Csound

Esta é uma introdução sumária ao uso da Csound, uma linguagem de síntese de som e de música muito bem estabelecida e utilizada por compositores e designers de som modernos.

Se você é usuário de Linux, a introdução abaixo será suficiente. Caso seja usuário de Windows, você precisará baixar o ambiente de desenvolvimento no site oficial csound.com, mas poderá utilizar o tutorial a seguir sem alterações.

Antes de continuar a ler, vire seu celular de lado, caso você esteja lendo em um. A parte em que aparece o código-fonte é melhor lida em modo paisagem. Em verdade, só assim os comandos deixarão de “pular” para a linha seguinte, tornando tudo muito confuso.

Mas se você estiver lendo em um computador, é só continuar.

Instalação

Ubuntu e derivadas

Além do Csound em si, vamos instalar, na Ubuntu e em distribuições derivadas, um programa simples chamado sox para ouvir os sons sintetizados.

Para instalar ambos, digite no terminal:

sudo apt-get install csound sox

Windows

No Windows, vá á página csound.com e baixe o instalador na seção de downloads. Você programará dentro do programa CsoundQT, que vem incluído na instalação, acessível pelo menu do Windows.

Programando, compilando e ouvindo

A síntese de sons com Csound ocorre em três etapas:

  • na primeira, escrevemos um programa com instruções que descrevem os sons a serem sintetizados;
  • na segunda, compilamos esse programa, ou seja, executamos o Csound solicitando que ele transforme as instruções do programa em um arquivo de áudio;
  • na terceira, ouvimos o arquivo de áudio como ouvimos um arquivo de música qualquer.

Vamos detalhar com um exemplo simples e prático esse processo de programação, compilação e audição.

Programando

Todo programa em Csound tem três partes: configurações iniciais, instrumentos e partitura, estruturadas da seguinte maneira:

<CsoundSynthesizer>     ; Início

  <CsOptions>           ; Configurações
                        ; iniciais
  </CsOptions>          ;


  <CsInstruments>       ; Instrumentos
                        ;
  </CsInstruments>      ;


  <CsScore>             ; Partitura
                        ;
  </CsScore>            ;

</CsoundSynthesizer>    ; Fim

Tudo o que é escrito após um ponto-e-vírgula é um comentário. O Csound ignora comentários no processo de compilação, e por isso podemos utilizá-los para nos orientarmos pelo programa

Vamos a um exemplo prático. Abra um editor de texto e salve um arquivo com o nome senoide.csd.

Digite a estrutura global do programa:

<CsoundSynthesizer>

</CsoundSynthesizer>

Acrescente os blocos de instrumento e partitura (o bloco de configurações pode ser ignorado por enquanto):

<CsoundSynthesizer>

  <CsInstruments>             ; Instrumentos
                              ;
  </CsInstruments>            ;


  <CsScore>                   ; Partitura
                              ;
  </CsScore>                  ;

</CsoundSynthesizer>

Crie um instrumento, com as instruções instr 1 e endin:

<CsoundSynthesizer>

  <CsInstruments>             ; Instrumentos
    instr 1                   ; Instrumento 1
                              ;
    endin                     ; Fim instr. 1
  </CsInstruments>

  <CsScore>                   ; Partitura
                              ;
  </CsScore>                  ;

</CsoundSynthesizer>

Defina como será seu instrumento:

<CsoundSynthesizer>

  <CsInstruments>             ; Instrumentos
    instr 1                   ; Instrumento 1
      aSom  oscil 10000, 440  ; Criação do som
      out  aSom               ; Saída do som
    endin                     ; Fim instr. 1

  </CsInstruments>

  <CsScore>                   ; Partitura
                              ;
  </CsScore>                  ;

</CsoundSynthesizer>

A linha que cria o som é

aSom oscil 10000, 440

Isso significa que o som sintetizado, de nome aSom, será gerado pela função oscil, também chamada de opcode, com amplitude 10000 e frequência de 440 Hz.

Depois, o som será encaminhado para a saída out com a linha

out aSom

Criado o instrumento, uma senoide simples de 440 Hz, vamos escrever a partitura, que consistirá apenas de executar o instrumento 1 durante um intervalo de tempo que vai de 0 a 1 segundo:

<CsoundSynthesizer>

  <CsInstruments>             ; Instrumentos
    instr 1                   ; Instrumento 1
      aSom  oscil 10000, 440  ; Criação do som
      out  aSom               ; Saída do som
    endin                     ; Fim instr. 1
  </CsInstruments>

  <CsScore>                   ; Partitura
    i1 0 1                    ; Instr. 1 toca
  </CsScore>                  ; de 0 a 1 seg. 

</CsoundSynthesizer>

Compilando

O programa está escrito. Agora, é preciso compilá-lo, ou seja, fazer com que o Csound transforme essas instruções em um arquivo de som.

Execute o programa com o comando

csound senoide.csd -o senoide

Com isso, o Csound gerou, na mesma pasta em que você gravou o programa senoide.csd, um outro arquivo, chamado senoide, que é um arquivo de som.

Ouvindo

Se tudo deu certo, resta apenas ouvir o som sintetizado. Use, no Linux, o comando

play senoide

ou outro programa qualquer de reprodução de som. No Windows, basta dar dois cliques no arquivo para ouvi-lo.

Categorias
Interlinguística

Uma palestra sobre interlinguística

Em 2017, participei da excelente e muito bem organizada conferência Poliglotar, em Fortaleza.

Fiquei com a palestra de abertura As línguas artificiais e a interlinguística, que pode ser assistida aqui:

Outras palestras podem ser assistidas no respectivo canal do Youtube.

Categorias
Ativismo Política

Vigilância infinita

Parece não ter fim a vigilância digital das grandes empresas

Mesmo que em 2013 Edward Snowden tenha revelado que as agências de inteligência do mundo todo rastreiam seus cidadão através das grandes companhias de informática, como o Google, a Apple, a Microsoft e o Facebook, entre muitas outras, a prática está longe de ter fim.

Categorias
Conlínguas Interlinguística

Classificando conlínguas – Uma proposta de nomenclatura

As conlínguas – línguas construídas – estão aí há séculos, mas ainda há pouco de definitivo sobre elas. Apesar de a interlinguística ser um ramo da linguística bem estabelecido, muitos de seus praticantes se esquecem que a construção de línguas é também um fenômeno popular que se desenvolve à margem das considerações estritamente científicas dos interlinguistas profissionais. E existem criações interessantes fora do ramo profissional.

Uma delas é a invenção do termo conlang, do inglês constructed language, que já está oficializado pela prática e pela existência de uma sociedade de criadores de línguas, a Language Creation Society, cujo site pôs na ordem do dia o termo conlang.

Aceitando o termo inglês, criei o paralelo português conlíngua, que mais alguém já deve ter recriado em  algum lugar. A crítica a esse termo é que o prefixo con-, em português, tem obviamente outro significado que não construído. Mesmo ciente desse problema, e ciente de que, em um nível morfossintático mais elevado, o processo de construção de palavras portuguesas não reconhece esse tipo de formação, adotei o termo assim mesmo, por me lembrar do termo inglês e pela possibilidade de criar ainda outras palavras.

Outros termos, segundo uma tradição que vem ganhando força na internet, seriam:

  • artelíngua (artlang): língua artificial criado com propósitos ficcionais ou artísticos, como a Klingon, a Sindarin, a Dothraki.
  • auxilíngua (auxlang): língua artificial criada com o propósito explícito de ser uma língua auxiliar, como o Esperanto, a Interlingua e a Elefen.
  • engelíngua (engelang): língua natural modificada (“engenheirada”), em geral simplificada, para atingir a alguma propósito, como a Latino sine Flexione e a Basic English.
  • etnolíngua (ethnolang): língua natural, de um povo ou etnia, como o português e o inglês. Também é conhecida como natlíngua (natlang).
  • filolíngua (philolang): língua artificial filosófica, em geral a priori, como a Ars Signorum de Dalgarno, o Real Character de Wilkins e, em grande medida, a Ithkuil.
  • logilíngua (loglang): língua artificial criada com base na lógica matemática ou em outras estruturas matemáticas, como a Lojban, a Voksigid e a Ceqli.

Essa nomenclatura não nos parece uma das melhores, mas simplifica muito o trabalho de classificar, em uma primeira aproximação, o universo das conlínguas. Fiquemos com elas até novos debates e novas críticas, pois uma nomenclatura que se pretende usual em uma comunidade não pode ser obra de apenas alguns indivíduos.

Categorias
Conlínguas Interlinguística

A classificação a priori e a posteriori das conlínguas

Na tentativa de domar a multidão de conlínguas que surgiam, os linguistas criaram a clássica distinção entre conlíngua a priori e conlíngua a posteriori. Como muitas outras, esta é uma classificação que não tem fronteiras bem definidas, além de não ser devidamente utilizada. Mas o que significam esses termos?

Uma conlíngua a posteriori é baseada em línguas naturais. O termo a posteriori, em si, indica que a conlíngua em questão veio depois das línguas naturais em que se baseia. Uma língua a priori, por sua vez, é pensada sem línguas naturais em mente, uma criação que se dá muitas vezes por puro devaneio linguístico.

Mas uma vez que todas as conlínguas, se planejadas para serem faladas, sempre acabam se baseando em conceitos de natlínguas, essa classificação não é muito precisa. E mesmo que por oposição: a Klingon foi deliberadamente construída para se localizar o mais distante possível das línguas humanas. A ordem mais comuns das palavras em Klingon, por exemplo, é  objeto-verbo-sujeito (ordem OVS), o que rarissimamente encontramos em natlínguas. A língua indígena tapirapé, do Brasil, é uma delas (mas ordem objeto-sujeito-verbo – OSV – é ainda mais rara).

Uma língua genuinamente a priori, a rigor, não existe. Mesmo as línguas a priori dos śeculos XVI e XVII, por mais esquemáticas que sejam, acabam importando ideias simples de natlínguas, como a existência de substantivos e verbos como classes distintas de palavras. A não ser que consideremos algumas línguas de programação exóticas, como a Brainf*ck e a Piet, uma pitada conceitual a posteriori acaba se introduzindo nas línguas a priori.

Mesmo imperfeita, essa classificação é popular, e por isso não vamos dispensar seu uso quando precisarmos nos referir a línguas extremamente estranhas e bem distantes das práticas linguísticas naturais.