Jump to content
IGNORED

'FeralA' decoder -- free-to-use


Recommended Posts

This version has full EQ -- EVERYTHING engineering-wise that might be needed.

 

NO EQ removed because it sounded wrong TO ME -- it has ALL HF EQ that I had predicted

from an engineering standpoint.

 

*MUCH LESS BRIGHT*  I ran on 'instruments'/IFR with no judgment from my hearing.

 

Hint:  I prefer V4.9.2U as that is what sounded better to me when using the 'intense' EQ, but since I cannot hear

the recording with much precision given this EQ -- one of the two must be correct, I just do not know which one.

 

For most people, BOTH should be a *VAST* improvement over previous versions.

 

The versions are V4.9.2U and V4.9.2V.   They have EXACTLY the same EQ -- precisely the same, but with slightly

different dynamics behavior.   V4.9.2U is more smooth, and V4.9.2V is more 'tight'.  BOTH ARE NEARLY IDENTICAL,

and one IS better than the other, but I cannot judge which one.   ONE HAS CORRECT DYNAMICS, THE OTHER
IS LESS CORRECT.

 

Demos:

https://www.dropbox.com/sh/i6jccfopoi93s05/AAAZYvdR5co3-d1OM7v0BxWja?dl=0

Decoders:

https://www.dropbox.com/sh/5xtemxz5a4j6r38/AADlJJezI9EzZPNgvTNtcR8ra?dl=0

Link to comment
4 hours ago, John Dyson said:

This version has full EQ -- EVERYTHING engineering-wise that might be needed.

 

NO EQ removed because it sounded wrong TO ME -- it has ALL HF EQ that I had predicted

from an engineering standpoint.

 

*MUCH LESS BRIGHT*  I ran on 'instruments'/IFR with no judgment from my hearing.

 

Hint:  I prefer V4.9.2U as that is what sounded better to me when using the 'intense' EQ, but since I cannot hear

the recording with much precision given this EQ -- one of the two must be correct, I just do not know which one.

 

For most people, BOTH should be a *VAST* improvement over previous versions.

 

The versions are V4.9.2U and V4.9.2V.   They have EXACTLY the same EQ -- precisely the same, but with slightly

different dynamics behavior.   V4.9.2U is more smooth, and V4.9.2V is more 'tight'.  BOTH ARE NEARLY IDENTICAL,

and one IS better than the other, but I cannot judge which one.   ONE HAS CORRECT DYNAMICS, THE OTHER
IS LESS CORRECT.

 

Demos:

https://www.dropbox.com/sh/i6jccfopoi93s05/AAAZYvdR5co3-d1OM7v0BxWja?dl=0

Decoders:

https://www.dropbox.com/sh/5xtemxz5a4j6r38/AADlJJezI9EzZPNgvTNtcR8ra?dl=0

Apparently, now we have too much bass....   There are two steps of -3dB for LF instead of what I'd guessed should have been -6dB.  Gonna try again.

 

 

Link to comment

The bass problem is still a problem in V4.9.2X.   This is what I sent to someone willing to help with this matter:

 

----------------------------------------------------------------------------------------------------------------------------------------

 

Just created a V4.9.2X with demos (ran off at slightly lower quality -- but the EQ changes are still obvious.)

After listening to more than just a few selections before starting these, I still think there is a bit too much muddy bass.

 

https://www.dropbox.com/sh/i6jccfopoi93s05/AAAZYvdR5co3-d1OM7v0BxWja?dl=0

 

