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.
Nenhum comentário:
Postar um comentário