I have a collection of sound files (mono, 44100, 16bit) where two harmonic musical instruments are playing together, e.g. cello and flute. For each frame of the sound (4096 samples, hop=1024), I have the f0's and the harmonic frequencies (not their amplitudes) already known for both sounds. Can anybody recommend me of a good way to separate the sounds, i.e. produce separate wavs for both instruments?
Source separation of harmonic sounds when f0 and harmonics are given??
Started by ●July 3, 2004
Reply by ●July 4, 20042004-07-04
Since there inevitably will be overlapping frequencies, there's no way to separate these sounds in the frequency domain without considerable ambiguity. Check out: Klapuri. "Number Theoretical Means of Resolving a Mixture of Several Harmonic Sounds". Proceedings of the European Signal Processing Conference EUSIPCO, 1998. to get some ideas. --smb
Reply by ●July 6, 20042004-07-06
Are the notes they playing "harmonically related" i.e. is the fo of the flute a mutliple of the fo of the cello? If they are not related, some adaptive filter approaches may be possible. -Shawn Steenhagen Applied Signal Processing "Arie" <allen@alum.cs.huji.ac.il> wrote in message news:64a73096.0407031424.2581bcfa@posting.google.com...> I have a collection of sound files (mono, 44100, 16bit) where two > harmonic musical instruments are playing together, e.g. cello and > flute. > > For each frame of the sound (4096 samples, hop=1024), I have the f0's > and the harmonic frequencies (not their amplitudes) already known for > both sounds. > > Can anybody recommend me of a good way to separate the sounds, i.e. > produce separate wavs for both instruments?
Reply by ●July 7, 20042004-07-07
Stephan: Thanks for the article, but it deals with ways to find notes in a sinusoid mixture. I already have the approximate harmonic frequencies of the notes (although not their exact amplitudes) in the duet musical pieces, and I am interested in ways to remove the frequencies of one note while retaining the other (source separation while the f0 and harmonics are already known). Shawn: Some of the notes are harmonically related, but most are not. I would be happy if you could tell me more about these adaptive filter approaches you mentioned. Thanks, Arie. "Shawn Steenhagen" <shawn.steenhagen@NOSPAMappliedsignalprocessing.com> wrote in message news:<ccf3rk$gnc$1@grandcanyon.binc.net>...> Are the notes they playing "harmonically related" i.e. is the fo of the > flute a mutliple of the fo of the cello? > > If they are not related, some adaptive filter approaches may be possible. > > -Shawn Steenhagen > Applied Signal Processing > > > "Arie" <allen@alum.cs.huji.ac.il> wrote in message > news:64a73096.0407031424.2581bcfa@posting.google.com... > > I have a collection of sound files (mono, 44100, 16bit) where two > > harmonic musical instruments are playing together, e.g. cello and > > flute. > > > > For each frame of the sound (4096 samples, hop=1024), I have the f0's > > and the harmonic frequencies (not their amplitudes) already known for > > both sounds. > > > > Can anybody recommend me of a good way to separate the sounds, i.e. > > produce separate wavs for both instruments?
Reply by ●July 7, 20042004-07-07
In article <64a73096.0407031424.2581bcfa@posting.google.com>, Arie <allen@alum.cs.huji.ac.il> wrote: (snip)>For each frame of the sound (4096 samples, hop=1024), I have the f0's >and the harmonic frequencies (not their amplitudes) already known for >both sounds.(sinp) Gosh, how did you do that? -- Mark
Reply by ●July 8, 20042004-07-08
As I said, this is difficult to do because even if the sounds are not harmonically related there will most certainly be overlapping harmonics, which makes a solution ambiguous if you're working in the frequency domain. --smb
Reply by ●July 8, 20042004-07-08
Check out the posts/thread on "60Hz Hum", it disusses the adaptive filter approach. Basically your input (or reference) signal to the adaptive filter are the sinusoids of the known frequencies, the "desired signal" is the recorded sound, the output of the adaptive filter will adapt to best match the amplitude and phase of each harmonic component in the desired signal.that appears in the reference signal. As in the 60Hz hum thread, I recomend two-tap quadrature adaptive filters, one for each known frequency. There's an excellent book by "Quo" on adaptive filter applications (don't remember the name of the book off hand). -Shawn "Arie" <allen@alum.cs.huji.ac.il> wrote in message news:64a73096.0407070855.150f4da1@posting.google.com...> Stephan: > Thanks for the article, but it deals with ways to find notes in a > sinusoid mixture. I already have the approximate harmonic frequencies > of the notes (although not their exact amplitudes) in the duet musical > pieces, and I am interested in ways to remove the frequencies of one > note while retaining the other (source separation while the f0 and > harmonics are already known). > > Shawn: > Some of the notes are harmonically related, but most are not. > I would be happy if you could tell me more about these adaptive filter > approaches you mentioned. > > Thanks, > Arie. > > "Shawn Steenhagen" <shawn.steenhagen@NOSPAMappliedsignalprocessing.com>wrote in message news:<ccf3rk$gnc$1@grandcanyon.binc.net>...> > Are the notes they playing "harmonically related" i.e. is the fo of the > > flute a mutliple of the fo of the cello? > > > > If they are not related, some adaptive filter approaches may bepossible.> > > > -Shawn Steenhagen > > Applied Signal Processing > > > > > > "Arie" <allen@alum.cs.huji.ac.il> wrote in message > > news:64a73096.0407031424.2581bcfa@posting.google.com... > > > I have a collection of sound files (mono, 44100, 16bit) where two > > > harmonic musical instruments are playing together, e.g. cello and > > > flute. > > > > > > For each frame of the sound (4096 samples, hop=1024), I have the f0's > > > and the harmonic frequencies (not their amplitudes) already known for > > > both sounds. > > > > > > Can anybody recommend me of a good way to separate the sounds, i.e. > > > produce separate wavs for both instruments?
Reply by ●July 10, 20042004-07-10
I am working with Chunghsin Yeh of Ircam, who is responsible for the multiple-f0 estimation. His next article: "A new score function for joint evaluation of multiple F0 hypotheses" is going to be presented in Dafx'04. Arie. Mark Carroll <markc@chiark.greenend.org.uk> wrote in message news:<W+E*YfXoq@news.chiark.greenend.org.uk>...> In article <64a73096.0407031424.2581bcfa@posting.google.com>, > Arie <allen@alum.cs.huji.ac.il> wrote: > (snip) > >For each frame of the sound (4096 samples, hop=1024), I have the f0's > >and the harmonic frequencies (not their amplitudes) already known for > >both sounds. > (sinp) > > Gosh, how did you do that? > > -- Mark
Reply by ●July 11, 20042004-07-11
So, your part is removing/splitting the sounds and you have no clue how to go about it? --smb allen@alum.cs.huji.ac.il (Arie) wrote in message news:<64a73096.0407101635.327c6036@posting.google.com>...> I am working with Chunghsin Yeh of Ircam, who is responsible for the > multiple-f0 estimation. > > His next article: "A new score function for joint evaluation of > multiple F0 hypotheses" is going to be presented in Dafx'04. > > Arie.
Reply by ●July 12, 20042004-07-12
allen@alum.cs.huji.ac.il (Arie) wrote in message news:<64a73096.0407031424.2581bcfa@posting.google.com>...> I have a collection of sound files (mono, 44100, 16bit) where two > harmonic musical instruments are playing together, e.g. cello and > flute. > > For each frame of the sound (4096 samples, hop=1024), I have the f0's > and the harmonic frequencies (not their amplitudes) already known for > both sounds. > > Can anybody recommend me of a good way to separate the sounds, i.e. > produce separate wavs for both instruments?What is the context of your question? Is your job to find out whether such a sepeartion can be done at all, or do you need such a routine as a "black box" to do your real job, like generate score transcriptions from recorded music? The difference is cruical. I don't know whether these things can be done at all. If they can, adapive filters would most likely play a significant part in the solution. You have already received advice to learn more about adaptive filters, and that's an advice worth following. The second possible job description is a bit more delicate. If your assignment to find some tool to do this separation is a sidestep to an "higher" objective, you are asking the right questions but to the wrong people. If it in your job description is assumed such separation techniques are available, you should ask your supervisor or boss what knowledge he has about where to find these techniques. You can confidently assume he has such knowledge, if he has committed you to *use* the techniques, as opposed to *develop* them. So, in the case you need these tools to be able do the real job of your project, ask your supervisor where to find them. The professional project initiator only writes project descriptions that are based on tools he knows to be available and have verified to work. It follows, of course, that he knows where and how to find them. Rune