Challenge: 
Winner?: 
No
Code Snippet: 
nums=1
make_sound(nums)
play sound nums
volume=100
rem This loop will fade the sound out while it is playing
while sound playing(nums)
  set sound volume nums,volume
  dec volume
  sleep 50
endwhile
end

function make_sound(number)
  format as dword
  channels as dword
  sampleRate as dword
  adr as dword
  chunkSize as dword
  sampleSize as dword
  dword7 as dword
  format = 1
  channels = 1
  sampleRate = 22050
  sampleSize = 16
  chunkSize = (int(sampleSize / 8.0+0.5))*channels
  adr = sampleRate*chunkSize
  dword7 = 0
  rem ###################################
  rem Use a select-case statement so you can create multiple sounds
  rem Just add a new case statement for each sound number you want to create
  select number
    case 1
      rem ##########################################################
      rem Adjust these values to get different sounds
      rem Very minor adjustments will create very different sounds
      length = 500
      wave#=0.0
      increment#=2.0
      gain#=-0.09
      amplitude=65535
      decay=0
      rem #########################################################
      speed=sampleRate
    endcase
  endselect
  rem number of samples
  samples = length*sampleRate/1000
  rem size of memblock
  size = samples*int(sampleSize/8.0+0.5) + 28
  make memblock 1, size
  write memblock dword 1, 0, format
  write memblock dword 1, 4, channels
  write memblock dword 1, 8, sampleRate
  write memblock dword 1, 12, adr
  write memblock dword 1, 16, chunkSize
  write memblock dword 1, 20, sampleSize
  write memblock dword 1, 24, dword7
  pos = 28
  out as word
  for i = 1 to samples
      out = sin(wave#)*amplitude
      write memblock word 1, pos, out
      inc pos, 2
      wave#=wave#+increment#
      if wave#>360.0
        wave#=wave#-360.0
        increment#=increment#-gain#
      endif
      amplitude=amplitude-decay
  next i
  make sound from memblock number,1
  delete memblock 1
  set sound speed number,speed
endfunction