Joined: Mon Mar 17, 2008 1:40 am
Stereo Tool 9.00 BETA074
NAN CHECKING IS ENABLED IN THIS VERSION -> If nobody is getting NAN's anymore I will turn it off for the next build
Windows 32 bit:
Windows stand alone: http://www.stereotool.com/download/ster ... 00-074.exe
Winamp DSP: http://www.stereotool.com/download/dsp_ ... 00-074.exe
VST: http://www.stereotool.com/download/vst_ ... 00-074.dll
Windows 64 bit:
Windows stand alone: http://www.stereotool.com/download/ster ... 00-074.exe
VST: http://www.stereotool.com/download/vst_ ... 00-074.dll
- Add a pre-bass clipper without configuration in the main clipper, to avoid suffocating mid-bass
- Bass clipper should do something with clipper drive. -> Not anymore if pre-bass clipper works
- NAN reported in basstardizer - MAYBE fixed
, waiting for feedback
- Find optimal # steps for pre-bass clipper - 2 if Fisherman's Friend mode works well.
- Fix 80 Hz bump in pre-bass clipper
- Optimize pre-bass clipper - Not very interesting, maybe later
- Bass clipper: Added "Reduce valleys" mode that reduces overreaction (keeps more deep bass and causes less harmonics)
- Start of song AGC etc behavior. Added starting point setting for AGC
- Renamed Hans/Matt mode to a more logical name in Bass EQ; changed display of number of bands to match what makes sense to users.
- Latest beta doesn't run on XP SP 2 (GetLogicalProcessorInfo can't be located in KERNEL32.dll). Question posted. => Too hard to figure out where it's coming from (and that wouldn't even necessarily mean being able to fix it).... I guess almost nobody will still be using XP SP2 anyway...
- Quality > 100% Bypass switching causes buffer filling to move -> Tested, not (or no longer?) true
- SJP in AGC reported to be broken -> Seems fine
- SST: ThimeoKoekError was not initialized in SST. (ptke = NULL, initializer isn't executed), so uMPX encode errors were not shown
- Added new (extra) simple bass clipper
- LQLL: Allow 3 threads instead of 2 (needed for HQ mode on slower systems)
- Sound cards: Add left/right channel swap
- Check clean_NAN -> Fixed, array in Delossifier wasn't initialized to 0, caused weird sound when changing Quality > 100% and (incorrectly) reported NAN error.
- Added MagicRDS AF method A
- Service code didn't print anything to screen due to (probably) Visual Studio .h file changes, solved.
- GUI: If the window is too small (which shouldn't be possible to achieve manually, but might still have happened if set to full screen mode), instead of not drawing, we now just draw in part outside of the visible area.
- GUI: Redraw when warning disappears automatically, also fixes other switches between modes
- GUI: Rename and deprecate Low CPU settings -> Inverted and named to "Heavy CPU (old), under "Compatibility" header.
- Installer: Add shortcuts for run as a service install/uninstall
(Still have to do that for the 64 bit version!)
- Linux: 64 bit ARM ALSA build has Jack dependency - removed.
- Check if MagicRDS ASCII mode still works (report received that it's broken) => Works flawless here... Must be a wrong setting.
- HPF after MB2 causes too loud bass into clipper (after very tightly limiting it - Bojcha) - Should be solved by new bass clipper?
- Natural Dynamics was broken in the last beta's. Now again same as in 8.54
- Add display red colors for used but not-licensed stuff in License overview page.
- Show better license warning (maybe separate icon per used feature?)
- Added sound card input left/right/stereo selection (specific customer request).
- Fixed (enabled) highpass filter pre-ringing protection.
- We should probably put a warning in the next version if the CPU load is high. Done
, but window doesn't nicely disappear (others as well probably)
- Start of song Auto EQ/Bass EQ was too soft: Sudden Jump Protection now only acts when a band is being boosted (that wasn't the case before); effect at beginning is nearly completely gone and overall AutoEQ/BassEQ SJP does far less than before, but is not less effective!
- Sound card high frequency correction: Make sure it always works. -> Not in Ignore high frequencies mode!!!!!
- Fix Matt's GUI crash at a specific size
- FM Analyser pilot tilt problem fixed
- AGC PEQ live updates (when editing) didn't work
- Mono audio on Matt's machine - why?? Wait for .sts files. -> Was a wrong setting, FM Analyser was enabled.
- MicroMPX ifdef stuff
- RDS Compressed flag always set regardless of GUI setting (reported - check first) -> Confirmed, initial load is ignored. - Solved, wrongly initialized, ignored first SetCompresson() call.
- Weird effect for asymmetry -> External RDS input turned Asymmetry off!
- lower output L/R peaks when using external RDS - explained by Asymmetry above
- sg doesn't sound right - probably bad hard limiter
Wait for Matt to test
- RDS PS= failure on Swed test files - was ignoring size of commands for other receivers
- Fixed preset load error (060)
- Pi MicroMPX builds (and 32 bit Jack build). MicroMPX: #include "pa_linux_alsa.h", #include "licenseclient.h"
PROBABLY OK, testing.
- Add presets ST (Wes + SJP, Bojcha)
- Add presets SST (Wes + SJP, Bojcha)
- Fix skin SST - most important part done
- NAN logging disabled again
- SST and Pi builds working again
- NAN in equalizer fixed
- UECP: Support added for combined messages in 1 packet
- Hard Limit apparently sounds bad again & blinks in red
Waiting for feedback
- 2 = signs in translation rules
- 056 crash on older CPU's/WinXP fixed
- Quality slider extended to 150% - WARNING, HUGE CPU LOAD - but useful for NAN testing
- NAN and other weird behavior in multi-thread mode: Found and fixed potential issues in Bass EQ, Bass In Your Face and Absolute Highs. Added a whole bunch of asserts that so far aren't complaining.
- Check equalizer NAN (does recover, so not a complete disaster - but it shouldn't happen). -> Extra logging added, waiting if it happens again.
- Add GUI gamma slider [THURSDAY]
- Fixed potential Bass EQ NAN error when switching between presets with multiple threads active
- Added extra NAN logging to equalizer because a NAN was reported that was caused there, but I have no idea why. So if it happens again, more info will be logged...
- Near05 VST crash -> Intel library could be called with a NULL pointer argument when initializing with Phase Delay enabled - hopefully that was it.
Waiting for feedback
- Make Bass Boost output also show Basstardizer
- near05 VST crash -> Added try/catch
- Changed processing core (no effect should be noticeable at this point)
- Combine Basstardizer with Bass Boost
- Check \_/'s window size changes (sounds like the border size is subtracted or something like that)
- Remove small check boxes that were added for testing.
- Fixed bug that caused certain AGC settings to behave completey wrong (silence most of the time).
- Fine-tune Auto EQ behavior at the start of a song (might be ok now, but needs more testing)
- Fixed a possible GUI crash at certain specific window size in 4K mode
- Hard limit overshoots (red blinking)
- Is pre AGC affecting audio levels? (With BS412) -> Not specifically for BS412, but it slightly reduces the level even if set a lot higher. Probably needs some offset. -> No, just raise threshold.
- Add NAN recovery in Normal Limiter
- New skin
- Improved Auto EQ/Bass EQ max boost calculation
- Bass EQ first band might not go down fast enough
- Check scaling issue in non-4K mode
- Check Auto EQ behavior at the start of a song => Problem was caused by Abrupt Change Protection compensation that I added recently...
- NAN seen when switching to new compressor mode which also doesn't get recovered - silence afterwards. (Peak mode recovers it though). => Not seen since, must have been something in the earliest version of it.
- Auto EQ move where_i_am back to close to min/max settings to avoid insane response times without SJP
- 4K mode line spacing bigger for presets
- Make default window size bigger for 4K
- Fixed threading issue that was introduced in Sudden Jump Protection a few beta's ago.
- Minimum window size in 4K mode
- Added Basstardizer lowpass filter for output
- Make VST plugin error catching work again.
- Optimized new compressor modes, created separate code paths, put values in a lookup table. Performance vs. legacy mode: Auto EQ 5% faster, AGC same, Symmetric RMS vs RMS 7% faster (if not using Exponential Release, Spectal Balance Compensation etc), Symmetric Peak vs Peak 54% heavier (because it's now based on Symmetric RMS mode instead of Averaging mode, and all RMS modes are heavier than Averaging modes). Compared to BETA037 the performance is 13% better for the Symmetric modes.
- Fix Basstardizer crash
- Fix Basstardizer right window shape
- Fixed Digital Multiband 1 mode Flat frequency response bug introduced in 8.54.
- Fixed Symmetric Peak
- Fixed an issue in Symmetric Peak and Symmetric RMS mode with Feedback^2 enabled, for very fast attack times the Shape is higher now to avoid overreacting.
- Fixed Basstardizer: The threshold calculation was completely wrong, it worked fine on constant bass but not on dynamically changing bass.
- Basstardizer: Make Effect strength slider relative to Headroom (which turns into Harshness) - At higher Softness settings Lookahead now controls punch!
- Fixed DLL closing issue (in Audition and other programs; calling a DLL close from program close caused a hangup)
- Added mono bass fiter to reduce multipath
- Added extra protection mechanism to avoid insane release speeds. For MB, MB2, SB Compressor this can be switched on/off for testing - I will remove the checkboxes once tested.
- Relative release threshold was not calculated correctly for FB and FB^2 modes.
- Moved RECOVER_FROM_NAN outside of adjustChannel_internal_linear_attack_release_feedback_peak_peak_gate_limit to fix compiler crash.
- Bass mono fiter to reduce multipath
Done, but parameter needs to be controllable separately.
- Added Symmetric Peak mode. Not at all tested yet!!
- Added Stop Threshold values for multiband compressors. They were already there for the singleband compressors, but not yet for multiband!
- Symmetric modes were visible for Digital compressor but not supported by Digital mode!
- Added "Relative release threshold" slider; removed Symmetry slider. For all dynamics processing things (so LLB, AGC, Auto EQ, compressors).
Not 100% sure yet if this is a good idea for Auto EQ. See text below (*)
- Max release speed fixed
- Basstardizer: Fixed issue with difference between left and right
- Crash reported by near05 (fixed?)
- Improved external RDS insertion to allow for noisy RDS signals (some encoders (actually apparently from one specific brand) generate a pretty bad signal, which was rejected by Stereo Tool).
- Added sound card lowpass filter compensation to FM output sound card (so now beside tilt for bass there's also something for highs).
NOT YET FINISHED, may cause weird behavior. It will work in many cases, but not in all. Does not work when "Ignore high frequencies" is used. Description will follow when finished.
- New compressor mode. Check all weird settings, optimize, new peak mode, remove faster attack/release, add setting for max release, fix max attack/release speed controls. Things to check: "Peak", "Peak mode", "Feedback", "Feedback^2", "Exponential release", "Max attack speed", "Max release speed". New mode is called Symmetric RMS, there's also a Symmetric Averaging but I will probably remove it because it's not useful. MORE INFO BELOW!
New AGC mode MORE INFO BELOW!
New Auto EQ and Bass EQ mode (not switchable in Bass EQ since that's new anyway). MORE INFO BELOW!
- RDS: Add PTYN
- RDS: Add timeout for TA
- Improved multipath protection
- Improved Stereo Image phase limiter
- Revisit new Hard Limit / Final Limiter with Matt & Wes - Settings removed Waiting for final feedback.
- MPEG detection is too insensitive now -> Probably fixed
Waiting for feedback
- UECP UDP mode
Waiting for feedback
- TA/TP via MagicRDS. Auto-enable TP if TA is used? (no)
- Added THIMEORT in ASCII RDS mode.
- Spectrum displays are broken in 4K mode
- Compressor/limiter on input before AGC to handle extreme sounds? / 2nd AGC with higher threshold for voice tracks
Added, may need new mode. Waiting for feedback.
- Add auto save to Linux build
Waiting for feedback
- VST delay appears to be wrong - Phase Delay and Threads
- VST version no 4K
- Backup input - fix overshoot display
- Backup input - check stereo
- Fix web server long URL issue
Test release mode needed
- Scrolling through presets in 4K mode locks screen (crashes).
- Pilot-only output for 9 , works but needs to be sent back to O9SG
- Self test crashes
- Fix affinity for Linux and Mac - Mac doesn't support it.
- Edwin's bass effect - is that done now? (Maybe an extra HPF?) -> Not needed for now, based on preliminary tests...
- Put Bass EQ under license
- Do we need multiple Basstardizer bands? -> Doesn't seem like it. Not for now.
- Remove Hans mode from Bass EQ? -> Hid it (Extreme Tweaker mode, Matt mode is default, made it a pulldown instead of a boolean to clarify its behavior).
- Octaviafm extra logging? - Waiting. Once we know the cause I'll run a new build. But I'm not going to hold off releasing the current version, since 1. this issue doesn't have any side effects anymore and 2. it very likely isn't new. -> Nothing heard anymore
- Would multiple where_i_am start points improve attack? YES!!!! Think about how to implement it...
- Enabling low latency output caused crashes
- NAN recovery added to Basstardizer
- Top area of GUI made a bit higher, not all menu items fit before
- Bigger font and widgets on 4K screens
- Added Basstardizer
- Remove warnings that were shown for things that weren't even enabled.
- Fixed NAN in 8.54 in several versions in the clipper (reported by 1 person, appears to have been settings-related).
- Matt's bass effect Ready to get feedback, see "BASS EQ" before or between multibands! See note below.
- Fixed Mac multiband compressor gate error after NAN recovery.
- Add Breakaway Pipeline warning
- Add low input level warning
- Add too little AGC action warning
- Add too much noise gate warning
- Add too much BS412 action warning
- Added ASIO latency setting.
- Made streaming with libVLC easier, WARNING though, the audio quality is still the VLC streaming audio quality, there are better encoders out there. This only affects the stand alone versions.
- Rivendell plugin build. Mail sent.
- DJB plugin build. Mail sent.
- Add "Top presets" per category
- Add AM presets
- Add new presets
- Array met frequenties versus levels (dus de uitkomst van Fourier) resultaten naar buiten brengen
- Move bass clipper to a logical spot.
- Combine bass effects in GUI
- MicroMPX NIC selection broken in SST web interface - Koek
- Add MME warning
- Swap Bass EQ / True Bass when both set to between MB's.
- SST: Show warnings
- Website rename Products to Buy
- Display settings (Paul T)
- Muziek uploaden
- Use top part for extra displays (declipper, numbers for MPX level etc)
- Auto-setup lower latency settings and slow CPU threading.
- AGC better LKFS (Bojcha)
- Classical preset
- Test NanoPi
- Bojcha's basstardizer filter -> Steeper Output LPF seems to fix the problem -> He doesn't agree
- Check MB2 1% something (see FB chat about crackling sound, which was ok in 8.00). Test with Rhodes54 preset -> Ok. But Spideys Web (7.41 vs 8.54) is different, let's test that. -> No idea, postpone for next release. Comparing the code didn't help.
- MB2 band coupling bug: something is wrong, check better-fg-plus.sts -> Seems ok now. Weird.
- Make pilot generation smooth for external feeds for DARC etc.
- Select instance with command line option
- Basstardizer fadeout (Edwin)?
- AM streaming output
- Multi-instance version
- WatchCat: Use "Simple Clipper" for R128 normalization if there's no license for Advanced Clipper.
- WatchCat/Generic plugin: Respond to latency request with different number for step 1 and 2
- AF method B via UECP
- "Stereo Width" in Stereo Image is broken - it causes phase problems if you're using it to go to mono with silence on the other channel. This can be made smarter!
- True Bass puchier - filter out start
- 18 Hz trigger tone
- Declipper check L-R effects
- Reduce extreme stereo
- Raspberry Pi "gedeelde bibliotheek" melding.
- Check out Butt
- Add libVLC instability warning
- Loudness meter (also for streaming)
- Omnia.9 set Stereo signal. Probably fixed? Wait for answer.
- Omnia.9 test/fix logging
- Omnia.9 AutoPilot add flag for generating noise above pilot?
- WatchCat website
- Triple stuff
- Thumb up/down in GUI for presets
- SCA2 use as backup, feed to output without processing, bypassing normal chain. Use to have FM receiver as backup, and then just feed the full signal to the output.
- uMPX 24x2ch interface
- One bass page
- GUI: Hide disabled stuff, far less confusing / much cleaner interface.
- Talk to chip
- 2 jaar
- -24 dB side chain range?
NEW BASS CLIPPER:
Main goal: Warmer mid-bass
In the past, people have complained about bass in Stereo Tool. Different people described completely different issues with it, which made it very hard to figure out what was wrong. With the new compressor mode, that lets far more transients through (including bass transients), the problem was getting worse, and as it turns out, deep bass was suffocating the mid bass. It took until now - and input from 4 different people - for me to figure out 1. what people were hearing and 2. what the solution was.
The key info that lead to this breakthrough was coming from Wes Keene, who reported that the Stereo Tool clipper after another processor does sound warm - warmth was only missing if it was used with Stereo Tool. And in those other processors he had bypassed the finalc clipper - but not the bass clipper. It was the combination of output from Stereo Tool and the Stereo Tool clipper that caused a lack of warmth.
Long ago, I made some (I thought) very smart bass clipper design that would protect higher frequencies against IMD, moreso from deep bass than from less deep bass. When I tried my trick out I expected it to sound bad - but I never heard any issue with it. That, as it turns out, was not really true.... now that I'm hearing the difference it suddenly sounds much better with this new fix.
So, what I did: I added another bass clipper, but a very simple, traditional one. The same type that all the boxes (even analog boxes) used. No smart stuff to avoid harmonics etc, just a stupid, simple bass clipper with a few modes (hard / soft / ultrasoft). If you use that bass clipper BEFORE the existing clipper, it protects the existing clipper from killing mid-bass frequencies if there's a lot of deep bass present, and the new bass clipper adds harmonics that give the sound more warmth and power. On top of these things, there is actually less IMD in the higher frequencies as well now!
This thing isn't completely finished yet, but it should be usable. Most importantly, I need to make it adjust its threshold to what the existing clipper is doing after it. For now, you'll have to do that manually. Also, the default settings may be way off - I have never even noticed that this mid-bass stuff was missing, so I'm definitely not yet an expert in setting this thing up. So I'll wait for feedback from others for that.
NOTE: Bass EQ
1. This thing should not really be needed because there's already Auto EQ. However Matt Levin insisted that it's useful, especially now that they are playing very old Christmas music, so let's try it out!
2. There are 2 modes: Matt Mode (see checkbox) or Hans mode (unchecked). In Matt mode, the highest band is not adjusted but it is used to determine the levels. So in the last stage, the highest band is in bypass mode, but the other bands respond as if it's working as well. So the bass is adjusted compared to the full spectrum. In Hans mode, the highest band is ignored completely, so if you use 2 bass bands, they are adjusted to match each other, but not the rest of the audio.
New compressor mode info:
About 3 years ago I wanted to redesign the whole compressor based on how water pressure control systems work. The whole idea was to have a compressor that moves fast when it has to, but stands still when it can. And that it would behave 'naturally' - it's something that you could actually build with real components (if you treat water pressure as audio levels).
This appeared to work pretty well. If you play a dynamic track, the compressor acted fast, and if you play an already compressed track it does nearly nothing. This is great - because it doesn't add 'restlessness' to already compressed audio, which would lead to listener fatigue.
Short summary of the rest of this text: It never worked as I envisioned! (And I never even realized that). But now it does!!
Some people have complained about the attack sometimes working too fast - which was mainly noticeable in loud 'S' sounds. The fast attack with much slower release could cause a 'gap' in the audio after the S. But I figured that that was a more or less logical consequence of the the whole act-fast-when-you-have-to idea.
Now fast-forward a bit. Last year, 2 people (Wes Keene and Matt Levin) were working on a preset together with very high compressor ratios and they noticed that in one particular track, a vocal which was originally louder than the surrounding sound actually came out softer. Well, that's not good. It sounds really annoying and broken. After looking into it I found out that my design was actually not - as I had thought - controlling the level based on RMS levels, but based on average sample levels. In most cases that's closer to RMS than peak, but it's not perfect, and as it turned out, in some cases flat out wrong.
So, I added a new mode that actually controls things based on RMS levels. And - different than many traditional compressors - it would control based on RMS levels regardless of whether it's long time or short time levels that you're looking at. Typically, a compressor would use some window over which it calculates the RMS level, and then control the audio based on that. That works great for most content, but if you play a track that for example has a very loud kick every second or so, the RMS window won't help a bit and your long-term level will probably be too low.
So I created a new RMS mode, renamed the old one to Average mode, and thought I was done. But, the problem with loud "S" sounds has gotten way worse! And it was even worse than that: Release was slower than before. So to fix that, I added some "patches": "Big release speedup" and "Big attack slowdown".
This new mode doesn't need that anymore. It's completely symmetrical, and it's still RMS-based, both on short and long time intervals! It still moves slowly when it can and fast when it has to - but not insanely fast if the attack is really big. And release isn't very slow anymore.
Since attack and release speeds are now virtually identical for RMS and Average mode, and you probably prefer RMS levels over Average levels, the new "Symmetric Average" mode is basically useless. I've put it in for now for testing, but I'll remove it afterwards.
The AGC and Auto EQ were suffering from similar issues, and I've fixed those too. There you can just disable "Legacy mode" - if I'm not wrong, the new mode should be better for any purpose than the old one.