Diary – Learning some music

 

I don’t know anything about music. And I don’t remember how this started, but now I am making an attempt to learn some music using my laptop.

Although I never finished this (Hegwid’s Theme), this was 1st piece of music which I programmed after learning to read some sheet music (about a month back).  Here’s the part of sheet music, which I used, along with the code.

(Click on the image)

# Hegwid'sThemeExp.py

from music import *

##### define the data structure
score = Score("Hegwid's Theme", 195) # tempo is 195 bpm

### Celesta Part
celestaPart = Part(CELESTA, 0)


celestaPhrase1= Phrase(0.0);
celestaPitches11 = [REST, B4, E5, G5, FS5, E5, B5, A5, FS5, E5, G5, FS5, DS5, FS5, B4] 
celestaDurations11 = [HN, QN, QN+EN, EN, QN, HN, QN, HN+QN, HN+QN, QN+EN, EN, QN, HN, QN, HN+QN] 
celestaPitches12 = [B4, B4, E5, G5, FS5, E5, B5]
celestaDurations12 = [HN, QN, QN+EN, EN, QN, HN, QN]
celestaPitches13 = [[D5, G5, D6], DF6, [C5,F5, C6], AF5, [C5, E5, C6],A5, GS5]
celestaDurations13 = [ HN, QN, HN, QN, QN+EN, EN, QN]
celestaPitches14 = [AS4, G5, E5, G5, [E5,B5], G5, [E5,B5], G5, [E5, C6], B5]
celestaDurations14 = [HN, QN, HN+QN+HN, QN, HN, QN, HN, QN, HN, QN]
celestaPitches15 = [[FS5,AS5], FS5, [E5, G5], B5, AS5]
celestaDurations15 = [ HN, QN, QN+EN, EN, QN]

celestaPhrase1.addNoteList(celestaPitches11, celestaDurations11)
celestaPhrase1.addNoteList(celestaPitches12, celestaDurations12)
celestaPhrase1.addNoteList(celestaPitches13, celestaDurations13)
celestaPhrase1.addNoteList(celestaPitches14, celestaDurations14)
celestaPhrase1.addNoteList(celestaPitches15, celestaDurations15)

celestaPhrase2= Phrase(0.0);
celestaPitches21 = [REST, E4, E4, E4, E4, E4, AS4, B3, E4, G4]
celestaDurations21 = [HN+QN, HN+QN, HN+QN, HN+QN, HN+QN, HN+QN, HN, QN, HN, QN]
celestaPitches22 = [B4, B3, E4, E4]
celestaDurations22 = [HN, QN, HN+QN, HN+QN]
celestaPitches23 = [[D5, G5, BF6], [C5, F5, AF5],[C5, E5, A5]]
celestaDurations23 = [ HN+QN, HN+QN, HN+QN]
celestaPitches24 = [[CS5, E5, F5], E4, G4, B4, B3, E4, G4, B4, B3, E4, G4]
celestaDurations24 = [ HN+QN, HN, QN, HN, QN, HN, QN, HN, QN, HN, QN]
celestaPitches25 = [AS4, E4, F4, G4, A4, B4, A4, G4, F4, E4, G4]
celestaDurations25 = [QN, SN, SN, SN, SN, SN, SN, SN, SN, HN, QN]

celestaPhrase2.addNoteList(celestaPitches21, celestaDurations21)
celestaPhrase2.addNoteList(celestaPitches22, celestaDurations22)
celestaPhrase2.addNoteList(celestaPitches23, celestaDurations23)
celestaPhrase2.addNoteList(celestaPitches24, celestaDurations24)
celestaPhrase2.addNoteList(celestaPitches25, celestaDurations25)

celestaPart.addPhrase(celestaPhrase1)
celestaPart.addPhrase(celestaPhrase2)

Mod.transpose(celestaPart, 12)
score.addPart(celestaPart)

Write.midi(score, 'Hegwid'sTheme.mid')
Play.midi(score)

 

Original MIDI Version produced directly through python code:

http://moebiuscurve.com/wp-content/uploads/2018/06/HegwidsTheme.mid

 

 

And after converting to mp3 (https://www.zamzar.com/):

 

Although, there’s still a lot to learn about basic music.  And it will probably take years. Nevertheless, this is a start for me. And I am loving it.