[PlanetCCRMA] sound programming
Emiliano Grilli
emiliano.grilli at poste.it
Sun Feb 1 14:40:02 PST 2004
domenica, 01 febbraio 2004 alle 22:14:33, Christoph Lehmann ha scritto:
> Hi
> I need to synthesize/generate simple sinus tones, which last for a certain time
> (e.g. 100ms) and have a fade-in and a fade-out of each e.g. 5ms. Lot many of
> such pieces I need to append to each other
>
> I can do this very simple with goldwave (well a lot of manual tasks),
> but since I work with linux (well goldwave runs with wine, but not
> excellent): what tool, would you recommend (audacity is quite close but
> not mature enough...)?
>
> Or if I would like to program the sounds manually , is there any tool
> you can recommend (just generating such sounds, inclusive fade-ins and
> -outs and write the resulting .wav data into a file): would you take c++
> (with which library?) or can I do it with easier languages (python?)..
Csound is perfect for this task I think...
And is included in planetCCRMA.
This is a simple way:
<CsoundSynthesizer>
<CsOptions>
-d -W -o sine.wav
</CsOptions>
; ==============================================
<CsInstruments>
sr = 44100
kr = 44100
ksmps = 1
instr 1
kenv linseg 0,p5,10000,p3 -(p5+p6) ,10000,p6,0
a1 oscil kenv, p4, 1
out a1
endin
</CsInstruments>
; ==============================================
<CsScore>
f1 0 4096 10 1
; p2: action p3: duration p4: freq p5: attack p6: release
i1 0 3 440 .300 .600
i1 3 1 660 .100 .100
</CsScore>
</CsoundSynthesizer>
save this in a file (sine.csd i.e.) and run
$ csound sine.csd
You'll end up with a sine.wav file with 2 sine sounds: one beginning at 0
seconds, lasting 3 seconds, with a frequency of 440 Hz and a fade in of 300
ms, and a fade out of 600 ms. The other beginning at 3 seconds, lasting 1
second, frequency 660 Hz and fade in & fade out of 100 ms.
In the "Cscore" section you can add as many notes as you want (also
generated by another program)
> thanks for a hint
> cheers
>
> christoph
HTH
--
Emiliano Grilli
Linux user #209089
http://www.emillo.net
More information about the PlanetCCRMA
mailing list