Jump to content
IGNORED

'FeralA' decoder -- free-to-use


Recommended Posts

This is what I was worried about -- I gratuitiously removed an EQ because I thought that it wasn't needed -- yet it was.   Give me 2Hrs, and I'll do a 'C' release...  My hearing is back!!!

 

Link to post
Share on other sites

The V2.1.5C release is ready, with the EQ added back in.   If you have a lot of energy, you can compare the B and C versions, and be able to hear what happens when even the smallest thing is removed (The EQ was -1.5dB at 18kHz.)

I also updated the StartUsing document with a note about the mistake in V2.1.5B.

https://www.dropbox.com/sh/1srzzih0qoi1k4l/AAAMNIQ47AzBe1TubxJutJADa?dl=0

 

Windows users want:

https://www.dropbox.com/s/rusch3i4sc3bf4n/da-release2.1.5C-win-2021-03-26.zip?dl=0

Linux users want:

https://www.dropbox.com/s/q3t5otjfbg60n3s/da-V2.1.5C-Linux.txz?dl=0

 

StartUsage guide:

https://www.dropbox.com/s/7h1r6pryamgbk7o/StartUsage-V2.1.5C.pdf?dl=0

Link to post
Share on other sites

Good news -- after listening with newly rested/recovered hearing, I am very sure that the V2.1.5C is far, far exceeding my initial expectations.  I am not claiming perfection, but at least, so far, not feeling compelled that there needs to be a new re-release. Frankly, this run of demos, Iam VERY MUCH tempted to just listen to recordings in real-time rather than doing the massive decoding operation (public snippets and private examples) for future listening and demo purposes.   BTW -- the AVX512 Linux version is working very nicely, and it WOULD be nice to get feedback on the AVX512 Windows version.  Of course, you always have the SSE3 and AVX Windows versions to use.

 

All of the access information for the decoder is in an earlier post, however I usually like to provide matching snippets.   Here are the snippets for V2.1.5C:

 

https://www.dropbox.com/sh/tepjnd01xawzscv/AAB08KiAo8IRtYiUXSHRwLMla?dl=0

 

I renamed the directory so that it reflects the date and SW version.   I sure hope that doesn't drop the links.  Like always -- PLEASE warn me if I happen to mistakenly post full versions -- I try to keep the directories and downloads all consistent, but I am the best, most effective mistake-maker that anyone knows!!!

 

Anyway -- I was doing my usual massive decodes of full albums, and had been happy with every album except for the self-titled Fleetwood Mac album.   I had always thought that there was something wrong with the bass on that album.   After so much experience with comparing EQ and listening for 'tells' in the EQ, I finally have diagnosed the problem -- the # of poles in the EQ is too low.   That is, there needs to be an additional pole in the LF EQ.   What is that 'tell' that says that it needs another rolloff?   It is all about a balance in the sound -- and I did a quick check, and a 3dB rolloff at 20Hz cleaned it up very nicely.  Even a 10Hz rolloff helped a lot.   It isn't about signal level as much as it is a bit of a phase issue.  (Yes, you CAN hear phasing and explicit waveform changes below about 500Hz.)   This is, because at such low frequencies, a small phase difference is also a noticeable time domain difference.

 

If I was to permanently apply EQ to the Fleetwood Mac self titled album, I'd probably do -6dB at 12.5Hz.  (Why 12.5?  it is a magic number, I could discuss it in more detail some other time.)    Also, -3dB at 20Hz would work fine also -- but on the low end, I prefer to do more 'dBs' rolloff below audibility if I can and doesn't severely damage the audio region.   Why do I want to roll-off the very low freqs?   Avoiding wasteful power output depletion when driving a speaker, and also minimizing distortion-creating speaker cone excursion.

 

 

John

Link to post
Share on other sites

Good news and bad news...

Welcome to the world of forward looking engineering and the lack of a local support organization.

Good news -- the decoder is working really well.

Bad news -- I made another mistake, so it isn't working 'well enough'.

 

I was just doing some additional reviews...   Remember when I said that I needed to add-back in an 18k EQ?   Well, I really did need to add it back in, but not at the -1.5dB level, but instead at the -3dB level.   The difference is minor, but just enough that the change needs to be made.   I did careful reviews based upon 'tells' and not 'sounds good'.   I found some 'tells' that the -3dB EQ is needed rather than the -1.5dB EQ.

 

The bug has very few audible problems -- but it DOES have a few issues.

It is NOT the decoder's job to do 'editing', 'correcting the original' or 'mastering', but the decoder's only job is to recover, decode and revert a recording to the original as well as it can.  If YOU want to make changes, the decoder has *options* that allows YOU to do post-decoding EQ, a kind of poor-mans mastering.

 

When I make mistakes, even at the -1.5dB instead of -3.0dB level at the edge of audibility, that is NOT GOOD ENOUGH.

So, in the next few hours, probably the usually 9:00PM or 9:00AM timeframe, I'll be doing a 2.2.0A release, which will be 2.1.5C with some fixes.   At least one of the fixes will be the correction of the 18kHz EQ.   There MIGHT be another needed fix, and will make that correction available also.  9:00PM, the planned time is about +11.5 hrs from posting time, and I'll announce when it is ready.

 

The most irritating thing for me is tieing up my computer again for more massive decodes.   I'll be leaving the 2.1.5C decodes available because the difference between 2.1.5C and 2.2.0A will be very minor, but will be adding/updating to the existing public snippets and/or the private decoding results.

 

