PDA

View Full Version : Enhancement requests for Classical or complex music collections



ceejay
2005-12-09, 03:08
In a separate thread http://forums.slimdevices.com/showthread.php?t=18767 we (mainly Listener and I !) have been discussing how the Slimserver/Squeezebox combination could be radically improved for users of Classical music (who, lets face it, are not well served by any of the computer audio systems).

After much debate we've come up with a series of enhancement requests, which taken together should make a huge difference to this community of users.

As a bonus, we're pretty sure that some of them would also greatly improve the lot of other users, especially ones with complex music collections or unusual tagging or browsing requirements.

We've attempted to structure this as a series of changes, some of which could be done fairly quickly, which build up into something which is MUCH better than we have today.

So, there are now 6 new enhancement requests in bugzilla - please visit and vote! Discussion here, I presume.

1: http://bugs.slimdevices.com/show_bug.cgi?id=2696 - Recognise additional contributor type "performer"

2: http://bugs.slimdevices.com/show_bug.cgi?id=2697 - Allow alternate Orchestra and Ensemble tags for "band"

3: http://bugs.slimdevices.com/show_bug.cgi?id=2698 - Extend "Advanced Search" in Web interface for more tags

4: http://bugs.slimdevices.com/show_bug.cgi?id=2699 - Widen list of tags for browsing in Remote UI

5: http://bugs.slimdevices.com/show_bug.cgi?id=2700 - Allow User Defined Tag for Browse and Search

6: http://bugs.slimdevices.com/show_bug.cgi?id=2701 - Need ability to browse multiple tags in flexible order (Multi-Level Browse)

Of these, the last one is the most important - the others either lay necessary foundations or are interim measures. The last is also I think amenable to being done as a plug-in, once at least some of the others are done.

Looking forward to some comments and some votes!

Ceejay

radish
2005-12-09, 08:03
As someone who doesn't listen to classical but does have a fairly non-standard collection, pretty much all except number 2 would be great for me. The flexible multi-level browse (which I've also suggested in the past!) would also be a nice solution for those wanting seperate libraries (e.g. one for husband, one for wife) without having to add user profiles or whatever to slim. Just tag files with "his" or "hers" and then define that as the top level of the browse hierarchy. Nice!

jth
2005-12-09, 09:28
Thanks for taking the time to file these RFEs ... there has been
a lot of talk about making the "Classical" user experience better
the last few years but not much action. I'll be sure to add some
votes to the tally.

Listener
2005-12-09, 11:26
I was involved in the development of these requests and think they will really improve the browsing experience for a large classical music library.

As radish comment, specifying a user defined tag and browsing tags in the sequnce you need should have a variety of uses.

Do I need to vote in a poll somewhere?

Bill

ceejay
2005-12-09, 11:41
I was involved in the development of these requests and think they will really improve the browsing experience for a large classical music library.

As radish comment, specifying a user defined tag and browsing tags in the sequnce you need should have a variety of uses.

Do I need to vote in a poll somewhere?

Bill

Bill - to vote for these, simply visit the bug reports (links in the first email in this thread) and click the "vote for this bug" link. You will probably need to create an identity for yourself first, at bugs.slimdevices.com

Thanks for all your contributions!

Regards
Ceejay

DJMUK
2005-12-09, 14:06
Ceejay and Listener,

Thank you very much for all your time and hard work on this project. I am pleased to add my vote for each of the enhancement requests.

I am a relative newbie to classical music but now have a regularly growing collection of, at present, about 200 CD's, in addition to about 1,000 of other types of music. I am sure that what you have suggested will make finding/playing music so much easier. I have just about got my wife using the SB for popular music but she gives up and gets the CD out for classical. I am sure these changes would get that important wife approval not only for me but all of us!

The idea of user-defined tags would be most welcome. Before discovering the SB1 this time last year I used to use J.River Media Center v.11 to organise and play my music. One of its many useful features was the ability to store information in user-defined tags, either in its own database or in the files themselves, which could then be used for sorting, etc.

I now have 3 SB2's and am delighted with the quality of the audio with FLAC encoded files. Even if SlimServer were developed no further I would have no complaints. But with people like yourselves and the dedicated developers I am sure it will go from strength to strength. Itís amazing the improvements since I bought my first SB1 with SS 5.4. Enhancements such as these should also make the SB/SS combination more attractive to the Hi-Fi retailers (thus spreading the word further) as I would guess that a large proportion of their customers are into classical music.

