Maybe this wasn't the greatest strategy after all. It relies on gaps in the frequency content. Clearly, if the pitch is too low, there aren't enough gaps. And if the orchestra is much quieter than the soloist, my algorithm tends to ignore the orchestra in favor of the soloist. Now, I could fiddle around with the 4000 Hz ceiling. Maybe, if I'd used a 2000-Hz ceiling, I'd have gotten better discrimination because most of the soloist's harmonics would have been cut out. However, a piano playing A7 (3520 Hz), would be have frequency content completely out of range of the 2000-Hz classifier. In fact, the 4000 Hz ceiling might be a little low given that the piano's highest note is C8 (4186 Hz).
What I'm really trying to find is whether or not the frequencies present at a particular time can be explained well by a single pitch or not. I think it's time to try a pitch tracker. If the pitch tracker can match the frequencies well, then we guess that this is part of a solo section. If the pitch tracker can't match the frequencies, then we guess this is part of a non-solo section.<<Prev Up Next>>