33 comments

  • bilsbie 2 minutes ago
    Should tokens be multiple Midi notes? Why or why not?
  • karmelapple 38 minutes ago
    Hearing the start of Für Elise, and then it being taken in an incredibly different direction, is surprisingly disconcerting.
  • jasonjmcghee 1 hour ago
    I think this is a great project and very HN. Not sure why the comments are so focused on the deliverable- you learned way more and had a much more interesting experience.

    One think I didn't see mentioned in the post- maybe I missed it- how large was the data? How many samples did you use to pretrain and post-train

  • tom_vidal 24 minutes ago
    This sort of “autocomplete” is actually fundamental to how classical composers were trained.

    For anyone interested, I’d highly recommend reading Robert Gjerdingen’s article Gebrauchs-Formulas. https://www.researchgate.net/publication/259731561_Gebrauchs...

    You can also listen to the transcript of four Russian composers, including Rachmaninoff, playing this pattern recognition and generation game at a dinner party in the late 1800’s: https://youtu.be/PlFPOWuwBHI?is=EKBK7QQkJs4MsTCU

    Composers at the time could do this just by looking at sheet music and audiating, without using a piano.

  • ghm2199 32 minutes ago
    Interesting. I do feel letting a machine generating notes is taking the joy out of improvisation, is it not?

    I think one of the great, early, joys of learning a piano is gaining the following intuitions: The seemingly harder path of learning sheet is actually faster. Your mind _should_ learn to think in two dimensions Spatial — where fingers go — and Time — pitch and tempo – ** when learning. The _internalization_ of Space and Time queues guide the fingers in a dance that is vastly satisfying. This skill leads you to the final part of the journey that is improvisation and the one more exciting than what i am on now.

    ---

    **

    Space: Your finger placement on keys right, e.g. knowing how to go from landmark/anchor notes(mid-c, G, F etc) and then go to the others above and below it. Crudely this is some what like typing from your landmark f and j qwerty keyboard

    Time: The out singing/verbalizing of the notes/beats on a time measure as you play them(per the time measure). e.g. you can say out loud 1-2-3-4 for 4/4 measure, if the measure has quarter notes say out loud. And `1-e-and-a-2-e-and-a-3-e-and-a-4-e-and-a` for a 4/4 with 1/16th note granularity. Do this as you play the notes and you get a sense of tempo.

    • elwell 13 minutes ago
      OP found a different source of joy: "I wanted the fun of working through the problem myself, rather than just implementing someone else’s research."
      • ghm2199 10 minutes ago
        Fair enough.
  • goda90 2 hours ago
    Reminds me of this project to generate every melody possible algorithmically in order to fight music copyright lawsuits. https://allthemusic.info/
  • timmb 2 hours ago
    Reminds me of Francois Pachet’s Continuator (all the way back in 2003, using hierarchical markov models)

    https://www.francoispachet.fr/continuator/

  • elwell 9 minutes ago
    > autocomplete

    Not the right word; thought it was broken when I played the song samples. Of course, your model is much more interesting than what would be implemented with a prefix tree.

  • heikkilevanto 2 hours ago
    I would love something like that, except that I play the melody, and it produces proper 3-4 part accompaniment, preferably in good baroque style. Extra bonus if it could also write it into a file in a format suitable for music editing programs.
    • altmanaltman 5 minutes ago
      That is an incredibly hard challenge though. Creating the whole backing track (in any meaningful way other than just basic chords) from just melody will require an amazingly high number of highly subjective choices and random gen will not lead to good outcomes since our ears like intentional and artistical creativity in general.
    • vunderba 1 hour ago
      An early attempt at this was Microsoft Songsmith [1] all the way back in 2009, which would take a melody (usually recorded by mic) and try to scaffold an accompaniment around it though obviously not realtime in any sense of the word.

      The closest we've had to realtime orchestration around a melody in the "real world" is probably arranger keyboards though your left hand is still responsible for the chord progression itself.

      [1] - https://en.wikipedia.org/wiki/Microsoft_Research_Songsmith

    • Naitik88 1 hour ago
      This feels like a natural next step. Starting with a simple melody and having the system fill in the rest while still following your playing style could make it much more useful for experimentation than generating a complete piece from scratch.
    • morkalork 2 hours ago
      That's a fun idea. You could start playing the piano and it kicks in with a base and drums for a jazz band.
  • noman-land 4 minutes ago
    This is honestly astonishing and the first "AI music" I've heard that has the potential to sound beautiful. I always thought that MIDI would be a perfect format for this. Glad to see this person make it happen!
  • hliyan 1 hour ago
    Ah, MIDI files. The only type of music you could realistically download from the internet back in the day, and you had to wake up at ungodly hours so that your dialup modem would not rack up a massive phone bill.
    • killerstorm 1 hour ago
      MIDI is still widely used for professional music production. It sounded goofy back in the day because synthesizer it was played on was not very good.
      • andai 43 minutes ago
        I remember at one point RuneScape switched from the built in Microsoft midi whatever to their own sound engine, and from that day, everything sounded wrong, even the frogs, because to me, the crappy midi sounds were the whole personality and feel of the game.
      • HPsquared 1 hour ago
        I'm thinking canyon.mid on Microsoft GS Wavetable Synth.
    • xtracto 1 hour ago
      I remember downloading MOD files. It was just a bit larger than midi, but sounded better. I had a PC but I think it was an Amiga thing
      • andai 42 minutes ago
        Need For Madness is one of my favorite games, and probably two thirds of that fondness is the music, which was a bunch of MOD files.
  • sagebird 27 minutes ago
    Für Elsevier Journal Access Library pass out candy for safety this halloween your baby off milk shake it off.
    • elwell 12 minutes ago
      I, für one, welcome our new LLM overlords.
  • devonsolomon 2 hours ago
    This is really fun. Scaler 3 starts with a chord progression and lets you break it down into musical performances and parts. Useful for ideation when producing.

    Would be fun to get a midi clock going and play some chords on my piano and have my synth start jamming along with the bass and my keyboard doing some performance. Or any combination of the above.

    • Naitik88 1 hour ago
      That would be a really interesting direction. At that point it starts feeling less like autocomplete and more like having another musician reacting to what you're playing in real time.
    • mh- 2 hours ago
      +1 all of this. That would be incredible (this already seems very cool - excited to get home and try it!)
  • Tepix 1 hour ago
    Oh, a cool idea! I just tried it, works pretty well. Kudos!

    One feature request:

    Instead of playing the AI-generated audio solely through the iPhone's speakers, add an option to send the audio as midi notes to a device (probably the same one you received the mini notes from).

  • davidajackson 2 hours ago
    How would you expand this to support elements like attack ("velocity of the key-down" in piano speak), grace notes, timing etc. Would each of those be part of this model or another model? How would you model an arbitrary element (pedal, duration, etc...)
  • evalystai 3 hours ago
    The idea is awesome! :) However there's definitely much room for improvement, first of all rythm and composition (so there's some sense of musical form).
    • simedw 3 hours ago
      Thank you.

      Yes, I think I’ve gotten it to roughly a GPT-2 level: good enough to share, but with a lot of room left to improve. I think adding some kind of bar/measure token might help with rhythm, and perhaps some form of longer-term planning for the overall composition.

  • gaya3bollineni 1 hour ago
    Running a 125M model on-device at that speed is impressive. How much did you have to optimize the model to get that performance on an iPhone?
    • simedw 1 hour ago
      The biggest speed improvement came from changing the note representation when I switched to compound note events: roughly 5× fewer autoregressive passes per note.

      For the current model I’m using Core ML, which optimizes the kernels the first time you run it. I haven’t actually spent that much time tuning performance beyond that.

    • Naitik88 1 hour ago
      The answer about changing the note representation was interesting. Sometimes a change in how the problem is represented ends up giving a much bigger improvement than trying to optimize the model itself.
  • subhajeet2107 2 hours ago
    This is so amazing, can you improve the quality of generation at the cost of notes per seconds ? No one can play 108 notes/sec anyways, maybe you can train the model to do CoT for better quality
    • simedw 1 hour ago
      Yes, some kind of planning step is on my TODO list. Another thing I want to try is generating a few continuations in parallel, picking the one that looks best, and then continuing from there. Maybe the picking could be automatic.

      I can probably squeeze out quite a bit more than 100 notes/sec as well. I haven’t spent much time optimizing inference yet.

  • isoprophlex 3 hours ago
    Amazing idea! Gonna hook this up to my little synthesizer and blast some square wave arpeggiated ML music!
  • theschwa 41 minutes ago
    Would you be willing to share about how much it cost to train a model like this?
    • simedw 26 minutes ago
      Luckily I have access to 4x RTX 4090s, so I didn’t have to pay cloud GPU prices directly. If I had, it probably would have added up quite a bit given how many training runs and experiments I ended up doing.
  • speedgoose 1 hour ago
    Talking about AI music with some live human MIDI inputs, Magenta Realtime 2 was released a few weeks ago and is pretty fun.

    https://magenta.withgoogle.com/magenta-realtime-2

  • pil0u 2 hours ago
    Even after a few years deep into AI, I find your application absolutely magic. This is very inspiring, thank you for sharing.
  • leobg 2 hours ago
    I don’t have MIDI. How about whistling or playing the piano via microphone? Sounds easy. Another 6 month rabbit hole? :)
  • the_black_hand 1 hour ago
    Cool work. I tried using LLMs to parse sheet music and they are really bad.
  • arkmm 1 hour ago
    Very cool! Can you say a little bit about the size of the DPO training examples and how long training took?
    • simedw 1 hour ago
      For DPO I only had around 700 preference examples, so not much data at all. That took about 12 minutes to train on a single GPU.

      Pretraining was obviously a a lot slower, the 125M model took roughly half a day.

  • aghilmort 1 hour ago
    really incredible work! great use case, impeccable learning strategy, congrats!
  • yoouareperfect 3 hours ago
    This is really awesome thanks for sharing
  • mandeepj 1 hour ago
    Gemma 4 E2B was too heavy for your needs?
  • jwr 2 hours ago
    > Eventually I used Gemini 3.5 Flash for pairwise evaluation

    But, but… wouldn't that be… (gasp) DISTILLATION?

    Fun project!

  • lvbyte 2 hours ago
    [dead]
  • qmmmur 3 hours ago
    [flagged]
    • kennyadam 3 hours ago
      Is this HN? Aren't people supposed to tinker with tech for no reason other than seeing if they can? Is everything that involves a transformer now just AI BAD? Is that what the world has devolved into? Each side screaming "Orange Man Bad" and endless variations at each other?
      • meerita 2 hours ago
        It is tiring to read these people. It feels like nothing will please them, but their own ideas, work, methods.
      • Forgeties79 27 minutes ago
        >orange man bad

        You know, I was nodding along until you shoehorned that one in.

        • kennyadam 8 minutes ago
          It's just an example of something people get worked up about, calm down.
          • Forgeties79 1 minute ago
            I’m plenty calm. I was just stating an objection. I don’t know where you’re getting the idea that I am not. I’m actually having a very nice day overall.

            So you’re throwing out intentionally charged examples and telling people to calm down, the one thing we all pretty much know is guaranteed to engender the exact opposite reaction? And you believe this is helpful?

      • tescreal 3 hours ago
        While it is a neat parlor trick, a lot of people have specific grevience against the application to art. AI has only served to further disempower artists broadly, and arguably it pushes "art" to a lower common denominator. Try to actually situate yourself in "why" people get rankled instead of making it a thought terminating cliche.
      • dgellow 2 hours ago
        Given the AI crowd is very loudly telling us since years how humans will be replaced by LLMs and we will all be poor and left behind if we don’t join their cult, I think it’s a perfectly reasonable reaction. Anything with AI mixed with Art or other human experience is suspicious.

        Also, yes, the orange fascist who attempted to coup his way to power, raped women, and is destroying democratic institutions is indeed bad.

        • phoghed 2 hours ago
          No they haven’t. It’s like two guys that nobody really believes. You specifically seek that information out to get mad, then proceed to see it where it’s not. Like when someone makes a cool personal project about their hobby and it happens to involve AI.
          • dgellow 2 hours ago
            I’m not mad and have nothing against the project.

            > No they haven’t. It’s like two guys that nobody really believes.

            It’s the entire leadership of the AI industry, in case you haven’t noticed

        • Razengan 2 hours ago
          > Given the AI crowd is very loudly telling us since years how humans will be replaced by LLMs and we will all be poor

          Oh no, AI will take our jobs??? FUCKING LET IT!

          Who even wants to do all these jobs if we don't HAVE to??

          Ask politicians to give us UBI.

          You want to attack the shit that could make shit easier instead of attacking the 200 year old institutions in place that ensure class divisions and perpetual debt and wage slavery? Smart buggers

          • dgellow 2 hours ago
            > You want to attack the shit that makes shit easier instead of attacking the 200 year old institutions in place that ensure class divisions and perpetual debt and wage slavery

            I have bad news for you if you think that will improve with the current deployment of AI. You will also notice I didn’t mention anything about jobs

    • perching_aix 2 hours ago
      4) it's fun and quaint, like an odd, jazzy version of a player piano from an alternate universe
    • isoprophlex 2 hours ago
      man hits thing

      thing go plink

      machine hear plink

      machine make many more plink

      man happy for plink is fun

      man not hit machine with club or scream on orange site

      man leave cave and touch plant

    • Razengan 2 hours ago

        What is the goal here?
      
      To eventually prove that Intelligence™ and Creativity™ isn't special?

      Or maybe there is some other "spark" deeper within?

      When everyone can make anything as soon as they think of it, what will set us apart?