| Steven LeBeau wrote:
>
>
> 1. GEN, tables, and knowing when to implement which ones and
> where
A Gen function generates a function table, which can then be used in an
instrument. A common use of ftables (and one you did in the tutorial) is to
hold a wavetable - a single cycle of a desired waveform. For instance, if you
have the line in your orchestra:
asignal oscili 10000, 200, 1
you are oscillating a function table. What asignal sounds like depends upon
what is in function table 1 (that's the 1 at the end of the command). A basic
function table (defined in the score) for a waveform is:
f1 0 4097 10 1
This is decoded as:
Generate function table 1 (f1) at time 0 sec (for now, always use this). The
table has 4097 points (also a good value to use for a while). The table is
generated using gen10. gen10 makes sine waves. The last 1 means that the
table has one cycle of a sine wave - the strength of the fundamental is 1 and
there are no harmonics.
When used in conjunction with the orchestra statement above, asignal will
sound like a sine wave at 200 Hz.
If the score instead had:
f1 0 4097 10 1 0 .3 0 .2 0 .1
there would be more harmonics. This is just a list of relative harmonic strengths:
fundamental: 1
1st harmonic: 0
2nd harmonic: .3
3rd harmonic: 0
4th harmonic: .2
5th harmonic: 0
6th harmonic: .1
This would make asignal sound more like a square wave.
This covers basically what gen10 does. But it is important to realize that
ftables are not only waveforms. An ftable is simply an array of numbers,
which you can use for any purpose. The array gets filled once (by the command
in the score) and then can be accessed by the various opcodes that use ftables
(like oscil, table, buzz, pluck, etc...). An ftable might contain the data
for an envelope or a velocity curve or anything you want. All of the
different gen functions are just different ways of mathmatically filling a
table. Don't worry about the ones you don't understand (e.g. until you know
what a Bessel function is and does, you don't need gen12).
> 2. Are variables like kamp and kvib named arbitrarily in the
> manual, that is, can you change
> the names of these variables and get the same results
> (kvib to kvibratto, for example)
Yes.
> 3. Has anyone made a tutorial/manual for people like me who
> are smart, but not MIT students?!?!
>
CSound is basic building blocks. It is like what is underneath all digital
synthesizers. In order to use it without frustration, you need to learn how
synthesizers make sound. My best suggestion for this task is "The Computer
Music Tutorial" by Curtis Roads (MIT Press). It will set you back $50 but it
is very comprehensive. If you ever take a course in computer music, it will
probably be one of the texts.
--
Mike Berry
mikeb@nmol.com
http://www.nmol.com/users/mikeb
|