Detecting whether a 24-bit file has been upconverted from 16-bit? |
Detecting whether a 24-bit file has been upconverted from 16-bit? |
Nov 6 2012, 05:50
Post
#1
|
|
|
Group: Members Posts: 37 Joined: 23-August 09 Member No.: 72571 |
I downloaded a FLAC album from online web store and it appears that the files I've downloaded are 24-bit. it's not a hd web store like hdtracks, it's generally a CD 16-bit 44.1kHz store with either FLAC or MP3 to choose from in its offerings.
I'm wondering whether the 24-bit files are real and were supplied as 24-bit from the label and they just didn't label it correctly on the download page, or whether there was an encoding error or just somehow it made its way from 16-bit files to 24-bit FLACs. Is there a way I can definitively tell or analyze it (looking at spectral maybe) to see if it's been upconverted? Are there certain algorithms and 'good jobs' that can be done to make its 16->24 upconversion undetectable? happy to upload a sample if it helps. thanks vince |
|
|
|
![]() |
Nov 8 2012, 17:16
Post
#2
|
|
![]() ReplayGain developer Group: Developer Posts: 4586 Joined: 5-November 01 From: Yorkshire, UK Member No.: 409 |
An even smarter analysis can figure out which 24-bit (or even 16-bit) values are used, and how often. If there are some values which are unused (e.g. 0 is, 1,2,3,4,5,6 aren't, 7 is, 8,9,10,11,12,13 aren't, etc etc), you have a clear case of undithered conversion and scaling. If values (other than zero) are used disproportionately to those around them, you probably have some strange distortion or scaling. If values at or near full scale are over-used compared with those around them, you probably have clipping.
This technique still won't catch 16>24-bit conversions which added noise in the 8 LSBs, and will often miss problems if the occur before a final stage of (especially noise-shaped) dither. But it's surprising what it does catch. It's hard to automate the detection of something wrong via this analysis - you mostly just have to eyeball the distribution. For 24-bit audio, it's only meaningful for long pieces of music, given the 16M different possible sample values. With 16-bit audio, you can get meaningful results with more than a minute or so of music. Cheers, David. |
|
|
|
vincefalks Detecting whether a 24-bit file has been upconverted from 16-bit? Nov 6 2012, 05:50
nu774 Try something like the following to see if wasted ... Nov 6 2012, 06:31
skamp QUOTE (nu774 @ Nov 6 2012, 06:31) Try som... Nov 6 2012, 12:06
julf QUOTE (skamp @ Nov 6 2012, 12:06) I used ... Nov 8 2012, 16:33
Sparktank QUOTE (nu774 @ Nov 6 2012, 06:31) CODEfla... Apr 13 2013, 01:47
bandpass QUOTE (vincefalks @ Nov 6 2012, 04:50) Ar... Nov 6 2012, 09:11
spoon >Are there certain algorithms and 'good job... Nov 6 2012, 11:47
nu774 BTW, I think just a slight gain scaling from the o... Nov 6 2012, 12:31
greynol You can add noise or simply use Audacity which can... Nov 6 2012, 12:42
2Bdecided There's no way of knowing for sure. Unlike low... Nov 6 2012, 12:45
vincefalks Thanks guys (and yeah thanks greynol for pointing ... Nov 6 2012, 16:29
skamp QUOTE (vincefalks @ Nov 6 2012, 16:29) Th... Nov 6 2012, 17:40
vincefalks QUOTE (skamp @ Nov 6 2012, 17:40) QUOTE (... Nov 6 2012, 18:44

skamp QUOTE (vincefalks @ Nov 6 2012, 18:44) it... Nov 6 2012, 18:58

Porcus QUOTE (vincefalks @ Nov 6 2012, 19:44) it... Nov 8 2012, 17:33
Destroid Interesting discussion. I hope the market does not... Nov 6 2012, 23:21
Porcus QUOTE (Destroid @ Nov 7 2012, 00:21) I ho... Nov 8 2012, 17:38
greynol Don't blame flac.exe. It will not take 16-bit... Nov 6 2012, 17:23
vincefalks QUOTE (greynol @ Nov 6 2012, 17:23) Don... Nov 6 2012, 17:47
greynol 6dB of gain was applied to the master with no furt... Nov 6 2012, 17:42
greynol You would really have to go out of your way to do ... Nov 6 2012, 17:59
pdq Let's not forget that a file that was up-conve... Nov 8 2012, 18:27
2Bdecided QUOTE (pdq @ Nov 8 2012, 18:27) Let's... Nov 9 2012, 10:33
julf QUOTE (pdq @ Nov 8 2012, 18:27) Let's... Nov 9 2012, 13:39
pdq ...and it makes sense that if the tracks had been ... Nov 9 2012, 15:11
Arnold B. Krueger QUOTE (vincefalks @ Nov 5 2012, 23:50) I ... Nov 9 2012, 16:01
skamp Maybe Greynol can help? Apr 13 2013, 07:41
Case Here's a quick Windows .cmd script trying to d... Apr 13 2013, 09:39
Sparktank QUOTE (Case @ Apr 13 2013, 01:39) Here... Apr 13 2013, 09:59
Case It's meant to be used from command prompt when... Apr 13 2013, 10:11
mjb2006 Thanks for the .cmd version.
I suggest modifying ... Apr 13 2013, 10:40
Arnold B. Krueger QUOTE (vincefalks @ Nov 6 2012, 00:50) I ... Apr 13 2013, 16:12
skamp QUOTE (Arnold B. Krueger @ Apr 13 2013, 17... Apr 13 2013, 17:28
greynol I don't see the point in adding dither when in... Apr 13 2013, 16:18
Arnold B. Krueger QUOTE (greynol @ Apr 13 2013, 11:18) I do... Apr 13 2013, 22:22
Kees de Visser QUOTE (Arnold B. Krueger @ Apr 13 2013, 22... Apr 14 2013, 15:23
BearcatSandor Anyone know how to adjust Skamp's script to wo... Apr 14 2013, 01:00
MikeFord How would this technique rate a file consisting of... Apr 16 2013, 21:11![]() ![]() |
|
Lo-Fi Version | Time is now: 21st May 2013 - 15:44 |