I have two audio tracks, X and Y, which are similar, but both have things added to them.

I want to take X and Y, and produce a new track Z with only the lower value of every frequency of each track at each time. In other words, I want to logically AND the spectra of X and Y.

This question is different from Conditional math (intersection) to join two audio tracks because while that one was trying to do vocal isolation with linear operations, here I'm trying to perform a generalized boolean operation on two tracks. (Adding two tracks together is almost an OR, and subtracting them is almost and OR NOT)

I would prefer to do this in Audacity, but if it is impossible in Audacity, and possible in other programs, I may switch if I have to.

  • Have you tried first adding a low pass filter(LPF) to get only low frequencies from both tracks? Otherwise I don’t see the difference between your question and the other. Seems like both are trying to isolate the similarities between two files. Commented Jul 20, 2019 at 21:44
  • @Timinycricket Apologies. The question was worded incorrectly.
    – user27219
    Commented Jul 20, 2019 at 23:30
  • Is your question actually "how do I do vocal isolation"? as opposed to "how do I do {insert method here} with my audio?" The reason I ask is that your {insert thing here} isn't what you need to do to achieve any form of vocal isolation. If your question is actually to do with vocal isolation, it might be better suited to the DSP stack exchange where a lot of signal processing applications and methods get discussed.
    – Mark
    Commented Aug 20, 2019 at 8:45

1 Answer 1


Anything that you do that requires math-type operations relies on the inputs being sample-aligned. Just consider that logical operations are bitwise operations - so what is it you are proposing? converting each sample to it's binary equivalent and then operating the boolean logic on the binary sample value? I am not sure this is going to get you where you need to be.

Time-sequential data such as this doesn't really fit well with these types of operations. You should be looking primarily at convolution and correlation operations which are DSP-related operations that leverage the power of the DFT/FFT operation in order to achieve fast processing.

  • I figured part of the process would be a FT across the sample, then to take the lower magnitude frequency for every frequency at every time point. I just didn't know how to do that, and wanted to avoid an XY question.
    – user27219
    Commented Jul 21, 2019 at 1:41
  • You need to be looking at either Matlab or Octave for this - take buffers, window them, do overlap-add with the correct window for your overlap size then process the FFT of the windowed buffer.
    – Mark
    Commented Dec 18, 2019 at 1:06

Your Answer

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

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