30 lines
740 B
Lua
30 lines
740 B
Lua
local sg=soundgen
|
|
local fade
|
|
do
|
|
local fwav=sg:sine():phase(0.75):freq(0.25)
|
|
fwav=fwav:clamp(0,1)
|
|
fwav=fwav:add(sg:silence(-1):clamp(-math.huge,0))
|
|
function fade(wave,ma,mi)
|
|
local ff=fwav:freq(1/(mi-ma)):phase(-ma)
|
|
return wave:am(ff,1,-1)
|
|
end
|
|
end
|
|
local function new()
|
|
local wave=sg:noise():phase(math.random()*1000):freq(1000):amp(0.25)
|
|
:pm(sg:triangle():freq(50):am(sg:silence(1):fade(0,0.04),-1,1),-0.01,0.01)
|
|
:add(sg:sine():amp(0.55):freq(50):pm(sg:noise():freq(500):phase(0.834715384),-0.01,0.01))
|
|
wave=wave:fade(0,0.1)
|
|
wave=wave:fade(0.001,0)
|
|
return wave
|
|
end
|
|
local waves={}
|
|
for n=0,1-1 do
|
|
waves[#waves+1]=new():phase(-n*0.1):amp(0.3)
|
|
end
|
|
local wave=sg:silence():clamp(0,1):add(unpack(waves))
|
|
return wave:compile()
|
|
|
|
|
|
|
|
|