The current EQ scheme is my engineering prediction with none of the previous compensation that was forced because of the HF problems.  Even with my original engineering choice being used in V4.9.2X, there is still a bit too much bass in the 50 to 250Hz range.   So, there will be a V4.9.2Y coming soon (I don't know if I can do it tonight, need to rest), but will try.   The hard part is to find the correct EQ location that deviates from my original EQ choice from long ago.  (-3dB for the 1500Hz EQ, then each of the lower EQ steps are -6dB.)   It seems like there should be a -3 or -6dB put in there somewhere, but that requires some testing and review.

 

If the HF hadn't gone so far off balance, the LF would have already been correct.   LF was the previous problem, but it makes me wonder that if the HF wasn't so biased upwards, would the LF had been easier to begin with?

 

Link to comment

Good news:  found the technical basis for the BASS EQ!!!   This doesnt' fully solve the HF EQ matters, but know what is happening with the bass now.

OTOH -- there are still some tricky things and still need review on both HF and LF, but now I know WHY there needs to be bass EQ, and approx the correct values, but not 100%.

 

The decoder LF has recently been very close, but not quite 100%, this is because the needed EQ isn't quite per my calculation because of the expansion, but very, very, very close.

(The AM modulation products need to be cancelled.)  There might be an architectural solution - but still needs study.

 

There are some patient reviewers who have stuck with me, and REALLY helped and encouraged.   I still need them, but now know the approx order of magnitude of the EQ parameters.  In fact, I know EXACTLY the basis of the frequencies, and the EQ gain value is still a little questionable.   Also, there are 2nd order EQs needed on output, and those are still appear to be engineering fiat.   Unfortunately, because of the gain modulation from the fast expansion, it has been tricky to remove the modulation products (the basis for the lattice EQ.)

 

I know that a lot of people have been frustrated and lost interest, but there are still some strong-willed, understanding and very wise people who really do help, understand what is going on here.  Very few people have the perseverance that I have -- and in fact, this is why I often got the most horribly difficult projects at the labs (as in 'Bell').   NEVER GIVE UP!!!

 

Being an engineer (a real engineer) can sometimes suck, being an engineer working on forward looking research projects can often REALLY SUCK BAD.  Copying schematics and software concepts is too boring for me -- some people like it, I don't.

 

 

 

Link to comment

(I wrote this primarily for you and one other correspondent, but also posting to the entire group...  Answering some of your concerns in as much detail as I can.)  I AM STILLL REVIEWING THE SITUATION, ESP CONSIDERING RECENT COMMENTS -- so all of this is deadly correct in some ways, but might have missed another consideration.

 

I understand.   BTW -- I found the *exact* answer for the LF.   It is something that I haven't seen for >>1yr!!!, but the hint was in the code all along...

 

Below, indented at the end,  is a longer explanation of the LF/bass.

 

For the HF, there were a few problems that I have been tracking/detected earlier.   First, there is a 'tell' at the beginning of Anne Murray's 'Shadows'.  (Cut one of Anne Murry on my demos.)   During a transition when she starts singing, there was a modulation by something that seems like the bass.   The background buzzes for a very short while. (perhaps 0.1 to 0.2 seconds.)   That buzz came from a gain-control  low pass filter that I had previously used to mitigate a source of very low frequency LF distortion (only applies to <80Hz.)   The gain control filter slowed down the LF EQ too much, with stronger-than-expected effect, but also the gain control filter was no longer needed.  (It was used because of a previous imprecision of the suiper low frequency gain.)  That need is gone and that correction created a 'tell' in 'shadows' that supports a rather precise match between the LF and MF.  (MF on this discussion, is between about 100Hz and 3kHz.)  I am pretty sure that those gains now match really well.  (Along with the MF/HF is no longer modulated by the LF.)  At least, a modulation 'null' has been found.

 

The HF is (on the V4.9.5D test version) still a bit of a problem because I just heard a slight 'stop' on sibilant 's' sounds during an ABBA chorus and a few other places.  The 'stop' is slight so that means that the HF gain error is very very slight on the negative side (on the order of 0.27dB -- why do I know?  Because that was an erroneous EQ that I had just added a few days ago.)   By correcting that EQ back to the norm, the sibilance 'stop' went away.  All of the EQ, except the both highest and lowest ends of the audio spectrum, all appear to naturally match together now.  I still am a bit worried about <40Hz and >9kHz in the V4.9.5D version, with the recent run last night of the demos and Supertramp and much of ABBA.  Given that large decoding run I should be able to find some material that tests those audio HF/LF endpoints.)

 

The super HF might still be a problem, so I threw in a dash extra beyond what might be correct.  There are a few possibilities, so I used the largest plausible amount.   This affects 10kHz at about 1dB -- maximum error of +1dB and 20kHz at about +2dB or so, or maybe correct?.  The 'extra' EQ could be about +3dB at 30kHz.  (with 1st order filters, the skirts are super wide, therefore a 30kHz filter can easily affect up to a *decade* away, but most of the effect is in 1-2octaves difference.)

 

If the *normal* 3kHz to 9kHz HF is a little 'lacking', that is probably to be *expected*'.   Let me explain why -- the FA compression is biased towards the HF.  In order to compensate, they push the AVERAGE level of the  FA HF downwards a little, but the peaks still end up being higher.   This is what causes the 'sparkle' in the FA sound.  Unfortunately, with the *standard* 1st order EQ, if I create the FA sparkle, your ( and my) ears will burn with excessive HF.   This is frustrating and one reason why my previous EQ had so much excessive HF.   I was trying to re-create the 'sparkle', but at the same time my hearing would become suppressed at HF (like >10kHz), and then become temporarily partially deaf.  So, I had to find another 'tell', which is the match between HF and MF starting to make the sound even on certain vocals.  For higher frequencies, I used material like Brubeck with the cymbals, trying to match the levels and the envelope shape.  The result ended up being that the cymbals are about 1-2dB less intense on the decoded version, which IS TO BE EXPECTED, again because of the HF compression that 'boosts' the HF.

 

LF discussion below:

 

Basically, it is derived from a needed LF EQ to keep the lows from changing the highs at low levels.  As you probably would think -- the lows and highs must match from the lowest to the highest levels.   To keep the lows and highs happy with each other, they require that the lows be pushed/EQed  *precisely* to a level that mostly hides them from changing the highs.  (Stronger levels change the gain less than lower levels.)  So, they push the lows up a lot, which *decreases* the LF gain modulation.

 

When playing back, the EQ needed to correct the lows needs to be undone.   However, there is some additional 'push up' that is accumulated on each layer.   The last layer needs one additional EQ, and once that EQ is done, the LF ends up being the goal.  That EQ that I mention MUST be exactly what I had sumised a few years ago, or recordings like 'Even in the quietest moments' at the beginning make the bird tweeting get modulated by the rest of the background.  That EQ must be exactly what is used -- lots of things go bonkers otherwise.

 

If one extra layer of that EQ is used at the end, then the bass locks-in.   I have seen that kind of behavior thoughout the system, just didn't think that the bass also had that behavior.

 

 

John

Link to comment

