Skip to content

Instantly share code, notes, and snippets.

@TOAST3R
Last active March 31, 2017 04:00
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save TOAST3R/65e41c72d00eb7d18d6c to your computer and use it in GitHub Desktop.
Save TOAST3R/65e41c72d00eb7d18d6c to your computer and use it in GitHub Desktop.
techno track with EarSketch
from earsketch import *
from random import *
init()
setTempo(125)
# declare variables
kick = OS_KICK01
snare = OS_SNARE01
hit_hat = OS_OPENHAT03
hit_hat_2 = OS_OPENHAT04
tom = OS_LOWTOM01
bass_1 = Y62_BRASS_1
bass_2 = Y62_ELECTRO_BUILD_2
bass_3 = Y62_PERCUSSION_2
compas = 256
for measure in range(1, compas/4) :
if (measure < 16):
makeBeat(kick,1,measure,'0+++++++0+++++++')
else:
if measure % 4 == 0:
makeBeat(snare,2,measure,'----0+++----0+0+')
else:
makeBeat(snare,2,measure,'----0+++----0+++')
makeBeat(kick,1,measure,'0++-0++-0++-0+++')
for measure in range(1, compas) :
if (measure % 8 == 0):
fitMedia(hit_hat, 3, (measure+4)*1.0/4, (measure+5.5)*1.0/4)
if measure > 128:
fitMedia(hit_hat_2, 4, (measure+3.5)*1.0/4, (measure+3.8)*1.0/4)
if (measure % 8 == 0):
fitMedia(tom, 5, (measure+3.25)*1.0/4, (measure+3.35)*1.0/4)
fitMedia(tom, 5, (measure+3.75)*1.0/4, (measure+3.9)*1.0/4)
# effects:
setEffect(8, VOLUME, GAIN, -5, 1, -5, 70)
setEffect(2, DISTORTION, DISTO_GAIN, 50, 1, 50, 128)
setEffect(3, DISTORTION, DISTO_GAIN, 50, 1, 50, 128)
setEffect(3, VOLUME, GAIN, -10, 1, -10, 70)
setEffect(9, DISTORTION, DISTO_GAIN, 50, 1, 50, 128)
setEffect(9, VOLUME, GAIN, -10, 1, -10, 70)
for measure in range(1,compas/2) :
if measure % 2 == 0 :
setEffect(3, PAN, LEFT_RIGHT, -100, 2*measure-1.5, -100, 2*measure+0.5)
else :
setEffect(3, PAN, LEFT_RIGHT, 100, 2*measure-1.5, 100, 2*measure+0.5)
#setEffect(2, PAN, LEFT_RIGHT, 100, 4*measure+1, -100, 4*measure+3)
array_bass = [bass_1, bass_2, bass_3]
for count in range(17, compas/4, 8):
makeBeat(array_bass, 6, count, '0--0+++--1+--2++')
makeBeat(array_bass, 6, count + 2, '0+++++++++++++++')
for count in range(9, compas/4, 8):
makeBeat(array_bass, 7, count-1, '0++0++0+-1+1+2++')
drums = [TECHNO_LOOP_PART_025, TECHNO_LOOP_PART_030, TECHNO_LOOP_PART_033, TECHNO_LOOP_PART_032]
beatPattern = '0+++++++++++++++'
beatPattern1 = '0+++++++0+++++++'
otherPattern = '0+++++++++++++++'
# randomizing:
for counter in range(33, compas/4, 4):
index = randint(0, 3)
drum = drums[index]
makeBeat(drum, 8, counter, beatPattern)
makeBeat(drum, 8, counter + 1, beatPattern1)
makeBeat(drum, 8, counter + 2, beatPattern)
makeBeat(TECHNO_MAINLOOP_009, 9, counter + 3, otherPattern)
finish()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment