Thank you for your donation!


Cloudsmith graciously provides open-source package management and distribution for our project.


Messy Cover Art in MoodeAudio 4.3
#21
Hello Kent,

this is an examination to the bottom! How deep can you go?
Your explanation is clear, but I have to admit that for me it begins to be a little adacadabra.
I'll wait for your results, There are not much doctor/expert in the field.

Thanks for your deep analyses, and sorry for my mistyping and horrible school English.

Dig-It
Reply
#22
(10-29-2018, 09:16 PM)Dig-It Wrote: Hello Kent,

this is an examination  to the bottom! How deep can you go?
Your explanation is clear, but I have to admit that for me it begins to be a little adacadabra.
I'll wait for your results, There are not much doctor/expert in the field.

Thanks for your deep analyses, and sorry for my mistyping and horrible school English.

Dig-It

There isn't anything that can be done in moOde because many of the files are not valid FLAC files and thus cannot be read by the cover art parser.

The list below was generated by using the Linux command "file" which analyzed the files from the test set that you provided and printed out their format.

Files marked as "FLAC audio bitstream data..." are valid FLAC files. Files marked as "Audio file with ID3 version 2.3.0..." are not valid FLAC files. As @TheOldPresbyope pointed out, the invalid FLAC files have the marker string "ID3 " in the first 4 bytes of the file header. A valid FLAC file would have the string "flaC" in that location. 

I also took a look at the metadata blocks in the invalid FLAC files and there was no PICTURE block, thus no embedded flac cover for moOde's cover art parser to extract, even if it could parse the invalid format.
 
I don't really know how to fix or convert these files.

Code:
pi@rp5:/media/VFAT128/Test_mixed/Frans Meerhoff/Test2 $ file *.flac
Adamo - Les Filles du bord de mer.flac:                                         FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 7664580 samples
Airto Moreira - Mystery.flac:                                                   FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 8675352 samples
Al Green - Let’s Stay Together.flac:                                            FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 8684760 samples
Crispian St. Peters - The Pied Piper.flac:                                      Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 6791988 samples
Curtis Mayfield - Move On Up.flac:                                              Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 23561160 samples
D’Angelo - Brown Sugar.flac:                                                    FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 11778228 samples
Dave Berry - This Strange Effect.flac:                                          Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 6569136 samples
Dave Dee, Dozy, Beaky, Mick & Tich - Bend It!.flac:                             Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 6747300 samples
David Bowie - Space Oddity.flac:                                                Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 10027752 samples
Diana Ross - Theme From Mahogany (Do You Know Where You're Going To).flac:      Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 8929368 samples
Diana Ross & The Surpremes & The Temptations - I'm Gonna Make You Love Me.flac: Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 8300796 samples
Diana Ross - Upside down.flac:                                                  FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 9794904 samples
Dionne Warwick - Don't Make Me Over.flac:                                       Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 8962884 samples
Dizzy Man's Band - The Show.flac:                                               Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 8374296 samples
Dolf Brouwers - Naar de bollen.flac:                                            FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 11885244 samples
Don Covay - Seesaw.flac:                                                        Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 7939764 samples
Honeybus - I Can't Let Maggie Go.flac:                                          Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 7835688 samples
Hot Chocolate - Emma.flac:                                                      Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 10352916 samples
I Just Called to Say I Love You.flac:                                           FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 11572428 samples
Ike & Tina Turner - Proud Mary.flac:                                            Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 9008160 samples
India.Arie - Video.flac:                                                        FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 10977372 samples
In-Grid - Tu Es Foutu.flac:                                                     FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 9664368 samples
Isaac Hayes , Theme From Shaft (Single Version)ˇ.flac:                          Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 8718276 samples
Isn’t She Lovely.flac:                                                          FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 8818236 samples
I Was Made to Love Her.flac:                                                    FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 6941928 samples
Jackie Wilson - (I Get the) Sweetest Feeling.flac:                              FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 7808640 samples
Jackie Wilson - Reet Petite.flac:                                               Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 7267092 samples
Jack Jersey - Papa Was A Poor Man.flac:                                         Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 8781780 samples
Jackson 5 - ABC.flac:                                                           Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 7859796 samples
James Bay - Let It Go.flac:                                                     FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 11540088 samples
James Brown - Cold Sweat (1967 Album Version).flac:                             Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 19730928 samples
James Brown - Get Up (I Feel Like Being A Sex Machine).flac:                    Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 14043204 samples
J. Vincent Edwards - Thanks.flac:                                               Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 8101464 samples
Martin Garrix ft. Usher - Don't Look Down.flac:                                 Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 9877224 samples
Martin Solveig & Dragonette - Hello.flac:                                       FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 8527764 samples
Martin Solveig ft. GTA - Intoxicated.flac:                                      Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 7078344 samples
Marvin Gaye - I heard it through the grapevine.flac:                            FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 8509536 samples
Marvin Gaye & Tammi Terrell - Ain't Nothing Like The Real Thing.flac:           Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 5892348 samples
Marvin Gaye - What's Going On (Album Version)ˇ.flac:                            Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 10268832 samples
Mary Wells - My Guy.flac:                                                       Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 7594020 samples
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#23
(10-29-2018, 05:38 PM)TheOldPresbyope Wrote: My position is that a FLAC-encoded file isn't a FLAC file if it doesn't have the specified header even if some software apparently ignores the contradiction. To me, it's perfectly proper for the Zend framework to enforce the specification.

I'm not sure there's a simple way to repair the files. My first attempt using dd to overwrite the first 4 bytes of one seemed to succeed syntactically but the resulting file wasn't recognized by the audio tools. I'll look into this further if I can find the time but no promises.

I don’t think it’s raising the bar too high to support only standard format files.

Fortunately it looks like there’s a relatively easy fix:

https://community.bose.com/t5/SoundTouch.../td-p/8395

I was going to suggest converting to Apple lossless and back with XLD which would be automated but I don’t know if it’d work or not.
Reply
#24
(10-29-2018, 11:56 PM)swizzle Wrote:
(10-29-2018, 05:38 PM)TheOldPresbyope Wrote: My position is that a FLAC-encoded file isn't a FLAC file if it doesn't have the specified header even if some software apparently ignores the contradiction. To me, it's perfectly proper for the Zend framework to enforce the specification.

I'm not sure there's a simple way to repair the files. My first attempt using dd to overwrite the first 4 bytes of one seemed to succeed syntactically but the resulting file wasn't recognized by the audio tools. I'll look into this further if I can find the time but no promises.

I don’t think it’s raising the bar too high to support only standard format files.

Fortunately it looks like there’s a relatively easy fix:

https://community.bose.com/t5/SoundTouch.../td-p/8395

I was going to suggest converting to Apple lossless and back with XLD which would be automated but I don’t know if it’d work or not.


Great find, @swizzle 

Once the coffee cleared away my morning fog, I realized this "explains everything™".

@Dig-It's files actually do contain ID3V2 tags in addition to the FLAC-specified VORBIS_COMMENT block. I thought file was basing its report simply on the magic number. Naively changing the magic number using dd wouldn't remove the ID3V2 blob, which is why my quick-n-dirty fix didn't work. I still don't know why tools like metaflac are blind to the presence of this "foreign" data but I suspect the same mechanism underlies an earlier issue regarding coverart I was exploring back in June when I ran out of time. 

So, after installing the latest version of MP3tag in PlayOnLinux (which is a bore, but booting into Win10 to run it natively is a bigger bore) I tried the suggested fix on one of @Dig-It's files whose cover art was not displaying in moOde's Playback panel. After the fix, the file begins with "fLaC", as hoped, and is shorter by almost 5K bytes, presumably the ID3V2 tags. Hey nonny nonny, the fixed file displays its cover art!

Bottom line: This fix works but it's a multi-click manual process per file. I wonder if there's a way to automate it?

Regards,
Kent

PS - As an aside, I wouldn't be surprised if MP3tag were the program which created the dual tagging in the first place. The trouble with "Swiss Army knife" software is it can cut and poke one in unexpected ways Undecided
Reply
#25
(10-29-2018, 09:16 PM)Dig-It Wrote: Hello Kent,

this is an examination  to the bottom! How deep can you go?
Your explanation is clear, but I have to admit that for me it begins to be a little adacadabra.
I'll wait for your results, There are not much doctor/expert in the field.

Thanks for your deep analyses, and sorry for my mistyping and horrible school English.

Dig-It

We're communicating, so no worries!


Sixty years ago my competence reading/writing/speaking German was rather good, but no more. My attempt to learn French in college was so laughably awful (think Benny Hill) that I dropped it to the relief of my instructor! You'll never hear me criticize a Net-izen for their English.

The fix suggested by @swizzle appears to work with your files. Follow the link in his post. In the linked Bose article, start with the section "Identifying the issue".

Regards,
Kent
Reply
#26
I'm very glad to know nothing is wrong with MoodeAudio!

Good searching done, and I'm surprised there is a B*s* forum.
(Can't get it out of my pen, very bad memories)
Still I don't understand why I have 2 differnt files, with and without the Mp tag.
Thanks you all and I will get started with converting.

When someone knows about an automatic change piece of software to do the task, I whould like to know!

PROBLEM SOLVED

Dig-It
Reply
#27
(10-30-2018, 02:47 PM)TheOldPresbyope Wrote:
(10-29-2018, 11:56 PM)swizzle Wrote:
(10-29-2018, 05:38 PM)TheOldPresbyope Wrote: My position is that a FLAC-encoded file isn't a FLAC file if it doesn't have the specified header even if some software apparently ignores the contradiction. To me, it's perfectly proper for the Zend framework to enforce the specification.

I'm not sure there's a simple way to repair the files. My first attempt using dd to overwrite the first 4 bytes of one seemed to succeed syntactically but the resulting file wasn't recognized by the audio tools. I'll look into this further if I can find the time but no promises.

I don’t think it’s raising the bar too high to support only standard format files.

Fortunately it looks like there’s a relatively easy fix:

https://community.bose.com/t5/SoundTouch.../td-p/8395

I was going to suggest converting to Apple lossless and back with XLD which would be automated but I don’t know if it’d work or not.


Great find, @swizzle 

Once the coffee cleared away my morning fog, I realized this "explains everything™".

@Dig-It's files actually do contain ID3V2 tags in addition to the FLAC-specified VORBIS_COMMENT block. I thought file was basing its report simply on the magic number. Naively changing the magic number using dd wouldn't remove the ID3V2 blob, which is why my quick-n-dirty fix didn't work. I still don't know why tools like metaflac are blind to the presence of this "foreign" data but I suspect the same mechanism underlies an earlier issue regarding coverart I was exploring back in June when I ran out of time. 

So, after installing the latest version of MP3tag in PlayOnLinux (which is a bore, but booting into Win10 to run it natively is a bigger bore) I tried the suggested fix on one of @Dig-It's files whose cover art was not displaying in moOde's Playback panel. After the fix, the file begins with "fLaC", as hoped, and is shorter by almost 5K bytes, presumably the ID3V2 tags. Hey nonny nonny, the fixed file displays its cover art!

Bottom line: This fix works but it's a multi-click manual process per file. I wonder if there's a way to automate it?

Regards,
Kent

PS - As an aside, I wouldn't be surprised if MP3tag were the program which created the dual tagging in the first place. The trouble with "Swiss Army knife" software is it can cut and poke one in unexpected ways Undecided

Hi Kent,

Please email me download link to the file you successfully converted. I'd like to examine its metadata blocks to understand how its showing cover art. When I looked at the blocks in a couple of the original ID3 sample files, none of them contained the Flac PICTURE block (id=6)

Thx, Tim
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#28
Hello MoodeAudio Listeners!

For to whom it concerns:

Flac music file with incorrect Tag (as described in this tread)

In the before mentioned MP3Tag software you can:
select all (CTRL-A) ,
choose: remove tag > ENTER
are you sure? > Y
to delete the completed message > ENTER
CTRL-Z (undo)

and all my (test) 714 music files were restored!

Saves a lot of mouse clicks!

Dig_It
Reply
#29
Glad to hear that :-) Many thanks for taking the time to provide all the test files. We would not have been able to reproduce and analyze your issue without them.

-Tim
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#30
A post mortem

The MP3tag method described in previous posts works well to convert the hybrid-tagged FLAC files to proper FLAC files (as defined by the FLAC spec). MP3tag is available only for Windows but it runs fine in Wine on Mac OS X (or so they claim) and on Linux (I use the PlayOnLinux frontend for convenience).

Once I put third-party tools aside and started looking directly at the files, I could see what the tools had been hiding.

Turns out the troublesome files have both an ID3v2 frame bolted onto the front of the FLAC content and an ID3v1 frame bolted onto the back of the FLAC content. Consistent with ID3 specs, the length of the ID3v2 frame varies while the ID3v1 frame is always 128 bytes.

I've tested that I can convert these to proper FLAC files from the command line with a combination of grep (to find where the FLAC content starts) and dd (to trim from both ends to get just the FLAC content) but it's a process only a believer in the Tao of Unix could love. Creating a command-line script which is user-friendly and file-safe is too much bother. 

So how do you know if a FLAC file is hybrid-tagged? 

In Windows, MP3tag is useful: if it declares the tagging is "FLAC (FLAC ID3v2)" then it's hybrid. In Linux, the file command is useful: if it declares the file is "Audio file with ID3 version 2.3.0, contains: FLAC audio bitstream data" then it's hybrid. I'm not fluent in Mac OS X but apparently it has the file command too. Alternatively, as I said above, with a little extra effort MP3tag can be made to work in Linux and in Mac OS X. I'm sure these aren't the only solutions but they work.

And I also thank @Dig-It for providing the test files.

Regards,
Kent

PS - The FLAC files created by the Linux trimming method and by MP3tag are the same length and contain the same data. However, at least sometimes MP3tag gratuitously rearranges the order of the metadata tags so the files aren't necessarily byte-for-byte identical. Files created either way play and display their coverart just fine in moOde.
Reply


Forum Jump: