Participe da programação musical - idiomas que ajudarão a fazer isso

Em um dos materiais anteriores, escrevemos sobre o Sporth, desenvolvido para a realização de sessões de música ao vivo. Hoje falaremos sobre outra ferramenta para "programação musical" - a linguagem Csound . E vamos falar sobre suas contrapartes - SuperCollider e Pure Data .


Photo Escape Artiste / Unsplash

Como o Csound apareceu


Esse idioma permite resolver os problemas de processamento de sinais de áudio e é uma ferramenta popular para " programação musical ". Este termo refere-se ao processo de gravação de faixas usando dispositivos eletrônicos: sequenciadores, sintetizadores e software.

A história de Csound remonta a meados do século passado. Ele é descendente direto da família de idiomas MUSIC-N , cuja primeira versão em 1957 foi introduzida pelo engenheiro Max Mathews, do Bell Labs. MUSIC é considerada uma das primeiras soluções para a geração de ondas sonoras digitais. Com sua ajuda, as composições " The Silver Scale " e " The Pitch Variations " foram escritas . Ambas as obras pertencem a engenheiro acústico e linguista Newman Guttman, que foi o primeiro programador de música da história.


Com o tempo, as possibilidades da MUSIC se expandiram: novas versões do idioma apareceram e a base de usuários aumentou. Em meados dos anos 80, os recursos do sistema atraíram Barry Vercoe, especialista do MIT Media Labs. Usando as realizações de colegas do Bell Labs, ele percebeu sua linguagem e a chamou de Csound . Ele escreveu o compilador em C e decidiu distribuir tudo sob a licença GNU LGPL. O sistema ainda é suportado e expandido por módulos para processamento de sinal.

Características da linguagem


Para gerar som , opcodes especiais são usados aqui . Esses códigos são necessários para identificar instrumentos em um arquivo de orquestra digital . Por exemplo, para incluir um oscilador em uma orquestra, basta escrever o seguinte comando:

a1 oscil 10000, 440, 1

Três argumentos são amplitude, frequência e forma de onda, respectivamente.

A lista de notas a serem tocadas é colocada em um arquivo de partitura separado , criado em um editor de texto comum. Em seguida, o compilador organiza a partitura por tempo, calcula os valores para as tabelas de ondas e toca a música.

Se desejado, os arquivos da orquestra e da partitura podem ser combinados em um com tags especiais. O wiki fornece um exemplo do conteúdo desse documento - ele gera uma onda senoidal com duração de um segundo com uma frequência de 1 kHz.

<CsoundSynthesizer>

  <CsOptions>
    csound -W -d -o tone.wav
  </CsOptions>

  <CsInstruments>
    sr     = 96000           ; Sample rate.
    kr     = 9600            ; Control signal rate.
    ksmps  = 10              ; Samples per control signal.
    nchnls = 1               ; Number of output channels.

    instr 1
    a1     oscil p4, p5, 1   ; Oscillator: p4 and p5 are the arguments from the score, 1 is the table number.
    out a1                   ; Output.
    endin
  </CsInstruments>

  <CsScore>
    f1 0 8192 10 1           ; Table containing a sine wave. Built-in generator 10 produces a sum of sinusoids, here only one.
    i1 0 1 20000 1000        ; Play one second of one kHz at amplitude 20000.
    e
  </CsScore>

</CsoundSynthesizer>

Se você deseja conhecer esse idioma mais de perto, de acordo com os moradores do Hacker News, é muito fácil fazer isso. Você pode começar com documentação oficial detalhada ou consultar a literatura sobre o assunto .

Quem usa


O DJ americano Brian Transeau trabalha com Csound , que escreveu músicas para Need for Speed: Underground e os filmes Blade 2, The Fast and the Furious. Com a ajuda deste PL, ele escreveu a faixa " Tudo o que nos faz humanos continuar " do álbum "This Binary Universe".


Este PL também foi usado pelo compositor sueco Tobias Enhus, cujo trabalho pode ser ouvido no filme Black Hawk. Usando este sistema, ele escreveu a faixa " Electric Priest ".

A linguagem também foi útil para a implementação de projetos científicos e de pesquisa. Especialistas da Universidade Norueguesa de Ciências da Vida e Engenharia desenvolveram efeitos personalizados para descobrir novos métodos de composição musical.

Soluções alternativas


A família MUSIC de PLs tornou-se o progenitor não apenas para o Csound, mas também para outros sistemas de geração de som. Entre eles estão SuperCollider e Pure Data .

SuperCollider é um ambiente virtual para síntese de áudio em tempo real. Em 1996, foi desenvolvido por James McCartney (James McCartney) e publicado em domínio público . Com o tempo, vários outros engenheiros se juntaram ao projeto, que ainda o apoia - no GitHub, o SuperCollider tem mais de 3 mil estrelas .

O SuperCollider tem amplas oportunidades para se expressar, sendo usado por um número bastante grande de compositores . Por exemplo, o músico americano Jeremy van Buskirk (Jeremy Van Buskirk ) escreveu " Um suspiro na terra " no SuperCollider , e Mark Ballora, professor da escola de música da Universidade da Pensilvânia, apresentou a faixa " Singularity ".

Acredita-se que o desenvolvimento completo do SuperCollider levará muito tempo. Embora os tutoriais em vídeo oficiais no YouTube e outros guias ajudem definitivamente nessa tarefa .


Photo Escape Artiste / Unsplash

Com relação aoPure Data, é uma linguagem de programação visual para a implementação de trabalhos multimídia interativos. Este é um análogo aberto do utilitárioMax / MSP. É baseado nos fluxos de dados que passam pelos objetos e nas conexões entre eles. Por esse motivo, um programa no Pure Data é chamado de patch, semelhante aos sintetizadores modulares, onde as conexões foram feitas com os patch cords.

Exemplos de trabalhos vendidos usando o Pure Data podem ser encontrados no YouTube. Por exemplo, o trabalho de Rino Petrozziello (Rino Petrozziello), chamado "Música Algorítmica". Mais exemplos estãono site oficial.



« Hi-Fi»:

Sporth — live-
:

:
:



:




All Articles