This thread is for an official request for Sonos to support multiple values per tag as per officially defined specifications. Please add your support if this is something you would like Sonos to implement.
I'm not sure there is much to debate, the file formats clearly lay out the specification. It's simply a case of Sonos supporting multiple values (or not). Note that this thread is not recommending some bespoke implementation, or a particular user's idea of how it should be done, using rules or preferences, or complex strings (if X is Y and A is B etc). It's a case of just supporting the format as officially specified.
My hope is that the Sonos library index is not a flat file, but a relational data structure. If it's the latter, it's not impossible to add multiple values per track (one-to-many relationship). Database normalization for the developers out there. If it's a simple flat structure, it could get complicated...
Reference threads
[thread=8338]Multiple Genre Support[/thread]
[thread=5077]SONOS unable to handle mutiple artist "&" delimiting[/thread]
[SIZE="3"]Format Specifications[/size]
The following formats are supported by Sonos. I've included the official specifications to assist Sonos (and any tech oriented viewers here)
Windows Media Format (WMA)
WMA files use the Advanced Systems Format (ASF) container to store metadata. This container format provides for multiple value attributes and Windows Media Player (among others) will correctly tag files with multiple values. In simple terms, more than one value can be applied to a single file.
MSDN Windows Media - Attributes with Multiple Values
MP3 Format
MP3 files use the ID3 specification to include frames in the file. Only one frame per (text) attribute is allowed per file. To provide for multiple values, a delimiter is used.
ID3v2.3 Specification stated the "/" character should be used as the delimiter. This was a poor choice as it meant the "/" character could not be used as a 'normal' character. AC/DC was therefore split into two bands for example. Nevertheless, this is the specified delimiter.
ID3v2.4 Specification states multiple values should be stored as a null separated list. This fixed the AC/DC problem above. See section 4.2 for details.
Note that prior to formal specification, an industry de facto 'standard' (I think the word 'standard' is OK here, it's not a real standard of course) was devised. Multiple values were separated by a semicolon ";". Although this is not an official ID3 specification, it is so common in use, even today, that it should be considered along with the "/" character delimiter as part of the ID3v2.3 specification.
Vorbis (aka OGG) and Free Lossless Audio Codec (FLAC)
Both use the same OGG container. I love open source - all the info is freely published.
Ogg Vorbis I format specification: comment field and header specification. The OGG format uses comment fields. You can have one, none, all or multiple values per file. Here's a snippet from the spec
ARTIST=Dizzy Gillespie
ARTIST=Sonny Rollins
ARTIST=Sonny Stitt
For reference, the FLAC spec can be found here (although it refers back to the Vorbis comment spec). There is also a FLAC to OGG mapping document.
AAC and Apple Lossless (ALAC)
Apple (in typical Apple style) consider these codecs proprietary and refuse to release information. I can't tell you for certain (no specs), but I don't think Apple formats support multiple tag values. [any apple devs care to help out?]
WAV, AIFF
Poor metadata support. Not worth mentioning in this context.
Please post your support, comments, corrections etc. Thanks!
db