After a very long time, this upcoming release will be technical *very very* close to being accurate.

 

I am working on the last phase of LF, where there is a needed 2nd order EQ needed for the bass at 150Hz, 75Hz and 50Hz.   I know that each one must be accurate, and the LF gain needs to be +4.5dB or +6dB for each frequency.   The Q needs to be 1.414 (or 1.19), just not sure which one.    Currently, I am trying to figure out if +4.5dB with 3eq at +1.5dB, each frequency hs a set.  Or, one +6dB at each frequency.  There is a history of using 3 EQ at each frequency -- there is something magic going on.   Also, the Q is an interesting problem...  I have been using Q=1.414 because it seems to produce the most clean results.   Interestingly, because of hand-in-glove with the original recording, the high Q values do not create boom -- infact, during some experiments, lower Qs can sometimes produce boom because they amplify a portion of the band that does't require it.

 

The 1st order LF eq is *dead on*, and once the correct 2nd order EQ is chosen, the result will have very little opportunity for 'personal preference'.   The choices that I am making totally ignore my own preference -- there are some tells as mentioned in the next statement.

 

If any of these settings doesn't match, the result is obviously very bad, EXCEPT for the +4.5dB or the +6dB of gain.  So far, if I choose +4.5dB, it seems that the bass is a little 'thin', if +6dB, the bass is way too resonant at very low frequencies.   After some iterations with the LF pre/de-emphasis, the choice will become obvious.  The choice with the LF pre/de-emphasis is to determine whether or not a 37.5 or 25Hz EQ stage is needed.

 

The HF is still a little bit of a problem, but I have narrowed it down so that the HF and MF match together  very well (vocals sound very integrated with the highs), but the super HF is trouble because of my hearing and listening taste.   There are no strong tells -- there are some 'tells' that require quite a bit of judgment.   Sometimes, there are recordings with large amounts of sibilance, and there is sometimes accompanying distortion when the gains aren't all correct.  Sadly, it is not a strong 'tell', and still too much guesswork.

 

The resulting sound will finally come very close to matching the pre-FA recording (including no missing midrange and no-ear burnout HF.)    I have run SOME tests that actually come VERY VERY close, including very clean pianos.  (There were some architectural fixes that correct the previously muddy sounding pianos, removing some of my previous design assumptions.)

 

I know that it might seem like there are lots of things that are still in flux.  Actually, the choices are simpler than it might seem.   These are just the iterations needed to complete the decoder with almost provable match to the original.  It HAS taken too long, but stuff like this isn't easy.

 

 

 

 

Link to comment

Really good news from a really stupid SW developer!!!

During all of this time (about 2-3yrs), 1/2 of the anti-distortion code had been mistakenly disabled!!!

Actually, it was de-activated by sloppy maintenance, then I removed the inoperable vestages a week or so ago during cleanup.

I just added back in a newer, simpler, just as good version for the next release.

 

So, the secondary (and still important) anti-distortion mechanism is a phase shft that cancels sidebands that are phased like being created by gain control.   I'll bet that you haven't heard a clean recording until hearing the output of the next version of the decoder.   This mechanism (in conjunction with the still functioning mechanism) is what can remove the fog from previous DolbyA encode/decode cycles.  The fog removal isn't really limited to DolbyA either.   The kind of filtering being done hunts for distortion sidebands and moves them to less audible places.   Hearing is believing.

 

 

Link to comment

Been chasing the elusive 'bass bug' for a long time.  It was so darned 'tweaky'.   Inuitively -- that tweakiness (moving building blocks around) was simply wrong.  However, when desperate, you do what you have to do.

 

All along, the bug has been cause by 'brain lock-in'.   There are three important bass EQ frequencies -- actually about 5 or 6 main ones, but three of the frequencies require 2nd order EQ, and then some subsequent 1st order EQ.   I had been using:  fp=150, f0=75, fm=50.   These are standard frequencies often used for EQ.   In this case, those freqs were wrong.   The needed EQ freqs were: fp=160, f0=80, fm=60. The f0=80 makes a lot of sense, because it is nominally the top frequency of the LF DolbyA band.  FYI -- internally, for all of the various band splits/etc, there are about 20 different frequencies or delta frequencies.

 

The resulting sound has the resonance of the FA recording, but without the FA defects.  This slight difference in frequencies, even with low Q 2nd order EQ and of course, 0-Q of the 1st order EQ, very slow skirts makes a HUGE difference in sound.   No matter the EQ that I tried, the resulting sound with the original settings was very dry. The way that I was trying to fight the dry sound was a moderate Q EQ at 25Hz.  It created a reasonable facsimile, but still didn't sound right.

 

When using the correct freqs, and it did require a LOT of correction, the sound is very different.   Luckily, the correction wasn't very painful because of the consistent use of constant variables for important parameters.   Otherwise, it would have been very painful in about 10k lines of code that does all of the DA and FA DSP. (Total is about 30k lines of C++, much  of it is .wav file, metadata, DSP support, etc.)

 

 

 

 

Link to comment

V5.0.0A is coming soon  -- it exists and is uploaded, but not announced..  Decodes running.