Sorry about this mistake, but it was made based on both exhuberance and over-confidence.   There are two or three other things that I'll be double-checking also -- but this 18kHz error will likely be the most profound.   If I do anything new, I'll try to figure out a simple method to determine if a 4core AVX2 machine is available, and that would be the cutoff point for 'double precision' anti-distortion being available by default.

 

Oh well, probably won't get to the better determination about the precision thing, but will be fixing a any minor EQ problems that I can find.

 

John

 

Link to post
Share on other sites

Release V2.2.0A is ready.

This improves further on the already 'pretty nice' V2.1.5C.

Grab the V2.2.0A stuff:

https://www.dropbox.com/sh/1srzzih0qoi1k4l/AAAMNIQ47AzBe1TubxJutJADa?dl=0

 

Will start creating snippets soon - have some prelim online now, but need updates.   The version number on the current snippets is wrong,

and look for those made after this posting for the best match to the released decoder.

 

No matter what, the decoder is BETTER than what is currently updated, and those demos are better than any previous decoder.

We are really starting to hit the area of diminishing returns, unless I can find a new optimization or possible defect in the audio to fix.

 

Improvements:

More 'correct' HF EQ (the 18kHz thing).

Better DolbyA 80Hz EQ match.  (This has been the major left-over problem, it isn't very noticeable on DA, but has more effects against FA.)

Revisited the ultimate LF rolloff.   More careful about getting the phase/#of poles.

One of the distortion cancellers was more trouble than it was worth (one of the 3000Hz cancellers).  Just disabled it.   There are still almost 26 of them chasing down distortion sources all over the place.  Also, the specific 3000Hz distortion canceller actually increased the grain in the sound more than decreasing it.   There is a correct fix for the 3000Hz canceller, but the distortion reduction for that canceller, when working correctly, is very small.

 

After these fixes, the big improvements include:

A more normal, less aggressive sounding high end.  (If the user wants to tone control, then it is best to use EQ that is optimized for that purpose.)

That 'overly bright' modulated 'highs' sound that comes along with vocals is now pretty much gone.   A big part of that problem came from a mismatch

on the Q for the 80Hz bandpass.   I was using Q=1.07, I measured Q=1.17 on a real DolbyA, but Q=1.25 appears to be much better than any.

 

 

The LF rolloff is tricky.   There are really wierd things about 1st order EQ rolloff, and one of them is that the 'tells' associated with bass actually INCREASE if you rolloff the bass a little at 20Hz.   The sound of the decoder for LF wasn't 'right', and after a few experiments showed that more rolloff than the V2.1.5C version was needed, but not as much as the prior release.

Also, the established pattern (sequence of EQ vs frequency) must be maintained, or the sound can/will be ugly in some test situations.   The slight increase in rolloff at/below 20Hz definitely improved the sound (IMO), and is partially implemented by carrying the EQ sequence further down in frequency.

 

All in all, the sound is more smooth, less grainy and probably getting close to as good as possible.   Actually, I moved this release closer because I have been thinking of some further improvements to the processing optimizations and wanted freedom to do so.  (With a release hanging over my head, I cannot think as freely.)   Already, the anti-MD code actually reduces the audible MD, but I am thinking about pushing the left over MD to the upper sideband, further decreasing the MD ugliness.   Of course, just thinking about it.

 

Have fun.

 

 

 

Link to post
Share on other sites

Need some feedback (public or private -- I don't care) about the HF response.

 

I want to make sure that there isn't too much >10kHz.   To me, it seems a little hot, but I have been following certain rules.   I can make  a simple change, but if I do, I must follow a certain set of rules.

 

Basically, at the output, I am using a 3k to 9k rolloff, because of a 3k to 9k boost earlier on.   Also, because of a side-effect of all that is going on, I had to do a 9k to 18kHz cut before decoding.   Along with the 3k to 9k rolloff, there needed to be an additional 18k -3dB rolloff, because of the gain increase by the DA expansion.   It seems like the sound is just a *little* metallic.

 

Because I cannot hear about 14kHz and am totally dependent on 'tells', I wanted to enlist some opions before I make a decision.   I know a couple of valid ways to improve the situation, if it exists, but I need to know that a real problem is detected.   So, instead of doing the 9k to 18k cut before decoding, I would do a 9k to 21k cut and remove the post decoding rolloff.

 

I'll be doing the experiment, but I'd really like some feedback before and after -- again, because I cannot hear tones above 14kHz, and even have troubles at 12kHz.

 

ADD-ON:  wanted to clarify -- I AM doing the experiment, but need help on verifying an improvement.  So, I want to make sure that it is worthwhile.  Double checking what I am hearing (or think that I am hearing.)

 

The reason why I make these mistakes or misjudgements is because I am second-guessing another engineer's choices, and both choices have validity -- I have been testing the alternative approach and am favorably impressed, but not sure.

 

Thanks!!!

 

John

 

Link to post
Share on other sites
50 minutes ago, John Dyson said:

Need some feedback (public or private -- I don't care) about the HF response.

 

I want to make sure that there isn't too much >10kHz.   To me, it seems a little hot, but I have been following certain rules.   I can make  a simple change, but if I do, I must follow a certain set of rules.

 

Basically, at the output, I am using a 3k to 9k rolloff, because of a 3k to 9k boost earlier on.   Also, because of a side-effect of all that is going on, I had to do a 9k to 18kHz cut before decoding.   Along with the 3k to 9k rolloff, there needed to be an additional 18k -3dB rolloff, because of the gain increase by the DA expansion.   It seems like the sound is just a *little* metallic.

 

Because I cannot hear about 14kHz and am totally dependent on 'tells', I wanted to enlist some opions before I make a decision.   I know a couple of valid ways to improve the situation, if it exists, but I need to know that a real problem is detected.   So, instead of doing the 9k to 18k cut before decoding, I would do a 9k to 21k cut and remove the post decoding rolloff.

 

I'll be doing the experiment, but I'd really like some feedback before and after -- again, because I cannot hear tones above 14kHz, and even have troubles at 12kHz.

 

ADD-ON:  wanted to clarify -- I AM doing the experiment, but need help on verifying an improvement.  So, I want to make sure that it is worthwhile.  Double checking what I am hearing (or think that I am hearing.)

 

The reason why I make these mistakes or misjudgements is because I am second-guessing another engineer's choices, and both choices have validity -- I have been testing the alternative approach and am favorably impressed, but not sure.

 

Thanks!!!

 

John

 

I decided to defer this topic, even though feedback about excessive or inadequate HF would be helpful.  I am pushing this aside for now unless it is really a profound defect.  Bottom line, the current sound is 'okay', and I don't want to fix something that isn't 'broke' :-).

 

Being most transparent and honest -- I did too much 'what if', and did several comparisons.   The current situation, perhaps with one bugfix -- is by far, the best.

 

John

 

Link to post
Share on other sites

You probably realize the worry that I had about the HF not sounding quite perfect.   I think that I MIGHT have figured it out.

It is all about a pre-emphasis and de-emphasis scheme used to overcome the behavior of DolbyA units when acting as multi-band compressors.

 

Of course, the FA decoder actually decodes something that was never intended to be recovered.   I think that I found the error in the

de-emphasis side of things, and is also related to the need for the 18k EQ -- that also worried me, but it also made sense.

 

I am working on the correct pre-emphasis and de-emphasis, but since it is INSIDE of the decoder entirely, the hit on quality isn't major.  It is significant, but NOT

a killer.

 

The result of proper pre and de emphasis is that thiings like cymbals sound a little more real.

I caught this on the Al Stewart recordings -- and did some double checking, and the matter IS about the pre and de-empahsis.

 

I'll probably do YET ANOTHER release today or tomorrow.  If it was life and death, I'd do it very soon, but the difference is NOT major.

 

John

 

Link to post
Share on other sites

Still working on the EQ matter, and think that I have figured it out.

There should be a release at 9:00PM tonight (about +14Hrs.)

 

Important aspect of my hearing -- when there is excessive rolloff just at my hearing limit, it sounds to me like there is too much HF.

 

With that aspect of my 'measurement' device understood, I found that there is a premature rolloff in the decoding results -- therefore

causing a metallic sound, almost as if there is a boost somewhere in the high end of the spectrum.

 

The previous (in current) EQ is this:

on input:

3kHz +6dB

9kHz -6dB

and on the output:

3kHz -6dB

9kHz +3dB

18kHz -3dB

 

The above sound plausible, but was wrong.

I believe that the following is much more correct (gonna test all day today):

3kHz +9dB

9kHz -6dB

on the output:

3kHz -9dB

9kHz +6dB

21kHz -6dB

 

I am not sure about the 21kHz, but I don't like leaving that 9kHz+6dB hanging without being rolled

off.   Might not need the 21kHz rolloff, but I am going to do some tests, looking for 'tells'.

 

How did I come up with those numbers?   It is about the characteristics of DolbyA compression, and each

figure that I used above (both good and bad) are defensible.   Also, FA encoding appears to consistently

use even dB values, typically in 1.5dB multiples.  Values such as 3dB, 6dB, 9dB and 12dB are most common.

Important DolbyA frequencies (where there are bends in the curves);  80Hz, 3kHz, 9kHz.

Imporant DA gain values:  10dB, 15dB  (rounding 10dB to 9dB, for example.   Mixing 9dB and 6dB makes 15dB.)

 

The above is my crazy logic about the initial, first order choices for FA encoding and decoding AT THIS LEVEL.

 

It is all about getting into the mind of the engineer (miscreant) who designed the FA scheme!!!

 

 

Link to post
Share on other sites
1 hour ago, mocenigo said:

I must stop following this drivel. Initially, I thought it was interesting; then I realised it was only delusion. Then it became sad.

Later, it became embarrassing. Now it is just annoying.

Have you even tried to listen to the results lately?  Have you compared the results with the total cr*p that you are buying?   Geesh!!!  What do you want:  A Mercedes for free also?  Do you know what the decoder really does?   What is your basis for criticism -- please explain your engineering background and how you could have done any better -- where did you get the FA specs, for example?   There aren't even DolbyA specs -- reverse engineering 1960s HW with SELECTED COMPONENTS...   You can't even model a DolbyA unit with Spice (at least in a practical way.)

 

MOST COMMERCIAL PRODUCTS OF THIS COMPLEXITY WOULDN"T BE TELLING YOU THE TRUTH.   What do you expect?   Would you like for me to tell lies like most of the boutique HW suppliers who do an especially good job of 'minimizing jitter?'   I could have hidden this last bug -- it was HYPER SUBTLE.  I am doing PERFECTION, not 'good enough to foist on fools'.

 

Some people don't like technical things -- you probably have NO IDEA about how complex the program is.

1) No specs.

2) Starting with the only SW DolbyA decoder that works correctly, INCLUDING FROM DOLBY.  That was a ground breaking effort to begin with.

 

