Rockbox.org home
Downloads
Release release
Dev builds dev builds
Extras extras
themes themes
Documentation
Manual manual
Wiki wiki
Device Status device status
Support
Forums forums
Mailing lists mailing lists
IRC IRC
Development
Bugs bugs
Patches patches
Dev Guide dev guide
translations translations
Search



Donate

Rockbox Technical Forums


Login with username, password and session length
Home Help Search Staff List Login Register
News:

Welcome to the Rockbox Technical Forums!

+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  Audio Playback, Database and Playlists
| | |-+  Vorbis Metadata Support
« previous next »
  • Print
Pages: [1]

Author Topic: Vorbis Metadata Support  (Read 3207 times)

Offline TheAlmightyGuru

  • Member
  • *
  • Posts: 37
Vorbis Metadata Support
« on: April 13, 2015, 04:24:01 PM »
According to the official Vorbis metadata documentation, when multiple artists collaborate on a single song, you are encouraged to add multiple artist tags into the metadata. The example given on their web site (http://www.xiph.org/vorbis/doc/v-comment.html) says, if the artists are "Dizzy Gillespie, Sonny Rollins, and Sonny Stitt," the tagging software should write the following into the metadata:

ARTIST=Dizzy Gillespie
ARTIST=Sonny Rollins
ARTIST=Sonny Stitt

I have some songs in Vorbis format, and they are collaborations between multiple artists. The program I used to tag the music did so according to the Vorbis specifications--when I open the file in a hexeditor, I can see three ARTIST tags, each with one of the names I entered. However, when I played the song in Rockbox, I only the first artist was displayed.

After reading the manual, specifically the Audio and Metadata Formats section (http://download.rockbox.org/daily/manual/rockbox-sansaclipzip/rockbox-buildap2.html#x18-367000B), I found that this deviation is by design.

I understand that Rockbox has to work with limited memory and many different devices, so it can't support every possible option in every format, so I'm fine with a workaround. My question is, does the Rockbox team suggest a particular workaround, or do they know of a program which will automatically convert standard tags to rockbox-compliant tags? Thanks!
Logged

Offline saratoga

  • Developer
  • Member
  • *
  • Posts: 9376
Re: Vorbis Metadata Support
« Reply #1 on: April 13, 2015, 04:31:16 PM »
I think the work around would be to only have one artist tag per file, or if you want multiple, put the most important one first. 
Logged

Offline TheAlmightyGuru

  • Member
  • *
  • Posts: 37
Re: Vorbis Metadata Support
« Reply #2 on: April 13, 2015, 05:41:47 PM »
Thanks for the reply. I've been playing with the program that I used to tag the Vorbis files (foobar2000), and there doesn't appear to be a way to tell it to combine the various artist flags into a single tag--which is understandable since it is the standard.

However, I did find that if I replace the semi-colon separator with a comma, they are combined as a single artist in the metadata. Unfortunately, this breaks foobar2000's built-in multi-tag support. Rather than ruin the tags in my library, I was thinking I could just alter the files on my DAP, but of course, I'm one of those people who listen to a lot of Broadway musicals, so I have a lot of tracks with multiple artists.

Does anyone know of a program that can quickly batch convert from the Vorbis standard to Rockbox's single artist tag variance? Thanks?
Logged

Offline TheAlmightyGuru

  • Member
  • *
  • Posts: 37
Re: Vorbis Metadata Support
« Reply #3 on: April 14, 2015, 02:51:50 PM »
I've been reading through the Rockbox metadata source code, and it looks like modifying it to concatenate multiple artists to make it more Vorbis-compliant would be a pretty trivial process.

Thus, where the Vorbis tags read:

ARTIST=Dizzy Gillespie
ARTIST=Sonny Rollins
ARTIST=Sonny Stitt

It would show up to users as:

ARTIST:Dizzy Gillespie; Sonny Rollins; Sonny Stitt

Although, from the looks of the code at the end of metadata_common.c, the code is purposely non-compliant. However, since a lot of the code is shared, I'm not sure if this is specifically directed toward ID3 tags and not Vorbis.

I would like to submit a patch to combine artists, but I want to know whether I should bother? Will the developers reject the patch?
Logged

Offline saratoga

  • Developer
  • Member
  • *
  • Posts: 9376
Re: Vorbis Metadata Support
« Reply #4 on: April 14, 2015, 03:09:47 PM »
Quote from: TheAlmightyGuru on April 14, 2015, 02:51:50 PM
ARTIST:Dizzy Gillespie; Sonny Rollins; Sonny Stitt

Assuming that doesn't break anything, and you don't run out of space, thats probably ok.

Quote from: TheAlmightyGuru on April 14, 2015, 02:51:50 PM
Although, from the looks of the code at the end of metadata_common.c, the code is purposely non-compliant. However, since a lot of the code is shared, I'm not sure if this is specifically directed toward ID3 tags and not Vorbis.

Well yeah, we didn't design the entire operating system around some weird thing in Vorbis that no one uses. 
Logged

Offline hyper

  • Member
  • *
  • Posts: 4
Re: Vorbis Metadata Support
« Reply #5 on: October 30, 2024, 07:37:37 AM »
what do you mean noone uses this?
when there are 2 artists working on a track I want both of them to have the song listed under their names in the database and not either be an amalgamation of two artist names like "Tatsuya Kitani; Eve" as a separate entity or only attribute the song to one artist.
Same for genres, maybe you have a general genre but there is more nuance you want to also be able to sort by.
It would be very useful and im sorry for necroposting but I couldnt find other info on it before, and if it is possible, please do implement such a feature, foobar has that for all tags and its a blessing!
Logged

Offline speachy

  • Administrator
  • Member
  • *
  • Posts: 673
Re: Vorbis Metadata Support
« Reply #6 on: October 30, 2024, 08:00:39 AM »
This is an incredibly niche feature that would add a _lot_ of internal complexity for nearly zero gain.

(This isn't just about the database. How should we represent situations in the UI and themes where a single file has, say, three artists? What about other tags? eg the same track can easily be have multiple performers, be considered part of multiple genres, or be present on multiple albums with different track numbers)

...But as the saying goes, "patches welcome"



Logged

Offline hyper

  • Member
  • *
  • Posts: 4
Re: Vorbis Metadata Support
« Reply #7 on: October 30, 2024, 08:15:37 AM »
I dont understand why you'd think its that niche, like I mean yeah we can live without it, but stuff like Spotify (god forbid), atleast tags multiple artists, and I genuinely think its important and convenient and useful to be able to have multiples of same type tags, especially for artists (and genres) and I think Vorbis tags should be standardized and we should move away from old school mp3 tagging
well on foobar it is literally represented as how you'd expect; multiple tags get all treated the same, 2 different artists? then those "categories" get created if they dont exist or get merged with one that does exist, so for the same example "Tatsuya Kitani\\Eve" would make the same song appear under both "Tatsuya Kitani" and "Eve", same for genres, I dont think its any more complex than that

If you mean code complexity I can understand, but if you mean performance and yeah just "opposite of simplicity" then I cannot agree because you can make it an option in the settings I suppose

I would be down to look around the source code, and not to be rude because youve all done incredible work that me and many people are thankful for but this is the first project I see so poorly organized and outdated, I have no clue where the source code is, I wanted to find already created issues just like on GitHub but I had trouble finding anything here besides some old 2007 stuff, or maybe im too used to how we all do it today, its refreshing to see a oldschool forum like this :)

Attached foobar example

* foobar2000_496BTEoRCZ.png (14.16 kB, 349x395 - viewed 128 times.)
Logged

Offline Frankenpod

  • Member
  • *
  • Posts: 808
Re: Vorbis Metadata Support
« Reply #8 on: October 30, 2024, 09:08:07 AM »
It's not a priority/big-deal for me, but I do kind of agree that it would be nice (and, also, logical) for it to work that way.  Someone would have to code for it though, and I guess that means it won't happen unless/until someone who is both capable of doing that and who wants the feature badly enough comes along.
Logged

Offline speachy

  • Administrator
  • Member
  • *
  • Posts: 673
Re: Vorbis Metadata Support
« Reply #9 on: October 30, 2024, 10:22:39 PM »
Quote from: hyper on October 30, 2024, 08:15:37 AM
I dont understand why you'd think its that niche, like I mean yeah we can live without it, but stuff like Spotify (god forbid), atleast tags multiple artists, and I genuinely think its important and convenient and useful to be able to have multiples of same type tags, especially for artists (and genres) and I think Vorbis tags should be standardized and we should move away from old school mp3 tagging

1) Like it or not, Vorbis *is* incredibly niche.
2) No other common formats allow multiple tags
3) Spotify can do whatever it wants because it is a closed proprietary system.

