A Técnica como Linguagem Composicional

Perspectivas filosóficas e práticas na música computacional brasileira

Charles Klippel Neimog

Prof. Dr. Rodolfo Coelho de Souza

ECA USP

Problema de Pesquisa

  • Problema de Pesquisa:
    • Leitura de O Enigma do Lupe (Rodolfo Caesar).
    • Erros nos cálculos de harmonias microtonais no OpenMusic devido a arredondamentos na conversão de frequências para midicents.

É possível criar metodologias composicionais para evitar marcas d'água?

Base Filosófica

  • Bernard Stiegler e o conceito de epifilogênese: técnica e linguagem composicional são inseparáveis.
  • Conexão entre a filosofia de Stiegler e o processo criativo.

Primeiro Capítulo

  • Metodologias em Técnica e Tempo I:
    • Referências a Gille, Leroi-Gourhan, Simondon e Stiegler.
    • Exemplos musicais discutidos dentro do contexto teórico.

Capítulo I

  • Comparação entre Schoenberg e abordagens de:
    • Harry Partch
    • Ben Johnston
    • James Tenney
  • Destacar uma atitude técnica, seja em primeira pessoa ou terceirizada (como fez Ben Johnston).

Estudos de Stiegler

  • Proletarização do saber: Riscos da automatização e perda de habilidades essenciais.
  • Análise dos estudos mais recentes de Stiegler (2018) sobre o saber-fazer.

Análise Técnica

Transformada de Fourier, Partial Tracking e Score Follower.

Fast Fourier Transform

\[ X(k) = \sum_{n=0}^{N-1} e^{-i\frac{2\pi}{N}kn} \] \[ Amp(k) = 0.4 \]
  • Devido aos valores Discretos para \( k \):
    • Temos uma tendência a Afinação Justa
    • Temos uma tendência a clusters
  • Máxima Local
    \[ \begin{cases} \texttt{Verdadeiro}, & \text{se } a(k - 1) < a(k) > a(k + 1) \\ \texttt{Falso}, & \text{caso contrário} \end{cases} \]
  • Correção de Frequência
    \[ \begin{equation} \label{eq:p_definition} p = \frac{1}{2}\left(\frac{\alpha - \gamma}{\alpha - (2 \cdot \beta) - \gamma}\right) \end{equation} \] \[ \begin{equation} \label{eq:peak_amp_a} a = \Re{X(k)} - \frac{1}{4} \cdot p \cdot (\Re{X(k - 1)} - \Re{X(k + 1)}) \end{equation} \] \[ \begin{equation} \label{eq:peak_amp_b} b = \Im{X(k)} - \frac{1}{4} \cdot p \cdot (\Im{X(k - 1)} - \Im{X(k + 1)}) \end{equation} \]

Partial Tracking

pd-partialtrack

Partial Tracking

Interpolação Linear e Logaritmica

2
  • Partial Tracking & STFT: Conexão suave de fotos espectrais com transições contínuas em frequência, amplitude e fase.
  • Natureza Destrutiva: Partial Tracking destroi informações e tenta as reconstruir algoritmicamente.
  • Ferramentas: Implementação via bibliotecas py4pd-spt e pd-partialtrack.
  • Manipulação Sonora: Re-afinamento de componentes do timbre e timbre-morph.
  • Equilíbrio Composicional: Tensão entre controle técnico e coerência criativa (ex: obra Espelhos Técnicos (não finalizada)).
  • Rigidez Algorítmica: Formas sonoras definidas pelo algoritmo, limitando a ação do(a) compositor(a) à relação entre resultados.

O algoritmo impõe uma relação que foge ao controle técnico – não adianta ter controle do algoritmo, introduzindo uma dinâmica na qual dimensões de controle do próprio processo criativo são perdidas, é uma relação fixa na qual se aceita ou não o resultado e partir dele se cria conexões sonoras com outros resultados de outros usos do algoritmo.

Seguidor de Partituras

Sua ação não se dá diretamente sobre o som, mas sim na realização de uma proposta sonora predefinida.

Eventos Semi-Markovianos

