Feedback

Table of Contents

Introduction
Restrictions
Program Start
Selecting Files and Playback
The Editor
The Expert Mode
The Simplified Mode
The Android Database
Revert or Finally Commit Changes
What is SAF?
Malfunctions and Workarounds

The Classical Music Tagger

Why another „Tagger“? Aren't there enough of these?

Here the same applies as for Opus 1 Music Player and Unpopular Music Player:

Yes, there are hundreds of them for Android, but as far as I know they're all just for pop music and that's why completely unsuitable for classical and other multi movement music. The only useful program I could find is kid3 for Android. This one is available via F-Droid, but rather complex and cannot be started directly from the playback app. However, kid3 can still be seen as a reference, and whenever the Classical Music Tagger might fail or misbehave, you should analyse or edit the file with kid3.

For computers there are several metadata editors ("taggers"), which are also suitable for classical music, e.g. Kid3, Qoobar (not changed since 2016) and iTunes. The program mp3tag is only available under Windows.

Restrictions Compared to More Advanced Programs

The Classical Music Tagger currently does not process cover pictures, but only textual metadata!

Tags unknown to the program are ignored, i.e. not deleted. To delete or change these, if necessary, you may have to use one of the mentioned reference programs.

Start as Standalone Program

At first start the program tries to find the music directories on internal, external and SD card storages. In the path list one can navigate through the folder structures. The current path is displayed at the bottom of the screen, touching it currently has no function. Note that write accesses to the SD card and other places might be denied. In this case one must switch to SAF mode (see below). Paths or individual documents accessible via SAF can be accessed via the corresponding entries in the three-dot menu. If documents are opened via this option, the view will change from path to document list; one then cannot return to folder view without restarting the program.

Start from Opus 1 Music Player

Use the long-click-context-menu on any object in any view and select "TAGGER" or select the menu entry "Edit Metadata..." in the Playing List View. All audio files will be sent to the Tagger.

Start from Unpopular Music Player

Select the menu entry "Edit Metadata..." in the album list view. In the Album View single tracks can be opened with long clicks, the whole album with a long click to the expanded header.

Start from Other Programs

In file managers or other programs with the functionality "Open with... " or "Share", the tagger can be opened directly with the selected audio files. It then will start in the document list view. Technically, the tagger unfortunately does not receive the files' path, but SAF descriptors, but as benefit this method also works for documents in the "cloud" (such as Google Drive) or on a server (e.g. via SMB or SFTP), as long as they are integrated into the system via SAF.

To provide the full functionality, the tagger tries to "guess" the path from the SAF descriptor. In case this is not possible, e.g. in Google Drive or other cloud or server storage, the tagger continues in the (extremely slow) SAF mode and cannot create a ".backup" file. Note, however, that most other similar programs cannot even open such files and instead present a blank screen or an error message to the user.

Editing Files in the „Cloud“

As of the end of 2020, Google Drive supports file access via SAF, but not file trees. A respective "bug report" supported by many developers was rejected by Google ("closed, will not do"). The provider Box also only supports SAF for files, but only apparently; in fact, such attempts fail with all tested Android programs. The provider DropBox has denied SAF support, but there are rumours about attempts to write a so called Document Provider supporting DropBox. Microsoft's OneDrive unfortunately does not support write access, but at least one can read the files.

Selecting of Files to be Edited, Media Player

In both modes (document and directory tree) you can select the files to be modified individually. A long touch selects or deselects all audio files.

In directory tree mode, non-audio files are greyed out.

A basic audio player can be activated with the respective menu entry. Note that the tagger is not designed as a stable player application, in fact Android will stop the simple player arbitrarily after some time of app inactivity. The player feature is just for convenience and testing, in particular it allows playing music from USB-OTG devices and SMB shares -- which is not possible even with Google's own apps. The player will try to sequentially play all selected files.

Clicking the green editor icon opens the editor.

The Editor

The editor offers all common tags, non-existing tags are displayed as empty fields. Note that for pop music usually the "movement" field is used, not "work" or "grouping". It is then called "title" or, somewhat stupidly, "song title".

