AudioKitUI icon indicating copy to clipboard operation
AudioKitUI copied to clipboard

Get waveform mid/low/high by its self

Open tegab opened this issue 3 years ago • 13 comments

How to get high, mid, low waveform by its self?

tegab avatar Feb 08 '22 18:02 tegab

One option is to run your source through a filter first, and then tap the visualizer to that.

If by default you do this:

Source -> Output
    |_Visualiser tap on source

You can modify it like this:

Source ->  Mixer -> Output
    |_> Lowpass filter -> Gain (set to 0) -> Mixer -> Output
                 |_Visualiser tap on filter

The gain 0 is so you can mute the lowpass filter and not have an extra lowpassed signal going into your mix.

eljeff avatar Feb 08 '22 19:02 eljeff

Won't this be for while playing. I just need to get the data.

tegab avatar Feb 08 '22 19:02 tegab

Same idea... filter the data first, then visualize that.

eljeff avatar Feb 08 '22 19:02 eljeff

I hate to ask. Is there a sample code or a rough draft I can use as reference.

tegab avatar Feb 08 '22 19:02 tegab

It's ok to ask! I don't know of any offline-processing examples, but somebody else might.

eljeff avatar Feb 08 '22 19:02 eljeff

This might be overkill but you could check out Apple's Biquadratic filters example: https://developer.apple.com/documentation/accelerate/applying_biquadratic_filters_to_a_music_loop

Matt54 avatar Feb 08 '22 20:02 Matt54

I would also recommend the filter approach - I think that is standard for multi band processing, in general. Doing an FFT, manipulating bins, and then inversing the FFT causes artifacts, from I remember reading about it. Haven't tried it myself though. I'm almost certain it would be more complicated too.

A simplistic outlook to the filter approach: Lows = Low pass Mids = bandpass Highs = High pass

Matt54 avatar Feb 08 '22 20:02 Matt54

Looks interesting. I am researching it right now. so, I can accomplish this using vDSP

tegab avatar Feb 08 '22 20:02 tegab

Yes, there should be accelerate functions for everything you need to do I imagine.

Matt54 avatar Feb 08 '22 20:02 Matt54

Going to share this here too: https://www.mathworks.com/help/audio/ug/multiband-dynamic-range-compression.html I had found this resource recently about crossover filters and never saved the bookmark, but luckily it was in my history :)

Matt54 avatar Feb 08 '22 20:02 Matt54

I agree and thanks Matt for the clear direction. If you just need basic filtering, and are comfortable w vDSP, do your offline processing there.

eljeff avatar Feb 08 '22 20:02 eljeff

Thank you very mush for pointing me to the right direction. Researching vdsp now, since I have never used it before.

tegab avatar Feb 08 '22 20:02 tegab

No problem! Good luck

Matt54 avatar Feb 08 '22 22:02 Matt54