I see this three different methods to manipulate tags:
1. Low level - On http://www.id3.org the format of the different ID3 versions are well described, so you can write your own functions to read and write the ID3-tags.
My personal favorit is AudioGenie, it's NOT restricted to ID3-tags and have a lot of functions. But if you want to use it with FiveWin/(x)Harbour, you have to develop a wrapper class. Maybe someone here in the forum can guide us, to derive this wrapper class from the other available ones There are still wrappers for C#, C/C++, Delphi, VB.NET, VB6 and Profan.
Windows 11 Pro 22H2 22621.1848 Microsoft (R) Windows (R) Resource Compiler Version 10.0.10011.16384 Harbour 3.2.0dev (r2008190002) FWH 23.10 x86