Just for fun, ran the Guitar test in the 'taste' discussion -- beautiful.  Same amount of bass and could actually hear the subtle plucking of the strings instead of the temporally backwards pluck of FA recordings.   Yes -- the Guitar test was definitely FA.  I didnt' give that as the demo below, but the example from Brasil'66 is pretty good for a middle '60s POP vocal recording.   There was ZERO anti-sibilance or crazy, outside EQ needed.  The example is typical, and no extraordinary measures.   This example IS a very little sibilant, but I decided NOT to add any anti-sibilance, and the Brasil'66 album tends to be like that.   Carpenters, on the other hand, tends NOT to be as sibilant any more, but the 'Top of the World' is till bright.   Generally, the results are clean and carefully compared with the FA original.  (Levels tend to match, but the crud in the sound is removed.)  I decided to add the anti-sib version also...  I don't like the 'blunting' of my anti-sib code, but it does work.Herbdemo.flac

 

There are about 60-70 decodes, and I am running them at a relatively high quality mode, and it is just a little slower because of the forgotten distortion cancellation being re-inserted.   There is a LOT less EQ in this version though -- found some HF bugs, some were totally legit bugs, some were a final 'good result'.  The sound of the FA original (including bass balance) is very close, but the decoded version is INFINITELY more clean.

 

Herbdemo.flac

Herbdemo-antisib.flac

Link to comment

Made a mistake with the .flac file.  I'll redo and resent it.  Sometimes, I check the recordings, and remove the HF or HF for various tests.   It is interesting when comparing with the original FA because the average levels are about the same.   I looked at the commands I used in horror.   About 20minutes, it will be re-uploaded.

Link to comment

VERY VERY IMPRESSIVE, exquisitely clean without being harsh, and good/normal BASS...

 

Here is the correct version without the 160Hz rolloff.  I should have realized that with the rolloff, the sibilance appears worse (because there is a component of the sibilance and lows that need to match!!!)   This was done with NO anti-sibilance and the exact version currently being uploaded.

 

I *freaked* when the uploaded version didn't match the 'demos' version -- and looked at the command history.   It is hard to get the correct balance without splitting the highs from the lows and measuring.   This version is VERY impressive.

 

 

Herbdemo-fixed.flac

Link to comment
8 hours ago, Skip Pack said:

I agree -- Herbdemo-fixed is all there in proportion. Herdemo-plain and Herbdemo-antisib were both unbalanced while different, and lacking. The lack of congestion that is my motivator to stick with this project is very present and the components naturally fit together.

Thanks!!!   I did get one review about some super-low frequencies sucking amplifier power, and I really need to fix it.   I think that there shouldn't be much of a normally audible change.   It is very critical to avoid super low freqs and it is a matter of responsibility that it needs to be fixed.  DC is good, but the small range between DC and normally audible needs a fix.   This all came as matter of not adding the compensating LF rolloff at the higher frequency that I normally have done.   (There is NO boost in the rolloff, and it is actually moderate, in the -10dB range.)   I stopped the rolloff too early this time, leaving too much near-DC. THE BUILT-IN BOOST CURVE GOES BELOW NORMAL AUDIBILITY, which allows good control down to the lowest audible frequencies.   This leaves the need for some extra EQ below normal audibility. I LEFT TOO MUCH LF BELOW NORMAL AUDIBILITY!!!   FRUSTRATING, EH?   So close, but still a minor problem lurking..

 

There will be a release of V5.0.0B (already built) and full/snippet demos later on today (+6 to +9Hrs.)    I'll upload it in about 1Hr after some initial testing.  After that, I gotta focus 100% on speed.

Some of my initial speedup attempts didn't help much -- there is not much of a cache effect on my machine, but some machines might havet some cache issues (slowing the decoder down.)  The cache/memory bandwidth is now better used, but the Hilbert algorithms will REALLY speed it up by 2-3X, but those are much more work.  Uniquely for the application in the decoder, they must function with <<1% accuracy from about 100-200Hz up to 20+kHz.  That is a wide bandwidth for the accuracy level.  Normally long FIR filters cannot do the job (even 500 taps is not enough.)   For the normal, --xp quality level, it NEEDS 1536 taps, and -xppp needs approx 3000 taps.   Need a better algorithm.

 

I'll start the demos in about 30min, and when I get back to the office -- they will be uploaded ASAP.

 

John

Link to comment

As anyone has noticed recently, there has been A LOT of progress.

I need forgiveness one more time...

 

Because of previous bugs, I had added a phase scrambler so that the decoder works sanely, and IN FACT thought that it was part of the design.

 

* I TRULY DID NOT NOTICE THE EFFECT OF THE SCRAMBLER ON V5.0.0A, V5.0.0D.   I REALLY THOUGHT THAT  IT WAS NEEDED.   Then, on a lark, I thought -- the sound is now so good, is the scrambler REALLY necessary?   NOPE...  I REGRET MY FAILINGS...

 

There will be a V5.0.0E release today *code in under 1/2 hour, without the phase scrambler.   The difference is pretty impressive, and has even more definition.

Previous versions seemed to need the scrambler (poor mans RMS), but this version DOES NOT.

Removing the scrambler is worthwhile...

 

