Jump to content

John Dyson

  • Posts

  • Joined

  • Last visited

  • Country

    United States



  • Member Title
    Audio DSP/SW developer

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. I have noticed an odd difference between the compressed FA and the results of my works at decoding it (next version is MUCH more 3d sounding, better stereo/timing)... This difference is related to the audibility of the highs with varying quality of hearing in the HF range. Even when I am blind to >10kHz, I can still hear the highs with FA encoded materials. However, the highs disappear on decoded materials. If hearing is poor, the compressed FA version allows hearing the recording with 'synthesized' highs. Of course, those with good hearing also gets the 'synthesized' highs and never hear the pure recording. FA encoding acts A LOT like a hearing aid. When doing the A/B comparisons to choose building blocks, the decisions become VERY confused when my hearing changes throughout the day. However, the important matter is NOT about my hearing, but it has driven an observation that FA has this interesting 'hearing aid' characteristic. With this observation/'revelation' about the effects of FA compression, I wonder if this characteristic is one reason why the distributors chose to use the compression technique? Basically, to accommodate varying hearing sensitivity in different people? Maybe the reason is not as nefarious as I had guessed? Naaahhh... The reason for using FA IS nefarious, but there is a potentially beneficial side-effect...
  2. Please understand that most of the current work is for the improved docs, but while also doing some decodes, I still heard the 'edgy' sound in certain cases. It is like sometimes the highs have a 'sawblade' envelope when the highs should not. Found the fix. As you must already know, I must 2nd guess the developer who originally designed the FA monstrosity, most likely being a genius like R. Dolby. I am not a 'genius', but simply competent. This means that my capacity to understand might be really good, but mirroring a true innovator can be a real challenge. So, when making the design choices, I might not understand all of the tradeoffs that were originally made. This new HF correction that is coming in two weeks has ZERO effect on normal use, but will naturally present the highs as more clean sounding with NO negative side-effect. All versions of the decoder, including the early single layer attempts, had this problem. It is a relief to have recognized the problem and found the fix. Bottom line, most of the busy-buzz will have disappeared in the next release, otherwise the sound will be almost identical -- with ONLY improvements. On most materials, the difference is probably mostly inaudible. On others, it is a really nice improvement. Vocals like Karen Carpenter or any other close miced vocal will often benefit. Also, cymbals and other such percussion will be a bit more natural/clean. Back to the docs!!!! (just completed the changes/tested the build). Frustratingly, must restart the decodes of my big library FROM SCRATCH!!! The next release will be breathtaking, but unless the docs are updated, it will be very difficult to benefit very much from the decoder...
  3. After significant consideration and the really good quality and relative ease-of-use, it is time for development to move from 'research' to 'development'. These plans are subject to change, but mostly intended to give some solace that releases will no longer need to be created so quickly one-after-another. The current plans follow: Delivered in about +1wk 1) Update the Start Using doc to bona-fide match the current V5.1.4A decoder, importantly updating usage hints so that the same good results as on the demo decodes can be easily obtained by the user base. WIthout the short, interim Start Using doc update, it is almost impossible to get optimal results for the corner cases. Sadly, the 'corner cases' occur about 20-30% of the time... +Approx 2 additional wks realtime (Phase 1 update) 2) Update the decoder itself to implement the new EQ/mastering commands, so that the simulataneously released fully revamped docs will reflect the operation of the decoder for a long time. 3) Minor fixes to the decoder to remove a +0.5dB bump at 15kHz and slow down the HF rolloff. (The change in actual sound character is minor, but will show a slight quality improvement) 4) The decoder (no real sound changes) with the new EQ/mastering scheme and very minor quality fix will be released (again, approx +2wks, maybe a few days shorter.) The anti-sibilance should also be re-visited, but is of lower priority. 5) Release the more significantly improved docs. +Approx 2 additional wks realtime following Phase 1 (Phase 2 update) 6) Fully develop new high tech speed-up idea for the high quality modes. With this change, it is planned that decoding with approx --xp speed will give as good as (or better than) --xpppp results. Normally, --xpppp is totally impractical on a 4 core machine, but with the improvement, the same quality will be more practical for when the absolute highest quality is needed. 7) Additionally, the --fz quality mode will be just a little faster, yet almost approach the quality of the --xp mode. (The goal of the quality improvements is to offer only 3 quality modes with superior results and speed, instead of the approx 5 or 6 modes. The =max mode will still exist, but also will be faster.) 8) more documentation updates, hopefully a much better organized/developed manual will happen in Phase 1, but the full update might have to be in Phase 2. Along with the Phase 2 update, any other known nits will be fixed. The currently planned minor spectral response quality improvement is already being reviewed, and only improves the audible band at a subdB level. The already planned technical update is for purposes of correctness, not really for much audible benefit. If there was significant benefit, I'd already offer it as a secondary release. However, it is best to keep things constant & consistent for now.
  4. WRT the ABBA demos/snippets. After some experiments, I think that Arrival is much more nice. When decoding directly, it results in a shrill output. Two other ABBA albums also need some 'saving', but not to the extreme of Arrival. When making such changes, it is a good idea to be very careful. So, in every archive, the Arrival albums has been updated as of about 20mins ago (by the posting time.)
  5. It *should* be that --outgain works on any step size up to +20dB, where it is artificially limited. Anything beyond +20dB requires use of --outgain twice. Too often, when playing/debugging in realtime I had burnt my hearing with too much gain :-). Even though I suggest +-1.5dB, +-3dB, +-6dB type increments, there is NO reason for most user controls to be restricted like that. The --ingain,--outgain,--tone= (a variant of --coff) and any other normal user oriented I/O settings have no resolution limits. It is also true of the equalizers. For example, --pvdl=50,6 (6dB LF boost at 50Hz) works, just as --pvdl=50,1 works (1dB LF boost at 50Hz.) The --pvdh, --pe and any other EQs work with any resolution. (BTW, the new EQ scheme will be simpler, where using 1st order and 2nd order will be much more similar. The new 2nd order scheme will operate the same as 1st order, but with minor mods like adding a Q value.) EXPLANATION: Internally, I followed a very narrow discipline, sometimes to my disadvantage becuase of inflexibility, because the number of variables is so vast that uncontrolled changing of over 100 variables can produce chaos. In some cases, like the input/output EQ, I was so inflexible that I wasted a lot of time becuase I didn't want to deviate away from my own prejudiced choice. WIth the recent versions, because of my inability to produce the best results, I opened up to using 2nd order EQ much more often. The results speak for themselves. There really is no intent to restrict user interface resolution values. In the future, there *will* be a simple, stepped version of --coff, but that is only because there is a very limited selection set that is normally correct. On the other hand, other commonly used controls like --outgain, the user should be able to use any value +-20dB. --ingain should be used with great care, because changing --ingain will mess up the calibration level, so it is best to use --outgain instead of --ingain. Thanks for the question, and it is very understandable to assume that the user controls are as limited as the discipline that I had to maintain in the internals. It is VERY VERY correct to use ANY --outgain value that you need!!! If there is a problem, let me know. Also, it should be possible to look at the output level of the last output lines for the layer 7 on the running status display. By changing the --outgain, it should be possible to see the changes in the output level reflected on the running status display. Note about the running status display, it might be easier to read the output if using --info=20, which batches the running status together so that the display lines don't move as much. This would be like a 'poor persons' pseudo-gui presentation!!! As usual, I am happy with public and private questions and comments. The goal now is ONLY to help usage and promote enjoyment!!! If we need to make improvments though, very we will fix probs/make improvs on the approx +2wks release!!! The 1st docs version should be coming in under 1wk. I have been doing decodes of almost everything in my library, and it is sometimes tedious to decode certain albums. In the next message, I'll announce an improved 'ABBA' Arrival album demo. After I am tired of doing the decodes, I'll finish the docs!!! THANKS!!! John
  6. Since threre has been nothing but good feedback about the decoder, I decided to make decodes of all 8 ABBA Albums available. Arrival is the only album that really worries me about the quality, but might be about as good as possible. Sadly, these demos must be snippets, and available as a subdir of the normal snippet directory... Here is a direct pointer to snippets for all 8 albums: https://www.dropbox.com/sh/rp6wt9cq29op46r/AACu83NiceXhHzvihE6UETjva?dl=0
  7. I have little/no ability to judge artistic aspects of material, but I can tell that the performances are really good. The technical quality improvement goes far beyond the mere signal processing issues that I normally focus on. Your results successfully address the often mediocre capture of the audio in the real-world environment. The capture on your recordings is wonderful. The temporal coherency of these recordings is pretty darned impressive. The various signal components appear to arrive at the correct time (milliseconds). There is NO fuzziness or smear at all in the recordings. I cannot detect any sort of obnoxious room effects -- I mean, these sound *clean*, moreso than my first, quick technical check. Normally, I hear temporal distortions without needing to concentrate -- the common distortions on consumer recordings are badly distracting almost like -40dB hiss. However, even when concentrating on your recordings, there is NO 'ugliness' that is so common elsewhere. Even on 'high-brow', but non-boutique recordings, the problems are often severe... There appear to be no such problems on your recordings. Frankly, I am going to put your recordings aside for another 8Hrs and listen again.... Bordering on disbelief about how good they are. This 'correcteness' in your recordings goes FAR FAR beyond the little phase/electronic temporal problems from any reasonably good analog or digital reproduction system (speakers notwithstanding.) Your 'collection' (micing/etc) technique addresses the largest problem with accurate reproduction -- often not-so-wonderful elsewhere. Frankly, I think that I am enjoying your demos -- doesn't happen very often any more 🙂. In the right forum, and with good communications skills, your effort might be a globally important component of helping re-center the audiophile public back to 'realistic reproduction' instead of attempted work-arounds of hopelessly damaged recordings and signals. This project demonstrates that incessant 'tweaking' can only help so much. Redesign/re-thinking, moving beyond 'tweaking' is sometimes the only way to make very significant improvement. Obviously here, this shows that there are STILL people who can innovate instead of 'copying & tweaking schematics'. 🙂 Again, GOOD STUFF.
  8. Heads-up about some corrections in the demos. The 'Dionne Warwick' and 'Brubeck/Three to get ready' demos previously used the wrong calibration setting. The newly uploaded versions now use the correct ones. The OLD decodes remain on the demo sites also, simply for the interested parties to compare. The info from the hints below will be included the new usage document, when it becomes available in perhaps in 3-5days. Unless someone yells 'fire' or the startup bug mentioned above happens too often, there will NOT be a new decoder release until +2wks from now. The only planned new uploads before +2wks would be more demos or, most importantly, improved documentation. HINTS: * There are two standard calibration levels: --coff=-4 and --coff=-6.6666. The default value for '--coff' is -4. The '--coff=-6.6666' is an alternate setting. I have found only one recording that needs a setting other than these two, but that recording has probably been modified. For now, one must remember to use the '--coff=-6.6666' , IF the recording sounds dead, a little 'dirty' or 'ugly', or the ambience in the HF is suppressed. You can probably hear this difference by comparing the two copies of 'Three to Get Ready' on the demo site. The sound of the cymbals is tell-tale about this matter. I noticed the problem on Dionne's recordings also, where the ambience seemed suppressed. It seems that these two groups of recordings are the only places where the --coff=-6.6666 needs to be added on after the fact. There were a few other instances of '--coff=-6.6666' on the original demo uploads also. It is a very good idea to be ready to use '--coff=-6.6666' for when it might be needed. After the +2wk update, there will be a simpler command option than '--coff=-6.6666', where there will probably be '--coff=a' for '--coff=-4' and '--coff=b' for '--coff=-6.6666'. However, the decoder doesn't have the shortcut capability yet, so must use the explicit values for now. * Some recordings might initially seem significantly too bright. Those recordings very likely are missing one of the EQ steps, and there is a decoder command line switch that will correct the resulting sound quality issue: '--hfeq=0'. A few recordings do need the '--feq=0' setting. * There are a few other matters WRT LF EQ, and they were mostly covered in the old 'StartUsage' document, but I plan to make them more clear in the upcoming document. Since the expected command variants might not be obvious by my commentary, Included below is a processed, slightly cleaned up list of actual command line variants for the decoding snippets/examples. Please ignore the arcane locations for the recording source files, but the filenames will give some information about the recording being 'decoded'. This should give an idea of the variants & frequencies that one might sometimes encounter. (Note: --chsw means: swap channels, --as means 'anti-sibilance' and the --pvdl settings are the LF mods that often mentioned.) Of course, as mentioned above, --coff means the calibration threshold, and --hfeq is a correction for the type of EQ originally used on the type of FA encoding. ---------------------------------------------------------------------------------------- /music/Anne/15/10 Anne Murray - Danny's Song.flac - --fa /music/Anne/15/02 Anne Murray - You Needed Me.flac - --fa /music/Anne/15/01 Anne Murray - Shadows in the Moonlight.flac - --fa /music/dire/Brothers In Arms (Vertigo 824 499-2)/04 - Your Latest Trick.flac - --fa /music/dire/Brothers In Arms (Vertigo 824 499-2)/05 - Why Worry.flac - --fa /music/dire/Brothers In Arms (Vertigo 824 499-2)/09 - Brothers In Arms.flac - --fa /music/Herb/Sergio Mendes & Brasil '66 - The Very Best (1986)/14.Wave.flac - --fa /music/Herb/Sergio Mendes & Brasil '66 - The Very Best (1986)/07.Fool On The Hill.flac - --fa /music/Herb/Herb Alpert - The Very Best Of Herb Alpert (1991)/04.Spanish Flea.flac - --fa /music/Herb/Herb Alpert - The Very Best Of Herb Alpert (1991)/07.Casino Royale.flac - --fa /music/ABBA/disco/Waterloo/12* - --chsw --fa /music/ABBA/j/ABBA/01. ABBA - SOS.flac - --chsw --fa /music/ABBA/j/ABBA/02. ABBA - Mamma Mia.flac - --chsw --fa /music/ABBA/j1/RingRing/08-Me And Bobby And Bobby's Brother.flac - --fa /music/ABBA/j1/TheAlbum/02 - Take A Chance On Me.flac - --fa /music/Beatles/The Beatles - 24Bit FLAC/Abbey Road/03 - Maxwell's Silver Hammer (2009 Digital Remaster).flac - --fa /music/Elton/Disk2/01. Don't Go Breaking My Heart.flac - --fa /music/Elton/Disk1/05. Daniel.flac - --fa /music/Petula/SinglesP2/11 - A Sign Of The Times.flac - --fa /music/Petula/SinglesP1/05 - Don't Sleep In The Subway.flac - --fa /music/TheCarpStudioFLAC/1970 - Close To You/04 - Reason to Believe.flac - --pvdl=500,-3 --fa /music/TheCarpStudioFLAC/1970 - Close To You/06 - (They Long to Be) Close to You.flac - --pvdl=500,-3 --fa /music/TheCarpStudioFLAC/1970 - Close To You/08 - I'll Never Fall in Love Again.flac - --pvdl=500,-3 --fa /music/TheCarpStudioFLAC/1971 - Carpenters/05 - For All We Know.flac - --pvdl=80,-3 --fa /music/TheCarpStudioFLAC/1971 - Carpenters/06 - Superstar.flac - --pvdl=80,-3 --fa /music/TheCarpStudioFLAC/1971 - Carpenters/09 - Bacharach-David Medley.flac - --pvdl=80,-3 --fa /music/SimonAndGarfunkel/Discography/Bookends (1968)/10 - Mrs. Robinson.flac - --fa /music/SimonAndGarfunkel/Discography/Bookends (1968)/11 - A Hazy Shade Of Winter.flac - --fa /music/SimonAndGarfunkel/Discography/Wednesday Morning 3 A.M. (1964)/06 - The Sound Of Silence.flac - --fa /music/xmusic/JudyCollins/1965 - Fifth Album/07. Mr. Tambourine Man.flac - --fa /music/Linda/1977-Simple Dreams/01 It's So Easy.flac - --fa /music/Linda/1977-Simple Dreams/07 Poor Poor Pitiful Me.flac - --fa /music/Linda/original/05. That'll Be The Day.flac - --fa /music/Bread/02. Everything I Own.flac - --coff=-6.6666 --fa /music/Bread/03. Diary.flac - --coff=-6.6666 --fa /music/Bread/04. Baby I'm-a Want You.flac - --coff=-6.6666 --fa /music/Carly/old/02. Nobody Does It Better.flac - --coff=-6.6666 --fa /music/Carly/old/09. Mockingbird.flac - --coff=-6.6666 --fa /music/xmusic/Mason Williams - The Mason Williams Phonograph Record (1968) [FLAC]/07.Classical Gas.flac - --fa /music/xmusic/Al Stewart Discography pack 1/1976 - Year of the cat [FLAC]/09 - Year Of The Cat.flac - --fa /music/xmusic/Al Stewart Discography pack 1/1976 - Year of the cat [FLAC]/05 - If It Doesn't Come Naturally, Leave It.flac - --fa /music/mancini/Henry Mancini - Greatest Hits (2000) flac/Henry Mancini - 10 - Baby Elephant Walk.flac - --hfeq=0 --fa /music/mancini/Henry Mancini - Greatest Hits (2000) flac/Henry Mancini - 12 - Days Of Wine And Roses.flac - --hfeq=0 --fa /music/mancini/Henry Mancini - Greatest Hits (2000) flac/Henry Mancini - 14 - The Pink Panther.flac - --hfeq=0 --fa /music/mancini/Henry Mancini - Greatest Hits (2000) flac/Henry Mancini - 20 - Love Theme From 'Romeo And Juliet'.flac - --hfeq=0 --fa /music/London/CD1/08.The Four Seasons, 'Spring' Allegro.flac - --coff=-6.6666 --fa /music/London/CD1/09.Ride Of The Valkyries.flac - --coff=-6.6666 --fa /music/London/CD2/04.Thais Meditation.flac - --coff=-6.6666 --fa /music/London/CD3/07.Finlandia.flac - --coff=-6.6666 --fa /music/London/CD4/09.Radetzky March.flac - --coff=-6.6666 --fa /music/London/CD4/03.Double Violin Concerto Vivace.flac - --coff=-6.6666 --fa /music/Nat/story/Disc 1/15. Walkin' My Baby Back Home.flac - --fa /music/Nat/story/Disc 1/01. Straighten Up And Fly Right.flac - --fa /music/olivia/1985 - Soul Kiss (1985 - Japan - P33R-20001)/03-Queen Of The Publication.flac - --fa /music/olivia/1985 - Soul Kiss (1985 - Japan - P33R-20001)/01-Toughen Up.flac - --fa /music/olivia/CD1/(06) [Olivia Newton-John] If You Could Read My Mind.flac - --fa /music/olivia/CD2/(04) [Olivia Newton-John] Take Me Home Country Roads.flac - --fa /music/olivia/CD2/(14) [Olivia Newton-John] Let Me Be There.flac - --fa /music/olivia/CD2/(23) [Olivia Newton-John] Have You Never Been Mellow.flac - --fa /music/Steely Dan/06 - 1977 - Aja (1984 US MCAD-37214)/04 - Peg.flac - --fa /music/Eric Clapton - The Best Of - [FLAC]-[TFM]/01. Tears In Heaven.flac - --hfeq=0 --fa /music/The Dave Brubeck Quartet - Time Out (2013) [24-176 HD FLAC]/04-Three To Get Ready.flac - --fa /music/xmusic/Getz - Gilberto/2.0/01 - The Girl from Ipanema.flac - --as=2.0 --fa /music/Dionne/16 Dionne Warwick - Walk On By - Do You Know the Way to San Jose.flac - --fa /music/Dionne/17 Dionne Warwick - Walk On By - (There's) Always Something There to Remind Me.flac - --fa /music/Dionne/18 Dionne Warwick - Walk On By - Promises, Promises.flac - --fa /music/Dionne/20 Dionne Warwick - Walk On By - I'll Never Fall in Love Again.flac - --fa /music/carsgth/Cars - Greatest Hits - 06 - Drive.flac - --hfeq=0 --fa /music/carsgth/Cars - Greatest Hits - 03 - You Might Think.flac - --hfeq=0 --fa /music/tay/06-Shake It Off.flac - --hfeq=0 --fa /music/ymusic/Yes/24-192 HDTracks/01 - Yours Is No Disgrace.flac - --fa /music/03 Call Me Maybe.flac - --outde=l --hfeq=0 --fa
  9. There is now a subdir 'flacsnippets-INPUT' in the public area. The original Mancini and a few other original snippets are included. Actually, there should be all of the original versions of the snippets, but most of the rest ended up being deleted.. At least, the Mancini inputs are included. Tomorrow, I'll look into re-creating the rest of them.
  10. I don't intend to make ANY ANY ANY changes to the sound. FIrst will be new user doc, next is speedup without quality loss (actually, might improve quailty if normally using a lower quality mode.) That is, HOPEFULLY, after a few weeks, there would be no reason to use the low quality modes, because the quality will always be 'best'. (this is an experimental idea, so might or might not work.) No matter what -- V5.1.4A will be the MINIMUM quality available, but no changes for at least 2wks. The quality/behavior aspects of the program will not be touched for a very, very long time!!! V5.1.4A is a 'golden' release, and the intention all along was for people to enjoy the results... THANKS!!! John
  11. V5.1.4A is now uploaded. Demos are ready, also below is a list of the most important fixes/improvements/etc. The highs are so dead-on that the group delay timing is well controlled. The highs are very clean, perhaps too clean. The anti-distortion removes a lot of fog from recordings, resulting in a thin, but adequate HF. In fact, there is a --detail=less switch which disables about 1/3 of the anti-distortion code -- you'll hear something closer to non-FA commercial recordings. The loss of HF detail when using '--detail=less' is subtle, but very indicative of a portion of the work done to produce the best results possible (previous EQ problems notwithstanding.) Item of note -- the sibilance is much better controlled and sweet, the highs not really excess, bass doesn't have 'hole' because emulation instead of 'spectrally flat' was the driving function. A few new recordings added to demos. SNIPPETS: https://www.dropbox.com/sh/i6jccfopoi93s05/AAAZYvdR5co3-d1OM7v0BxWja?dl=0 DECODER: https://www.dropbox.com/sh/5xtemxz5a4j6r38/AADlJJezI9EzZPNgvTNtcR8ra?dl=0 SEMI-TECHNICAL discussion of corrections: Fixes hopefully implemented in V5.1.4A, and some ideas for upcoming versions A new ‘StartUsing’ document will be coming soon. The current ‘StartUsing’ document is still mostly operative, but there are new features and a few nuances that are different. For example, changing decoding EQ (e.g. --lfeq or –hfeq) are now seldom needed, sometimes specific LF rolloff appears to be needed on very very few select recordings. Important corrections to basic Dolby A emulation behavior. (Really, really helps the quality. There is a lot of such processing, and the errors accumulate over the 8 passes needed for relatively accurate decoding.) DA decoder feedback emulation processing for the HF0/HF1 split had attack time that was too fast. The attack time was slowed down to something closer to what makes sense WRT propagation delays in a real DolbyA. The slower attack time clarifies the sound, less grainy. Fixing this HF0/HF1 split code helps to mitigate the ‘brittle’ sound that resisted correction by HF rolloff. This HF0/HF1 split magic is one of the major impediments to implementing DA compatible decoding while avoiding any patents and allowing doing a feed-forward decoding operation. Minor problem with the general attack time. Now emulates much more closely. Remove the attack time filter after the Hilbert detectors. Keep the Hilbert detectors. Determined that the attack filter wasn’t really needed, and probably previously used to hide some inaccuracies in the DA attack calculations. The actual Dolby A emulation attack characteristics are mind numbingly complicated, and ‘getting it right’ is very tricky. Carefully adjust the attack filters so that sideband creation is restricted even before the explicit anti-distortion/sideband hiding code. There is ZERO reason for attack times faster than about 3kHz, so a Gibbs-free filter is used, along with some additional HF1 speed control. HF1 attack/release speed is about 1.5X to 2.0X faster than the normal attack/release times used at lower frequencies. This faster attack/release produces much more sideband energy, and the speed is controlled. AFAIR, the spectrum in the HF1 gain control is limited to about 12kHz while the total spectrum is limited to 9kHz for the lower frequencies, but the rolloff starts at 2kHz. This makes a profound improvement in clarity, and removes fog before the fog-hiding code operates on the signal. Try to produce LF that is more expected. Unfortunately, a flat frequency/spectral LF response makes a ‘hole in the bass’. A simpler bass EQ produced results similar to previously botched decoder results. Very very carefully revisit the HF response – measure the average spectrum differences, which appears to be reasonably flat with a decrease in the 10kHz to 20kHz range (-3dB.) Noticed a phase issue where the result was much more clean with a 21kHz, -3dB, Q=0.8409 EXACTLY. Any other value produces a less ideal result. The phase compensation was eventually made more complex, producing a much more clean/sweet sound. There is a ‘raw’ switch that is eventually intended to remove all semi-optional EQ tweaks like the 21kHz rolloff filter. (Measuring the spectral differences is imprecise, instead of using a sine wave for the driving function, actual recordings are used to drive the measurement. Recordings don’t always have enough energy in certain parts of the audio band to produce accurate results. Therefore general results are used to verify sanity, and accuracy can be estimated only in the HF region. Also relative average signal levels should be fairly close when comparing the 20-1kHz, 1kHz-3kHz and 3kHz-20kHz ranges. Determine the canonically correct pre/de-emphasis, separating it cleanly from the required encoding de-emphasis. This split makes determining the best EQ much easier. It ended up that the basic processing pre/de-emphasis is totally regular with a constant 3dB per 3kHz step, with a switch-over at 15kHz from + vs -, and the 15kHz is 1.5dB instead of 3dB. The EQ is a little like the inter-layer EQ, but not quite. The values determined by doing spectral comparisons between FA and the decoder output. Like usual, all of the HF numbers are like: 3kHz, 6kHz, 9kHz, 12kHz, 15kHz, 18kHz, 21kHz, 24kHz, 30kHz. The MF frequencies are l250 +- 250Hz and 2750 +- 250Hz. The LF EQ frequencies are the 1250 +- 250Hz, 750Hz, 160Hz, 80Hz, 40Hz and some odd sub-multiples of 20Hz (20/3, 20/5, 20/7Hz.) Determine the correct usage of 1st order/2nd order EQ. Some EQ had to be 2nd order, some 1st order, and in some cases overlapped 1st and 2nd order. When overlapped, the intent of the equalization is for different purposes. Provide a ‘detail’ control, where the anti-distortion mechanism can be disabled. This helps to evidence the superiority of the anti-distortion EQ technique. (--detail=no or –detail=less.) Improve the LF pre/de-emphasis, eventually finding that it is an intimate component of the LF de-emphasis, greatly simplifying the LF EQ. KNOWN BUGS & UPCOMING FIXES/IMPROVEMENTS (Unless major complaints, these fixes will come after the StartUsing document update.) Evil start-up bug where thread start sequencing runs out of order, causing the program to hang. This happens in perhaps 1/100 startups and hasn’t screwed up my decoding script of >50 recordings (yet.) After the sound quality matters are resolved, then will be able to work on this real-time thread startup problem. The startup is actually very simple, and the sequencing problem is likely related to the inter-thread queues or some shared variable not being ready for use. Since Intel machines do a good job of synchronizing memory data when running multiple threads, the problem cannot really be too difficult to solve. This problem appeared very recently. Need an easier to use decoding specific EQ method, however it appears that EQ for decoding is seldom required. EQ variations for ‘poor persons’ mastering will still be supported. Make the 2nd order EQ scheme more general purpose, and only support standard 2nd order EQ. The upgraded command syntax will support 1st and 2nd order with some common sense. For before decoding, the 1st order HF/LF shelf will be ‘--b1h’ or ‘--b1l’ and for 2nd order it will be ‘--b2h’ and ‘--b2l’. For after decoding, the 1st order HF/LF shelf will be ‘--p1h’ or ‘--p1l’ and 2nd order will be ‘--p2h’ or ‘--p2l’. The arguments for the shelf EQ will be the same for both, but the 2nd order will have an additional ‘Q’ specification. For example, a 40Hz 2nd order LF shelf with gain=-3dB and Q=0.7071 after decoding will be specified: ‘--p2l=40,-3,0.7071’. The default filter mode will be an automatic instantiation of the ‘anti-distortion’ mode. To disable anti-distortion, then use an ‘N’ before the frequency argument. THIS IS ACTUALLY SIMPLER THAN IT SEEMS. Stuff like –pvdl or –pe, with different syntax, will no longer need to be remembered. Do a careful evaluation of the demos – some appear to have minor troubles. This might be related to needing an input/output EQ (pre/de-emphasis.) I have found this on only one-two demos, and the problem IS noticeable. There is still a complex of ‘--hfeq’ commands that almost definitely mitigate the problem. The ‘trick’ about HF pre/de-emphasis is if there is a shortened HF ambiance, then increase the HF on input, and compensate on the output., This technique has the effect of decreasing the expansion in the HF range. Since there appears to be standard EQ frequencies and values, the decoder probably already implements the correct option, but that needs to be checked further. (The most obvious is the Brubeck example: ‘Three to get ready’.)
  12. Release delay for a day or so -- personal matters. The decoder is doing well. Actually, made a few more improvements yesterday evening. Figure +3 days for now. It might be ready +1 day if I can free myself up from a personal activity.
  13. Unless there is a crash during running the demos or a major botch, the release should be tonight by +13Hrs from now. A lot of fixes have been done, the most frustrating problem is that my hearing changes by like -10dB at 10kHz through the day, so I get confused from the normal, simple EQ that the decoder is using. The new EQ is truly simple (but still does what it is supposed to do.) Almost all final EQ is intended to undo the pre-emphasis, as usual, no real tweaking. There is an optional 'finish up' that does a combo rolloff, small peak whose center is 21kHz, but that peak is <0.5dB and only has the effect of slightly improving the definition without getting edgy AT ALL. *(Yes, I can hear near 17kHz for an hour or so in the morning.) The new version uses a hybrid 1st order/2nd order approach. With the new EQ, some of the most difficult recordings now sound almost pristine. The most interesting revelation has been the DolbyA compatible steps had two important 'bugs', but also had some calibration issues. The calibration issues could not be verified by any objective test materials that I have. Since the FA decoder uses 8 layers of active DolbyA compatible decoding, any DA errors are magnified very strongly. Most of the errors cannot be easily detected in pure DA mode except for the highs are a little too harsh. The bugs included 1)LF threshold about 3dB too low (too much <120Hz LF) 2) the HF0/HF1 split feedback was too fast, giving an edgy sound, 3) The dynamic attack/release scheme had a bug in the gain feedback, therefore made the attack/release too fast, 4) Very carefully tuned attack/release slowdown, including consideration of the faster HF1 control, keeping the spectrum < 10kHz, avoiding too much spectral wrap around. Lots of other minor DA improvements also. This release is NOT ready to use for pure DA yet as I have a lot more stringent testing and verification before there can be an official DA mode. I had thought about disabling DA (easy too do, capability already built in), but that would not be helpful anyway... Just don't depend on it. All of the FA EQ is still very similar as before, but not distorted by bad hearing 'reworks' through the day. Also, found that the lower MF EQ must NOT be flat, or you get the 'hole in the lower MF' matter that had been previously complained about. There is a pronounced curve around 100Hz to 300Hz so that the FA bass is matched (and sounds more FA-real.) My attempts at flat bass put a hole in the 100Hz to 300Hz range, but instead gain should have been allowed to increase. To make the bass flat, there needed to be explicit and tricky EQ to make it so. The EQ for the more FA sounding bass is more consistent and no special mods around 100Hz to 300Hz. The EQ is now no longer 'tricky'. The LF pre/de-emphasis was made more moderate. There is still very good stability of mixing the LF/MF/HF sounds at low level, but also the bass is more tight. There are now some objective measures for decoding results, and finding no strange readings. The decoder can NOT be flat, or hearing will burn and the bass will have the 'holy' sound :-). Those problems shouldn't be manifest anymore. Again, if everything goes well, release tonight. This HAS been a very detailed evaluation and re-jiggering of the EQ WHICH IS NOW MUCH MORE SIMPLE. If there are any pronounced HF problems, they will be trivial to fix, but I need to know about them. The HF should really be VERY VERY clean now, just don't trust my hearing anymore -- maybe the EQ should be really contorted -- but that would be unreasonable. John
  14. Status: delayed another day. * Important note -- I forgot to mention previously -- Historical 'hole in the bass' has been fixed for a while in the development decoder. Using 1st order EQ simply cause frustration and poor results. Using 2nd order EQ now, much easier, sounds better. * The HF dynamics are still not correct today. The dynamics are very difficult because of accomodation, and almost impossible to measure. There is an HF spectral measurement now, and that statistic helps to maintain a relatively sane HF response. Likewise, the LF response is also maintained as relatively consistent. Unfortunately, as I had mentioned in the past, the decoder can NOT be 'flat' in the conventional sense, however. comparisons can be used to track behavior. There still isn't a good method to track the dynamics, so it is still a tredious iterative procedure. I fully expect the release will be likely before the weekend. The release will NOT happen until I am totally happy with it.
  15. WOW -- this has been a very rough couple of days. As mentioned before, the excess HF has been a problem for quite a while. There was always a balancing act between 'burning hearing' with too much HF vs. HF and secondary distortion elsewhere, and I realize the excess HF as been a problem for a very long time but wishful thinking had controlled my judgement. There was a reason for the 'too much HF' madness, but the alternative was also bad. The ONLY reason why I could tolerate 'too much HF' is my very limited hearing >12kHz MOST OF THE TIME (sometimes it actually works much higher.) I am really hoping that this is the last layer of the 'onion' so that the HF problems are fully mitigated. It *really* took a full understanding of what is going on to intuit the need for an additional 1st order before/after EQ. This additional EQ 'nudged' the HF downwards in the cases where there was excess but still maintains the frequency response for the less problematic situations. Hopefully more people will be happy with these upcoming results!!! A release will NOT be done until I am fully satisfied, but will keep the interested parties up-to-date with a 'heartbeat' of status reports. The HF problem is of paramount importance, and solving it is definitely in the release criteria. It is VERY POSSIBLE that a release can be done tomorrow morning (+15Hrs), but any problem with final, last minute QC tests will force another day delay. John
  • Create New...