This is a total reverse engineering exercise from someone who has a hearing problem.   I think that the results are really good -- but of course, I am a real engineer and know how hard some of this is to do.

 

It took Edison a long long time to find a good filament material, and then his main patent ended being the screw base.   Also, many of his patents were the result of usurping and not really doing the work.  (Yes -- I know someone, who has since passed-on who knew Edison.)

 

Yep -- real engineering and development isn't like Scotty on the Enterprise, and isn't like playing a video game and calling oneself a 'programmer'.

I am an audiophile from the past, and cannot tolerate the garbage being sold today (even from the 1980s) -- how can ANYONE call themselves an 'audiophile' (in the HiFi sense) and not realize HOW HORRIBLE the consumer recordings actually sound?

 

I am someone who used to do VERY HIGH quality recordings, and not connected with industry.  I won't shill the garbage recordings available today -- but many will, in order to  keep their contracts.  I'd be embarassed to admit that  I tolerated the sound of most digital recordings today -- well, unless I REALLY REALLY REALLY liked the music.  I mean, it would have to be a strong, overriding 'LIKE' the music.

 

* About engineering -- doing 'engineering' isnt' taking an existing schematic that someone else designed, and put in your own parts values.   That is what we would have a technician do.   Real engineering (I  mean R+D) is a start from scratch, making no assumptions, sometimes reverse engineering is a pseudo-random walk, and is totally dependent on complex tells and measurements.   THAT is the FA decoder.

 