Quote from: hyper on October 30, 2024, 08:15:37 AM
Well on foobar it is literally represented as how you'd expect; multiple tags get all treated the same, 2 different artists? then those "categories" get created if they dont exist or get merged with one that does exist, so for the same example "Tatsuya Kitani\\Eve" would make the same song appear under both "Tatsuya Kitani" and "Eve", same for genres, I dont think its any more complex than that

foobar doesn't run on two-decade-old embedded systems that contain only 2MB of total RAM.

Quote from: hyper on October 30, 2024, 08:15:37 AM
If you mean code complexity I can understand, but if you mean performance and yeah just "opposite of simplicity" then I cannot agree because you can make it an option in the settings I suppose

Moving from a 1:1 tag lookup to a 1:N lookup represents a considerable increase in data structure and algorithmic complexity. Making that _optional_  at runtime, even more so.  Meanwhile, as I mentioned earlier there are also some very real implications for other portions of the UI.  (Hint:  What should the theme engine show for "Artist:" when there are three artist tags in the file?)

Quote from: hyper on October 30, 2024, 08:15:37 AM
I would be down to look around the source code, and not to be rude because youve all done incredible work that me and many people are thankful for but this is the first project I see so poorly organized and outdated, I have no clue where the source code is, I wanted to find already created issues just like on GitHub but I had trouble finding anything here besides some old 2007 stuff, or maybe im too used to how we all do it today, its refreshing to see a oldschool forum like this :)

...You found this forum, but you couldn't click on "dev guide" on the forum sidebar (which is the same as the main rockbox homepage) to find out where the source code or list of reported bugs/issues can be found?   (Nevermind that the first four results of Googling "rockbox source code" include both a mirror on github and the primary repository)

Logged

Offline hyper

  • Member
  • *
  • Posts: 4
Re: Vorbis Metadata Support
« Reply #10 on: October 31, 2024, 04:17:08 AM »
Quote from: speachy on October 30, 2024, 10:22:39 PM
1) Like it or not, Vorbis *is* incredibly niche.
2) No other common formats allow multiple tags
I know im arguing semantics but its because we standardized the *old* way of doing it, the one accepted by iPods and most mp3 players and I just hate thinking we can have something miles better but it being just niche,,
From what I understand .ogg and .flac support those tags, are they the only ones? I think most people use .flac if they want to have lossless, and I guess if you want to save space you can convert to .ogg but yeah that is indeed pretty niche

Quote from: speachy on October 30, 2024, 10:22:39 PM
foobar doesn't run on two-decade-old embedded systems that contain only 2MB of total RAM.
oof yeah that is true,, I am pretty oblivious sometimes to such hardware limitations, havent worked with low level stuff at all yet, my only C experience is making a custom keymap for my corne keyboard (mostly a C# dev by day)

Quote from: speachy on October 30, 2024, 10:22:39 PM
Moving from a 1:1 tag lookup to a 1:N lookup represents a considerable increase in data structure and algorithmic complexity. Making that _optional_  at runtime, even more so.  Meanwhile, as I mentioned earlier there are also some very real implications for other portions of the UI.  (Hint:  What should the theme engine show for "Artist:" when there are three artist tags in the file?)
yeah I do understand that, but somehow I dont see the UI issue, since this doesnt have to inherently change anything about it, just display artists separated by ";" I suppose, or a double space or something just like youd merge them into one. and yeah this sounds complex but maybe allow scrolling text? (I can already see the engine not allowing that and it being pretty complex)
But regarding tech complexity I dont think it has to truly be 1:N with some arbitrary large value, it could be a table of 4/5 maximum elements and Id be even happy with 2 since thats what most pop music is like when collaborating, classical music enthusiasts for sure also want more control over the tags like multiple artists
(also can you explain how making it optional is worse?)

Quote from: speachy on October 30, 2024, 10:22:39 PM
...You found this forum, but you couldn't click on "dev guide" on the forum sidebar (which is the same as the main rockbox homepage) to find out where the source code or list of reported bugs/issues can be found?   (Nevermind that the first four results of Googling "rockbox source code" include both a mirror on github and the primary repository)
stupid of me, jumped the gun and first started writing on a forum before *really* looking anywhere or understanding how other hosts besides github work
I have cloned the repo and had a quick look through some parts related to metadata and Vorbis yesterday
Logged

  • Print
Pages: [1]
« previous next »
+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  Audio Playback, Database and Playlists
| | |-+  Vorbis Metadata Support
 

  • SMF 2.0.19 | SMF © 2021, Simple Machines
  • Rockbox Privacy Policy
  • XHTML
  • RSS
  • WAP2

Page created in 0.098 seconds with 20 queries.