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