Once again many thanks for your hard work and also to SD and the whole community for making this product so special.

David

tyler_durden
2005-12-12, 16:47
Is there any reason why the tags can't be expanded to a really useful size? It is not just classical music collectors who need expanded tags, but any large collection could use much more than the standard stuff.

I am thinking of record company disc catalog numbers, classical catalog numbers (like the BWV catalog numbers for Bach), orchestra, conductor, soloist, and several extra fields for piece designations, song genre (for nonclassical), links to related files (artwork, lyrics, sheet music, etc.), and etc. Also maybe a flag for a live recording which would automatically force tracks from the same CD to be played without interruption.

I can't imagine all this taking more than 1k or so, compared to a 20MB song file for FLAC encoded popular music, it wouldn't be noticed, while providing some serious search capability.

TD

ALYNN PENE
2005-12-12, 16:53
Whilst you are doing all these manly chores would it be possible, I'm only asking, to have a way to save my files to WAV and tag them like Flac can be done or have Slimserver recognise the data created by EAC and present it in the same format? Please.

mkozlows
2005-12-13, 00:09
6: http://bugs.slimdevices.com/show_bug.cgi?id=2701 - Need ability to browse multiple tags in flexible order (Multi-Level Browse)

Of these, the last one is the most important - the others either lay necessary foundations or are interim measures.

