Author Topic: TurboRip v1.41: The PC Engine/TG-16 CDROM ISO/WAV/CUE Ripper [10/15/2016]!  (Read 14669 times)

NightWolve

  • Hero Member
  • *****
  • Posts: 5277
Re: TurboRip v1.40: The PC Engine/TG-16 CDROM ISO/WAV/CUE Ripper [8/19/2015]!
« Reply #75 on: November 23, 2015, 01:39:58 PM »
Ssssh, I didn't wanna mention what works... ;)

TheOldMan

  • Hero Member
  • *****
  • Posts: 958
Re: TurboRip v1.40: The PC Engine/TG-16 CDROM ISO/WAV/CUE Ripper [8/19/2015]!
« Reply #76 on: November 23, 2015, 01:51:10 PM »
Quote
I didn't wanna mention what works...

Have you ever used clone-cd on a pce cd? It took me several (ie >10. I went to bed leaving it running) hours to backup a few of my games :)

Gotta admire the guys perseverence, though. Maybe next time, we will use oddball gaps for all the tracks ;)

--edit--
You really can't stop it. Pirates gonna pirate....
« Last Edit: November 23, 2015, 01:52:43 PM by TheOldMan »

NightWolve

  • Hero Member
  • *****
  • Posts: 5277
Update: Another RC/test build of TurboRip to solve Chris' problem. For anyone else, it's here:

http://www.ysutopia.net/software/TurboRipTest.zip

What I did is this: On the final 1 - 27 (+10) sectors that are left to read of a data track that is preceded by an audio track and will have at least 2 seconds of pregap (150 sectors), if a read error is trapped, I switch to reading every sector one by one instead of burst mode (reading 27*2352 sectors at a time=64KB) writing them individually. If I hit a read error, I write a null/zeroed out sector (2048 bytes for cooked, 2352 for raw). The only logical solution, really, as well as informing the user.

I think that should do it for this issue and it's the more proper way to have behaved around these transition areas, I just haven't gotten around to dealing with this more thoroughly and I still have much work ahead to truly detect gap areas instead of assuming PCE CD rules as I currently do!

I learned a while back in testing/debugging that when you do CD burst reads 2-27 (>1) sectors at a time and you hit a gap area where one sector is marked data while the next one is marked audio, that throws an error, whereas reading raw one sector at a time could avoid it. I really don't understand though why errors are caused in reading *near* the gap area as PCE CDs do follow strict size rules which are subtracted off proper. Track #3's LBA - 150 sectors - 1 is the true stop LBA for data track #2, and you should be able to read that final sector at 13279 in Road Spirit's case, but not always with certain drives/OS conditions/etc.

Anyway, hopefully it works a lot better now! :)

Have you ever used clone-cd on a pce cd? It took me several (ie >10. I went to bed leaving it running) hours to backup a few of my games :)

Eh, once or twice. Not much. That is the format David originally sent me that weird PC-FX CD given its very unusual indexing, but now I have an original to play with thanks to him.

It's really powerful and one of the few formats that can store/copy CD+Graphics CDs, Karaoke CDs, etc. given the R-W-Q subchannel (.sub) dumping file, but it's usually excessive/not needed for most gaming CDs of the retro console era.

MNKyDeth

  • Hero Member
  • *****
  • Posts: 715
Re: TurboRip v1.40: The PC Engine/TG-16 CDROM ISO/WAV/CUE Ripper [8/19/2015]!
« Reply #78 on: January 29, 2016, 06:51:06 PM »
Should I be using TurboRip 1.40 or TurboRiptest currently?

I have been backing up all my game discs to my server over the past day or two. I have been using the TurboRipTest but started wondering if it even really mattered.

Also, I have the Dracula X repro that I got from Bernie with the English translation. Does turborip leave everything intact or does it put the disc back to JP format? I would assume it just rips it as it is but I have no real idea so figured I would ask.

NightWolve

  • Hero Member
  • *****
  • Posts: 5277
Re: TurboRip v1.40: The PC Engine/TG-16 CDROM ISO/WAV/CUE Ripper [8/19/2015]!
« Reply #79 on: January 29, 2016, 06:56:07 PM »
You're fine - the latest TurboRipTest is the best. It's fully working, has all the latest improvements thanks to johnnykonami and my recent interaction with Chris Covell which restored it to full speed for older OSes going back to WinXP.

It's pretty much an RC, I'm ready to recompile with a new version, but I gotta write up stuff in the ReadMe which I haven't gotten around to, that's the hold up. I'm gonna hold off on binchunking and OGG support till later.

