Skip to main content

Topic: block switching algorithm (Read 1977 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • wkw
  • [*][*]
block switching algorithm
Hi,

I did an implementation of the block switching algorithm by detecting the peaks
of the time-domain audio samples from the output of the PQF subband filters.
The Subband filters offers superior transients isolation because most transients occured in the upper part of the spectrum and the filters will filtered out the bigger energy value of the lower part of the spectrum from the upper part of the spectrum. 

However, I noticed that the quality of the audio is highly depended on the ability to correctly detect the start-block, that is the attacks occuring on the 2nd half of the MDCT analysis window. And also, the exact position of the attacks within the MDCT window could decide whether if the start-block should be in the present MDCT window or in the previous MDCT window! (From the observation of the pre-echo smear time duration )

I am wondering, how reliable are the block switching algorithms that are presently available? Is it possible that under certain situation, the detection algorithms  still miss certain transients? I noticed that to decide when to switch, transient detections, which transients is very important to the ear and which is not, is almost an art form.. There are certain transients where the energy is so low that it is almost inaudible..

Also, should I enabled the TNS filter all the time, when switch to START_BLOCK or SHORT_BLOCK? I noticed that under one implementation where I did not take care of the exact position of the transients, sometimes, the pre-echo spread caused by the START_BLOCK is still very significant ( which caused me to shift the START_BLOCK to the previous block )

Could someone comment on this?



wkw

  • JohnV
  • [*][*][*][*][*]
  • Developer
block switching algorithm
Reply #1
Quote
Originally posted by wkw
I am wondering, how reliable are the block switching algorithms that are presently available? Is it possible that under certain situation, the detection algorithms  still miss certain transients?
It's of course possible that triggering doesn't happen always correctly where it clearly should happen. Like seems to be the case with QT AAC and castanets.
Juha Laaksonheimo