ADD-ON:   the V5.0.0E version *CODE* is now uploaded.  Demos will take a few hours.   Was going to run the demos in a lower quality mode to get done quicker (60 full length recordings, then chopped down for the snippets.)   Those take a while to run.   However, ESP with the scrambler disable, it seems best to show the full quality that the decoded is capable (FA sounds phase scrambled to me -- that is where I got the idea).   There might still be bass that is extended too far down, but that should be the subject of feedback.   My headphones have extended bass response, and that makes it hard to judge, and most normal speakers have too many confusing aspects (room effects, etc.)   For the purposes of the decoder, gotta listen to the RAW recording -- no extras.

 So, the demos should be coming in about 4Hrs -- I might get distracted on something else...   But, they WILL be coming, and they WILL be based on V5.0.0E.

The 'quality' matters need to be put to bed for the 'speed' improvements.

 

 

Herbdemo-fixed-V5.0.0E.flac

Link to comment

V5.0.0E

Finally, things are settling down.  Getting good reviews from many who know what a real, direct mix sounds like. YMMV on what you actually prefer, and sometimes prefer decoding on some recordings, dislike it on others.   Disliking the results on some recordings is okay and TO BE EXPECTED.  There is an updated 'StartUsing' document, and it will be further updated over the next week or so.  I fully expect more feedback, but most bugs might now be classified as 'preference'.   However, some of my preference choices might not be correct, so DO NOT SUPPRESS CRITICISM.

 

Using the decoder is easier, simply because it works.

 

Decoder (version has been available for several hours now): (it has been through 2-3 iterations today, with good/helpful critical feedback)

 

https://www.dropbox.com/sh/5xtemxz5a4j6r38/AADlJJezI9EzZPNgvTNtcR8ra?dl=0

 

* This announcement would NOT have been done, without being satisfied that all known *true* bugs are corrected.   There still might be an LF 'tweak' still possible.

 

Demos: (more being filled ).   The private requested demos will be completed in 'hours'/'days', not weeks.

 

https://www.dropbox.com/sh/i6jccfopoi93s05/AAAZYvdR5co3-d1OM7v0BxWja?dl=0

 

 

I think that it is time to say -- EQ IS NOT a bug anymore, at least to the extent that it used to be.  We are talking +-1dB errors now, perhaps a little more at the very lowest freqs.

Anti distortion *really* works well, esp when the decoding results are very, very, very clean.   In fact, with the phase scrambling disabled, the quality has gotten better than I had originally envisioned 3+yrs ago.

 

The phase scrambling was initially used because of the 'phase scrambled' FA sound and a valid choice for low-tech (1960s) RMS emulation.  Phase scrambling was added as a test a month or so ago, and was a bad choice.

 

Previous suppositions that some recordings have different EQ are true, and that matter is being quantified, with simplified handling for users being added soon.

 

Speed up is critical now, esp for the high quality modes (which are impractical for most people.)  I have some ideas.   Some other, minor speed improvements have already been added, plus some minor quality improvements have come with the very minor speed improvements.

 

The anti-distortion is now improved.  Originally, there was an element of anti-distortion that seemed to be erroneous and removed.   I fixed it, and re-included the final stage of anti-distortion, and the improvement in clarity is even greater.

 

 

EQ CAVEATS: (few recordings, but want to prepare you..)

 

Bass is not a 'bug' anymore, but there are matters of preference and taste.  The earlier 'B' release had a LOT of bass and maybe too much for some people.  The 'B' release might really have been correct?!?!   The 'E' release has -1dB at 40Hz and -2dB at 20Hz, and -12dB+-3dB (or -15dB) at 2 or 3Hz relative to the 'B' release.   Now, some people have noted that they preferred the 'B' release.   I am willing to accept suggestions on whether or not more bass is needed.  We are REALLY down to 1 or 2dB errors at the lower bass frequencies!!!

 

Another bass problem is in some older recordings.  It is hard to predict what is needed, and most recent recordings do NOT have this problem.  Some suggestions will be added to the 'StartUsing' document.   However,  there are some built-in settings that work for many of these exceptions:  '--outde=u' (for a 250Hz cut), '--outde=b' (for a 75Hz cut) and '--outde=l' (for a 25Hz cut).   The exact numbers for those settings isn't important now, but most of using 'u', 'b' or 'l' or a combination will help a lot.   I have seen about 4 combinations, and it is hard to predict.  VERY VERY FEW recordings need this.

 

HF is a problem for *some* recordings.  Many classical and 'high class' pop recordings require a '+3dB at 6kHz and +3dB at 9kHz' for an accurate decode.   I was testing for 'tells', and heard a distortion null with the above settings BEFORE decoding.   The need for the before decoding boost is needed in approx 15% of my recordings.   The correct add on switches for those recordings are:  '--bh=6k,3 --bh=9k,3'.   There WILL be an internal switch to fix this problem, esp because the internal EQ has some tricks that improve the distortion characteristics.

 

There is another HF problem that I have found on ONE series of recordings...   'Dire Straits'.   They appear to need a setting that CUTS the HF before decoding.   The requirement is '-6dB at 9kHz, -3dB at 12kHz'.   There will also be an HF EQ mode for this kind of recording.   The correct setting on the command line is: '--bh=9k,-6 --bh=12k,-3'.

 

Online or private messages are okay -- for those who know my email, that is okay also.  For AS people, I prefer to use AS for normal discussion, but requests for email are okay for more private discussion.

 

 

 

Link to comment