On Dracula X, it would rip anything in tact of course. No changes like that would ever be planned.

MNKyDeth

  • Hero Member
  • *****
  • Posts: 715
Re: TurboRip v1.40: The PC Engine/TG-16 CDROM ISO/WAV/CUE Ripper [8/19/2015]!
« Reply #80 on: January 29, 2016, 07:21:05 PM »
I actually just tried Dungeon Master: Theron's Quest and TurboRip says this cd-rom does not match any TOC in the internal videogame database.

This is the original disc, is there something I can do to help resolve this issue?

NightWolve

  • Hero Member
  • *****
  • Posts: 5277
Re: TurboRip v1.40: The PC Engine/TG-16 CDROM ISO/WAV/CUE Ripper [8/19/2015]!
« Reply #81 on: January 29, 2016, 08:29:58 PM »
Oh awesome, guess it's another pressing or something. So it's not a really good bootleg - it's a 100% original ? Yeah, if so, PM or paste the TOC file. It's printed both on screen and written to file, you can grab it from either.

The data I have for this game is as follows:

US:

Track (01)   audio   00:02:00   LBA=000000
Track (02)   data   00:45:09   LBA=003234
Track (03)   audio   01:30:05   LBA=006605
Track (04)   audio   04:20:66   LBA=019416
Track (05)   audio   05:50:74   LBA=026174
Track (06)   audio   07:04:14   LBA=031664
Track (07)   audio   07:39:64   LBA=034339
Track (08)   audio   10:42:56   LBA=048056
Track (09)   audio   13:33:70   LBA=060895
Track (10)   audio   15:06:27   LBA=067827
Track (11)   audio   17:00:74   LBA=076424
Track (12)   audio   19:30:61   LBA=087661
Track (13)   audio   22:34:54   LBA=101454
Track (14)   audio   24:17:13   LBA=109138
Track (15)   audio   24:50:39   LBA=111639
Track (16)   audio   27:56:70   LBA=125620
Track (17)   audio   30:16:40   LBA=136090
Track (18)   audio   37:30:02   LBA=168602
Track (19)   data   38:50:37   LBA=174637
Leadout: 39:31:34   LBA 177709

Japan

Track (01)   audio   00:02:00   LBA=000000
Track (02)   data   00:49:65   LBA=003590
Track (03)   audio   01:34:61   LBA=006961
Track (04)   audio   04:23:37   LBA=019612
Track (05)   audio   05:53:17   LBA=026342
Track (06)   audio   07:06:32   LBA=031832
Track (07)   audio   07:42:07   LBA=034507
Track (08)   audio   10:44:74   LBA=048224
Track (09)   audio   13:36:13   LBA=061063
Track (10)   audio   15:08:45   LBA=067995
Track (11)   audio   17:03:17   LBA=076592
Track (12)   audio   19:33:04   LBA=087829
Track (13)   audio   22:36:72   LBA=101622
Track (14)   audio   24:19:31   LBA=109306
Track (15)   audio   24:52:57   LBA=111807
Track (16)   audio   27:59:13   LBA=125788
Track (17)   audio   30:18:58   LBA=136258
Track (18)   audio   37:37:39   LBA=169164
Track (19)   data   38:57:74   LBA=175199
Leadout: 39:38:71   LBA 178271

MNKyDeth

  • Hero Member
  • *****
  • Posts: 715
Re: TurboRip v1.40: The PC Engine/TG-16 CDROM ISO/WAV/CUE Ripper [8/19/2015]!
« Reply #82 on: January 29, 2016, 08:55:08 PM »
This is a 100% original. My dad bought this game when I was a teenager. It is one of the original games I got with my TurboDuo for xmas one year. It was purchased from Electronics Boutique.

Some pics.



---------Table of Contents--------

Track 01 Audio 00:02:00 LBA=000000
Track 02 Data  00:45:09 LBA=003234
Track 03 Audio 01:30:05 LBA=006605
Track 04 Audio 04:20:66 LBA=019416
Track 05 Audio 05:50:74 LBA=026174
Track 06 Audio 07:04:14 LBA=031664
Track 07 Audio 07:39:64 LBA=034339
Track 08 Audio 10:42:56 LBA=048056
Track 09 Audio 13:33:70 LBA=060895
Track 10 Audio 15:06:27 LBA=067827
Track 11 Audio 17:00:74 LBA=076424
Track 12 Audio 19:30:61 LBA=087661
Track 13 Audio 22:34:54 LBA=101454
Track 14 Audio 24:17:13 LBA=109138
Track 15 Audio 24:50:39 LBA=111639
Track 16 Audio 27:56:70 LBA=125620
Track 17 Audio 30:16:40 LBA=136090
Track 18 Audio 37:30:01 LBA=168601
Track 19 Data  38:50:36 LBA=174636

Leadout: 39:31:33       LBA 177708

----------------------------------


I copied from the terminal, if you prefer the entire .toc file I will get that for you.
« Last Edit: January 29, 2016, 09:03:01 PM by MNKyDeth »

NightWolve

  • Hero Member
  • *****
  • Posts: 5277
Re: TurboRip v1.40: The PC Engine/TG-16 CDROM ISO/WAV/CUE Ripper [8/19/2015]!
« Reply #83 on: January 30, 2016, 02:52:01 AM »
Thanks man, and good anticipation, as I would've had to ask you for photos of the CD so I could get the catalog/reference# 'TGXCD1041' and use it for this alternate pressing's naming!

Next time you run TurboRip, your CD should be identified as:

"Dungeon Master - Theron's Quest {TGXCD1041} (U)"

http://www.ysutopia.net/software/TurboRipTest.zip

Give it a try, it's been recompiled in, should work if all went right.

MNKyDeth

  • Hero Member
  • *****
  • Posts: 715
Re: TurboRip v1.40: The PC Engine/TG-16 CDROM ISO/WAV/CUE Ripper [8/19/2015]!
« Reply #84 on: January 30, 2016, 03:19:46 AM »
I sent a PM as a reply but it all seems to work just fine now. Glad I could help.

brizio

  • Newbie
  • *
  • Posts: 38
Re: TurboRip v1.40: The PC Engine/TG-16 CDROM ISO/WAV/CUE Ripper [8/19/2015]!
« Reply #85 on: February 23, 2016, 10:45:06 PM »
Hi! I own all homebrew games released. If you are interested, I can provide you all missing TOCs in order to better protect all releases still not correclty recognized. I sent you a PM a few days ago with no answer. Let me know.

NightWolve

  • Hero Member
  • *****
  • Posts: 5277
Re: TurboRip v1.40: The PC Engine/TG-16 CDROM ISO/WAV/CUE Ripper [8/19/2015]!
« Reply #86 on: February 24, 2016, 11:19:04 AM »
Hm, I looked in my PM inbox, it doesn't exist; if you sent a PM, it wasn't to me.

I remembered Bernie gave me Mysterious Song, so I'm adding that now. Whatever the case, feel free to dump the all the homebrews you say you have, and I'll take a look if I don't have them. Duplication would just serve for verification against what I have, so no harm done.

It's about time I push the RC release to the main download link after I finish the ReadMe. Gonna work on that now since I'm free.

brizio

  • Newbie
  • *
  • Posts: 38
Re: TurboRip v1.40: The PC Engine/TG-16 CDROM ISO/WAV/CUE Ripper [8/19/2015]!
« Reply #87 on: February 26, 2016, 03:01:33 AM »
Hm, I looked in my PM inbox, it doesn't exist; if you sent a PM, it wasn't to me.

PM resent: now I can see it in my outbox.

brizio

  • Newbie
  • *
  • Posts: 38
Looks like you still have not received my personal message.

Anyway, please find below the data for the first few games, more will follow later.

Meteor Blaster DX Signature Edition

Track 01 Data  00:05:00 LBA=000225
Track 02 Audio 00:34:73 LBA=002473
Track 03 Audio 03:59:48 LBA=017823
Track 04 Audio 07:47:31 LBA=034906
Track 05 Audio 10:49:00 LBA=048525
Track 06 Audio 15:37:01 LBA=070126
Track 07 Audio 18:57:01 LBA=085126
Track 08 Audio 21:35:55 LBA=097030
Track 09 Audio 25:35:61 LBA=115036
Track 10 Audio 28:45:61 LBA=129286
Track 11 Audio 31:49:53 LBA=143078
Track 12 Audio 35:44:44 LBA=160694
Track 13 Audio 39:30:44 LBA=177644
Track 14 Audio 44:03:56 LBA=198131
Track 15 Audio 47:53:56 LBA=215381
Track 16 Audio 51:43:42 LBA=232617
Track 17 Audio 55:43:42 LBA=250617
Track 18 Audio 59:18:67 LBA=266767
Track 19 Audio 62:56:67 LBA=283117
Track 20 Audio 66:38:24 LBA=299724
Track 21 Audio 70:22:24 LBA=316524

