float amp = 32767f;
float sampleRate = 64f;
float freq = 440f;
int sampleLenght = 256;
if(!Bass.BASS_Init(-1, (int)sampleRate, BASSInit.BASS_DEVICE_DEFAULT, IntPtr.Zero))
ShowMes("Error Init");
int sample = Bass.BASS_SampleCreate(sampleLenght, (int)(freq * sampleRate), 1, 1, BASSFlag.BASS_SAMPLE_LOOP | BASSFlag.BASS_SAMPLE_OVER_POS);
if (sample == 0)
ShowMes("Error SampleCreate");
short[] data = new short[sampleLenght / 2]; // data buffer
for (int i = 0; i < sampleLenght / 2; i++)
data[i] = (short)(amp * Math.Sin(i * 2f * Math.PI / sampleRate)); // sine wave - bass
if (!Bass.BASS_SampleSetData(sample, data ))
ShowMes("Error SampleSetData");
int channel = Bass.BASS_SampleGetChannel(sample, true);
if(!Bass.BASS_ChannelPlay(channel, true))
ShowMes("Error ChannelPlay");