# Script below. comp = Composition(2, 100) strings = comp.buildVoice(50, 'Strings') cello = comp.buildVoice(43, 'Cello') melodyVol = 100 backgroundVol = 60 cello.adjustPitchOffset(-12) baseKey = 58 comp.setKey(baseKey) comp.setScale(Voice.MAJOR) # Functions def motive01(voice): voice.scaledNote(0, 4) voice.scaledChord([0, 2, 4], 4) voice.scaledChord([0, 2, 5], 4) voice.scaledChord([-1, 1, 3], 4) voice.scaledChord([0, 2, 4], 4) def motive02(voice, offset): for x in [0, 3, 2, 1, 2, 0]: voice.scaledNote(x + offset, 2)
stringEns = comp.buildVoice(49, 'Strings') cello = comp.buildVoice(43, 'Cello') cello.adjustPitchOffset(-24) fHorn = comp.buildVoice(61, 'French Horn') fHorn.adjustPitchOffset(-12) perc = comp.buildPerc() timpani = comp.buildVoice(48, 'Timpani') baseKey = 69 comp.setKey(baseKey) comp.setScale(Voice.DORIAN) # Functions # Slow functions. def introMel1(voice): voice.slideVolume(80, 100, 2) voice.scaledNote(0, 4) voice.scaledNote(-3, 4) voice.scaledNote(-1, 4) voice.scaledNote(-2, 1) voice.scaledNote(-4, 1) voice.scaledNote(-3, 6)
voice2.scaledNote(4, 2) voice2.scaledNote(2, 2) voice2.scaledNote(3, 2) voice2.scaledNote(0, 2) voice2.scaledNote(1, 2) voice2.scaledNote(2, 2) voice2.rest(4) voice2.scaledChord([0, -2, -4], 4, bor = Voice.MAJOR) # Begin prelude comp.setScale(Voice.HARMONIC_MINOR) main(organMid) organHigh.catchUp(organMid.whereAreWe()) main(organHigh) main_harm(organMid) comp.catchUpAll() part01(organHigh, organMid) main(organLow, 4) for _ in range(0,2): organMid.scaledNote(0, 4) # Transition to Mixolydian. comp.catchUpAll()
violin2.catchUp(violin1.whereAreWe()) altTheme01Cont(violin1) altTheme01Cont(violin2, -2) if tf: viola.scaledNote(0, 2) viola.scaledNote(1, 2) viola.scaledNote(2, 2) viola.scaledNote(1, 2) viola.scaledNote(3, 2) viola.scaledNote(1, 2) viola.scaledNote(0, 2) viola.scaledNote(-1, 2) viola.scaledNote(0, 4) dummyFunc() cello.rest(1) comp.setScale([0,2,3,5,7,8,11]) comp.catchUpAll() #dummyFunc() #cello.rest(1) #comp.catchUpAll() dummyFunc(True) # End script. filename = 'Output/' + __file__[:-2] + 'mid' comp.writeToFile(filename) os.system('fluidsynth -a alsa -g 1.5 ' + SETTING__SOUND_FONT + ' ./' + filename)
bariSax = comp.buildVoice(68, 'Baritone Sax') bariSax.adjustPitchOffset(-24) bariSax.setVolume(127) tenorSax = comp.buildVoice(67, 'Tenor Sax') tenorSax.adjustPitchOffset(-12) tenorSax.setVolume(127) baseKey = 67 comp.setKey(baseKey) modScale = [0, 3, 5, 6, 7, 9, 10] # 0 1 2 3 4 5 6 comp.setScale(Voice.HEXATONIC_BLUES) # Functions def mainTheme(voice): for _ in range(0, 2): voice.scaledNote(0, 1.5) voice.scaledNote(6, .5) voice.rest(1) voice.scaledNote(5, 1.5) voice.scaledNote(4, .5) voice.rest(1) # 6 beats voice.scaledNote(3, 1.5) voice.scaledNote(2, 1)
lPiano = comp.buildVoice(1, 'Piano Left Hand') lPiano.adjustPitchOffset(-24) #lPiano.setVolume(110) lPiano.mute(True) baseKey = 67 #baseKey = 70 comp.setKey(baseKey) #modScale = [0,1,3,5,7,8,10] # 0 1 2 3 4 5 6 bridgeScale = [0, 2, 3, 5, 7, 10, 11] # 0 1 2 3 4 5 6 comp.setScale(Voice.DORIAN) # Functions def counterTheme(voice): def dummyFunc(): voice.scaledNote(0, .5) voice.scaledNote(-1, .5) voice.scaledNote(0, 3) voice.scaledNote(2, 1) voice.scaledNote(1, 3) dummyFunc()
#cello = comp.buildVoice(30, 'Overdriven Guitar') violin.setVolume(80) strings.setVolume(80) cello.setVolume(90) tuba.setVolume(120) timpani.setVolume(120) timpani.adjustPitchOffset(-30) cello.adjustPitchOffset(-12) tuba.adjustPitchOffset(-24) violin.adjustPitchOffset(12) comp.setKey(60) mode = [0,2,3,5,7,9,10] comp.setScale(mode) # This is some kind of mode or something. # Functions def intro(voice): voice.scaledNote(-3, 2) voice.scaledNote(2,2) voice.scaledNote(1, 2) voice.scaledNote(0, 1) voice.scaledNote(-1, 1) voice.scaledNote(0, 2) voice.scaledNote(-2, 2) voice.scaledNote(-3, 3) voice.rest(1) def main(voice, durMult = 1): # durMult * 8 beats
def bass10(voice): voice.rest(8) voice.slideVolume(60, 100, 2) voice.scaledNote(-1, 2) voice.scaledNote(1, 2) voice.scaledNote(2, 2) voice.scaledNote(3, 3) altscale = [0, 2, 4, 5, 8, 9, 11] altscale2 = [0, 2, 4, 5, 7, 9, 10, 11] # Script. comp.setScale(Voice.MIXOLYDIAN) #comp.stop()#dmz1 # Our Father, which art in heaven. lead01(violin) harm01(viola, violin2) # Hallowed be Thy name. comp.catchUpAll() lead02(violin) viola.adjustVolume(10) harm02(viola, violin2) bass02(cello) viola.adjustVolume(-10)