Re: DSF Tagging - Feedback


Progress! with the latest update, I can now view the tags with other applications. I will conduct further tests with feedback to follow.

Many thanks,


On Thu, Nov 20, 2014 at 11:46 AM, David King <amigadave amigadave com> wrote:
Hi Scott

On 2014-11-19 21:51, Scott Furry <scott wl furry gmail com> wrote:
Stores may sell audio files in that format, but the library to
manipulate those files may be licensed. This was the fiasco with not
having mp3 codec in linux some time ago.

The codec in this sense is quite different from the tagging scheme. Sony has published a DSF specification, on which I based the DSF reading and writing code:

EasyTAG does no processing nor decoding of DSD audio data, as with other audio formats.

As you observed...changing a tag in a dsf file causes it to be
unreadable in another application. The explanation can be one of several
things, just not necessarily with EasyTag. Please remember that EasyTag
will call another library to do the writing of information to the file.
Maybe that library is the issue.

The DSF code is a custom implementation, as I am not aware of a library which handles DSF files. The header is very simple, and (sensibly) uses an ID3v2 tag placed at the end of the file, rather than inventing a new format (like the alternative DSDIFF). The custom implementation is small and maintainable, as it is possible to reuse large parts of the existing ID3 tagging code.

In this case, EasyTAG is almost certainly the problem. I just fixed a bug where the file size stored in the DSF header was not updated when the tag size changed, which would lead to invalid headers being written.  The DSF code is somewhat tolerant of header errors when reading, and I added a debug message which is emitted if the file size field in the header is incorrect.

Again...id3 is not a rule, just a suggestion. And there are lots of
digitally moving parts involved here.

ID3 (particularly the 2.3 and 2.4 versions) is as good a specification as many others, whether open or closed. Compliance with specifications will always be a problem, but the solution is to fix the bugs when they are found, and attempt to gracefully handle deviations from the specification. Unfortunately, most ID3 tagging libraries, such as id3lib and libid3tag, are not fully compliant with the specification and have not had a release in many years, which makes fixing implementation bugs more difficult.


easytag-list mailing list
easytag-list gnome org

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]