Ihr seid langweilig. Man nimmt eher schön bandlimitiertes gefäbtes rauschen (einmal pink und einmal mit nem 6dB-Bandpass bei ca. 2KHz, das ganze im Wechsel) und jagt das durch ne schöne Saturation, am besten eine von der Art, bei der die Bässe die Höhen fressen. Zu eurem Scheiss kann man ja nicht mal tanzen
#include <stdlib.h>
#include <windows.h>
#include <mmsystem.h>
#pragma comment (lib,"winmm.lib")
typedef signed short s16;
static s16 l=0,b=0,h=0; // nicht zu verwechseln mit Sascha
static s16 count=0;
void render(s16 *buffer, int len)
{
while (len--)
{
int noise=(rand()&0x7fff)-0x4000;
if (!count--) count=30000;
if (count>10000)
{
l+=(0x1000*b)>>16;
h=noise-(b>>1)-l;
b+=(0x1000*h)>>16;
noise=l;
}
else
{
l+=(0x3000*b)>>16;
h=noise-(b>>5)-l;
b+=(0x3000*h)>>16;
noise=b;
}
noise*=10;
if (noise>0x7ffff) noise=0x7fff;
else if (noise<-0x7fff) noise=-0x7fff;
*buffer++=noise;
}
}
static struct wave
{
int RIFF,rsize,WAVE,fmt,fmtsize;
PCMWAVEFORMAT wfmt;
int data,dsize;
s16 w[60*48000];
} mywave = { 'FFIR',sizeof(wave),'EVAW',' tmf',sizeof(PCMWAVEFORMAT),
{WAVE_FORMAT_PCM,1,48000,96000,2,16},'atad',2*60*48000};
void main(int argc, char** argv)
{
render(mywave.w,60*48000);
PlaySound((char*)&mywave,GetModuleHandle(0),SND_MEMORY|SND_SYNC);
}
Das kompiliert (Windows, VC++) und läuft so übrigens. Du bist dran, Nina *fg*
(Edit: Ich hab mal den unteren Teil etwas forenfreundlicher formuliert
)