Help - Search - Members - Calendar
Full Version: Plea for WAV support
Mp3tag Forums > Mp3tag - International > General Discussion
chrisjj
(Sorry not to attach this to the original thread - for some reason forum search WAV doesn't find it).

May I ask again for WAV support to be considered? With storage so cheap, WAV is becoming my format of choice for many projects because it is by far the fastest in editor open and save. My only problem with WAV is lack of Mp3tag support.

Perhaps if there other like-minded users who would contribute to the development cost? I'll start it off with a pledge of 50euro.
pueblo funky
I would also pay 50 euro too of course.

Until today I'm using Tag & Rename - and still have to - because it supports ID3 tags in WAV files - but it isn't as good as mp3tag ...

I would be very happy if I could tag 99 % of my collection ;-) (no joke).

ROBERT
chrisjj
> ID3 tags in WAV files

I need interop with MediaMonkey and GoldWave WAV tagging, but a binary view of a smaple WAV does not show anything like ID3 tags...
pueblo funky
QUOTE (chrisjj @ Oct 14 2008, 20:54) *
> ID3 tags in WAV files

I need interop with MediaMonkey and GoldWave WAV tagging, but a binary view of a smaple WAV does not show anything like ID3 tags...


Ok, I don't have the software above installed but I'm sure you mean the WAV / fmt tags as described here:

http://www.sno.phy.queensu.ca/~phil/exifto...Names/RIFF.html
(exif tool - not tested): http://www.sno.phy.queensu.ca/~phil/exiftool/index.html
or here
http://www.kk.iij4u.or.jp/~kondo/wave/mpidata.txt

I've installed Sony Sound Forge 9.0e last night and noticed that it allows a lot of .wav tags (open a wav file, select file / properties / summary / extended) described in the link above - incl. some T* tags. I didn't have time to take a deeper look into it (hexdump),

but I've noticed during the opening of a .wav incl. ID3 tags (from Tag & Rename 3.5 Beta 5) an error that the embedded information is bad. If Sound Forge has a bug or the .wav file with the ID3 tags edited with Tag & Rename must be analyzed (but I think T&R has a bug because Serato Scratch Live also cries about a bad file ... that's why I would love if mp3tag could handle that :-) ).

Of course - mp3tag should support:
- the original tags of the fmt block
- an additional id3 block with the id3 tags ...

and MediaMonkey and GoldWave should support id3 tags from .wav files ;-)

Robert

PS: I don't want but I'll install iTunes for testing the id3 tags in wav files.
chrisjj
> I'm sure you mean the WAV / fmt tags as described here:

I meant only what I said wink.gif but yes indeed the tags I see look like the I* tags of http://www.kk.iij4u.or.jp/~kondo/wave/mpidata.txt. Thanks for posting that.

> Of course - mp3tag should support:
> - the original tags of the fmt block
> - an additional id3 block with the id3 tags ...

Where's the need for non-standard tags such as ID3 to go in a separate block?
pueblo funky
QUOTE (chrisjj @ Oct 15 2008, 13:00) *
Where's the need for non-standard tags such as ID3 to go in a separate block?


ID3 is a standard (ok - it could be much better but ...).

Technically it's possible to have 2 or more tag families in WAV files (WAV Info Tags & the ID3v2 Tags) - as in MP3 files (ID3v2 & ID3v1) - and who knows - sooner or later we might have a new formatting system e.g. ID4 or whatever.

Every tag familiy is a "string" like (very basic):
CODE
"ARTIST=abc|TITLE=xyz" or "<art>abc</art><tit>xyz</tit>"


So it is not important in which file format it is stored - it only should have a place / the main file format must support this kind of logic to store "blocks" (which e.g. WAV or RIFF is doing that perfectly).

It's also important that other software which can not display a tag family should save the whole "string" and write it back (when it writes back the whole file). It MUST do it with every block - it doesn't matter if it is a ID3 tag block or other internal information block from e.g. a Sound Forge 9 or Wavelab or MusicMaker etc.

So why shouldn't ID3 tags not stored as a block in WAV files too?

