Talk:Classical Music Support

From Muso wiki
Revision as of 18:48, 5 April 2013 by MDE (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Please feel free to add to this discussion. However if you want to edit please make the edit clear.

INTRODUCTION

I'm sure I'm not the only person who has started to rip CDs from their classical music collection and pretty soon got disheartened by the banal fashion with which it is treated by most music software. Practically all the software available is based on a paradigm that says there is a Song by an Artist on an Album. It may allow for a Composer as well, but still assumes that all composers write songs.There should (in theory) be at least two big benefits of ripping your collection: (1) the reduction in shelf space and (2) the ability to quickly locate the music you want. Most software achieves (1) but is not much help as regards (2). At the same time, now that the physical CD case is not to hand when the music is playing, you would like to see some information about it. Frequently this is rudimentary. And of course, you don't want to put in too much work to achieve the required result.This discussion is based on my approach to resolving these problems; an approach which I am sure will evolve over time. At the centre of this is the excellent "Muso" software which, for the first time, gives the classical music lover a "CD Insert" view of their albums coupled with powerful searching and linking facilities, plus an ability to play to either Logitech Media Server ("LMS" - formerly Squeezebox Server) or iTunes.

WHAT'S THE PROBLEM?

There are five main hurdles to be faced in ripping and streaming classical CDs (some of which also apply to jazz albums) in a way that satisfies the music lover, rather than the casual listener.

  1. Poor availability of metadata, particularly when the album has a variety of ensembles, conductors, soloists, instruments etc.
  2. Lack of complete structure: failure to deal with the fact that much classical music has movements as parts of larger works which are not the same as physical albums.
  3. A focus on the Artist rather than the Composer (even assuming the latter is displayed/accessible).
  4. Player information screens usually limited to Song, Artist and Album.
  5. Lack of integration of sleevenotes into the experience.

This has meant that either the classical music lover has had to settle for a poor compromise or (in many cases, I suspect) just give up. Even very expensive streaming hardware comes with fairly rudimentarytools for getting value from your CD collection. Unless you have plenty of money and pay someone else to rip your collection for you, the investment of time required to do it, given the quality of the resulting experience, does not seem worth it. I decided to go the Logitech Squeezebox Touch route because at the time it seemed a good value DAC with a flexible software solution. Whilst in retrospect I still think this was a good choice, even with the addition of Custom BrowseI became frustrated and disappointed.

A SOLUTION IN SIGHT

Thankfully it would seem that things are starting to improve. Partly this is because of the growth in the digital download market for classical music and improving metadata libraries. However, the major development for me was the purchase of the "Muso" software which deals with several of the problems described.My approach in outline is now:

  1. Rip the CDs to FLAC using dBpoweramp CD Ripper. This provides access to the best metadata available on the web, plus artwork. FLAC files are lossless, but compressed to save space, and provide for a limitless number and variety of tags for metadata.
  2. Review the ripped discs in Mp3tag. I can easily see if tagging errors were made on ripping and correct them. Depending on the type of CD (see details below), I then run an automatic macro action that optimises the tags for Muso and the player software (in my case LMS and iTunes).
  3. Import the music to the main library and Muso and check it looks right.
  4. Convert the FLAC files to mp3 using dBpoweramp Batch Converter and import to iTunes (I only do this so that I can sync to my iPod and have a portable version).
  5. Browse/search music in Muso and queue it to play via LMS on the Squeezebox touch(es). {Alternatively, queue the music to iTunes and then sync the playlist with the iPod to play in the car etc.}

This still involves a bit of human review along the way, particularly to fix any shortcomings in the available metadata and each action stage needs to be initiated manually, so a little organisation is required.
Take a look at the #THE_PAYOFF section to see what the result looks like.

OBJECTIVES

This section sets out what we are trying to achieve. Others may wish to do things slightly differently. Hopefully by setting out my objectives here, any differences in requirements can be identified and the approriate changes made.

The key components of the player system are:

  • Muso - to organise libraries and to view and queue music to play from the server to the player(s);
  • LMS - to play the music on the SB Touch players and to display the now playing info on the screens; limited use for selecting music to play;
  • iPod touch (or iPhone)- to control the above; also to select and play music when not connected to the server, using the native player.

In each case, we are trying to deal with the two main requirements, namely (1) to handle the structure of classical music and (2) to provide a rich set of metadata. In Muso, this is easily achieved as it is specifically designed with thesepurposes in mind - the album is displayed in a "CD Insert" format with tracks grouped as appropriate and all artist and composer information given; music can then be chosen either by browsing, through multi-dimensional hierarchies,or by searching and filtering. With LMS and the iPod Touch player, it is not so straightforward. It is possible to use the "custom tag" and "custom browse" plug-ins for LMS, but I find those slightly complex and they also appear to slow down the LMS scanning considerably; also once you have Muso, you will find that you rarely use LMS for browsing and selecting music. The approach I use is to store all the metadatain custom "base" tags and then construct the standard tags from these to meet the objectives, as set out below:

For LMS:

  • Set the album tag to be the description of the work, including the composer's name, in the format "Composer: Work". This enables works to be displayed on the SB Touch screen (in the 3rd line) an to be found in the album list.
  • The CD should be stored in its own folder on the server. This enables it to be found via the folder structure menu in LMS.
  • Since the work/opus is in the album name, the title (the 1st line on the SB Touch screen) can simply be the movement.
  • The artist information (the 2nd line on the SB Touch screen) is then set to hold all the artist info you want, e.g. Swiss Radio Chorus of Lugano; I Barocchisti (Cond. Diego Fasolis); Feat. Lena Lootens (soprano); Roberta Invernizzi (soprano); Gloria Banditelli (alto); Marco Beasley (tenor); Antonio Abete (bass).

Note that using the tags in this way does not intefere with Muso's display as Muso draws its information from the "base" tags. Control over the LMS players can be exercised by any of the available controller apps(Squeezebox, iPeng, Muso etc).

For the iPod player:

  • Let the album tag just be the CD name. This means that CDs can be found in the iPod using the album menu.
  • Set the "Contentgroup" tag to be the work/opus and build playlists for these sorted by composer. This makes it easy to find works on the iPod. (There is a neat and easy way to do this using iTunes Library Toolkit!)
  • Set the title as being in the format "Movement: Work {Composer}" so this provides all the information about the work.
  • The artist is set the same way as LMS.

Note that the above remarks deal with tracks that are part of a larger opus. For different structures, there are slight variations to these requirements.

THE DETAILS

So to the nuts and bolts.
The key to everything is the metadata structure, so that is discussed in some detail first, followed by further details of each of the steps described above.Before considering the detailed tags, I think it is useful to consider the macro-level structure of the actual CDs and what we are trying to achieve with each.

Types of CD

In order to optimise the use and display of tags, two major types of CD are identified (each with a variant). {Note that the term "CD" is taken to be any album set which forms a unit, so it could be more than one physical disc.}

"Opus" (and "Book") types

These are CDs where the works are generally multi-movement. A tag will be defined for both the Opus and the Movement. On the web-sourced metadata, the Title is typically "Opus: Movement", although I note that a certain high-end purveyor of hardware and dowloadable studio-quality music uses "Opus - Movement" and then uses further hyphens in the movement itself. For large works (e.g. operas) where the CD (or box set) is just that work, then it is useful to define the work in more than one level: "Book" is used for the top level and "Opus" for the lower level. For example, in Handel's Messiah, the Book might be "Messiah" and the Opus "Part I". The plan is that Muso will display a nice hierarchical structure just like the CD insert. On playing in LMS/iTunes, the Album will be the name of the Opus (or "Book - Opus") prefixed by the Composer.

"Song" types (one or more composers)

These are "simple" albums with no hierarchy. They will just be displayed as lists in Muso. For single-composer albums, the composer name will prefix the album, otherwise it will be in a suffix to the title.

Tags

FLAC files allow any tag names, and any number of them, to be used. The actual names are not important unless they are "standard" tags used in particular ways by particular software (including Muso). See Attribute_Mapping for details of standard tags. My basic philosophy is to use custom "base" tags for the key metadata and then (re-)construct the standard tags from these. As much as possible, this process is automated. In this way, the standard tags can always be re-configured as software requirements and capabilities change. Re-tagging is an activity to be avoided. Mp3tag is used to facilitate this.

The tags and how they are derived and used are set out below. The sequence shown is the one that I use in the "panel" in Mp3tag (although I do not display them all, the others can be accessed via "extended tags"). Multiple entries in tags should be separated by ; (NB do not use any ; in string in a tag except to separate multiples).

Title

Derived from:- Web-sourced metadata.
Initially, on ripping, this should be the opus (if any) followed by the movement, separated by a colon. This is a (fairly) standard naming convention for classical tracks. Check that only one colon is present.The tag is subsequently modified for display purposes.

Artist

Derived from:- Web-sourced metadata.
For displaying on the player, the names of all significant performers are required. This is built automatically by an Mp3tag action. When ripping, this tag should only contain the name of the principal soloist (or maybe two, for duets etc.). The orchestra, conductor, composer etc. are in other tags.

Artist Sort

Derived from:- Web-sourced metadata.
This should be created on ripping by Metadata in Options setting. Check it reflects the artist.

Album

Derived from:- Web-sourced metadata. Will require editing and is subsequently changed by tagging actions.
Initially this should be exactly the name of the CD or box set that you want to see under Muso. However, there is merit in using a prefix of "Composer(s): " as this helps to sequence folders and playlists (see further details below). For "Opus" type albums we are aiming for an eventual display of "Composer: Opus" or "Composer: Book - Opus".

Genre

Derived from:- Web-sourced metadata. May require editing.
I use a classical sub-type (see box 3 - tbc) for all works where composer/conductor are key. Otherwise 'Rock' etc. Do not use "Classical". The alternative is to use another tag for sub-genre. [EDIT REQUIRED]

Comment

Derived from:- User.
Any additional information about the album (shows in Album sub-header in Muso).

Album artist

In general, leave blank. Interpreted differently by software. Muso will infer from other tags. For Muso to group the album together, the "folder" option needs to be selected in the database edit. For classical albums, Muso will treat the composer as the Titled Artist if the composer is the same on every track. See also <a href="http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Encouraged_Tag_Standards#ALBUM_ARTIST">http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Encouraged_Tag_Standards#ALBUM_ARTIST</a> . iTunes may require either an album artist or a compilation flag to be set in order to group all tracks together in the one album: this is a matter of preference and may be best fixed within iTunes.

Composer

Derived from:- Web-sourced metadata.
Full name. Use hyphens etc. to prevent splitting words on sorting.

Composersort

Derived from:- Web-sourced metadata or automatic from Composer
Surname, First name (if not present, it will be created later by Mp3tag action)

Composerlastname

Derived from:- Automatically from ComposerSort
Surname

Arranger

Derived from:- User.
Name of arranger, if any. Generally not shown separately in web-sourced metadata.

Period

For Classical Genre: Medieval, Renaissance, Baroque, Classical, Romantic, Modern. For other (popular) genres: decade (e.g. 1970s). Can be left for Muso to work out from Composer.

Book

Derived from:- User.
Larger body of work (see notes above).

Opus

Derived from:- Automatically from Title.
Name of work. Should be identical with the first part of the title. If an opus just comprises a single track, then the opus and title can be identical [EDIT - CHECK THIS] (mp3tag action creates automatically, so get it right in the Title when ripping). Check to see if the opus appears elsewhere in the collection and use consistent naming. Also use opus numbers and catalogue numbers (plus wikipedia to check official opus names if nec. - see http://www.jsbach.org for Bach BWVs and titles).

Band

Derived from:- Web-sourced metadata or user.
Name of the Orchestra or group (multiple bands supported, separated by semicolon)

Conductor

Derived from:- Web-sourced metadata or user.
Conductor's full name.

Mainperformer

Derived from:- Automatically from Artist.
The main artist for the track. Not Band or conductor here (possible exception if the conductor is also playing as lead artist/director).

Instrument

Derived from:- Web-sourced metadata or user.
The instrument of the MainPerformer, if relevant. If more than one MainPerfomer, then list instruments in the same order.

Performer

Derived from:- Web-sourced metadata or user.
Name of any soloists or other featured individuals other than the main performer (separate by semicolons). Include instrument in brackets if required.

CDName

Derived from:- Automatically from Album.
This is then used as the source of the album name in Muso and the playlist in iTunes.

Movement

Derived from:- Automatically from Title.
Section of the work. Should be identical to the second part of the title (mp3tag action creats automatically, so get it right in the Title when ripping).

Work

Derived from:- Automatically from "Book - Opus"
An intermediate tag. Also used to feed "Style" tag on conversion to mp3 which feeds iTunes Grouping.

The Process

This section sets out my process for ripping, retagging and importing classical music.

Step 1: Rip the CD's

Read the CD, using dBpoweramp CD Ripper. It will be ripped to a folder such as: Music\Newly-Ripped CDs. Each CD (or set) will have its own folder. Multiple discs will be in sub-folders. A pre-defined "profile" in dBpoweramp is used to do this, giving the files a filename of "\[album]\[IFMULTI]Disc [disc]\[track] [title]" (In fact I shorten the title to avoid filenames getting too long). This Profile also should set metadata and tag ID options to create sorted composer tags etc. plus create new tags (in options) for Opus, CDName (=Album), Movement, Period, Instrument.

NB: Before ripping it:

  • Amend Album name, if necessary, to begin with Composer or other lead artist(s) surname, followed by colon, then the album name (or works on it). Do not include Disc number in the album name - this is a separate tag.
  • Scan artwork if necessary.
  • Review metadata and ensure consistency with metadata rules (see above). Make sure that Genre is correct and that Title is in the format "Opus: Movement". Make sure that multiple disc sets have the right discnumber tags. Add metadata where missing (no need to enter Movement or Opus as it will be created from Title); usually this means Period and Instrument.

Rip the CD. On ripping, dBpoweramp should be set up to map Album to CDName, Soloists to Performer, Artist to MainPerformer, Chorus and Orchestra to Band. It also deletes the Album Artist tag as this should only be used exceptionally (it can be manually re-set in Mp3tag in the next step, or in iTunes if needed there). Replaygain and other effects can be applied as required.

Step 2: Review and amend the metadata

Use mp3tag to review the metadata. Set up the panel to view all the important fields. This makes everything quicker. In particular, check that the main artist appears as "MainPerformer" and not also as "Performer". Check "Period" and "Instrument" tags are present and correct. If necessary put supporting performers in the "Performer" tag separated by semi-colons and with instrument/voice in brackets: "Peformer1 (Instrument1); Performer2 (Instrument2)". Put any arranger into the "Arranger" custom tag. These last two steps are of course optional, but it's not hard to do them at this stage. Also, if you really need an Album Artist tag you can enter it now.

IMPORTANT - make sure you save before selecting other tracks - Mp3tag does not remind you to do this!

Then run one of the following actions:

  • For "Opus" profile, use "Format Profile=Opus". Through this action, the Title should be the Movement and the Album should be "Composer: Opus". "Work" will be set = Opus unless there is also a "Book" tag, when it is "Book - Opus" (not normally required, but could be useful if wanting to reduce length of GroupHeading in Muso).
  • For "Book" profile, use "Format Profile=Book". In this case make sure you have previously entered the Book name as a tag for all tracks. "Book" is usually the name of the Opera etc. The Title should then be changed by the action to Opus: Movement, where "Opus" is the sub-part of the Book. The Album should become Composer:Book. "Work" will be "Book - Opus"
  • For "Song" profile, use "Format Profile=Song". Through this action, the Title should be "Song (Composer)" and the Album should be the CDName.
  • For "Song" profile, where all songs are by one composer, use "Format Profile=Song (one composer)". In this case the composer name is omitted from the song title for display purposes.

You may feel that some albums don't clearly fall into just one of these categories. For example, there may be one opus of 3 movements and then a number of single movement works: in this case, if you use the "song" profile, it will still set up a GroupHeading in Muso for the multi-movement work. It is also possible to use more than one profile for different parts of the album, but you may also wish to amend the album name (not the CDName) to suit. In all cases, "Artist" should be "MainPerformer (Instrument); Band (Cond: Conductor); Feat: Performer1 (Instrument1) etc. This displays all the artist info on the SB touch or iPod. Arranger will also be added where appropriate to the Title or Album.

For the detailed actions contained in these see Box [to be completed] below. Note that these actions are (hopefully) designed such that integrity is maintained even if they are run multiple times (i.e. no duplicated tags etc.). Also note that all tag names (i.e. the names of the tags themselves, not their contents) are capitalised to prevent inconsistency problems.

Check that the resulting metadata looks correct. 

Step 3: Import the files to Muso / LMS

In my set-up, there are two libraries - the main FLAC library is used at home to play via LMS to Squeezebox touches. This is set up as the "Shared Database" as follows. Assuming the main music library is on a shared drive, place the folder with the ripped files in the library, set Muso to use the shared database and import to Muso using "Import from specific folder". "Import actions" (in the Tools - Options menu) are required to ensure that the right information is displayed in Muso. (See details in Resources section).

Review the imported files to make sure that it they look right. The files can also be scanned into LMS, although this is not essential unless you want to sync ratings etc. to LMS and use the LMS menus.

Step 4: Import to iTunes (if required)

If, like me, you want a (smaller) version of your library to keep on your iPod etc., then it is fairly simple to import it to iTunes and still be able to find the music by album or opus.

Step 4a)Use dBpoweramp Music Converter to convert files to mp3. Note that some processing of tags is required to achieve the desired result (as described in the objectives section). This is slighly complicated by dBpoweramp Music Converter only being able to carry out manipulation using a limited set of tags (in particular, not the custom tags). Unused tags are therefore used as temporary holders of information. Details are given in the Resources section.

Step 4b) Now you need a neat bit of software called "iTunes Library Toolkit". This can be used to automatically add to the iTunes library any music that has been placed into its "watch folder" by dBpoweramp.Furthermore, its "Custom Browse" feature can be used to automatically generate a playlist of works by composer. I use the following folder structure for this playlist: Initial letter of Composerlastname \ Composer (sorted) \ Opus \ Album.

