soundtest/sounds/8.lua

20 lines
496 B
Lua
Raw Normal View History

2024-05-26 15:27:13 +03:00
local sg=soundgen
local waves={}
local function sign(n)
return n>0 and 1 or (n<0 and -1 or 0)
end
for n=1,32 do
local a=sg:noise(0):phase(n):freq(50*2^(n^0.8*2)):amp(0.5^(n/2)^1.2)
local b=sg:noise(0):freq(50*n)
waves[n]=sg:new(function(self,t)
local aa=(n)/100
local t=t
local y=a:sample(t^(0.15*((n-1)^1.1/30+1))+b:sample(t)*aa)
return math.abs(y)^2*sign(y)
end)
end
local wave=sg.add(unpack(waves)):amp(1.2)
wave=wave:fade(0.001,0)
wave=wave:fade(0.001,0.5)
return wave:compile()