On this remarkable day, we commemorate the birth of Scott Joplin, renowned as the King of Ragtime. Join us in celebrating this musical genius by experiencing a fresh rendition of his famous composition, Maple Leaf Rag, accompanied by captivating animation.
A Creative Interpretation
Unraveling the true essence of Joplin’s masterpiece, we embarked on a journey to interpret it in a unique and exciting way. Our endeavor led us to transcribe this iconic piano piece using PICO-8, resulting in a delightful fusion of music and technology.
Music: A Creative Symphony
With only four channels at our disposal, staying true to the score required imaginative use of instruments and effects. Although predominantly piano-based, we utilized five different instruments to craft a rich soundscape:
- A normal held note
- A held note one octave down to emphasize the starting low note that gracefully ascends the piano
- A held note with simultaneous octave down using detune
- A staccato note
- A staccato note with simultaneous octave down using detune
This ingenious approach enabled us to capture the essence of Joplin’s work, which extensively incorporates octaves in the bass and accentuated sections of the melody. Although some notes had to be left out in certain chord sequences, we meticulously prioritized which ones to omit. The missing notes are inconspicuous – unless you possess an intimate understanding of this masterpiece coupled with keen observation of the accompanying animation.
To overcome the limitations posed by PICO-8’s framework, the last section of the piece had to be arranged separately, bridging the gap between creative expression and technical constraints.
Animation: A Visual Symphony
The animation accompanying this rendition is a dynamic representation of the music itself. By leveraging SFX data, we achieved a seamless correlation between the music and visuals. Every change in the music is mirrored in the animation, allowing us to modify or introduce new elements without compromising synchronization.
Behind the scenes, the GETNOTES() function played a pivotal role. By incorporating time offsets, this function provides a list of notes that should be playing at any given moment. Analyzing the currently playing pattern and its respective tick, combined with PEEK(), helps determine which patterns and sounds are active at a specific time. This information, coupled with data on pitch and instrument voices, enables us to precisely simulate the keys being pressed on a piano. Detune notes require playing two keys simultaneously, one octave apart, while staccato notes and fade-out effects necessitate early key releases.
The visual representation of the keys themselves is achieved through rendering sprites. By referencing the notes being played, we determine whether to display pressed or unpressed key sprites.
For the dynamic piano roll, each line corresponds to a different time offset. Employing PSET(), we can dynamically change the color of each corresponding spot on the roll, adjusting for perspective and scaling. This technique creates an illusion of the roll moving as the dots elegantly scroll down the screen.
The Future of Piano Transcriptions
Inspired by the process of transforming Maple Leaf Rag into this captivating showcase, we envision an entire series dedicated to transcribing and reimagining piano music. By leveraging compression techniques like PX9, a single cart could incorporate multiple songs. However, we acknowledge the challenges associated with sustained notes and complex harmonies within PICO-8’s limitations. For now, Maple Leaf Rag serves as a testament to the endless possibilities this fusion of music and technology presents.
If you’re curious to explore the intricacies of our creation, delve into the well-commented code. Peek inside and witness the potential of utilizing a similar approach to automatically synchronize elements in rhythm games.
Come, join our celebration of Scott Joplin’s legacy and experience the magic of Maple Leaf Rag brought to life in a whole new light.