The first and third are easy.. i'll get you started with some code examples... none of it is tested so take with a grain of salt...
timer.Create("eventtimer", 1600, 0, EventFunction)
function EventFunction()
WorldSound( "path/to/music", Vector( 0, 0, 0 ), 160, 100 )
local ent = ents.Create("npc_antlionguard")
ent:SetPos(Vector(0,0,0)) -- Change this to where you want the guard to spawn.
ent:Spawn() -- This method spawns the guard.
end