YES -- I could do a cr*ppy decoder, and has (yes HAS) sounded better than the cr*ppy consumer recordings that it 'decoded' -- but that is NOT decoding, and it is NOT sufficient.   Because even the decoder that was deemed acceptable by some serious audiophiles produced cr*p -- it was just better than the original recordings as purchased.   THAT IS NOT GOOD ENOUGH FOR ME.

 

 

John

 

Link to post
Share on other sites

The previous messages notwithstanding, there will be an update tonight for a very difficult-to-detect problem,

but once you hear the difference -- you'll be able to understand why I did the release.

 

NO matter what, the resulting decodes, even for the last few months, tend to be MUCH MUCH more clean than the original.   There are some cases where the FA sound is preferred -- and that is OKAY!!!   It is not wortwhile to try to decode something where the compressed sound is more desirable.  I am not trying to take-over the world...   The industry has already taken over the audiophiles hearing with FA, and is trying to make it worse with MQA.

 

My hearing causes me to make mistakes when I do decodes, this has caused me to make bad decoding decisions in my examples.

But, this is EXACTLY why there are NOW very few tweaks -- it is intended that people like me, with hearing defects, can do a good job.

 

John

 

Link to post
Share on other sites
1 hour ago, mocenigo said:

I must stop following this drivel. Initially, I thought it was interesting; then I realised it was only delusion. Then it became sad.

Later, it became embarrassing. Now it is just annoying.

 

John's Scotty reference reminded me of the "Central Casting" crew members who have their voices silenced, never to be beamed up again, during explorations with good actors in lead roles.  Who make no end of mistakes, but never dumb decisions preventing another episodic encounter with the unknown.  

 

BitterLeanGenet-size_restricted.gif

Link to post
Share on other sites

There is a new release: V2.2.0F...   Very little difference from V2.2.0A, B or even before, but I don't like even the smallest bug.

If I find a bug in this release -- a botch on the build, or any kind of sound quality improvement -- YOU'll get a release as soon as it

can be created...

 

Not limited by beancounters pushing me to work on other projects!!

https://www.dropbox.com/sh/1srzzih0qoi1k4l/AAAMNIQ47AzBe1TubxJutJADa?dl=0

 

Below are example snippets & and (version name) showing:

1) How consumer recordings sound mostly sound TERRIBLE.(RAW)

2) How the previous release sounds (V2.2.0B)

3) How this new release sounds. (V2.2.0F)

 

Fleetwood Mac - Rumours - 08. You Make Loving Fun-RAW.flac

Fleetwood Mac - Rumours - 08. You Make Loving Fun-V2.2.0B.flac

Fleetwood Mac - Rumours - 08. You Make Loving Fun-V2.2.0F.flac

 


I doubt that you'll hear much difference between V2.2.0B and this current release (V2.2.0F).  You should hear defects in the

'RAW' FA CD as profound: (telescoping stereo image, no HF transients other than MUSH, caliope/fake and distorted BASS.)

 

Also, those not hearing the terrible quality of the RAW CD -- perhaps ones hearing should be checked as it is probably even worse than mine.

Any development here isn't 'pathetic' like some might claim...  IT IS PERFECTIONIST.

Rest assured -- most often, a boutique developer will NOT be transparent & honest like I am.  I will tell you EVERYTHING if you want.

 

have already distributed partial source code of the DolbyA AND FA decoding!!!  No secrets here (just worried about the source code internal documentation not being professional.)   I WANT TO RELEASE SOURCE CODE TO KEEP my proprietary algorithms from being patented (prior art defense.)  I have 1000's of full copies of each step in the development...  Everything needed to defect ownership of the highly advanced algorithms.

 

