Skip to content

Instantly share code, notes, and snippets.

@calebmeyer
Last active Oct 3, 2018
Embed
What would you like to do?
Converter Script for sonic-pi
# encoding: UTF-8
require 'open-uri'
TAB_TO_CONVERT = "https://raw.githubusercontent.com/geraldhumphries/df-guitar-tabs/master/txt/song_game.txt"
GUITAR_NOTES = {
hi_e: %i(e4 f4 fs4 g4 gs4 a4 as4 b4 c5 cs5 d5 ds5 e5),
b: %i(b3 c4 cs4 d4 ds4 e4 f4 fs4 g4 gs4 a4 as4 b4),
g: %i(g3 gs3 a3 as3 b3 c4 cs4 d4 ds4 e4 f4 fs4 g4),
d: %i(d3 e3 f3 fs3 g3 gs3 a3 as3 b3 c4 cs4 d4),
a: %i(a2 as2 b2 c3 cs3 d3 e3 f3 fs3 g3 gs3 a3),
e: %i(e2 f2 fs2 g2 gs2 a2 as2 b2 c3 cs3 d3 e3),
}
lines = open(TAB_TO_CONVERT).read.split("\n")
song = []
code = ['# tab converted using convert.rb', 'use_synth :pluck', 'use_bpm 160']
lines = lines.select { |line| line.include?('--') }.map(&:chars)
lines.each_slice(6) do |row|
loop do
break if row[0].length.zero?
notes = {
hi_e: row[0].pop,
b: row[1].pop,
g: row[2].pop,
d: row[3].pop,
a: row[4].pop,
e: row[5].pop,
}
notes = notes.select { |note, value| Integer(value, 10) rescue false }
song.push(notes) unless notes == {}
end
end
song.each do |chord|
chord.each do |string, value|
code.push("play :#{GUITAR_NOTES[string.to_sym][value.to_i]}, release: 1")
end
code.push("sleep 1\n")
end
File.open(File.join(File.dirname(__FILE__), './sonic_pi.rb'), 'w') do |file|
file.write(code.join("\n"))
end
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <http://unlicense.org/>
# tab converted using convert.rb
use_synth :pluck
use_bpm 160
play :e4, release: 1
sleep 1
play :cs4, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :cs4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :a2, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :d4, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :d4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :a2, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :ds4, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :ds4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :ds4, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :ds4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :cs4, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :cs4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :a2, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :d4, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :d4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :a2, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :ds4, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :ds4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :ds4, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :ds4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :gs3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :gs3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :gs3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :a2, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :c4, release: 1
play :gs2, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :a3, release: 1
play :a2, release: 1
sleep 1
play :fs3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :fs3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :fs3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :fs3, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :fs3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :fs3, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :fs3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :fs3, release: 1
sleep 1
play :a3, release: 1
play :f2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b3, release: 1
play :g2, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :cs3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :cs3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :cs3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :cs3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
play :fs2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :g3, release: 1
play :g2, release: 1
sleep 1
play :cs3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :cs3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :as3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :cs3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :cs3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
play :fs2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :as3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :g3, release: 1
play :g2, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :cs3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :as3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :cs4, release: 1
sleep 1
play :cs3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :as3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :cs3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
play :fs2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :g3, release: 1
play :g2, release: 1
sleep 1
play :d3, release: 1
play :b2, release: 1
sleep 1
play :e3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
play :b2, release: 1
sleep 1
play :e3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
play :b2, release: 1
sleep 1
play :e3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
play :b2, release: 1
sleep 1
play :e3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :as3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :e2, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :fs2, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :as2, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :as3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :as3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :e2, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :e2, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :e2, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :e2, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :e3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :e3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :e3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :e3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :e3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :e3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :e3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :e3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :e2, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :e2, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :e2, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :e2, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :as3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :gs3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :as3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :gs3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :e3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :e3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :e3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :e3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :e3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :e3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :ds4, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :b4, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :ds4, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :b4, release: 1
play :as3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :c5, release: 1
sleep 1
play :c5, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :c5, release: 1
sleep 1
play :c5, release: 1
play :as3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :f4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :f4, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :f4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :as3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :gs4, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :gs4, release: 1
play :a3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :a4, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :a4, release: 1
play :as3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :gs3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :gs3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :a2, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :cs4, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :cs4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :d4, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :d4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :a3, release: 1
play :a2, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :gs3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b3, release: 1
play :g2, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :c4, release: 1
play :gs2, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g2, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :g2, release: 1
sleep 1
play :fs3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :fs3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :fs3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :fs3, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :fs3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :fs3, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :fs3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :fs3, release: 1
sleep 1
play :a3, release: 1
play :f2, release: 1
sleep 1
play :d4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :d4, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :d4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :d4, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :c4, release: 1
play :c3, release: 1
sleep 1
play :d4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :d4, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :d4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :d4, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :c4, release: 1
play :c3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :c3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :c4, release: 1
play :c3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g4, release: 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :ds4, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :ds4, release: 1
play :c3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
play :c3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :fs4, release: 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
play :c3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
play :cs3, release: 1
sleep 1
play :ds4, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :ds4, release: 1
play :cs3, release: 1
sleep 1
play :ds4, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :ds4, release: 1
play :c3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
play :c3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
play :cs3, release: 1
sleep 1
play :ds4, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :ds4, release: 1
play :cs3, release: 1
sleep 1
play :ds4, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :ds4, release: 1
play :c3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
play :c3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
play :c3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
play :cs3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :ds4, release: 1
sleep 1
play :e4, release: 1
play :cs3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :d4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :fs4, release: 1
sleep 1
play :g4, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
play :c3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :gs3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :gs3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :fs3, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :e3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :d4, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :fs3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :gs3, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :d3, release: 1
sleep 1
play :gs3, release: 1
sleep 1
play :b3, release: 1
sleep 1
play :b2, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :g3, release: 1
sleep 1
play :c4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :a2, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :cs4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :cs4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :f3, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :d4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :fs3, release: 1
sleep 1
play :a3, release: 1
sleep 1
play :d4, release: 1
sleep 1
play :e4, release: 1
sleep 1
play :fs3, release: 1
sleep 1