Skip to main content
Topic: Have a working 'expander' based on DolbyA (not same design) -- works well. (Read 23423 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: Have a working 'expander' based on DolbyA (not same design) -- works well.

Reply #75
I have been on a distraction -- been playing with reorganizing some old stereo recordings (mostly the same that I had been working on before.)   I re-oriented the Sergio Mendes examples a bit, and have produced much more interesting stereo images (stuff is still real -- no weird inversions that I can hear -- clearer locality/etc.)  The reoriented examples are on the repository:
01.Mais Que Nada,
03.With A little Help From My Friends
05.Look Of Love
09.Going Out Of My Head
13.Pretty World
15.Pais Tropical

I'll publish the technique when I totally get it tuned up.   Pais Tropical is special -- it has some kind of 'on-site' miking -- so it has a harsh character.   The others are really fantastic music, and I wouldn't have wasted my time if it wasn't such great stuff.
I have equivalent results with ABBA (actually even more of an improvement), * but not ready to disclose.

* CORRECTION:  I was in a hurry last night and uploaded my ABBA experiments onto the repository without thinking.  Take a listen - they are interesting.  Not 100% tuned yet -- but very promising.


New expander release, example scripts, example results

Reply #76
Semi-great news!!!
Here there is a new post of the latest 4band psuedo-DolbyA expander.   I have added appropriate low pass filters and retuned some of them because they were overly attenuating the LF around 20-30Hz.   Now, there shouldn't be any more than about 2dB of total static attenuation at 20Hz (of course, the dynamic gain loss will be more due to the operation of the expander.)  It is technically necessary to at least do some DC blocking, or input offsets can cause trouble and there will definitely be more disturbances in the output.

I have cleaned up the source code so that a lot of cruft has been removed.  It will be easier to see how simple the code is from a high level viewpoint.  (There is a lot of low level stuff going on, however due to the use of C++ classes and putting a lot of the work into the supporting code.)

The source distribution was previously often not complete.  I forgot about the vector math library, and re-added that back into the source.  Hopefully, it will build now.

The Windows source distribution and the singular Linux distribution  now has some example scripts that I have actually used to decode some anthology album releases -- which were almost definitely DolbyA encoded.   It is important to follow what is going on in the scripts, or you will not get ideal results.  I carefully set the thresholds in the scripts - even though they are not perfect.  I had to set the thresholds by listening for decoding artifacts (I am well trained to hear them, but still there are some interactions that I sometimes miss.)  Specifically, the thesholds on the carpenters might not be 100% correct.

I have added a simple example of actual decoding before/after results with the psuedo-DolbyA only.  The results show that the psuedo-DolbyA really works (note the significant decrease in hiss, even some inter-syllable NR.)  Note that the result has a little less treble, which is to be expected (similar to the action of DolbyB.)  Even if you retune the treble back up (adding 3dB here or there at the HF range), there is less hiss than the original.

The resulting NR isn't quite as substantial as the 'restoration processor', but still worthwhile, and the results produced by this decoder are technically more accurate as to the original source material.


Re: Have a working 'expander' based on DolbyA (not same design) -- works well.

Reply #77
Regarding the threshold numbers for the Carpenters on the recent release of the expander...
These numbers are variables used in the shell scripts that I sent along with the Windows source release and the singular Linux distribution.

For Carpenters before 1981 (maybe not even accurate for the later part of 1970s, and definitely not for any Christmas album), the
level parameters appear to best be set to:  dt0=0.50 dt1=-3.5 dt2=-3.5 .   The dt2 isn't quite as critical because it applies to only the top two bands for HF enhancement removal.
For Carpenters on/after 1981, the parameters are quite a bit lower:  dt0=-6.0 dt1=-9.0 dt2=0.0.   The last value of dt2 is questionable, but does imply a lot of HF emphasis had been applied.  The much lower parameters imply recording at significantly higher level above DolbyA reference level.  The 1981 album appears to have either significant tape saturation or they are using a compression/limiter with poorly designed HF attack/decay behavior (which might be another attempt at dessing, after too much enhancement with 2HF channels of DolbyA.)   I forget what extreme tape saturation at HF @ 15ips sounds like -- but it just might be overload at HF because of recording hot to begin with, then applying an approx additional 6dB of dynamic gain between 3K and 20K with DolbyA.  (The sses in Karen's voice are really corrupted on especially the 1981 album.)

The source material are the so-called studio anthology album -- which apparently is just a runoff of tapes sent to disk/CD mastering without careful handling of decoding needs.   They were obviously not just using a single DolbyA, but using them in a configuration that enhance the capabilities (or using similar FET sidechain compressor for compression.)  My shell scripts imply the configuration.


Early, early release of the 'restoration processor'

Reply #78
Here, I am distributing (giving you'all) a copy of the so-called 'restoration processor.'  It is a rather nice (IMO) expander that is good at reasonably good NR and transient recovery.  It is NOT a tick/pop remover, and in fact will likely make them much worse.

I can only distribute an Intel/AMD 64 Linux version right now.  Hope to distribute a Windows64 version before the end of this week, and likely will have it working/distributed tomorrow or the day after.   RENAME THE FILE TO ex-avx from ex-avx.out (or use that as the command name.) I promise that I am really gonna work on completing the Win64 version -- I did have earlier version working -- but it needs updating.   I wanted to give away something NOW/ASAP because I have been promising/talking about it for a long time.  The biggest last issue was the best default parameters, and to resolve the commands into something simple for a command line (it used to take a fairly big script to set-up.)   The usage is similar to the psuedo-dolbyA, except it only works at 44.1,48 and 96 (no 192.)  It is complex, and quite multi-threaded.  It really likes 4 core machines, and needs an i7-3000 series or newer.   I'll be releasing versions that don't require nearly the latest CPUs soon (about the time that the windows version is done -- which will be an ATOM/silvermont optimized ver-sion that will work on almost any i3/i5/i7 or recent ATOM.)

The readme talks more about the program, but generally it is used in a command line (pipeline or stdin/stdout.)  The command switches are simple:
--info                   provides a nice 'pacifier' that shows the amount of expansion on each band, in/out levels, and limiter status.    expansion ratio, between 0.00 and 0.99.   Best/most useful values are 0.10 to 0.50.
--exthresh=-x      dB for threshold.  Usually between -20 and -3, with -6 being a good first guess.
--exmingain=-x    dB for minimum gain.  Values between -30 and -3 are good choices, I often use -12
--exmaxgain=x     dB for maximum gain.  Values between 1 and 6 are good choices.  I often use 4
* PLEASE NOTE THAT THESE COMMAND LINE PARAMS MIGHT NOT BE RANGE CHECKED -- insane commands might give insane results (and sore ears.)
* Acutually, there is a rather nice built-in limiter that keeps things from going too nuts.

Example usage:
ex-avx <infile.wav >outfile.wav
Uses default exratio of about 0.21, default exthresh of -6.0dB, exmingain of -15dB, exmaxgain of 6.0dB

Another usage:
ex-avx --exratio=0.50 --exmingain=-20 --exmaxgain=3 --info
Do more aggressive expansion with a lower minimum gain (more noise reduction) and limit the maximum gain
avoiding overload.  Also, provide a running log of what kind of gain control is being done.

I am also including some examples (directly using the exact program being distributed, with default parameters and for the 'lots' version with an expansion parameter of 0.60 (which is A LOT of expansion.)   Note the relative lack of artifacts even with huge amounts of expansion!!!

**** WITH zero dB expansion (default), there is a several dB loss through the processor.  I added in that loss to avoid clipping or exciting the limiter.   I normally use 32bit floating point, so the loss of precision isn't really all that important.  Using 16bits should really be reserved for quick checks, and 32bit floating point is MUCH BETTER considering the fact that this is an expander and I HAVEN"T ADDED DITHERING!!!

Read the README,txt for a little info about this nice toy.  The Linux binary is ex-avx.out (rename it to ex-avx to be compatible with the examples.)  The example is a 30sec clip from an old song from the 1960's called 'Downtown', source was youtube.  The -noproc version is the raw copy.   The -defaultproc version is using the 'restoration processor' without any args.  The -lotsproc is using the 'restoration processor' with much more expansion.

Again -- I promise a windows version soon (hours or days -- not weeks.)   Source code will probably be 2wks away because of maintenance/source management issues.  The source code is very big -- 120MB (yes, really), some of it is automatically generated, and it is JUST NOT READY for other people to look at it (it is A LOT better than it used to be.)


Re: Have a working 'expander' based on DolbyA (not same design) -- works well.

Reply #79
Just got the first build of this version of the FULL SCALE processor working on Windows64.   Bad news is that it runs way too slow on the Silvermont architecture (the ATOM), so I have some optimization work to do.   Will probably take a few more days -- but it is definitely in progress.   Currently, it does run nicely on the Haswell platform on Linux.

The FULL SCALE/capability 'restoration processor' works really nice with the psuedo-Dolby.  So, when doing a DolbyA decode, then doing some additional expansion/transient recovery really does help some old music (e.g. Brasil'66 type stuff.)   The restoration processor is sometimes used like this:

sox infile --> pseudo-DolbyA -> restoration processor -> outfile

John Dyson

Re: Have a working 'expander' based on DolbyA (not same design) -- works well.

Reply #80
This is great news! From my perspective, the restoration processor is icing on the cake. The pseudo-DolbyA is the key. We have some other options for restoration processing (or mastering), such as iZotope Ozone (or iZotope RX Audio Editor), but the Dolby decode is a challenge. I personally like the U-He Satin on some of my tapes, it gives them more life than the hardware decode without being overly bright and do pumping.

Re: Have a working 'expander' based on DolbyA (not same design) -- works well.

Reply #81
Thanks for the feedback!!!  I am very focused working on the Windows version -- which is now actually functioning.

When the 'restoration processor' is fully available, I REALLY HOPE that will help people with their older (and some new) recordings.   When I use the 'restoration processor' (STILL NEED A NAME -- I suck at naming things -- it might just as well be 'processor 1B' or somesuch :-)), I often use it with the pseudo-DolbyA first in a pipeline.  I am currently optimizing the code to work a little more quickly on non-AVX CPUS -- my Windows box is a ATOM 2core silvermont, so is quite slow when compared with my 4core Haswell.   The non-AVX and smaller SSE registers on the ATOM make the code longer and less efficient.  I am focused working on streamlining the code to work much better on slower computers.   I will also probably blindly build an AVX version for Windows (that will need at least a i3/i5/i7 of 3000 series or better, or recent AMD), and offer both the blindly built AVX version and a tested SSE version on Windows.  For Linux, I'll offer both a verified SSE & AVX version...

A hint to doing DolbyA decoding is that sometimes it SEEMS like they did a DolbyA encode on the normal stereo signal, but additionally on the M+S variant.  I have sometimes been successful doing a L+R decode first, and then an M+S with an equal threshold, 1 dB down threshold or 3dB down thresholds.   For the M+S (the second decode), I use the third arg of the parenthesis cmd argument to specify a gain of 0.5dB -- the default loss of the first decoder (again the first is usually L+R.)   The noise reduction and transient behavior is sometimes better when two phases of DolbyA are used (esp when not using the 'restoration processor').  So, essentially, the full pseudo-DolbyA command pipeline (for both L+R & M+S decode) looks something like this:

sox infile.flac --type=wav - rate=96k | da-avx --cmd="(l,-1.0,0.00)" | da-avx --cmd="(m,-4.0,0.50)"| sox - outfile.flac

(which means, L+R decode, threshold -1dB, no input gain and M+S decode, threshold -4.0dB, 0.50dB input gain).

Also, it seems like some vocals might have been processed by some kind of sidechain HF enhancement, where the pseudo-DolbyA can help undo that also, but instead of using the 'l' command, but instead use the 'hl' command which only enables the top two bands of the decoder in the standard L+R mode.

For example (using the pseudo-DolbyA & restoration processor both), the Brasil'66 stuff really needs expanding (really badly -- it is INCREDIBLY beautiful when properly decoded), and the DolbyA decode helps a lot -- but the results are still missing the intensity of the percussion.   The 'restoration processor' rebuilds a significant amount of percussion.  IN SOME WAYS, even though the 'restoration processor' is good at NR, it is the 'transient recovery' that one really benefit s from much of the time.

The 'restoration' software internals are a bit of a tricky beast, because of trying to find a good balance between the release times and the 'modulation noise/surging' issues.   I think that there will eventually be at least three (3) levels of dynamics management along with the adjustable expansion ratio.  (IN the large scale, the expansion ratio is dB linear, but in the short term it is simple linear -- like a FET compressor approximately is -- or DolbyA is approximately simple linear expansion - not really dBlinear.)*
  * When I meantion dBlinear or simple linear, I am speaking more of the domain of the release/attack time characteristics, and
  less the actual compression ratio type dBlinear.   A 'linear' release time has a kind of exponential characteristic, where it slows
  quickly as it approaches the target, but is much faster if it is far away from the target.   dB linear moves at a pure dB rate until
  it hits the goal exactly.  So, the dB linear scheme REALLY hits the target, but the 'linear' scheme keeps approaching the target
  closer and closer.   That shape of the dB oriented attack/release appears to match what the ears like to hear instead of the
  more common simple linear scheme as used on most direct FET compressor/expanders.
  * An example of the 'linear' sound for a compressor is that as the compression amount increases (the depth of compression
     increases), then the effective release speed also increases -- because the decrease in gain has further to go, so the gain change
     is quicker in dB/sec if the amount of gain release is large.   With dB linear release, no matter how many dB of compression are
     being done, the release speed is the same in dB/sec, and the ear hears it (the density) as pretty  much the same as lighter
    compression (other than the  larger eventual gain change.)   A linear compressor is better to use when you want to increase
    the 'compressed sound'  or 'density' by increasing the depth of compression.   A dB linear compressor is better when
    you want the sound density to stay similar whether or not you are using 6dB of compression or 12dB of compression.

So, usually, when being used in the default expansion ratio of approx 0.20 (it is approx 1:1.20), there is mostly very little need to change the dynamics characteristics on most music material.   However, at much higher expansion ratios (0.30 -> 0.70), then the dynamics become super important.  Right now, the dynamics are kind of middle of the road -- but I am going to try to put together a slower and faster mode.   The dynamics tuning is not just a dB/sec release rate type thing, but is the idea that the first part of the attack/release are fast-linear up to several dB.   After that, then it defaults to a dB linear scheme.   It is the mix of 'how much' straight linear and 'how much' dB linear that is a big part of the release scheme.   There appears to be a 'fixed' set of dB/second rates that ears like to hear -- so that rate is current fixed to a set range of values (it is also dynamically calculated.)

Also, the attack scheme is important but not seeming to need as much adjustment -- but I think that I have found a good tradeoff where transient recovery is very effective, but it is not overly sensitive to transients (causing a gain-hang effect or surging.)   Also, I am using an interesting attack scheme which really minimizes the intermodulation on the attack edge.  I haven't exhaustively tuned it yet, but hope that I can actually  measure the intermodulation effects at higher frequencies.  (I do have a scheme/method to measure the effects of attack time on LF ranges -- and it can be very obvious once the intermodulation effects are recovered from the total signal (and one can actually hear the grinding/almost static-like noise that is buried in the signal -- otherwise hidden because of masking.))


New version of pseudo-DolbyA -- fixed some thresholds that were a little off

Reply #82
I think that the 3k-9k and the 9k-20k thresholds were a little off.   I changed them -- and made them a little more precise in the code also...  The HF sound in intense situations (e.g. ABBA type stuff, my 'acid test' for severe HF) is significantly cleaner and the HF sound had some irritating problems until now.  Not usually noticeable, but the error might have been measurable.

New versions of the Linux, Windows and source.

Sorry for the error.

Strong suggestion to try to use the latest psuedo-DolbyA decoder - 23Feb or aft

Reply #83
I just did a comparison between the previous 19Feb version of the psuedo-Dolby and the 23Feb version (that is, the most recent.)  When checking on my most stringent tests USING REAL DOLBYA SOURCE, it becomes very clear that the various attack/decays of the two highest frequency ranges match MUCH better on the 23Feb version.  So, whether or not the newer version is perfect (I make no such guarantee -- cannot test against a REAL, guaranteed DolbyA -- but there is someone who might be volunteering to help), the new version has a MUCH MUCH smoother sound quality to it.   That is, it has a smoother sound even though there is less HF attenuation.

Because of the way that DolbyA did the two high frequency ranges, their attack/decays can interact, and it appears to be important to get the match between the two fairly close.  (That match is more the design of the DolbyA attack/release, not so much the external device.)  The best way to describe the improvement between the two recent pseudo-DolbyA versions is that it SEEMS like the 3-9k and the 9-20k attack/decays match more 'hand in glove', so that there aren't as many undesired undulations between the two gain ranges.

So, I am trying to make clear -- the new version of the psuedo-DolbyA does sound much better.  If you are using/playing with the pseudo-DolbyA at all -- please try to use the newest version.

This does prove one thing -- the design requirements of a DolbyA decoder has lots of little pitfalls.   It isn't super-difficult, but it is quite tedious to try to match the behavior of the old HW design.

John Dyson

Re: Have a working 'expander' based on DolbyA (not same design) -- works well.

Reply #84
With some help from another individual (don't have permission yet to divulge the name), I/we found a bug in my specification of the threshold.   I had previously been suggesting a threshold of 0dB (the middle arg to --cmd).   The better value would be 10.0 .   I am in the midst of a re-review of the software based upon these corrected threshold values (which do appear to be producing better NR, and less need to use repeated decoding!!!)

It is so good to get help when needed.  I do learn, and happy to fix mistakes when they happen.   A new version with a few minor corrections will be released within a day.

The good news is that ALL previously useful results are still valid.  The new results will be better yet!!!


The PSEUDO-DolbyA is now working in commercial setting...

Reply #85
The pseudo-DolbyA has been getting LOTS of work since I last posted any status.  I got help from a very pleasant and encouraging  recording professional with real DolbyA units (many of them, in fact), and have been able to both correct the gain curves and to make the pseudo-DolbyA really work well.  In some cases, been getting feedback by pro-golden-ears that the pseudo-DolbyA is working better than a real one.  (I still need to get official agreement from him to allow me to give him official credit/use his name in the credit for his assistance.  He has been INCREDIBLY helpful with the know-how and information.)

Since I have dangled the carrot, and shown many defective previous versions (mostly threshold problems and gain curves that were slightly off -- also the attack/decay was slightly imperfect), now it works truly perfectly.  I am offering access to a binary version of the decoder for Windows10 on Silvermont X86 or better platforms.  The version that I am offering is slower than the full version that takes advantage of more advanced platforms, but it works the same.   The code has stabilized (every 'improvement' has essentially been destructive -- this thing is on the bloody edge of perfection.)

The resulting performance is very good -- it has less distortion (both intermod and nonlinear distortions) than a real unit -- probably below the theoretically possible with normal FET gain control hardware.

Post here or send a private message with an email address that can accept a 2.5MB file (it will actually be smaller), and I intend to send copies within days (the windows software is working right now, just need the time for turnaround.)  I'll essentially forget the email address upon sending the response other than to check to make sure that it is working for you.  There will be NO commercial solicitation, but I require that there be no further distribution beyond the user/company who receives each copy.  I fully expect feedback as to problems/bugs that are seen.  If no bugs, no feedback is necessary.   This offer is good until about the first of June 2018.

This is truly a fairly simple piece of software but the design details have been very subtle.

If you are just interested in the theory of operation, the previous source versions are fairly accurate -- but with several serious unintended flaws.  Perhaps the worst, which makes the sound quite incorrect for true DolbyA transparency is that the bandpass filters are not correct -- even though it seems like they should be.  There is a conversion problem between the active filter bands used in a real DolbyA unit and the digital filters (using bilinear transform) that I had originally designed.   Also, the attack decay structure was generally correct in the previous source versions -- but there are things missing that really improve the intermodulation sidebands (even visible on a spectogram.)  All of my filters also previously used an incomplete structure that caused mostly phase errors (but also some amplitude errors) when the filter frequency was close to Nyquist.  All of these bugs and others (including a much better gain vs. level fit for each band) have been corrected in the up-to-date source.   Also, the resulting binary code in the demo/test version that I am making available has these bugs fixed.

So -- this is meant as a peace offering and an apology for not distributing full source at this time.   Soon, I will find the correct terms for sale/distribution, and will make that information available to professional recording engineers.  Frankly, it JUST MIGHT still be free, but I am not sure!!!

Examples using the psuedo-DolbyA for decoding reside on:

Specifically the Petula Clark examples are the closest in the repository to a pure decode.  The ABBA show the great clarity because of the decoder design.


Re: Have a working 'expander' based on DolbyA (not same design) -- works well.

Reply #86
So all this was to fetch money?

Well played, BRAVO!

Re: Have a working 'expander' based on DolbyA (not same design) -- works well.

Reply #87
My original effort was NOT to fetch money.  What happened is that the guy who REALLY HELPED with some of the really difficult details -- that is, to make it work EXACTLY like a real DolbyA (I mean, within 0.50dB or better) resulted from details that he provided. Also, some of the most important review work which forced me to reject the old 4 band filter scheme and develop a very different set of filters came from him.

It is his opinion that money can be made -- even though my own immediate (or far term) interest is not to make money, his involvement as a professional recording engineer who has really helped gives him some interest in the project.  So, he and I MIGHT decide that the project best be distributed for free (with simple attribution) or perhaps for a fair price.  He must participate for this to be an ethical project.

The DolbyA decoder really works, and most likely will be used commercially as often (or more than) as for hobby listening purposes.  So, for someone to make money using it (rather than burning up their old DolbyA units -- well, not really...), this gives them a truly superior backup for the old DolbyA units.  It is probably best that there be some financial consideration for true professional/money making use.
No matter what, I hope that the software will be available for free for noncommercial use -- frankly, a HUGE amount of material is definitely DolbyA encoded (e.g. the Carpenters album from HDtracks.)   Another very powerful example is some material that I have for Simon & Garfunkel -- almost unlistenable without decoding.   The really bad thing about the Simon & Garfunkel stuff is that there is true bass and acoustic recording which causes really bad intermod effects (from the original DolbyA encoding) which can only be removed by an accurate DolbyA decoder.   My DolbyA decoder does a credible job of removing those artifacts.
So, my attempt at putting off the decision, while also giving access for non-commercial use (really improving a lot of old, DolbyA encoded recordings) is to offer to provide a slightly crippled (but full quality) copy of the decoder for a month or so for free.  This version will also work as long as it maintains compatibility with the underlying OS and CPU technology.

When thinking about it -- if this is as good as the professional feedback that I have gotten has implied -- consideration needs to be given (from a 'being right' standpoint) that some contribution be given for the development and hard work for the final tuning.  There are other projects likely forthcoming, including a good SR decoder.   The SR decoder is at least 4-5X more trouble than the DolbyA due to the numerous kinds of sliding freq response and various TCs.  The final tuning/testing effort (after the raw development based upon all of the various materials available in public) will not be trivial.   The DolbyA was non-trivial enough trying to get the curves properly fitted (requiring 4th-5th degree equations to be accurate enough), and the very careful balance between mitigation of unnecessary intermod vs. accurate following of the DolbyA dynamics.

As a simple exercise to prove that it can be done -- it was a relatively simple effort (reflected by the available source code.)  The final version -- whose source code doesn't really look all that different, but acts differently -- was NOT a simple effort and required the involvement of a real recording engineer and at least one other 'golden ears.'

I did ask for more free help online (feedback), and there was definite interest, but I was stumped without more substantial help.  Finally, someone came forward and REALLY HELPED and participated.

However, the offer stands that I will HAPPILY provide a version that works well on most recent Intel CPUS 64bit mode, and can provide an equivalent Linux 64 bit mode version if desired!!!


Re: The PSEUDO-DolbyA is now working in commercial setting...

Reply #88

Examples using the psuedo-DolbyA for decoding reside on:

Specifically the Petula Clark examples are the closest in the repository to a pure decode.  The ABBA show the great clarity because of the decoder design.

are there 'before' and 'after' samples , or am I missing something?

Re: Have a working 'expander' based on DolbyA (not same design) -- works well.

Reply #89

Examples using the psuedo-DolbyA for decoding reside on:

Specifically the Petula Clark examples are the closest in the repository to a pure decode.  The ABBA show the great clarity because of the decoder design.

are there 'before' and 'after' samples , or am I missing something?

I didn't provide before samples...  They are quite interesting (esp ABBA.)  I'll provide a few of them later on today -- and will follow up with a post when ready. (Again, later on today -- 20Apr, prob before 20:00 EST USA time.)


The pseudo DolbyA expander comparisons are ready!!!

Reply #90
I have placed several songs that I got (probably mistakenly) in DolbyA encoded form onto my repository.   There are two or three forms of the material on the repo:
-raw.mp3   --- an mp3 compressed version of the original DolbyA encoded material.
-DAdecodeOnly.mp3 -- an mp3 compressed version of the pseudo-DolbyA decoded material.
-full.mp3 -- fully finalized version of the material above.

The biggest difference that you might notice is that the decoded versions have less hiss and less ambience (as one would expect from an expanded version.)
On selected material, the 'full' finalizer processing was also done to demonstrate what the 'decodedonly' version might sound like on a real disk/CD or whatever.

If this material was not DolbyA encoded, there would be severe loss of HF, surging (inconsistent levels -- esp for transients) and general ugly sound.

My guess is that at least 1/2 of the material that I have recently purchased/acquired (and even some YouTube stuff) can be improved by doing a DolbyA decode.  One example that needs DolbyA decoding is the Carpenters album being sold on HDTracks, but the 'uncompressed' version of a paul mccartney album is NOT DolbyA encoded and sounds bad after trying to do a DolbyA decode.

The 'full' processing uses some very high quality expansion, compression and EQ -- and is only meant to show what the music CAN sound like.  I didn't do the full processing to every example because it can take a few hours to set-up the proper parameters for the full processing, and I don't think that is the primary reason for this discussion anyway.

I am using a new repository, and the location follows:

Let me know what you think!!!

More examples of DolbyA decodes

Reply #91
I have provided a few more demos in a different site -- these are pure pseudo-DolbyA decodes.  Some are more obvious than others, but all are improved to an extent.

Trying to show that this DolbyA problem is existent from MANY sources, not just a few select places.  Just using a 'tone control' wont help -- there'll always be the distortions in dynamic range without decoding properly.

I have also found that the threshold value is not extremely critical except in a few cases...  ABBAs "Under Attack" is VERY critical, and needs to be set within approx 0.25dB.   Most are happy with -13.50 through -15.25dB, where -14.0 works well most of the time.


Re: Have a working 'expander' based on DolbyA (not same design) -- works well.

Reply #92
PS:  I just added a recent popular tune -- but really cranked up the expander (after the psuedo-DolbyA.)  It reveals some of the sound effects...  'taylorfun'.

Re: Have a working 'expander' based on DolbyA (not same design) -- works well.

Reply #93
So , your presumption is that  as much as half of what your are purchasing is Dolby A encoded material  that was NOT decoded during mastering... and that's why you've developed a software decoder?

Your best demonstration would be to record something using Dolby A NR, then decode it with both a Dolby A decoder and your own software, and compare the results.

Re: Have a working 'expander' based on DolbyA (not same design) -- works well.

Reply #94
Regarding my disgust as to the quality of some of the available recordings, and finding that they were like left with DolbyA encoding intact -- yes.  That is 99% of the reason why I decided to write my own decoder.  I like challenges.  Plan to start working on SR (much more of a challenge) soon.

Regarding proof of operation/accuracy:  Yes -- an audio professional along with a golden-ears expert (for proof) has worked with me on perfecting the DolbyA decoder to be very compatible (but not bug compatible.)  So, SOME of the results of my SW decoder are better (cleaner/smoother sound -- minimal intermod -- no harmonic distortion from FET or diode gain control like the newer DolbyAs (FET) or the original (diode).)  The SW decoder has NONE of the typical defects of a SW compressor/expander regarding a harsh kind of sound.

I have been working on this for months, barely got it working credibly (kind of) about 2mos ago.  Then, a recording expert started participating (he wanted backup for his DolbyA units and probably computer environment software.)  He and I worked on making the gain curves nearly perfect (generally less than 0.5dB static error on all 4 channels, including the screwy 9k-20k channel.)
The SW doesn't use a simple attack/release scheme like a DolbyA schematic (and various patents) might imply, but uses something that strongly mitigates most mathematically unnecessary intermod, and produces a generally smoother/more accurate sound than either another commonly avaialble DolbyA SW decoder and real DolbyA units.  However, the audible attack/decay fits hand in glove with the real DolbyA.  (interestingly, even the distortion from the true LF on Simon&Garfunkel Scarborough Fair moduating with the gain control is removed because of the good matching for the decode operation.)

So, this has been acid tested with real (proven) DolbyA material and compared with real DolbyA units.  Also, very often, if material is NOT DolbyA encoded, but DolbyA is used to decode -- the sound becomes quite defective (including expander effects, terribly decreased HF, etc.)

So, if you listen to the examples on the repository, and find that the sound is reasonably good - then the original material was either DolbyA encoding somewhere in the processing chain or there was a similar sidechain compressor being used.

Please enjoy -- and the SW is available if you want.


Re: Have a working 'expander' based on DolbyA (not same design) -- works well.

Reply #95
I haven't used it myself but I contacted a person that uses Dolby A and I Think he has contacted you. I really appreciate what you are doing even though I have not used your software since I do not have any Dolby A encoded material. I do look forward to try out your future compressor you talked about earlier. I also love that you software is available to Linux and hopefully your compressor can be a LV2 or/and VST plugin.

Re: Have a working 'expander' based on DolbyA (not same design) -- works well.

Reply #96
I haven't used it myself but I contacted a person that uses Dolby A and I Think he has contacted you. I really appreciate what you are doing even though I have not used your software since I do not have any Dolby A encoded material. I do look forward to try out your future compressor you talked about earlier. I also love that you software is available to Linux and hopefully your compressor can be a LV2 or/and VST plugin.

FIRSTLY:  if there is more interest, I can make the compressor available soon -- just needs to be updated with better code from DolbyA and expander.  If you want to hear the results of a relatively mild run of the compressor, listen to SOS-DAfull-finalized.mp3 on the repository:
The file SOS-DAfull-finalized.mp3 has been DolbyA decoded, expanded (to remove some of the old compression artifacts), and re-compressed/limited with the modern compressor at a fairly controlled level.  If you are really, really interested, I can make a limited version of the compressor/limiter available for Windows64 in about a week -- but it would be command line oriented (lots of options/tuning to get that special sound), and as a side-bonus the expander is built-in also.  The bad news is that heavy baggage runs a little slowly, and the compressor & expander cannot run realtime.  However, on a relatively fast machine, the compressor running alone usually has NO trouble running in realtime at 96k.  This MIGHT change as I move some of the filtering from the expander, so AS YOU CAN SEE, the code is still in flux.

One thing -- I truly do not know what you know or even about what you know, so PLEASE forgive me if this might seem rude...  Before 1yr ago, I would have also said that I had no DolbyA encoded material, yet a large amount of my music collection WERE DEFINITELY DolbyA encoded...  For example, I had my ABBA collection for over 10yrs (really, really, long time), yet knowing what I know now, and listening to it, I kind of 'whack' the side of my own head now realizing that my ABBA collection IS DolbyA encoded.  Here is an example of my UNINTENTIONAL DolbyA material collection (likely well over 1/2 of everything I own including):  Petula Clark collection of 4 CDs, massive Carpenters collection, a copy of ABBA Gold, 3 Simon&Garfunkel albums, 2 Linda Ronstadt albums, Fleetwood Mac Rumors, Christopher Cross Album, massive Olivia Newton John collection, Herb Alpert Album, Herb Alpert & Brasil66 Album, Burt Bacharach set of two albums, Dionne Warwick Album, Chicago CD, Queen CD, Carly Simon CD, 2 Anne Murray albums, Bangles CD, Bananarama CD, Moody Blues CD, The Cars, Suzanne Vega, Paul McCartney & wings from HDtracks, Carpenters from HDtracks...

My point in listing these -- you (or someone) just might (more likely than not) REALLY have a DolbyA encoded album (not vinyl, but CD or electronic.)  This has been a very common thing, because I have almost had to check my sanity when I realized this.  I have gone back directly to the CD source and lo&behold a CD that I might have purchased over 5yrs ago or something I downloaded deep in the past has been left DolbyA encoded.

I did NOT have to carefully select the material that I put on my repository, because I have found that more likely than not that a given piece of material that I have TRULY, REALLY benefits from DolbyA decoding.  I honestly cannot claim that every item that seems to be DolbyA encoded really is -- but I have some traceably DolbyA encoded material and it really doesn't sound much different in 'compressed' sound and HF emphasis from the material that I have given as examples.

The only reason why the material can be left DolbyA encoded is that the result isn't really all that fatal (just a bit too much HF empahsis, too much of a compressed sound, and more hiss than there should be on older recordings from older tape formulations and tape machines..)

Some of my collection initially sound quite nasty, but then turns into audiophlie grade upon decoding -- REALLY!!!

If you don't have anything that is DolbyA encoded, I understand...  But if you have a large electronic or CD sourced collection (or a moderate sized one like mine), then there is at least 1/2 of the selections that benefit from DolbyA decoding.  I'd estimate that at least 50% -75% of my collection is almost provably DolbyA encoded, and perhaps 10% is questionable either way (might be sidechain compressed because of excess HF loss but no expansion dynamics problems.)  The rest of the 15% is NOT DolbyA encoded.

Wrt my compressor (and possibly expander project) -- my compressor project is essentially on hold for two reasons 1) percieved lack of interest, 2) I have learned a hell of a lot on the expander and psuedo-DolbyA project -- need to feed back info into the compressor project.  Note my comment about the compressor project above.

Wrt my general purpose expander project -- it isn't really 'on hold', but has been in development on an ongoing basis during the psuedo-DolbyA project.  Initially, the psuedo-DolbyA was part of the expander project, but I found that the pseudo-DolbyA design requirements to be so very specific, that I seperated out the high level portions of the psuedo-DolbyA.  However, the vastly improved anti-intermodulation dynamics techniques that I have used to make the psuedo-DolbyA work so beautifully (clean, clear, no roughness) are being fed back primarily into the expander project and also secondarily the compressor project.

I already had pretty darned good dynamics classes (attack/decay/gain-riding/etc) in C++ for numerous purposes when starting the expander & DolbyA projects -- the compressor was the basis for all of the work.  There was already A LOT of intermodulation mitigation and well controlled attack/release characteristics,.  However, given my own sense of perfection, I have been striving for perfection in the DolbyA project -- FURTHER MORE STRONGLY controlling the mathematically unnecessary intermodulation effects -- thereby producing a DolbyA decoder that changes the character of the sound back to before the DolbyA encoding. The pseudo-DolbyA decoder has few of the typical artifacts of either SW compression/expansion or real HW compression/expansion.  I think that the ONLY  intermodulation distortions left over on the psuedo-DolbyA is greatly attenuated and the sidebands are limited to below about 50Hz wide on the LF bands, and 450Hz wide in the midrange bands and 1000Hz wide in the HF bands.   Even that those very significant limits (probably 10dB-20dB down at those bandwidths), the technically unneeded modulation products are attenuated even for the nearby sidebands.  I have successfully controlled the intermodulation without fatally affecting the COMPATIBLE attack/delay times (was quite a feat to do correctly.)

Of course, one cannot do gain control without creating sidebands, so I had to leave the NECESSARY sidebands intact so that gain control would happen (yea, I know that there are tricks to move the sideband power over to one side and to make the distortion less noticeable, but that is too much work.)  For example, the compressor is built from a 3band compressor, an 8 band compressor, a 1 band last chance compressor, and a carefully crafted set of limiters (lots of stuff.)   The expander has 48 degrees of freedom in its gain control, and the vastly simpler pseudo DolbyA needs to meet really specific design criteria.
(BTW -- I am not exaggerating about the 48 degrees of freedom in the expander -- that is why the expander can provide 1:1.6 dB or higher expansion ratio without pumping.)

Oh well, I am really just trying to help, and anyone is willing to email me for access to the psuedo_DolbyA.  The SW will work as long as the OS/HW supports the code.  I am limiting the time for the offer for my own sanity, however :-).


Re: Have a working 'expander' based on DolbyA (not same design) -- works well.

Reply #97
Regarding my disgust as to the quality of some of the available recordings, and finding that they were like left with DolbyA encoding intact -- yes. 

So,  even though Dolby A was commonly used professionally from the mid 1960s through the rest of the analog era, either it was not noted down on many tape boxes, or the CD transfer/mastering engineers failed to notice , or simply ignored, the Dolby A indication on the tape box?

I have heard of cases of the former (Dolby used, but not indicated on the tape box) but I'd be surprised to find such cases were as widespread as you imply. 

Re: Have a working 'expander' based on DolbyA (not same design) -- works well.

Reply #98
Regarding my disgust as to the quality of some of the available recordings, and finding that they were like left with DolbyA encoding intact -- yes. 

So,  even though Dolby A was commonly used professionally from the mid 1960s through the rest of the analog era, either it was not noted down on many tape boxes, or the CD transfer/mastering engineers failed to notice , or simply ignored, the Dolby A indication on the tape box?

I have heard of cases of the former (Dolby used, but not indicated on the tape box) but I'd be surprised to find such cases were as widespread as you imply. 

I am truly NOT meaning to misinform, and also I know that I am not crazy (at least, probably not), but it is really interesting that I am running into a lot of DolbyA encoded stuff.

Firstly, DolbyA encoding isn't 'fatal', and some people might like the hard, over compressed HF sound.
Secondly, I was SUPER surprised, and started doubting my sanity until I got help from a recording engineer -- and have PROVABLY DolbyA encoded material.  The effect of decoding that provable DolbyA material is similar to the decoding of some popular materials.

My online demos are NOT fakes, and they are NOT contrived in any way.  Most of my stuff is now on digital media, but I still have some CDs that I can grab, decode and demonstrate the proper effects of the decoding.  I have one example on my repository that I mentioned before (and here it is again), the song is 'Bicycle', and the repo is:
(The nasty sound that I hear on Bicycle -- before cleaning up with DolbyA decoding is similar to what I hear on a lot of disks (not all of them.)  Believe it or not, often the better quality disks tend to leave the DolbyA undecoded -- it is the horridly misprocessed material that isn't usefully DolbyA encoded.

I just found my Queen CD -- it is 99.9999% determined to be DolbyA encoded: 
Queen Greatest hits:  Copyright (C) 1992 Hollywood Records, ID 61265-2,

On the other hand, I have an ABBA CD that is all compressed to hell -- I know that because I also have a 2TRK copy, unprocessed and is a DolbyA master of ABBA Gold and MORE ABBA Gold.   The all compressed to hell CD (not plausibly DolbyA encoded):
ABBA Gold, 40th Anniversary Edition, Copyright (C) 2014 Polar Music, the ID code is long and unimportant since I don't claim that it is DolbyA encoded.

YES -- there are both DolbyA and non-DolbyA recordings available on CDs and online -- but, I suspect that some percentage of the 'too much treble' or 'harsh sound' complaints from people MIGHT be because of undecoded DolbyA.

I have only made passive mention about this revelation until now -- it seems like people tend not to be interested, because THEY JUST DON"T SEEM TO BELIEVE IT.

LISTEN to the examples...  If YOU have some material that sounds DolbyA encoded (too much HF, too compressed, but not DolbyB), then send me a snippet, and I can decode and send it back.   It might be easier if you just run my DolbyA decoder on your (relatively recent) PC -- IT REALLY WORKS!!!

However, there are indeed cases where the DolbyA decoder appears to work (almost), but the material is NOT DolbyA encoded.  Likewise, very often if you try to decode non-DolbyA encoded material, it sounds like cr*p.

SO -- there are two things that should happen (for the sake of audiophile and/or simple recording quality):  people should have access to DolbyA compatible decoders, or the record distributors should spend the several hours per release to just decode the material.

One idea came to mind -- leaving DolbyA encoding on a recording is kind of a very nasty form of mastering -- it brightens up the recording and does a bit of dynamic range restriction (on the low level side.)   In this case, that is just being cheap.

Too much of my music material has been changed from harsh sounding cr*p into near audiophile quality.


Re: Have a working 'expander' based on DolbyA (not same design) -- works well.

Reply #99
Your terminology is slightly confusing.  It's not surprising for a studio tape since 1965 have been Dolby A encoded; it is surprising for it not to have been decoded for commercial release .  So your concern is really 'Dolby A encoded stuff released without decoding'.

AFAIK, Dolby A decoding was not available on any consumer playback gear (e.g reel to reel decks).  So no Dolby A 2TRK tapes would have been released commercially, unless it was by mistake.  Yet you say you have  "a 2TRK copy, unprocessed and is a DolbyA master of ABBA Gold and MORE ABBA Gold."    What gives you absolute certainty that these tapes are what you say? 

Given all the adjustments to EQ and dynamic range available to CD mastering engineers, I just don't see how you can be certain that commercial releases are suffering from Dolby A nondecoding, versus normal mastering choices.   Tipped up treble is hardly rare in CD masterings, and neither is compression, and both are easily achieved without Dolby NR playing a role.

Yet you go on to claim:
Believe it or not, often the better quality disks tend to leave the DolbyA undecoded -- it is the horridly misprocessed material that isn't usefully DolbyA encoded.

I don't see how you can *know* this.

However, you also say you have 'PROVABLY' Dolby A encoded material . If that is so, then you can do the comparison I mentioned previously  (decode with a Dolby A hardware decoder vs your software).

But there's also the whole issue of the Dolby calibration tone, which would only be printed to the master tapes;  without that, setting levels for decoded playback, is guesswork....

SimplePortal 1.0.0 RC1 © 2008-2020