Step 4c)Sync to the iPod.CDs can now be accessed by original album name from the Album menu or as Opus's, by composer, from the playlist.

Step 4d) (Optional, if you also want to use Muso to play the mp3 format library on the local machine) In Muso options, switch to the "personal database". Import the mp3 files to Muso using "import specific folder" and the similar import actions as for the FLAC files. NB mp3 tag fieldnames arefussy about capitalization, unlike FLAC tags, so all the mp3tag actions finish with one to make sure that the capitalization of the fieldname is UPPERCASE - note this refers to the fieldname, e.g. COMPOSER, not its contents, e.g. Franz Lizst. This should have been done by the earlier actions, but is an easy fix in mp3tag if not - use a case conversion action on _FIELDNAME.Check that it looks right in Muso.

THE PAYOFF

So what have we achieved? Hopefully the following:

  • All the important metadata is stored in custom tags so that the other tags can always be (re)-created to suit future applications;
  • Muso will display the original album in "CD insert" format, together with all the supplementary data from LastFM etc.;
  • Muso will allow you to drill down and search the library for whatever you want;
  • The squeezebox touches will display all the relevant information about the playing track;
  • iTunes will show the opus as album, but the original CD is accessible as a playlist.

The actual effort to rip each CD is fairly low, provided you use all the automated actions in Mp3tag.

Here is a typical "opus"-type album. The Muso screen looks just like the CD insert. Notice how tracks are grouped by opus:

On the SB touch the display will be similar to the Squeezeplay one shown below - notice that the instrument is added in brackets after the artist name and the album name gives the composer and work, not the original CD name:

The next screen shows the Muso display for a "song"-type album. Note that if titles are formatted as "opus: movement" then the opus will be displayed as a Group Header even though the profile for the album is "song":

On the SB touch it looks like this - note how the composer is added in brackets after the song:

RESOURCES

This section sets out the software required and how to configure it to achieve the results described.

Software

You will need the following software:

  • dBpoweramp - CD Ripper and Batchconverter. Available fromhttp://www.dbpoweramp.com. The cost (Feb 2013) is $38. A full-featured trial is available. Other software may do the same for less cost but you may not be able to configure it in the way that I describe.
  • Logitech Media Server. Currently (Feb 2013) free from http://www.mysqueezebox.com/download. Note that Logitech have for some reason stopped selling the SB Touch players. Alternative players are available, e.g. Squeezecast app (69 pence currently) on the iPod Touch. If you only want to play music on a PC then this is unnecessary.
  • Muso. This is absolutely essential and central to the whole scheme. Cost (Feb 2013) is €20 from http://klarita.net/muso.html.
  • mp3tag. Currently free (donations encouraged) from http://www.mp3tag.de/en/ mp3tag. There is other software which can do some of the same things, but mp3tag is very powerful and can carry out complex automated scripts, which are provided here. Otherwise you are on your own.
  • A controller for the iPod Touch if you want to use this to view and control music remotely. Squeezebox and iPeng are the main (free) apps for this. Muso also inludes a web-based remote control.

If you also want to play standalone on the iPod Touch player then you will need:

  • iTunes (free) on the PC.
  • iTunes Library Toolkit. Cost (Feb 2013) £3.49 annually from http://klarita.net/itlt.html. There are manual alternatives to this software but they are very time-consuming.
  • Music player on the iPod (of course), but you may also like the "Classical Music Fan" app which is free and gives more information that the basic app.

The total cost of all this is pretty negligible compared with the cost of hardware and the music itself (you didn't steal it, right?) and well worth the investment.

Configuration

Configuration details are given in the (rough) sequence set out in the Process section.

dBpoweramp CD Ripper

Firstly read the help files carefully and set up the ripping options as recommended. Under "Options" set up the Metadata and ID tag options to write ID tags for all the required fields such as Composer, ComposerSort, Conductor, ConductorSort, Orchestra, Chorus, Soloists, Period, Instrument etc.

Set up a ripping profile to use the following naming method:
[album]\[IFMULTI]Disc [disc][]\[track] [GRAB]1,25,[title][] ... [RIGHT]25,[title][]
This will replace the middle of titles with "..."(assuming they are over 50 characters). There may be better ways of doing this. The key thing is to organise the tracks by album and disc and to give them unique (but not too long) filenames. Note that dBpoweramp will replace special characters which are illegal in filenames - this setting is found in "Options - Meta Data - File name restricted characters". The standard replacements are pre-populated, but you may need to add others because, although Windows may appear to display them correctly, not all music software will handle them properly. A specific example is ř as in Dvořák, which should be replaced by a plain r.

On the DSP tab, add ReplayGain if required and add ID tag processing as follows:

  • Map: Album to CDName, Soloists to Performer, Artist to MainPerformer, Chorus to Band, Orchestra to Band
  • Delete: Album Artist

mp3tag

The following "actions" are required. The included files need to be placed in your mp3tag actions folder. The location of this will vary. The easiest way of locating it is to save your configuration (File menu in mp3tag).There will then be a message telling you the required location for importing.

  • Format Profile= Opus. See file [o/s].
  • Format Profile= Book. See file [o/s].
  • Format Profile= Song. See file [o/s].
  • Format Profile= Song - one composer. See file [o/s].

Muso

In Tools - Options, go to the Classical tab and select "Specialised Classical Music Functionality". On the Import Actions tab, map the fields:

  • Album := #CDNAME (Mark this as conditional - to deal with music not associated with a physical CD)
  • GroupHeading := #OPUS
  • Artist := (Arr. #ARRANGER); (Mark this as conditional - to place the arranger's name after composer and before the artist, if it exists)
  • Artist := MAINPERFORMER (This is the original artist name, moved to Mainperformer to allow the Artist field to display all artists)
  • Album Artist := #BLANK (Optional - in case album artists have not been removed - to allow Muso to use it's own algorithm for displaying the "titled artist"
  • AlbumSubheader := @Comment
  • Performer = #PERFORMER
  • Title:= #OPUS: (Note space after colon. Also mark this as conditional in case there is no opus)
  • Title:= #MOVEMENT (Also conditional and must be after #OPUS. If it is missing, there will appear to be a blank title in Muso because the title is given by the GroupHeading.)
  • Custom1:= #INSTRUMENT (To allow searches on this)
  • Custom2:= #PERIOD (To allow searches)
  • Custom3:= #BOOK - (Conditional to give a full book and opus tag for serches)
  • Custom3:= #OPUS (The rest of the full work name, or all of it if BOOK is blank)

dBpoweramp Music Converter

I convert to mp3 using variable bit rate quality, but this is just a personal choice. I set the output location to be dynamic, with the first section of the path pointing to (a folder in) the iTunes media library folder and with the second section of the path as follows:
\[tag]CDNAME[][IFMULTI]\Disc[disc][]\[track] [title]
In DSP actions, add "Folder.jpg preserve" (and include other file types as required, e.g. .pdf for sleevenotes) and the following ID tag processing:

  • Map: WORK to Style, CDNAME to Album, MOVEMENT to Tempo, COMPOSERLASTNAME to Mood, ARRANGER to Rating. Note that iTunes then maps Style to ContentGroup. The last three are just used as temporary fields that dBpoweramp understands.
  • In Manipulation - Rule based mapping, enter the following (noting that there is a colon followed by a space after the 4th line):

    IF PROFILE=Song - one composer
    SET TITLE=[tempo] {[mood]}

    IF TEMPO=[anyvalue]
    SET TEMPO=[tempo]:

    IF PROFILE=Opus
    SET TITLE=[tempo][style] {[mood]}

    IF PROFILE=Book
    SET TITLE=[tempo][style] {[mood]}

    IF ARRANGER=[anyvalue]
    SET TITLE=[title] {Arr. [rating]}

    IF MOOD=[anyvalue]
    SET MOOD=

    IF TEMPO=[anyvalue]
    SET TEMPO=

    IF RATING=[anyvalue]
    SET RATING=
  • You also need to make a entries in dBpoweramp Configuration. On the Codecs tab, click "Advanced Options": set "mp3 ID tagging - Tag Creation" to "ID3v2", "ID3v2 version" to "2.3" and "ID3v2 Text Encoding" to "UTF-16".

iTunes

Here the important thing is not to let iTunes manage your library for you. In Edit - Preferences... Advanced, clear the boxes that say "Keep iTunes Media folder organised" and "Copy files to Media folder when adding to the library". (The latter assumes that you have already placed your files in the library folder if you followed the path described above).

iTunes Library Toolkit

This will manage your iTunes library for you. Set the "New Media" watch folder to be where your music is in the iTunes library. Set the "Custom Browse" playlist path to be
Work by Composer\%C1\%C\%g \ %a
Set the null value of %g to be "(no opus)".