DEV Community

Peter Anglea
Peter Anglea

Posted on

4 2

I Made a Breakout Room with a Digital Piano and JavaScript

Several months ago, my wife and I decided to create our own "breakout room" experience in our house to entertain friends and family.

I decided to get crafty with JavaScript and create a series of locks that required players to play certain notes correctly on a digital piano. The piano is connected to a computer with a MIDI cable. On the computer, a Chrome browser window is open and listening for input with the Web MIDI API.

Willy Wonka demonstrating a piano lock

I wrote an entire article about everything I learned in the process. Read it now on Smashing Magazine.

ALSO, I got published on Smashing Magazine!! Ahh!

Here’s a video of a demo gameplay sequence from the Smashing article. Shown below the Chrome window is a virtual MIDI keyboard to help visualize which notes are currently being played. For a normal breakout room scenario, this can run in full-screen mode and with no other inputs in the room (such as a mouse or computer keyboard) to prevent users from closing the window.

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (0)

SurveyJS custom survey software

JavaScript Form Builder UI Component

Generate dynamic JSON-driven forms directly in your JavaScript app (Angular, React, Vue.js, jQuery) with a fully customizable drag-and-drop form builder. Easily integrate with any backend system and retain full ownership over your data, with no user or form submission limits.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay