Welcome Guest

Pages: 1 2 3
Multi value fields and separator question
PowderPostOctober 29, 2016, 08:29
Pro
Posts: 116
Registered:
March 4, 2013, 18:53
Very Hot topicMulti value fields and separator question

Hi,

I am thinking about retagging all my releases to use multi-value-fields (e.g. for artists and genres).
As far as I understood ID3 2.4 as well as FLAC support this.
I just saw the «Multi Value Delimiter» setting in Yate (under «Settings» —> «Audio)» which is set to «;;;». Now my question is: what does this mean, is Yate not using the multi value fields and just inserting «;;;» between fields, e.g. `Artist1;;;Artist2` – so basically faking multi value fields? This way it would not be editable in other software which supports multi-value fields.

Also is there a complete ID3 and Vorbis tag mapping you could share?

Seems like ID3 2.4 supports multiple fields in every text field – «Frames document, Section 4.2 states that 'All text information frames support multiple strings, stored as a null separated list where null is represented y the termination code for the character encoding'.».

«[as in ID3 2.3] the required separator is "/", creating the "AC/DC" problem. I think that is fixed in 2.4, which I think allows all text frames to be multi-valued, using a "null" character as separator»

It is also unclear to me how I would set multi-value fields in Yate. There is «Choose Value» when right clicking on a colored circle next to a field, but not sure if that’s the right one…

So yeah, I’m thinking about going all multi-value, but only if Yate supports the standard.

2MR2PostOctober 29, 2016, 09:02
Avatar photo
Administrator
Posts: 2079
Registered:
August 23, 2012, 19:27
Very Hot topicRe: Multi value fields and separator question

Yate fully supports multi-value fields as according to the ID3 2.4 specification. It is supported in all audio formats and ID3 versions......wherever possible by an existing specification or convention. This support was in Yate's first release.

In ID3 2.4 multiple value are separated by a single binary 0. This cannot be represented in a UI as:

Eric Clapton\0J.J. Cale

would appear as:

Eric ClaptonJ.J Cale

Yate uses the Multi Value Delimiter to visually represent the breaks. Originally ;;; was chosen as it was used in the past by a variety of other applications. While this is configurable, it is not a good idea to change the value as certain "multi-value deficient" audio formats actually have the delimiter written out. The delimiter can easily be accessed in an action by \m (backslash-m).

When Yate reads a file, the binary separators are replaced with the Multi Value Delimiter so that you can see things in the UI. This also makes it possible to manipulate the multiple values in actions. When the files get written, the Multi Value Delimiter sequence is replaced by whatever is appropriate for the audio format. So, any application properly supporting the standard will see the correct values.

You can manually separate artists, etc. by inserting the delimiters yourself. The "Choose Value" functionality allows you to enter values, one per line, and inserts the delimiters when exiting the dialog. Lots of functionality in Yate is "Multi Value Delimiter" aware.

ID3 2.3 never had a "defined" method of handling multiple values and as such some applications used "/", some used ";;;" and general chaos ensued. If you choose to write ID3 2.3 files, Yate will write use the Multi Value Delimiter in text form.

There is a complete listing of all tag mappings used by Yate. The table can be viewed on the main help page under Reference/Frame Mapping Table. The FLAC (Vorbis) comment column displays the out-of-the-box values. The FLAC mappings are 100% configurable.

You can see the raw data being written by enabling the Preferences-Audio-Verbose log raw data setting and doing a File>Log>Raw Data on a track with multiple values.

The only thing to be aware of when going "multiple value" is that most players do not handle it correctly (iTunes!). They typically either truncate or concatenate the names. The next release of Audirvana is supposed to have full multi-value support.

PowderPostOctober 29, 2016, 10:10
Pro
Posts: 116
Registered:
March 4, 2013, 18:53
Very Hot topicRe: Multi value fields and separator question

I should have read this discussion before asking: https://2manyrobots.com/forum/?mingleforumaction=viewtopic&t=173… :/

Okay, so writing

;;;

