published on
undefined
-------------------------------------------------------------
EarSketch helps you learn core topics in computer science, music, and music technology in a fun, engaging environment. You learn to code in Python or JavaScript, two of the most popular programming languages in the world, while manipulating loops, composing beats, and applying effects to a multi-track digital audio workstation. To learn more about EarSketch, visit http://earsketch.gatech.edu.
-------------------------------------------------------------
This music was generated by the following code:
# python code
# script_name: Ciara "SET" Competition
#
# author: Alice Tidmarsh
# description:
#
#setup
from earsketch import *
init()
setTempo(110)
#variables
closedHat = OS_CLOSEDHAT04
kick = OS_KICK06
snare = OS_SNARE02
crash = Y05_CRASH_1
#intro
def intro(startM, repeat):
for a in range(1, repeat):
fitMedia(CIARA_SET_THEME_ATMOS_2, 1, startM, startM+4)
fitMedia(CIARA_SET_THEME_ATMOS_3, 2, startM+3, startM+4)
if (a > 1):
aa = "0-000---" * 8
ab = "0--0--0-" * 6
ac = "0-00-0--" * 4
makeBeat(closedHat, 5, startM, aa)
makeBeat(kick, 6, startM+1, ab)
makeBeat(snare, 7, startM+2, ac)
fitMedia(CIARA_SET_VOX_PRE_CHANT_1, 3, startM + 2, startM + 4)
fitMedia(CIARA_SET_VOX_HOOK_5_TAIL, 4, startM + 4, startM + 4.25)
startM = startM + 4
#1st transition: drum solo
def t1(startM):
ae = "0--0-00-00--0-0-"
af = "0----0----00-0-0"
makeBeat(snare, 7, startM, ae)
makeBeat(kick, 6, startM, af)
#chorus
def chorus(startM, vocals, bass):
fitMedia(CIARA_SET_THEME_PIANO, 1, startM, startM+4)
fitMedia(CIARA_SET_KICK_1, 2, startM, startM+4)
fitMedia(CIARA_SET_THEME_MELSYNTH, 3, startM, startM+4)
ag = "0--0--0-00--0-00"
ah = "0-----0---00-0-0"
makeBeat(snare, 4, startM+3, ag)
makeBeat(kick, 5, startM+3, ah)
setEffect(5, VOLUME, GAIN, 0, startM+2.9, 8, startM+3)
fitMedia(RD_WORLD_PERCUSSION_DRUMSMAIN_6, 6, startM, startM+4)
setEffect(6, VOLUME, GAIN, 0, startM-0.01, 4, startM)
if (vocals == 'less'):
fitMedia(CIARA_SET_VOX_PRE_CHANT_1, 8, startM, startM+4)
setEffect(8, VOLUME, GAIN, -30, startM, 0, startM)
else:
fitMedia(CIARA_SET_VOX_HOOK_3, 8, startM, startM+4)
setEffect(8, VOLUME, GAIN, -30, startM, 0, startM)
for c in range(0, 2):
fitMedia(CIARA_SET_VOX_HOOK_5_TAIL, 9, startM+2, startM+2.25)
startM += 2
startM = startM-4
if (bass == 'more'):
fitMedia(CIARA_SET_BASSLINE_4, 11, startM, startM+4)
fitMedia(CIARA_SET_DRUMBEAT_5, 12, startM, startM+4)
for b in range(0, 2):
fitMedia(TECHNO_WHITENOISESFX_002, 7, startM+1, startM+2)
setEffect(7, VOLUME, GAIN, 8, startM+1, 12, startM+2)
startM += 2
startM = startM-4
#1st verse
def v1(startM):
fitMedia(CIARA_SET_PERC_SHAKER, 1, startM, startM+4)
fitMedia(CIARA_SET_PERC_HIHAT_1, 2, startM, startM+4)
fitMedia(CIARA_SET_BASSLINE_2, 3, startM, startM+4)
ai = "00---0-000--0-00" * 4
aj = "0--00---00-0--0-" * 4
makeBeat(kick, 4, startM, ai)
makeBeat(snare, 5, startM, aj)
fitMedia(CIARA_SET_VOX_POST_HARMONY_1, 7, startM, startM+2)
setEffect(7, VOLUME, GAIN, 8, startM-0.01, -6, startM)
fitMedia(CIARA_SET_VOX_POST_HARMONY_2, 7, startM+2, startM+4)
fitMedia(CIARA_SET_VOX_POST_2, 8, startM+2, startM+4)
fitMedia(CIARA_SET_VOX_POST_1, 8, startM, startM+1)
setEffect(7, VOLUME, GAIN, -30, startM, 0, startM)
for i in range(2):
fitMedia(CIARA_SET_THEME_MELSYNTH, 6, startM+1, startM+2)
fitMedia(CIARA_SET_THEME_MELSYNTH, 11, startM+1.5, startM+2)
startM += 2
#2nd transition: riser
def t2(startM):
fitMedia(RD_TRAP_SFX_WASHRISE_1, 9, startM, startM+2)
fitMedia(HIPHOP_HIHAT_ROLL_001, 10, startM+1, startM+2)
setEffect(10, VOLUME, GAIN, 8)
#3rd transition: crash cymbal
def t3(startM):
ai = "0-00-00-0--00-0-"
am = "0--00-0--00--000"
makeBeat(snare, 1, startM, ai)
makeBeat(kick, 8, startM, am)
#2nd verse
def v2(startM):
aj = "----0-00----0-00" * 3
makeBeat(kick, 1, startM-0.25, aj)
fitMedia(CIARA_SET_VOX_PRE_1, 2, startM-0.25, startM+1.75)
fitMedia(CIARA_SET_VOX_PRE_2, 2, startM+1.75, startM+3.75)
setEffect(2, VOLUME, GAIN, 0, startM-0.26, -60, startM-0.25)
setEffect(2, VOLUME, GAIN, -60, startM-0.01, 0, startM)
track = 3
#sounds = [CIARA_SET_PERC_SHAKER, CIARA_SET_PERC_RIM, CIARA_SET_PERC_HIHAT_3, CIARA_SET_PERC_WOOD]
sounds = [Y31_DRUMPAD_1, Y37_PERCUSSION_3, Y38_BEAT_1, Y42_PERCUSSION_1]
for i in range(0, 3):
track = 3
for perc in sounds:
fitMedia(perc, track, startM, startM+0.5)
startM+=0.25
track+=1
#bridge
def b1(startM):
fitMedia(HIPHOP_TRAPHOP_BEAT_001, 2, startM, startM+3)
fitMedia(RD_TRAP_BASSDROPS_1, 3, startM, startM+3)
fitMedia(CIARA_SET_KICK_2, 4, startM, startM+3)
fitMedia(CIARA_SET_THEME_MAIN_1, 6, startM, startM+4)
setEffect(6, VOLUME, GAIN, 0, startM-0.01, -30, startM)
setEffect(6, VOLUME, GAIN, -30, startM, -5, startM+3)
for i in range(0, 2):
fitMedia(HIPHOP_HIHAT_ROLL_002, 5, startM+1, startM+2)
startM+=2
#4th transition
def t4(startM):
ak = "0-0-0-----"
al = "------0-0-"
makeBeat(snare, 1, startM, ak)
makeBeat(kick, 1, startM, al)
#function calls
intro(1, 3)
t1(9)
chorus(10, 'less', 'less')
v1(14)
t2(16)
chorus(18, 'more', 'less')
#transition:cymbal
fitMedia(crash, 7, 22, 23)
t3(22)
v2(23)
t4(26.5)
b1(27)
#transition: riser+track dropout
fitMedia(RD_EDM_SFX_RISER_AIR_1, 11, 29, 31)
chorus(31, 'more', 'more')
#ending (intentionally abrupt)
setEffect(9, DELAY, DELAY_TIME, 0, 35, 300, 35.06)
finish()
-------------------------------------------------------------
To load this track in EarSketch, visit https://earsketch.gatech.edu/earsketch2/#?sharing=zOCG7ZvKouCQXIfBLlepag
-------------------------------------------------------------