Note: ID3 supports more tags as the original INFO block - that's why an ID3 block would be much better.

More info soon in this forum.

ROBERT

PS: So the only one thing: write an email to all software developers if their product doesn't support ID3 in WAV files. I'll do that soon with Soundforge 9, RealPlayer, etc. the more software support this kind of block in a WAV file, the better it is.
pueblo funky
PS: The other great advantage of ID3 would be Unicode - as far as I know the other tag families don't support Unicode.
chrisjj
I don't see how using ID3 tag frame names in WAV INFO chunks has any bearing on the Unicode issue.

Though it would be certainly nice to find a solution to the requirement. And one better than e.g. MediaMonkey - it just puts Unicode in the regular ASCII chunks, breaking compatibility.

> Technically it's possible to have 2 or more tag families in WAV files
> (WAV Info Tags & the ID3v2 Tags)

Not compliant with the WAV spec.

> So why shouldn't ID3 tags not stored as a block in WAV files too?

Because such non-compliance would break compatibility.

The WAV standard provides for custom INFO chunks. That's where ID3-style tags should go.
pueblo funky
QUOTE (chrisjj @ Oct 15 2008, 22:40) *
> Technically it's possible to have 2 or more tag families in WAV files
> (WAV Info Tags & the ID3v2 Tags)

Not compliant with the WAV spec.


No no no - that's not true:

e.g. please read: http://ccrma.stanford.edu/courses/422/projects/WaveFormat/
go to the bottom - read the notes - 4th line:

CODE
There may be additional subchunks in a Wave data stream. If so, each will have a char[4] SubChunkID, and unsigned long SubChunkSize, and SubChunkSize amount of data.


