Author Topic: Tempo FX sound quality  (Read 289 times)

Oleg N

  • Posts: 86
Tempo FX sound quality
« on: 11 Aug '17 - 16:29 »
I am getting pretty cool effect when speeding up the playback using BASS_FX Tempo feature, but slowing down sounds less adorable and I thought I need to enhance it somehow.

I used BASS_ATTRIB_TEMPO_OPTION_PREVENT_CLICK attribute and played along with all other tempo attributes but without obvious success in sound.  It sounds as delayed portions, in a very reflective room.

I understand this as when slowing playback the algorithm has to invent extra audio data which are added by copying / delaying parts of existing data, therefore audible artifacts are ok. But than there are all those tunings and even Linear/Cubic/Shannon algo choice to smooth the artifact - what are chances I can get more-less pleasant sound with slowing down by combining them? Make some of the attributes ratio - dependable?

Any recommendations on how to obtain best results with tempo will help!

One important note: My Tempo channel is decoding and I am plugging it into mixer to play. iOS/XCode

Code: [Select]
        //sourceHandle is decoding channel created from file
        tempoStreamHandle = BASS_FX_TempoCreate(sourceHandle, BASS_STREAM_DECODE|BASS_FX_TEMPO_ALGO_SHANNON);

        BASS_ChannelSetAttribute(tempoStreamHandle, BASS_ATTRIB_TEMPO_OPTION_PREVENT_CLICK, YES);
        BASS_ChannelSetAttribute(tempoStreamHandle, BASS_ATTRIB_TEMPO_OPTION_USE_QUICKALGO, NO);
        BASS_ChannelSetAttribute(tempoStreamHandle, BASS_ATTRIB_TEMPO_OPTION_AA_FILTER_LENGTH, 8);
        BASS_ChannelSetAttribute(tempoStreamHandle, BASS_ATTRIB_TEMPO_OPTION_USE_AA_FILTER, YES);
        BASS_ChannelSetAttribute(tempoStreamHandle, BASS_ATTRIB_TEMPO_OPTION_SEEKWINDOW_MS, 0);
        BASS_ChannelSetAttribute(tempoStreamHandle, BASS_ATTRIB_TEMPO_OPTION_SEQUENCE_MS, 0);
        BASS_ChannelSetAttribute(tempoStreamHandle, BASS_ATTRIB_TEMPO_OPTION_OVERLAP_MS, 30);

        BASS_ChannelSetAttribute(tempoStreamHandle, BASS_ATTRIB_TEMPO, tempo);

        //tempoStreamHandle is added to playing mixer...
« Last Edit: 11 Aug '17 - 16:45 by Oleg N »

(: JOBnik! :)

  • Posts: 1065
Re: Tempo FX sound quality
« Reply #1 on: 22 Aug '17 - 13:45 »
Hi ;D

That issue has been discussed a few times in the past.
It's a limitation of SoundTouch library, that is used in BASS_FX.

You can try to use BASS_FX_BFX_PITCHSHIFT effect for that matter (please read about this effect in docs).

Oleg N

  • Posts: 86
Re: Tempo FX sound quality
« Reply #2 on: 22 Aug '17 - 15:39 »
Thank You for tip!

rv

  • Posts: 192
Re: Tempo FX sound quality
« Reply #3 on: 22 Aug '17 - 16:45 »
Why it takes so much CPU ?

Oleg N

  • Posts: 86
Re: Tempo FX sound quality
« Reply #4 on: 24 Aug '17 - 08:23 »
@rv, I guess because it takes large amount of computation to do, it's not simple linear processing like EQ or reverb. use "quick algorithm" flag to make it a bit less CPU - intense

rv

  • Posts: 192
Re: Tempo FX sound quality
« Reply #5 on: 24 Aug '17 - 13:23 »
Yes, but then the sound is bad. Even with the best quality algo, the sound is still strange even with 1% tempo change