PDA

View Full Version : Check vailidity of music library?



rkrug
2015-12-08, 15:14
Hi

I transcoded my library from flac to apple lossless using xld (integration iTunes, managing tags with iTunes), but now I have issues with quite a few tracks not playing correctly. I do not know if it is because of my lms server (pogoplug E02), pleyer (piCorePlayer, squeezelite on OSX, iPeng on iPhone) or if some files were corrupted during the transcoding.

Therefore I am looking for an easy way of checking the validity (i.e. non-corruptness, "I can play them") of the apple lossless files. Is there something (batch file preferred)?

Thanks,

Rainer

DJanGo
2015-12-08, 16:06
Hi,

since i have a huge experience with valid/unvalid files i can tell you (no i am not audiophoolish) there is no real way to check that other than your ears.

What you can do is:

open vlc
press [strg] [m]
set verbosity to warning
add a (smal) folder to the playlist
play them
take a look in the warnings/messages



but
I have files with errors that play perfect and files with no "errors" that arent good.
eg a really good example (the hardest track to rip ever i found)
is Depeche Mode A Question of Time [CDBONG 12] from 1991 Track 1 - A Question of Time (Remix) @ 1:10 till 1:21. (ok these errors are in the CD and some rippers do add more skips to it that the original has already)

pippin
2015-12-08, 16:30
Which server version is this?
Also, please check your file conversion settings to make sure ALAC can be played natively.
If that's sure then if iPeng can't play the file I'd say it's corrupt. iPeng plays ALAC natively and uses Apple's codec, I'd say that's a reference.

That said... A very common issue with ALAC and AAC files using an MP4 container is that some metadata is written at the end of the file without a correct index header at the front of the file.
These files can be played locally but cannot streamed so won't work in a Squeezebox environment

mherger
2015-12-08, 23:20
> I transcoded my library from flac to apple lossless using xld
> (integration iTunes, managing tags with iTunes), but now I have issues
> with quite a few tracks not playing correctly. I do not know if it is
> because of my lms server (pogoplug E02), pleyer (piCorePlayer,
> squeezelite on OSX, iPeng on iPhone) or if some files were corrupted
> during the transcoding.

Pogoplug? Isn't this one of those early mini-computers built in to a
power plug? Most likely it's not up to the task of transcoding the files
on the fly. Try playing those files with a more powerful LMS machine.

--

Michael

pippin
2015-12-08, 23:26
But it would not have to transcode for these players!

rkrug
2015-12-09, 01:33
@pippin
Server Version: Logitech Media Server Version: 7.7.5 - 1416570306 @ Thu Nov 27 08:25:11 UTC 2014
Should I upgrade to a newer version? I am running Debian by the way.

Yes - it does transcode for the squeezelite player, but not the iPeng. But actually, this morning it is working. I assume it has to do with the transcoding. SO let's look there:

The settings are

19414

A typical output from "top" when playing a apple lossless to a squeezelite player is:


PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6967 squeezeb 20 0 3096 772 560 S 9.2 0.3 0:13.03 faad
6968 squeezeb 20 0 5884 1496 1172 S 2.6 0.6 0:04.01 sox
73 root 20 0 0 0 0 S 1.0 0.0 18:00.46 kworker/u:1
1905 squeezeb 20 0 103m 84m 4308 S 0.7 33.7 15:32.58 squeezeboxserve
...


So it is transcoding - no sox and faad when playing the same to iPeng.

@mherger
No - here is one with the specs: http://archlinuxarm.org/platforms/armv5/pogoplug-v2-pinkgray

It should be powerful enough.

rkrug
2015-12-09, 02:00
OK - the squeezelite on the piCorePlayer does not require transcoding anymore as I installed the one which is compiled with the -DFFMPEG option. I also recompiled squeezelite with apple lossless support and no transcoding anymore.

rkrug
2015-12-09, 02:10
But still the same problem:

I get the following error messages when playing the track (apple lossless)


09:58:34.355905] ffmpeg: stream 0, timescale not set
[09:58:34.371076] ffmpeg: Error : 394237 bits left
[09:58:34.371103] ffmpeg: Failed to decode all channels
[10:01:31.802957] ffmpeg: stream 0, timescale not set
[10:01:31.804798] ffmpeg: stream 0, offset 0x61023: partial file
[10:01:31.804868] ffmpeg: Error : 394237 bits left
[10:01:31.804876] ffmpeg: Failed to decode all channels
[10:01:32.232325] ff_decode:377 avcodec_decode_audio4 error: -1 Operation not permitted
[10:01:32.232369] ffmpeg: stream 0, offset 0x6324d: partial file
[10:01:32.232386] ff_decode:360 av_read_frame error: -1094995529 Invalid data found when processing input
[10:01:32.232391] ffmpeg: stream 0, offset 0x657de: partial file
[10:01:32.232397] ff_decode:360 av_read_frame error: -1094995529 Invalid data found when processing input
[10:01:32.232401] ffmpeg: stream 0, offset 0x6783f: partial file
[10:01:32.232406] ff_decode:360 av_read_frame error: -1094995529 Invalid data found when processing input
[10:01:32.232409] ffmpeg: stream 0, offset 0x69096: partial file
[10:01:32.232414] ff_decode:360 av_read_frame error: -1094995529 Invalid data found when processing input
[10:01:32.232419] ffmpeg: stream 0, offset 0x6a61b: partial file
[10:01:32.232424] ff_decode:360 av_read_frame error: -1094995529 Invalid data found when processing input
[10:01:32.232428] ffmpeg: stream 0, offset 0x6bad5: partial file
[10:01:32.232433] ff_decode:360 av_read_frame error: -1094995529 Invalid data found when processing input
[10:01:32.232436] ffmpeg: stream 0, offset 0x6d931: partial file
[10:01:32.232441] ff_decode:360 av_read_frame error: -1094995529 Invalid data found when processing input
[10:01:32.232444] ffmpeg: stream 0, offset 0x6f5b0: partial file
[10:01:32.232449] ff_decode:360 av_read_frame error: -1094995529 Invalid data found when processing input
[10:01:32.232452] ffmpeg: stream 0, offset 0x70b96: partial file
[10:01:32.232457] ff_decode:360 av_read_frame error: -1094995529 Invalid data found when processing input
[10:01:32.232463] ffmpeg: stream 0, offset 0x71ff1: partial file

What do all these error messages mean? Or should I follow this up with the squezzelite guys?

poing
2015-12-09, 06:03
I would use foobar2000's bit compare tool to check if the FLAC and corresponding ALAC decode to exactly the same thing (bit-for-bit identical PCM stream).

(EDIT: I realize you may be on a Mac but perhaps you have a Windows VM, Wine, or the like at your disposal.)

garym
2015-12-09, 06:18
As an aside, it was always unfortunate that Apple decided not to include a built-in CRC in the Apple Lossless format. If the situation was reversed and the OP was trying to determine if any FLAC files were corrupted, he could easily run any number of BATCH programs to test the FLAC files (which *do* contain a built-in CRC). I always do this after I create a new backup disk of my FLAC collection.

pkfox
2015-12-10, 06:42
As an aside, it was always unfortunate that Apple decided not to include a built-in CRC in the Apple Lossless format. If the situation was reversed and the OP was trying to determine if any FLAC files were corrupted, he could easily run any number of BATCH programs to test the FLAC files (which *do* contain a built-in CRC). I always do this after I create a new backup disk of my FLAC collection.

Hi there, what do you use for to test your flac files when you back them up ?

garym
2015-12-10, 07:08
Hi there, what do you use for to test your flac files when you back them up ?

because I use dbpoweramp, I can simple select all files and do a batch "convert to" [TEST CONVERSION] and it will run through all the files and test the decoding. It will produce a report at the end identifying any warnings or errors.

Another approach that I've used is foobar2000 with the "file integrity verifier" component added. Again, select all the files in a giant batch, right click, select 'utilities' and then select "verify integrity' and it will check all the files.

There are also command line commands one can use from FLAC library to do the same thing the above two options do.

see this as well:
https://www.hydrogenaud.io/forums/index.php?showtopic=49487