Hello !!

This week I worked upon Music chunks representation with matrix.


Once a matrix is played then it can be saved using ‘Save Matrix’ block as a chunk. After saving the chunk, when you click on that, the corresponding notes are being played. For a given chunk, its matrix can also be generated by using the ‘Show’ block. You just have to give the chunk as argument to the show block. After the matrix corresponding to the argument chunk is displayed, it can also be edited and saved again as another chunk ūüôā .
Now, the main advantage of chunk representation is that they can be plugged together and played sequentially as a melody.    today1

By working on chunks separately, students can focus on a particular place in the music, while building something that they will use as part of the larger whole in a latter lesson.

Next week I’ll work upon UI aspects like making matrix and notations movable, make notes that are longer than just one matrix box (half notes, dotted half notes,¬† and whole notes) and shorter than just one matrix box (some division, like eighth notes or triplets).


Downloadable notations yayy !!

Hi all

This week I added functionality of downloading the music notations as png image. The green download button does the job.

I started developing chunks representation with matrix but it will take a few more days to complete. For generating Tablature notations from matrix I found Vextab that can help us. But the problem is that it requires input as fret number and string number, and we are not dealing with them till now.

Apart from this, I made the matrix responsive, made notations scrollable.


Till next week I will complete music chunks representation with matrix and will make some basic music tools like playing music and recording sound etc.


Music Notation


This week I added functionality of transforming¬†matrix into staff and marks on it into musical notation. Music notations can be made with ‘music notation’ block. Firstly, you’ve to set up the parameters in matrix block and generate the matrix. After clicking on desired notes in the matrix, click on the ‘Play Matrix’ block and then finally clicking upon ‘Music Notation’ block will generate notations for that matrix. More notations can be generated by marking different notes in the same matrix. You just have to click again the block after playing the edited matrix.

Screenshot from 2015-06-12 04:59:43

I also integrated the prototype I made earlier. It allows user to make note using note block, note value of each note can be set, like 4 denoted a quarter note, 8 denotes eighth note value and so on. In the palette, I also made different type of oscillators(sine, square, sawtooth), frequency, start and end time can be set for each oscillator. Music Chunks can also be made but with note block. Below is an example of hot cross buns melody played with chunks. It gives another modular way of representing music.

Screenshot from 2015-06-12 05:23:47

Oscillator : There are sine, sawtooth and square wave oscillators. Screenshot from 2015-06-12 05:29:28

My next week targets are generating tablature notation from matrix, developing chunks representation with matrix and making improvements in the work done so far.


Sprite for each note!


As Walter suggested, I gave a turtle(sprite) to each note so that notes representation can be made fungible . Also, Transformation of matrix into staff and marks on it into musical notation can be made easier by this.

I also added transposition functionality. If we enter +2 in the transposition block then the notes that are to be played gets scaled up by 2 steps and similarly, to scale down the notes we enter the number of steps to be scaled down with ‘-ve’ sign.

In the play Matrix block, the number represents the time(in ms) after which matrix is to be played.


Now for next week, I will look upon generating lilypond and MIDI from the matrix. I will also implement the chunks which Devin proposed in mouse music pdf.


Music Blocks

Hello everyone !!

I am Yash Khandelwal, a 3rd year undergraduate a IIIT-Hyderabad. I have been accepted by Sugar Labs in Google Summer of Code 2015.

I will develop music blocks for Children/music-newbies to learn music in an interactive and graphical manner. It will have analogy to blocks as in turtleblocksJS. It will be a suite of music tools for introducing the basic concepts of scale, beat, chord, time signature, sequencing etc.

In community bonding period students meet with  their mentors and the community. I discussed about functionalities and methods of implementation.

Last week I had a video chat with Devin, he explained me about music matrix that I intend to develop. We discussed about project planning and preparing. The aim is to develop a music matrix in which we can set time signature, pitch, tempo, volume, transposition. It could also be exported to lilypond.

I developed a basic matrix in which parameters i.e. time signature and octave(for pitch) can be given as of now.


link to the project -> Music-Blocks

There is a lot of things that need to be developed in matrix, this week I will do that only.

Thanks for reading. See you!