Sunday, May 23, 2010

Audio-output code

Experimenting with a hack of 3-bit DAC (1k, 560, 200 ohm resistors and a speaker),
and been able to get much more interesting sounds than the usual square-wave beep. For instance:

#define NOISEINT 30
void drumbeat(int len1, int len2)
{
int i;
long t;
for (i=0; i < len1; i++) {
write_DA(random(8)); //attack
delayMicroseconds(NOISEINT);
}
for (i=0; i < 30; i++) {
write_DA(random(6)); //sustain
delayMicroseconds(NOISEINT);
}
for (i=0; i < 30; i++) {
write_DA(random(4)); //sustain
delayMicroseconds(NOISEINT);
}
for (i=0; i < 30; i++) {
write_DA(random(3)); //sustain
delayMicroseconds(NOISEINT);
}
for (i=0; i < 150; i++) {
write_DA(random(2)); //decay
delayMicroseconds(NOISEINT);
}
delay(len2 - 6);
// t = len2 - (20*len1) - (600+600+600+4000)
}


-Thanks WestFW

No comments:

Post a Comment