[EMAIL PROTECTED] (Pedro Kröger) writes:

> para quem tiver mais interesse sobre musica e codigo, um bom lugar para
> visitar é o linux-sound [3], especialmente a seção "Software Sound
> Synthesis & Music Composition Packages".

algumas linguagens para composição interessantes:

csound [1]         provavelmente a linguagem para síntese sonora por
                   software mais poderosa que existe. o csound vem da
                   linhagem do Music I, a primeira linguagem para
                   musica, feita na década de 60! um exemplo da
                   linguagem:

----------------------------------------------------------------------
                instr   138 ;sweeping fm with vibrato & discrete pan
idur    =               p3
iamp    =               ampdb(p4)
ifrq    =               cpspch(p5)
ifc             =               p6
ifm             =               p7
iatk    =               p8
irel    =               p9
indx1   =               p10
indx2   =               p11
indxtim =               p12     
ilfodep =               p13
ilfofrq =               p14             
ipan    =               p15             
irvbsnd =               p16             
kampenv expseg  .01, iatk, iamp, idur/9, iamp*.6, idur-(iatk+irel+idur/9), 
iamp*.7, irel,.01
klfo    oscil   ilfodep, ilfofrq, 1
kindex  expon   indx1, indxtim, indx2
asig    foscil  kampenv, ifrq+klfo, ifc, ifm, kindex, 1
                outs     asig*ipan, asig*(1-ipan)
garvb   =               garvb+(asig*irvbsnd)
                endin
----------------------------------------------------------------------


chucK [2]          uma linguagem para áudio nova, baseada em tempo, concorrente 
e
                   "on-the-fly". um exemplo da linguagem:


----------------------------------------------------------------------
 // impulse to filter to dac
      Impulse i => BiQuad f => dac;
      // set the filter's pole radius
      .99 => f.prad;
      // set equal gain zero's
      1 => f.eqzs;
      // initialize float variable
      0.0 => float v;

      // infinite time-loop
      while( true )
      {
          // set the current sample/impulse
          1.0 => i.next;
          // sweep the filter resonant frequency
          Std.fabs(Math.sin(v)) * 4000.0 => f.pfreq;
          // increment v
          v + .1 => v;
          // advance time
          100::ms => now;
      }
----------------------------------------------------------------------

SuperCollider [3]       originalmente só existia para Mac, mas
                        recentemente se tornou free software. ela é uma
                        linguagem completa para musica, inspirada no
                        smalltalk. um exemplo:

----------------------------------------------------------------------
s = Server.internal;
s.boot;
{ SinOsc.ar(LFNoise0.ar(10, 400, 800), 0, 0.3) }.play(s);
a = { SinOsc.ar(LFNoise0.ar(10, 400, 800), 0, 0.3) }.play(s);
a.free;
(
SynthDef.new("ch2-ex1", {
        Out.ar(0,       // an Out ugen is needed to send the signal to a bus
                                // bus 0 is the hardware out, left channel
                SinOsc.ar(      // a sine wave oscillator
                        LFNoise0.ar(10, 400, 800),      // randomly choose a 
frequency every 0.1 sec
                        0,      // phase: constant 0
                        0.3     // amplitude: constant 0.3
                )
        )
}).send(s);
)
a = Synth.new("ch2-ex1", target: s);
a.free;
----------------------------------------------------------------------

foo [4]         outra linguagem recente. baseada em scheme (um dialeto
                de lisp)


CLM [5]         uma das melhores linguagens de sintese que existem. é
                implementada em Lisp. um exemplo simples:

----------------------------------------------------------------------
    (with-sound ()
      (loop for i from 0 to 7 do
        (fm-violin (* i .25) .5 (* 100 (1+ i)) .1))) 

    (play)
----------------------------------------------------------------------

Abracos,

pedro


Footnotes: 
[1] http://www.csounds.com/

[2] http://chuck.cs.princeton.edu/

[3] http://supercollider.sourceforge.net/

[4] http://foo.sourceforge.net/

[5] http://ccrma.stanford.edu/software/clm/

_______________________________________________
PSL-BA mailing list
PSL-BA@listas.im.ufba.br
https://listas.im.ufba.br/cgi-bin/mailman/listinfo/psl-ba

Responder a