Re: Which drive should be preferred?
Reply #23 – 2024-08-17 14:08:08
After some headache, I have achieved to make the following JavaScript code, to programmatically know what samples are cut, or read from lead-in/out parts. The script might be simplified, but I have thorougly tested all cases, and the results are correct. Just change the eacOffsetSetting value, then execute the script and get the report.(function () { // change this value: const eacOffsetSetting = +6; const erroneousOffset = -eacOffsetSetting; // -6 const realOffset = erroneousOffset + 30; // +24 let cutFromStart = realOffset; // 24 let readFromLeadIn = -realOffset; // -24 if (eacOffsetSetting > 0) { cutFromStart += eacOffsetSetting; // 24 + 6 = 30 readFromLeadIn -= eacOffsetSetting; // -24 - 6 = -30 } if (cutFromStart < 0) { // never occurs cutFromStart = 0; } if (readFromLeadIn < 0) { // always occurs readFromLeadIn = 0; // -30 → 0 } const eacSilentSamplesAtStart = (eacOffsetSetting < 0) ? -eacOffsetSetting : 0; // 0 let cutFromEnd = -realOffset; // -24 let readFromLeadOut = realOffset; // 24 if (eacOffsetSetting < 0) { cutFromEnd -= eacOffsetSetting; readFromLeadOut += eacOffsetSetting; } if (cutFromEnd < 0) { // occurs when eacOffsetSetting < +30 cutFromEnd = 0; // -24 → 0 } if (readFromLeadOut < 0) { // occurs when eacOffsetSetting > +30 readFromLeadOut = 0; } const eacSilentSamplesAtEnd = (eacOffsetSetting > 0) ? eacOffsetSetting : 0; // 6 const report = ` samples cut from start: ${cutFromStart} samples read from lead-in area: ${readFromLeadIn} silent samples added by EAC at start: ${eacSilentSamplesAtStart} samples cut from end: ${cutFromEnd} samples read from lead-out area: ${readFromLeadOut} silent samples added by EAC at end: ${eacSilentSamplesAtEnd} `; console.log(report); })(); For example, output with eacOffsetSetting = +667 : samples cut from start: 30 samples read from lead-in area: 0 silent samples added by EAC at start: 0 samples cut from end: 637 samples read from lead-out area: 0 silent samples added by EAC at end: 667 output with eacOffsetSetting = +6 : samples cut from start: 30 samples read from lead-in area: 0 silent samples added by EAC at start: 0 samples cut from end: 0 samples read from lead-out area: 24 silent samples added by EAC at end: 6 output with eacOffsetSetting = -2 : samples cut from start: 32 samples read from lead-in area: 0 silent samples added by EAC at start: 2 samples cut from end: 0 samples read from lead-out area: 30 silent samples added by EAC at end: 0 Considering the "30 samples issue" from AccurateRip:In all cases, at least 30 samples are cut from start. The lead-in area is never read from. At most 30 samples may be read from lead-out area. Therefore:The "worst" drives are those with EAC offset < 0, as they cut more than 30 samples from start (precisely, 30 + abs(EAC offset)). The "best" drives are those with EAC offset between 0 and 30 (inclusive): the former reads 30 samples from lead-out area, the latter doesn't read from lead-out area and adds 30 silent samples Drives with EAC offset > 30 cut samples from end (precisely, EAC offset - 30).