[HN Gopher] RoboPianist: Dexterous Piano Playing with Deep Reinf...
       ___________________________________________________________________
        
       RoboPianist: Dexterous Piano Playing with Deep Reinforcement
       Learning (2023)
        
       Author : bemmu
       Score  : 125 points
       Date   : 2025-02-27 09:41 UTC (13 hours ago)
        
 (HTM) web link (kzakka.com)
 (TXT) w3m dump (kzakka.com)
        
       | fedeb95 wrote:
       | waiting for Robot Devil.
        
       | kbouck wrote:
       | Any way we can get the Westworld intro song into the demo list?
        
       | amelius wrote:
       | I mean, keys are always in the place where you expect them to be,
       | so what is the challenge here? (Yes, too lazy to read the
       | article).
        
         | rossant wrote:
         | I think the robot learnt to play by itself, right?
        
         | smokel wrote:
         | The idea is that the motor control is pretty hard to program,
         | and by using reinforcement learning, one only has to tell the
         | computer whether it hits the right keys (reward).
         | 
         | The reinforcement learning algorithm takes in the state of the
         | fingers and piano keys, and outputs the required motor actions
         | to perform well.
         | 
         | Also, as you are too lazy to read an article but still feel
         | entitled to comment on it, I herby give you -1 reward. Let's
         | see if that helps to improve your character.
        
         | cloudbonsai wrote:
         | > what is the challenge here?
         | 
         | If you know the precise state of each motor in a robot hand,
         | you can compute the absolute position of its fingertip, right?
         | 
         | To make a robot play piano, you need to solve the _reverse_
         | problem of it i.e. to compute the motor states from the target
         | robot position. This problem is called  "Inverse Kinematics"
         | and not fully resolved to this day.
         | 
         | Reinforcement Learning (RL) people claim that, if you let a
         | robot move randomly, and give it apporopriate rewards depending
         | on the resulting state, eventually it learns to solve the
         | problem by itself (just like a human baby eventually learns how
         | to walk through trial & error).
         | 
         | Now, you are looking at the state of the art of RL in 2023.
        
           | upbeat_general wrote:
           | The challenge here is not IK. Sure, you don't need IK if your
           | policy directly operates in joint space but this isn't the
           | motivation for doing RL.
           | 
           | IK to my knowledge is well known in every setting I am aware
           | of.
        
         | recursive wrote:
         | Where's yours? That's probably the best way to find all the
         | challenges.
        
       | davidanekstein wrote:
       | Funny enough I'm listening to Rhapsody in Blue while browsing HN.
       | I'd like to see it do that for 17 minutes.
        
       | criddell wrote:
       | Is this actually buildable? I'd like to hear it on a real piano
       | because (IMHO) the one in the videos sounds bad.
       | 
       | I'd like to also hear how loud the mechanical noise of the
       | machine playing the piano would be. Does the left hand work
       | harder with the heavier keys? What would the hands be mounted to?
        
         | j_bum wrote:
         | What do you mean "heavier keys"?
         | 
         | Each key (on a good piano) is weighted to have the same force
         | requirements to be played. Of course varying forces can be used
         | to achieve different decibels, but the _curve_ is the same
         | across the piano.
        
           | ano-ther wrote:
           | Probably this:
           | 
           | > Every single key on a grand piano keyboard is weighted
           | differently. This is because the strings for each note are
           | slightly thinner and shorter in the treble register, becoming
           | thicker and longer towards the bass register. As a result,
           | there is greater resistance when playing low notes than when
           | playing high notes. In other words, a heavier touch is
           | required in the left hand and a lighter touch in the right
           | hand. To emulate this in a digital piano, the keys are often
           | individually weighted, with the lower keys heavier than the
           | higher ones -- something that's called graded weighting.
           | 
           | https://hub.yamaha.com/pianos/p-digital/a-quick-guide-to-
           | wei...
        
             | cbtones wrote:
             | It's not the strings though, the hammers are smaller as you
             | go to the right in the higher register on the piano. The
             | strings are slightly smaller in diameter, but remarkably
             | shorter in length.
        
         | cloudbonsai wrote:
         | > Is this actually buildable
         | 
         | Yes. The robot used in this study is Dexterous Hand from Shadow
         | Robot. It's a real product, and costs around $200-300k (for a
         | single hand).
         | 
         | Controlling a real robot using a RL policy (model) trained in a
         | simulation environment is also doable. It's called "Sim2Real"
         | and has been widely experimented in the last decade (with mixed
         | success, though).
        
           | criddell wrote:
           | Thanks for that information.
           | 
           | There's a video that shows the hand moving and it doesn't
           | look like it would be fast enough for anything but relatively
           | slow songs:
           | 
           | https://youtu.be/2ggpvigfEZE?t=55
        
             | knowaveragejoe wrote:
             | This is more recent, and arguably going after something
             | different(fingertip sensation), but I'm sure has overlap as
             | well:
             | 
             | https://www.youtube.com/watch?v=9AofrJJaS8U
        
         | dheera wrote:
         | > We use the Musical Instrument Digital Interface (MIDI)
         | standard to represent a musical piece as a sequence of time-
         | stamped messages corresponding to "note-on" or "note-off"
         | events. A message carries additional pieces of information such
         | as the pitch of a note and its velocity.
         | 
         | I play the piano and I think MIDI does not have enough
         | parameters to describe an acoustic piano. It's not just a
         | single strike velocity that determines each sound. Where you
         | play within the double escapement, how far down you hit the
         | key, they all change the sound a bit.
         | 
         | That said though there are better MIDI synthesizers, e.g.
         | https://www.modartt.com/ They still don't match an acoustic. I
         | can tell the difference quite easily. I think a neural TTS
         | retrained on piano data could do better.
        
       | rossant wrote:
       | Nice work! And great interactive 3d application. My 6yo had a lot
       | of fun annoying the robot while it's playing by forcefully moving
       | its hands around.
        
       | pama wrote:
       | This was a nice demonstration of letting these robotic hands
       | learn to play a keyboard. The technique is limited due to
       | constraints of the hands, and is closer to parts of the technique
       | of early keyboard instruments like an organ or a harpsichord,
       | rather than that of a modern grand piano, which requires a lot
       | more control of the body core, shoulders, elbows, arms, and
       | wrists with the fingers doing as minimal a motion as possible. I
       | suppose a similar algorithm learning to play on a grand piano
       | using a full humanoid body could learn a technique that would be
       | exciting to analyze.
        
         | djtango wrote:
         | Tangential but your comment has just given me a penny drop
         | moment that I can isolate each degree of freedom (finger,
         | wrist, elbow, shoulder) and still play a key to sound a note.
         | 
         | For context I have been working on playing multiple lines of
         | music with right hand lately (Chopin etudes, much struggle...)
         | and saw a video from a professional recommending playing the
         | main melody "with the arm". This has helped a lot with the
         | visualisation and now I can really have a cleaner technique
         | playing the accompaniment above the escapement (using nice flat
         | fingers) and the melody with a much richer tone (using the arm
         | typically for the pinky).
         | 
         | I sort of understood in an intuitive nonverbal sense what I am
         | doing but after your comment, the mechanics now makes a lot
         | more sense of what I'm actually doing - thanks!
        
           | pama wrote:
           | Glad it helps. Claudio Arrau thought of the fingers as "dead"
           | with all the piano playing happening using larger muscles. It
           | is a struggle to internalise this concept in some Chopin
           | etudes (op 10, no 2 especially) but it almost immediately
           | helps in others (op 25, no 1).
        
             | bondarchuk wrote:
             | Interesting, I've read similar things about
             | calligraphy/writing (from the elbow!), hadn't connected it
             | to piano playing.
        
           | cbtones wrote:
           | Yes, that's where this model is massively missing, an
           | accomplished pianist plays with the whole arm, the elbow is
           | crucial, it needs to stay very relaxed in order to
           | accommodate the peculiarities of the human hand, the ring
           | fingers and little fingers don't have as many tendons
           | connecting and having a little sway in the elbows is crucial
           | to making those fingers deliver the weight of the arm
           | properly to the keybed. This model appears to ignore rotation
           | of the wrist, and easing the elbows, where at a bare minimum
           | it needs to start at the shoulder, and I'd argue the whole
           | body.
        
             | djtango wrote:
             | Yeah but as gp pointed out that was the style du jour of
             | baroque and early classical as the plucking keyboards were
             | mostly played with a finger technique
        
         | vunderba wrote:
         | This. In fact isolating and attempting to play purely from the
         | fingers alone is a great way to develop RSI or any number of
         | soft tissue injuries.
         | 
         | There's entire schools of thought around proper ergonomics with
         | respect to piano playing - I took lessons in the Taubman
         | technique which (very simplistically) tries to encourage
         | movement farther upstream on the body.
         | 
         | https://www.ednagolandsky.com/the-taubman-approach-basic-pri...
        
       | PatronBernard wrote:
       | The thing needs a teacher, terrible technique! /s
        
         | bongodongobob wrote:
         | I think this is worth mentioning for people who don't play
         | piano. It's technique is terrible and bizarre. It's flicking
         | the keys with its fingernails.
        
         | rossant wrote:
         | It plays almost as badly as I do.
        
       | beardyw wrote:
       | All the right notes but not necessarily at the right time.
        
         | kzrdude wrote:
         | Which is exactly the wrong way around from what's expected for
         | a pianist :)
        
       | linwangg wrote:
       | This's awesome!!!
        
       | gtirloni wrote:
       | Imediatelly reminded of the anonymous quote: "I want AI to do my
       | laundry and dishes so that I can do art and writing, not for AI
       | to do my art and writing so that I can do laundry and dishes."
       | 
       | I understand it's a bad argument because 1) people may need
       | assistance to do art/writing and 2) the advancements gained from
       | teaching AI to do art can be applied to other non-artistic
       | endeavors (e.g. piano AI could be really good to operate machines
       | with lots of buttons and no computerized interface).
       | 
       | However, the cost cutting side of the argument is the one that
       | bothers me because companies/people WILL use AI like that in
       | place of actual humans because they're likely to be cheaper in
       | the future. So that pianist or musician playing in a local
       | restaurant can be sure their job will be automated away by a
       | subpar AI and real humans will be relegated to very expensive
       | locations (an extension of replacing humans with recorded music,
       | in a way).
       | 
       | My pessismist side thinks greed will be the downfall of humanity.
        
         | ebiester wrote:
         | I agree, but live performance in the age of recording is
         | already a luxury good, and it is unlikely an AI would replace
         | live performance any more than a player piano or CD player
         | would (or has.)
        
           | dingnuts wrote:
           | I can't see how in a world full of recordings how in person,
           | live performance art could get anything but vastly more
           | valuable.
           | 
           | I saw a stage performance of Clue a few weeks ago. It was
           | lovely. Nothing was AI generated, and couldn't be, because it
           | was people physically making art live. How nice.
           | 
           | I will continue to pay for those experiences and to
           | prioritize them over recorded ones.
        
             | gtirloni wrote:
             | No doubt it'll be more valuable but the number of
             | opportunities (to watch and play at those) will decrease
             | globally.
        
         | bluGill wrote:
         | The pianist playing in a restaurant was optimized by the player
         | piano (which would only play if you put a nickel in) back in
         | the late 1800s. Muzak put the final nail in that coffin in
         | 1954.
         | 
         | The player piano technology comes from the barrel organ, which
         | seems to have been on the first pipe organs.
        
         | MantisShrimp90 wrote:
         | The only real answer here.
        
         | numpad0 wrote:
         | People want robots do (low-value && computationally intensive)
         | tasks - I think it's fair and okay by now to say unfolding wet
         | clumps came out of a washing machine belongs to a class of
         | tasks that are _computationally intensive for human brains_.
        
         | fipar wrote:
         | Your comment reminded me of a scene from the movie "El
         | Mariachi". In it, the title character walks into a bar looking
         | for a job as a Mariachi, and is faced with the bar owner
         | telling him something like "Why do I need a Mariachi when I can
         | have a full band?", then pointing to a guy resting in the
         | corner next to an organ (an "electronic organ", of the family
         | type, as opposed to, you know, a hammond or something like
         | that). The resting guy presses the "demo" button and the organ
         | plays Mariachi music on its own ...
         | 
         | I share your pessimism partially, but I also wonder: if the
         | system keeps optimizing for profit, at some point there just
         | won't be enough people in the world to sell products and
         | services to. I don't know what the answer is.
         | 
         | Edit: typo
        
         | throw80521 wrote:
         | I think if ones perspective of manual art changes, so does that
         | of AI art, sorta like shifting priorities in life. Some
         | priorities are higher than others. And past a certain point, AI
         | art becomes a tempting option beneath a certain motivation
         | level.
         | 
         | If for example you find manual art more fun to practice than AI
         | art, you'd be less inclined to give AI companies money to
         | generate art, since you could perhaps spend hours and hours
         | practicing and have fun.
         | 
         | And of course if you don't find manual art enjoyable, but still
         | don't want to give up on the "art" idea entirely, AI art
         | crosses the threshold into enjoyability, so the end product is
         | at least in front of your eyes.
         | 
         | As for how to learn how to make one type of art more fun than
         | the other, if ones preferences are set in stone, it's pretty
         | tough. The AI/non-art-inclined crowd might invert your quote so
         | the laundry and dishes get prioritized, because different
         | people have different priorities.
        
       | pacificmaelstrm wrote:
       | "Player Piano"
        
       | Tycho wrote:
       | Has anyone tried to get a robot to do oil paintings?
        
       | torusle wrote:
       | Honestly,
       | 
       | this is really bad. It might be a breakthrough of what you are
       | doing, but when I listen to the output all of the timing and
       | phrasing is aweful.
        
         | scientaster2 wrote:
         | Alright then, post your ML simulation of a piano player, I'll
         | wait :)
        
       | ericye16 wrote:
       | This was the basis of a project I did for my deep reinforcement
       | learning class!
       | 
       | https://ericye16.com/stanford-cs224r
       | 
       | We were able to make some improvements by tuning how the reward
       | is distributed and also by first pretraining the agent on scales
       | before fine-tuning them on the final pieces.
       | 
       | Thanks to Kevin Zakka for helping us get started with the RL
       | environment!
        
       | wbakst wrote:
       | the fact that the failure modes come from limitations of the
       | robotic hands is super interesting
        
       ___________________________________________________________________
       (page generated 2025-02-27 23:01 UTC)