title
Products            Buy            Support Forum            Professional            About            Codec Central
 

Define "Separator" Character(s) for Multiple Field Tags

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • GBrown
    dBpoweramp Guru
    • Oct 2009
    • 319

    Define "Separator" Character(s) for Multiple Field Tags

    I believe the current separator indicator used by Asset is a double backslash "\" which is shared by a couple of other programs. However most of the portable
    players prefer a semicolon "; " for this. Genre and Artist are the two tags this impacts the most.

    Is there any way to redefine this in Asset?
  • simbun
    dBpoweramp Enthusiast
    • Apr 2021
    • 57

    #2
    The separtors you describe are simpy visual indicators used by tagging programs in order to show the individual values of a multi-value tag (Mp3tag uses \\ foobar uses a semi-colon) but that's not the way they're stored e.g. ID3v2.3 uses a '/', ID3v.2.4 uses a NUL and Vorbis stores them as separate fields.

    What format are you using?

    Comment

    • simbun
      dBpoweramp Enthusiast
      • Apr 2021
      • 57

      #3
      I editied a FLAC track and stored \\ and a semi-colon in the Artist tag and Asset didn't split them, so I think it's just splitting as per the specification.

      Maybe you can describe how you arrived at a format that worked for your player but not Asset, including the tool you used for tagging.
      Last edited by simbun; July 10, 2024, 07:51 AM.

      Comment

      • GBrown
        dBpoweramp Guru
        • Oct 2009
        • 319

        #4
        Originally posted by simbun
        What format are you using?
        These are mostly ALAC files. I have some FLAC files and a few mp3 scattered in there from way back as well.
        I use mp3tag for all of my tag editing.

        Originally posted by simbun
        The separators you describe are simpy visual indicators used by tagging programs in order to show the individual values of a multi-value tag (Mp3tag uses \\ foobar uses a semi-colon) but that's not the way they're stored e.g. ID3v2.3 uses a '/', ID3v.2.4 uses a NUL and Vorbis stores them as separate fields.
        I have not split these into multi-value fields. They are all single fields where an artist value like "Paul McCartney; Michael Jackson" is literally that data in a single line. The reason for this choice was compatibility for players that do not support multi-value fields (iTunes was the big one).

        Players on PC like MusicBee as well as several mobile players (BTR AMP for iOS, Poweramp and GoneMad for Android) use the semicolon "; " within a single field to split the tag within their own library database for browsing. When displayed they leave the full tag intact. Only Poweramp has the option to choose one or more separator characters in the settings that defines how to split these fields.

        If Asset only uses the \\ as an indicator to a split multi-value field, and cannot define them from a single field, then I guess this is a dead end.

        With four users in our house with different devices I am restricted by what works for all. This was something I had come up with long ago that was a functional compromise. I'll spend a bit of time experimenting with a few tracks and see if I can make anything else work better now between Assest and the other apps.
        Last edited by GBrown; July 10, 2024, 10:39 AM.

        Comment

        • simbun
          dBpoweramp Enthusiast
          • Apr 2021
          • 57

          #5
          Originally posted by GBrown
          These are mostly ALAC files. I have some FLAC files and a few mp3 scattered in there from way back as well.
          I've never used any apple format but I think there are a couple of ways it stores multi-value tags ( ;;;; separated and with multiple fields) which probably doesn't help things.

          Originally posted by GBrown
          Players on PC like MusicBee as well as several mobile players (BTR AMP for iOS, Poweramp and GoneMad for Android) use the semicolon "; " within a single field to split the tag within their own library database for browsing. When displayed they leave the full tag intact. Only Poweramp has the option to choose one or more separator characters in the settings that defines how to split these fields.
          I've used Poweramp a little in the car mainly for Android Auto and it does "support" multi-value tags, at least in FLAC, but it concatenates them together so in the artist index they're displayed as 'Artist1; Artist2'.


          Originally posted by GBrown
          If Asset only uses the \\ as an indicator to a split multi-value field, and cannot define them from a single field, then I guess this is a dead end.
          Asset reads the tags in as per the formats specification which \\ is not part of (see above for my example with ID3 and Vorbis).


          Originally posted by GBrown
          With four users in our house with different devices I am restricted by what works for all. This was something I had come up with long ago that was a functional compromise. I'll spend a bit of time experimenting with a few tracks and see if I can make anything else work better now between Assest and the other apps.
          The only problem device I have is a little FiiO player that I use when running which doesn't even support the AlbumArtist tag, so I have a foobar action that converts the tracks to Ogg then manipulates the tags so they're usable on the device.

          Comment

          • GBrown
            dBpoweramp Guru
            • Oct 2009
            • 319

            #6
            Thanks for the input simbun.

            This is really just a minor inconvenience that I have been wrestling with since the start of the digital music era. I'll post back if I discover anything new that improves this handling.

            Comment

            • Spoon
              Administrator
              • Apr 2002
              • 44282

              #7
              The standard for m4a files is to repeat the ID Tag for subsequent artists. Asset will read those as multi artists.

              '; ' is not a standard in any file format.
              Spoon
              www.dbpoweramp.com

              Comment

              • vilsen
                dBpoweramp Enthusiast
                • Jul 2018
                • 183

                #8
                Originally posted by GBrown
                Is there any way to redefine this in Asset?
                If you're desperate to solve this, there's an unorthodox workaround:

                If you can find a solution for e.g. GENRE that works for your other apps, then you can use preformat in Asset to make it read and index GENRE from a different tag, e.g. MYGENRE - thus ignoring GENRE in your tags.

                If I remember correctly, I think preformat:=genre:=%mygenre% would work but not preformat:=genre:=[mygenre]. But I'm not able to test right now.

                You'd always have to update GENRE and MYGENRE with different strings, but since you use Mp3tag there are easy ways to format one of them partly based on the other one.

                Comment

                • GBrown
                  dBpoweramp Guru
                  • Oct 2009
                  • 319

                  #9
                  Originally posted by vilsen
                  If you're desperate to solve this, there's an unorthodox workaround:
                  Thanks for this suggestion. I'm my case I don't want to go that far. It hasn't been an issue with my current structure, at least not for now.

                  I'm sure there are limitations for database size and such on mobile platforms that limits the depth of the information that can be used effectively.

                  This isn't a problem with any of the Illustrate products. It is a problem with the other programs and not sticking to the "standard" for these things as they try to optimize for their user base.

                  Comment

                  • Spymaster
                    dBpoweramp Enthusiast
                    • Feb 2020
                    • 68

                    #10
                    This has been a constant source of frustration for me too. My database consists almost entirely of FLAC files (tagged using Media Monkey). I've tagged multiple artists and genres with a ";" and Asset appears to have separated each entity correctly. But the way they are displayed in each of my main media players is completely different:
                    • Hi-Fi Cast (Android app) displays "Artist 1; Artist 2" (PERFECT)
                    • Synology's DS Audio (Android app) displays "Artist 1 Artist 2" - both artists, but without a visual divider (CLOSE)
                    • Cambridge Audio's Streammagic app displays "Artist 1" only (FAIL)
                    • Denon's HEOS app displays "Artist 1" only (FAIL)
                    I've reported the "issue" with both Cambridge and Denon but, frankly, it's like talking to a brick wall.

                    I've tried using a double back-slash \\ instead of ";" but Hi-Fi Cast doesn't recognise that as a separator and treats "Artist 1\\Artist 2" as a single entity. Same result when I tried a single "/". Which isn't good.

                    Surely there must be a consistent way to do this. One type of separator that everything understands?
                    Last edited by Spymaster; July 13, 2024, 12:35 PM.

                    Comment

                    • GBrown
                      dBpoweramp Guru
                      • Oct 2009
                      • 319

                      #11
                      Originally posted by Spymaster
                      Surely there must be a consistent way to do this. One type of separator that everything understands?
                      I have said the same thing to myself for years. The closest I can get is the single field Artist using the semicolon "; " separator and it works for most programs OK. For the ones that don't I just accept that.

                      Comment

                      • simbun
                        dBpoweramp Enthusiast
                        • Apr 2021
                        • 57

                        #12
                        Originally posted by Spymaster
                        This has been a constant source of frustration for me too. My database consists almost entirely of FLAC files (tagged using Media Monkey). I've tagged multiple artists and genres with a ";" and Asset appears to have separated each entity correctly.
                        MediaMonkey uses semicolons to signify the individual elements of a multi-value tag. Using FLAC as an example they'll be stored internally as:
                        ALBUM: Album Name
                        ARTIST: Artist1
                        ARTIST: Artist2

                        This is the only way to store multi-value tags in the FLAC/Vorbis spec.

                        If you want to see how the FLAC tags are stored you can run the following code from powershell 7:
                        Code:
                        Format-Hex -Path <filename>.flac -Count 1028

                        Originally posted by Spymaster
                        But the way they are displayed in each of my main media players is completely different:
                        • Hi-Fi Cast (Android app) displays "Artist 1; Artist 2" (PERFECT)
                        • Synology's DS Audio (Android app) displays "Artist 1 Artist 2" - both artists, but without a visual divider (CLOSE)
                        • Cambridge Audio's Streammagic app displays "Artist 1" only (FAIL)
                        • Denon's HEOS app displays "Artist 1" only (FAIL)
                        I've reported the "issue" with both Cambridge and Denon but, frankly, it's like talking to a brick wall.
                        With the Synology, Cambridge Audio and Denon app are you browsing your Asset instance or are they each indexing your collection?

                        What you see in Hi-Fi Cast is exactly how Asset delivers it:
                        Code:
                                <dc:title>Track Title</dc:title>
                                <dc:date>2021-01-01</dc:date>
                                <upnp:artist role="AlbumArtist">Album Artist</upnp:artist>
                                <upnp:artist>Artist 1; Artist 2</upnp:artist>
                                <upnp:album>Album Name</upnp:album>

                        Comment

                        • simbun
                          dBpoweramp Enthusiast
                          • Apr 2021
                          • 57

                          #13
                          Originally posted by Spymaster
                          But the way they are displayed in each of my main media players is completely different:
                          • Synology's DS Audio (Android app) displays "Artist 1 Artist 2" - both artists, but without a visual divider (CLOSE)
                          • Cambridge Audio's Streammagic app displays "Artist 1" only (FAIL)
                          • Denon's HEOS app displays "Artist 1" only (FAIL)
                          I've reported the "issue" with both Cambridge and Denon but, frankly, it's like talking to a brick wall.
                          Just a thought, if you're browsing Asset with those control points are you sure they're not displaying AlbumArtist rather than just the first track artist?
                          There are a number of poor UPnP control points that display the wrong artist tag (AlbumArtist vs Artist). One way to address that is to apply [SimpleArtist] in Settings Override (bottom of page) which tells Asset to send only the track artists alongside the track listing.

                          Comment

                          • Spymaster
                            dBpoweramp Enthusiast
                            • Feb 2020
                            • 68

                            #14
                            It sounds like Media Monkey is separating the artists correctly, then, which is reassuring.

                            As far as I know, the Synology, Cambridge Audio and HEOS apps are browsing my Asset instance directly. Taking Cambridge, for example, when I browse or search my collection, multiple artists are displayed correctly - on the "New Albums" screen, for example. It's only when I select to play a particular album, or track, that artists other than "Artist 1" are instantly lost. So they're finding the right data, from the right place, they're just not displaying it properly.

                            Comment

                            • simbun
                              dBpoweramp Enthusiast
                              • Apr 2021
                              • 57

                              #15
                              Originally posted by Spymaster
                              As far as I know, the Synology, Cambridge Audio and HEOS apps are browsing my Asset instance directly. Taking Cambridge, for example, when I browse or search my collection, multiple artists are displayed correctly - on the "New Albums" screen, for example. It's only when I select to play a particular album, or track, that artists other than "Artist 1" are instantly lost. So they're finding the right data, from the right place, they're just not displaying it properly.
                              I have sent a reply but because it contains a link it's waiting for approval, and I don't know when that'll be so I'll include a copy of it here.

                              Are you sure the control points are displaying the first track artist and not the AlbumArtist?

                              There are a number of poor UPnP control points that display the wrong artist tag (AlbumArtist vs Artist). One way to address that is to apply [SimpleArtist] in Settings Override (Google 'asset upnp dlna configuration' and scroll to the bottom of the page) which tells Asset to send only the track artists alongside the track listing.



                              Comment

                              Working...

                              ]]>