If a single file is being edited, its file name is displayed at the screen bottom and its position in the list of audio files at the top of the screen. Example: The directory contains twelve files, from of which eight are audio files, and the first one is being edited, then the information shown is "Audio file 1/8". A short touch on the file name will proceed to the next file in this list, a long touch to the previous one. That only works, if no fields have been edited. If the end or the beginning of the list is reached, the editor is closed, and the previous screen will appear.

Fields that differ in the transferred files are marked with an "unequal" character. If you change a field, it will be highlighted in colour. If you undo the change, the colour background will be removed. With the menu item "Revert" you can reset all fields at once.

Attention: Changes to a field affect all files! Be careful when editing several files at the same time, e. g. to set the album or the composer.

Note that "Genre" is a free text field where you can enter any text, e.g."Blah, Blah!". However, it is customary to use English terms such as "Classical" or "Baroque". The tagger can either copy the text unchanged or translate the genre (if possible) to the local language, see Settings. The translation knows only a few common genres, but if desired, I can extend the translation list.

The composer's text field has an auto-completion feature with a list of more than 220 composer names. Sadly, there are only four women among them. In case of audio books this field contains the author.

When you change program settings, they only take effect after restarting the editor screen. In order to switch expert mode or genre localisation, leave and reenter the editor.

The "Floating Button" with the floppy disk symbol (top right) remains gray until at least one field has been changed. Then it turns red, and when you press it, all changes are saved to the file(s). In the grey state, the symbol is ignored.

However, if you press the button for a long time, it also works in the gray state: Any changes are written (if the button is red), the editor is left, and in the case in which only a single file had been edited, the editor immediately returns with the next file, if available. So, if you want several files sequentially, you select the first one, switch to the editor and then proceed to the respective next file with long presses to the button.

There are two metadata modes that can be switched using the settings:

The Expert Edit Mode

In expert mode all fields, including the Apple proprietary ones, are displayed and can be changed individually. The Apple fields are marked with a red description line.

Please note that in this mode some fields are redundant and can even contradict each other: Thus, "Work" competes with "Apple Work", and "Movement" competes with the Apple tags for movement name and number.

The Simplified Edit Mode

In simplified mode, the Apple proprietary tags are hidden, but can be changed implicitly using the other input fields:

The Apple tags are treated preferentially during the import, i. e. their contents can hide those of the standard fields for "Work" and "Movement". If they are present, their contents will end up in the form "n/m movement" in the title input field, where "n" is the movement number and "m" is the number of movements. If the latter does not exist, the title has the form "n movement".

When saving, the movement information is recalculated, if desired. Which tags the program should store is to be defined in the settings. If necessary, tags are deleted that do not match the corresponding setting.

Example: A file contains Apple "movement" tags and is changed in standard mode. Then the movement description, e. g. as "3. Largo", is copied to the title field and the work description to the standard-compliant grouping field. The Apple proprietary tags will be deleted.

Other example: In Classic mode, the Apple tags are used; if necessary, the title will be copied there if it did not exist before. As before, it is ensured that the name and numbering of the movement match the title.

Note: The third mode follows an error in the design or programming of Apple's iTunes: Here the proprietary mp3 field GRP1 is wrongly used instead of the standard conforming TIT1, if you switch off "Work and Movement".

Effects in the Music Player App

The Tagger tries to persuade the Android system to consider the modified files in its internal database. If this has no effect, the Opus 1 Music Player database has to be reset manually. An ultimate solution is available via the menu item "Android Media Storage": Here the Android database can be deleted, and a subsequent restart of the device will rebuild it (takes some minutes!).

Since tagger version 1.1 the Classical Music Scanner is also informed about file changes. The scanner then is automatically started in background and updates its media database..

Revert or Commit a File

For safety reasons a file copy is created, if possible, before the first write access, and the original file is renamed and kept as backup, i.e. any write access is done to the copy. This procedure makes data loss nearly impossible.

Note that a backup copy cannot be created for "cloud" based documents or for specific network shares. In this case a warning dialogue is displayed in the edit view where one can proceed or cancel the edit process.

In the file list, you can use the corresponding menu entry to revert one or more files if the Tagger has already edited them. In fact, the modified file is then deleted and the original one is re-renamed to its original name.