Okay, see, and this is why I'm so irritated at the weakening of Browse Music Folders in recent versions -- with the old Browse Music Folders, you could do arbitrary multi-level browse just by arranging your files properly, and that's a very useful thing to do. (As it stands, you can still do it, but you have to accept an ugly UI, which I won't.)

A well-supported arbitrary tag multi-level browse feature would be even nicer, though, due to the extra flexibility. I'd expect it'd be substantially harder to implement than just de-sucking the Browse Music Folders, though....

ceejay
2005-12-13, 00:36
Whilst you are doing all these manly chores would it be possible, I'm only asking, to have a way to save my files to WAV and tag them like Flac can be done or have Slimserver recognise the data created by EAC and present it in the same format? Please.

Don't think that's possible - the WAV format doesn't allow for tags, and if you somehow inserted some according to a home-made "standard" they would be broken files which wouldn't play in anything else. And if there are not tags, there is nowhere else for the data captured by EAC to be held - except in the file name, which brings us back to the Browse Music Folder discussion...

Try FLAC!

Regards
Ceejay

ceejay
2005-12-13, 00:49
Is there any reason why the tags can't be expanded to a really useful size? It is not just classical music collectors who need expanded tags, but any large collection could use much more than the standard stuff.

I am thinking of record company disc catalog numbers, classical catalog numbers (like the BWV catalog numbers for Bach), orchestra, conductor, soloist, and several extra fields for piece designations, song genre (for nonclassical), links to related files (artwork, lyrics, sheet music, etc.), and etc. Also maybe a flag for a live recording which would automatically force tracks from the same CD to be played without interruption.

I can't imagine all this taking more than 1k or so, compared to a 20MB song file for FLAC encoded popular music, it wouldn't be noticed, while providing some serious search capability.

TD


Nearly everything you've asked for is described for VORBIS tags at http://reactor-core.org/ogg-tagging.html, and many are mentioned in the enhancement requests I raised.

There are a few issues to be thrown into the balance in recognising every tag under the sun, though:

(1) should try to avoid tag definitions which are non-standard, i.e. unique to slimserver (though standards are extremely weak here)

(2) need to work out what to do with the various tag standards, ID3 being the worst I guess

(3) makes the tag reading and scanning process harder and longer (there are already enough complaints about that being slow)

(4) it all has to go in the database somewhere, you risk making lots of empty columns which hardly anyone is using

(5) you need UI code to do something with it which needs to be written and maintained

Listener and I attempted to strike a balance by adding a few "standard" defined ones which slimserver would know what to do with, then allowing a few user-defined ones which different people could use in different ways.

Having said all this, I'm convinced that we need a lot more than we have right now, hence the request! If you'd like to add some more commentary or ideas on the requests, just visit and add....

Thanks

Ceejay

Listener
2005-12-13, 01:27
> I'm only asking, to have a way to save my files to WAV
> and tag them like Flac can be done or have Slimserver recognise
> the data created by EAC and present it in the same format?

I tried a quick experiment. I added a WAV file to iTunes library and then used the Get Info command to add tags. That seems to work. The tags are probably in the iTunes database rather than in the WAV file. Slimserver might pick the tags up if you click on Use iTunes (music library and playlists) on the Slimserver's main Server Settings webpage.

Bill

Listener
2005-12-13, 02:03
...


(4) it all has to go in the database somewhere, you risk making lots of empty columns which hardly anyone is using

(5) you need UI code to do something with it which needs to be written and maintained

Ceejay

A couple of comments based on my current understanding of how Slimserver stores and uses tag values. That understanding is based on experimenting with Slimserver and with reading the source code.

On (4): Putting each tag into a separate column is not the only way to organize things. I don't think it is the right way if you want to broiwse and search on all the tags the user has placed in his music files.

The straightforward way to support a wide variety of tags is to store the tag values in a single track_tag table with a simple layout: a primary key column, a foreign key reference back to the table that stores track information, the name of a tag and the value of that tag for the track referenced.

When Slimserver reads a music file for a track, it can collect all the tracks and add them to the track_tag table. At that time, ID3 tag names can be replaced by corresponding English names.

When there are conflicts between ID3v1, ID3v2 , and OGG Vorbis tags, Slimserver can use the same sort of logic it uses now. I'd guess that Slimserver probably replaces ID3v1 tags by equivalent ID3v2 tags when both are present and replaces either IDv1 or IDv2 tags by Ogg Vorbis tags when there is a conflict. (Would there ever be a conflict between ID3v1 and Ogg Vorbis.)

This sort of approach allows for browsing or searching on whatever tags the user has placed in the files. It also allows for a very database driven UI implemented by a pretty small amount of code.

What's wrong with this approach? Why would we not do things this way? The current database has one or more tables for each of the tags that are central to Slimserver's operation: track, album and artist and genre. Tags are used to define entities such as Artist, Genre and most importantly, albums. So the most common tags are treated in a special way. Changing things might be too much to ask right now.

Some additional tags are stored in the artist table (Composer, Band, Conductor) and at present, they can be added to the Artist value and browsed or searched as additional artist values.

On (5): As I stated above, if the database stores all tag values for a track in a single track_tag table, the UI code can be pretty easy to test and maintain and not large in size.

I backed off on asking for a really general treatment of tags right now after getting a somewhat negative reaction for you and from Pat Farrell and after looking at the current database definitions. The enhancement requests you made ask for changes to function and do not specify anything about implementation.

I do not want to lose sight of the possibility of quite general handling of tags in Slimserver though.

Bill

ShorinSean
2006-02-26, 09:23
Hi all,

Thanks for the hard work in submitting the design change requests for classical users. My wife is a professional clarinetist with the East Texas Symphony Orchestra and the Dallas Wind Symphony, and as a result we have a large classical collection.

As new owners of iPods for the family, brand-new Squeezebox owner, and not-so-recently converted approximately 10,000 classical and jazz / popular CDs, one of the playback areas that's lack is the ability to select and play multi-movement "songs" as one. This is a real pain for my wife, and she has a short technology fuse. When I see her digging in the attic for the CDs I know we still have a usability problem :).

I see that iTunes uses the Grouping tag for this function, but I can't find a similar function for the squeezebox. Is there one? I scanned your enhancement requests but didn't see anything related to this?

And as long as I'm asking newbie question...is there a place where Slim Devices reports BACK on whether or not they've responded to an enhancement request. Is there a closed feedback loop?

Thanks,
Sean

ceejay
2006-02-26, 09:48
one of the playback areas that's lack is the ability to select and play multi-movement "songs" as one. This is a real pain for my wife, and she has a short technology fuse. When I see her digging in the attic for the CDs I know we still have a usability problem :).

I see that iTunes uses the Grouping tag for this function, but I can't find a similar function for the squeezebox. Is there one? I scanned your enhancement requests but didn't see anything related to this?


Well, this is why I and many others abuse the "Album" tag by using it to identify a multi-movement work... as described in the Wiki. I think this works pretty well already, it just takes a little effort when you are ripping.



And as long as I'm asking newbie question...is there a place where Slim Devices reports BACK on whether or not they've responded to an enhancement request. Is there a closed feedback loop?


If you visit the various enhancement requests in bugzilla, and you have created a bugzilla account (takes only a moment), you can both vote for any requests that you like, and also put your email down on a "notify" list, in which case you'll see any time the status changes.

HTH

Ceejay

jonheal
2006-02-27, 08:08
There has been much discussion of tagging deficiencies when it comes to classical music. Frankly, this has not been a huge issue for me, even though I have a fair amount of classical music in my collection. No, I can’t track what color shirt Mozart was wearing when he scrawled out Eine Kleine Nachtmusik, but the fields available for saving the basic information are robust enough to satisfy my needs.

First, some disclaimers: These comments apply to FLAC/Ogg tags. I can’t speak for ID3 tags. Don’t use ‘em. Also, ceejay has an issue with at least one of my practices – leaving the Artist tag blank in some instances, so I’ll add that these comments apply to SlimServer/SqueezeBox exclusively, although in my opinion, any software/player that can’t handle a blank artist tag gracefully is pretty lame.

Here’s the information I want saved with my classical music files:

- Name of piece
- Name of movement
- Composer
- Performing group
- Conductor
- Soloist(s)
- Date of recording

All of this information can be saved in the existing FLAC/Ogg tags.

When I Browse Artists on the SqueezeBox, I want composer’s, performing groups’ (orchestra/band/ensemble … whatever you want to call it) and soloists’ names to be listed along with the other (pop, jazz, etc.) artists’ names in my collection. If they are listed as such, I have up to three ways to zero in on a particular classical selection.

The other side of the coin to managing your classical collection is your filing methodology. Here’s what I do, and 99% of the time, it works great.

After I rip a CD, I create a root folder for its tracks. I name the folder <performing group - conductor>, i.e. “Chicago Symphony Orchestra – Charles Munch.” If there happens to be more than one orchestra/conductor, then I create a root folder for each. If the CD focuses on a soloist primarily, then I name the root folder after the artist, i.e. “Rubinstein, Arthur.” Inside of the root folder, I create one or more subfolders for each composer represented by the tracks, i.e. “Beethoven, Ludwig van.” Inside of this subfolder, I create third-level subfolders named for the pieces, i.e. “Symphony, No. 6 In F Major.” Into these third-level subfolders, I copy the individual tracks for the piece. In some instances, the tracks from a CD may end up in five or six or more subfolders, depending on the number of pieces that were included on the CD. The point of all of this is to create a virtual “album” for each discreet piece of music that appeared on the CD.

After I’ve created the folder structure for the tracks from the CD, I open Tag&Rename and renumber the tracks in the various subfolders so that they all start with “01.” For each track, I enter the name of the piece (Album Title), the title of the movement (Track Title), the composer (Composer), the name of the performing group (Orchestra/Band/Album Artist), the conductor (Conductor) and the year (Year). I leave the Artist tag empty unless a soloist or soloists appeared on that particular track.

The advantage to splitting up CDs into multiple “virtual albums” is that, for instance, when I want to listen to Beethoven’s 6th, I browse directly to it, rather than to track 4 of the album that contained both the 5th and the 6th symphonies (which is how it appeared on the CD itself).

Regarding leaving the Artist tag blank, I have to do a little more experimenting, but I am thinking that it should almost ALWAYS be blank, regardless of musical style, pop, jazz, classical or whatever. I think the Orchestra/Band/Album Artist tag is where that text belongs. I’m thinking that the Artist tag should be reserved for an artist that is specific to that track, not the “album” as a whole. The thing you don’t want is the same information in both the Artist and Orchestra/Band/Album Artist fields. That can lead to double listings on the SqueezeBox.

Your mileage may vary.

ShorinSean
2006-02-27, 21:09
Thanks for the thoughtful replies. The virtual albums is an innovative idea, once I get the time for it. I see a paraphrase of an old saying: "A digital library's tags are never finished - only abandoned". Or "There is always one more tag (to be tweaked)". That's why, even though none of the data in my digital library is irreplaceable, it's right at the top of the list of data to be regularly backed up with a USB drive and taken someplace safe!

Jon, I went to your home page to see your setup. I can't REALLY believe it always looks that clean with two little kids :).

- Sean

jonheal
2006-02-28, 03:46
Thanks for the thoughtful replies. The virtual albums is an innovative idea, once I get the time for it. I see a paraphrase of an old saying: "A digital library's tags are never finished - only abandoned". Or "There is always one more tag (to be tweaked)". That's why, even though none of the data in my digital library is irreplaceable, it's right at the top of the list of data to be regularly backed up with a USB drive and taken someplace safe!

Jon, I went to your home page to see your setup. I can't REALLY believe it always looks that clean with two little kids :).

- Sean
Right you are! Generally, it's a pig sty. I should put up a picture that shows what it usually looks like around here. Of course my wife would probably KILL me.

jonheal
2006-03-01, 06:37
Thanks for the thoughtful replies. The virtual albums is an innovative idea, once I get the time for it. I see a paraphrase of an old saying: "A digital library's tags are never finished - only abandoned". Or "There is always one more tag (to be tweaked)". That's why, even though none of the data in my digital library is irreplaceable, it's right at the top of the list of data to be regularly backed up with a USB drive and taken someplace safe!

Jon, I went to your home page to see your setup. I can't REALLY believe it always looks that clean with two little kids :).

- Sean
Sean,

I spent about two hours organizing my collection of about 60 classical CDs and cleaning up their tags. If you had a collection of 300, I suppose you could devote a weekend to the project. If you had 2,000, ugghhhh.

tom permutt
2006-03-01, 07:37
Well, this is why I and many others abuse
the "Album" tag by using it to identify a multi-movement
work... as described in the Wiki. I think this works pretty
well already, it just takes a little effort when you are
ripping.
It is a good idea given the limitations, and I do it, but I
don't think it "works pretty well." What's wrong with it is
sometimes a classical piece is more like a song than an album.

I would sometimes like to hear a random playlist like

1. Beatles, Can't Buy Me Love
2. Bach, Brandenburg Concerto No. 3 (all three movements)
3. Panacea, Sandansko Horo (Check it out! magnatune.com)
4. Schubert, Du Bist die Ruh'

I don't necessarily want a whole Beatles album or a whole
lieder recital (or even, perhaps, a whole song-cycle), which is
what I get when I shuffle By Album. I certainly don't want
just the second movement (if the CD happened to call it a
"movement") of the Brandenburg, which is what I get when
I shuffle By Song! (It's written as two chords and usually
performed these days as a candenza and two chords.)

ceejay
2006-03-01, 12:36
It is a good idea given the limitations, and I do it, but I
don't think it "works pretty well." What's wrong with it is
sometimes a classical piece is more like a song than an album.



Tom,

of course you're right, this is a long way from perfect, I guess it depends on how much you think "pretty" weakens "well" !! What I suppose I meant is that I'm satisfied that, nearly all the time, I can lay my hands on the music I want.

I quite agree that the scenario you've described is not well catered for... I suspect there probably is an answer lurking somewhere around the use of the PART and PARTNUMBER tags (in Vorbis at least): have the same TITLE for each movement of a Piece, and vary the PART (eg "Allegro") and PARTNUMBER (eg "3").

This would be better, though I think it would require quite a bit of reworking across slimserver and its plugins, which was one reason why it didn't make it into the set of Enhancements which started off this thread - I was trying to make them relatively easy to implement.

You'd also risk confusing other players if they saw multiple identical TITLEs and didn't know to look in PART to work out what to do with them.

Can you think of any other ways of achieving what you want?

Regards
Ceejay

tom permutt
2006-03-01, 17:56
Ceejay - I'm sure you're right. The information we want cannot quite be encoded as Title or as Album, because it doesn't match either for other kinds of music. So, it needs another tag, but that won't do any good until players recognize it.

Technically, I think the best right-now solution might be to rip classical works as single tracks. I don't really understand why individual movements got to be "songs" in the first place. But nobody's going to want to do that. Even if someone wrote a script to assemble the pieces automatically, I'm sure it would make people uneasy. From comments about EAC, normalization, and even absolute phase, I have gathered that it's important to people to have exact copies of what's on their CDs, even when they believe what's on the CDs is not exactly what they want to hear.

But, come to think of it, we wouldn't really have to mess with SlimServer proper that much. Rather, all I really want is a program to create a random playlist, respecting my notion of what a quantum of music is. That notion, as you suggest, could be encoded in an additional tag. "Genre" would almost work, but let's not start wrong by overloading that, either.

ceejay
2006-03-02, 01:11
Technically, I think the best right-now solution might be to rip classical works as single tracks. I don't really understand why individual movements got to be "songs" in the first place. But nobody's going to want to do that. Even if someone wrote a script to assemble the pieces automatically, I'm sure it would make people uneasy.

Indeed, I don't think I'd want to merge all the movements of a piece... if nothing else, it makes a very helpful set of navigation points. And, just occasionally, I want to play a single movement.

So lets have a think about how you could do this *without* breaking other applications.

One way would be to have a new tag - say SHUFFLEMODE - which could be set to either TRACK or ALBUM and gets scanned into the database. You could then give the Random Play plugin a mode in which it reads this tag, and then - when it randomly picks a track in which SHUFFLEMODE=ALBUM - goes and gets the other tracks of the album and puts them all in in the right order. You could make this simpler by calling the tag SHUFFLEMODEBYALBUM, so its either there or not, but one day someone will think of more shuffle modes so I think my first idea is more extensible.

That would have the advantages of
- not breaking any other applications reading these files
- not requiring lots of rework in slimserver (at least, not as much as if you reinvented the whole track/album/part model)

but the disadvantages of
- you've just invented a nonstandard tag which would be unique to slim
- does require an extra column in the database (and therefore extensions to multiple places in the code, I suspect)

As you say, you could also overload the Genre tag if you wanted a quick and dirty solution. This would actually work for me, as I already have multiple Genre tags: just add the genre "Shufflebyalbum" to every relevant track. Actually, if you were making the plugin flexible, you could allow the user to define the genre value(s) which trigger this behaviour, which would give users the easy option of just saying that all "Classical" music gets this treatment.

Having said all that, this wouldn't be a huge priority for me personally but if others feel strongly then you could always post the enhancement request.

Or perhaps there's another way?

Regards
Ceejay

tom permutt
2006-03-02, 08:09
Nearly. I think there is an unnecessary and undesirable extra layer of indirection in the scheme Ceejay suggests. If there is going to be an extra tag, it should just be WORK, rather than an indicator of whether WORK=ALBUM or WORK=SONG. (That requires you to respect the ALBUM=WORK convention. But if you are going to the trouble of adding an extra tag anyway, you don't need to.) For ordinary songs, either you could set WORK to the same value as TITLE in ripping; or it could just be a convention that if WORK is missing, it means the work is the song.

As I said, I don't think major surgery on SlimServer itself is needed. Really I'd just like a plug-in, or even a standalone program, that makes a random list of WORKs. But, no, probably not enough to write it, nor, therefore, enough to lobby hard for someone else to write it.

The slight trouble with using GENRE=CLASSICAL as the indicator is that there are some discs that you would probably call CLASSICAL, tag as a single ALBUM, and yet _not_ want handled as single WORKs: e.g., 10 tenor arias in a row (by Gigli, of course).

ceejay
2006-03-02, 10:40
Tom

Agreed that the SHUFFLEMODE idea is a bit clumsy. WORK is better, as you say you could have an assumption that WORK=TRACK if absent.

You'd still have to modify the code that creates the database and populates it during the scanning process (which would be a good time to make the WORK=TRACK assignment). This means that a standalone plugin would not be enough, using this approach.

Whereas using a genre value would not require any change to the database or scanning process, so could definitely be done as a plugin (or amendment to an existing one, more likely).

Also agreed that simply using the CLASSICAL genre would not always work, I think a userdefinable Genre would be better - I meant that having this facility would at least open the option up for someone to use CLASSICAL as a quick fix.

I'm sufficiently curious that I might even have a look myself...

Ceejay

Bill Jackson
2006-08-23, 19:20
I have posted a modified FLAC.pm on the Beta forum http://forums.slimdevices.com/showthread.php?t=26660 that addresses requests 1 and 2, as well as supporting works with multiple movements.