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: HDCD files Auto-tagging (Read 3940 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

HDCD files Auto-tagging

Hi,
is there any way to automatically tag HDCD files (already ripped to 16bit, containing HDCD info).
I have lots of those files already ripped. The HDCD plugin decodes them and I am able to display HDCD info on bottom status bar. I would also like to be able to display HDCD info in Columns. If I understand correctly, the only way to do this is to tag files with HDCD. I know we can do it while ripping CDs with dbPoweramp but my discs are already ripped and I do not want to do it again. Any auto way to write HDCD info to tags to those files?

Re: HDCD files Auto-tagging

Reply #1
I don't know a way of doing it automatically, but if you performed a batch verify pass with CUETools that will help identify them, although you'll still need to use foobar to determine whether they need converting (if they use peak extend or low level extension).

I'm pretty sure all Audio Fidelity discs only used the transient filter feature if that helps to reduce the workload.


Re: HDCD files Auto-tagging

Reply #2
Decoding the few HDCD discs I have has been on my list for a while, so triggered by your post I converted them today.

CUETools just reports that it's a HDCD disc (at least that's what it outputs in the log), and it's a pain to have to open those discs in foobar to see what HDCD attributes they have, but ffmpeg has it covered. There's a script here that will scan your files and output the HDCD attributes (much like foobar does), and from this I was able to narrow it down to just 7 discs. I just scanned the first track of every album, but I believe there have been a few discs where not all the tracks were HDCD, so YMMV.

If you have any bash skills you could add a metaflac call that adds a new HDCD tag to each of the files that were identified (with peak extend).



Re: HDCD files Auto-tagging

Reply #3
My CUETools does report the features enabled like this:

HDCD: peak extend: yes, transient filter: none, gain: none

Re: HDCD files Auto-tagging

Reply #4
My CUETools does report the features enabled like this:

HDCD: peak extend: yes, transient filter: none, gain: none

I never used cuetools so I downoaded it, droped 44,1/16 hdcd wav and it said that it is not red book pcm!
What should I do?


Re: HDCD files Auto-tagging

Reply #6
Just to add - when you open an HDCD track in foobar, it will still say 16-bit until you start playback, at which point it will say 24-bit if it is detected and decoded as HDCD.
Think millionaire, but with cannons.

Re: HDCD files Auto-tagging

Reply #7
Is it 16 bits? Or have you let dBpoweramp decode it?

Open in fb2k - see if it says 16 bits or 24 bits.


It is 16bit file with hdcd info (and in foobar it shows 16bits in columns and 24bits in status bar (with hdcd plugin))

Re: HDCD files Auto-tagging

Reply #8
My CUETools does report the features enabled like this:

HDCD: peak extend: yes, transient filter: none, gain: none
I was thinking about when you're running it across a collection to identify the discs that possibly have HDCD, all you get then is:
Code: [Select]
.\Green Day\1997 - nimrod․\CD01\01.01.flac: HDCD detected, AR: rip accurate (61/107), CTDB: verified OK, confidence 190.

I hadn't actually tried it with the purpose of identifying the HDCD properties. The ffmpeg script was to remove the need to do a second pass to identify the elements (whether it be with CUETools or foobar), and if it can accurately be run against just the first track of each cd (which it did in my small sample) it should be quite a lot quicker too.

Re: HDCD files Auto-tagging

Reply #9
Mostly-related to this topic, is there a standard tag people use to identify a file as HDCD after scanning for them? Right now I'm using a custom one I made to show up in columns, but I'd rather use a standard, widely-used one if there is one.
Think millionaire, but with cannons.

Re: HDCD files Auto-tagging

Reply #10
^ I just use MEDIA which I decided from Tag Mapping. (Writing to FLAC / vorbis comment)

I'm not sure on the official use or "standard". I leave the tag empty to identify CD (about 90% of my library) and tag it for other media, like HDCD, SACD, SHM-CD, or HD / DSD files, etc, with column pattern like this -

$if2(%media%,CD)

Re: HDCD files Auto-tagging

Reply #11
MusicBrainz classifies this information as Release/Format but maps it to the MEDIA tag.

Clicking on 'Media' in the link above takes you through to the definitions it uses.

Re: HDCD files Auto-tagging

Reply #12
Mostly-related to this topic, is there a standard tag people use to identify a file as HDCD after scanning for them? Right now I'm using a custom one I made to show up in columns, but I'd rather use a standard, widely-used one if there is one.
IIRC, foo_hdcd will honor a <HDCD> tag set to "no". That is, ignore it. Can be used for HDCDs that utilize no HDCD features.

Problem about foo_hdcd is that it isn't reliable, and trying to test it and upload problem samples, wasn't exactly welcome.

Re: HDCD files Auto-tagging

Reply #13
HDCD isn't exactly a different medium format, especially if none of the features are enabled or only the range extension is enabled but the level never approaches quiet. I disagree with the categorization on MusicBrainz and RYM. Tags have no standards. I use ReleaseFlags = "HDCD" or "HDCD NC" (no companding) when the features are not active, to avoid introducing a new field which will almost never be populated.

Re: HDCD files Auto-tagging

