Piano robot

Piano robot

This robot allows you to input a tempo and 4 chords, and the robot will play those notes at that speed on a piano.

Zev

This robot was made to put my piano to use and help me practice guitar. When you input a note on the computer, the computer interprets it as a number, which corresponds to the position of that note on the keyboard. The robot will drive to that spot and then, based on the tempo you inputted, wait a certain amount of time before pressing the key and moving to the next note. There is also an ultrasonic sensor that makes sure the robot doesn’t stray too far from the keyboard. I used this robot to help me practice improvising guitar over various chord progressions and to practice building songs around simple keyboard loops.

25 thoughts on “Piano robot

  • August 7, 2020 at 2:29 PM
    Permalink

    Impressive! The overlap between music and engineering is always super cool. Did you have to start it at a specific key for it to know where to go? How did it keep track of the current position?

  • August 7, 2020 at 3:01 PM
    Permalink

    This is awesome! Like a robot “player piano”. The sampling at the end was a really nice touch. Did you use any particular sensors on the robot? (e.g. did it “know” what note it was playing) Any ideas for what you would add next to this robot if you were going to work on it another week?

    • August 7, 2020 at 3:34 PM
      Permalink

      The ultrasonic was the only sensor (it was used to keep it the correct distance from the piano). The robot kind of knew what note it was playing, when you enter notes in the beginning it converts the notes to encoder values, and that’s where it drives to.

  • August 7, 2020 at 3:01 PM
    Permalink

    This is so dope, I also play guitar and I really like how you sampled over the piano and made a song out of it, I wish I thought of this, nice work

  • August 7, 2020 at 3:03 PM
    Permalink

    Playing music definitely helps with boredom. I definitely use this. Also, maybe try and make the arm hold down the note for a longer time? I don’t know, just a suggestion.

    • August 7, 2020 at 3:36 PM
      Permalink

      Great suggestion. I really wanted to do that but currently the robot is too slow to hold the notes down and then make it to the next note without having to really lower the tempo. If I raise the motor speed it’s too unstable and overshoots the notes, and then it has to spend even longer correcting the mistake. I’ll have to think of a better way to make this work. Thanks!

    • August 7, 2020 at 3:38 PM
      Permalink

      Currently the robot is really slow, so only around 40 bpm. If I raise the motor speed it can do much faster, like around 80, but then it usually overshoots the notes and plays it incorrectly. Note quite sure how to fix the issue yet

  • August 7, 2020 at 3:04 PM
    Permalink

    I think the idea was creative, and it’s really interesting and different to have it actually play an instrument rather than just play a recorded song

    –Ian

  • August 7, 2020 at 3:05 PM
    Permalink

    This is such a cool project idea! I love the idea of programming a robot to play an actual instrument. How does the robot know which specific spot to go to? Is it just based on the motor encoders?

  • August 7, 2020 at 3:05 PM
    Permalink

    Really love the idea and I can imagine it would be really useful. I love how accurate you made it. Great job getting the distances down and finalizing something really accurate.

  • August 7, 2020 at 3:05 PM
    Permalink

    I think its really cool to use a robot as a layer for a song. Do you think you’ll continue with the project later and improve it by making it be able ton play more notes or have faster playing speed?

    • August 7, 2020 at 3:42 PM
      Permalink

      I think so. If i continue working on this my main focus will be reliability and playing notes for longer duration while still being able to make it to the next notes. I’ve found practicing improvising guitar along with something makes it a lot easier and I hope this can help me improve. Thanks!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.