There is little or no 'failing' in the current versions of the decoder, in fact -- I had 'perfectionist' audiophiles liking decoding results 2yrs ago -- when the decoder wasn't very good.  It is just that there was an improvement over lousy consumer versions of recordings.  (I didn't really like the decoding results 2yrs ago -- because I KNEW that it could be much better -- LIKE TODAY.)

The only REAL  flaw is that the high quality decoding modes take a LOT of computer time, this is because of the very math intensive algorithms, and no previous research on this technique.  I do NOT have the math skills to deal with piecewise nonlinear analytical functions...  The discontinuous nonlinear stuff  is a REAL specialty field, and I dont know anything about it -- other than my algoirthm which utilizes some concepts from that field.

 

I had almost begged for feedback for YEARS -- which direction to go?  What are the impairments that were heard?   The BEST feedback that I got was recently from a correspondent from HERE, at AS.  I won't use his name unless he tells me that it is okay, but I DO thank him for trying to help -- greatly appreciated.  It does NOT help to say 'it sucks' or equivalent -- instead, tell me how it sucks.

 

With my poor hearing, I have had to almost 100% depend on my very good engineering skills along with my failing hearing -- but this decoder is not just GOOD, but it is close to PERFECT.   The results are better than ANY DolbyA HW can decode true DolbyA materials.

 

(In fact, the DHNRDS FA reaches back and corrects previous DolbyA decodes to some extent.)

 

 

StartUsage-V2.2.0F.pdf

Link to post
Share on other sites

Suggestion on using the decoder -- I have just noticed this.....

 

Some recordings REALLY DEMAND using --fa=M or --fa=MM.   Not many, but some.   These are additional, apparently standard LF EQ.   --fa=M or --fa=MM are the strongest EQ needed other than sometimes minor HF EQ.   The LF EQ is a tricky thing because there is 10dB or more compression at 100Hz and below.  Sometimes they must cut the lows before they allow the FA compression to take over.

 

In fact, a part of the internal FA decoding is to do a sharp (1.19Q) 80Hz boost.   This is because they do have to do the 80Hz cut before encoding.

 

John

Link to post
Share on other sites
On 3/28/2021 at 2:12 PM, John Dyson said:

Have you even tried to listen to the results lately?  Have you compared the results with the total cr*p that you are buying?  

 

The problem is the spam, you are releasing every few hours, and each time it is either "this time it is perfect, no more filter options" and two hours later "Oh no, I missed something, so give me time to tweak, see you in six hours " – then "ok, not I *think* I have fixed it, but need to check a few things" then "Ok, yes, it is the definitive one", then "crap, there was some missing EQ there that I need to fix, I am using my headphones to check but of course I do not trust my ears" – in an endless loop.

 

If you are indeed the John Dyson the developed parts of FreeBSD, you should know that this is not the way to develop software. You are not giving yourself enough time to think at all the variables and see how they interact.

Link to post
Share on other sites

Sorry about a release coming up.  A person on the PM group brought up a possibility of a bug, and they were correct.

The 'special sauce' processing had a serious bug, and actually added distortion back in after removing it!!!

 

Also, I am considering/reconsidering the default EQ having more bass.   My own bias is towards less bass, and the EQ pattern points to the current default.

However, I also need to consider the userbase's taste.  If I change the default EQ, the original EQ will still be fully available.

 

Thanks!!!  Expect something tonight -- tomorrow night at the latest.

 

Link to post
Share on other sites
9 minutes ago, mocenigo said:

 

The problem is the spam, you are releasing every few hours, and each time it is either "this time it is perfect, no more filter options" and two hours later "Oh no, I missed something, so give me time to tweak, see you in six hours " – then "ok, not I *think* I have fixed it, but need to check a few things" then "Ok, yes, it is the definitive one", then "crap, there was some missing EQ there that I need to fix, I am using my headphones to check but of course I do not trust my ears" – in an endless loop.

 

If you are indeed the John Dyson the developed parts of FreeBSD, you should know that this is not the way to develop software. You are not giving yourself enough time to think at all the variables and see how they interact.

I am talking about the technology -- that is what the project is about.   This is VERY VERY heavy engineering, much more complex than the FreeBSD VM system.  I would think that some people might be interested.   Also, the complexity being not as great on FreeBSD, I had between two and four people to work with me -- is anyone willing to help here?


About FreeBSD -- I actually wrote 1/2 of the 2nd kernel after the agreement between AT&T and Berkeley.  This is all while I was working under special permission from Bell Labs to do the FreeBSD project.  That put me into a strange, but interesting position.   Back then, we did have detailed discussions in our mailing lists, but not everyone was party to them...   Bell Labs (the AT&T research counsel) offered me a research grant to continue my FreeBSD work, but instead I decided to take a job in the Bay Area for over $1M/yr.

 

Maybe I should dismiss the competency of the user base, and feel that they aren't worthy to know what is going on?

I hope for more in people, NOT LESS.

 

I have enough respect NOT to censor the information.  Those not interested can filter it themselves, I am not compelling ANYONE to read stuff.

 

 

 

 

Link to post
Share on other sites

John,

 

WRT the bass eq, I've run 5 albums (that don't fit the musical character of your snippet collection) through 2.0.2F (bare fa outgain+6), and the bass is good. By good, I mean ever so slightly less than I would consider perfect and what you would consider a bit more than you like. To me that is within a range of vairiability that a user/consumer should reasonably be considered to handle/accomodate on their own. The notion that I might need to experiment with post-eq a bit is fine with me.

 