There also exist other subchunks like "PAD " (which is a filler to hold place which could save time when you re-write the previous chunks without re-writing the whole (great) wav file!

Also the subchunk "bext", Sound Forge uses this after the subchunk LIST which contains additional data: http://www.ebu.ch/CMSimages/en/tec_doc_t3285_tcm6-10544.pdf (page 7).

or the newer tagging subchunk "CART" http://www.cartchunk.org/ or http://radiomagonline.com/studio_audio/rad...chunk_standard/

QUOTE (chrisjj @ Oct 15 2008, 22:40) *
> So why shouldn't ID3 tags not stored as a block in WAV files too?

Because such non-compliance would break compatibility.

The WAV standard provides for custom INFO chunks. That's where ID3-style tags should go.


No No No - e.g. non-compliance happens because bad programmed applications (read: http://www.sonicspot.com/guide/wavefiles.html go to the bottom and read "Format Variations" ...

So when an application like mp3tag can write LIST or/and ID3 it would be good. It depends on other application settings by the user which tags should be used or e.g. menu functions like "copy LIST tags to ID3 tags" or vice versa.

Other subchunks must be respected by other software - so there is no compatibility break - only bad programmed software!
pueblo funky
So - test it:

1.

I've just imported a track with Wavelab5 and added some info for Artist / Title, etc.

After a hexdump I could found these subchunks: "fmt ", "PAD ", "data", "LIST" ("INFO"), "bext".

2.

After that I've started Tag & Rename 3.5 beta 5 (which does not support the "LIST" tags and e.g. autofill the ID3 tags when they are not there ...) and added some info for Arist / Title, etc.

After a hexdump I could found these subchunks: "fmt", "LIST" ("INFO"), "bext", "PAD ", "data", "id3 "

=> so the info about artist / title is stored twice in this case and the "same logical" tags could have different data. (so mp3tag may support a function like "copy LIST tags to ID3 tags" and/or "delete LIST tags when writing ID3 tags", etc. (same as for ID3v1/ID3v2).

3. When you try to re-open the file with Wavelab 5 it would crash because it is bad programmed. Wavelab 6 (after a specific subversion - I think 6.06) it works correctly and they have fixed this bug reading correct RIFF files.

4. Open the wav file with Soundforge 9.0 (here it works correctly) ... change the (LIST) tags - save the file - make a hexdump --- all is still there - also the id3 tags.

=> So it depends on how good software is programmed. If they respect the standard then every subchunk works. Maybe I define my own subchunk "SEXY", add it into the wav file with some content. Soundforge 9 won't destroy it ...


btw:

The djing software Rane Serato Scratch Live supports the LIST & ID3 tags and show the same logical info in one column.

And the programmer of Rane Serato Scratch Live has told me that iTunes is also storing the id3 tags into the wav files (didn't test it).

So it's nothing special - no standard is broken.


So - after this long discussion - I hope also Florian will read this - and he will support ID3 tags in WAV files soon (maybe LIST too). smile.gif
nickless
May I ask you a stupid question? Why don't you just use some lossless audio format instead of WAV?

Most lossless formats support tags nicely, the applications that support them also support tags, they do not lower the quality of your music files, they take less place on disk...
I really don't see any advantage of storing music as WAV. After all, nobody uses BMP to store digital images neither. wink.gif

Regards
nickless
chrisjj
pueblo funky wrote:
> There may be additional subchunks in a Wave data stream.

I stand corrected - thanks!

But even though ID3 in WAV is not non-compliant, is it standardised anywhere? E.g. is there a written specification to defined things like how the ID3 version is coded, and the character encoding?

nickless wrote:
> May I ask you a stupid question? Why don't you just use some
> lossless audio format instead of WAV?

WAV is a lossless audio format.

> I really don't see any advantage of storing music as WAV.

Of lossless audio formats, WAV is the fastest to load for editing, fastest to save (encode), and the most widely supported by digital audio players.

In fact for many DAPs it is the only one supported.
pueblo funky
QUOTE (chrisjj @ Oct 18 2008, 03:06) *
But even though ID3 in WAV is not non-compliant, is it standardised anywhere? E.g. is there a written specification to defined things like how the ID3 version is coded, and the character encoding?


It's the same as for MP3.

The ID3 format starts with the id "ID3" and the defined data (tags & values) follows as the specification says.

In a WAV file the "ID3" data is a subchunk - there is an extra id "id3 " around + the length of the "ID3" data.

1. Subchunk-id (4 bytes): "id3 " (+ space) (identifier of the subchunk for a wav)
2. Size of the subchunk (4 bytes): number of bytes (length of the whole "ID3" data stream as specified in 3 below. So you know where the next subchunks starts (4).
3. Here starts the ID3 data (with the ID3 tag id "ID3" itself).
4. Here is the next subchunk-id ...

I'll post a screen shot later.
pueblo funky
QUOTE (chrisjj @ Oct 18 2008, 03:06) *
But even though ID3 in WAV is not non-compliant, is it standardised anywhere? E.g. is there a written specification to defined things like how the ID3 version is coded, and the character encoding?


iTunes is using it - so we can say it's a de-facto standard, or isn't it? cool.gif
Various djing software is using it (e.g. Rane Serato Scratch Live
Tag & Rename supports it.

I'll also ask Sony Soundforge to implement it - as I asked here for MP3tag (or should we say "Anytag"? wink.gif )

The character encoding doesn't matter - it's specified in the ID3 data stream itself (the character encoding could be defined for every tag!).

Of course - the ID3 specification currently says nothing about them to store it into a WAV file. But how often are there updates on this site? The only one thing for them is to write down what I've posted in the previous reply. wink.gif ... That's it.

and any software which supports the RIFF/WAV logic must write back (if there was any change in one subchunk) all other subchunks - if it supports the subchunk or not (it has only to write back the subchunk id, the length + the binary data). The only one problem is that there is a lot of software & players around which are not reading the WAV files correctly (e.g. Wavelab 5)!

Here is the original reply from Josh from Rane Serato:

QUOTE
There is a defacto standard, which is what we use, along with iTunes. Same as ID3, but using the RIFF chunk format which Wav files are made of.
pueblo funky
QUOTE (nickless @ Oct 18 2008, 01:15) *
May I ask you a stupid question? Why don't you just use some lossless audio format instead of WAV?


As chrisji said:

QUOTE
Of lossless audio formats, WAV is the fastest to load for editing, fastest to save (encode), and the most widely supported by digital audio players.


and WAV is supported from all music software (beside reading the whole RIFF / WAV format 100 % correctly)

and I import the files from cd with Wavelab - which writes WAV.

and I'm using Rane Serato Scratch Live which only supports MP3 & WAV & AIFF (also OGG).

and as dj I want to avoid the overhead of "unzipping" data during the live performance cool.gif

Currently I have no problem with the big files. Only the backup takes longer - but it's running over the night so ...
pueblo funky
Ok,

I want to explain the RIFF / WAV format with some screen shots!

The following WAV file has been imported by Wavelab 5, ID3 tagged with Tag & Rename + "WAV" tagged with Sony Soundforge 9.0e.

General overview:

A chunk (e.g. "WAVE") contains multiple subchunks (e.g. "fmt ", "data", "LIST", "bext", "id3 ", etc.). After the chunk id (4 bytes) follows the first subchunk id (4 bytes), followed by the size of the subchunk data (4 bytes) and then the subchunk data itself and then the next subchunk id and so on.

When you open this WAV file with a hexdump tool you would find the following:

1. Screen Shot:
Click to view attachment

At first you can see the id "RIFF" (red) and after that the size (green) of the following complete data ($000D7B8C - backwards!). When you add the next address $00000008 and the size of $000D7B8C you will have as result $000D7B94 which is the end of the file (see last screen shot).

As next starts the "WAVE" chunk (blue). This chunk contains a lot of subchunks:

Normally the first subchunk is "fmt " (orange) followed by the size of this subchunk (violet). This subchunk contains data like audio format, bits per sample, sample rate, number of channels, etc. When you add the next address $00000014 + the size of the subchunk $00000010 you land ...

at $00000024, where the subchunk "data" starts (yellow), followed by the size and the sound samples itself. Adding again the next address (after the size) $0000002C + the length of the subchunk $000D770C is $000D7738.

Let's look at $000D7738:
Click to view attachment

The subchunk "LIST" + the size $00000092. This subchunk specifies the blocks "INFO" and "exif" (see here). After "INFO" you can find the first tag "INAM" followed by the length $00000012 of the following text "You're The First" (incl. 2 zero bytes) and then the next tag and so on.

Following the logic, $000D7740 + length $00000092 = $000D77D2 - here starts the subchunk "bext" - specified anywhere. Following the logic, $000D77DA + length $0000025A = $000D7A34 ...

which lets us begin with the next subchunk - which is "id3 " biggrin.gif - see screen shot:
Click to view attachment

It starts with the subchunk id "id3 " + size and after that the ID3 specification (id3.org) begins - which you can find in typical MP3's.

$000D7A3C + $00000158 = $000D7B94 - which is the end of the file (the same as on the top).

So as you can see, the logic of subchunk + length of a subchunk makes it possible to add various subchunks.

If a program can not understand a specific subchunk - it must store it with the whole length and when the (changed) file will be saved again it writes the subchunk away as it has read it.

That's the specification but a lot of programs are not able to read the correct chunk & sub chunk logic.

I hope this helps.
pueblo funky
Maybe fyi:

In http://www.id3.org/id3v2.4.0-structure, chapter 3, read the first paragraph:

QUOTE
ID3v2 is a general tagging format for audio, which makes it possible to store meta data about the audio inside the audio file itself. The ID3 tag described in this document is mainly targeted at files encoded with MPEG-1/2 layer I, MPEG-1/2 layer II, MPEG-1/2 layer III and MPEG-2.5, but may work with other types of encoded audio or as a stand alone format for audio meta data.


so but may work with other types of encoded audio means - not only MP3.

---

There is also one little RIFF chunk subchunk issue - but only for Florian who should program that biggrin.gif

QUOTE
One tricky thing about RIFF file chunks is that they must be word aligned. This means that their total size must be a multiple of 2 bytes (ie. 2, 4, 6, 8, and so on). If a chunk contains an odd number of data bytes, causing it not to be word aligned, an extra padding byte with a value of zero must follow the last data byte. This extra padding byte is not counted in the chunk size, therefor a program must always word align a chunk headers size value in order to calculate the offset of the following chunk.


taken from a WAV expert here (File Structure - 2nd paragraph).

(the size of the subchunk id must be even - so a zero byte has to be added after the last tag - if not even - that's all).
pueblo funky
PS: Also AIFF files could be ID3 tagged ... it's the same as WAV. Here is an useful link: http://muratnkonar.com/aiff/aboutiff.html ... to find at the bottom ... read from
QUOTE
Microsoft decided that IFF was a good idea ...


RIFF = FORM = RIFX (with small differences).
BatterseaBob
I have been using MP3Tag for quite a while and had to switch to Tag & Rename when I started moving to using WAV files.

Whilst Tag & Rename is an OK tool I do prefer MP3Tag and would happily put €50 into the pot for development costs.

I really miss being able to use the scripts from MP3Tag and have to do most of the changes I used to automate by hand now.

I don't know what format of tags are used in Tag & Rename, but they seem to work well and are read by almost every application I have used that supports reading WAV tags. So if MP3Tag could support the same it would be great.

I am also more than happy to do some testing on beta code if it helps.
pueblo funky
QUOTE (BatterseaBob @ Dec 19 2008, 19:20) *
I have been using MP3Tag for quite a while and had to switch to Tag & Rename when I started moving to using WAV files.

Whilst Tag & Rename is an OK tool I do prefer MP3Tag and would happily put €50 into the pot for development costs.

I really miss being able to use the scripts from MP3Tag and have to do most of the changes I used to automate by hand now.

I don't know what format of tags are used in Tag & Rename, but they seem to work well and are read by almost every application I have used that supports reading WAV tags. So if MP3Tag could support the same it would be great.

I am also more than happy to do some testing on beta code if it helps.


The same for me. :-)

Note:

Tag & Rename 3.5 RC 1 has a bug - some software (e.g. Sony Sound Forge 9.0e) are reporting a bug on some WAV files with an ID3 tag when you try to open it. That is because T&R writes the id3 sub chunk sometimes with an odd number of bytes. It should be written with an even number of bytes (e.g. adding a zero byte).

Wavelab 5 isn't able to open WAV files with unknown subchunks (which didn't exist during the programming of the software - that's not a correct programming of the standard - Versino 6.06 (?) should be able to read/write them). For Wavelab 5 you have to remove the id3 tag (subchunk).
pcourtney
QUOTE (pueblo funky @ Dec 20 2008, 14:47) *
The same for me. :-)

Note:

Tag & Rename 3.5 RC 1 has a bug - some software (e.g. Sony Sound Forge 9.0e) are reporting a bug on some WAV files with an ID3 tag when you try to open it. That is because T&R writes the id3 sub chunk sometimes with an odd number of bytes. It should be written with an even number of bytes (e.g. adding a zero byte).

Wavelab 5 isn't able to open WAV files with unknown subchunks (which didn't exist during the programming of the software - that's not a correct programming of the standard - Versino 6.06 (?) should be able to read/write them). For Wavelab 5 you have to remove the id3 tag (subchunk).


I am pretty sure this got fixed in RC2

Tag&Rename v3.5 rc 2 (13/02/2009):
added "Use check boxes to select files" option (improved check box files selection function)
added "Don't show splash screen on program startup" in advanced options
added "Use Vista style files selection in files list" in advanced options
added support of big sized cover art in wma/asf files
improved Album Artist tag frame support in ogg, flac and ape files
improved writing speed of wma/asf files
"Part of a compilation" data can be exported to cvs/xml now
minor interface improvements
fixed minor bug in shell extension
fixed bug in wav tags writing
minor bugs fixed

http://www.softpointer.com/tr_history.htm


pcourtney
I know it has been a while, but has Florian added ID3 tagging support for WAV files ??

specifically the RIFF chunk way of doing it, as that is the only way Squeezebox devices can handle WAV files that have been tagged

Andyg on the Logitech forum ( one of the slimdevices developers) is on record as saying on the 26th January 2011

"SBS supports ID3-tagged WAV files but the ID3 tag has to be in a RIFF chunk called 'ID32' or 'ID3 '"

SBS = SqueezeboxServer

http://forums.slimdevices.com/showthread.php?t=85107

http://wiki.slimdevices.com/index.php/SqueezeCenter
MrSinatra
QUOTE (pcourtney @ Aug 27 2011, 00:11) *
I know it has been a while, but has Florian added ID3 tagging support for WAV files ??

specifically the RIFF chunk way of doing it, as that is the only way Squeezebox devices can handle WAV files that have been tagged

Andyg on the Logitech forum ( one of the slimdevices developers) is on record as saying on the 26th January 2011

"SBS supports ID3-tagged WAV files but the ID3 tag has to be in a RIFF chunk called 'ID32' or 'ID3 '"

SBS = SqueezeboxServer

http://forums.slimdevices.com/showthread.php?t=85107

http://wiki.slimdevices.com/index.php/SqueezeCenter


SBS might support it, (u can never know with them), but even if they do, they probably shouldn't. my understanding is that sticking id3 tags into wav is a hack, like sticking them into FLAC files is a hack, and i don't think mp3tag should support that kind of thing. i want mp3tag to strip id3 from flacs, not edit id3 in flacs. same for wav.

my advice to people with wav is to convert to FLAC, and get the benefits of proper tagging while remaining lossless. saving space is a bonus.

(contrary to popular belief, wav does support limited tagging legitimately, i know audacity can properly tag a wav using a non-hack way, but i don't know if mp3tag does it or not, and it is very limited)
DetlevD
QUOTE (pcourtney @ Aug 27 2011, 01:11) *
I know it has been a while, but has Florian added ID3 tagging support for WAV files ?? ...

Hmm, I think I remember that Florian has said here in the forum, that there are problems with the RIFF format, because there is no standard at all, and this keeps on with the implementation of a RIFF/ID3 container for WAV files.

DD.20110828.0717.CEST
pcourtney
QUOTE (MrSinatra @ Aug 27 2011, 20:20) *
SBS might support it, (u can never know with them)


amazing post Mr Sinatra, SBS have supported ID3 tags in WAV files for ages, I use Tag&Rename to place ID3 tags in all my WAV files, and SBS is completely happy with them, so not sure where you are getting your facts from dude !

the new iPad2 Logitech Squezebox app is what I mostly use these days to remotely control my Duets at home, and cover art, tags all play very nicely, check out the free download trial at Tag&Rename, the best $30 USD I ever spent !

Just a shame that Florian can't be bothered to take some business away from Tag&Rename and get some more donations, not the end of the world I guess.
MrSinatra
QUOTE (pcourtney @ Aug 28 2011, 18:17) *
amazing post Mr Sinatra, SBS have supported ID3 tags in WAV files for ages, I use Tag&Rename to place ID3 tags in all my WAV files, and SBS is completely happy with them, so not sure where you are getting your facts from dude !

the new iPad2 Logitech Squezebox app is what I mostly use these days to remotely control my Duets at home, and cover art, tags all play very nicely, check out the free download trial at Tag&Rename, the best $30 USD I ever spent !

Just a shame that Florian can't be bothered to take some business away from Tag&Rename and get some more donations, not the end of the world I guess.


i didn't say they didn't, (i wouldn't know b/c i never used that ability); however my point was that they frequently release versions that break old behavior.

SBS does support reading id3 in FLACs as well. but SBS is just a reader of tags, not a maker of tags, and i still contend that mp3tag should not engage in the making and editing of tag hacks. jmho.
jgt1942
As I read through the thread I see several people are using WAV format and others have responded to the lack of standards (one super reason not to use it). I saw some comments that storage is not an issue - I would like to suggest that this is short-sighted thinking, especially as your libraries grow. A couple of years ago my music and audio book libraries (all in MP3 format) were rather small, today my music library is almost 400GB and my audio book is 1.3TB thus I have 1.7TB in MP3 files. If I were to use WAV format this would require at least 8TB for the same files. I highly suggest that you project ahead what you think you might need for storage and if you are just getting started multiply by 10 and be prepared if the estimate is too small. walkman.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2014 Invision Power Services, Inc.