\[ \alpha_j(t) = \frac{b_j(x_t)}{N_t} \times \left[ \sum_{u=1}^t \left( \left\{ \prod_{v=1}^{u-1} b_j(x_{t-v})\right\} d_j(u) \sum_{i \neq j} (p_{ij}\alpha_i(t-u) \right) \right] \]

Eventos Markovianos

\[ \alpha_j(t) = b_j(x_t) \times \max_{i} (p_{ij}\alpha_i(t-1)) \]

Modelo de Tempo

\[ r_n = r_{n-1} - \eta_s \left[ r_{n-1} - \cos \left( 2\pi \left( \frac{t_n - t_{n-1}}{\hat{\psi}_n} - \hat{\phi}_n \right) \right) \right] \]

\[ \kappa = A^{-1}_2(r_n) \]

\[ \kappa = A^{-1}_2(r_n) \text{ onde } A_2(\lambda) = \frac{I_1(\lambda)}{I_0(\lambda)} \]

\[ \phi_{n} = \phi_{n-1} + \frac{t_{n} - t_{n-1}}{\psi_{n-1}} + \eta_{\phi}F(\phi_{n-1}, \hat{\phi}_{n-1}, \kappa) \text{ mod}^{+\pi}_{-\pi} \]

\[ \hat{\psi}_{n+1} = \hat{\psi}_n \left[1 + \eta_s F(\phi_n, \hat{\phi}_n, \kappa)\right] \]

\[ \hat{\text{BPM}} = 60 \div \hat{\psi}_{n+1} \]

\[d_j(u) = \exp \left[ -\frac{u}{\psi_{n-1}-\ell_n} \right]\]

Modelo de Altura

\[ f(x) = A \exp \left( - \frac{(x - x_0)^2}{2 \sigma^2} \right) \]

\begin{equation} \label{eq:scipy-kl} D_{\text{KL}}(P \| Q) = \sum_{i} \begin{cases} P(i) \log \left( \frac{P(i)}{Q(i)} \right) - P(i) + Q(i) & \text{se } P(i) > 0 \text{ e } Q(i) > 0 \\ Q(i) & \text{se } P(i) = 0 \text{ e } Q(i) \geq 0 \\ \infty & \text{caso contrário} \end{cases} \end{equation}

\[ b_j(x_t) = \exp(-\beta \cdot D_{\text{KL}})\]

Modelo da partitura

Delta de Kronecker

Em resumo: \[ \delta_{i,\,i+1} = \begin{cases} 1, & \text{se } j = i+1, \\ 0, & \text{caso contrário}. \end{cases} \]

Propostas Técnicas

py4pd, pd4web, OpenScofo

py4pd

py4pd

O py4pd integra processos composicionais com desenvolvimento tecnológico no PureData, manipulando dados complexos que não são nativamente suportados.

  • Base: Desenvolvido a partir da BachLibrary para o Max, utilizando ponteiros para troca de informações entre objetos.
  • Funcionalidades: Suporte a áudio, gráficos, loops e recursividade, essenciais para composição assistida por computador.
  • Bibliotecas: upic, freesound, score, loris, orchidea, ji, spt,
  • Pesquisa: Ferramenta essencial em estudos sobre o Antescofo, Partial Tracking e outros projetos.

pd4web

pd4web

O pd4web facilita a execução de patches do PureData diretamente em navegadores, com suporte a diversos dispositivos.

  • Automação: Automatiza a criação de arquivos C++ e a compilação de PureData para WebAssembly com Emscripten. Isso torna o uso de objetos externos acessível através de interfaces gráficas, beneficiando artistas sem conhecimento técnico.
  • Preservação: Gera repositórios independentes das versões de códigos e bibliotecas, garantindo a longevidade dos projetos.
  • Segurança: Resolve vulnerabilidades comuns em plataformas como Max e Pd, prevenindo a distribuição de objetos maliciosos.
  • Acessibilidade Global: A capacidade de rodar patches em navegadores é uma contribuição importante, especialmente no Brasil, 97% da população brasileira tem acesso a smartphones.
oscofo

OpenScofo é o mais interessante musicalmente, com uma matemática desafiadora e bela por trás.

oscofo
  • Desafio Técnico: A matemática por trás do modelo de tempo do OpenScofo foi um grande desafio, especialmente com as equações de Bessel.
  • Possibilidades: A implementação de um modelo aberto. Suporte a linguagem lua permite criar eventos baseados em descritores (timbreIDLib está sendo implementada!), abrindo caminho para obras abertas.
  • Pseudo-linguagem scofo: Permite pensar a interação com fluidez e oferece um algoritmo poderoso de análise sintática.
  • Futuro Promissor: Apesar de ser o algoritmo mais imaturo, o OpenScofo oferece grandes perspectivas para a música em tempo real e a integração de decisões artísticas.

Obras

Capítulo: Peças e a Desconstrução da Linearidade

Desconstruir uma falsa linearidade

  • 2021-2022: Nos dois primeiros anos, a pesquisa foi focada em programação e matemática, explorando FFT, Partial Tracking, e aprendendo C/C++, JavaScript, Python.
  • Progresso Inicial: O progresso estava fluindo bem até 2022, quando compus a peça Eco.
  • Mudança de Perspectivas: Após a composição de Eco, minha pesquisa passou a enfrentar grandes desafios, resultando em uma espécie de colapso na pesquisa.

Eco (2023)

Ensemblé Móbile – Curitiba-PR

Moteto (2023)

Coral UFPR – Curitiba-PR

Improviso I (2023)

Ana Carolina de Oliveira e Daniel Murray – São Paulo-SP

Poema: Lucas de Oliveira

Pandemônio (2024)

Coletivo Difluência – Juiz de Fora-MG

Poema: Lucas de Oliveira

Ideias Roubadas III (2024)

Cânticos de Silício (2024)

Sérgio Monteiro Freire

Considerações Finais

Agradecimentos