Introduction

Allegro in C(++) is an exploration of using robots to create music. Our goal was to create a robot that can replicate a sequence of notes played on an electronic keyboard. To do this, Allegro listens to a musical motif played by a user, computes its own plan to reproduce it, then actuates to move its hand to the appropriate positions to play those notes.

Points of Interest

This project involves imitating a human activity, and is accomplished by splitting the task into multiple components that a computer can process. To attain success, a wide variety of problems must be solved:

  • Sensing: Using only a microphone and signal processing, convert audio from a speaker into notes and durations.

  • Planning: Compute a path that moves Allegro’s hand to the proper keys, while minimizing distance traveled and taking advantage of its finger configuration.

  • Actuation: Move Allegro’s hand using a linear rail system, and determine proper servo angles for key actuation.

  • Hardware: Adapt a linear rail system to fit project needs. Design and manufacture a hand capable of playing a keyboard.

Applications

The work from this project could be useful in making playing keyboards more accessible, allowing users to input sounds from different sources and obtaining a physical output played on a piano. Allegro could provide accompaniment for pianists missing a limb, or play the other part in a duet for a solo pianist. By physically playing notes, it provides a more natural sound than electronically generated audio from a speaker. Additionally, the sensing and actuation aspects of this project could be extended to a variety of use cases where audio input is available. For example, a robot could determine the location and size of gas leaks based on the pitch and volume of the leak, then accurately navigate to that location to solve the issue.

results matching ""

    No results matching ""