Hi John, thanks for the new version. Could you please upload also original snippets so we could have some base for comparison?
You probably didn't notice ... StartUsage-V5.0.0E.pdf contains one line only. Could you please re-upload it?

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
1 hour ago, bogi said:

Hi John, thanks for the new version. Could you please upload also original snippets so we could have some base for comparison?
You probably didn't notice ... StartUsage-V5.0.0E.pdf contains one line only. Could you please re-upload it?

Thanks for catching the problem with 'StartUsage-V5.0.0E.pdf'.   I just uploaded it.  My raw Office file was okay, but the .pdf was locally screwed up???   Anyway, the corrected version is uploaded, and attached below.   There needs to be more updating to the 'StartUsage' file, and I'll try to do a better update after the weekend.  A cogent and complete update needs a little more focus than just the quick updates that I have recently been doing.  Figure on Monday evening, USA EDT about 9pm.

 

For the original FA COPIES, I believe that I have a snippets script already written for that.  There needs to be some housekeeping on the old script, but I'll plan to do it before Monday evening also.  (will announce it.)   Don't be surprised if the originals are available earlier or a 1/2 day later, but I'll try to make them available in an earlier timeframe.

 

Unless there are severe errors, there won't be significant sound character updates.   There will eventually be some command updates, also one minor bass update (clarify vocals while maintaining as much or more low bass.)   Note generally describing the new commands and general usage in paragraph below.

 

The command updates will comprise:  '--hfeq' which will cover the recordings that result in too much, also too little HF.  There appears to be a standard of two special HF EQ schemes.   The HF schemes are already understood, and if you encounter extreme HF before the decoder update comes, a posting before EOD today will explain the corrections (easy to do, but a little too much command line typing and remembering magic numbers.)   Also, there have been requests for a little more bass that is closer to the V5.0.0B version.   The potential change is actually within the standard bass EQ scheme and will be available as an alternative by using the '--lfeq=<n>' command.   Some older recordings need a bass rolloff, and there appear to be some standard schemes for a standard bass rolloff, so there will be a '--lfrl' command scheme for that.   I might have mixed up '--lfeq' and/or '--lfrl' as the code hasn't been written yet, but will be a coherent mechanism.   DO NOT LET THESE NEW EQ CHOICES APPEAR CONFUSING -- they will be simple to use, and when using the new command switches, there will be no need to remember 'magic' or 'detailed' numbers.

 

Thanks for the interest in the decoder, and I am intently listening to comments/feedback.   Most everything at this point will be minor tweaks, and appropriate changes will come very quickly and reliably.   As you might recoginize -- an accurate decoder has been distributed within hours of it being in existence...   I will be playing with the new toy also 🙂, as a 'user'.  Like anyone else, might find unexpected bugs.  (The program has been somewhat tested, but as one might imagine, it is a very complicated program with lots of little nuances that might not have been tested.)   Gotta make it perfect!!! 

 

John

 

StartUsage-V5.0.0E.pdf

Link to comment

This is somewhat regarding the messages talking about 'taste'.   Taste and the sense of quality is very different from person to person, and the decoded result vs. raw might or might not be desirable for one person or another.  Even though one version is more compressed than the other, and we all know that compression is always evil (NOT!!!), one person might prefer the FA version, another the DEC version.   Superficially, the FA version MIGHT be prettier, but has serious defects (e.g. hiss.)   The DEC2 version has very minimal hiss, but the vocal sibilance is less sweet and more natural.   Sometimes 'sweetened' material is better -- or not?

 

Attached are two snippets of a Carly Simon song.   The DEC2 version was made from the same FA version, so this is a valid A/B comparison of what decoding can do (or however it might damage or improve the quality.)

 

I did this just for fun, and will not claim that the DEC2 verison is better for everyone as each might be desirable at one time or another. 

 

 

08. That's The Way I've Always Heard It Should Be-FA-SNIP.flac 08. That's The Way I've Always Heard It Should Be-DEC2-SNIP.flac

Link to comment

Two questions/curiousities:

 

What does DEC2 specifically mean? My guess would be '--fa2'

 

Regarding hiss, I don't hear any hiss in the magnetic tape sense (fa version). I do hear what I would describe as an aspirated mid-high his which would be produced in the back of mouth to throat area by a closely miked singer. Pretty normal and often too much. In my mind sibilance is excessive ssss or th sound produced by the front of the mouth/lips/tounge. The aspirated hiss is reduced nicely in the DEC2 version. I expect one's choice here would be strongly determined by their system's response.

Link to comment
1 hour ago, Skip Pack said:

Two questions/curiousities:

 

What does DEC2 specifically mean? My guess would be '--fa2'

 

Regarding hiss, I don't hear any hiss in the magnetic tape sense (fa version). I do hear what I would describe as an aspirated mid-high his which would be produced in the back of mouth to throat area by a closely miked singer. Pretty normal and often too much. In my mind sibilance is excessive ssss or th sound produced by the front of the mouth/lips/tounge. The aspirated hiss is reduced nicely in the DEC2 version. I expect one's choice here would be strongly determined by their system's response.

(Please be careful reading this -- I am only claiming that things that irritate one person, might be totally tolerable by another.  Each of us apparently hear VERY VERY differently. )

 

Thanks for the feedback.  Your comments have created a revelation in my thinking, and might be understanding the situation better than before.   With this preface, read further...

 

