It has been so long since I posted, the reason is that I have been quite busy with my GSoC timeline. The GSoC period is about to end, but before I describe my GSoC journey and contributions, I would like to state that KDE will be launching the cool Minuet application for Android phones.
Minuet music education Free Software, thoughtfully designed to push your musical skills to the next level. Enhance your ability to recognize intervals, chords, rhythm, and scales while enjoying all the power of Free Software.Yes it is open source 🙂
The application is currently available on GNU/Linux and Android(pre Marshmallow). We will be soon releasing it on other platforms.
Journey to GSoC
My GsoC journey begun in mid-February, when I started contributing to Minuet repository of KDE. Fast forward two months, and I was thrilled to be selected for Google Summer of Code 2016. My main aim was to develop an Android application using Qt(C++) that had the same feature as that of the Desktop version.
The project is currently being maintained by Sandro Andrade. He has been an amazing mentor and I am lucky to have him as my mentor 🙂
I guess it is time to summarize the whole 3 months work. You can find my contributions here.
I started the journey by looking for the cross platform MIDI libraries, believe me I had a tough time looking for these libraries until I came across Csound. Csound actually made my work easier by providing all the functionalities that I was looking for. Although on digging deep , we found out that Csound used Fluidsynth opcodes which again is a music synthesizer for Linux and currently used in Minuet desktop application. So may be in the near future we may use Fluidsynth in Minuet mobile application. The sound fonts currently being used is sf_GMbank.sf2.
My next task was to implement Scales, Chords, Rhythms and Intervals exercises. Currently the exercise data is stored in JSON format. The advantage of using this method is that new exercises can be added with literally no changes in the code. So you can add your exercises too 🙂
Once done with the above tasks, we(I and my mentor) had to design the UI of the application. Since smart phones are much smaller in size than desktops and laptops, our main challenge was to have an interactive user interface with all the required elements in one page.
After spending days working on the UI, we finally managed to come up with a working design.
In the ending phase, we tried to fix all the bugs, make certain improvements and voila now finally we have a working Minuet Android application 🙂
So this is how it looks so far.
For next year students?
I have learned a lot from previous students/mentors hints. And as a GSoC participant duty, I should give next generation of students some kind of advice, so they never get surprised. That feedback wouldn’t differ a lot from what others would tell, write code a lot, keep strong bonds with your mentor.
Keep asking questions, even if it is a silly one. Be patient on IRC also also keep contributing to the same organization even after GSoC period. The main aim of this program is to introduce students to open source projects.