Hacker News new | past | comments | ask | show | jobs | submit login
Bach to the Future – Humanising Music with Neural Nets (2019) (futurice.com)
52 points by ash on Jan 3, 2023 | hide | past | favorite | 15 comments



TLDR: They use a small LSTM model to predict the velocity and delay that a human player might have for each piano keypress based on the MIDI notes.


Unfortunately, that makes you lose the style. It's an enjoyable read, if a bit long, but it's easy to skim the details.

For those wondering about other musical signatures: Shostakovich signed with D Es C H (Dmitri SCHostakowitsch, the German transcription of his name).


Coolest thing I’ve read this year, acknowledging it’s from a few years back. A number of interesting lessons, in terms of both machine learning and music.

I hope we don’t replace human performers, even if and when we can. Live performance rather than recordings needs to be prioritized by listeners. And acoustic, non-autotuned only!


Do you really need or want a NN for this?

Wouldn't it be better to parametrize the agility of the various fingers, wrist and arms and then use a deterministic algorithm with a sprinkle of randomness to calculate how delayed the various notes are? This way you could even simulate someone getting tired throughout the performance!


That would work iff the velocity and timing would be determined by the agility of the various fingers, wrist and arms; however, those only specify the limits of the possible and the actual velocity and timing largely represent the pianist's musical interpretation of the piece, and we don't know of a good deterministic algorithm for that - the best we can do is to analyze a large quantity of music (e.g. by a NN) to determine what that algorithm should be.


But musical interpretation is something you develop from your education and your lived experiences. It is meaningless to agglomerate the interpretations of thousands of pianists from an artistic perspective.

If you want to simulate human physical limits then model the muscle agility, not the interpretation


There is no intent to simulate human physical limits, the goal of "Humanization" of MIDI music or musical notation is to provide an output that sounds "better" and more "human-like" than the default (very bad sounding) option of playing the notes at the exact timing and velocity that only follows the explicit notation (e.g. forte or crescendo) and is otherwise uniform.

Attempts to agglomerate the interpretations of thousands of pianists from an artistic perspective can be used to provide a better-sounding outcome than pure random variation (the simplest 'humanizer' algorithms in various tools) or a deterministic algorithm with hand-crafted heuristics, so they are useful and meaningful because of that.


But why strive to humanize something mechanical? Why pretend it's as if a human played it? Why exclude rather than plug in some human in the form of collaboration? I'm a bit dismayed with the current direction, tools are no longer developed for humans to use but for humans to be excluded. I hope it's a temporary direction because if this becomes a general trend in the future it will be depressing for humanity. Many more things will seek to be 'humanized' while actual humans will be few and far between


Because it sounds better in many contexts, and people who use tools to make music or parts of it (e.g. drum machines, automatic accompaniment, electronic music, synthesis of instrumental parts) want these parts to sound good, so 'humanization' has been a key feature of these tools for decades. The concept is not new, it's widely used and widely accepted - the article is simply about how modern tools can do it slightly better than before.

It's perfectly normal for someone to want to, for example, use a drum machine instead of needing the collaboration of a human drummer - not needing collaboration lowers the barrier of entry and opens up possibilities of independent creativity.

It's also perfectly normal for someone composing an orchestra-like part for some project to be able to synthesize that without actually needing to involve (and pay for) a full orchestra of musicians. The orchestra might be able to interpret the score better and play the parts better than the synthetic instruments, so for large-scale projects this extra effort and cost often is appropriate, but not for all projects.


I do make music and am aware of what humanize means in terms of arpeggiators and sequencers: not too great but okay and leaving room for my own input. From a tool like that to to a tool making a 'perfect' humanized sounding is quite a step forward in making the human redundant. Where are my options as an artist other than pick a few options from a bucket of the trained AI? I understand the allure to making everyone able to compose music, sing, draw, paint and do all kinds of artful things at the click of a button with zero time spent understanding the space too well, it is indeed very attractive idea...


I've been working off-and-on on a closely related problem: to figure out for a given handspan what the right fingering for a piece is. This is not simple, or, at least, it isn't simple for me.


Maybe with reservoir computing methods?


> Bach to the Future – Humanising Music with Neural Nets

Poor taste in title, IMO.


Why?


Too soon!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: