Home of the Squeezebox™ & Transporter® network music players.
Page 2 of 5 FirstFirst 1234 ... LastLast
Results 11 to 20 of 44
  1. #11
    Senior Member ralphy's Avatar
    Join Date
    Jan 2006
    Location
    Canada
    Posts
    2,497
    Quote Originally Posted by chill View Post
    Are you using the version of lame that's included with pCP?
    Yes and no.

    I do mp3 encoding and tagging on linux i386 using v3.100 but used v3.99.5 for years before upgrading about a year ago. I've never encountered the issue you're having with either version.

    I see we still had lame 3.99.5 in the repository which was built back when pCP 3.x was current.

    I've updated lame to 3.100 and uploaded it and the id3v2 extensions to the repository. Hopefully you have better success.
    Ralphy

    1-Touch, 5-Classics, 3-Booms, 1-UE Radio
    Squeezebox client builds donations always appreciated.

  2. #12
    Senior Member chill's Avatar
    Join Date
    Mar 2007
    Location
    Nottingham, UK
    Posts
    1,652
    Quote Originally Posted by ralphy View Post
    I've updated lame to 3.100 and uploaded it and the id3v2 extensions to the repository. Hopefully you have better success.
    Thanks for doing that Ralphy. It hasn't changed the result for me unfortunately. Here's my test:

    Code:
    tc@pCPLoungePi4:~/PlaylistExport$ lame --ta lame-artist --add-id3v2 test.MP3 testout.MP3
    LAME 3.100 32bits (http://lame.sf.net)
    Using polyphase lowpass filter, transition band: 16538 Hz - 17071 Hz
    Encoding test.MP3 to testout.MP3
    Encoding as 44.1 kHz j-stereo MPEG-1 Layer III (11x) 128 kbps qval=3
        Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA 
      8768/8768  (100%)|    0:51/    0:51|    0:51/    0:51|   4.4283x|    0:00 
    -------------------------------------------------------------------------------
       kbps        LR    MS  %     long switch short %                             
      128.0       13.9  86.1        96.9   1.8   1.3                               
    Writing LAME Tag...done
    ReplayGain: -8.6dB
    
    tc@pCPLoungePi4:~/PlaylistExport$ id3v2 -l testout.MP3
    id3v1 tag info for testout.MP3:
    Title  :                                 Artist: lame-artist                   
    Album  :                                 Year:     , Genre: Unknown (255)
    Comment:                                 Track: 0
    id3v2 tag info for testout.MP3:
    TSSE (Software/Hardware and settings used for encoding): LAME 32bits version 3.100 (http://lame.sf.net)
    TPE1 (Lead performer(s)/Soloist(s)): 
    TLEN (Length): 229000
    The artist tag is clearly being written correctly to the v1 tags. id3v2 reports all the v2 tags it finds (TSSE, TPE1, TLEN), so evidently lame has put something in the TPE1 tag, but it seems to contain nothing readable. I get the same result with --id3v2-only. Putting quotes around the text, and forcing --id3v2-utf16 doesn't change the result.

    If I use id3v2 to add a v2 artist tag, that seems to work correctly:
    Code:
    tc@pCPLoungePi4:~/PlaylistExport$ id3v2 -a id3v2-artist -2 testout.MP3
    
    tc@pCPLoungePi4:~/PlaylistExport$ id3v2 -l testout.MP3
    id3v1 tag info for testout.MP3:
    Title  :                                 Artist: lame-artist                   
    Album  :                                 Year:     , Genre: Unknown (255)
    Comment:                                 Track: 0
    id3v2 tag info for testout.MP3:
    TSSE (Software/Hardware and settings used for encoding): LAME 32bits version 3.100 (http://lame.sf.net)
    TLEN (Length): 229000
    TPE1 (Lead performer(s)/Soloist(s)): id3v2-artist
    Please don't spend any time on this on my behalf - id3v2 is working fine as a tagger.
    Last edited by chill; 2020-04-15 at 08:09.

  3. #13
    Senior Member chill's Avatar
    Join Date
    Mar 2007
    Location
    Nottingham, UK
    Posts
    1,652

    Unable to write id3v2 tags with lame

    This is niggling me now. I still don't need lame to write v2 tags, because the id3v2 utility does what I need, but I'm puzzled that I can't get a fairly long-standing feature of lame to work. I wonder if anyone else can reproduce what I'm seeing.

    My test cases are in the post above. In short, lame seems to create a v2 tag, but the id3v2 utility reports it as a blank tag.

    I've dug a little deeper since that post, and have used a hex editor to look at the content of the TPE1 field, and it is indeed empty. So that rules out the possibility that the id3v2 utility is unable to read the lame tag properly - the text I've specified on the lame command line just isn't in the file.

    I've tried various things, such as enclosing the tag in quotes, changing the character encoding (latin, UTF16), padding the tag field, both v2 options ('--id3v2-only' and '--add-id3v2'), and nothing seems to work. The same command line that successful writes a v1 tag into the file (with --add-id3v2) doesn't put anything in the TPE1 field.

    I did notice in some online documentation that the '--id3v2-only' flag has to come before any other tagging options, but that makes no difference to the outcome.

    I find this odd, since the v2 tagging option has been around for a while, and Ralphy has said he's used it successfully. So is there something about the 64-bit piCore environment on a Pi4 that is causing this problem? I guess I could try it on one of my other Pis to test that possibility.

  4. #14
    Senior Member chill's Avatar
    Join Date
    Mar 2007
    Location
    Nottingham, UK
    Posts
    1,652
    Quote Originally Posted by chill View Post
    I guess I could try it on one of my other Pis to test that possibility.
    Same result on a Pi3B+ running pCP5.

  5. #15
    Senior Member chill's Avatar
    Join Date
    Mar 2007
    Location
    Nottingham, UK
    Posts
    1,652
    I ran the same test on an Ubuntu 18.04.1 LTS 64-bit Macbook, and the same commands now work as expected, i.e. the --id3v3-only flag results in a v2 tag that contains my text and is correctly read by the id3v2 utility.

    Code:
    chris@chris-MacBook:~/Documents$ lame --id3v2-only --ta lameartist test.MP3 testout.MP3
    LAME 3.100 64bits (http://lame.sf.net)
    Using polyphase lowpass filter, transition band: 16538 Hz - 17071 Hz
    Encoding test.MP3 to testout.MP3
    Encoding as 44.1 kHz j-stereo MPEG-1 Layer III (11x) 128 kbps qval=3
        Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA 
      8768/8768  (100%)|    0:10/    0:10|    0:10/    0:10|   21.038x|    0:00 
    -------------------------------------------------------------------------------
       kbps        LR    MS  %     long switch short %
      128.0       13.9  86.1        96.9   1.8   1.3
    Writing LAME Tag...done
    ReplayGain: -8.6dB
    
    chris@chris-MacBook:~/Documents$ id3v2 -l testout.MP3
    id3v2 tag info for testout.MP3:
    TSSE (Software/Hardware and settings used for encoding): LAME 64bits version 3.100 (http://lame.sf.net)
    TPE1 (Lead performer(s)/Soloist(s)): lameartist
    TLEN (Length): 229000
    testout.MP3: No ID3v1 tag
    So it looks like a quirk of the pCP lame utility that's causing these blank tags to be written. Could it be something to do with the build configuration?

    I also noticed that the transcoding task was much faster on the Macbook than on my Pi4 (10 seconds versus 51 seconds). That was a bit of a surprise - I thought the 1.5GHz quad core Pi4 was closer to the 2.4GHz Core 2 Duo 2008 Macbook than that factor of 5 suggests. Could it be due to the fact that the lame build on the Macbook is 64-bit, and on pCP it is 32-bit?

  6. #16
    Senior Member chill's Avatar
    Join Date
    Mar 2007
    Location
    Nottingham, UK
    Posts
    1,652
    Hex views confirm the missing v2 tag content in the file created under pCP. Both files created with the same command:

    Code:
    lame --id3v2-only --ta lameartist test.MP3 testout.MP3


    The two files appear otherwise almost identical - the file sizes differ only by 20 bytes, corresponding to the missing 10 characters in the TPE1 field.
    Last edited by chill; 2020-04-17 at 02:23.

  7. #17
    Senior Member ralphy's Avatar
    Join Date
    Jan 2006
    Location
    Canada
    Posts
    2,497
    That's really weird.

    I just tried that command on pcp using a wav file as I thought it might be an issue with mp3->mp3, which I never do.

    lame --id3v2-only --ta lameartist ~/bb4-noise1.wav test.mp3

    hexdump -C test.mp3

    Code:
    00000000  49 44 33 03 00 00 00 00  00 69 54 53 53 45 00 00  |ID3......iTSSE..|
    00000010  00 2f 00 00 00 4c 41 4d  45 20 33 32 62 69 74 73  |./...LAME 32bits|
    00000020  20 76 65 72 73 69 6f 6e  20 33 2e 31 30 30 20 28  | version 3.100 (|
    00000030  68 74 74 70 3a 2f 2f 6c  61 6d 65 2e 73 66 2e 6e  |http://lame.sf.n|
    00000040  65 74 29 54 50 45 31 00  00 00 17 00 00 01 ff fe  |et)TPE1.........|
    00000050  6c 00 61 00 6d 00 65 00  61 00 72 00 74 00 69 00  |l.a.m.e.a.r.t.i.|
    00000060  73 00 74 00 54 4c 45 4e  00 00 00 05 00 00 00 32  |s.t.TLEN.......2|
    00000070  33 30 30 ff fb 90 64 00  00 00 00 00 00 00 00 00  |300...d.........|
    Then using the test.mp3 created above.

    lame --id3v2-only --ta lameartist test.mp3 testout.mp3

    hexdump -C testout.mp3

    Code:
    00000000  49 44 33 03 00 00 00 00  00 69 54 53 53 45 00 00  |ID3......iTSSE..|
    00000010  00 2f 00 00 00 4c 41 4d  45 20 33 32 62 69 74 73  |./...LAME 32bits|
    00000020  20 76 65 72 73 69 6f 6e  20 33 2e 31 30 30 20 28  | version 3.100 (|
    00000030  68 74 74 70 3a 2f 2f 6c  61 6d 65 2e 73 66 2e 6e  |http://lame.sf.n|
    00000040  65 74 29 54 50 45 31 00  00 00 17 00 00 01 ff fe  |et)TPE1.........|
    00000050  6c 00 61 00 6d 00 65 00  61 00 72 00 74 00 69 00  |l.a.m.e.a.r.t.i.|
    00000060  73 00 74 00 54 4c 45 4e  00 00 00 05 00 00 00 32  |s.t.TLEN.......2|
    00000070  33 30 30 ff fb 90 64 00  00 00 00 00 00 00 00 00  |300...d.........|
    id3v2 show the tags.

    id3v2 -l test.mp3

    Code:
    id3v2 tag info for test.mp3:
    TSSE (Software/Hardware and settings used for encoding): LAME 32bits version 3.100 (http://lame.sf.net)
    TPE1 (Lead performer(s)/Soloist(s)): lameartist
    TLEN (Length): 2300
    test.mp3: No ID3v1 tag
    id3v2 -l testout.mp3

    Code:
    id3v2 tag info for testout.mp3:
    TSSE (Software/Hardware and settings used for encoding): LAME 32bits version 3.100 (http://lame.sf.net)
    TPE1 (Lead performer(s)/Soloist(s)): lameartist
    TLEN (Length): 2300
    testout.mp3: No ID3v1 tag
    Ralphy

    1-Touch, 5-Classics, 3-Booms, 1-UE Radio
    Squeezebox client builds donations always appreciated.

  8. #18
    Senior Member chill's Avatar
    Join Date
    Mar 2007
    Location
    Nottingham, UK
    Posts
    1,652
    Ooh - that's interesting. So you're getting different results from me with the same software. I feel the need to try a fresh pCP install, even though I've had the same results on two different Pis running two different versions of pCP. Maybe something else I've installed on both of them is having an effect.

    I had some new SD cards delivered yesterday - time to open one and try a fresh install.

  9. #19
    Senior Member chill's Avatar
    Join Date
    Mar 2007
    Location
    Nottingham, UK
    Posts
    1,652
    The plot thickens. I just did a fresh install of the latest pCP6, and I did nothing else except load lame and id3v2 from the default piCorePlayer repository, and I'm still not getting the v2 tags to write to the lame output. I even did a test with a wav file as input, and that doesn't result in the tags being written either.

    Could it be a text encoding/locale difference between your setup and mine? The only other thing I did, other than installing lame and id3v2, was to configure wpa_supplicant.conf for my wifi, which involved setting the country code to GB.

  10. #20
    Senior Member chill's Avatar
    Join Date
    Mar 2007
    Location
    Nottingham, UK
    Posts
    1,652
    Unsurprisingly, changing the country code back to US didn't affect the outcome.

    So I'm at a loss - this is with a completely fresh pCP6.0.0 install, with nothing else, not even squeezelite, configured (apart from its default analogue configuration). All I did was put the card in, boot up, use the web interface to install pcp-lame and pcp-id3v2, then ssh in and try out the lame commands.

    Anyone else care to try those steps to determine whether I'm going mad?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •