Jump to content
IGNORED

SACD Ripping using an Oppo or Pioneer? Yes, it's true!


ted_b

Recommended Posts

4 minutes ago, Triplefun said:

Why are you focusing on all these alternative extract programs when the free sonore iso2dsd seems to do everything that is required? Am I missing something?

 

You'd need to read the thread, this was covered in detail previously.

no-mqa-sm.jpg

Boycott HDtracks

Boycott Lenbrook

Boycott Warner Music Group

Link to comment
19 hours ago, mindset said:

 

I have just acquired a cheap mac, and confirmed this works fine without any change on mac as well (both in command line and Sonore's GUI).

 

Compilation is fairly easy:


xcode-select --install
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install cmake
git clone https://github.com/setmind/sacd-ripper.git
cd sacd-ripper/tools/sacd_extract
cmake .
make

This yields a sacd_extract executable, and it can replace the original in Sonore's package.  I am seeing significant performance improvement over the original (~4x speed boost for ISO->DSF).  Speed improvement is less for direct generation of DSF from the server as that is limited by the player's optical drive.

 

I am currently working on a new GUI that can support all new features in sacd_extract.

 

 

Outstanding!

 

I compiled on a MacBook Air running Sierra this morning, no hitches other than a syntax error about spacing: syntax error, unexpected tIDENTIFIER, expecting end-of-input

 

In short I was unable to copy/paste the commands without getting that error, but typing them manually worked. Something to the effect of when a space is not a space on a Mac, no matter though, manual entry in Terminal worked fine.

 

I then ripped an SACD using the 0.3.9 in place of what originally came in the ISO2DSD OSX v6 package (3.7?), and it ran flawlessly.

 

In fact, I believe I saw a speed increase even though I rip directly to .dsf. Could that be a coincidence? I guess it could, I have no direct point of comparison in the form of speed data on a previous rip of that very same disc having been slower as it's the first time I've ever ripped this disc.

 

However, I experienced my fastest rip speed to date on any disc going straight to .dsf, I think my previous high water mark over Ethernet was 2.85MB/s, this one crossed the finish line a bit faster:

 

62730874_ScreenShot2018-09-23at12_22_59PM.thumb.jpg.a10251c0bbe08086a3361f52ef68ea63.jpg 

 

Thank you so much @mindset, I had been stuck in the mud previously when trying to figure out how to compile Mr Wicked's 0.3.8 (as I believe the ISO2DSD download includes 0.3.7) and while whatever version is in the ISO2DSD download package certainly worked well for me, this appears even better!

no-mqa-sm.jpg

Boycott HDtracks

Boycott Lenbrook

Boycott Warner Music Group

Link to comment
18 minutes ago, mindset said:

Sonore's ISO2DSD may be doing everything you need, but some people like me have unique needs.

 

Just to give you my example:

 

I receive a disc from Amazon.  I put the disc in the player and and ask sacd_extract to extract ISO to a NAS and DSF to SONY HAP-Z1ES in a single scan of a disc.  6 minutes into the process (was 15 mins with the original) the stereo portion of the disc has been read and is ready for listening while the program continues to read the multi-channel section of the disc to finish the ISO.

 

This is not possible with the original, and  is the reason I started working on the improvements.

Thanks for your response.

 

I started to read a random set of the 148 odd pages and was beginning to get a feel for the issues. I don't have many SACD disks but I do have a ca 752bd which is not getting much use.  Thanks to this thread I have been able to get it to work. However I am slightly disappointed at the high cost of sacds, even the second hand ones. I find it cheaper to download hires content from the likes of nativedsd which also offers raw recordings in dsd128 and even dsd256. Tidal also provides a useful alternative. 

Link to comment
On ‎8‎/‎19‎/‎2018 at 9:30 AM, Kal Rubinson said:

I am converting the DSF to PCM as I play it so that I can use room correction/EQ.   I keep it in DSF which is the native format so that I can play (or convert) that as I choose now and in the future.  If I did store the PCM, it would probably be in as FLAC.

 

with Marantz AV 8805 you can play DSD and use room correction/EQ at the same time

Link to comment
24 minutes ago, Triplefun said:

Thanks for your response.

 

I started to read a random set of the 148 odd pages and was beginning to get a feel for the issues. I don't have many SACD disks but I do have a ca 752bd which is not getting much use.  Thanks to this thread I have been able to get it to work. However I am slightly disappointed at the high cost of sacds, even the second hand ones. I find it cheaper to download hires content from the likes of nativedsd which also offers raw recordings in dsd128 and even dsd256. Tidal also provides a useful alternative. 

The reason for the prices are that many discs were one off issues, and the price is what the market demands and a few end up as collectors items. Modern classical mastering direct to DSD  is the way to download, but legacy recordings, the good ones will be very close. Totally depends on the knob tweaker at the recording stages.

AS Profile Equipment List        Say NO to MQA

Link to comment
12 minutes ago, srrndhound said:

Whose decimator do you like better -- Marantz or Roon? 

I do not have the Marantz yet, I'll buy it in a couple of weeks. The room correction of Marantz AV 8805, is by Audyssey (MultEQ XT32) and as I said, can be connected while listening to audio DSD natively.

Link to comment
46 minutes ago, emiliocb said:

I do not have the Marantz yet, I'll buy it in a couple of weeks. The room correction of Marantz AV 8805, is by Audyssey (MultEQ XT32) and as I said, can be connected while listening to audio DSD natively.

It would be interesting to see if there's any audible difference between feeding the Marantz with, say, 88.2 kHz from Roon (or JRiver etc) which will then be downsampled presumably to 44.1 kHz for Audyssey, or with DSD and letting the Marantz decimate directly to 44.1 itself before Audyssey. 

Link to comment
53 minutes ago, srrndhound said:

It would be interesting to see if there's any audible difference between feeding the Marantz with, say, 88.2 kHz from Roon (or JRiver etc) which will then be downsampled presumably to 44.1 kHz for Audyssey, or with DSD and letting the Marantz decimate directly to 44.1 itself before Audyssey. 

I generally downsample DSD to 24/176.4PCM for output to the Marantz but , since I do DiracLive EQ in the server, the Marantz pushes it through as that.

Kal Rubinson

Senior Contributing Editor, Stereophile

 

Link to comment
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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...