-
Notifications
You must be signed in to change notification settings - Fork 498
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Spectrum display improvement #94
base: master
Are you sure you want to change the base?
Spectrum display improvement #94
Conversation
– Selection of different frequency mappings for the spectrum display, from linear (current default) to logarithmic. – Field added in the preference page to select the frequency mapping – New preference key to remember this setting: Audio/Renderer/Spectrum/FreqCurve – Consistent display with high sampling rates (> 48 kHz) – Fixed time shift with high quality settings
Thanks for rebasing, though it seems it still has conflicts? If you can get this cleanly rebased I'll review promptly - sorry for all the delays. |
I thought the conflict was solved. Or am I missing something? Sorry I’m not very comfortable with using git and I fear breaking everything with a wrong command. Thank you for replying. |
TypesettingTools#94 – Selection of different frequency mappings for the spectrum display, from linear (current default) to logarithmic. – Field added in the preference page to select the frequency mapping – New preference key to remember this setting: Audio/Renderer/Spectrum/FreqCurve – Consistent display with high sampling rates (> 48 kHz) – Fixed time shift with high quality settings Co-Authored-By: EleonoreMizo <[email protected]>
* Spectrum display improvement TypesettingTools#94 – Selection of different frequency mappings for the spectrum display, from linear (current default) to logarithmic. – Field added in the preference page to select the frequency mapping – New preference key to remember this setting: Audio/Renderer/Spectrum/FreqCurve – Consistent display with high sampling rates (> 48 kHz) – Fixed time shift with high quality settings Co-authored-by: EleonoreMizo <[email protected]>
@EleonoreMizo Sorry for only just getting to this, but I'm looking back through PRs to land before cutting a stable off Aegisub/Aegisub in hopefully a couple weeks. In |
Context: sometimes, for subtitling music videos, it is important to synchronize subtitles to the music. Most of the music energy is located in the bass frequencies, but the current spectrum display packs everything in the 2–3 bottom lines, which is unreadable. Generally, in audio software, spectrum is displayed on a logarithmic frequency scale, spacing octaves linearly, giving more display room for the bass frequencies. Anyway, something in-between linear and log is probably the most suitable for subtitling, showing clearly both the vocal formants and the low-frequency content (bass drum and other instruments).
This patch adds the following:
– Selection of 5 different frequency mappings for the spectrum display, from linear (current default) to logarithmic (octaves are spaced linearly). Internally, the mapping is done by adjusting the vertical position of the 1 kHz band. Formula here.
– Field added in the preference page to select this frequency mapping.
– New preference key to remember this setting:
Audio/Renderer/Spectrum/FreqCurve
It also fixes some existing quirks:
– Consistent display with high sampling rates (> 48 kHz). Previously, the FFT size was not adjusted depending on the sampling rate, leading to a poor frequency resolution in the audible part of the spectrum.
– Display is clipped to 20 kHz, so ultrasonic content does not waste the space at high sampling rates anymore.
– Fixed time shift with high quality settings (code copied from another Aegisub fork)
– Previous “interpolate” mode was buggy (
minband
added twice + range not checked leading to corrupted display)This patch also makes the high and insane qualities actually useful, showing much more details from the lower part of the spectrum.
The following picture shows, in “better” spectrum quality: