More > Media Center 12 (Development Ended)
Discussion: Classical Music
darichman:
Other discussion threads:
Discussion: Interface, Views & Tagging (http://yabb.jriver.com/interact/index.php?topic=45758.0)
Discussion: Photo Handling (http://yabb.jriver.com/interact/index.php?topic=45759.0)
Discussion: Classical Music (http://yabb.jriver.com/interact/index.php?topic=45824.0)
Classical music is different from Popular music for a number of reasons.
The default fields (artist, album, year) simply don't cut it as:
- each piece will have multiple artists (composer, conductor, performer, arranger, orchestra/ensemble)
- tracks will belong to a physical album (eg Best of Bach) and to a work (eg Brandenburg Concertos) so a single album tag won't suffice...
- there can be a multitude of dates for the same piece (date written, date performed, date the album was released)
So when we deal with classical music, theres a few things we need to consider.
Please note that this is of course only one way of doing it! Everyone has different tastes and different needs, so it's important to fiddle around and find what's best for you...
STEP 1: DEFINING YOUR GENRES
First of all, we need to decide on a system of genres. Classical is very non-descriptive, and if you have a large classical collection, a single genre like this to cover hundreds of years of classical styles and movements is like setting the [Genre] field of all your modern music to Popular
This will be different depending on your individual tastes. Personally, I organise all of my music (classical & popular) by three levels of genre: [Genre 1], [Genre 2] & [Genre 3]. All are custom, list-type fields. I do not use the standard [Genre] field.
[Genre 1] = the uppermost level of organisation. For classical music, I use the period it was written in
Middle Ages
Renaissance
Classical
Baroque
Romantic
20th Century
[Genre 2] = major styles of music within each period
Avant-Garde
Ballet
Band Music
Chamber Music
Choral Music
Concerto
Keyboard Music
Opera
Orchestral Music
Symphony
Vocal Music
[Genre 3] = specific styles of music
Too many to list them all, but: Concerto, Symphony, Prelude, Fugue, Waltz etc
I try to use information from cduniverse or AMG where available
darichman:
STEP 2: SETTING UP YOUR FIELDS
Classical music has a multitude of contributors to a single piece of music. MC has many standard fields (some of which well use), but it is necessary that we set up some of our own fields to catalog this data. To add a custom field: Tools - Options - Library & Folders - User Library Fields - Add Field
Here is a list of all the fields I (try to!) fill in when tagging classical music:
Eg. Bach's: Brandenburg Concerto No.1 BWV 1046 in F Major I. Allegro
[Default Field]
[Custom Field]
[Composer] = Bach, Johann Sebastian
[Artist] = Johann Sebastian Bach
[Album] = Brandenburg Concertos 1-6 (ie the CD album purchased)
[Performer] = Emanuel Hurwitz (Violin); Peter Graeme (Oboe); Ifor James (French Horn); Anthony Randall (French Horn)
[Conductor] = Benjamin Britten
[Band] = English Chamber Orchestra (ie the orchestra or ensemble)
[Genre 1] = Baroque
[Genre 2] = Chamber Music
[Genre 3] = Concerto
[Works 1] = Concertos and Orchestral Suites
[Works 2] = Brandenburg Concertos
[Classical: Title] = Brandenburg Concerto No.1
[Classical: Name] = -- (ie common name of piece: not used for this piece)
[Classical: Opus] = BWV 1046
[Classical: Number] = -- (used for opus parts: eg Op. 7 No. 4 not used for this piece)
[Classical: Movement] = I. Allegro
[Key] = F Major
[Classical: Piece] = Calculated expression to format above info (see below)
[Date Written] = 1721
[Date Recorded] = 1995
[Date Released] = 1995
Note You can put what you want into the artist field, as all the specific artist info (conductor, composer, performer etc) is safely in the respective field
darichman:
STEP 3: DISPLAYING YOUR WORK
As seen in the screenshot, you can then create view schemes to view the information in pretty much any way you want. I wont go into how to create view schemes, as the wiki covers that info pretty well...
I also put together an expression (as a new field: "Piece") based on the above fields, which formats the output based on which fields are filled... ie Brandenburg Concerto No.1 BWV 1046 in F Major I. Allegro
Create a new field I called it [Classical: Piece] and set field type to Calculated
Copy the expression below into field (yes its a long one!)
--- Code: ---if(IsEmpty([Classical: Title]), if(IsEmpty([Classical: Opus]), if(IsEmpty([Key]), if(IsEmpty([Classical: Movement]), if(IsEmpty([Classical: Name]), , /([Classical: Name]/)), if(IsEmpty([Classical: Name]), [Classical: Movement], [Classical: Movement] /([Classical: Name]/))), if(IsEmpty([Classical: Movement]), if(IsEmpty([Classical: Name]), , /([Classical: Name]/) in [Key]), if(IsEmpty([Classical: Name]), [Classical: Movement] in [Key], [Classical: Movement] in [Key] /([Classical: Name]/)))), if(IsEmpty([Classical: Number]), if(IsEmpty([Key]), if(IsEmpty([Classical: Movement]), if(IsEmpty([Classical: Name]), [Classical: Opus], [Classical: Opus] /([Classical: Name]/)), if(IsEmpty([Classical: Name]), [Classical: Opus] [Classical: Movement], [Classical: Opus] [Classical: Movement] /([Classical: Name]/))), if(IsEmpty([Classical: Movement]), if(IsEmpty([Classical: Name]), [Classical: Opus] in [Key], [Classical: Opus] in [Key] /([Classical: Name]/)), if(IsEmpty([Classical: Name]), [Classical: Opus] in [Key] [Classical: Movement], [Classical: Opus] in [Key] [Classical: Movement] /([Classical: Name]/)))), if(isequal([Classical: Number],--,1), if(IsEmpty([Key]), if(IsEmpty([Classical: Movement]), if(IsEmpty([Classical: Name]), [Classical: Opus], [Classical: Opus] /([Classical: Name]/)), if(IsEmpty([Classical: Name]), [Classical: Opus] [Classical: Movement], [Classical: Opus] [Classical: Movement] /([Classical: Name]/))), if(IsEmpty([Classical: Movement]), if(IsEmpty([Classical: Name]), [Classical: Opus] in [Key], [Classical: Opus] in [Key] /([Classical: Name]/)), if(IsEmpty([Classical: Name]), [Classical: Opus] in [Key] [Classical: Movement], [Classical: Opus] in [Key] [Classical: Movement] /([Classical: Name]/)))), if(IsEmpty([Key]), if(IsEmpty([Classical: Movement]), if(IsEmpty([Classical: Name]), [Classical: Opus] No. [Classical: Number], [Classical: Opus] No. [Classical: Number] /([Classical: Name]/)), if(IsEmpty([Classical: Name]), [Classical: Opus] No. [Classical: Number] [Classical: Movement], [Classical: Opus] No. [Classical: Number] [Classical: Movement] /([Classical: Name]/))), if(IsEmpty([Classical: Movement]), if(IsEmpty([Classical: Name]), [Classical: Opus] No. [Classical: Number] in [Key], [Classical: Opus] No. [Classical: Number] in [Key] /([Classical: Name]/)), if(IsEmpty([Classical: Name]), [Classical: Opus] No. [Classical: Number] in [Key] [Classical: Movement], [Classical: Opus] No. [Classical: Number] in [Key] [Classical: Movement] /([Classical: Name]/))))))), if(IsEmpty([Classical: Opus]), if(IsEmpty([Key]), if(IsEmpty([Classical: Movement]), if(IsEmpty([Classical: Name]), [Classical: Title], [Classical: Title] /([Classical: Name]/)), if(IsEmpty([Classical: Name]), [Classical: Title] [Classical: Movement], [Classical: Title] [Classical: Movement] /([Classical: Name]/))), if(IsEmpty([Classical: Movement]), if(IsEmpty([Classical: Name]), [Classical: Title], [Classical: Title] /([Classical: Name]/) in [Key]), if(IsEmpty([Classical: Name]), [Classical: Title] [Classical: Movement] in [Key], [Classical: Title] [Classical: Movement] in [Key] /([Classical: Name]/)))), if(IsEmpty([Classical: Number]), if(IsEmpty([Key]), if(IsEmpty([Classical: Movement]), if(IsEmpty([Classical: Name]), [Classical: Title] [Classical: Opus], [Classical: Title] [Classical: Opus] /([Classical: Name]/)), if(IsEmpty([Classical: Name]), [Classical: Title] [Classical: Opus] [Classical: Movement], [Classical: Title] [Classical: Opus] [Classical: Movement] /([Classical: Name]/))), if(IsEmpty([Key]), if(IsEmpty([Classical: Movement]), if(IsEmpty([Classical: Name]), [Classical: Title] [Classical: Opus], [Classical: Title] [Classical: Opus] /([Classical: Name]/)), if(IsEmpty([Classical: Name]), [Classical: Title] [Classical: Opus] [Classical: Movement], [Classical: Title] [Classical: Opus] [Classical: Movement] /([Classical: Name]/))), if(IsEmpty([Classical: Movement]), if(IsEmpty([Classical: Name]), [Classical: Title] in [Key] [Classical: Opus], [Classical: Title] in [Key] [Classical: Opus] /([Classical: Name]/)), if(IsEmpty([Classical: Name]), [Classical: Title] in [Key] [Classical: Opus] [Classical: Movement], [Classical: Title] in [Key] [Classical: Opus] [Classical: Movement] /([Classical: Name]/))))), if(isequal([Classical: Number],--,1), if(IsEmpty([Key]), if(IsEmpty([Classical: Movement]), if(IsEmpty([Classical: Name]), [Classical: Title] [Classical: Opus], [Classical: Title] [Classical: Opus] /([Classical: Name]/)), if(IsEmpty([Classical: Name]), [Classical: Title] [Classical: Opus] [Classical: Movement], [Classical: Title] [Classical: Opus] [Classical: Movement] /([Classical: Name]/))), if(IsEmpty([Classical: Movement]), if(IsEmpty([Classical: Name]), [Classical: Title] in [Key] [Classical: Opus], [Classical: Title] in [Key] [Classical: Opus] /([Classical: Name]/)), if(IsEmpty([Classical: Name]), [Classical: Title] in [Key] [Classical: Opus] [Classical: Movement], [Classical: Title] in [Key] [Classical: Opus] [Classical: Movement] /([Classical: Name]/)))), if(IsEmpty([Key]), if(IsEmpty([Classical: Movement]), if(IsEmpty([Classical: Name]), [Classical: Title] [Classical: Opus] No. [Classical: Number], [Classical: Title] [Classical: Opus] No. [Classical: Number] /([Classical: Name]/)), if(IsEmpty([Classical: Name]), [Classical: Title] [Classical: Opus] No. [Classical: Number] [Classical: Movement], [Classical: Title] [Classical: Opus] No. [Classical: Number] [Classical: Movement] /([Classical: Name]/))), if(IsEmpty([Classical: Movement]), if(IsEmpty([Classical: Name]), [Classical: Title] [Classical: Opus] No. [Classical: Number] in [Key], [Classical: Title] [Classical: Opus] No. [Classical: Number] in [Key] /([Classical: Name]/)), if(IsEmpty([Classical: Name]), [Classical: Title] [Classical: Opus] No. [Classical: Number] in [Key] [Classical: Movement], [Classical: Title] [Classical: Opus] No. [Classical: Number] in [Key] [Classical: Movement] /([Classical: Name]/))))))))
--- End code ---
Save the field and youre done
You can then copy this field to the [Name] field if you wish, or use it in rename file from properties.
That way you can fill out whichever fields you've got the information for, and still get a nice clean display to browse your classical music...
Click to enlarge.
darichman:
FUTURE DIRECTIONS
There has been some talk of giving YADB an overhaul to properly handle classical music.
In my opinion, for this to happen, YADB would need to be split into two separate databases: one for classical music and one for popular music, as the search and tagging requirements are significantly different between the two.
A search interface would probably have to be developed, where the user could select which fields are to be searched (eg composer, work etc) and which fields are to be filled.
In order for this to happen, MC would also need to make some standard fields for classical music (like some of those described above). The users of MC would need to agree on whats included and what theyre called.
Listener:
I think that Darichman's posts describe one way of tagging classical music. There is no need to force everyone to use the genres he suggests.
MC 12 is almost unique in providing the features you need to rip, tag and play classical music in a sensible way.
1. You can use Composer, Conductor and Band/Orchestra tags with the same power as the Album, Artist and (track) Name tags other tools support. You can also use database fields you define. You ndon't have to stuff the Composer name into the Album, Artist or Name tags.
2. You can tag your files as you want them when you rip CDs or when you import files. You can also edit all the tags and database fields at any time in MC 12.
3. You can set up View Schemes with filter criteria and panes to support browsing the way you want it.
MC 12 is as close to heaven as you are going to get for classical music. What's missing?
- No MC documentation explains how to use these marvelous features to organize a classical music library in a sensible way.
The MC 12 manual and/or the Wiki needs some good material explaining concepts and then providing some step-by-step now-tos.
- The YADB database isn't much use for classical music. For classical music, I just typed my own tag values. MC 12 has lots of nice tag editing features that make it pretty fast and nearly routine but manual tag value entry should not be necessary. There are several sticking points:
a. The current YADB doesn't have a separate Composer field. A lot of work will be required to get this information in place.
b. The current YADB doesn't have a consistent approach for storing the Composer name. Sometimes it is stored in the Artist tag. Sometimes it is stored in the Album field along with the work name. (The performers name is not stored in a consistent way.) A lot of work would be needed to remove the Composer name from these other fields and to put the performer name and the work name in consistent places.
c. Consistent spelling and order for Composer, performer, work name and movement will be necessary.
d. Since portable players don't provide good support for the Composer tag, some way will be required to map the new tag values to tags that your favorite portable player can use.
e. Some users have already bent themselves into pretzels using just the Album, Artist and (track) Name tags. You have to continue accommodate them.
Most YADB entries probably have both the Composer name and the performer name somewhere in the standard set of tags. With tables of common composer name and performer names, you might be able to write some code that rearranges the contents (and standardizes spelling.) It would not be perfect but it would provide a start.
Sorry, Darichman. I'm stuck on the basics of just being able to find Beethoven's Symphony No. 1 performed by George Szell and the Cleveland Orchestra in a library of over 2000 CDs. I counted 14 performances of that work in my library. I use a Sun_genre tag like your tag 2 to keep the list of works by a single composer. (Haydn wrote over 100 symphonies, a lot of string quartets and a lot of trios. I just want to shorten the list I have to browse.)
Bill
Navigation
[0] Message Index
[#] Next page
Go to full version