Leadout: 72:58:27   LBA 328227

Mysterious Song - Second edition (pressed)

Track 01 Audio 00:02:00 LBA=000000
Track 02 Data  01:21:01 LBA=005926
Track 03 Audio 02:05:08 LBA=009233
Track 04 Audio 04:15:68 LBA=019043
Track 05 Audio 06:37:73 LBA=029698
Track 06 Audio 07:42:33 LBA=034533
Track 07 Audio 09:06:40 LBA=040840
Track 08 Audio 10:55:49 LBA=049024
Track 09 Audio 14:15:33 LBA=064008
Track 10 Audio 19:00:20 LBA=085370
Track 11 Audio 23:11:20 LBA=104195
Track 12 Audio 25:55:18 LBA=116493
Track 13 Audio 28:06:23 LBA=126323
Track 14 Audio 30:10:65 LBA=135665
Track 15 Audio 32:52:50 LBA=147800
Track 16 Audio 33:00:34 LBA=148384
Track 17 Audio 34:42:38 LBA=156038
Track 18 Audio 35:20:73 LBA=158923
Track 19 Audio 36:37:65 LBA=164690
Track 20 Audio 38:55:69 LBA=175044
Track 21 Audio 40:00:71 LBA=179921
Track 22 Audio 41:15:05 LBA=185480
Track 23 Audio 42:08:62 LBA=189512
Track 24 Audio 42:47:23 LBA=192398
Track 25 Audio 43:43:72 LBA=196647
Track 26 Audio 45:54:42 LBA=206442
Track 27 Audio 49:06:15 LBA=220815
Track 28 Audio 49:37:28 LBA=223153
Track 29 Audio 50:50:31 LBA=228631

Leadout: 54:44:30   LBA 246180

Revival Chase (please note needs to be confirmed as the copy I checked had read errors on the disc)

Track 01 Data  00:02:00 LBA=000000
Track 02 Audio 00:34:16 LBA=002416
Track 03 Audio 02:53:16 LBA=012841
Track 04 Audio 04:03:16 LBA=018091
Track 05 Audio 04:25:16 LBA=019741
Track 06 Audio 05:31:16 LBA=024691
Track 07 Audio 06:55:16 LBA=030991
Track 08 Audio 09:22:16 LBA=042016
Track 09 Audio 11:34:16 LBA=051916
Track 10 Audio 11:42:16 LBA=052516
Track 11 Audio 14:52:16 LBA=066766
Track 12 Audio 17:28:16 LBA=078466

Leadout: 20:04:05   LBA 090155

Ys 1&2 Special edition (Dark City Production, 2001)

Track 01 Audio 00:02:00 LBA=000000
Track 02 Data  00:09:00 LBA=000525
Track 03 Audio 02:04:06 LBA=009156
Track 04 Audio 05:12:66 LBA=023316
Track 05 Audio 07:52:04 LBA=035254
Track 06 Audio 09:58:26 LBA=044726
Track 07 Audio 13:45:51 LBA=061776
Track 08 Audio 18:26:50 LBA=082850
Track 09 Audio 20:11:09 LBA=090684
Track 10 Audio 21:50:09 LBA=098109
Track 11 Audio 24:47:42 LBA=111417
Track 12 Audio 27:25:22 LBA=123247
Track 13 Audio 29:24:05 LBA=132155
Track 14 Audio 31:24:32 LBA=141182
Track 15 Audio 34:25:06 LBA=154731
Track 16 Audio 37:22:56 LBA=168056
Track 17 Audio 39:33:51 LBA=177876
Track 18 Audio 41:23:40 LBA=186115
Track 19 Audio 42:17:19 LBA=190144
Track 20 Audio 43:56:07 LBA=197557
Track 21 Audio 47:50:15 LBA=215115
Track 22 Audio 50:35:13 LBA=227488
Track 23 Audio 52:29:46 LBA=236071
Track 24 Audio 54:26:62 LBA=244862
Track 25 Audio 55:29:72 LBA=249597
Track 26 Audio 58:02:10 LBA=261010
Track 27 Audio 60:47:67 LBA=273442
Track 28 Audio 64:00:56 LBA=287906
Track 29 Audio 64:59:37 LBA=292312
Track 30 Audio 65:18:13 LBA=293713
Track 31 Audio 66:18:16 LBA=298216
Track 32 Audio 66:58:25 LBA=301225
Track 33 Audio 67:20:48 LBA=302898
Track 34 Audio 67:39:65 LBA=304340
Track 35 Audio 68:13:27 LBA=306852
Track 36 Audio 68:24:18 LBA=307668
Track 37 Audio 69:29:47 LBA=312572
Track 38 Audio 70:40:65 LBA=317915
Track 39 Audio 71:46:44 LBA=322844
Track 40 Audio 72:01:58 LBA=323983
Track 41 Audio 72:49:31 LBA=327556
Track 42 Audio 74:04:69 LBA=333219
Track 43 Audio 74:44:18 LBA=336168

