Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: APEv2 Tags at the end of a wave file (Read 2839 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

APEv2 Tags at the end of a wave file

Hi all.

New user here, and have been in the radio industry for over 20 years, and am a developer as well.

I have a problem that I'm trying to solve, and I don't want to have to go and write some code as a solution if I don't have to.

Amongst the various audio tools for my job, one of them is called StationPlaylist. It's great and does the job for audio playback.

It stores it's various metadata in a couple of ways, internally on it's own database, but also in the files it plays, stored in the APEv2 format. This shouldn't be confused with the ID3v2.3 metadata tags as well, because the ID3 tags are not customisable. I need to read and write specific tags.

I have no problems reading and writing this format in MP3 files, but when it comes to PCM WAV (and a few others), this is where I come unstuck.

I have looked at various source code and programs that people have developed, with none of them compiling or being available for use in a .NET project, where none of them can read or write APEv2 at the end of a WAV file.

I need to be able to write non-standard tags.

Does anyone have any solution or point me in the direction where I do this?

Apparently ffmpeg is able to, but I didn't have any luck with it.

Monkeys Audio is now free, with the SDK released, but once again, I haven't had much luck with that too, even with just simply compiling it.

I'm ideally after either a small external program where I can run something like the following:

\> program.exe filename.wav -addape "title":"custom title"
\> program.exe filename.wav -removeape "title"
\> program.exe filename.wav -deleteape "title"

Or a set of functions in c#.net that I can integrate in to my program (which I'm thinking I'll have to write).

I have looked all over the place, but I haven't found anything that works specifically as yet.

Sorry for the long post on my first time, but I thought I would see if anyone else knows of anything.
Thanks in advance.

Steve

Re: APEv2 Tags at the end of a wave file

Reply #1
Apologies, maybe I should have posted this in the "Lossless / Other Codecs" section.... but maybe not?
and now I can't delete/move this post.

Re: APEv2 Tags at the end of a wave file

Reply #2
Absolutely nothing I know much about, but:
Once upon a time, the author of https://foobar.hyv.fi/?view=foo_external_tags (which writes APEv2 "sidecar" files sans artwork) started out this thing:
https://wiki.hydrogenaud.io/index.php?title=Wapet .  See also Tag (at the bottom).  Which were then developed further using WavPack's APEv2 writer it seems: http://web.archive.org/web/20140720225802/http://www.synthetic-soul.co.uk/wapet/

Amongst the various audio tools for my job, one of them is called StationPlaylist.
It does support .ape - but that might not be what you want? Oddly enough not WavPack.

Re: APEv2 Tags at the end of a wave file

Reply #3
Thanks for those suggestions, I'll take a look. They look promising just on the descriptions. I'll keep you posted.

Re: APEv2 Tags at the end of a wave file

Reply #4
Update. After chasing down a rabbit hole a whole bunch of links on archive.org, I've finally settled on Tag.exe by Case, and wherever else contributed to it.
I attempted to build it from source, and gave up. But, as with old code, the current binary files seem to be working fine.
Anyway, thanks heaps. I think this will solve my problem. :D

Re: APEv2 Tags at the end of a wave file

Reply #5
Have you considered TagLib# for handling APEv2 tags in WAV files? It's a .NET library that supports various audio formats and might offer the functionality you're looking for. Worth checking out before diving into custom solutions. Good luck!

Re: APEv2 Tags at the end of a wave file

Reply #6
Yeah, last I enquired about this it couldnt do custom ape tags on wave. None of the libraries seem to be able to.

Re: APEv2 Tags at the end of a wave file

Reply #7
I just thought I'd make a quick update. I managed to do my own thing in the end, and converted an older library from the MAC team.  I did a quick blog on it and stuff which has a link to the actual github url. I'll be implementing this in the near future rather than using an external program.  https://stephenmonro.wordpress.com/2024/10/30/apev2-tags-for-c-net-lgpl/

Re: APEv2 Tags at the end of a wave file

Reply #8
You can have any tags you like in id3v2, they are TXXX tags.

There exists a loose standard for an ID3v2 chunk in a wave file, there are some badly written players which try to play everything in a wave file after the header as audio, even if outside the audio chunk.

You should not just append a ape tag to the end.