to loadwav f
local [size wav]
openReadBin f
setReader f
size=FileSize f
wav=readInt16ArrayBin size/2
setReader []
close f
; (pr f "loaded)
output wav
end
to resizeWav wav factor
local "w
w=Int16Array 44+round ((count wav)-44)*factor
setItems 1 w Items 1 44 wav
setItems 45 w resize
(Items 45 count wav wav) (count w)-44
output w
end
clickWav=loadwav "start.wav
cmajor=[0 2 4 5 7 9 11 12]
stoneWav=Array 8
repeat 8 [
i=repcount
stoneWav.i=resizeWav clickWav 2^((12-cmajor.i)/12)
]
repeat 100 [playWaveFast stonewav.(1+random 8) waitms 10]
|