Regarding what I hear -- I think I would like it if the fundamental of tones below perhaps 100hz were slightly boosted (1-2db?) I don't think the harmonics of those tones would need to be altered. It's like the harmonics want that slight increase in the fundamental.

 

hope this helps,

 

Skip

Link to post
Share on other sites
12 hours ago, Skip Pack said:

John,

 

WRT the bass eq, I've run 5 albums (that don't fit the musical character of your snippet collection) through 2.0.2F (bare fa outgain+6), and the bass is good. By good, I mean ever so slightly less than I would consider perfect and what you would consider a bit more than you like. To me that is within a range of vairiability that a user/consumer should reasonably be considered to handle/accomodate on their own. The notion that I might need to experiment with post-eq a bit is fine with me.

 

Regarding what I hear -- I think I would like it if the fundamental of tones below perhaps 100hz were slightly boosted (1-2db?) I don't think the harmonics of those tones would need to be altered. It's like the harmonics want that slight increase in the fundamental.

 

hope this helps,

 

Skip

Super-thanks...

The next release will have approx 1-2dB more (maybe 3-4) at 100Hz, a little more below that -- I don't remember exactly.   I also have felt the bass to be thin.  The adjustment is done to try to  'match' better, even though there is some design prejudice from experience/theoretical background also.  I'll have to delay the release for about 21Hrs because of a serious personal matter.

 

Background info -- no need to read these details unless *really* interested:

 

The basic LF rolloff is the 6+3dB per step  I used a decay with acceleration from 500Hz down to approx 25Hz for the EQ.   The EQ at 500Hz should be less than the lower freq.  Otherwise, I thought that it should be a 'smooth' , but increasing curve to approx 20Hz and the 'intuitive' in me told me so.  (Basically 6+3dB per step at 500,250,200,100,50,25, but also 6each 0.75dB, 80Hz/Q=1.0) bass boost.  (The 80Hz bass boost appears to be required for the correct sense of bass transient.)   Currently, this exact length of smooth curve appears to be wrong, but maybe should be truncated.   So, now I am trying 500,250,200 and stopping there, except for some rolloff at 25Hz.  Might add-back the 100Hz -- still not sure.   That change in  rolloff might appear to be profound, but it really isn't as much as it would seem (1st order EQ is an odd animal.)   The rolloff has already  started at 500,250,200, becoming more aggressive as the freq decreases,  so the 100, 50 are almost 'tweaks'.   Something in the 20Hz or so range is still needed to wrap up the 80Hz boost.  (I want to save my friends speaker cones.)   Also, the 9dB per step makes 27dB, which was close to my original guess of 18 to 27dB when listening to the raw signal.  The 'best' sound happened when using the compliment to the 80Hz boost at 10Hz.  So, audibly the 80Hz boost is needed 'all the way down', but as a matter of good design, I want to keep the gain at DC neutral or less, when possible.

 

The new change will affect the 100Hz on down by a few +dB, and I made sure that there is plenty of 'wrap up' at 12.5Hz (but it is a wide filter with significant effect at 50Hz), and then the narrow 2nd order at 10Hz/Q=1.0.   This seems to improve the bass, while still essentially maintaining the intuitive slope & protecting speaker cones/minimizing the PM associated with speaker/doppler effect.   All changes are based on the consistency of the design -- micro tweaks only cause problems.

 

I know that this seems ad-hoc, and it is ad-hoc to some extent -- but there are NO, ZILCH, ZERO specs, so I am also substituting my figurative "reading the designers mind" based on my own analog R+D design background along with ALL KINDS of 'tells'.

 

I am still testing -- (personal matter) the release will be delayed by 24Hrs, however the results appear to be very positive.  I *just might* add back the 100Hz rolloff, while trying to match the FA bass to some extent, except for the FA evil calliope effect.   It is the general 80Hz region where I have had the most trouble BECAUSE of the masking of virtual FA calliope.

 

Let me explain about the 6+3dB rolloff -- I tried all combinations including a 9dB and 3+3+3 and a few others including 12dB and 6+1.5.  NONE gave a reasonable match other than the 6+3dB.  Also, the frequencies were chosen after exhaustive comparisons.   There is some intuition also from the standpoint of minimizing the # of equalizers to some extent, and also realize that there is a tendency to use EQ like 1.5dB, 3dB, 6dB, 9dB, etc.  Nowadays, an equalizer doesn't cost HW, but in the past more equalizers would add HW.   I have also considered HW impedance loading effects, but I believe that the HW mostly  took care of that.

 

So, I'll take advantage of the delay day to re-consider the 100Hz rolloff because I do NOT want to over-compensate so reconsidering removing it.

 

The original design 80Hz 2nd order boost which appears to be an attempt to approximate the 80Hz band splitting in a DolbyA, which is more like 80Hz/Q=1.19.   My guess is that the 6each EQ at 80Hz is needed because of the 7layers.   Also, the 0.75dB per step is probably an emulation of the 80Hz gain curve level being between 0.50dB and 1.0dB  different than the middle frequency range.   I had to add the 80Hz EQ after the fact and similar to the use of 6+3dB was NOT an initial prejudice.  I did a huge amount of exhaustive testing, burning up my hearing whille doing so.   (The 'bass boost' undoes a 'bass cut' when originally encoding. -- given that, then the boost makes sense.)

 

