Project Description
A very simple and modest .wav file tag library.
With this library you can load .wav files, edit the tags (equivalent to mp3's ID3 tags) and save back to file.
This project is a very simple and modest .wav file tag library.
With this library you can load .wav files, edit the tags (equivalent to mp3's ID3 tags) and save back to file.

No UI editor is provided, so this solution might not fit for casuals who would like to edit their .wav format ripped audio files. However, developpers can use it to build an editor on top of it.


A bit of background

Lately I bought a very very good audio headphone, and as someone said on a review on the net, "it will make you regret your poorly encoded mp3".

Anyway, since that moment, I decided to re-rip my favorite albums as Lossless WAVE files (not sure about FLAC compatibiliy with some devices, and Lossless WMA said "mathematically" lossless... "mathematically" you said ? O_o)

So after ripping as WAVE audio files, I felt satisfied, until I found out that tags displayed in Windows Explorer are all broken, as long as one of the CD is an OST of a famous Japanese game, and ripping with Windows Media Player 12 broke the Shift-JIS tags (of course... the RIFF WAVE spec is clear, the tags are ASCII encoded...).

Well, I could edit the tags in Windows Media Player but found out that it was applicable only in the WMP media library... could not edit tag in file property window...

Well, I just wrote the piece of code I needed and could reach my goal faster and in a more funny way than if I would look for/find/try to use a third party application.


DISCLAIMER

This library as been built and tested with a very limited set of data and cases, and thus it may not support properly some of your own files, and thus by using this library you take the entire responsibility in case of data loss.

Few tips to easily avoid the worst:
  • Make a copy of the folder containing the files you try to modify BEFORE modifying them.
  • Write a dry-run version of your code first, by ensuring any calls to the SaveAsync method are commented.
  • Modify the library to save your modifications to a MemoryStream instead of your file, then dump and double check the data.

Last edited Jul 3, 2012 at 3:37 PM by SebastienSAIGO, version 10