Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Problem about tns when decoding AAC (Read 5734 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Problem about tns when decoding AAC

hi all,
  I am doing the AAC+ decoder,used for DAB+(HE AAC_V2).I have a problem with the tns tool in AAC.There is no difference between the result of decoder with TNS tool and decoder without TNS tool,for lots of test files.I don't know why?Maybe,I don't find the suitable test files for TNS tool decoder.Can anyone tell me how to find a test file that the decode result is much different between with TNS and without TNS tool(for DAB+ mode best).

Problem about tns when decoding AAC

Reply #1
Take a sample with some sharp attacks and feed it through Nero AAC or the 3GPP reference encoder. Both should use TNS.

It would probably help if you explained what you are actually trying to do. TNS is not optional in the decoder, so having it switchable makes no sense.

Problem about tns when decoding AAC

Reply #2
Take a sample with some sharp attacks and feed it through Nero AAC or the 3GPP reference encoder. Both should use TNS.

It would probably help if you explained what you are actually trying to do. TNS is not optional in the decoder, so having it switchable makes no sense.

Thank you for your reply!I am trying to find the difference if I close the TNS module in my decoder(HELIX AAC Decoder),but it seems that there is no difference whether do TNS or not.I have tested lots of aac files,including files with sharp attacks.

Problem about tns when decoding AAC

Reply #3
Take a sample with some sharp attacks and feed it through Nero AAC or the 3GPP reference encoder. Both should use TNS.

It would probably help if you explained what you are actually trying to do. TNS is not optional in the decoder, so having it switchable makes no sense.

Thank you for your reply!I am trying to find the difference if I close the TNS module in my decoder(HELIX AAC Decoder),but it seems that there is no difference whether do TNS or not.I have tested lots of aac files,including files with sharp attacks.


Just dump whether the TNS flag in the AAC bitstream gets activated, and you'll know for sure whether the streams have TNS or not.

A stream with sharp attacks encoded with Nero AAC should certainly have TNS.

Problem about tns when decoding AAC

Reply #4
Take a sample with some sharp attacks and feed it through Nero AAC or the 3GPP reference encoder. Both should use TNS.

It would probably help if you explained what you are actually trying to do. TNS is not optional in the decoder, so having it switchable makes no sense.

Thank you for your reply!I am trying to find the difference if I close the TNS module in my decoder(HELIX AAC Decoder),but it seems that there is no difference whether do TNS or not.I have tested lots of aac files,including files with sharp attacks.


Just dump whether the TNS flag in the AAC bitstream gets activated, and you'll know for sure whether the streams have TNS or not.

A stream with sharp attacks encoded with Nero AAC should certainly have TNS.

I am sure the AAC stream to be decoded have TNS.I just want to compare the  decode results between TNS block is enable and disable in the decoder.I think we can hear the 'pre-echo'noise if TNS block disabled in the decoder, but there is no difference,even though the AAC stream have lots of TNS.Can you explain this for me?Thanks!
Best Regards!

Problem about tns when decoding AAC

Reply #5
TNS isn't some post-processing filter, it modifies the signal before encoding and after decoding. (Which is why it is not optional in the decoder!) So I don't think you can expect the signal to simply show pre-echo, I would expect a large distortion.

I also don't understand how you can say there is no difference. Activated TNS will be running an LPC filter on the audio data. Unless you have a funny encoder that is creating an LPC filter that doesn't do anything, how can there not be a difference? This should be trivial to debug...