local audio = require "audio" require "table2" local sample_rate = 44100 local duration = 8 local data = table.rep(sample_rate * duration, 0) local freqs = {261.6, 293.6, 329.6, 349.2, 392.0, 440.0, 493.9, 523.3} for j = 0, duration - 1 do local freq = freqs[j + 1] local omega = 2 * math.pi * freq for i = 0, sample_rate - 1 do local y = math.round(32 * math.sin(omega * i / sample_rate)) & 255 data[i + j * sample_rate + 1] = y end end local filepath = "musical_scale.wav" audio.create(filepath, data, sample_rate) audio.play(filepath)