Leadout: 75:48:37   LBA 340987

I'll post here other TOCs as soon as possible.

NightWolve

  • Hero Member
  • *****
  • Posts: 5277
Thanks brizio, will do.

Quick Turbo update. Per an idea I got from SamIAm's Amp thread and my experiences with discovering/understanding the really low preamp level practice of the industry when it came to redbook audio tracks in CDs in the 80's when I was adding an Ys MP3 player to my website, I added a basic auto-normalizing/max-amplifying feature to TurboRip which is now fully tested and working! Works very fast too, helps to use the OS's memory map features over traditional ReadFile/WriteFile APIs! Most especially compared to when the code was written in Visual Basic 6 and I had to wait 3 minutes per wave file for completion, heh.

Shared some of "C" source code below for the curious after converting the algorithm from VB6. Man, it was VERY hard to find useful code for this, I looked at Audacity's source and it exemplifies what I hate about C++, everything had been 'classed' up, dependencies all over the friggin' place, would be extremely hard to extract just the algorithm out of the damn thing for easy drop'n'use for your own project... :/ Granted, their algorithm is more complex than the basic one I found and used here, but I honestly just hate excessive use of C++... Added complexity AND plus doggedly much slower execution of code too... When it comes to that, you just want their compiled DLL and a competent API/interface to make use of the functionality, that is, if you're willing to bloat your software just for one little feature...

Code: [Select]
#include <global.h>
#include <NumbersASM.h>
#include "WAVE.h"

BOOLEAN WAVE_Normalize(LPSTR lpFileName) {
// VB6 norm/amplify generic algorithm by piuskerala
short LowestDataValue, HighestDataValue, *lp16BitSample, SampleValue;
WAVE_FILE_HEADER *WaveHeader;
MappedFile mFile;
long NewSampleValue;
float VolumeLevel;
DWORD Count;
// 1) Open wave file memory mapping style
if ( !MapFile(lpFileName, &mFile, FALSE, FALSE) )
return FALSE;
WaveHeader = (WAVE_FILE_HEADER*)mFile.lpMapAddress;
if ( WaveHeader->riffFORMAT != 'EVAW' ) // Verify it's a wave file
return FALSE;
// 2) Find highest and lowest value in wave data
LowestDataValue = HighestDataValue = 0;
lp16BitSample = MakePtr(short*, mFile.lpMapAddress, 44);
for ( Count = WaveHeader->dataSIZE / 2; Count; Count-- ) {
SampleValue = *lp16BitSample;
if ( SampleValue > HighestDataValue )
HighestDataValue = SampleValue;
if ( SampleValue < LowestDataValue )
LowestDataValue = SampleValue;
lp16BitSample++;
}
// 3) Normalize wave a sample at a time
VolumeLevel = ((HighestDataValue + -LowestDataValue) / 2) / (float)32767;
VolumeLevel = 1 / VolumeLevel; // For maximum amplitude/normalizing
lp16BitSample = MakePtr(short*, mFile.lpMapAddress, 44);
// 32767 is the highest integer(signed) value
for ( Count = WaveHeader->dataSIZE / 2; Count; Count-- ) {
NewSampleValue = RoundValue(*lp16BitSample * VolumeLevel);
if ( NewSampleValue > 32767 ) NewSampleValue = 32767;
if ( NewSampleValue < -32768 ) NewSampleValue = -32768;
*lp16BitSample = (short)NewSampleValue;
lp16BitSample++;
}
 // 4) Close wave file, we're done!
CloseMap(mFile);
return TRUE;
}

// Library stuff/functions copied/pasted for reference

#define CloseMap(hMap) {UnmapViewOfFile((hMap).lpMapAddress); CloseHandle((hMap).hFileMapping); CloseHandle((hMap).hFile);}


// Quickly takes a float value and returns it as a rounded 32-bit integer
// Use Agner Fog's quicker way with 2 FPU instructions

