Answered

Hack for playing a computer CD-ROM through Line-in?

  • 20 September 2021
  • 8 replies
  • 313 views

I’ve got an iMac with an external Mac CD-ROM Superdrive attached. Works fine for playing CDs that I don’t want to rip onto my hard drive, for various reasons including that I like listening to redbook audio rather than compressed and don’t want to use a crazy amount of storage to rip lossless lots of cds I listen to infrequently. I work in the music industry, so get a lot of music that’s just an occasional listen.

 

My external Superdrive CD-ROM works fine playing through my computer speakers. When I try to choose my Sonos Port as an output, all the controls in the Apple Music player stop working (play, skip, etc.). Sonos has confirmed that this isn’t supported and I have to rip any music I want to listen to.

 

Anyone aware of a hack to get around needing to rip all of my music? Happy to experiment with devices, cords, etc. that’ll make this work for my needs. Thanks!

icon

Best answer by dhuman 22 September 2021, 22:37

View original

This topic has been closed for further comments. You can use the search bar to find a similar topic, or create a new one by clicking Create Topic at the top of the page.

8 replies

Userlevel 7
Badge +17

How do you choose the Port? Airplay or otherwise?

Yes - I choose the Port using Airplay, as soon as I select the Port as a sound output the drive stops functioning. I’m thinking about using a USB-C to RCA converter out of the iMac direct into the Port RCA Inputs…similar to using a phonograph input…just not sure how to connect the usb-c to RCA cable to be a through-source for the sound coming into the iMac via the external SuperDrive cd-rom.

Userlevel 7
Badge +17

For you it would probably count as a work around, but in stead of using a converter (with unpredictable results) I'd look at a (used???) CD-player to connect to the Port…… No need to have a computer switched on, and no need to rip the CD's.

Userlevel 7
Badge +20

If you’re comfortable installing a Python program and using the command line, then SoCo-CLI [1] can do this using its play_file action.

For example, if your Port is called ‘Office’ and you want to play the third track on an inserted CD, the command on a Mac would be something like:

% sonos Office play_file “/Volumes/Audio CD/3 Audio Track.aiff"

This plays the file directly from the CD’s filesystem to the Port, without any ripping or transcoding.

(The play_file action can play local audio files in any supported audio format, directly to your chosen Sonos device.)

[1] https://github.com/avantrec/soco-cli

For you it would probably count as a work around, but in stead of using a converter (with unpredictable results) I'd look at a (used???) CD-player to connect to the Port…… No need to have a computer switched on, and no need to rip the CD's.


:) this is how I was doing this before my CD player tanked. Was trying to figure out a free solution or cheap solution before doing this. I like muddling around with tech like this, evidenced by the substantial cord collection I’ve built up over the years.

If you’re comfortable installing a Python program and using the command line, then SoCo-CLI [1] can do this using its play_file action.

For example, if your Port is called ‘Office’ and you want to play the third track on an inserted CD, the command on a Mac would be something like:

% sonos Office play_file “/Volumes/Audio CD/3 Audio Track.aiff"

This plays the file directly from the CD’s filesystem to the Port, without any ripping or transcoding.

(The play_file action can play local audio files in any supported audio format, directly to your chosen Sonos device.)

[1] https://github.com/avantrec/soco-cli

So this is interesting…does this mean that the functionality problem is a choice by Sonos, rather than a technical limitation? I assumed that there was some kind of technical limitation with the cd-rom controller or with airplay that precluded this. Appreciate this suggestion.

Userlevel 7
Badge +20

So this is interesting…does this mean that the functionality problem is a choice by Sonos, rather than a technical limitation? I assumed that there was some kind of technical limitation with the cd-rom controller or with airplay that precluded this. Appreciate this suggestion.

No, not really. The AirPlay limitation will be at the Apple end, not Sonos. There’s probably a valid reason for it.

The SoCo-CLI play_file action uses a completely different method to play the ‘file’. Its operation is described at:

https://github.com/avantrec/soco-cli/blob/master/README.md#audio-files-on-the-local-filesystem

I didn’t know that this would work for audio CDs until I tried it earlier today, prompted by your post :-)

For the next version (v0.4.21), I’ve implemented a play_dir action, that will play every audio file in a directory. This will allow all the tracks on a CD to be played with a single command, e.g.:

% sonos Office play_dir “/Volumes/Audio CD”

Ha - sometimes the simplest solution is the one that works. Here’s the answer.

If I try to choose my Office Port using the Airplay controls in iTunes, the external CD-ROM stops working and does not work. 

However - if I go into the Sound control panel and choose Office Port as the output (using Airplay I might add - not at all sure what the difference is here) then all of a sudden I have sound coming through my stereo speakers, and it all works! Odd, right? Why would the iTunes output switching controls (which use Airplay) not work, vs. the Sound control panel (which uses Airplay)?

The convenience of this is I don’t even need to switch any inputs on the stereo receiver...or on the Sonos. I just leave Line In as the output, and I use that to either player albums (using the RCA ins on the back of the Port) or to play CDs off the CD-ROM.

Problem solved! As a backup, I also have a Hyperdrive 11-in-1 switch box, which shows up as a Sound control panel sound output...I had been planning to plug a 1/8” male jack to male RCA cord I had ordered into the headphones output. Which would have worked...but Airplay is easier.