Normally, I prefer to work from a spec or even an existing HW design and emulating the HW.   The FA decoding was a TOTAL blank slate except for noticing the DolbyA dynamics.  (Sorry for the excuse about the design technique -- but this wasn't just design, but I feel that I OWE the users some explanation of what is going on.)

 

So, figure on a release at approx +21Hrs (9pm, USA Eastern tomorrow)... (I show the relative time because people all over the world read this.)  Sorry about the delay, but at least it is before the weekend.

 

John

 

Link to post
Share on other sites

There is a 99.99% chance of a release tonight.  Could have done it this morning, but I really want to do a lot more testing/double-checking.

 

Improvements:

1)  The anti-distortion no longer inserts new confusion after removing lots of the original 'distortion'.   Double checked for any noticeable combing effects or peaks/dips, and there are no noticeable side effects.   If I get around to correcting some of the EQ with 'special sauce' disabled, you'll be able to hear what the difference is.  Sometimes there is a very noticeable difference in distortion, sometimes not.

The basic thing that 'special sauce' does (enabled by default) is to help to remove some phase modulation from the recordings.  Even if there are a few negative side-effects (I haven't heard any), it is really good to remove all of the variable gain * phase created by 7 DolbyA units modulating their gains at incredibly fast rates.   The anti-MD capability in the base DA decoding also helps (a lot.)   The internal DA anti-MD mostly gets rid of the fog, while the 'special sauce' helps to mitigate the mix of distortions.  There are other anti-IMD and weaker anti-MD mechanisms built-in also, every one is intended on minimizing the gratuitious gain changes that you cannot hear anyway.  In some cases the fast gain changes are entirely inaudible, except the create 'FOG' in the sound.   I'd rather have more clean sound and clip off 100usec of a gain control transient instead of have perfect gain control tracking and have all kinds of fog sidebands created.   The anti-MD does the 'impossible' and effective moves the gain control to zero crossings -- cute trick, huh?  It does this move without creating gain control noise from phasing not matching.

2) Better bass.  The bass has been too thin, and I know it.  There was previously a tension between 'thin' bass and 'muddy'  midrange/bass.  I had previously chosen the 'thin' sound, but a lot of people really enjoy their bass (rightfully so -- I will never judge someone's taste.)  With some reassurance from people willing to help, I started looking more seriously yesterday for ways to improve the bass without adding muddy sound.   The answer was to break-away from my previous 'rules', and develop new reasonable prospective rules',   The new EQ rules allowed a couple of things, but most important is more bass without a muddy sound.   Also, I could correctly use 7 stages of the 0.75dB 80Hz EQ (matches the number of layers) instead of 6.  Also, the sound is PERFECT when wrapping up the 80Hz EQ with an equivalent decrease at 20Hz.  IT IS SO IMPORTANT TO BE CAREFUL ABOUT <20Hz gain.

 

3) Unfortunate need for a decoding mode 'H'  for ancient recordings like 1970 Carpenters and some of Linda Ronstadt's recordings.   They ARE EQed differently, but I had been trying to compromise the MF/LF EQ for those recordings.  I kept the idea that ALL recordings have the same EQ -- but that is wrong.

Basically, there is a pre-emphasis/de-emphasis scheme in the FA procesing ,and some recordings like those who ned the 'H' submode  NEED the de-emphasis disabled.  By supporting these old albums, there is NO additional EQ, and in fact LESS.  The old recordings are supported by the 'H' submode as in '--fa=H'.  This is the only submode required to decode any certain albums.  I strongly strongly suggest learning how to use the --pvdl, --pvdh and the --pe equalization so that I don't have to support all niche EQ schemes.   Just because a mastering engineer gave a 3db boost at 9kHz doesn't mean that I should support it.

 

The above is what to look forward to.  The sound quality has been progressively getting better -- please don't judge the general quality though by the bass -- the bass could always be EQed correctly by the user    The basic quality has generally been better than HW could have done for quite a long time.   ALL of the EQ that I have been discussing is AFTER the decoding step, and can be done by anyone.  There are NO decoding effects by changing the post decoding EQ.  Again, with the new --pvdl/--pvdh along with the --pexx=4,dB and --pexx=5,dB modes, these have anti-distortion phasing built in.  With these, you can do ALL post decoding EQ that I can do internally.  The EQ inside the decoder MUST be very general purpose, but EQ done by the users can be specific for the recording.  Therefore, there are REAL limitations about the decoder ability to EQ and sound reasonable...  The USER has full control also.

 

Thanks -- and it appears that the delays caused by personal issues won't happen today (I HOPE!!!)

 

Link to post
Share on other sites

The new V2.2.1A release is ready.  It sounds VERY different.  Fundamental error (worse than bug) is corrected.

https://www.dropbox.com/sh/1srzzih0qoi1k4l/AAAMNIQ47AzBe1TubxJutJADa?dl=0

 

Snippets at;

https://www.dropbox.com/sh/tepjnd01xawzscv/AAB08KiAo8IRtYiUXSHRwLMla?dl=0

 

VERY IMPORTANT -- read esp the 2nd dot item below.  If you don't read anything else, the 2nd item is important.   When listening, there is not less deep bass at all, but the MF and HF are more accurate.   This can be confused with the lack of bass.   The problem is that previously there was a lack of HF between 2kHz and abt  4kHz.   This range has a high signal density, so the increase/improvement might seem like the highs are alot more strong, but instead they are more accurate/clean.

 

