I am at my wit's end!


#1

Hi, I am really sorry to be bothering you all with this but I am going to have to come right out and admit that I have absolutely NO idea about strings, expressions and anything about computer code at all! I've been up all night trying to figure out how to do this 'Split fields by separator' action, reading and clicking and reading and clicking through wikipedia trying to understand everything from metadata to MP3 to ID3 tag to string, scripting, container format, general expression, their histories, standardization in order to try to figure out exactly what this little sentence means and how to implement it:

"This action type allows for splitting values of fields into multiple separate fields based on a given separator character."

but I think I am now finally going to have to just ask somebody to tell me which keys on my keyboard to press and in what order to press them before I commit suicide!

I read some blog about genre tagging (I know that you're all going...oh no!!!...now!). Somebody suggested this option in mp3tag. I have used mp3tag for a long time but I am a pretty basic user and perform fairly basic functions most of the time.

In explaining how to do this, could you give me a bit of a 'laymen's' description on exactly why one would want to do this? My understanding is that I will be able to have albums (or individual songs if I really want to drive myself crazy) tagged as being in a number of genres, meaning that if a song is tagged with Pop/Rock and Electronic in separate genre fields (or, a split genre field) then I could do a search for all Pop/Rock-Electronic songs that would exclude Pop/Rock-Grunge and Pop/Rock-Punk and Pop/Rock-Indie etc etc etc.

Would I thus be able to have 3 or 4 levels of genre in my own kind of like, 'Genre Tree'? How do I identify the separate/split field(s) on the mp3Tag user interface or in my chosen media player (Windows Media Player)? Would I have 3 Genre Columns to sort by in both programs? Where do I enter the genres in the left pane on mp3Tag?

I tried creating the action as instructed, but when I clicked ok 0 files were updated. I tried typing in the genre box in the left pane 'Hard Rock//Soft Rock' then applying the action. //Soft Rock disappeared and left Hard Rock in the box but there was no indication in mp3Tag or WMP that two separate fields (or a split field) had been generated and that they contained separate genres.

I'm so sorry, but I am just so confuzzled right now! Please help! Thanks for any help in advance.

Suff2Say


question about entering two names in the artist field
\\ problem
replace 'Bonobo\\Andrew Ashong' with 'Andrew Ashong' in artist
Wrong Import with Multi-Value Field
#2

I am not sure that WMP supports more than one tag field of a type.
The workaround would be to make more complicated but unified genre strings without the troublesome double-slash as separator.
I made the experience that WMP split AC/DC into the groups AC and DC. I am not sure whether the band likes that. But AC and DC did not show as grouped e.g. you selected AC and then saw all the DCs below it but found AC and DC at different places in the alphabetically sorted list.
That is why I doubt that such genre cascades would really lead to the desired result.

Anyway:
You would have to either insert a double backslash \\
or
create longer user-defined genre descriptions, e.g. Rock Pop Symphonic
without any slashes.


#3

Welcome 'Suff2Say'!
From all of your words I hear, that you are willing to learn and you have also tried to obtain the informations to realize something what you have in mind.

One conclusion is, that we urgently need a dedicated area in the Forum, that is called 'Mp3tag Schools'.

My recommendation for you is, get your goal by the method 'learning by doing', and do not be confused by setbacks.
The first step to learn the technical terms and idioms is reading the Mp3tag help manual.
Then the most valuable resource of practical application is the Mp3tag online forum with currently 12239 registered members with thousands of questions about five or six themes and thousands of thousands solutions.

Regarding your problem with 'multi-value' tag-fields like GENRE can be, the writing convention in Mp3tag is ...
Value{\\Value}
... for example ...
Rock
Rock\\Hardrock
Rock\\Softrock
Rock\\Softrock\\Ballad
Rock\\Softrock\\Ballad\\Medieval
Rock\\Softrock\\Ballad\\Contemporary
Blues\\My Blues\\Your Blues\\The World's Blues

As usual it is always the matter how software for managing music has implemented certain activities.
You have to find out for yourself how other music apps will work with multi value tag-fields.

The content of a multi-value tag field is not per se a hierarchical description or a 'tree of data'.
A multi-value tag field is only a loose collection of items.

Good luck in your efforts!

DD.20110401.0802.CEST


#4

Thank-you for your kind welcome DetlevD!

So how do I do it?

Is the 'Genre field' where I type Rock//Hard Rock?
When do I apply the action?
How can I see proof in MP3Tag that there are multiple values in that field? That would be a good start. I'll worry about WMP once I get this part right.

Bear in mind I did what I thought was right (as in earlier post, but here are more details):

  • created an action group and called it 'Split Field By Separator'
  • created an action within the newly created action group, selecting 'Genre' and 'Split Field By
    Separator' in the drop down lists
  • selected 23 tracks (AC-DC tracks coincidentally!)
  • typed 'Rock//Hard Rock' in the 'Genre' field on the 'Tag Panel'
  • applied the newly created action by bringing up the drop down list from the 'Actions Icon' on the
    'Toolbar' (AaV where 'V' = down arrow)
  • the first tag and the backslashes (Rock//) disappeared from within the 'Genre' field leaving only
    'Hard Rock' remaining in the 'Genre' field and
  • I received the following message: "Formatted Tags in 0 of 23 files. 0 of 23 files renamed."
  • I clicked Okay (only option) and looked down the 'Genre' column and saw only
  • 'Hard Rock' beside all 23 tracks
  • even looked in 'Customize Columns' but basically found no evidence of there being two values in
    the 'Genre' field, only evidence that the tracks are now all tagged as simply being in 'the 'Hard
    Rock' genre'.

Ohrenkino, I didn't really understand your account of what you experienced with your AC/DC tracks. I've always had mine labelled AC-DC like that. Were you saying that if you type it like AC/DC the / can wreak havoc?

DetlevD, you said:

"The content of a multi-value tag field is not per se a hierarchical description or a 'tree of data'. A multi-value tag field is only a loose collection of items."

You might need to elaborate on that for me, though it did lead me to think:

If the result of this exercise is intended to be to end up with 'Rock//Hard Rock//etc.' as just that, then what is the purpose of having a separator? If that's not the intention, which I don't think it is...ok, so a new field is not created explaining why I can't see evidence in a new column, but why can't I see evidence in the original Genre column or like, anywhere? Why did mp3tag pick the second value to keep and not the first value?

I guess I don't really know what it means to be blessed with 'a split field'.

My reason for pursuing it as a solution to genre tagging is because I thought it would help in 'sorting music by genre'. Obviously if the different values are able to be represented in separate columns I'm laughing, but then so would the rest of the genre tagging community so I'm not expecting this, however I really don't see the point if the different values aren't separated in some way now that I think about it, because like Ohrenkino said, you can just use extended names. That alone would aid in 'sorting music by genre'.

I take the point you both made about seeing what comes up in different media players after the creation of these multiple values, but I wouldn't bother installing different programs and p-farting around in them until I could see some evidence or some proof of multiple values in mp3Tag. Fair enough?

I also have some sort of a recollection of the guy who wrote the post in that blog I was reading, saying that he used WMP and he was happy with this solution. Could be mistaken but stuffed if I'm gonna try and find the blog and the post again. Maybe when I've got another hour up my sleeve to reply in this thread again!

Thanks again, for reading and helping. I'm sorry for the wordiness of the post but without the pedanticism (sorry again, considering that I gather this exercise is probably a very simple one) I don't think I could give the right information or ask the right questions.

Cheers,
Suff2Say


#5

In the moment I have a problem to understand what you really want to do.

It is not possible for me to explain you the entire 'music tagging world'.
I would need chalk and a blackboard to paint a picture for you in order to visualize your problem and the needed techniques to solve it.
Do you remember some pictures showing Einstein at work?

From your last post I could only pick up a few themes and questions, but ... now I feel not to do it ... because it would not help ... and the amount of open questions would grow ... it ssems that you even did not read in depth the previous posts within this thread.

It is up to you, to get an understanding of how some basic things can be done, so you have to work with Mp3tag, at best with some dummy mp3 files, try out all tools from the Mp3tag toolbox.

Do you know the dialog "Extended Tags..."?
Try out to use it.

What is your problem with the GENRE tag-field?
What is the problem with the content (single-value resp. multi-value)?
Try to understand and explain what is a genre tag-field?
Try to understand and explain what is a genre list?
Try to understand and explain what is a genre tree?

Try to understand the scripting functions ...

  • $meta(x)
  • $meta(x,n)
  • $meta_sep(x,sep)

Try to understand the actions ...

  • Split fields by separator
  • Merge duplicate fields

Try to understand and use the Mp3tag Filter dialog.

Try to understand the difference between the slash '/' character and the backslash '' character.
What does a pair of backslashes '\\' in a tag-field do when saving the tag-field into the file?

DD.20110403.1615.CEST


#6

Perghaps a more basic approach:
Multiple tag fields are an exception.
Most programs assume that there is only one tag field of each type.
It depends on the implementation which one is displayed.
So, if you enter data into a tag field and insert the double backslash, you create two tag fields of the same type, split at the position at the double backslash.
You can check this if you open the extended tag dialogue for that track (press Alt-T). You should see two entries with the same name.

Only the extended tag dialogue expands the list of tags in relation to the really stored tag fields in the file.
The list view in MP3tag stays the same. If you want to cater for more tag fields of the same type you would have to create your own columns with the $meta function to retrieve the data -as DetlevD pointed out.

As multiple tag fields are an exception and support in various programs is spotty, I dot not use them.

A footnote on AC/DC: after I experienced trouble with AC/DC and Colourbox M/A/R/R/S and the slash this forum was very helpful to point me to a special character that looks like the slash but isn't. This way I do not have to temper with the look of artist's names.


#7

OKay, I've made some progress. Thanks for sticking with me dudes.

Yes, stupid me, I used the wrong slashes. I'm now using \\ instead of //.

Another key error I was making (I knew there was a simple answer!) was not saving the files after entering Rock\\Hard Rock in the Genre field.

After correcting these two STUPID errors (!) I clicked ALT-T and there are now two GENRE fields, one tagged 'Rock' and the other tagged 'Hard Rock'. I then experimented and clicked 'Add Field...' in the Extended Tag Dialogue Box, selected GENRE from the 'Field' drop down list and entered 'Australian' for the Value. This created another GENRE field tagged 'Australian', so I guess this is the easy way of doing all this right? It's the same result as the \\ in the Genre field and creating the action right?

ohrenkino, when you say multiple tag fields are an exception, do you mean they're an exception to the general rule of there only being one Actual Genre field and an exception that you can't expect most media players to accommodate?

I'll investigate the $meta functions later in the week, but for a quick tip, can you tell me where I enter the relevant $meta scripts?

Thanks for pointing out the Filter thing DetlevD, it looks like it does something interesting, I'll have a look at that too. Please note DetlevD, these are the beginnings of my attempting to solve my Genre tagging problem. So thus far, this is only the first method I've tried. Had to jump in somewhere, and I've learnt some things already. Yea, I would need to explain my definitions of Genre Tree, Genre List etc. I should probably get that clearer in my head first, though really, I just decided to jump in. Also, sorry I confused you, it was a pretty convoluted post.

Cheers fellas,
Suff2Say

PS - actually, I noticed I don't have to save the files. When you click ALT-T, then when you leave that dialogue box by clicking ok, it automatically saves the changes. Peace.


#8

Probably you need the $meta stuff when you want to expand the list view by the multiple tags. You enter the $meta syntax when you define an extra column in the value field.

Yes, the exception refers to the ability of other programs to show more than one tag of each kind.
I mean, what is the point of entering a very detailed list if you cannot re-use it as other programs are not "clever" enough for that...


#9

Yea, understood, and agreed.

In which dialogue box?


#10

To add another column in the list view, right-click on any column header.
Select Columns... in the context menu.
A dialogue opens which shows all active and a couple of predefined columns.
For your purpose press the "new" button.
Enter a decent name which becomes the column header.
For value enter $meta(genre,1) to get the first user-defined genre field ($meta(genre,0) is the default genre field)

I am not quite sure whether it is possible to edit such a sub-value of multiple value fields (dano? DelevD?) or whether you have to enter all values once more, separated by the separators.


#11

I hope this is sufficiently related to this thread to post here. I've avoided the use of multivalue tags because I found it very confusing to figure out how such tags and Mp3tag's separator would work with other applications.

In anyone's opinion, does the recent change by Foobar to use " / " (space forward slash space) as their field separator help, hurt, or do nothing for compatibility between Foobar and Mp3tag, with Mp3Tag's approach of using "\\" as the field separator?

Foobar change described here:

http://wiki.hydrogenaudio.org/index.php?ti...y_1.1.6_changes

I believe among the reasons for the change was to allow the use of "/" (no spaces) in field values like "AC/DC" without having the forward slash interpreted as a separator.


#12

The basic idea of a multi-value tag field is founded in the ID3 specification.
A multi-value content is a collection of values delimited by a binary zero byte.

The problem is, that a binary zero cannot be displayed as is - simply said - it is invisible.
So all the applications, which make use of the multi-value tag field technique, have to offer a surrogate character for their users to handle such a mutli-value collection.

  • MP3tag uses the character sequence of two Backslashes '\\'.
  • Foobar 2000, since version 1.1.6 changes, uses the character sequence ' / ' (three characters).
  • Media Monkey uses the Semicolon '; ' (so far I know ... additional space or not, I don't know).

It does not matter what the others do, the main thing is, that you understand how you can handle multi-value tag field content within Mp3tag.
The common standard is the ID3 specification, which defines the binary zero as the technical delimiter character.

DD.20110409.1933.CEST


#13

Only ID3v2.4 defines a binary null as separator. Id3v2.3 defines the (awkward) forward slash (but only for a few frames).

foobar2000 also uses ; to display multi-value fields in the interface. " / " is what it actually writes now to ID3v2.3 artist field.


#14

Thanks for the information, Detlev and Dano. Your comments helped clarify the different aspects of mutli-value fileds. It seems helpful to understand the following aspects, and please correct me where I'm wrong for ID3v2.3 tags:

  • what method or character(s) does an application use to display separate multiple values in a multiple value tag (Foobar uses a semicolon, Mp3tag uses double back slashes)
  • what method or character(s) must one give an application to tell it to write information as separate entries when entering information in a multi-value tag (Foobar uses space forward slash space, and Mp3tag uses double back slashes)
  • what character(s) actually appear in a file to separate multiple entries in a multi-value tag (as viewed with a hex reader) (no idea)

I won't have access to a hex reader for a few weeks, so what is actually written to a file is the biggest mystery to me.

Thanks again for clarifying.


#15

Foobar shows a comma (,), but when editing multivalue fields the user has to enter a semicolon (:wink: to separate values.