If you want to delete the original file, e. g. for space reasons, you currently have to use a file manager or the computer. However, a corresponding function in the app will maybe delivered later.

What the File is SAF?

SAF is interesting for you, if you (a) have installed an SD card in your device that is formatted as "external memory" or if you (b) have connected a USB-OTG memory or if you (c) use the "Android Samba Client" for network shares. Other use cases are theoretically possible via the so-called "Document Provider", e.g. providing access via (S)FTP, CIFS or similar. Additionally, SAF is needed for "cloud" based documents.

With Android 4 and 5, Google disabled regular write access to "external" SD cards, except the private directory that every application has there. In particular, one can no longer write to directories such as "Music", located in the main directory of the SD card. BTW: The tagger indicates write protection, after the path at the bottom of the screen, as "(read-only)". With Android 11, read access should also be prohibited. All because of the security. SAF means "Storage Access Framework" and is an Android-specific method to get explicit permission to access files, for reading or writing. This permission must be granted by the user via Android's file selection.

An example: If you want to access the SD card, you can do so using the path "/storage/A1B2-C3D4", but only read-only and probably not at all from Android 11 on. Using the "Select folder (SAF)..." menu item, you can now open Android's file selection and navigate to the main directory of the SD card. Before, you may have to open the menu with the three horizontal lines, and in this menu then select your SD card. You will now see the main directory of the card. With the button at the bottom right you grant write permission, and the tagger will also immediately go to this directory. I you return to the higher tree level, you will see that all SAF grants appear there. If you have accessed an OTG storage in this way and remove the storage later, the grant will be hidden and re-shown when the memory is connected again. The program always remembers the last seven grants, and the oldest ones are automatically deleted.

SAF shares have a prefix "/tree" at the bottom of the path. Please note, that you can also access the internal memory ("primary") via SAF, but the detour via SAF is painfully slow compared to direct file access. This is also a the main criticism of the Android developer community.

Currently it is necessary to clean the app's memory completely, if you want to remove the SAF grants. This may be improved later.

Limitation: The Classical Music Tagger uses its own directory walkthrough functions for files and folders. Therefore it needs the Document Provider to support the ACTION_OPEN_DOCUMENT_TREE command. Note that not every provider supports this, as some only give access to single documents, not to directories (e.g. Google Drive).

Technical note for programmers: Instead of using File, SAF works with DocumentFile; this class, however, is powerless compared to the former and requires enormous programming effort. With existing libraries, e.g. the JaudioTagger (see below), an adaption is almost impossible.

Malfunctions and Workarounds

The program uses the Jaudiotagger library for reading and writing metadata. It is provided under Lesser General Public License, but had to be extensively modified to make it work on Android.

Mp4-dash (Dynamic Adaptive Streaming over HTTP) files can be read, but not changed, because the tagger library does not reliably support this. In practice, however, these files are seldom. Until the library has been corrected, you have to use a different tagger, e. g. kid3 on Android or on the computer. For the problem there is this entry in the library's error database.

Whenever the Tagger creates a copy of an audio file and renames the original file, this operation will not visible when you connect the device to your computer and examine the files using the MTP protocol. If the device is restarted, the changes will be visible afterwards. This is a fundamental error in all Android versions.

Some programs display different genres than others. This is due to the fact that some translate the texts, while others cannot interpret numerical genres, such as 150 for baroque music. This program processes most numbers, and the translation into your local language can be switched off.

If an mp3 file contains multiple metadata sets, such as one of type ID3v1.1 and on of type ID3v2.3.0, the Jaudiotagger library seems to prioritize the latter, unlike its documentation, which argues otherwise. In the program settings you can decide whether data records in the older format should be maintained or deleted because of redundancy.

During the test, malfunctions occurred if mp3 files contained additional comment fields, so these are deleted when the file is modified. However, iTunes-specific fields are explicitly preserved, although this is not explicitly supported by the JaudioTagger.

The program can neither read title images from the files nor exchange them. This requires a more powerful program. However, in most cases it is preferable to put a file called albumart.jpg in the album folder. This then applies to all files in the folder. Files named folder.jpg are processed by Android, but not on Samsung or LG devices. For reasons.


Feedback

For comments, feedback, and suggestions, please

Contact Support