Chris Oh’s Status Report for Feb 28

This week I focused on implementing and testing the conversion layer pipeline and adding an audio preview feature to support early validation of the system. The goal was to ensure that sheet music can successfully be converted into event data and previewed before hardware integration. In addition, I improved the pipeline to support direct MusicXML uploads so the system can be tested without relying on the OMR stage.

Conversion Layer Implementation

  • Completed implementation of the functionality to convert parsed MusicXML scores into structured note events.
  • Added a sanity check tool that verifies MusicXML parsing and event generation by loading a test score and printing basic statistics such as number of notes and generated events.
  • Improved robustness of the conversion module so it can run independently from the repository root, which simplifies development and testing.
  • Extended the pipeline to support direct MusicXML and MXL file uploads, allowing users to bypass the OMR stage when testing the system with known sheet music files.

Audio Playback and Testing

  • Implemented a lightweight audio synthesis system that generates simple sine-wave playback from MIDI note values. This allows the generated event data to be previewed without needing hardware.
  • Added support for chords and basic attack/release envelopes to reduce clicking artifacts during playback.
  • Implemented an event playback session system that supports play, pause, and stop controls while tracking elapsed playback time.
  • Integrated the playback system into the Streamlit interface as an Audio Preview feature. Users can now upload sheet music, generate events, and preview the resulting audio with adjustable BPM.
  • Added playback progress visualization and improved session state management so playback behaves correctly within Streamlit’s execution model.

Status Report 4 Requirements: Part A

From a global perspective, LumiKey addresses a common barrier in music education: the difficulty of learning to read sheet music and translate it into correct key presses on a piano. Many beginners around the world have access to inexpensive keyboards but lack access to formal instruction or structured learning tools. LumiKey aims to reduce this barrier by visually guiding users to the correct keys using LED indicators driven by sheet music input. Because the system relies on widely available hardware components and open-source software, it has the potential to be used by learners in many different environments, including schools, homes, and self-study settings where formal music instruction may not be available.

Schedule

I am currently on schedule. The conversion layer pipeline is now functional and can generate note events from MusicXML files. The addition of the audio preview feature also provides a useful way to validate the correctness of event generation before integrating with the hardware layer.

Deliverables for Next Week

  • Connect the event generation pipeline to the LED hardware interface.
  • Begin testing event timing synchronization between software playback and LED output.
  • Continue improving robustness of the conversion pipeline with additional sheet music examples.
  • Perform integration testing of the Streamlit interface with the full software pipeline.

Leave a Reply

Your email address will not be published. Required fields are marked *