title
Products            Buy            Support Forum            Professional            About            Codec Central
 

Id3TAG in WAV file

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Pico1965

    • Oct 2005
    • 8

    Id3TAG in WAV file

    Hiii

    I currently use Musicmatch jukebox 9.

    It insert in wav file all id3tag (image, text etc).

    Why other software like WMP, dbpowerAMP don't save and read tag in WAV file ?

    Thanks
  • MrVideo
    dBpoweramp Enthusiast

    • Sep 2004
    • 99

    #2
    Re: Id3TAG in WAV file

    Originally posted by Pico1965
    Hiii

    I currently use Musicmatch jukebox 9.

    It insert in wav file all id3tag (image, text etc).

    Why other software like WMP, dbpowerAMP don't save and read tag in WAV file ?

    Thanks
    I suspect it is because the WAVE spec doesn't allow for tags of any kind. The fact that MusicMatch does it doesn't make it right.

    Like I said, just a guess.

    Comment

    • Spoon
      Administrator
      • Apr 2002
      • 44509

      #3
      Re: Id3TAG in WAV file

      Correct, certain limited tags are supported by wave, not hte full range. That doesn't stop another program from writing the id tags. If you can send me a small ( < 10MB)wav file that is tagged:

      Spoon
      www.dbpoweramp.com

      Comment

      • Pico1965

        • Oct 2005
        • 8

        #4
        Re: Id3TAG in WAV file

        I do what you wants !

        I wait your feedback

        Comment

        • Spoon
          Administrator
          • Apr 2002
          • 44509

          #5
          Re: Id3TAG in WAV file

          The file is tagged wrongly, the file breaks the wave container and looks to have an id3v2 type ID tag tacked on the end, here is what Music Converter R12 says about this file (r12 has what I think the worlds most complete and advanced wave reader, it is top draw stuff):

          RIFF Header 'RIFF' Length: 385048 FormType 'WAVE'
          *** Information: Warning 'RiffSizeLeft != FileSizeLeft' must be extra data on end of file. [clRIFFHandler::ScanFile]
          Got Chunk 'fmt ' Length: 16 RiffSizeLeft: 385036 ChunkPosition: 12
          Got Chunk 'data' Length: 385012 RiffSizeLeft: 385012 ChunkPosition: 36

          as you can see they have just tacked some info on the end of the file, you cannot do that with wave files, any data has to be in specific chunks. BTW you can refer to this message if you wish to press MusicMatch for doing something so vulgar...
          Last edited by Spoon; November 30, 2005, 06:47 PM.
          Spoon
          www.dbpoweramp.com

          Comment

          • Pico1965

            • Oct 2005
            • 8

            #6
            Re: Id3TAG in WAV file

            Excuse. I have not understood the tenor of your answer.

            MMJB with the exception of others player tagged the files wave

            If I reproduce the files that I have sended to you with MMJB, I find all the information that I have inserted.

            Mrvideo says that the tagged of the files wave is outside standard

            Probably it would be enough to see where to try them and... to read them.

            P.S. They are however aware that the community thinks MMJB one of gets worse player in circulation. Unfortunately to abandon means it retag beyond 100MB of files wav.

            Thanks however of the attention

            Comment

            • Spoon
              Administrator
              • Apr 2002
              • 44509

              #7
              Re: Id3TAG in WAV file

              It might be out of the standard, but you cannot go writing id3v2 tags to the end of formats you are not supposed to. We and no other company will be adding reading support of id3v2 to wav files, it is just wrong.
              Spoon
              www.dbpoweramp.com

              Comment

              • nab128
                dBpoweramp Enthusiast

                • Mar 2006
                • 64

                #8
                Re: Id3TAG in WAV file

                Originally posted by Spoon
                We and no other company will be adding reading support of id3v2 to wav files, it is just wrong.
                Actually Tag&Rename have just added support for ID3v2 tags in wave files. It looks like its in a legal though non-standard wave chunk.

                How do I get the info about what R12 says about a wave file e.g.

                [SIZE=1][COLOR=SlateGray]RIFF Header 'RIFF' Length: 385048 FormType 'WAVE'
                Got Chunk 'fmt ' Length: 16 RiffSizeLeft: 385036 ChunkPosition: 12
                Got Chunk 'data' Length: 385012 RiffSizeLeft: 385012 ChunkPosition: 36[/COLOR][/SIZE]


                Will dMC ever support more tag fields in wave files e.g.composer, artwork etc.?

                Comment

                • Spoon
                  Administrator
                  • Apr 2002
                  • 44509

                  #9
                  Re: Id3TAG in WAV file

                  >files e.g.composer, artwork etc.?

                  Not using the standard list chunks there is no provision.

                  If you have dBpoweramp Reference you can (in dBpoweramp Configuration >> Music Converter >> Settings for Popup info) enable to display the chunks inside a wave file.
                  Spoon
                  www.dbpoweramp.com

                  Comment

                  • nab128
                    dBpoweramp Enthusiast

                    • Mar 2006
                    • 64

                    #10
                    Re: Id3TAG in WAV file

                    Could you map composer to ISRC perhaps. This is probably the next most common tag and would be very useful for me and maybe others.

                    [SIZE=2][COLOR=DimGray]"ISRC - Source. Identifies the name of the person or organization who supplied the original subject of the file."[/COLOR][/SIZE]

                    Anyway is "itrk" a standard LIST chunk field? Voyetra website -

                    [COLOR=SlateGray]"itrk Track Number - this is an AudioStation extension (noted by the lower case).
                    WAVE files use a standard RIFF INFO chunk as documented by Microsoft.
                    So does AudioStation. The only custom bit is the itrk field which we
                    store the track number in."
                    [/COLOR]
                    If you use 1 non standard field why not others too?

                    Comment

                    • Spoon
                      Administrator
                      • Apr 2002
                      • 44509

                      #11
                      Re: Id3TAG in WAV file

                      Both the items you mentioned can be changed to the other standard (ie use ISRC) inCodecs Advanced in dBpoweramp Configration
                      Spoon
                      www.dbpoweramp.com

                      Comment

                      • nab128
                        dBpoweramp Enthusiast

                        • Mar 2006
                        • 64

                        #12
                        Re: Id3TAG in WAV file

                        Thank you spoon, I didn't know about all these settings! R12 is really amazing and powerful.

                        But still I don't want to put album in ISRC I want to map composer to ISRC. Is it possible?

                        Can you add support for composer tag in the future?

                        Comment

                        • Spoon
                          Administrator
                          • Apr 2002
                          • 44509

                          #13
                          Re: Id3TAG in WAV file

                          In the next few days the DSP effects are being updated, the effect ID Tag Manilpulation has a 'Map' function where you could move the composer to album.
                          Spoon
                          www.dbpoweramp.com

                          Comment

                          • nab128
                            dBpoweramp Enthusiast

                            • Mar 2006
                            • 64

                            #14
                            Re: Id3TAG in WAV file

                            This is great thanks Spoon!

                            So far I have found 9 fields in the converted wave file

                            IART Artist
                            INAM Title
                            IPRD Album
                            IGNR Genre
                            ICRD Year
                            itrk Track
                            ICMT Comment
                            TORG Label
                            ICOP Copyright

                            Better than id3v1 already!

                            Are there any more INFO fields you have mapped?

                            I just found Quicktime displays the IART, ICOP, INAM and ICMT fields under 'Show Movie Info' but no information shows in iTunes, WMP etc.

                            Comment

                            • Spoon
                              Administrator
                              • Apr 2002
                              • 44509

                              #15
                              Re: Id3TAG in WAV file

                              A quick paste of the code:

                              case mmioFOURCC('D', 'I', 'S', 'P'): RetListTags.AddTag(L"Sound Scheme Title", GotValue.w()); break;
                              case mmioFOURCC('I', 'A', 'R', 'L'): RetListTags.AddTag(L"Archival Location", GotValue.w()); break;
                              case mmioFOURCC('I', 'A', 'R', 'T'): RetListTags.AddTag(L"Artist", GotValue.w()); break;
                              case mmioFOURCC('I', 'C', 'M', 'S'): RetListTags.AddTag(L"Commissioned", GotValue.w()); break;
                              case mmioFOURCC('I', 'C', 'M', 'T'): RetListTags.AddTag(L"Comment", GotValue.w()); break;
                              case mmioFOURCC('I', 'C', 'O', 'P'): RetListTags.AddTag(L"Copyright", GotValue.w()); break;
                              case mmioFOURCC('I', 'C', 'R', 'D'): RetListTags.AddTag(L"Year", GotValue.w()); break;
                              case mmioFOURCC('I', 'C', 'R', 'P'): RetListTags.AddTag(L"Cropped", GotValue.w()); break;
                              case mmioFOURCC('I', 'D', 'I', 'M'): RetListTags.AddTag(L"Dimensions", GotValue.w()); break;
                              case mmioFOURCC('I', 'D', 'P', 'I'): RetListTags.AddTag(L"DPI", GotValue.w()); break;
                              case mmioFOURCC('I', 'E', 'N', 'G'): RetListTags.AddTag(L"Engineer", GotValue.w()); break;
                              case mmioFOURCC('I', 'G', 'N', 'R'): RetListTags.AddTag(L"Genre", GotValue.w()); break;
                              case mmioFOURCC('I', 'K', 'E', 'Y'): RetListTags.AddTag(L"Keywords", GotValue.w()); break;
                              case mmioFOURCC('I', 'L', 'G', 'T'): RetListTags.AddTag(L"Lightness", GotValue.w()); break;
                              case mmioFOURCC('I', 'M', 'E', 'D'): RetListTags.AddTag(L"Medium", GotValue.w()); break;
                              case mmioFOURCC('I', 'N', 'A', 'M'): RetListTags.AddTag(L"Title", GotValue.w()); break;
                              case mmioFOURCC('I', 'P', 'L', 'T'): RetListTags.AddTag(L"Palette Setting", GotValue.w()); break;
                              case mmioFOURCC('I', 'S', 'B', 'J'): RetListTags.AddTag(L"Subject", GotValue.w()); break;
                              case mmioFOURCC('I', 'S', 'F', 'T'): RetListTags.AddTag(L"Encoded By", GotValue.w()); break;
                              case mmioFOURCC('I', 'S', 'H', 'P'): RetListTags.AddTag(L"Sharpness", GotValue.w()); break;

                              //-------Sony Say ISRC is ALBUM IPRD is product--------
                              case mmioFOURCC('I', 'S', 'R', 'C'):
                              {
                              if (AlbumType == 0)
                              RetListTags.AddTag(L"ISRC", GotValue.w());
                              else
                              RetListTags.AddTag(L"Album", GotValue.w());
                              }
                              break;
                              case mmioFOURCC('I', 'P', 'R', 'D'):
                              {
                              if (AlbumType == 0)
                              RetListTags.AddTag(L"Album", GotValue.w());
                              else
                              RetListTags.AddTag(L"Product", GotValue.w());
                              break;
                              }

                              case mmioFOURCC('I', 'S', 'R', 'F'): RetListTags.AddTag(L"Source", GotValue.w()); break;
                              case mmioFOURCC('i', 't', 'r', 'k'): RetListTags.AddTag(L"Track", GotValue.w()); break;
                              case mmioFOURCC('T', 'R', 'C', 'K'): RetListTags.AddTag(L"Track", GotValue.w()); break;
                              case mmioFOURCC('I', 'T', 'C', 'H'): RetListTags.AddTag(L"Technician", GotValue.w()); break;
                              case mmioFOURCC('T', 'L', 'E', 'N'): RetListTags.AddTag(L"Length", GotValue.w()); break;
                              case mmioFOURCC('T', 'U', 'R', 'L'): RetListTags.AddTag(L"URL", GotValue.w()); break;
                              case mmioFOURCC('T', 'V', 'E', 'R'): RetListTags.AddTag(L"Version", GotValue.w()); break;
                              case mmioFOURCC('L', 'O', 'C', 'A'): RetListTags.AddTag(L"Location", GotValue.w()); break;
                              case mmioFOURCC('T', 'O', 'R', 'G'): RetListTags.AddTag(L"Label", GotValue.w()); break;
                              Spoon
                              www.dbpoweramp.com

                              Comment

                              Working...

                              ]]>