BeatBlox is the latest extension to the NetsBlox block-based programming environment developed at Vanderbilt University. NetsBlox was built on top of the open-source codebase of Snap! from UC Berkeley and was specifically designed to teach cutting edge computing concepts such as distributed computing, the Internet of Things, and cybersecurity to novices. It opens the internet to student projects, making computing more relevant to their lives and more engaging. A modular, full year, high school curriculum called Computer Science Frontiers (CSF) utilizes NetsBlox and is freely available to teachers to bring these capabilities to their classrooms. A new online course can help both students and teachers learn NetsBlox from the ground up.
With the creation of BeatBlox, NetsBlox aims to become even more engaging and motivating to students by combining computing with another domain that is already widely loved by people from all backgrounds, music. The overarching goal of BeatBlox is to reach students who have traditionally felt excluded from or unrepresented in computer science. BeatBlox allows students to create high quality music using a rich set of simulated digital instruments, add special effects such as reverb, panning or layering, incorporate public domain tunes into their creations, import sheet music, and even save their compositions for playback on any device. Its built-in networking capabilities make it possible for students to collaborate and create a digital orchestra where each computer plays a single instrument yet remains synchronized. Students can even add visualizations to their music, or conversely, add sound effects or musical scores to their games or digital animations.
Check out our sample set of projects demonstrating the many capabilities of BeatBlox. Happy coding!Each demo is summarized in a brief video, and a link is provided to open the corresponding project in BeatBlox for tinkering. For best compatibility across devices, we recommend that you use the Google Chrome browser on a computer (not a mobile device) when running the demos. To run a project, click the green flag at the top right corner of the BeatBlox interface. If any of the demo videos appear blurry on playback, please ensure that they are playing in full HD quality by clicking the “Cog Wheel” settings icon in the YouTube interface and ensuring that the quality is set to 1080p.
Basic Music Functionality
Introduction to BeatBlox showcasing a simple block-based satellite-like musical effect.
BeatBlox-based implementation of Beethoven's "Ode to Joy" highlighting simultaneous playback of multiple instruments along with real-time score visualization.
Sampling of various easy-to-create visualizations to accompany a musical composition, demonstrating the real-time graphical capabilities of BeatBlox.
Implementation of a four-piece band first on a single computer and then by four individual BeatBlox users being played back synchronously.
Networked Effects and Graphics
Helicopter flyby on a single computer first, then in three separate browser tabs, and finally, using distributed audiovisual animation across three computers showing a helicopter moving both visually and acoustically between individually running programs.
External Device Access
Musical compositions demonstrating ease of access to external devices, such as MIDI keyboards and mobile phones. To try maracas on your phone, you need to install the PhoneIoT mobile app from the app store and then scan the QR code as shown in the video.
Open Accessibility and Tinkering
End-to-end demonstration of importing a public domain MIDI song into BeatBlox, changing its key and tempo, and exporting the resulting audio to a file.
Two hardware-free instrument implementations allowing users to experiment with playing music without requiring physical hardware or instruments using a webcam only.
Sample curricular module with a simple built-in task with integrated assessment and the ability for teachers to examine the process not just the end result.