Reply #14
Problem about foo_hdcd is that it isn't reliable, and trying to test it and upload problem samples, wasn't exactly welcome.

That's another reason for just batch converting them using DBPowerAmp/CUETools e.t.c.
I keep the originals obviously, but rename them to a .hdcd.flac extension so I can have foobar/MinimServer exclude them from their libraries.

 

Re: HDCD files Auto-tagging

Reply #15
One reason for, admittedly - but ... I'd even say "don't do it in batch", but "keep the originals" is a big must. In particular, keep HDCD decoding switched off upon ripping with dBpoweramp, because if you apply it then, decoded files is all you will get. One mistake of mine back then. I re-ripped fifty-something CDs when I discovered that HDCD can be decoded later.

Decoding is irreversible.
And sooner or later, one will encounter cases where decoding was better left undone. For example, when a CD has some but not all tracks with HDCD packets. Also, because track boundaries is a fishy matter (... read offsets, write offsets ...), it could happen that HDCD packets spill over to the next file.

Quote
but rename them to a .hdcd.flac extension

A different file extension means you can single them out to be decoded with ffmpeg -af hdcd.
Double extensions are dangerous if you play with renaming schemes ... I'd suggest a different codec for oddities (and anyone who downloads DSD or float just for fun, needs WavPack ...). Not so crucial for HDCD though, it can be detected in-signal.


Options:
* Double extension yes - and/or ".fla" rather than ".flac"
* FLAC in different container re-encapsulate it in Matroska - or .oga (Matroska can be used for other things, but when did you last see an OGG in .oga extension?)
* Different codec. Since I use FLAC by default, but WavPack for certain files that shall be indexed and played (float, but ... I originally started using WavPack for pre-emphasis CDs, de-emph component triggered by tags, so, WavPack -h makes sure that even if I happen to wipe tags by mistake, they are distinguished from the .flac files). TAK next?
* For the courageous: HDCD-decoded and undecoded as two streams in the same Matroska (or ogg?) container :-)


Re: HDCD files Auto-tagging

Reply #16
A different file extension means you can single them out to be decoded with ffmpeg -af hdcd.
Double extensions are dangerous if you play with renaming schemes ... I'd suggest a different codec for oddities (and anyone who downloads DSD or float just for fun, needs WavPack ...). Not so crucial for HDCD though, it can be detected in-signal.
Like I said, I'm not renaming them for decoding, more so I can have them ignored by foobar (which can only exclude based on extension and MinimServer), otherwise I'd have both listed.

Not sure why you'd think "double extensions" are dangerous; surely they're just like having a full stop in track titles, or do you make sure they're all removed too? I actually name my tracks [discnumber].[tracknumber].flac so I have double extensions on all my tracks :-)

I guess you need have a modicum of common sense if you're scripting something yourself.

Re: HDCD files Auto-tagging

Reply #17
Not sure why you'd think "double extensions" are dangerous; surely they're just like having a full stop in an album name, or do you make sure they're all removed too? I actually name my tracks [discnumber].[tracknumber].flac so I have double extensions on all my tracks :-)

As long as you are sure that you have successfully kept them out of sight of anything that will rename according to a scheme ...
Let's say I drag and drop files into foobar2000 and rename. I will get newnameaccordingtopattern.flac, and unless that pattern preserves "hdcd" at the end before suffix ...

Sure I take precautions for my pre-emphasis discs - they also are tagged with ===pre-emph=== where other albums would have 2014 remaster bonus and I have album version in folder name - but using WavPack is one more free step towards the ever-futile goal of idiot-proofing. (Well truth is I like WavPack, so whether that was a "good reason" or a "good excuse" ... WavPack is used for everything FLAC cannot handle, plus pre-emphasis, plus those very few times I want to preserve a full .wav file and not only the audio.)

Re: HDCD files Auto-tagging

Reply #18
As long as you are sure that you have successfully kept them out of sight of anything that will rename according to a scheme ...
Let's say I drag and drop files into foobar2000 and rename. I will get newnameaccordingtopattern.flac, and unless that pattern preserves "hdcd" at the end before suffix ...
Sorry I thought you meant some applications would natively struggle with double extensions (or another dot in the filename).

All my folder and file names are already derived from values in the tags themselves, so yes, I had to add another for this purpose (MEDIA) and have it used in the appropriate places, which thanks to foobar isn't all that difficult!

Re: HDCD files Auto-tagging

Reply #19
Problem about foo_hdcd is that it isn't reliable, and trying to test it and upload problem samples, wasn't exactly welcome.

That's another reason for just batch converting them using DBPowerAmp/CUETools e.t.c.
I keep the originals obviously, but rename them to a .hdcd.flac extension so I can have foobar/MinimServer exclude them from their libraries.

This album is a special case. Clearly automatic feature detection is useless. I will just do from now on what Cog does. It simply applies the filter as-is to all HDCDs. None of this detecting features nonsense, if there's HDCD packets, it reduces volume by 50%.

Re: HDCD files Auto-tagging

Reply #20
My bad, it does have lots of packets, and signals regularly. The issue is that the ramping code must not be working the way you expect.