GNOME Bugzilla – Bug 670286
wavparse: can not read some tags
Last modified: 2014-07-28 10:00:09 UTC
As I also noted in bug 423919, some riff tags in wav files are not read. One such file is attached. What I can see are: artist/title/comment/genre fields and what I can not see (in rhythmbox) are: album/track nr/date fields (despite being set). I added these tags via the mediamonkey windows program as I couldn't find any other on linux. I hope writing these tags into wav will be possible with gstreamer as well, since there are absolutely no other programs that can do that on linux and in case of dts or DD encoded cds, it is very annoying to not have tags in your collection...
Created attachment 207852 [details] head --bytes=990k foo.wav > start.wav
"strings ~/temp/start.wav" does not show anything useful. Could you ev. attach a full file and to be sure also give an example what is missing "e.g. the expected album name").
Looks like those tags are not part of the normal wav/riff headers. Could you make the whole file available somewhere?
I uploaded one such file. Sorry it took some time as I have a bad connection. http://www.2shared.com/file/XTZ8R7L6/trackwav.html Whats working and whats not is explained precisely in the first comment.
Many thanks, I think we've got all we need now.
Pushed these: commit b2d066f49cd07a590440d009b05a1b1bd6d703bc Author: Tim-Philipp Müller <tim.muller@collabora.co.uk> Date: Fri Mar 9 20:54:00 2012 +0000 riff: extract track number and album artist tags from INFO chunks https://bugzilla.gnome.org/show_bug.cgi?id=670286 commit 5cb1cd2d540ef434c6916c917054b72f7ed5ae72 Author: Tim-Philipp Müller <tim.muller@collabora.co.uk> Date: Fri Mar 9 20:53:27 2012 +0000 riff: when reading tags from INFO chunk, accept lower-case IDs as well Now I get: FOUND TAG : found by element "wavparse0". audio codec: dts title: Symphony No. 9 in D minor ('Choral'), Op. 125: II. Molto vivace - Presto artist: Ludwig van Beethoven genre: Classical comment: Performer: Katarina Karnéus, Helena Juntunen, Daniel Norman Orchestra: Minnesota Orchestra encoder: gvfs-cdda using libcdio 0.82 x86_64-pc-linux-gnu album artist: Ludwig van Beethoven track number: 2 I do not see any 'album' information in the INFO chunk: 069e4e52 4c 49 53 54 a2 01 00 00 49 4e 46 4f 49 4e 41 4d |LIST....INFOINAM| 069e4e62 49 00 00 00 53 79 6d 70 68 6f 6e 79 20 4e 6f 2e |I...Symphony No.| 069e4e72 20 39 20 69 6e 20 44 20 6d 69 6e 6f 72 20 28 27 | 9 in D minor ('| 069e4e82 43 68 6f 72 61 6c 27 29 2c 20 4f 70 2e 20 31 32 |Choral'), Op. 12| 069e4e92 35 3a 20 49 49 2e 20 4d 6f 6c 74 6f 20 76 69 76 |5: II. Molto viv| 069e4ea2 61 63 65 20 2d 20 50 72 65 73 74 6f 00 00 49 41 |ace - Presto..IA| 069e4eb2 52 54 15 00 00 00 4c 75 64 77 69 67 20 76 61 6e |RT....Ludwig van| 069e4ec2 20 42 65 65 74 68 6f 76 65 6e 00 00 49 50 52 44 | Beethoven..IPRD| 069e4ed2 1a 00 00 00 42 65 65 74 68 6f 76 65 6e 3a 20 53 |....Beethoven: S| 069e4ee2 79 6d 70 68 6f 6e 79 20 4e 6f 2e 20 39 00 49 47 |ymphony No. 9.IG| 069e4ef2 4e 52 0a 00 00 00 43 6c 61 73 73 69 63 61 6c 00 |NR....Classical.| 069e4f02 49 43 4d 54 5d 00 00 00 50 65 72 66 6f 72 6d 65 |ICMT]...Performe| 069e4f12 72 3a 20 4b 61 74 61 72 69 6e 61 20 4b 61 72 6e |r: Katarina Karn| 069e4f22 c3 a9 75 73 2c 20 48 65 6c 65 6e 61 20 4a 75 6e |..us, Helena Jun| 069e4f32 74 75 6e 65 6e 2c 20 44 61 6e 69 65 6c 20 4e 6f |tunen, Daniel No| 069e4f42 72 6d 61 6e 0d 0a 4f 72 63 68 65 73 74 72 61 3a |rman..Orchestra:| 069e4f52 20 4d 69 6e 6e 65 73 6f 74 61 20 4f 72 63 68 65 | Minnesota Orche| 069e4f62 73 74 72 61 00 00 49 53 46 54 31 00 00 00 67 76 |stra..ISFT1...gv| 069e4f72 66 73 2d 63 64 64 61 20 75 73 69 6e 67 20 6c 69 |fs-cdda using li| 069e4f82 62 63 64 69 6f 20 30 2e 38 32 20 78 38 36 5f 36 |bcdio 0.82 x86_6| 069e4f92 34 2d 70 63 2d 6c 69 6e 75 78 2d 67 6e 75 00 00 |4-pc-linux-gnu..| 069e4fa2 49 54 43 48 1b 00 00 00 4f 73 6d 6f 20 56 c3 a4 |ITCH....Osmo V..| 069e4fb2 6e 73 6b c3 a4 2c 20 4f 73 6d 6f 20 56 61 6e 73 |nsk.., Osmo Vans| 069e4fc2 6b 61 00 00 69 61 61 72 15 00 00 00 4c 75 64 77 |ka..iaar....Ludw| 069e4fd2 69 67 20 76 61 6e 20 42 65 65 74 68 6f 76 65 6e |ig van Beethoven| 069e4fe2 00 00 69 74 72 6b 02 00 00 00 32 00 69 72 76 61 |..itrk....2.irva| 069e4ff2 05 00 00 00 2d 31 30 30 00 00 |....-100..| 069e4ffc What should the album information be? I also don't see any date info anywhere: 00000000 52 49 46 46 f4 4f 9e 06 57 41 56 45 66 6d 74 20 |RIFF.O..WAVEfmt | 00000010 10 00 00 00 01 00 02 00 44 ac 00 00 10 b1 02 00 |........D.......| 00000020 04 00 10 00 4a 55 4e 4b 3e 00 00 00 00 00 00 00 |....JUNK>.......| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00000060 00 00 00 00 00 00 00 00 00 00 64 61 74 61 e0 4d |..........data.M|
Ok, I'm closing this as FIXED, since we now extract all metadata (afaics), apart from the replaygain thing which contains a nonsensical value. Feel free to re-open or file a new bug if there's more to extract.
Album info is set and it is: Beethoven: Symphony No. 9
> Album info is set and it is: > Beethoven: Symphony No. 9 Ah, right, missed that. Added as well, thanks: commit fe0e2d65e190b816959c624149a6dc48b7118796 Author: Tim-Philipp Müller <tim.muller@collabora.co.uk> Date: Sun Mar 18 22:56:58 2012 +0000 riff: map IPRD ("product") tag to GST_TAG_ALBUM http://www.bass.radio42.com/help/html/7e1a8908-88bd-d54b-77d7-f0d08466284c.htm https://bugzilla.gnome.org/show_bug.cgi?id=670286
I wanted to try this out running on gst-plugins-good-1.0.5 and I don't see any difference at all. I'm assuming that these patches are already included in 1.0.5? RB doesn't find the tags which patches are supposed to fix...
Could you please run this command on the file from comment #1? $ gst-launch-1.0 -t playbin uri=file:///path/to/head.wav and show us what that outputs?
Setting pipeline to PAUSED ... Pipeline is PREROLLING ... FOUND TAG : found by element "audiosink-actual-sink-pulse". audio codec: dts bitrate: 1411200 Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstPulseSinkClock FOUND TAG : found by element "audiosink-actual-sink-pulse". audio codec: dts bitrate: 1411200 minimum bitrate: 1411200 maximum bitrate: 1411200 Got EOS from element "playbin0". Execution ended after 5737581617 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... Freeing pipeline ...
Could you run this then: $ GST_DEBUG=*:6 gst-launch-1.0 -t playbin uri=file:///path/to/head.wav 2>dbg.log (then hit control-C as soon as playback starts) $ xz -9 dbg.log and attach dbg.log.xz
Created attachment 240322 [details] dbg log No problem. Debug log attached...
It works fine for me with 1.0.5 as in debian sid. What is your version of the gst-plugins-base libraries (incl. libgstriff-1.0.so) ? On a debian/ubuntu system this would show you: $ dpkg -l libgstreamer*1.0* I wonder if maybe you didn't upgrade libgstriff-1.0.so
I'm on gentoo so that tool is not available for me. I hope a file listing will suffice? ls -l /usr/lib64/libgstreamer-* lrwxrwxrwx 1 root root 27 Dec 9 11:09 /usr/lib64/libgstreamer-0.10.so -> libgstreamer-0.10.so.0.30.0 lrwxrwxrwx 1 root root 27 Dec 9 11:09 /usr/lib64/libgstreamer-0.10.so.0 -> libgstreamer-0.10.so.0.30.0 -rwxr-xr-x 1 root root 963616 Dec 9 11:09 /usr/lib64/libgstreamer-0.10.so.0.30.0 lrwxrwxrwx 1 root root 25 Feb 22 11:29 /usr/lib64/libgstreamer-1.0.so -> libgstreamer-1.0.so.0.5.0 lrwxrwxrwx 1 root root 25 Feb 22 11:29 /usr/lib64/libgstreamer-1.0.so.0 -> libgstreamer-1.0.so.0.5.0 -rwxr-xr-x 1 root root 1012928 Feb 22 11:29 /usr/lib64/libgstreamer-1.0.so.0.5.0 ls -l /usr/lib64/libgstriff* lrwxrwxrwx 1 root root 25 Dec 9 11:16 /usr/lib64/libgstriff-0.10.so -> libgstriff-0.10.so.0.25.0 lrwxrwxrwx 1 root root 25 Dec 9 11:16 /usr/lib64/libgstriff-0.10.so.0 -> libgstriff-0.10.so.0.25.0 -rwxr-xr-x 1 root root 51408 Dec 9 11:16 /usr/lib64/libgstriff-0.10.so.0.25.0 lrwxrwxrwx 1 root root 23 Feb 22 11:31 /usr/lib64/libgstriff-1.0.so -> libgstriff-1.0.so.0.5.0 lrwxrwxrwx 1 root root 23 Feb 22 11:31 /usr/lib64/libgstriff-1.0.so.0 -> libgstriff-1.0.so.0.5.0 -rwxr-xr-x 1 root root 51536 Feb 22 11:31 /usr/lib64/libgstriff-1.0.so.0.5.0
I can see all the info now, closing. Thanks Tim.