sox-users@lists.sourceforge.net unofficial mirror
 help / color / Atom feed
* I have developed a bona-fide DolbyA decoder -- wanna know if there might be interest in a SOX plugin.
       [not found] <1693181382.2280435.1525056961897.ref@mail.yahoo.com>
@ 2018-04-30  2:56 ` John Dyson via Sox-users
  0 siblings, 0 replies; only message in thread
From: John Dyson via Sox-users @ 2018-04-30  2:56 UTC (permalink / raw)
  To: sox-users; +Cc: John Dyson

[-- Attachment #1.1: Type: text/plain, Size: 4301 bytes --]

Gang:
Before reading anything else -- the intent here is to make a SOX plugin version of the DolbyA decoder available.
The DolbyA decoder sounds almost EXACTLY the same as a real DolbyA unit when doing decoding -- been working with a recording expert and his 'golden ears' person (along with my DSP/EE/software expertise.)  Currently the program is .wav in and .wav out, fp/signed int, 44.1k -> 192k.  It does the processing at the input/output data rate.  The processing is pretty darned CPU heavy, but can run 3X faster than realtime at 96k on the single core of a Haswell at 3GHz.The complexity is MUCH greater than one might initially surmise, but also is not a behmoth.

Here is the motivation:  lots of material is stealth DolbyA encoded -- refer to the examples on the site below.  The source materials are 'standard' CDs, some stuff from HDtracks and other places.  Much of the 'digital sheen' that is so common nowadays comes from lack of proper DolbyA decoding.  Also, OFF TOPIC, we are considering this for pro applications and will be doing a VST3 plugin (at least we are expecting to start the porting effort soon.) 

In the examples, the files with -raw in the name are direct rips from the source.  The files with -DA in the name are either just DA decoded or have some additional processing as an example of 'finalization'.  Please refer to the HISS and HF sheen in many of the examples, and the rather 'flat' sounding of the results.  After removing the untoward DolbyA compressed sound, then a better quality (for listening) compression/EQ scheme can be applied.  The DolbyA compression is meant to be quick so as to avoid modulation type noise, and has a primitive/odd intermodulation mitigate scheme (which this decoder has a greatly advanced version.)  Trying to 'DolbyA' decode material that hasn't been encoded results in various failure syndromes most of the time -- the only way that one can partially get by with decoding material that is not DolbyA encoded is when a certain kind of fast sidechain compression is used, and there is really little reason to use the kind of compression that DolbyA uses except for noise reduction applications.

There will be an upcoming pro version, but I am wanting to gift this to the community.  Here are the problems:  I don't want to give away the source code -- there is only one other DA decoder that I know of (our tests show that it doesn't work quite as well), and this development required some tricky DSP work and reverse engineering work FAR beyond anything that I was initially planning.  For example, I had to unfold a feedback compressor scheme (that implements an expander) and then make sure that the timeconstants and gain curves were identical.  The conversion is not as intiutive as one might expect -- also I want to be able to fund a future DolbySR decoder effort.  DolbySR makes DolbyA look trivial.  Might give it away some day, but not yet.
I believe that once people (I mean high end hobbyists and pros) find out how much an improvement that the decoder can make, that it will be very desirable.
I don't really know the required SOX licensing, but I could probably make the source of a weaker version available -- there is a LOT of intermod mitigation and filters that avoid aliasing due to the nonlinear operations/etc -- but could possibly remove some of the professional level quality, but really don't want to do so.  I'll probably eventually release the source in its entirety.
So, after reviewing all of the info, do you think 1) is this worthwhile to the userbase? 2) Maybe an partial object distribution might be possible, with a shim of some kind (temporarily) untiil I can get the funding for the SR effort by other means.  I do intend EVENTUALLY ot free the software, it actually has some educational stuff in it.
Please refer to my examples before a quick judge about 'isn't any DolbyA material available.'  1yr ago (even several months ago), I didn't believe it either.

What do you think?
John













 Hightail Spaces

  
|  
|   
|   
|   |    |

   |

  |
|  
|    |  
Hightail Spaces
 Hightail Spaces lets you send unlimited files, of any size, to anyone. Collaborate with your team and evolve you...  |   |

  |

  |

 

[-- Attachment #1.2: Type: text/html, Size: 12356 bytes --]

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office"><head><!--[if gte mso 9]><xml><o:OfficeDocumentSettings><o:AllowPNG/><o:PixelsPerInch>96</o:PixelsPerInch></o:OfficeDocumentSettings></xml><![endif]--></head><body><div style="color:#000; background-color:#fff; font-family:lucida console, sans-serif;font-size:13px"><div id="yui_3_16_0_ym19_1_1525055518079_2883" dir="ltr">Gang:</div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_2940"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_2941">Before reading anything else -- the intent here is to make a SOX plugin version of the DolbyA decoder available.</div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3522"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3528">The DolbyA decoder sounds almost EXACTLY the same as a real DolbyA unit when doing decoding -- been working with a recording expert and his 'golden ears' person (along with my DSP/EE/software expertise.)&nbsp; Currently the program is .wav in and .wav out, fp/signed int, 44.1k -&gt; 192k.&nbsp; It does the processing at the input/output data rate.&nbsp; The processing is pretty darned CPU heavy, but can run 3X faster than realtime at 96k on the single core of a Haswell at 3GHz.</div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3547">The complexity is MUCH greater than one might initially surmise, but also is not a behmoth.<br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_2957"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_2969">Here is the motivation:&nbsp; lots of material is stealth DolbyA encoded -- refer to the examples on the site below.&nbsp; The source materials are 'standard' CDs, some stuff from HDtracks and other places.&nbsp; Much of the 'digital sheen' that is so common nowadays comes from lack of proper DolbyA decoding.&nbsp; Also, OFF TOPIC, we are considering this for pro applications and will be doing a VST3 plugin (at least we are expecting to start the porting effort soon.) <br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3342"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3352">In the examples, the files with -raw in the name are direct rips from the source.&nbsp; The files with -DA in the name are either just DA decoded or have some additional processing as an example of 'finalization'.&nbsp; Please refer to the HISS and HF sheen in many of the examples, and the rather 'flat' sounding of the results.&nbsp; After removing the untoward DolbyA compressed sound, then a better quality (for listening) compression/EQ scheme can be applied.&nbsp; The DolbyA compression is meant to be quick so as to avoid modulation type noise, and has a primitive/odd intermodulation mitigate scheme (which this decoder has a greatly advanced version.)&nbsp; Trying to 'DolbyA' decode material that hasn't been encoded results in various failure syndromes most of the time -- the only way that one can partially get by with decoding material that is not DolbyA encoded is when a certain kind of fast sidechain compression is used, and there is really little reason to use the kind of compression that DolbyA uses except for noise reduction applications.<br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3166"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3353">There will be an upcoming pro version, but I am wanting to gift this to the community.&nbsp; Here are the problems:&nbsp; I don't want to give away the source code -- there is only one other DA decoder that I know of (our tests show that it doesn't work quite as well), and this development required some tricky DSP work and reverse engineering work FAR beyond anything that I was initially planning.&nbsp; For example, I had to unfold a feedback compressor scheme (that implements an expander) and then make sure that the timeconstants and gain curves were identical.&nbsp; The conversion is not as intiutive as one might expect -- also I want to be able to fund a future DolbySR decoder effort.&nbsp; DolbySR makes DolbyA look trivial.&nbsp; Might give it away some day, but not yet.</div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3354"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3355">I believe that once people (I mean high end hobbyists and pros) find out how much an improvement that the decoder can make, that it will be very desirable.</div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3356"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3402">I don't really know the required SOX licensing, but I could probably make the source of a weaker version available -- there is a LOT of intermod mitigation and filters that avoid aliasing due to the nonlinear operations/etc -- but could possibly remove some of the professional level quality, but really don't want to do so.&nbsp; I'll probably eventually release the source in its entirety.</div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3441"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3625">So, after reviewing all of the info, do you think 1) is this worthwhile to the userbase? 2) Maybe an partial object distribution might be possible, with a shim of some kind (temporarily) untiil I can get the funding for the SR effort by other means.&nbsp; I do intend EVENTUALLY ot free the software, it actually has some educational stuff in it.</div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3696"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3719">Please refer to my examples before a quick judge about 'isn't any DolbyA material available.'&nbsp; 1yr ago (even several months ago), I didn't believe it either.<br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3626"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3627">What do you think?</div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3629"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3628">John<br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3430"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3119"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3120"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3072"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3071"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3070"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3069"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3068"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3066"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3067"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3686"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3687"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3688"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1525055518079_3689"> <a href="https://spaces.hightail.com/space/z3H68lAgmJ" class="enhancr2_4ced8526-b6d5-07bd-1022-51283b590d10" id="yui_3_16_0_ym19_1_1525055518079_3003">Hightail Spaces</a><br></div><div id="yui_3_16_0_ym19_1_1525055518079_3055"><br></div><div id="enhancr2_4ced8526-b6d5-07bd-1022-51283b590d10" class="yahoo-link-enhancr-card  ymail-preserve-class ymail-preserve-style" style="max-width:400px;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;" data-url="https://spaces.hightail.com/space/z3H68lAgmJ" data-type="yenhancr" data-category="product" data-embed-url="" data-size="medium" dir="ltr" contenteditable="false"> <a href="https://spaces.hightail.com/space/z3H68lAgmJ" style="text-decoration:none !important; color: #000 !important;" class="yahoo-enhancr-cardlink" target="_blank" rel="noreferrer" id="yui_3_16_0_ym19_1_1525055518079_3029"> <table class="card-wrapper yahoo-ignore-table" style="max-width:400px;" id="yui_3_16_0_ym19_1_1525055518079_3028" cellspacing="0" cellpadding="0" border="0"> <tbody id="yui_3_16_0_ym19_1_1525055518079_3027"><tr id="yui_3_16_0_ym19_1_1525055518079_3026"> <td id="yui_3_16_0_ym19_1_1525055518079_3025" width="400"> <table class="card yahoo-ignore-table" style="max-width:400px;" id="yui_3_16_0_ym19_1_1525055518079_3024" width="100%" cellspacing="0" cellpadding="0" border="0"> <tbody id="yui_3_16_0_ym19_1_1525055518079_3023"><tr id="yui_3_16_0_ym19_1_1525055518079_3022"> <td class="card-primary-image-cell" style="background:#000 url('https://s.yimg.com/vv//api/res/1.2/wScT9uF9vGts.uIW4a.e8g--~A/YXBwaWQ9bWFpbDtmaT1maWxsO2g9MjAwO3c9NDAw/https://s3-us-west-2.amazonaws.com/bitspring-email-assets/hightop.png.cf.jpg') no-repeat center center;background-size:cover;height:200px;position:relative;" id="yui_3_16_0_ym19_1_1525055518079_3021" valign="top" bgcolor="#000000" background="https://s.yimg.com/vv//api/res/1.2/wScT9uF9vGts.uIW4a.e8g--~A/YXBwaWQ9bWFpbDtmaT1maWxsO2g9MjAwO3c9NDAw/https://s3-us-west-2.amazonaws.com/bitspring-email-assets/hightop.png.cf.jpg"> <!--[if gte mso 9]><v:rect fill="true" stroke="false" style="width:400px;height:218px;position:absolute;top:0;left:0;"><v:fill type="frame" color="#000000" src="https://s.yimg.com/vv//api/res/1.2/wScT9uF9vGts.uIW4a.e8g--~A/YXBwaWQ9bWFpbDtmaT1maWxsO2g9MjAwO3c9NDAw/https://s3-us-west-2.amazonaws.com/bitspring-email-assets/hightop.png.cf.jpg"/></v:rect><![endif]--> <table class="yahoo-ignore-table" valign="top" style="width:100%;" id="yui_3_16_0_ym19_1_1525055518079_3020" cellspacing="0" cellpadding="0" border="0"> <tbody id="yui_3_16_0_ym19_1_1525055518079_3019"><tr id="yui_3_16_0_ym19_1_1525055518079_3018"> <td style="background:transparent url('https://s.yimg.com/nq/storm/assets/enhancrV2/12/overlay-tile.png') repeat left top;height:200px;" id="yui_3_16_0_ym19_1_1525055518079_3017" valign="top" bgcolor="transparent" background="https://s.yimg.com/nq/storm/assets/enhancrV2/12/overlay-tile.png"> <!--[if gte mso 9]><v:rect fill="true" stroke="false" style="width:400px;height:218px;position:absolute;top:-18px;left:0;"><v:fill type="pattern" color="#000000" src="https://s.yimg.com/nq/storm/assets/enhancrV2/12/overlay-tile.png"/><v:textbox inset="0,0,20px,0"><![endif]--> <table class="yahoo-ignore-table" style="width:100%;height:185px;min-height:185px;" id="yui_3_16_0_ym19_1_1525055518079_3016" height="185"> <tbody id="yui_3_16_0_ym19_1_1525055518079_3015"><tr id="yui_3_16_0_ym19_1_1525055518079_3014"> <td class="card-richInfo2" style="text-align:left;text-align:left;padding:15px 0 0 15px;vertical-align:top;">  </td> <td class="card-actions" style="text-align:right;padding:15px 15px 0 0;vertical-align:top;" id="yui_3_16_0_ym19_1_1525055518079_3013"> <div class="card-share-container"></div> </td> </tr> </tbody></table> <!--[if gte mso 9]></v:textbox></v:rect><![endif]--> </td> </tr> </tbody></table> </td> </tr> <tr id="yui_3_16_0_ym19_1_1525055518079_3051"> <td id="yui_3_16_0_ym19_1_1525055518079_3050"> <table class="card-info yahoo-ignore-table" style="background:#fff;position:relative;z-index:2;width:95%;max-width:380px;border:1px solid #e0e4e9;border-bottom:3px solid #3a383a;margin-top:-40px;margin-left:auto;margin-right:auto;" id="yui_3_16_0_ym19_1_1525055518079_3049" align="center" cellspacing="0" cellpadding="0" border="0"> <tbody><tr> <td style="background-color:#ffffff;padding:16px 0 16px 12px;vertical-align:top;"> <img class="card-object-1 yahoo-ignore-inline-image ymail-preserve-class" src="https://s.yimg.com/nq/storm/assets/enhancrV2/23/logos/hightail.png" style="min-width:32px;border:1px solid #e0e4e9;margin-top:3px;" data-id="77587942-cc4d-8e2d-4804-1deb1b359afb" height="32">  </td> <td style="vertical-align:middle;padding:16px 12px;width:99%;"> <h2 class="card-title" style="font-size: 16px; line-height:19px; margin:0 0 4px 0;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;word-break:break-word;">Hightail Spaces</h2>  <div class="card-description" style="font-size:11px;line-height:15px;color:#999;word-break:break-word;">Hightail Spaces lets you send unlimited files, of any size, to anyone. Collaborate with your team and evolve you...</div> </td> <td style="text-align:right;padding:16px 12px 16px 0;">  </td> </tr> </tbody></table> </td> </tr> </tbody></table> </td> </tr> </tbody></table> </a></div><div id="yui_3_16_0_ym19_1_1525055518079_3048"><br></div></div></body></html>

[-- Attachment #2: Type: text/plain, Size: 202 bytes --]

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

[-- Attachment #3: Type: text/plain, Size: 158 bytes --]

_______________________________________________
Sox-users mailing list
Sox-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sox-users

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, back to index

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <1693181382.2280435.1525056961897.ref@mail.yahoo.com>
2018-04-30  2:56 ` I have developed a bona-fide DolbyA decoder -- wanna know if there might be interest in a SOX plugin John Dyson via Sox-users

sox-users@lists.sourceforge.net unofficial mirror

Archives are clonable: git clone --mirror https://public-inbox.org/sox-users

Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.audio.sox
	nntp://ou63pmih66umazou.onion/inbox.comp.audio.sox
	nntp://news.gmane.org/gmane.comp.audio.sox

 note: .onion URLs require Tor: https://www.torproject.org/

AGPL code for this site: git clone https://public-inbox.org/ public-inbox