My Assistant
![]() ![]() |
New FLAC encoder |
Oct 21 2006, 10:13
Post
#301
|
|
|
Group: Members Posts: 65 Joined: 3-May 05 Member No.: 21842 |
I have a Rio Karma and while it can play FlAKE -12 compressed flac files, it has a lot of trouble seeking with these FLAC files. FLAC 1.1.2_CVS which gets close compression works great with my Rio Karma. What I'd like to know is what are the best settings for Flake to work with my Rio Karma? I'd like to compare compressions sizes to find out which is better. I was playing around and ended up gettng a larger file that didn't work vs FLAC 1.1.2_CVS. What setting is it in FLAKE that causes it not to be fully compatible with my Rio? I tried the -v 1 as suggested earlier in the thread to make it compatible with FLAC and that also failed. Jon For now the best setting for your Rio would probably be "flake -10". It generates files which are roughly equivalent (compatibility-wise) to "flac -8". Definitely don't use -v 1 since it is probably the most experimental option and has compatibility issues. edit: to answer your other question more fully, it's probably the max LPC order which is causing problems on the Rio with flake -12 files. edit2: Given the many questions, for the next release, I will try to make some documentation devoted to compatibility of various features of the FLAC specification and Flake encoding parameters. -Justin I just tested Flake at -10 and found that the compatability with seeking in my Rio Karma still isn't there. I did the same track in Flac 1.1.2_CVS and compatability is perfect. My settings for Flac are "-8 -A tukey(0.25) -A gauss(0.1875) -V --sector-align %1" and the file sizes are very similar between the two. 34,189,547 for Flake and 34,153,250 for Flac. There is something different in the Flake file that the Rio Karma is not liking. I just decided to try Flake at -1 and it still doesn't seek properly. Once it plays it will play allt he way fine. But as for seeking it eaier doesn't seek or takes a long time to seek. |
|
|
|
Oct 21 2006, 11:01
Post
#302
|
|
|
Group: Members Posts: 132 Joined: 18-February 04 Member No.: 12104 |
You do realize flake does not add seek points to the file (at least version 0.10 doesn't)? Try adding seekpoints using metaflac.
|
|
|
|
Oct 21 2006, 12:15
Post
#303
|
|
|
Group: Members Posts: 65 Joined: 3-May 05 Member No.: 21842 |
|
|
|
|
Oct 21 2006, 12:27
Post
#304
|
|
|
Group: Members Posts: 65 Joined: 3-May 05 Member No.: 21842 |
Hot damn! Adding seek points works. Thank you Madman2003.
|
|
|
|
Oct 22 2006, 19:12
Post
#305
|
|
|
Group: Developer Posts: 165 Joined: 3-June 06 From: Raleigh, NC Member No.: 31393 |
|
|
|
|
Oct 25 2006, 15:31
Post
#306
|
|
|
Group: Members Posts: 17 Joined: 2-October 03 Member No.: 9121 |
'grats everyone, you made it into Winamp 5.31
http://forums.winamp.com/showthread.php?s=...threadid=258205 |
|
|
|
Oct 25 2006, 15:55
Post
#307
|
|
![]() Group: Super Moderator Posts: 4887 Joined: 12-August 04 From: Exeter, UK Member No.: 16217 |
Congratulations Justin. Given both Winamp and FLAC's popularity this seems like an excellent achievement to me.
Great avatar Thank you. -------------------- I'm on a horse.
|
|
|
|
Oct 25 2006, 20:06
Post
#308
|
|
|
FLAC Developer Group: Developer Posts: 1526 Joined: 27-February 02 Member No.: 1408 |
'grats everyone, you made it into Winamp 5.31 http://forums.winamp.com/showthread.php?s=...threadid=258205 just confirmed, it's using r108. flake is neat and has promise but I think this is premature to use it in winamp now for the following reasons: 1. no seektable support which can make seeking awkwards. 2. still too easy to create non-subset streams. the winamp plugin goes up to -12 and there is no warning for -11 or -12. except in rare cases, non-subset streams are an extremely poor tradeoff of reduced usability for a tiny fraction of compression. that's why even in libFLAC you have to explicitly turn off subset support when using non-subset options or the encoder init call will fail. 3. most important, flake is not well tested. I built r108 and ran part of the FLAC test suite against it (stereo 16bps streams), and some files silently failed to generate correct FLAC files, i.e. encoding them appeared to work but the decoded file did not match the input. users will be more forgiving for a decoder; another decoder can be used to recover a good FLAC file. but a lossless encoder is going to be held to a higher standard. if it generates FLACs that are not lossless or cause problems on playback, that's more serious. Josh edit: I hope "flake is not well tested" doesn't sound critical, what I mean is not tested well-enough as a lossless encoder for production use. |
|
|
|
Oct 25 2006, 21:10
Post
#309
|
|
|
Group: Members Posts: 341 Joined: 24-August 05 Member No.: 24095 |
3. most important, flake is not well tested. I built r108 and ran part of the FLAC test suite against it (stereo 16bps streams), and some files silently failed to generate correct FLAC files, i.e. encoding them appeared to work but the decoded file did not match the input. Argh, stupid me. I already used flake in my daily "work", but for security wrote a small wrapper script that would use flac -d and an md5summer to ensure the created flac file was ok. I thought this way I could safely use flake and also give some feedback when I encountered a problem. However, I just found out the script has a bug and let any errors through without warning In what way were the files damaged, i.e. would flactester catch faulty ones? |
|
|
|
Oct 25 2006, 21:17
Post
#310
|
|
|
FLAC Developer Group: Developer Posts: 1526 Joined: 27-February 02 Member No.: 1408 |
|
|
|
|
Oct 27 2006, 19:38
Post
#311
|
|
|
Group: Members Posts: 826 Joined: 29-September 04 Member No.: 17374 |
also the MD5 sum was wrong. Does it mean that flake stored wrong MD5 of the original audio? I mean, is it secure to test flake implementation with just "flac -t", or is it necessary to decode and compare with the original? BTW, shouldn't it be "we recommend not to use it for archival" instead of "we recommend to not use it for archival"? |
|
|
|
Oct 27 2006, 21:02
Post
#312
|
|
|
FLAC Developer Group: Developer Posts: 1526 Joined: 27-February 02 Member No.: 1408 |
Does it mean that flake stored wrong MD5 of the original audio? I mean, is it secure to test flake implementation with just "flac -t", or is it necessary to decode and compare with the original? flac -t does not catch it as the flake file has a correct MD5 sum for its audio, but the audio is not the same as the original wave. Josh |
|
|
|
Oct 28 2006, 09:53
Post
#313
|
|
|
Group: Members Posts: 341 Joined: 24-August 05 Member No.: 24095 |
Does it mean that flake stored wrong MD5 of the original audio? I mean, is it secure to test flake implementation with just "flac -t", or is it necessary to decode and compare with the original? flac -t does not catch it as the flake file has a correct MD5 sum for its audio, but the audio is not the same as the original wave. Josh Is the difference large or is it just, like, the least significant bit in a few samples changed? |
|
|
|
Oct 28 2006, 10:36
Post
#314
|
|
|
Group: Members Posts: 826 Joined: 29-September 04 Member No.: 17374 |
|
|
|
|
Oct 28 2006, 10:57
Post
#315
|
|
|
Group: Members Posts: 341 Joined: 24-August 05 Member No.: 24095 |
Is the difference large or is it just, like, the least significant bit in a few samples changed? He-he I know that this is a serious bug, but I'm trying to decide whether to re-rip the CDs I already compressed with flake. |
|
|
|
Oct 28 2006, 11:54
Post
#316
|
|
![]() Group: Super Moderator Posts: 4887 Joined: 12-August 04 From: Exeter, UK Member No.: 16217 |
Question regarding setting up foobar with Flake moved to this thread. Issue is foobar-/user-related, not a Flake issue.
-------------------- I'm on a horse.
|
|
|
|
Oct 30 2006, 07:07
Post
#317
|
|
|
FLAC Developer Group: Developer Posts: 1526 Joined: 27-February 02 Member No.: 1408 |
ok, turns out the trouble with this particular file is actually in the wave chunk handling; I think it is including non-'data' chunks that follow the 'data' chunk and treating them as audio. when I have more time after the next release I will look into the rest of the suite.
Josh
wacky2.wav ( 96bytes )
Number of downloads: 853 |
|
|
|
Nov 5 2006, 11:07
Post
#318
|
|
|
Group: Members Posts: 132 Joined: 18-February 04 Member No.: 12104 |
ok, turns out the trouble with this particular file is actually in the wave chunk handling; I think it is including non-'data' chunks that follow the 'data' chunk and treating them as audio. when I have more time after the next release I will look into the rest of the suite. Josh
wacky2.wav ( 96bytes )
Number of downloads: 853I'll asume that the problem exists, i'm curious how you made that file (in other words, should i worry about some flac's i created). |
|
|
|
Nov 6 2006, 18:26
Post
#319
|
|
|
Group: Developer Posts: 123 Joined: 31-January 06 Member No.: 27439 |
Flake (Win32) from SVN revision 112 available:
Note: I've changed way I build binarys. The old method used visual studio project files. Now I'm using simple batch script (build_intel.cmd available in src archive) to directly compile and link binarys using only Intel C++ Compiler. As results you don't need Visual Studio to build flake under windows. You need only Intel C++ Compiler and MS Platform SDK. The old project files are still available. And one more thing it seems that new binarys are just bit faster ;-) Download from my Website or use direct links: Download binarys: flake-svn-r112-win32-bin.zip Download sources: flake-svn-r112-win32-src.zip wisodev EDIT: changed url to downloads and my website This post has been edited by wisodev: Nov 29 2006, 17:36 -------------------- http://code.google.com/p/wavtoac3encoder/
|
|
|
|
Nov 7 2006, 00:21
Post
#320
|
|
|
Group: Members Posts: 65 Joined: 3-May 05 Member No.: 21842 |
ok, turns out the trouble with this particular file is actually in the wave chunk handling; I think it is including non-'data' chunks that follow the 'data' chunk and treating them as audio. when I have more time after the next release I will look into the rest of the suite. Josh
wacky2.wav ( 96bytes )
Number of downloads: 853Turns out FLAC 1.1.3 beta 2 also cannot handle this WAV file without an error. flac 1.1.3beta2, Copyright © 2000,2001,2002,2003,2004,2005,2006 Josh Coalson flac comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. Type `flac' for details. options: -P 8192 -b 4608 -m -l 12 -e -q 0 -r 0,6 wacky2.wav: WARNING: skipping unknown sub-chunk 'fact' wacky2.wav: WARNING: skipping unknown sub-chunk 'pad ' wacky2.wav: WARNING: skipping unknown sub-chunk 'pad ' wacky2.wav: wrote 8328 bytes, ratio=138.800 The resulting WAV from the FLAC file no longer matches. The original is 96 bytes and the decompressed one is 60 bytes. FLAKE 's decompressed WAV file is 72 bytes. This post has been edited by JWolf: Nov 7 2006, 00:26 |
|
|
|
Nov 7 2006, 00:38
Post
#321
|
|
|
FLAC Developer Group: Developer Posts: 1526 Joined: 27-February 02 Member No.: 1408 |
no, that's not an error, it's a warning that it is skipping unsupported subchunks. the audio is correctly compressed with flac-1.1.3 (and earlier).
with flake, the non-audio subchunk that follows the audio is treated as audio and compressed along with the audio. that's why when decoded it decodes to more audio samples than are in the original wave file. Josh |
|
|
|
Nov 7 2006, 13:14
Post
#322
|
|
|
Group: Members Posts: 17 Joined: 2-October 03 Member No.: 9121 |
no, that's not an error, it's a warning that it is skipping unsupported subchunks. the audio is correctly compressed with flac-1.1.3 (and earlier). This would be a bug in the flake wav reading code. Winamp doesn't use this code, our WAV reading is done by libsndfile (which as far as I know, doesn't have this problem).
with flake, the non-audio subchunk that follows the audio is treated as audio and compressed along with the audio. that's why when decoded it decodes to more audio samples than are in the original wave file. Josh |
|
|
|
Nov 8 2006, 20:57
Post
#323
|
|
|
Group: Members Posts: 11 Joined: 30-January 03 Member No.: 4806 |
I've made a FLAKE output plugin for Mpxplay and I've added ID3-info (artist,title,etc.) handling for the vorbis-comment function(s). Something similar would be nice in the original flake lib too.
You can download the modified source of v0.10 here: http://www.freewebtown.com/mpxplay -> SCFLACS.ZIP A short list about the modifications (maybe not complete): - a new struct FlakeComments_t in flake.h, added to the end of struct FlakeContext - flake_comment_init_utf8(FlakeContext *s,char *codepage) function to enable UTF8 text encoding (you have to call it by standard), the "codepage" is required for DOS version only (set it to NULL) - flake_comment_add(FlakeContext *s,char *type,char *data), where the "type" can be "artist","title","album","date","genre","comment" or other standard vorbiscomment types - modified write_vorbis_comment() function in encode.c - added AnsiToUTF8 function to encode.c, but the the WIN32 version is not tested at all You have to call flake_comment_init_utf8() and flake_comment_add() functions first, then the flake_encode_init(). regards Attila |
|
|
|
Nov 12 2006, 01:22
Post
#324
|
|
|
Group: Members Posts: 22 Joined: 28-January 06 Member No.: 27375 |
I downloaded the SVN zip, unzipped (I just unzipped to my desktop for speed), opened a command line in the "bin" ("\svn-win32-1.4.0\svn-win32-1.4.0\bin") directory and then used the command: svn co https://svn.sourceforge.net/svnroot/flake-enc flake-enc This created a folder in my "bin" directory called "flake-enc". I then moved that to somewhere more convenient (a short path with no spaces) and then ran "./configure" then "make" using a cygwin console. @Synthetic Soul, I downloaded and tried to compile flake with mingw like your above instructions, but didn't have any luck. The download created the flake "bin" directory and I moved it to a easy to get at location as you did. What command line did you use and did you enter it in the MSYS console? I have MSYS-1.0.11 installed. I have tried the "configure&&make" command in the MSYS console window but all I get is "exec: bash: not found Any pointer would be most welcome. |
|
|
|
Nov 12 2006, 03:10
Post
#325
|
|
|
Group: Members Posts: 591 Joined: 26-February 06 Member No.: 28077 |
|
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 3rd May 2015 - 04:26 |