Popular Post Nexus3 Posted August 27, 2018 Popular Post Share Posted August 27, 2018 Good evening fellow DSD enthusiasts, after following this thread for about 2 years now, I managed to acquire a Pioneer BDP-170 last week. Doing some successful test rips on Win10 and Ubuntu (both amd64), I wondered whether this task could be done on more "exotic machines". To make a story short, may I present to you SACD Ripping on a tiny ARM based machine with great potential – the Raspberry Pi: 1. Download SACD Extract installation package for Raspbian (might also work for other Debian based system e.g. UbuntuMATE): sacd-extract+GUI_0.3.8_armhf.deb 2. Open a terminal and execute the following lines: mkdir "/${HOME}/DSD" cp "/usr/share/sacd-extract+GUI/sacd_extract" "/${HOME}/DSD" cp "/usr/share/sacd-extract+GUI/iso2dsd_gui.jar" "/${HOME}/DSD" 3. If you are a GUI type person, get yourself a decent Java runtime environment - I can recommend Liberica. 4. Start ISO2DSD application from the start menu and begin the ripping What's the best ripping / backup solution without the ability to play it back? Download DeaDBeeF for Raspbian installation package, compiled from the latest sources: deadbeef_0.7.2+devel~stretch-2018-08-25_armhf.deb Though deadbeef handles all types of uncompressed and compressed DSD (among many more formats), the sound output quality on Raspbian is far from perfect. For a true audiophile listening experience, I'd recommend the use of LibreELEC, basically a tinyOS wrapped around Kodi. If you use NOOBS, the installation of LibreELEC should be a piece of cake. Last but not least – USE THESE TOOLS AT YOUR OWN RISK! Please don't blame me if your disc backups got corrupted or your Pis have overheated ;-). Good night and happy testing! pl_svn, JediJoker and MikeyFresh 2 1 Link to comment
Nexus3 Posted August 27, 2018 Share Posted August 27, 2018 12 hours ago, mindset said: Try this patch if you didn't do so when you compiled sacd_extract for ARM. This will get you 3x speed up in .dsf generation (=DST decompression). Hello mindset, thanks for your patch ? - I'll try to mix it into my next compile. The problem is much more basic though, as I ran into major obstacles while compiling the source. The first were the SSE instructions which I had to remove and the latter were memory allocation instructions for which no malloc.h was generated. Guess I got lucky and my dirty fix approach worked ?. Any idea whom of the developers, I could bother with this? 12 hours ago, mindset said: Despite this improvement, Raspberry Pi is way too slow so probably will not be very useful for anything that involves DST decompression which is very CPU intensive. Indeed you are correct, ripping performance on the Pi was 8-TIMES! slower compared to my 8-core AMD x64 CPU! But then again nobody uses a Raspberry Pi because of its raw power. On the playback side, I was really impressed with the sound quality output of LibreELEC. Without any issues 2ch DSD is outputted as a stereo 192kHz PCM signal via HDMI, and 6-channel DSDs get a 96kHz PCM 6ch treatment via HDMI. The sound experience is really superb. ?? Link to comment
Nexus3 Posted September 13, 2018 Share Posted September 13, 2018 On 9/8/2018 at 10:19 PM, mindset said: To users of sacd_extract using the server method: I have been working on improving the sacd_extract client program from the currently inactive original sacd-ripper repository past few months. I thought I would share that in case someone is interested. Here is the git repository: https://github.com/setmind/sacd-ripper/ (Sorry, you need to compile the code to use it). In addition to performance improvement and bug fixes, I have added features like concurrent extraction of ISO and DSF/DSDIFF in a single scan of a disc, padding-less DSF generation for some players that cannot handle DSF tail padding properly, extraction of multi-channel and single-channel tracks in one shot, and addition of more ID3v2 tags from TOC to DSF. Details with compilation instruction are described in https://github.com/setmind/sacd-ripper/blob/master/readme.rst and performance comparison with the original is here https://github.com/setmind/sacd-ripper/wiki It seems to work fine on Linux and Windows, but unfortunately is unverified for macOS since I do not have a Mac. If anybody has a chance to try this on Mac, please report back. I welcome any feedback. Thanks. Hello mindset, I was very eager to test your DST decompression boost but got stuck somehow. Compiling your sources (on Ubuntu x64) went fine, but upon finishing extraction of the first track sacd-extract always runs into the following error: Exporting CUE sheet [Dire Straits - Brothers In Arms - 20th Anniversary Edition.cue] Processing [Dire Straits - Brothers In Arms - 20th Anniversary Edition/01 - Dire Straits - So Far Away.dsf] (1/9).. Completed: 100% (219,9MB), Total: 9% (219,9MB) at 2,36MB/sec sacd_extract: /.../sacd-ripper/libs/libdstdec/buffer_pool.c:138: buffer_pool_free: Assertion »count == pool->made« not satisfied. On a playback note: Has anyone laid hands on this interesting SACD plugin for Kodi ? ISO playback sounds nice, but SACD-R support would be the ultimate goal. Link to comment
Nexus3 Posted September 14, 2018 Share Posted September 14, 2018 19 hours ago, mindset said: Aren't you using one of the old commits from github? With the latest code, there is actually no way to get a cue sheet and dsf in one shot like your output is showing, and there was a bug in thread handling which terminates the process after the first track extraction. @mindset I stand corrected, your sacd_extract is indeed working but is incompatible with the java GUI [iso2dsd_gui.jar] in certain circumstances. DST to DSD conversion errors: sacd_extract: /.../sacd-ripper/libs/libdstdec/buffer_pool.c:138: buffer_pool_free: Assertion »count == pool->made« not satisfied. or sacd_extract: /.../sacd-ripper/libs/libdstdec/dst_decoder.c:307: write_thread: Assertion »dst_decoder->decode_head == NULL && peek_lock(dst_decoder->decode_have) == 0« not satisfied. If the CLI is used, the output is valid: sacd_extract -i 192.168.178.53:2002 -2 -c -s -t 1 sacd_extract -i 192.168.178.53:2002 -m -c -p -t 2 @ALL If you aim for ISO output or just a plain DST extraction of the tracks (without a decompression to raw DSD), you can use the GUI with minset's sacd_extract. If you desire uncompressed DSD files as output you should avoid the GUI and use the CLI directly. The speed gains are considerable! MikeyFresh 1 Link to comment
Nexus3 Posted September 14, 2018 Share Posted September 14, 2018 For some reason I am unable to edit my former post. ? I was mislead by the GUI, yet again ? DST and ISO extraction finishes without errors, but the results do not play. Feeded the files to DeaDBeeF and foobar2000 1.4 (through Wine), to no avail. Link to comment
Nexus3 Posted September 15, 2018 Share Posted September 15, 2018 39 minutes ago, mindset said: Are you sure that you are using the latest code from github? Some of the older commits (before my announcement here) had that problem. I surely hope so, here are the MD5sums from /sacd-ripper/libs/libdstdec/ : FileName MD5 HashValue FileSize buffer_pool.c 12A90BD0344CAF6CBEBD34FE37B3F544 4,04 KiB buffer_pool.h 856D9528D1BD05F87AA8C8F48E7AAEE2 3,33 KiB ccp_calc.c 25B1B2D50354DA869DCDCFD02234D281 5,06 KiB ccp_calc.h BE4781DEB9190414174014671B9D5449 2,41 KiB conststr.h 03BBD4D776AE5E40F7F3F3850E64ED14 6,58 KiB dst_ac.c 551E582FDE6AF7D41786BE2667C10219 7,31 KiB dst_ac.h CA547BE4985B1864130AABAD761919FD 2,75 KiB dst_data.c 977A8C19ECB4A3B2B06E2FF20106A875 14,25 KiB dst_data.h AD956EACFBB848371B20CCA7A1D82228 3,46 KiB dst_decoder.c 27A71B5B85A669A8536BF6790D8FB2A3 13,46 KiB dst_decoder.h 9BA16B26D0CAA684A69F4573A164E25C 1,47 KiB dst_fram.c 18D58AA6EFD161BFA033D34EFDC73438 17,76 KiB dst_fram.h 5BCFC4B0DFB08CC0E3893C8CD5F65178 2,93 KiB dst_init.c 95804B316D5CB1125F44E24B3A8735DB 13,45 KiB dst_init.h AD9A4FDA75D866DC710131B72DB59B34 2,69 KiB types.h A3C28858774FD4A07B2E1740E5C7A9D3 9,36 KiB unpack_dst.c 6F9D6BD5A9CA8CB4BC7CDFF35D767E90 35,93 KiB unpack_dst.h 6633B0C66D04C51A142688DC60E111F0 2,71 KiB yarn.c F9778BE276FEDC00DC5D59BD2EEDB576 10,5 KiB yarn.h 3D5CDB9442C5B9491B33B6E1809DF485 6,3 KiB ISO extraction via CLI successfully finished: sacd_extract -i 192.168.178.53:2002 -I Processing [Mark Knopfler - Shangri-La.iso] (1/1).. Completed: 100% (3656,3MB), Total: 100% (3656,3MB) at 1,59MB/sec Yet still no playback - thats enough I will fire up Windows to get confirmation whether the ISO is really faulty or not. Link to comment
Nexus3 Posted September 15, 2018 Share Posted September 15, 2018 The damn ISO was fine after all ? (never cuddle a Penguin without keeping the Windows open ? ) So the original assessment stands ... Link to comment
Nexus3 Posted September 15, 2018 Share Posted September 15, 2018 Just now, mindset said: Could you please post md5sums of sacd-ripper/libs/libsacd instead? Sure: 4bf7d260755dbe795d0d2d72da4ec0dc *libsacd\cuesheet.c ee7797f38983b2c5a32ffaeb341d50c5 *libsacd\cuesheet.h 0cfe0bfa1720abac77104d306e953263 *libsacd\dsdiff.c b2fb43a6c430f88e5a5f0abd5128e9a9 *libsacd\dsdiff.h 48096935af12146efbf1bd5e36d12f00 *libsacd\dsf.c c24309f90c6b7ae72a14f1b371841e2a *libsacd\dsf.h 907c2750f060dbe6766127ec76f933bf *libsacd\dst_decoder_ps3.c d43f36e112cafffb77bd6366fa8ef60e *libsacd\dst_decoder_ps3.h 6bc2865c768863e1b6c00d49ba3c1683 *libsacd\endianess.h 910998e04a5ffafffebfb5e2926d525c *libsacd\ioctl.c 8817902d77aadc3b31a770fdb6518b92 *libsacd\ioctl.h c2331d84481b77ceb6b91fe1478c4d23 *libsacd\iso_writer.c 78b757c2db232ca1c418b98a04b8face *libsacd\Makefile fcac2b183cd5ea94702f5a38bc241eac *libsacd\sac_accessor.c 4c8579f012d27511ea6e1f19e5708ec7 *libsacd\sac_accessor.h f401439a984dfdd205115528a01e37f4 *libsacd\sacd_input.c ea2878580b8119cfb687520616abc1dc *libsacd\sacd_input.h 5ce96ec15c7814596d3969991af018b8 *libsacd\sacd_pb_stream.c 671a793f4e6a4ccd2aed18e214ed3d72 *libsacd\sacd_pb_stream.h aecacb5e2063a77ac355a21bcc1f4ccf *libsacd\sacd_read_internal.h 1183d93166df75ee8491b52b497d530f *libsacd\sacd_reader.c 53195ccf505f33155bbfa0d36d8d07c6 *libsacd\sacd_reader.h a05f948b6afce3911587620fefa8e6d5 *libsacd\sacd_ripper.pb.c 1675b3dd3281be83948a7e322a3fdabe *libsacd\sacd_ripper.pb.h 3ec49fa842233bc6f6eaf94665a7b8de *libsacd\sacd_ripper.proto 35a299349c733761e5136036fdd48738 *libsacd\scarletbook.c 6fe58f9dbcc6cc0fe673e63e0709efe7 *libsacd\scarletbook.h 2adcfc86719941b69d1b2ead5ad653a8 *libsacd\scarletbook_helpers.c eb85b896f0b4e4af083d452d2cb8fa4b *libsacd\scarletbook_helpers.h 1d2b2179e5e91d7c443367539dcd974b *libsacd\scarletbook_id3.c 5dd9db4904ad28938666f167310ccdcd *libsacd\scarletbook_id3.h 82370f631c3eb8ad3f07d92606c3dd23 *libsacd\scarletbook_output.c a468553adfea5575312a27ec796181d5 *libsacd\scarletbook_output.h 978e5014deeefbbdb496498dc9ace598 *libsacd\scarletbook_print.c db53e092e1682452dd12aa22f168869c *libsacd\scarletbook_print.h 83b7e34c694ddce324cd74c3bded5d76 *libsacd\scarletbook_read.c 5f4fa36055da2b71a58eabc67b1fa0f5 *libsacd\scarletbook_read.h afc2736cfb871b24956ebf56bc86d806 *libsacd\version.h Link to comment
Nexus3 Posted September 15, 2018 Share Posted September 15, 2018 12 hours ago, mindset said: You are actually using pretty old codes. Ohh boy ?, guess I have to start from scratch then - thanks for pointing that out! 14 hours ago, BluRay444 said: Don't know what version sacd_extract.exe is ... That's a huge problem IMHO by now, as most "bundled sacd_extracts" are a bit outdated. For instance if sacd_extract -? does not provide the argument -t (for invididual SACD track extraction) it's rather pre 2015 sourced or versionwise 0.3.6 or older: CHANGELOG of original sources: version 0.3.8 - fixed a bug where a DSF export truncated sample data (Chuck Anderson) version 0.3.7 - fixed a bug where arranger phonetic was referenced incorrectly during print (-P) - option to allow individual dsf/dsdiff track extraction - added (foobar) compatible escaping to cuesheets - added user optional output filename/folder (last parameter) version 0.3.6 - network speed improvement - added native OS X support - gapless is on by default for individual tracks - fixed issue where CUE export wrote to wrong filename version 0.3.5 - added ID3 tags to Edit Master for multiple ID3 tagging - added option to export individual CUE Sheets - fixed DSTI table where DST Edit Master > 2GB - fixed SACD to ID3 genre conversion table version 0.3.4 (bug fix release, please update if running 0.3.3) - fixed a bug where DSTI was incorrectly part of DSD chunk version 0.3.3 (bug fix release, please update if running 0.3.2) - fixed a bug where a wrong DSDIFF header was written for edit masters version 0.3.2 - added DSDIFF Edit Master (single DSD file) support - added CUE Sheet support for Edit Master - added DST frame buffer overflow protection - added DST frame index chunk support - removed gapless support (replaced by DSDIFF Edit Master) - merged Maxims optimized FIR decoder sacd_extract -? Usage: sacd_extract [options] [outfile] -2, --2ch-tracks : Export two channel tracks (default) -m, --mch-tracks : Export multi-channel tracks -e, --output-dsdiff-em : output as Philips DSDIFF (Edit Master) file -p, --output-dsdiff : output as Philips DSDIFF file -s, --output-dsf : output as Sony DSF file -z, --dsf-nopad : Do not zero pad DSF (cannot be used with -t) -t, --select-track : only output selected track(s) (ex. -t 1,5,13) -I, --output-iso : output as RAW ISO -w, --concurrent : Concurrent ISO+DSF/DSDIFF processing mode -c, --convert-dst : convert DST to DSD -C, --export-cue : Export a CUE Sheet -i, --input[=FILE] : set source and determine if "iso" image, device or server (ex. -i 192.168.1.10:2002) -o, --output-dir[=DIR] : Output directory (ISO output dir for concurrent processing mode) -y, --output-dir-conc[=DIR] : DSF/DSDIFF Output directory for concurrent processing mode -P, --print : display disc and track information Help options: -?, --help : Show this help message --usage : Display brief usage message @mindset How feasible would it be to implement the following arguments for better version information and source origin? -v, --version : shows official version number -gr,--git-repo : displays the git repository from which the source package originated -gp,--git-patch-date : states the date of the latest patch comitted to the sources BluRay444 1 Link to comment
Nexus3 Posted September 15, 2018 Share Posted September 15, 2018 1 hour ago, BluRay444 said: I only need the DSF version because it's uncompressed DSD (which is what I want) and has better native support for metadata (DFF can store metadata ID3 format in the DFF's internal data block, but the DFF file player must also be capable of recognizing ID3 chunks). Indeed DSF seems to be very popular. But let's say full ISO backups are not desired and external playback (DSD files via USB stick on blu-ray players or amplifiers) isn't the aim either, have you considered giving WavPack a try? It supports DSD lossless compression profiles since Version 5 and offers full tagging support. Link to comment
Nexus3 Posted September 15, 2018 Share Posted September 15, 2018 1 minute ago, Kal Rubinson said: Is there a good reason to consider Wavpack? 1. Basically all the good reasons why NOT to store PCM sound data as WAVE or AIFF anymore, translocated into the DSD world. 2. Its lossless, hence the original input file (.DSF or .DFF) can be recreated down to the last bit and file hash value. 3. Has several compression profiles, to fit any hardware decompression capability. 4. Supports TAGs with embedded cuesheets and cover arts 5. Can act as a lossless converter .DFF -> .WV -> .DSF 6. Its a free format and actively developed Link to comment
Popular Post Nexus3 Posted September 15, 2018 Popular Post Share Posted September 15, 2018 39 minutes ago, mindset said: Yes, it's most likely feasible. Will try implementing something like that. Great! In the meantime I compiled your sleek sacd-extract fork and what can I say, other than IT WORKS with the GUI ! Extraction (and conversion to DSF) rate was well over 2 MB/sec for a stereo only SACD. @ALL Here are the main benefits you can expect if you try out mindset's forked sacd_extract: Quote Padding-less DSF generation (-z): Some players do not handle zero padding in DSF correctly resulting in a pop noise at a track transition. With this option, instead of zero padding, the data fragment that doesn't perfectly fit in the 4096 Bytes/channel block size at the tail of a track is carried forward to the head of the next track so no zero padding is needed. This is a loss-less process. This option cannot be combined with the -t option because continuous processing of the entire album is needed for this option to work. Concurrent ISO+DSF/DSDIFF processing (-w): With this option, both ISO (-I) and DSF (-s) or DSDIFF (-p) can be generated concurrently. This is much more efficient than generating ISO and DSF/DSDIFF sequentially because ISO generation is a very light process in terms of CPU usage while DST decompression (mandatory for DSF, optional for DSDIFF) is not. The run time of this process is expected to be the slower of ISO and DSF/DSDIFF generation. Output directory options (-o and -y): These allow users to specify the output directory. For the concurent processing mode, -o is for ISO and -y is for DSF/DSDIFF. The directories specified by these options must exist. Output directories default to the current directory. Enabled max compiler optimization in CMakeList.txt for gcc. This provides about 3x speed boost to DST decoding (mandatory for DSF generation) for Linux and MacOS. More ID3v2 frames are added. TSRC (ISRC), TPUB (Publisher), TCOP (Copyright message), TCOM (Composer), and TPE2 frames have been added. TPE2 is used as album artist which is a common practice. Also, the fix for ID3 size coding issue contributed by David Bryant has been merged. Mingw-w64 support: This allows compilation of a Windows binary without Visual Studio. A little more aggressive multithreading: Raw read and DST decoding, which used to happen sequentially, are performed in parallel. Stereo and multi-channel extraction in one shot: No longer need to run sacd_extract twice to extract stereo and multi-channel tracks. In other words, the -2 and -m options can be used simultaneously for DSF/DSDIFF generation. MikeyFresh and tmtomh 2 Link to comment
Nexus3 Posted September 15, 2018 Share Posted September 15, 2018 1 hour ago, Kal Rubinson said: I may give it a try and see how much space I save and how much overhead is with multichannel DSF. The compression ratio is ~40 per cent for stereo, should improve for multichannel. wavpack *.dsf -h -v WAVPACK Hybrid Lossless Audio Compressor Linux Version 5.1.0 Copyright (c) 1998 - 2017 David Bryant. All Rights Reserved. 01 - Sandy Lam - Di Han.dsf: created (and verified) 01 - Sandy Lam - Di Han.wv in 38.75 secs (lossless, 44.35%) 02 - Sandy Lam - Huang Hun.dsf: created (and verified) 02 - Sandy Lam - Huang Hun.wv in 34.58 secs (lossless, 40.06%) 03 - Sandy Lam - Ji Qing.dsf: created (and verified) 03 - Sandy Lam - Ji Qing.wv in 39.04 secs (lossless, 42.13%) 04 - Sandy Lam - Zi Zhi Kong Jian (Album Version.dsf: created (and verified) 04 - Sandy Lam - Zi Zhi Kong Jian (Album Version.wv in 35.63 secs (lossless, 38.49%) 05 - Sandy Lam - Ming Yun Shi Fou Zhe Yang.dsf: created (and verified) 05 - Sandy Lam - Ming Yun Shi Fou Zhe Yang.wv in 38.02 secs (lossless, 40.33%) 06 - Sandy Lam - Jue Jue.dsf: created (and verified) 06 - Sandy Lam - Jue Jue.wv in 34.75 secs (lossless, 43.56%) 07 - Sandy Lam - Ye Xing Ren.dsf: created (and verified) 07 - Sandy Lam - Ye Xing Ren.wv in 41.04 secs (lossless, 43.97%) 08 - Sandy Lam - Xin Sui Xiang.dsf: created (and verified) 08 - Sandy Lam - Xin Sui Xiang.wv in 31.61 secs (lossless, 38.43%) 09 - Sandy Lam - Hui Se.dsf: created (and verified) 09 - Sandy Lam - Hui Se.wv in 34.30 secs (lossless, 38.96%) 10 - Sandy Lam - Hui Se Hua Zhuang.dsf: created (and verified) 10 - Sandy Lam - Hui Se Hua Zhuang.wv in 31.95 secs (lossless, 37.84%) 11 - Sandy Lam - Zui Jia Nan Zhu Jia (Album Version).dsf: created (and verified) 11 - Sandy Lam - Zui Jia Nan Zhu Jia (Album Version).wv in 33.81 secs (lossless, 39.92%) 12 - Sandy Lam - Zao Chen.....dsf: created (and verified) 12 - Sandy Lam - Zao Chen.....wv in 39.96 secs (lossless, 40.73%) 13 - Sandy Lam - Chang Jie Di Yi Jiao.dsf: created (and verified) 13 - Sandy Lam - Chang Jie Di Yi Jiao.wv in 35.19 secs (lossless, 40.07%) 14 - Sandy Lam - Xia Yu Tian (Album Version).dsf: created (and verified) 14 - Sandy Lam - Xia Yu Tian (Album Version).wv in 45.41 secs (lossless, 38.79%) 15 - Sandy Lam - Tai Yang San Xia.dsf: created (and verified) 15 - Sandy Lam - Tai Yang San Xia.wv in 30.30 secs (lossless, 35.91%) 16 - Sandy Lam - Dong Fang Xi Fang.dsf: created (and verified) 16 - Sandy Lam - Dong Fang Xi Fang.wv in 37.69 secs (lossless, 38.19%) **** 16 files successfully processed **** Stereo comparison chart - DST vs DSF vs WV: 1 hour ago, One and a half said: Is there a restriction on the size of the cover art files for DSF? The WavPack manual states: Quote --allow-huge-tags = allow tag data up to 16 MB (otherwise it's 1 MB) JediJoker 1 Link to comment
Popular Post Nexus3 Posted September 18, 2018 Popular Post Share Posted September 18, 2018 Good evening, here are two new compilations of SACD_EXTRACT based on setmind's latest sources. Feel free to download and distribute them, but always remember to USE THEM AT YOUR OWN RISK! Linux x64 package (tested on Ubuntu & Knoppix): sacd_extract-LINUX-v0.3.9@setmind_git_2018-09-16.zip MD5: 00C1AFFE1807CAAB7E68D45D0E2C2D47 SHA-1: F9177272C0DFBA580924374D9059E7D4DEEEB691 SHA256: 7E36EF3DBFD8561CF65579E2DE9614D0A4DFA6D85FED62ECD237128AA68BAEB2 SHA512: 3EF0C35A7466265F55D8C4902C75DC4281F1E5ABC755F0EF5FB623573AD96749375FCE1FF2342F43A3E5369D00F18FBE53837F30CF56C6F6A952E01C8F17CE30 xxHash64: A5A6158895842BED Windows x64 package (tested on Windows 10): sacd_extract-WINDOWS-v0.3.9@setmind_git_2018-09-16.zip MD5: 9F08294F831C42A5D5B178908ABB1B9E SHA-1: B386EB36F03360108BF8FC33E95595E73C7C6EE5 SHA256: AD31941E9146776BDC1F954E1806CDC57AEECC38785ADAF844ED08CB7DD53F6D SHA512: 59721F378806B4E9CFEC5E31B920784782D8A6FF250283CBF7DEFEE1B3175401BBFDDAF665A9EC09659A357B67FD48083CCAE90A96B0D21A34D8AA7B910FC68C xxHash64: 1B7199820A977AD5 Happy testing and good night. Synfreak, MikeyFresh and BluRay444 2 1 Link to comment
Nexus3 Posted September 23, 2018 Share Posted September 23, 2018 14 hours ago, mindset said: Compilation (on a Mac) is fairly easy: Time to undust my PowerMac G5 then ?. 14 hours ago, mindset said: I am currently working on a new GUI that can support all new features in sacd_extract. Looking ? forward ⬆️ to that ? ! Link to comment
Nexus3 Posted September 23, 2018 Share Posted September 23, 2018 4 hours ago, mindset said: That is a really old Mac. I am sure you will encounter problems because it's not Intel-based. Right you are ... as usual ?, it was pain in the @rs€ and took some time as well. The preparation steps for compiling on a PowerPC were: Quote 1. Download and install Xcode v3.1.4 2. Install Tigerbrew (PowerPC flavoured fork of Homebrew) ruby -e "$(curl -fsSkL raw.github.com/mistydemeo/tigerbrew/go/install)" 3. Install curl , git & cmake brew install curl brew install git brew install cmake 4. Build sacd_extract git clone https://github.com/setmind/sacd-ripper.git cd sacd-ripper/tools/sacd_extract cmake . make The building stage unfolded quite well, $ cmake . -- git commit hash: 0.3.9@setmind-1-gf7419fdf1639cf6a88e95ca7ed45d00a99a78a2a -- git repo url: https://github.com/setmind/sacd-ripper.git -- The C compiler identification is GNU 4.0.1 -- Checking whether C compiler has -isysroot -- Checking whether C compiler has -isysroot - yes -- Checking whether C compiler supports OSX deployment target flag -- Checking whether C compiler supports OSX deployment target flag - yes -- Check for working C compiler: /Developer/usr/bin/cc -- Check for working C compiler: /Developer/usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Looking for pthread.h -- Looking for pthread.h - found -- Looking for pthread_create -- Looking for pthread_create - found -- Found Threads: TRUE -- Configuring done -- Generating done -- Build files have been written to: /Users/MACoding/sacd-ripper/tools/sacd_extract but then this struck: $ make Scanning dependencies of target sacd_extract [ 2%] Building C object CMakeFiles/sacd_extract.dir/getopt.c.o [ 4%] Building C object CMakeFiles/sacd_extract.dir/getopt1.c.o [ 6%] Building C object CMakeFiles/sacd_extract.dir/main.c.o /Users/MACoding/sacd-ripper/tools/sacd_extract/main.c: In function �main�: /Users/MACoding/sacd-ripper/tools/sacd_extract/main.c:360: warning: �s_wchar� is used uninitialized in this function [ 8%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libcommon/charset.c.o /Users/MACoding/sacd-ripper/libs/libcommon/charset.c: In function �charset_convert�: /Users/MACoding/sacd-ripper/libs/libcommon/charset.c:68: warning: passing argument 2 of �iconv� from incompatible pointer type [ 10%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libcommon/fileutils.c.o [ 12%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libcommon/log.c.o [ 14%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libcommon/logging.c.o [ 16%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libcommon/pb_decode.c.o [ 18%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libcommon/pb_encode.c.o [ 20%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libcommon/socket.c.o [ 22%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libcommon/timeout.c.o [ 25%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libcommon/usocket.c.o [ 27%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libcommon/utils.c.o [ 29%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libcommon/wsocket.c.o [ 31%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libdstdec/buffer_pool.c.o /Users/MACoding/sacd-ripper/libs/libdstdec/buffer_pool.c: In function �buffer_pool_get_space�: /Users/MACoding/sacd-ripper/libs/libdstdec/buffer_pool.c:77: warning: implicit declaration of function �posix_memalign� [ 33%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libdstdec/ccp_calc.c.o [ 35%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libdstdec/dst_ac.c.o [ 37%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libdstdec/dst_data.c.o /Users/MACoding/sacd-ripper/libs/libdstdec/dst_data.c: In function �FIO_BitGetChrUnsigned�: /Users/MACoding/sacd-ripper/libs/libdstdec/dst_data.c:208: warning: �tmp� may be used uninitialized in this function /Users/MACoding/sacd-ripper/libs/libdstdec/dst_data.c: In function �FIO_BitGetIntUnsigned�: /Users/MACoding/sacd-ripper/libs/libdstdec/dst_data.c:248: warning: �tmp� may be used uninitialized in this function /Users/MACoding/sacd-ripper/libs/libdstdec/dst_data.c: In function �FIO_BitGetIntSigned�: /Users/MACoding/sacd-ripper/libs/libdstdec/dst_data.c:287: warning: �tmp� may be used uninitialized in this function /Users/MACoding/sacd-ripper/libs/libdstdec/dst_data.c: In function �FIO_BitGetShortSigned�: /Users/MACoding/sacd-ripper/libs/libdstdec/dst_data.c:332: warning: �tmp� may be used uninitialized in this function [ 39%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libdstdec/dst_decoder.c.o [ 41%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libdstdec/dst_fram.c.o [ 43%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libdstdec/dst_init.c.o /Users/MACoding/sacd-ripper/libs/libdstdec/dst_init.c: In function �MemoryAllocate�: /Users/MACoding/sacd-ripper/libs/libdstdec/dst_init.c:84: warning: implicit declaration of function �_mm_malloc� /Users/MACoding/sacd-ripper/libs/libdstdec/dst_init.c:84: warning: assignment makes pointer from integer without a cast /Users/MACoding/sacd-ripper/libs/libdstdec/dst_init.c: In function �MemoryFree�: /Users/MACoding/sacd-ripper/libs/libdstdec/dst_init.c:93: warning: implicit declaration of function �_mm_free� [ 45%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libdstdec/unpack_dst.c.o [ 47%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libdstdec/yarn.c.o [ 50%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libid3/id3.c.o [ 52%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libid3/id3_frame.c.o [ 54%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libid3/id3_frame_content.c.o [ 56%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libid3/id3_frame_text.c.o [ 58%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libid3/id3_frame_url.c.o [ 60%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libid3/id3_tag.c.o [ 62%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libid3/unicode.c.o [ 64%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libsacd/cuesheet.c.o [ 66%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libsacd/dsdiff.c.o [ 68%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libsacd/dsf.c.o [ 70%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libsacd/dst_decoder_ps3.c.o [ 72%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libsacd/ioctl.c.o [ 75%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libsacd/iso_writer.c.o [ 77%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libsacd/sac_accessor.c.o [ 79%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libsacd/sacd_input.c.o [ 81%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libsacd/sacd_pb_stream.c.o [ 83%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libsacd/sacd_reader.c.o [ 85%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libsacd/sacd_ripper.pb.c.o [ 87%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libsacd/scarletbook.c.o [ 89%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libsacd/scarletbook_helpers.c.o [ 91%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libsacd/scarletbook_id3.c.o [ 93%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libsacd/scarletbook_output.c.o In file included from /Users/MACoding/sacd-ripper/libs/libsacd/scarletbook_output.c:41: /Users/MACoding/sacd-ripper/tools/sacd_extract/../../libs/libcommon/sys/atomic.h: In function �sysAtomicAddReturn�: /Users/MACoding/sacd-ripper/tools/sacd_extract/../../libs/libcommon/sys/atomic.h:580: warning: implicit declaration of function �__sync_add_and_fetch� /Users/MACoding/sacd-ripper/tools/sacd_extract/../../libs/libcommon/sys/atomic.h: In function �sysAtomicSub�: /Users/MACoding/sacd-ripper/tools/sacd_extract/../../libs/libcommon/sys/atomic.h:585: warning: implicit declaration of function �__sync_sub_and_fetch� /Users/MACoding/sacd-ripper/tools/sacd_extract/../../libs/libcommon/sys/atomic.h: In function �sysAtomicInc�: /Users/MACoding/sacd-ripper/tools/sacd_extract/../../libs/libcommon/sys/atomic.h:595: warning: implicit declaration of function �__sync_fetch_and_add� /Users/MACoding/sacd-ripper/tools/sacd_extract/../../libs/libcommon/sys/atomic.h: In function �sysAtomicDec�: /Users/MACoding/sacd-ripper/tools/sacd_extract/../../libs/libcommon/sys/atomic.h:600: warning: implicit declaration of function �__sync_fetch_and_sub� /Users/MACoding/sacd-ripper/tools/sacd_extract/../../libs/libcommon/sys/atomic.h: In function �sysAtomicCompareAndSwap�: /Users/MACoding/sacd-ripper/tools/sacd_extract/../../libs/libcommon/sys/atomic.h:615: warning: implicit declaration of function �__sync_bool_compare_and_swap� [ 95%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libsacd/scarletbook_print.c.o [ 97%] Building C object CMakeFiles/sacd_extract.dir/Users/MACoding/sacd-ripper/libs/libsacd/scarletbook_read.c.o [100%] Linking C executable sacd_extract Undefined symbols: "_posix_memalign", referenced from: _buffer_pool_get_space in buffer_pool.c.o "__mm_malloc", referenced from: _AllocateArray in dst_init.c.o _AllocateArray in dst_init.c.o _AllocateArray in dst_init.c.o _AllocateArray in dst_init.c.o _DST_InitDecoder in dst_init.c.o _DST_InitDecoder in dst_init.c.o _DST_InitDecoder in dst_init.c.o _DST_InitDecoder in dst_init.c.o _DST_InitDecoder in dst_init.c.o _DST_InitDecoder in dst_init.c.o _DST_InitDecoder in dst_init.c.o _DST_InitDecoder in dst_init.c.o _DST_InitDecoder in dst_init.c.o "__mm_free", referenced from: _DST_CloseDecoder in dst_init.c.o _DST_CloseDecoder in dst_init.c.o _DST_CloseDecoder in dst_init.c.o _DST_CloseDecoder in dst_init.c.o _DST_CloseDecoder in dst_init.c.o _DST_CloseDecoder in dst_init.c.o _DST_CloseDecoder in dst_init.c.o _DST_CloseDecoder in dst_init.c.o _DST_CloseDecoder in dst_init.c.o _DST_CloseDecoder in dst_init.c.o _DST_CloseDecoder in dst_init.c.o _DST_CloseDecoder in dst_init.c.o _DST_CloseDecoder in dst_init.c.o _DST_CloseDecoder in dst_init.c.o _DST_CloseDecoder in dst_init.c.o _DST_CloseDecoder in dst_init.c.o _DST_CloseDecoder in dst_init.c.o _DST_CloseDecoder in dst_init.c.o _DST_CloseDecoder in dst_init.c.o _DST_CloseDecoder in dst_init.c.o _DST_CloseDecoder in dst_init.c.o _DST_CloseDecoder in dst_init.c.o _DST_CloseDecoder in dst_init.c.o _DST_CloseDecoder in dst_init.c.o _DST_CloseDecoder in dst_init.c.o _AllocateArray in dst_init.c.o _AllocateArray in dst_init.c.o ld: symbol(s) not found collect2: ld returned 1 exit status make[2]: *** [sacd_extract] Error 1 make[1]: *** [CMakeFiles/sacd_extract.dir/all] Error 2 make: *** [all] Error 2 @mindset I might be able to cope with "__mm_malloc", but what about the other two - any ideas? Link to comment
Nexus3 Posted September 23, 2018 Share Posted September 23, 2018 6 minutes ago, mindset said: I might incorporate this to my code. That would be great ? - adding ARM & PPC support alone would justify jumping to v0.4.0 ?. When I compiled sacd_extract for my Raspberry Pi couple of weeks ago, I was unaware of Azeria07's patch. I simply "borrowed" a file called mm_malloc.h from some Android project and changed the references. Link to comment
Nexus3 Posted October 5, 2018 Share Posted October 5, 2018 On 9/14/2018 at 1:34 AM, Phthalocyanine said: Is there a compiled version of this for osmc on raspberry pi 3? I'd love to try it out. Hi, I have managed to compile this SACD ISO Kodi addon: Linux x64 addon (tested on Ubuntu with Leia beta 2 & 3): vfs.sacd-1.0.0-linux-amd64_kodi-18.0b3-leia.zip MD5: 6D8AD6826D4F75AB22F350BC63C9E033 SHA-1: 945C3E27FC4C5E7FB9DD7C6467247E70E84DAE82 SHA256: B94680284C12C143DDFA18640A25D995CB7F554FB48881BDDAC25F7C1D81BF28 SHA512: F42C275FA84D16A15B125207057169A34F2334ECA602BA29C05207C735FFB108A19FE7957CE24A8E8815D109F6DF88E8163B19F901638C07A3D98954B221C9A0 xxHash64: 9CCB784823B43648 If you aim to use it on Ubuntu get the latest Kodi v18.0 Beta 3 Leia from the unstable repository, for other distros you'd have to compile the sources manually. Windows addon will follow as soon as certain compilation issues have been addressed. Raspberry Pi / LibreELEC addon might follow if popular demand is high and the technical hurdles low. After installing the ZIP file via additional addons please restart Kodi, enter the music section and feed the location of your SACD ISO. It DOES NOT support the playback of SACD-Rs directly as foobar2000 (via plugin) does. Creating the ISO is fairly easy on Linux: sudo dd if=/dev/dvd of=~/sacd.iso Last but not least: USE IT AT YOUR OWN RISK! JediJoker 1 Link to comment
Nexus3 Posted October 8, 2018 Share Posted October 8, 2018 4 hours ago, haggis999 said: Wouldn't it be much easier to just provide download links for a suitably compiled version of sacd_extract.exe for Windows, Mac, etc? Hi haggis999, you may want to checkout page 148 ?. MikeyFresh 1 Link to comment
Popular Post Nexus3 Posted October 20, 2018 Popular Post Share Posted October 20, 2018 On 10/8/2018 at 6:58 PM, servoyguru said: Is there another binary specifically compiled on a Mac (& with latest bug fixes) available ... Hi, here are three new compilations of SACD_EXTRACT based on setmind's latest sources for the most common OSes. For everyone's convenience, I have included his new SACDExtractGUI. SACDExtractGUI v0.1-5-g97d05f95 sacd_extract version 0.3.9@setmind-8-gae5301f0419644a946479cb9b59bdd5c6cfcf71e Linux x64 package: sacd_extract-LINUX-v0.3.9@setmind_git_2018-10-08.zip Quote MD5: 2957A5E1E161D0D1CB3D848992CA7C66 SHA256: 04FB009F4933B14B93C9B0694235A78C9C8A9F0BD1827F53E79002152939C340 macOS x64 package: sacd_extract-MACOS-v0.3.9@setmind_git_2018-10-08.zip Quote MD5: E0AF480A4B3D08D76F24441B4397CA05 SHA256: AAC5BFE99A96DEE328FBAFED928A60A8A35672C3EAD5567CBF7BAF4BDE8BDE6B Windows x64 package: sacd_extract-WINDOWS-v0.3.9@setmind_git_2018-10-08.zip Quote MD5: B35F2AD43D149F957D9567561AF4D731 SHA256: 011C1F03C4A6380B98FAD2C86F7ED3C577C25F448C6DFA7D53F5870EB2952080 Happy ripping & USE THEM AT YOUR OWN RISK! MikeyFresh, pl_svn and Synfreak 2 1 Link to comment
Nexus3 Posted October 22, 2018 Share Posted October 22, 2018 4 hours ago, BluRay444 said: Got this warning when downloading the Windows version with Chrome- any thoughts? 1. Try IE, Firefox, Opera, Vivaldi, Safari and so on to download the file. 2. If in doubt - do NOT open the archive, but upload it to an online virus scanner platform like http://www.virscan.org or https://www.virustotal.com 3. Rip the d*"§!? SACD, enjoy the music and relax ? Link to comment
Nexus3 Posted October 26, 2018 Share Posted October 26, 2018 Good evening, some of you already know that ARM support has been added to @mindset's sacd_extract. Here are the binaries compiled on a Raspberry Pi 3 Model B+, but they should work also on the Pi 1s, 2s and the Zeros: Linux armhf (32bit) package: sacd_extract-LINUX-armhf-RPi-v0.3.9@setmind_git_2018-10-08.zip [works on Raspbian & should be useable on any other distro too] MD5: F9C26BBFD0C80C32AD50B6626B903BD9 SHA256: A3AE75996AC6ACC58F7F51BAD931097A87848C4AB6F8F7B381615BEAC8F4A05E Whats the best rip without the appropriate player? I have compiled the latest beta of DeaDBeeF which can handle all sorts of DSD types (incl. DST and Wavpack-DSD): deadbeef_1.8.0-beta2-RPi-2018-10-19_armhf.deb [runs on Rapsbian Stretch and might be useable on UbuntuMATE as well] MD5: A40554D8BBAE4DBE62C232EB3E55F069 SHA256: C8AD542F6EB5693616ECA8CFE1FB9E936BA9E685EBDD1FCF75881D14FB005608 You should pick "PulseAudio" as audio renderer, as it offers better playback quality (but slower track seeking). Who would have thought 15 years ago, that ripping SACDs and playing DSD streams via a ~30$ device was anything but fiction? MikeyFresh 1 Link to comment
Nexus3 Posted October 27, 2018 Share Posted October 27, 2018 Hello Malkana and welcome to the CA forum! How did you burn the SACD .ISO in the first place - you would normally do that onto a DVD-R/DVD+R (single layer) and NOT onto a CD-R? @Phthalocyanine Can you supply me with more details (maybe some snapshots of the player FW), so I can add the Sony S590 to this LIST? Link to comment
Nexus3 Posted October 27, 2018 Share Posted October 27, 2018 4 hours ago, Phthalocyanine said: I can personally attest that these players have played SACD-Rs with these firmwares (which are not the final firmwares for these players.) To quote the good old de Gaulle: your word is good enough! The official sacd-ripper SACD-R player list, has been updated accordingly. Link to comment
Nexus3 Posted November 7, 2018 Share Posted November 7, 2018 Hello MikeyFresh, well since I compiled the GUI on each and every platform, I used a JDK on Raspbian as well. You are correct Raspbian is a bit "stupid" when it comes to .jar files and tries to decompress them. Just start a terminal session and check your JRE with: java -version Afterwards switch into your sacdextract folder and execute: java -jar SACDExtractGUI.jar Just in case you want to try out the DeaDBeeF audio player as well, make sure to change the audio renderer to "PulseAudio". Good luck! MikeyFresh 1 Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now