Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Detecting whether a 24-bit file has been upconverted from 16-bit? (Read 34263 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: Detecting whether a 24-bit file has been upconverted from 16-bit?

Reply #50
Decoding Yamaha's S-YXG50 revealed that the ROM is entirely 8 bit samples.

Re: Detecting whether a 24-bit file has been upconverted from 16-bit?

Reply #51
Decoding Yamaha's S-YXG50 revealed that the ROM is entirely 8 bit samples.

Neat and very cool at the same time.

Re: Detecting whether a 24-bit file has been upconverted from 16-bit?

Reply #52
But how about S-YXG50 vs MU50 vs DB50XG?



My first Win32 end-user program.  The .gif has a timestamp of

28144 Jun  8  2000 xgdsp202.gif

so 21+ years.  Before this I spent my time with another operating system.  I can't find any pictures at 40th.com from before this.  I had many similar, but more elaborate, programs like this (simple) XG DSP thing.  I remember the GUS and its DB.  I remember a nice sound card from a company in Montreal that also had a nice XG DB (can't recall the company name -- maybe it was the one with the "db60xg" seen in the gif).  There are more.  I can't remember them (the '90s, after all).
BANNED

Re: Detecting whether a 24-bit file has been upconverted from 16-bit?

Reply #53
Decoding Yamaha's S-YXG50 revealed that the ROM is entirely 8 bit samples.
My first Win32 end-user program.  The .gif has a timestamp of
28144 Jun  8  2000 xgdsp202.gif

so 21+ years.  Before this I spent my time with another operating system.  I can't find any pictures at 40th.com from before this.  I had many similar, but more elaborate, programs like this (simple) XG DSP thing.  I remember the GUS and its DB.  I remember a nice sound card from a company in Montreal that also had a nice XG DB (can't recall the company name -- maybe it was the one with the "db60xg" seen in the gif).  There are more.  I can't remember them (the '90s, after all).
Thanks. I only tried SW1000XG in a music shop, and never owned any real XG hardware, not even a YMF724 soundcard.

Re: Detecting whether a 24-bit file has been upconverted from 16-bit?

Reply #54
Thanks. I only tried SW1000XG in a music shop, and never owned any real XG hardware, not even a YMF724 soundcard.

I own a Yamaha PSR-295 Keyboard!  It's XG-Lite.  Otherwise all I encountered with XG has been Windows 98 Second Edition software synthesizers of theirs as well as 2 VSTIs.

Re: Detecting whether a 24-bit file has been upconverted from 16-bit?

Reply #55
Another thing is that a single "note" is not a practical representation of the bit-depth of a sample. It is just a preset. A preset can be a combination of more than one sample playing at the same time and each of them can have different envelopes, gain, root key/tuning/pitch shifting and other things, even with all effects like reverb and chorus turned off. With pitch shifting the aliasing also affects effective bit-depth so you even have different effective bit-depth when playing different keys, some patches may include LFO which constantly change the pitch and amplitude of a short period of samples as well.

While I don't disagree the approach of using relative noise floor to approximate effective bit-depth, the same approach can also be used in analog recording like tape and vinyl, regardless of the preceding steps involved digital processing or not (e.g. digital delay lines)

Re: Detecting whether a 24-bit file has been upconverted from 16-bit?

Reply #56
Some examples attached, and a GM file as specified by the author, so should be no compatibility issues.
http://www.vgmusic.com/music/console/nintendo/snes/DKCMine-GM.mid

https://www.un4seen.com/forum/?topic=13919.msg96992#msg96992
"bassmidi 8pt" is the improved version after Ian applied the fix about what I complained. I don't have the old 8pt executable to generate the old version anymore. I also attached another file with linear interpolation. Currently, BASSMIDI is able to perform 16pt interpolation.

Another set is SC-VA vs SC-D70. For those who wonder why there is a low pass in the SC-D70 version, the hardware synth engine operates at 32kHz, and the unit itself supports digital loopback recording, but only at 44.1k and 48k. The unit has a CS8420 SRC chip to do the resampling. "sc-va 48" is directly rendered by setting the VSTi's sample rate to 48k, "sc-va sox" is rendered at 32k and resampled by SoX to 48k with default settings.

In the SC-D70 recording, the rather high noise floor beyond the filter cutoff region is originated from the digital hardware itself, and it will fade to zero when the music ended, and therefore not analog noise. Also, the noise is not related to how many voices are being played simultaneously, or how loud the individual notes are. Even when there is only one note playing, it still has this amount of noise. It does support 24-bit loopback recording, but there is no improvement to the noise, and the attached file is indeed recorded at  24-bit, normalized, and converted to 16-bit flac.

And yes, I also have S-YXG50 VSTi installed so I know how this file sounds like, but I don't know if Yamaha's (AWM2?) synthesis is completely sample-based or not by merely Googling.

Re: Detecting whether a 24-bit file has been upconverted from 16-bit?

Reply #57
I've played-around with some of these tools in the past and they were easy to fool and I recently downloaded Bitter (which I tried in Audacity).     MP3s from ripped CDs show about 30-bits (which is true depending on the MP3 decoder).
bitter can't even survive simple dithering, let alone mp3.
https://hydrogenaud.io/index.php?topic=114816.msg992983#msg992983
My software cannot survive lossy compression either, but for basic operations like volume adjustment and dithering, it works.

I used your BitSort on some files I suspect were upconverted and got this

00:03:24.2266666 = 18012792 samples / 2-ch @ 44100Hz
24-bit fixed point
Bit   Count         Percent
0   216       0,001199148
1   345       0,001915306
2   580       0,003219934
3   1182      0,006562003
4   2342       0,01300187
5   4654       0,02583719
6   8755       0,04860435
7   15113      0,08390149
8   25147       0,1396063
9   40673       0,2258006
10   62006       0,3442332
11   93798         0,52073
12   139010      0,7717294
13   203963       1,132323
14   327332        1,81722
15   553051       3,070323
16   936168        5,19724
17   1547302      8,590018
18   2421430      13,44284
19   3632266      20,16492
20   4271726      23,71496
21   2934699       16,2923
22   752942        4,18004
23   38092       0,2114719
BitSort end

It's not showing any empty bits but what does it mean when there are bits that have more than 1% of total samples?

Re: Detecting whether a 24-bit file has been upconverted from 16-bit?

Reply #58
The distribution of samples are fine, no "hint" of simple upconversion within what the software is able to detect.

The index of bits is an abstraction of audio level, the top (0) denotes silence, the bottom (23) denotes samples located at the highest 6.0206dB, and every lower index denotes the subsequent 6.0206dB.

If you look at the examples I included in the readme file, you can see that in the electronic music album, there are more samples located at the higher bits and they are packed more tightly within a fewer number of bits. On the other hands, the classical album has fewer samples located at the highest bits, and the values spanned more sparsely among more bits. Which means the classical album has a higher requirement of bit-depth than the electronic album.

Your file is somewhere between my two examples, which means the bit-depth requirement is not particularly high.

 
SimplePortal 1.0.0 RC1 © 2008-2021