| 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.
|