GSoC’18 - Final Report

Going Beyond Equal Temperament in Music Blocks.

Riya Lohia
GSoC’18 with Sugar Labs
2 min readAug 12, 2018

--

Aim :

The project aims to remove the barrier of equal temperament and introduce different types of tuning systems to Music Blocks.

Development Period :

  • My work started with creation of a look up table and set temperament block which is used to tune the notes attached to it according to the selected temperament.
  • After the completion of look up table, I started working on the user interface of Temperament Widget which included circular and tabular representation of notes in an octave. (Detailed UI in earlier blog post)
Music Blocks and Temperament
  • After the representations, I worked on edit tools such as Equal, Ratio, Arbitrary and Octave Space. (Detailed UI in earlier blog post)
  • After the User interface was made, tweaks were made in one of the music blocks file (musicutils.js). Notes in an octave which was previously hard coded as 12 can now be extended.
  • After these tweaks, I worked on different ways to play custom temperament (user-defined) notes such as generation of a new pitch block whose pie menu would refer pitch names from its corresponding custom temperament system.
  • After fixing bugs, I worked on documentation of Temperament Widget.
  • Changes and features related to temperament widget are currently under testing. The code will be merged once the testing is done and the corresponding changes are made.

Link to my Work :

Challenges Faced :

  • As we dig deeper in temperament theory, the concepts and logic behind these concepts becomes more and more tricky to grasp.
  • Moving notes via slider in the ‘Arbitrary’ edit panel was challenging to implement. (Code to move notes)
  • It was tricky to change the hard coded (with respect to equal temperament) parts in the musicutils.js file.

Acknowledgement :

I would like to thank my mentors Walter Bender and Devin Ulibarri for their constant guidance and motivation. A big thanks to Sugar Labs community and Google Summer of Code (GSoC) for providing such a wonderful opportunity for learning and helping me to be an active member of Open Source Community.

--

--