DWORD __fastcall RoundValue(float ftNumber) {
DWORD dwIntValue;
__asm {
LEA  EBX, dwIntValue      ;// EBX gets the address of our local variable
FLD  DWORD PTR [ftNumber] ;// Load floating point input on FPU stack
FISTP DWORD PTR [EBX]     ;// Store INT result at dwIntValue's address
XOR  EAX, EAX             ;// Intentional delay between FPU write and read
NOP
NOP
MOV  EAX, [EBX]  ;// Read rounded integer from @dwIntValue, return in EAX
}
}

BOOLEAN MapFile(LPSTR lpFileName, MappedFile *mFile, BOOLEAN ReadOnly, BOOLEAN SequentialScanOnRead) {
DWORD dwFlagsAndAttributes, CreateFileAccess, CreateFileMappingAccess, MapViewOfFileAccess;

dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL;
if ( ReadOnly ) {
CreateFileAccess = GENERIC_READ;
CreateFileMappingAccess = PAGE_READONLY;
MapViewOfFileAccess = FILE_MAP_READ;
if ( SequentialScanOnRead )
dwFlagsAndAttributes |= FILE_FLAG_SEQUENTIAL_SCAN;
} else {
CreateFileAccess = GENERIC_READ | GENERIC_WRITE;
CreateFileMappingAccess = PAGE_READWRITE;
MapViewOfFileAccess = FILE_MAP_ALL_ACCESS;
}
mFile->hFile = CreateFileA(lpFileName, CreateFileAccess, 0, NULL,
OPEN_EXISTING, dwFlagsAndAttributes, NULL);
if ( mFile->hFile == INVALID_HANDLE_VALUE ) {
PrintLastError("Error: Cannot open '%s'", lpFileName);
return FALSE;
}
//mFile->qwFileSize.LowPart = GetFileSize(mFile->hFile, (LPDWORD)&mFile->qwFileSize.HighPart);
mFile->dwFileSize = GetFileSize(mFile->hFile, NULL);
// Create a file-mapping object for the file.
mFile->hFileMapping = CreateFileMappingA(mFile->hFile, // current file handle
                                NULL, // default security
                                CreateFileMappingAccess, // read/write permission
                                0,  // size of mapping object, high
                                0, // size of mapping object, low
                                NULL); // name of mapping object
if ( mFile->hFileMapping == NULL ) {
PrintLastError("Error: File mapping object creation failed");
return FALSE;
}
// Map the view and test the results.
mFile->lpMapAddress = (LPSTR)MapViewOfFile(mFile->hFileMapping, // handle to mapping object
                               MapViewOfFileAccess, // read/write permission
                               0, // high-order 32 bits of file offset
                               0, // low-order 32 bits of file offset
                               0); // number of bytes to map
if ( mFile->lpMapAddress == NULL ) {
PrintLastError("Error: File mapping view failed");
return FALSE;
}
return TRUE;
}


So, simply adding /normalize to your TurboRip extraction command now does the trick:





And now here is a sample result of auto-normalization/amplify, which is basically an automatic amplifying of the wave file based on picking the largest and smallest values and computing an amplification factor to minimize clipping.



The above is track 3 of "Ys IV: Dawn of Ys," the composition known as "Field." Ys IV is a prime example of the REALLY low preamp volume level found on CDs of that era which makes it REALLY hard to amplify it on your CD sound system without normalization processing. Those 2 red lines show abruptness or technical clipping, and with only 2 cases it's really minimal so you'll never notice or should care. Technical clipping will vary with every track, but it should be negligible to the human ear.

Now, it might be worth allowing your own amplification factor so that all tracks of a CD get amplified the same exact rate and show consistency in volume level though instead of only an automatic determination per track per the norm. I could adjust the parameter by allowing an equal sign and a value, so "/normalize=2" would simply double the volume level of all tracks without regard to clipping if you wanna be aggressive like SamIAm suggests in his thread and go heavy-metal loud preamp levels... But anyway, auto-normalization/amplify gets the ball rolling for something that should be pretty useful for now.

As I'm still behind on updates to the ReadMe, I'm still not doing a formal version update release, but in case anything happens between then and now, here is the best version of TurboRip so far with this new feature along with all the bug fixes/enhancements thanks to johnnykonami/Sam, and Chris Covell:

http://www.ysutopia.net/software/TurboRipTest.zip

:D
« Last Edit: May 06, 2018, 01:40:10 PM by NightWolve »