creates a mult-value field. Nice!
The «Choose Value» field is a bit unintuitive, tho. Also the drop-down for this purpose you mention in the other thread.

One question is still open – is there a complete ID3 and Vorbis tag mapping you could share?

PowderPostOctober 29, 2016, 10:16
Pro
Posts: 116
Registered:
March 4, 2013, 18:53
Very Hot topicRe: Multi value fields and separator question

Thanks a lot for your detailed explanation!
I’m happy Yate does everything so well! I am aware that most players don’t fully support multiple values, but as in most cases it will not break things – «ArtistA;;;ArtistB» will just be displayed as «ArtistA ArtistB» I’m fine with that. For me it’s much more valuable to habe the real tags.

2MR2PostOctober 29, 2016, 10:31
Avatar photo
Administrator
Posts: 2079
Registered:
August 23, 2012, 19:27
Very Hot topicRe: Multi value fields and separator question

One question is still open – is there a complete ID3 and Vorbis tag mapping you could share?

The table can be viewed on the main help page under Reference/Frame Mapping Table. 🙂

PowderPostOctober 29, 2016, 10:42
Pro
Posts: 116
Registered:
March 4, 2013, 18:53
Very Hot topicRe: Multi value fields and separator question

I posted my first answer before I saw yours… thanks 🙂

PowderPostOctober 29, 2016, 10:44
Pro
Posts: 116
Registered:
March 4, 2013, 18:53
Very Hot topicRe: Multi value fields and separator question

You might want to consider putting the help documents online, so others can read without buying Yate. I think there is a a lot of information on there which might result in more users when stumbling upon the docs while performing a Google search.

2MR2PostOctober 29, 2016, 11:12
Avatar photo
Administrator
Posts: 2079
Registered:
August 23, 2012, 19:27
Very Hot topicRe: Multi value fields and separator question

Good idea.

UKenGBPostApril 1, 2021, 12:16
Advanced
Posts: 57
Registered:
April 30, 2020, 09:36
Very Hot topicMulti value fields and separator question

An old topic, but totally relevant to my question.

If working on an ID3v2.3 file, should one use the Yate Multi Value Delimiter and how does that get written to the file?

Also, what about other files, like mp4 and mkv and AAC audio?

2MR2PostApril 1, 2021, 13:26
Avatar photo
Administrator
Posts: 2079
Registered:
August 23, 2012, 19:27
Very Hot topicMulti value fields and separator question

In ID3v2.3 the delimiter simply gets written to the file. The biggest improvement in ID3v2.4 was the fact that it handled multiple values well. The answer as to whether or not you should use the delimiter is really based mostly on your player. Many players accept ; as a multi value delimiter. (so ;;; works). No Apple application does. The benefit of keeping the delimiters around is that Yate uses them all over the place to be able to differentiate values. However, base your decision on the player, not on Yate.

FLAC always handles multiple values well as any low level FLAC comment can handle multiple values.

As far as APE goes ... I'd rather not talk about APE tags at all. I once saw an article on Google titled something like "Ape Tags are an Abomination". I agree.

MPEG-4 m4a (AAC and ALAC), m4v, etc., depends again on your player. Yate allows to to encode in three different ways. The out of the box setting of Single writes a single atom for every field. This means that the delimiter gets written. This is the most common implementation as that's what iTunes/Music/TV expects. However there are other players out there which understand the ;;; delimiter. The worst case scenario is that you see the ;;;s in the player. Single Atom / Multiple Data is what every player should implement. It is fully within spec and supports multiple values. The number of players which actually implement this is low. Certainly MiminServer does and I assume others as well. If your player does not support this you will only see the first item in the delimited list. Multiple Data writes multiple separate atoms with the same identifier. This is totally invalid according to the MPEG spec but a number of taggers do it regardless and some players support it. If this is not supported by your player you will typically see the first or last item in the list.

The only reasonable way to go is to try different encodings and see what happens on your player. I used to try and keep a list but it took far too much time to keep it up to date.

Pages: 1 2 3
Mingle Forum by Cartpauj | Version: 1.1.0beta | Page loaded in: 0.039 seconds.