Akshay
Akshay

Reputation: 21

CSOUND Function Table Scaling Error

I am currently working on a multi channel audio convolver using Csound. I am creating two ftables and loading two different IR's 2048 points long into them at a sample rate of 48kHz. I am using the first gen function table commands (iRL ftgen 0, 0, 2048, -1, "IRL.wav", 0, 0, 0) and (iRR ftgen 0, 0, 2048, -1, "IRR.wav", 0, 0, 0 ).

One problem i currently have is setting the function table number to negative (-1) does stop scaling but each ftable is scaled differently. One scalemax value is 0.155 and the other 0.145. I wanted to know how I can completely stop this scaling from occurring so both the IR's are not scaled and loaded into the table.

Upvotes: 2

Views: 70

Answers (1)

joachim heintz
joachim heintz

Reputation: 33

I think what you do is correct, although you do not set "the function table number to negative (-1)", but the GEN number (which is 1 for normalising and -1 for simple copy).
I cannot believe that any scaling is done by Csound in the case you describe, so I see two possibilities for the difference in the scalemax value:
1) The input files have these (different) maxima. This is very likely, if they are real stereo impulse responses.
2) Make sure you really import a mono audio file into the table. If "IRL.wav" has more than one channel, you will get mess. (Alternatively, you could import both channels into the table using a stereo sound file.)
Just as a side note, I was wondering if you don't need global variables for the tables (giRL and giRR rather than iRL and iRR).

Upvotes: 1

Related Questions