Csound Csound-dev Csound-tekno Search About

Re: marimba

Date1999-05-20 12:33
Fromjpff@maths.bath.ac.uk
SubjectRe: marimba
Message written at 19 May 1999 22:37:57 +0100
--- Copy of mail to mjkoskin@sci.fi ---

The marimba opcode is a tranlation into csound structure of the Perry
Cook marimba opcode.  From that model 

void Marimba :: strike(MY_FLOAT amplitude)
{
    int temp;
    temp = random() >> 26;
    if (temp < 2) {
        multiStrike = 1;
#if defined(_debug_)
	printf("striking twice here!!\n");
#endif
    }
    else if (temp < 1) {
        multiStrike = 2;
#if defined(_debug_)
	printf("striking three times here!!!\n");
#endif
    }
    else multiStrike = 0;
    Modal4::strike(amplitude);
}

so the csound opcode has

...
                                /* Strike */
    itemp = rand() % 5;
    if (itemp < 2) {
        p->multiStrike = 1;
	printf(Str(X_1248,"striking twice here!!\n"));
    }
    else if (itemp < 1) {
        p->multiStrike = 2;
	printf(Str(X_1247,"striking three times here!!!\n"));
    }
    else p->multiStrike = 0;
    Modal4_strike(m, *p->amplitude * AMP_RSCALE);
...

So about 40% of strikes are double and 10 % are triple strikes.

It is argumable that 
1) The message should be suppressed;
2) The percentages shoudl be user controlable.

I am happy to do either or both of these.  Advice please.