Skip to content

atrac3: reimplement tonal encoding. Use flatness-based tonal extraction#66

Merged
dcherednik merged 1 commit into
masterfrom
new_psy
Apr 19, 2026
Merged

atrac3: reimplement tonal encoding. Use flatness-based tonal extraction#66
dcherednik merged 1 commit into
masterfrom
new_psy

Conversation

@dcherednik

Copy link
Copy Markdown
Owner
  • Add shared CalcSpectralFlatnessPerBfu helper in atrac_psy_common with BFU-table mapping.
  • Implement ATRAC3 tonal extraction: compute MDCT energy, estimate per-BFU flatness, extract up to 5-bin strongest tonal run in low-flatness BFUs, and zero extracted bins in residual.
  • Map extracted tonal bins into TTonalBlocks and integrate them into bitstream coding.
  • Update ATRAC3 bit allocation - reduce residual bits for BFUs with tonal blocks, and increase tonal quantizer selection.
  • Restore --notonal CLI option in main.cpp for A/B comparison.

- Add shared CalcSpectralFlatnessPerBfu helper in atrac_psy_common
  with BFU-table mapping.
- Implement ATRAC3 tonal extraction: compute MDCT energy, estimate
  per-BFU flatness, extract up to 5-bin strongest tonal run in
  low-flatness BFUs, and zero extracted bins in residual.
- Map extracted tonal bins into TTonalBlocks and integrate them into
  bitstream coding.
- Update ATRAC3 bit allocation - reduce residual bits for BFUs with tonal
  blocks, and increase tonal quantizer selection.
- Restore --notonal CLI option in main.cpp for A/B comparison.
@dcherednik dcherednik merged commit d557341 into master Apr 19, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant