Atividades com som

5 May 2007 - 6:30      

Tenho pesquisado e brincado um pouco com atividades que usam som no laptop. Estou ajudando no Editor Musical e para a parte de som descobri o modulo csnd, um binding para o python utilizar o csound a partir da API original para C++.

Um exemplo bem básico e inútil de como usar:

import csnd

cs = csnd.Csound() # nova instancia do Csound
cs.Compile(’teste.csd’) # Compila arquivo .csd (opcoes+orquestra+score)

th = csnd.CsoundPerformanceThread(cs) # Inicializa uma thread executar para a partitura
th.Play() # toca
th.Join()

Arquivo teste.csd (Csound Orchestra e Score):

<csoundsynthesizer>
<csoptions>
-odac -d -+rtaudio=alsa
</csoptions>
<csinstruments>
; Inicializa as variáveis globais.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1
; Instrumento #1.
instr 1
; Amplitude do sinal
kamp = 30000
; Frequência
kcps = 440
; Número da f-table.
ifn = 1
; Toca com amplitude 30000 e frequência de 440 Hz a onda do seno
; armazenada na tabela 1.
a1 oscil kamp, kcps, ifn

; Manda o som armazenado em a1 para a saida
out a1
endin
</csinstruments>
<csscore>
; Tabela #1: uma simples onda de seno usando GEN10.
f 1 0 16384 10 1
; nota de 1 segundo de duração
i 1 0 1
e
</csscore>
</csoundsynthesizer>

Ja consigo fazer sair som usando python, agora a briga é para me entender com os métodos de realtime da API do Csound pra inserir eventos de Score. Os métodos são InputMessage e ScoreEvent. Se alguem estiver mais avançado ou souber outros modos, compartilha ai com a gente :)

A documentação dessa API + python e principalmente a de som no XO/Sugar quase não existe então qualquer progresso vou atualizando aqui no Blog.

Referência da API (C++): http://csound.sourceforge.net/refman.pdf

Até mais.

Categorias: CookBook, Python |

Você pode reproduzi-lo! Indique apenas o Link!

Email    

Leia Mais

Veja todos os produtos!



Você pode acompanhar os comentários deste artigo através do feed RSS 2.0 Você pode deixar um comentário ou, ou interligar ("trackback") com seu site.

AddThis Social Bookmark Button

Deixe um comentário