PLEASE GIVE ME FEEDBACK ON THIS NEW MF/HF.   I have some limited control over the balance, just as there is limited control over the bass.   Even though it doesn't sound like it, there is actually about 2-3dB more bass at 25 to 100Hz relative to 1kHz.   The curve drops the 2-3dB less when moving from 1000Hz down to 25Hz.   The HF correction (and actually LF improvement -- just less noticeable) comes from correction of a serious mess up in the MF.  I CAN change the upper MF/HF by about 1-2dB without screwing everything up -- just tell me what you think.   It can be changed in minutes (might take me a few hours to test.)   I believe that the sound MIGHT sometimes be a little more garbled, but my judgment could be misguided.

 

I am accepting the fact that there MIGHT be an update once there is some feedback.  I truly do not know.  I wouldn't have done this release if I didn't think that it was correct and worked better than previous versinos.

 

  • Per kind feedback by @sixpack and my concerns already about the bass EQ, I reworked the bass EQ sequence again.
  • Another major change, fundamental error corrected – much better balance between LF,MF,HF. You should notice much more upper MF and HF. It might SEEM like less LF, but if you listen carefully there IS a deeper, wider bandwidth LF, it is just that there is also a more natural, more accurate 1k to 20+kHz. READ THE SECTION ABOUT –fa=T, --fa=TT, --fa=TTT, you might need it more often now.
  • The new command set is still trivial. GOOD NEWS – ‘--fa’ alone should work on practically everything now. I have decided to disable most submodes and helper modes. Unfortunately, I have given up with a compromise for the older Linda Ronstadt and Carpenters albums – there is a special EQ mode for those older recordings, it is ‘H’ for ‘highs’. Instead of compromising other recordings, there is a special mode for those. The ‘H’ mode does something ‘natural’ and eliminates the final EQ step that undoes the pre-emphasis before decoding.
  • Commands use integer offsets for things like calibration and stereo image – no need to remember any magic numbers
  • Use the –stw=-2,-1,0,1,2 for stereo image. The default is 0 for –fw=classical, and 1 for the default –fw=wpop. If the stereo image seems ‘narrow’, just try a larger –stw switch. I suggest that sometimes POP that needs the –fw=classical or –fw=wclassical switch, an additional –stw=1 will be very helpful. ADD-ON: sometimes using --stw=1.414 or --stw=1.5 has been helpful. Some recordings that need the –fw=classical mode might even benefit from –stw=2.
  • More intelligent utilization of memory for FIR filter coefficients. (good for small machines)
  • The –pvdl instead of –pvl EQ and –pvdh instead of –pvh EQ will often produce better sound quality, even though the EQ is similar.
  • AVX512 versions appear to better utilize the advanced instructions much better than before (probably cache locality improvements), so there is approx 30% speed improvement when the AVX512 instruction set is available. Windows AVX512 version supplied, but cannot test it. Linux AVX512 is one of the primary test versions, so should work fine.
  • I found that the single precision Hilbert transforms leave a small amount of distortion in the signal, so I have added a –dp switch. The default precision for non-AVX512 versions is ‘single precision’, and if you want the higher quality of double precision at a cost dependent on CPU type, etc – then the –dp switch is available to try. The default precision for AVX512 versions of the software is ‘double’ but can be disabled by ‘--dp=off’. Some time in the future, I’ll use a different method of choosing –sp or –dp, perhaps based on AVX2 and # of cores.

 

Link to post
Share on other sites

About the 'garble' comment.   I was wrong -- it was a perception matter.   The line-up of vocal chorus is about as good as possible.

 

This version (V2.2.1A)  is MUCH MUCH better than previous.

 

Again, like I have written before:   I sure wish there was a spec, but with the complexity and the needed mitigations for distortion/garble/etc, I doubt that the terrible quality consumer

recordings were ever intended to be cleaned-up.

 

Shame on the recording distributors...

 

Link to post
Share on other sites
1 hour ago, John Dyson said:

About the 'garble' comment.   I was wrong -- it was a perception matter.   The line-up of vocal chorus is about as good as possible.

 

This version (V2.2.1A)  is MUCH MUCH better than previous.

 

Again, like I have written before:   I sure wish there was a spec, but with the complexity and the needed mitigations for distortion/garble/etc, I doubt that the terrible quality consumer

recordings were ever intended to be cleaned-up.

 

Shame on the recording distributors...

 

Been doing more thorough testing and got some feedback.  So far -- here are the following updates for tomorrow:

(It might be that the release today was a 'mistake' -- I am still studying the matter.)

There is NO garble, which DID worry me.

 

1) add better support for older recordings, with non-standard EQ (relative to today.)   The older recordings will seem to be bass heavy, lack of highs or 'dead' sounding in one way or another.

2) correct slightly muddy bass.   The bass is tricky, because if the bass isn't correctly 'rolled off', it creates a sense of being muddy.  If it is rolled-off too much, then there will be complaints about not-enough bass.  Without specs, all we can do is to try the best we can!!!

 

There is still some concern about the HF -- I am not sure, but it seems there might be an HF EQ problem as created by revisiting the HF/LF balance thing.  I am investingating.   THERE WILL BE A CLEANED-UP release tomorrow.

 

 

My previous mistakes about both HF and LF was to try to cover ALL EQ scheme by the same EQ in the decoder.  I am no longer trying to do that.   I am definitely minmizing the variants though. --fa alone will stil do MOST recordings by far.

 

 

 

 

Link to post
Share on other sites

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...