0
Preface

First off, I am an absolute beginner when it comes to audio software and processing in general, so apologies in advance for any misused or incorrect terminology.

Intro

I would like to take a song that consists of only one instrument (piano) and separate that song into two or more tracks, where each track contains the notes from different frequencies. Consider the song Numb, by Eydis Evensen. At timestamp 1:17, you can hear a note played from a relatively high pitch, followed by several notes played at a lower pitch. I would like to separate the higher and lower pitch notes into two tracks.

More Details and Context

Filtering by Frequency

I am working on creating sound-driven animations in blender and recently found this tutorial showing how to do such a thing. In the tutorial, the narrator identifies frequencies of various instruments and separates the track by these frequencies using a bandpass filter (starting at 14:25). Replicating this workflow did not produce good results for Numb, I am not sure if I was not identifying the right frequencies and just need more practice doing so, or if the notes in the song had such varying frequencies that they could be separated through this workflow. I suspected the latter, and went down the rabbit hole of converting an audio file to MIDI.

Also worth mentioning - the audacity workflow shown in the tutorial above is slightly outdated. I was having trouble correlating this workflow in the current version of audacity and decided to give Reaper a shot (which I think is a great program, I think a bit more intuitive than audacity). I tried following the workflows like in this video, but unfortunately was still not getting good results.

MIDI Rabbit Hole

Back to MIDI tracks. Before starting this task I was vaguely aware of MIDI tracks and what they are since I had encountered them for some other sound-driven animation work I looked into a while back. I tried finding a way to convert the song to a MIDI track, and understand that is a more-than-complicated task in and of itself. After some digging, I found the following resources for converting to MIDI:

  1. Reaper wiki page with tutorial for audio to MIDI
  2. Reaper tutorial for audio to MIDI

Although these are great resources, the second link is for recording live audio which I could not translate for an existing audio file. The first link does provide directions for using an audio file, but after fumbling around with it I did not get any good results. What I could manage were just short little blips scattered sporadically across the various notes, rather than well-defined notes (like the output of the second link). Again, not sure if this is due to my inexperience with the software or if the track itself cannot be manipulated so easily.

I see there are other MIDI conversion methods, like converting to MIDI in melodyne, shown in this video as well as the programming languages mentioned here. Before diving into these options I thought I should ask if the MIDI conversion route could even produce good results.

Summary

So, the main question I have is:

Is there a way to separate the relatively high pitch notes from the relatively low pitch notes in the song Numb, by Eydis Evensen into two different tracks? (The relatively high/low pitch notes are apparent at timestamp 1:17 of this song)

My attempts so far have made me think of a few other questions too:

  • Is this possible with frequency filters? Do I need to practice this workflow more or are the notes in this song too indistinguishable to separate? I also understand that at some points in the song the high/low pitch notes are played simultaneously, so no problem if those can't be separated.
  • Is converting this song to MIDI worthwhile? If so, which tools would be best to focus my time on learning?
Thanks

I know there is a lot to unpack here, but I greatly appreciate any help and time spent on this.

1
  • 2
    I think one reasonable answer to your question is "no, you cannot separate notes played by the same instrument on a recording". Recordings are kind of like cakes. After you’ve baked a cake, you can’t separate out the flour, sugar, eggs, butter, etc. Oct 22, 2022 at 14:39

2 Answers 2

2

The reason why extracting separate (piano) notes from tracks is difficult is mainly that a note not only consists of its base frequency, but has a rich set of overtones (higher frequencies). So the lower notes comprise many frequencies that are higher than the base frequency of the high note. Hence, separating these notes by the means of frequency filters is not possible.

There is a bunch of tools for MIDI information extraction from audio files. The ones that I know of are StudioOne Professional (DAW) and Celemony Melodyne (except for the "essential" version). Most tools you will find are plugins. You can demo almost any of the proprietary tools. There are even ones for free (e. g. Dodo MIDI).

Perspectively, AI will be the best audio seperation technique. (Audio seperation is also the most important ingredient of MIDI extraction.) But you have to try the example for yourself.

The most promising approach to me may be: 1. try an AI audio separation tool. 2. If you succesfully separated the notes, take the separated tracks for MIDI extraction one by one. Note that you will have to pick the proper piano sound and also a bit of reverb afterwards to reproduce the notes.

Also note that extracting the audio from the track directly may cause a copyright issue. If you use MIDI instead you will be quite save from that.

You can also ask an experienced musician / piano player to create a MIDI track for you. They will have no problem in playing these notes and sending you the MIDI for a little financial trade-off. You can find these pro-like musicians on platforms like Kompoz.

I would be happy to read about your results.

1
  • Thanks, I am testing out the trial of Melodyne and I think this is going to work. At least, it easily made a midi file from the song, I just need to get more familiar with actually using the midi file in Reaper now.
    – MarcusR
    Oct 25, 2022 at 3:15
2

Based on experience, you're wasting time trying to process the actual audio file. You'd likely need to center a narrow bandpass filter on each frequency of the piano notes played, and then I doubt you'd have enough separation to reliably trigger your animations.

You need a musician. Someone may have already transcribed this music, which you could provide to a piano player. This would be a fairly easy piece for a competent piano player to record into software. If the sheet music doesn't exist, you'll pay a little more for the musician to first transcribe the piece. Just go to a site like https://fiverr.com and search for "piano".

You could also reach out to the music program of any college. This is the kind of thing a piano student would probably love to tackle for some coffee funds.

1
  • Thanks, glad to hear filtering on frequency isn't the way to go and not just my lack of experience. Fiverr seems like a great platform, I'm checking it out now as well.
    – MarcusR
    Oct 25, 2022 at 3:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.