PythonMusica

De Pontão Nós Digitais
Ir para navegaçãoIr para pesquisar

Python e Música

Investigando e relatando usos de Python para Música.

Pacotes

  • abjad: usado para gerar partituras (em lilypond) a partir de objetos em Python
  • music21: usado para analisar partituras (em humdrum, musicxml, midi, ...) convertendo-as para objetos em Python e possui rotinas para análise
  • athenaCL: possui algoritmos generativos (AG, L-system, ...) para gerar partituras (em midi, csound, ...)
  • pyknon: próximo a abjad mas bastante simples, útil para gerar partituras (em midi) a partir de objetos em Python

Introdução a Python e Áudio

MIRROR DO CONTEÚDO EM http://www.estudiolivre.org/tiki-index.php?page=Video+Tutoriais&bl

Estes videos são resultado de uma palestra realizada no FISL 2010 a convite da Associação Python Brasil (APyB).

Scripts Básicos

Neste link estão disponibilizados alguns scripts simple e *fundamentais*:

http://trac.assembla.com/audioexperiments/browser/python-som-musica-base

Video Tutoriais (Screencasts)

Abaixo estão screencasts (não estão todos perfeitamente primorosos, mas estão feitos e é muita base já. Tem mais 3-9h pra gravar ainda):

  • 4- Bibiotecas (1h12'13")
    • Os módulos de interesse da biblioteca padrão vistos com código e terminal interativo IPython. Falácia rápida sobre módulos externos a

serem abordados no próximo video

e aqui vão os videos que estão prontos do quinto módulo:

  • 5-2-numpy-intro.ogv duração 9min17seg
    • http://ubuntuone.com/p/EKp/
    • introduz o numpy, principal biblioteca utilizada os calculos envolvidos na manipulação de áudio. exemplos no o interpretador. Conceitos fundamentais e traquejos.
  • 5-3-audiolab.ogv duração 14min26seg
    • http://ubuntuone.com/p/EKq/
    • explicita a utilização do audiolab para i/o de áudio. Os arquivos (wav/flac/ogg etc) são importados diretamente como vetores numpy e os

vetores podem ser diretamente escritos como arquivos de áudio. também pode-se tocar os vetores. Manipulações básicas dos arquivos de áudio.

  • 5-4-lookuptable.ogv duração 40min28seg
    • http://ubuntuone.com/p/EKr/
    • trata da técnica conhecida como lookuptable para tratar de formas de onda arbitrárias e poupar processamento no caso de formas de onda mais

tradicionais. Fazendo uma função com a rotina da técnica, medimos o tempo que demora para sintetizar e exploramos formas de onda diferentes.

ainda neste módulo:

  • 5-5-fourier-wavelets.ogv (por vir)
    • análise e manipulação espectral utilizando numpy, pywt, pylab e outros recursos.
  • 5-6-OSC.ogv (por vir)
    • comunicação via OSC (Open Sound Control) utilizando simpleOSC

Síntese Musical com controle amostral do fenômeno sonoro no domínio digital

Clone com:

   $ git clone git://labmacambira.git.sourceforge.net/gitroot/labmacambira/dissertacao

Caso tenha usuario sf com acesso para escrita:

   $ git clone ssh://<usuario>@labmacambira.git.sourceforge.net/gitroot/labmacambira/dissertacao

Para utilização do git, veja página sobre o Git

Versão de 10/10/2012 (para versões mais atuais, só requisitar na listamacambira@ ou no #labmacambira @ Freenode):

   http://ubuntuone.com/1se59J4Cvpgigak6bHOFtq

Análise Musical a Partir de Partituras

Mostrar exemplos de como usar music21 para analisar peças transcritas em humdrum, musicxml, midi, ...

Análise Musical a Partir de Arquivos de Áudio

Como usar Python e numpy/pylab para analisar espectro e transcrever ou gerar outro tipo de material.

Música Generativa

Partir de um modelo (protótipo) qualquer (diferenças de intervalos?) e implementar um sistema generativo simples (AG, L-system, gramática livre de contexto, ...) que se baseie nesse protótipo para gerar novos materiais.