Max apple lossless and Slimserver
-
- Posts: 1
- Joined: Thu Sep 28, 2006 10:10 pm
Max apple lossless and Slimserver
I use Max to encode to apple lossless, and play my music with
Slimserver/Squeezbox http://www.slimdevices.com/.
The latest version 6.5 of Slimserver is unable to decode Max-produced
apple lossless files. They changed to a different decoder "alac"
http://craz.net/programs/itunes/alac.html
for this version of Slimserver. Alac
crashes when it meets an apple lossless file produced by Max, with the error message
(moov) unknown chunk id: iods.
The problem seems to be related to the issues discussed at
http://sbooth.org/forums/viewtopic.php?t=217.
A work-around is to re-encode to apple lossless using iTunes.
This produces an apple lossless file that alac can decode.
I tried to process the offending files with Atomic Parsley, as suggested at
http://sbooth.org/forums/viewtopic.php?t=217, but this does not help.
Request: it would be nice if the author of Max and the author of alac could consult on this, so that their encoder and decoder could work together.
Slimserver/Squeezbox http://www.slimdevices.com/.
The latest version 6.5 of Slimserver is unable to decode Max-produced
apple lossless files. They changed to a different decoder "alac"
http://craz.net/programs/itunes/alac.html
for this version of Slimserver. Alac
crashes when it meets an apple lossless file produced by Max, with the error message
(moov) unknown chunk id: iods.
The problem seems to be related to the issues discussed at
http://sbooth.org/forums/viewtopic.php?t=217.
A work-around is to re-encode to apple lossless using iTunes.
This produces an apple lossless file that alac can decode.
I tried to process the offending files with Atomic Parsley, as suggested at
http://sbooth.org/forums/viewtopic.php?t=217, but this does not help.
Request: it would be nice if the author of Max and the author of alac could consult on this, so that their encoder and decoder could work together.
Since Max uses the Core Audio AAC encoder, there aren't very many changes I can make to the MPEG 4/Apple Lossless files produced by Max. mp4v2 (the library I use for reading and writing tags in m4a files) does have facilities for editing atoms, but I think the best approach in this case would be for the decoder to simply ignore atoms it doesn't know about.
I will download the source to alac and see if I can figure anything out.
I will download the source to alac and see if I can figure anything out.
The mp4v2 library seems to have an 'optimize' function that should arrange the atoms in the right order. Perhaps that could help...sbooth wrote:[..] mp4v2 (the library I use for reading and writing tags in m4a files) does have facilities for editing atoms, [..]
Have a look at this: http://www.hydrogenaudio.org/forums/ind ... t&p=287078
Actually, the svn versions of Max use this method to fix the problems with m4a playback on shared iTunes libraries.Maurits wrote:The mp4v2 library seems to have an 'optimize' function that should arrange the atoms in the right order. Perhaps that could help...sbooth wrote:[..] mp4v2 (the library I use for reading and writing tags in m4a files) does have facilities for editing atoms, [..]
Have a look at this: http://www.hydrogenaudio.org/forums/ind ... t&p=287078
I'm not sure what it does with the iods chunk, though. I will check it out.
I've changed the source of alac to skip unknown chunks in the 'moov' atom instead of choking on them, but another problem has presented itself:
In any case, with my patch to alac, and then running
I was able to get a wav file that sounded like the original ALAC file.
Not a beautiful solution I know, but it did work for now.
Code: Select all
FIXME: unimplemented, unhandling of wasted_bytes
Code: Select all
AtomicParsley /path/to/mp4 --freefree
Not a beautiful solution I know, but it did work for now.
Hi there...
First, congrats for Max, it seems a good alternative to EAC for me, fresh new switcher.
But i've a problem : I just started transcoding my FLAC files to ALAC with MAX and discovered that my Squeezebox won't play the ALAC files at all! Basically, the SlimServer and SB3 both tell me the song is playing, BUT the time indicator doesn't move and no sound comes out of the SB3. In fact, the SB3 even knows nothing is playing - the VU meter is at 0 at all times. But the indicator is clearly on "play," not pause or stop.
So, when you say that the problem is solved with "the new version of Alac", what does it means ? I must install some new decoder (where ?) in order to play Max-produced Alac files on my squeezebox ?
Someone to help a newbie in Mac World ?
Thanks
First, congrats for Max, it seems a good alternative to EAC for me, fresh new switcher.
But i've a problem : I just started transcoding my FLAC files to ALAC with MAX and discovered that my Squeezebox won't play the ALAC files at all! Basically, the SlimServer and SB3 both tell me the song is playing, BUT the time indicator doesn't move and no sound comes out of the SB3. In fact, the SB3 even knows nothing is playing - the VU meter is at 0 at all times. But the indicator is clearly on "play," not pause or stop.
So, when you say that the problem is solved with "the new version of Alac", what does it means ? I must install some new decoder (where ?) in order to play Max-produced Alac files on my squeezebox ?
Someone to help a newbie in Mac World ?
Thanks
Wow, I'm surprised to see this post as I too have the same problem.
I have been going back and forth with Slimdevices tech support trying to remedy the problem, not thinking it had anything to do with Max.
I even sent a few songs to tech support, and interesting enough, they played fine for them.
I just purchased a Slimdevices Transporter and did find something interesting.
I used Max to convert a problem alac file to flac, and sent it to the same folder holding the original alac file, which of course duplicated all the tracks.
Not only does the flac file play, but the once unplayable alac file plays as well.
Note..some of the files decoded by Max do work.
I suppose the only solution is to re-encode all of the albums which are not working?
Also, I have the same question as the the poster above asking where is the new alac decoder?
Mark
I have been going back and forth with Slimdevices tech support trying to remedy the problem, not thinking it had anything to do with Max.
I even sent a few songs to tech support, and interesting enough, they played fine for them.
I just purchased a Slimdevices Transporter and did find something interesting.
I used Max to convert a problem alac file to flac, and sent it to the same folder holding the original alac file, which of course duplicated all the tracks.
Not only does the flac file play, but the once unplayable alac file plays as well.
Note..some of the files decoded by Max do work.
I suppose the only solution is to re-encode all of the albums which are not working?
Also, I have the same question as the the poster above asking where is the new alac decoder?
Mark
I am in a similar boat to you folks. I have the majority of my 1.5TB collection in Apple Lossless because it is lossless and it plays on my iPod. It also plays on my Squeezebox (v1) which is how I listen to the majority of my music.
I have had a similar experience that some of you have had with Max. It encodes Apple Lossless seemingly fine and it will play in iTunes but it displays no bitrate and these files can cause problems with the iPod (5th gen video) and Squeezebox. I find if I re-encode the files in iTunes as Apple Lossless (essentially Apple Lossless > Apple Lossless) the bitrates then show and the files work fine on all of my devices. I am assuming I am not losing any bits in this process but needless to say it is a big hassle.
I have had a similar experience that some of you have had with Max. It encodes Apple Lossless seemingly fine and it will play in iTunes but it displays no bitrate and these files can cause problems with the iPod (5th gen video) and Squeezebox. I find if I re-encode the files in iTunes as Apple Lossless (essentially Apple Lossless > Apple Lossless) the bitrates then show and the files work fine on all of my devices. I am assuming I am not losing any bits in this process but needless to say it is a big hassle.
The lack of bitrate info also causes problems for streaming to a Roku soundbridge. It seems to be a streaming related problem because the files decode with alac just fine (both slim and roku use alac code) to a wav. The Roku guys aren't sure what the missing tag info is because they don't read the tags - itunes does and then streams using daap to the roku. Even more confusing the files will stream from itunes to itunes just fine and play within itunes just fine. The same problem streaming to a roku occurs using the open source daap server firefly (formerly known as daap). Roku does confirm it is the bitrate info that looks like the problem (or lack thereof).
Unfortunately itunes is a horrible tool for transcoding but that does fix it.
Unfortunately itunes is a horrible tool for transcoding but that does fix it.
Some investigation
I created a WAV file consisting of one sample of audio @ 44.1 kHz in one channel, and then converted it to Apple Lossless in iTunes and in Max. I wanted to find the differences between them, to try and understand why the bitrate isn't showing up in iTunes.
First, I took a look at the files in terminal:
So, the iTunes file is bigger by around 19 KB or so.
Next, I dumped the atoms using AtomicParsley:
So, there are a few atoms that are different between the two. mp4v2 inserts an 'iods' (Initial Object Descriptor) atom as required by the MPEG-4 specification, while iTunes doesn't. Also noticeable is that the atoms in the 'stbl' atom are in a different order. The 'udta' atoms are absent in Max, because I did not add any metadata to the file.
Interestingly, AtomicParsley incorrectly lists the Max-generated file as having 2 channels instead of one.
I am going to open the files in a hex editor and see if I can determine anything. More to follow...
First, I took a look at the files in terminal:
Code: Select all
-rw-r--r-- 1 me me 20530 Jan 31 21:06 single-itunes.m4a
-rw-r--r-- 1 me me 620 Jan 31 21:05 single-max.m4a
Next, I dumped the atoms using AtomicParsley:
Code: Select all
iTunes
======
Atom ftyp @ 0 of size: 32, ends @ 32
Atom moov @ 32 of size: 2795, ends @ 2827
Atom mvhd @ 40 of size: 108, ends @ 148
Atom trak @ 148 of size: 426, ends @ 574
Atom tkhd @ 156 of size: 92, ends @ 248
Atom mdia @ 248 of size: 326, ends @ 574
Atom mdhd @ 256 of size: 32, ends @ 288
Atom hdlr @ 288 of size: 34, ends @ 322
Atom minf @ 322 of size: 252, ends @ 574
Atom smhd @ 330 of size: 16, ends @ 346
Atom dinf @ 346 of size: 36, ends @ 382
Atom dref @ 354 of size: 28, ends @ 382
Atom stbl @ 382 of size: 192, ends @ 574
Atom stsd @ 390 of size: 88, ends @ 478
Atom alac @ 406 of size: 72, ends @ 478
Atom alac @ 442 of size: 36, ends @ 478
Atom stts @ 478 of size: 24, ends @ 502
Atom stsc @ 502 of size: 28, ends @ 530
Atom stsz @ 530 of size: 24, ends @ 554
Atom stco @ 554 of size: 20, ends @ 574
Atom udta @ 574 of size: 2253, ends @ 2827
Atom meta @ 582 of size: 2245, ends @ 2827
Atom hdlr @ 594 of size: 34, ends @ 628
Atom ilst @ 628 of size: 313, ends @ 941
Atom ©nam @ 636 of size: 30, ends @ 666
Atom data @ 644 of size: 22, ends @ 666
Atom cpil @ 666 of size: 25, ends @ 691
Atom data @ 674 of size: 17, ends @ 691
Atom pgap @ 691 of size: 25, ends @ 716
Atom data @ 699 of size: 17, ends @ 716
Atom tmpo @ 716 of size: 26, ends @ 742
Atom data @ 724 of size: 18, ends @ 742
Atom ©too @ 742 of size: 37, ends @ 779
Atom data @ 750 of size: 29, ends @ 779
Atom ---- @ 779 of size: 162, ends @ 941
Atom mean @ 787 of size: 28, ends @ 815
Atom name @ 815 of size: 20, ends @ 835
Atom data @ 835 of size: 106, ends @ 941
Atom free @ 941 of size: 1886, ends @ 2827
Atom free @ 2827 of size: 17685, ends @ 20512
Atom mdat @ 20512 of size: 18, ends @ 20530
------------------------------------------------------
Total size: 20530 bytes; 40 atoms total. AtomicParsley version: 0.9.0 (utf8)
Media data: 0 bytes; 20530 bytes all other atoms (100.000% atom overhead).
Total free atom space: 19571 bytes; 95.329% waste. Padding available: 19571 bytes.
------------------------------------------------------
Movie duration: 0.000 seconds (0:0.00) - 0.00* kbp/sec bitrate (*=approximate)
Low-level details. Total tracks: 1
Trk Type Handler Kind Lang Bytes
1 soun [none listed] alac und 10
3528.00* kbp/s 0.000 sec Apple Lossless channels: [1]
Tagging schemes available:
iTunes-style metadata allowed.
ISO-copyright notices @ movie and/or track level allowed.
uuid private user extension tags allowed.
---------------------------
Track level ISO user data:
Track 1:
No user data for this track.
---------------------------
3GPP assets/ISO user data:
---------------------------
iTunes-style metadata tags:
Atom "©nam" contains: single
Atom "cpil" contains: false
Atom "pgap" contains: 0
Atom "tmpo" contains: 0
Atom "©too" contains: iTunes v7.0.2
Atom "----" [iTunNORM] contains: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
---------------------------
free atom space: 19571
padding available: 19571 bytes
user data space: 2253
media data space: 18
---------------------------
Code: Select all
Max
===
Atom ftyp @ 0 of size: 28, ends @ 28
Atom moov @ 28 of size: 574, ends @ 602
Atom mvhd @ 36 of size: 108, ends @ 144
Atom iods @ 144 of size: 33, ends @ 177
Atom trak @ 177 of size: 425, ends @ 602
Atom tkhd @ 185 of size: 92, ends @ 277
Atom mdia @ 277 of size: 325, ends @ 602
Atom mdhd @ 285 of size: 32, ends @ 317
Atom hdlr @ 317 of size: 37, ends @ 354
Atom minf @ 354 of size: 248, ends @ 602
Atom smhd @ 362 of size: 16, ends @ 378
Atom dinf @ 378 of size: 36, ends @ 414
Atom dref @ 386 of size: 28, ends @ 414
Atom stbl @ 414 of size: 188, ends @ 602
Atom stts @ 422 of size: 24, ends @ 446
Atom stsd @ 446 of size: 88, ends @ 534
Atom alac @ 462 of size: 72, ends @ 534
Atom alac @ 498 of size: 36, ends @ 534
Atom stsz @ 534 of size: 20, ends @ 554
Atom stsc @ 554 of size: 28, ends @ 582
Atom stco @ 582 of size: 20, ends @ 602
Atom mdat @ 602 of size: 18, ends @ 620
------------------------------------------------------
Total size: 620 bytes; 21 atoms total. AtomicParsley version: 0.9.0 (utf8)
Media data: 0 bytes; 620 bytes all other atoms (100.000% atom overhead).
Total free atom space: 0 bytes; 0.000% waste.
------------------------------------------------------
Movie duration: 0.000 seconds (0:0.00) - nan* kbp/sec bitrate (*=approximate)
Low-level details. Total tracks: 1
Trk Type Handler Kind Lang Bytes
1 soun soun alac und 10
inf* kbp/s 0.000 sec Apple Lossless channels: [2]
Tagging schemes available:
iTunes-style metadata allowed.
ISO-copyright notices @ movie and/or track level allowed.
uuid private user extension tags allowed.
---------------------------
Track level ISO user data:
Track 1:
No user data for this track.
---------------------------
3GPP assets/ISO user data:
---------------------------
iTunes-style metadata tags:
---------------------------
free atom space: 0
padding available: 0 bytes
media data space: 18
---------------------------
Interestingly, AtomicParsley incorrectly lists the Max-generated file as having 2 channels instead of one.
I am going to open the files in a hex editor and see if I can determine anything. More to follow...
A possible idea to pursue is RTP hint. For streaming, in addition to fast start information this seems to help compatibility. If I run mp4creator -optimize -H=1 filename.m4a the resulting changed alac file streams to a Roku soundbridge when it wouldn't as transcoded by max or any other non-itunes program. The -optimize flag alone didn't do it.
This helps files transcoded to alac by dbpoweramp but max m4a alac files don't have the content identified as alac (at least according to mp4creator) so the -H flag fails.
This helps files transcoded to alac by dbpoweramp but max m4a alac files don't have the content identified as alac (at least according to mp4creator) so the -H flag fails.
-
- Posts: 1
- Joined: Tue Dec 12, 2006 5:15 pm
i am just trying to set up slimserver and am having the problem that apple lossless files encoded with Max don't work, whereas those encoded with iTunes do. so i am presuming that this issue is still not resolved. am i right?
if i am, is there a way of re-encoding my files so that they will work whilst preserving tag info?
thanks
nick
if i am, is there a way of re-encoding my files so that they will work whilst preserving tag info?
thanks
nick
2 quick things:
* Bit Rate works correctly with Max 0.7.2b (build 1206) (or maybe it's due to the next item)
* If you have ALACs without bitrate info, just change some tags in iTunes and it will be added automagically. This is new functionality since (I think) iTunes 7.1
* Bit Rate works correctly with Max 0.7.2b (build 1206) (or maybe it's due to the next item)
* If you have ALACs without bitrate info, just change some tags in iTunes and it will be added automagically. This is new functionality since (I think) iTunes 7.1
Project complete: 625 CDs containing 8574 tracks ripped and scanned.
Re: Max apple lossless and Slimserver
fredgoodman wrote:I use Max to encode to apple lossless, and play my music with
Slimserver/Squeezbox http://www.slimdevices.com/.
The latest version 6.5 of Slimserver is unable to decode Max-produced
apple lossless files. They changed to a different decoder "alac"
http://craz.net/programs/itunes/alac.html
for this version of Slimserver. Alac
crashes when it meets an apple lossless file produced by Max, with the error message
(moov) unknown chunk id: iods.
The problem seems to be related to the issues discussed at
http://sbooth.org/forums/viewtopic.php?t=217.
A work-around is to re-encode to apple lossless using iTunes.
This produces an apple lossless file that alac can decode.
I tried to process the offending files with Atomic Parsley, as suggested at
http://sbooth.org/forums/viewtopic.php?t=217, but this does not help.
Request: it would be nice if the author of Max and the author of alac could consult on this, so that their encoder and decoder could work together.
I am having this same issue.
I convert FLAC to m4a using Max 0.8.1 and the files will play fine in iTunes 8.1 (50) on MacOS 10.5.6.
The m4a files will NOT play on my Logitech Slim Devices Squeezebox.
I am using their current stable (7.3.2) SqueezeCenter and have tried their Beta 7.4 SqueezeCenter.
If I use iTunes to create the m4a file from a cd or other format, the files will play on the Squeezbox.
Any ideas? I know this thread was very old, but the problem persists for me.
Thanks!