The experience that you describe might just be a reason why some people might not hear as much of an improvement that I do.   I agree 100% that different people have a different sensory experience, but a new 'fine point' might be little more clear to me,.

 

Hiss seems like one of those things that people automatically learn to ignore.   Each of us must hear very differently,  I seem not to be able to hear response balance very well.  But, with my apparently strange hearing, for me, the tape hiss is stronger than just noticeable.   It seems like I don't   understand/manifest most people's sensory experience.    MOST IMPORTANT:   At times, my perception might be very different than other people, but I suspect that all of us does hope for various kinds of improved quality.

 

ALSO:

 

I think that I am starting to understand why FA has been tolerated for so long...  FA appears to keep a facsimile of the normal frequency response balance (except for middle midrange down to bass.)  However, where it does not keep a near balance,  the FA signal does a good job of response balance substitution.  The FA scheme seems to create a less fragile audio signal from the very fragile original version.   A REAL genius designed the FA scheme -- I really do believe that it was R. Dolby or someone equally brilliant.

 

A good way to *see* the tape hiss, even though not as an audible sensory experience is to view a spectrogram.   I'll pull together as spectrogram for the comparison.  I haven't done so yet, so I might have egg on my face :-).  I DO believe that most people cannot hear the tape hiss very well -- again, I am probably the odd one out.

 

John

 

Link to comment

Before looking at these -- remember that each of us has different perception!!!

 

ADD-ON:  a very minor update will make the decoder sound better than this demo.  The highs will be more smooth.

 

Take a look at the first picture.  It contains nearly the same parts of two spectrograms.  The first line is for DEC version,

the second is for FA version.  Each signal is approx the same level.

 

Hiss is partially indicated by the blueish instead of blank background.  If you notice that where the

signal is nearly nonexistent, then the color is 'white' or 'blank'.   On the DEC version, the signal is on the background of 'blank', while the

FA version has a 'blue' background, which represents hiss.

 

I also created a second version which shows a more narrow dynamic range, where the FA version shows a light blue where the

DEC version still shows blank.

 

SO, hiss is indicated by a non-blank background.  Is the hiss audible?   That is a matter for each individual listener!!!

 

The first full picture exaggerates the difference, the second picture shows the difference in a more typical way:

 

EXAGGERATED SPECTROGRAM: (The strong blue background shows a random signal -- but difference exaggerated.)
Carly-HISS-FAvsDEC.thumb.png.3bb7582eb9c943799f04de7d1b491c06.png

 

MORE TYPICAL COMPARISON: (The light blue background on the FA version shows a less exaggerated difference.)
Carly-HISS-FAvsDEC-20dBlessrRange.thumb.png.cba7fb71c4a890896319d87d1263767d.png

 

 

 

 

Link to comment

ANNOUNCEMENT ABOUT THE DECODER RESPONSE BALANCE:

 

(Note that certain kinds of precision when comparing response balance are impossible to attain.   Naturally, multi-band gain control devices mess with the gain all of the time.   In the case of FA, the attack/release times are in the 2msec to 20 to 320msec timeframes.  (Release time is compliant with the signal, so is attack time, so actual statements of attack/release times are specious.)   Suffice to say, the release time can be as fast as 40msec, much faster than a normal compressor/expander in the equipment rack.  The gain control makes 0.01dB audiphile measurements impossible, but any such precision is also specious because the recordings have already been damaged by dynamics processing.

 

I recognize that from a frequency response balance standpoint, the decoder sounds fairly different from the FA original.   All of the difference is in the <1kHz region, and is intended to sound like a normal recording.   For many (most?) people, I might have missed the mark, so the next release will also have a second decoder mode that, closely as possible, *AUDIBLY* and *ELECTRONICALLY* matches the FA respose balance.  It has been tested to match (RMS levels, not peak), and DOES have a very similar balance.   The decoded version IN THE FA RESPONSE BALANCE MODE, resulting in the same response balance DOES sound significantly better, noticeably more clean, than the FA original.   From now on, the demos will have BOTH the original FA decoder balance and balance that is very similar to the FA original.   Since ALL difference between the modes is easily resolved by a very simple 1st order EQ sequence, conversion between raw FA balance and FA decoder balance will also be implemented by the '--equalizer' mode.   This conversion might be desirable when producing demos and/or when choosing which kind of sound is desired.  The --equalizer mode without EQ enabled IS naturally flat (measured to the 100'ths of a dB), and runs a little slower than SoX when SoX is doing significant amounts of processing (like rate conversion.)

 

This new mode has been verified by doing unEQed RMS measurement comparisons in ranges similar to this:  (20-100Hz), (50-200Hz), (200-1000Hz), (20->1000Hz), (20->1500Hz), (1000-3000Hz), (3000-10kHz), (5000->20kHz), (20->20kHz) -- and several others.   The only range which will not be very similar, perhaps 2-3dB difference, is (1000->1500Hz), where some of the difference between reality and FA sound comes from this bias, the bass difference only being superficial.   I believe that the FA (1000-1500Hz) bias comes from the natural DA EQ mixed with the actually rational FA EQ scheme.

 

So -- there will be an additional '--fa' mode, possibly using a capital '--F' instead of a lower case '--f' or some other simple mode switch.   The new mode DOES have essentially the same FA response balance -- basically a slightly different post processing EQ -- THE DIFFERENCES REALLY ARE SLIGHT WHEN USING 1st order EQ!!!

 

Given the additional command changes, the already planned additions and good SW practice requires segmenting the EQ differences into separate C++ classes, the upcoming clean-up release for the most recent REALLY GOOD SOUNDING decoder version will be delayed an extra day.  I was planning on a Tuesday release, but the significant changes (probably 100+ lines of code), and need for verification, might be Wed, NO LATER THAN THU for the clean-up release.

 

John

 

 

 

 

 

Link to comment

I know that there is a credibility issue here, but I wanna explain some the terrible complications in the FA decoding algorithms.

 

Nominally, a DolbyA unit is flat, but that is only at 0dB.   At 3kHz on up, at levels less than 0dB (actually about -12dB), the gain is NOT zero dB, but increases vs. frequency.   The maximum gain of a DA unit is about 15dB at about 18-20kHz.   That is a LOT of HF boost.   (This boost is relative to the 100Hz to 3kHz region, whose gain is also variable, but not normally in the FA configuration.)

 

When reverse engineering the FA decoding, somehow that extreme treble boost, done up to 8 times needs to be reversed.   Normally, if you KNOW what the gain is, then reversing the boost would be easy.  However, the HF gain can be anywhere from 0dB to 10dB up to about 7->9kHz, then up to 15dB at 20kHz.   At low levels, there is a lot of HF gain/boost, done 8 times. ANY CLAIMS THAT A DolbyA is flat, or FA encoding is flat -- nonsense.

 

How does one deal with so much HF gain?   In between each step, some HF cut EQ needs to be done...   How much is quenched at what frequency?   What was done during encoding?   Also, there is input EQ, but what should the curve be?   It is possible that the rolloff is done before and after decoding, or all could be done before decoding, or all could be done after decoding.   The current version has several 3 and 6dB EQ at certain (7 or 8) frequencies.   The frequencies are easy to choose, if you know what your doing.  However, the gains are very dependent both on DolbyA units, the EQ betwen each layer, and on the original designers choice.

 

There are SO MANY variables, but also started not even knowing what kind of EQ is being done.   Early on, I erroneously used 2nd order EQ.   Some results can be gotten witih 2nd order only, but it is all wrong.   When starting to deal with the 1st order EQ, I had NO IDEA on how to 'map' the sound of the EQ to the 1st order equalizers.  ALso, the bass EQ needs additional 2nd order.   2nd order has additional Q values as a complication.

 

Also, and VERY IMPORTANT...   I don't think that the FA design was intended to be decoded.   The FA encoding method causes all kinds of strange effects, including frequency skews resulting from the equalizers along with the variable/sliding gains.   Normally using the standard 1st order EQ concept just does not work.   Trying to simply use 1st order EQ is what caused my earlier 'hollow' bass.   You cannot get a good EQ using normal concepts of 1st order frequency EQ.   There are some subtle tricks needed.  In a way, I'd like to keep them secret just to be a high priest -- but that is not my style.  Without the proper, strange lattice-like EQ technique, then reasonable results in any frequency band just don't seem to be possible.  Just knowing the gains and basic EQ frequencies will NOT directly allow decoding the material.  As an exercise, I reverted the decoder to conventional EQ, and it just did not work.

 

The bass has been the most tricky part of all of it.  One reason is that the sound of the FA version of bass is JUST WRONG.   If I had a good copy of the Carpenters recordings, not confused with all kinds of record hash/ticks/pops/surface noise, I'd have a better chance of matching the pre-FA encoded bass.  However, AFAIR, many people who like the FA encoding would be very disappointed about bass on real recordings.

 

The next release is the result of fixing a LOT of mistakes, but very few mistakes/errors will be left over.   The effort is already more of a success than I feared a few months ago.   There have been VERY VERY FEW who have had unhelpful intent, but most have been overly kind.  The various troubles were caused by:  1) not knowing the encoding scheme, 2) misguided attempts at getting other people involved to help, 3) misunderstanding the level of success earlier in the development process, 4) difficulty in interpreting well meaning suggestions, and most sadly, 5) A few setbacks caused by unhelpful help.   Happily, eventually the problems have been overcome, and those still hopeful will get the best possible result in a few days.

 

Anyway, this message started with an attempt to explain the trickiness of the HF EQ, but then morphed a little into the LF.   The EQ is so strange that very little of the EQ is a normal 1st order or 2nd order filter.  This isn't for someone not at PhD level or experience, because the result would have been nil.  This is DIFFICULT STUFF...

 

A version with NO excuse for complaints (other than small errors) will be coming soon.  The decoder will be able to (already does as a test version) produce FA style bass along with normal bass as expected from the decoder.   Primarily, I have *tried* to use ancient vinyl as a reference, but the FA mode of bass will come from direct comparisons with raw FA recordings.  Both modes will be avialable!!!

 

Gonna sign off for a few days (other than direct answers to questions.)  Most communications are done privately now, but any public questions are welcome also.

 

 

Link to comment
On 9/18/2021 at 5:38 PM, John Dyson said:

The decoded version sounds IMO much much better than the original - I had feeling of more depth of the recording space, instruments were much better separated and their timbre was clearer. I have no objections to EQ balance of the decoded version. Keep the good work. I hope you will release a stable version with complete manual and enough simple usage instructions soon.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...