IPB

Welcome Guest ( Log In | Register )

Is it advisable to convert APE/ALAC to FLAC? How will the size change?, [TOS #6: was "APE/ALAC to FLAC conversion?"]
SoberWarlock
post Apr 25 2012, 18:09
Post #1





Group: Members
Posts: 20
Joined: 27-February 11
Member No.: 88553



APE is known for it's great compression and ALAC is pretty much the same as FLAC except it's not open source and is owned by apple. Is it smart to convert these two codecs to FLAC? Will APES compression size be the same or enlarge when converted to FLAC? I would rather stick to one lossless format which is FLAC because there really isn't much problems with it and it is definitely future proof.
Go to the top of the page
+Quote Post
 
Start new topic
Replies
Gregory S. Chudo...
post Apr 26 2012, 08:30
Post #2





Group: Developer
Posts: 712
Joined: 2-October 08
From: Ottawa
Member No.: 59035



I admit i never used Medieval CUE Splitter, but i'm pretty sure it does re-encode when splitting, at least if we are talking about FLAC. Here is why.

FLAC file consists of frames, typically 4608 samples long. FLAC standard, at least so-called subset allows only the last frame to have different length from all other frames. Variable blocksize is possible, but not universally supported.

Track boundaries are not likely to coincide with frame boundaries, which means that if you want to split FLAC without re-encoding, you will either have to move track boundary to the nearest frame boundary, or produce non-subset file where the first frame's length is less than that of the following frames.

Anyway, i don't see why would anyone want to avoid re-encoding when dealing with lossless formats. This won't change the audio, and with FLAC it can be very fast.

UPD: I was a bit wrong. I re-read the FLAC specification, and it turns out that actually there's no prohibition on variable-blocksize format in subset format. Although there's still no guarantee that it is universally supported. And... in 99% cases you will still have to reencode, at least repack the FLAC stream. You can only split it without reencoding if it was a variable-blocksize stream to begin with, because depending on the fixed/variable-blocksize marker in the stream header, each frame header will have to be slightly altered. Variable-blocksize stream must have sample number instead of frame number in each frame header.

This post has been edited by Gregory S. Chudov: Apr 26 2012, 09:02


--------------------
CUETools 2.1.4
Go to the top of the page
+Quote Post

Posts in this topic


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 19th December 2014 - 21:15