Interactive Piano with Animated Keys

This project showcases an interactive piano where each pressed key triggers a corresponding animation projected onto a physical keyboard. The goal was to blend physical interaction with a piano and digital visualization, creating a unique and immersive user experience. Animation: Spline (creating interactive key animations). Programming: Python (processing MIDI signals and interacting with Spline). Hardware: MIDI keyboard, projector, laptop. Additional Resources: ChatGPT for generating and optimizing the code.

Services

experimental

Client

Me

Year

2024

Tools

Spline3D, Python, MIDI keyboard

Concept and Idea

Goal: Create an interactive visualization for a MIDI keyboard using a projector, programming, and animation.

Objectives:

  • Design animations for piano keys that correspond to MIDI notes.

  • Synchronize physical piano keys with real-time visual animations.

  • Ensure precise alignment of animations with the physical keys.

Animation in Spline

  • Developed animations in Spline, assigning a unique animation to each key.

  • Key positions were adjusted to align perfectly with the physical keys when projected.


Writing the Code

  • Developed a Python script to capture key presses from the MIDI keyboard using MIDI inputs.

  • Utilized a library for MIDI device interaction and implemented logic to map MIDI signals to animations in Spline.

  • The script was initially generated with ChatGPT and refined through testing.


Setting Up the Projection

  • Used a projector to map animations onto the physical piano, ensuring the visual keys matched their physical counterparts.

  • Conducted testing and debugging to ensure animations responded accurately to key presses.