package require snack set C 262 set dur 4000 set beat 5000 set amp 30000 set score cdefedcrefgagfercrcrcrcrcdefedcr set freq $C foreach note {c _ d _ e f _ g _ a _ b} { set freq [expr {$freq * pow(2, 1. / 12.)}] set osc [snack::filter generator $freq $amp 0.0 sine $dur] snack::sound $note $note filter $osc $note length $beat } snack::sound r; r length $beat snack::sound snd foreach note [split $score {}] { snd concatenate $note } snd play -blocking yes # snd write kaeru.wav -fileformat WAV