Google Summer of Code With Sugar Labs(Week 5)

Mubashirsharik
2 min readJul 15, 2024

--

This week I delved deeper into the MIDI structure and made significant improvement in Musical Audio Transcription to MIDI. Here’s a recap of my progress:

Exploring MIDI Structure with Tone.js

My primary focus this week was to understand the structure of the MIDI file format using the Tone.js library. MIDI files are a powerful way to represent musical information, but they are complex due to the structure of parameters such as tempo, time signature, and the sequence of musical notes are . I used Tone.js to work with these elements, allowing me to parse and manipulate MIDI data effectively.

Enhancing Music Blocks with Tempo and Time Signature

Building on my newfound understanding of MIDI, I integrated support for tempo and time signatures. These features are essential for accurately representing the rhythm and timing of musical pieces. By adding this functionality, Music Blocks can now offer users more precise control over their musical creations, making the tool even more versatile and useful for educational purposes.Below i have attached a screenshot of the structure of header of MIDI files.

Achievements

  • Deep Dive into MIDI Structure: Gained a comprehensive understanding of MIDI files and their various components.
  • Integration with Tone.js: Utilized Tone.js to parse and manipulate MIDI data, enhancing my skills with this powerful library.
  • Added Tempo and Time Signature: Successfully integrated these features into Music Blocks, improving its functionality and user experience.

Overall, this week has been a significant step forward in my GSoC journey with Sugar Labs. I’m excited to continue building on this foundation and look forward to the upcoming challenges and opportunities.

Checkout more details about MIDI here: https://github.com/Tonejs/Midi

Thanks for reading

See you next Week!

--

--

Mubashirsharik

Gsoc'2024 sugarlabs | SDE Intern @congruent solutions