Snakeoil audio-OS.

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
I have been watching the development and trialling this OS for x-86 hardware..

It is a great player and works with a number of my favourite audio players...LMS, Deadbeef, and Mpd to name a few.

Hardware support is quite targeted although the dev has been wonderful in adding support for other hardware when approached...especially network chipsets.

The 1.0 release is due in the next couple of days and is free to use.

Until then the developer is offering free registration to unlock further testing options.

https://www.snakeoil-os.net/

Check out the demo mode for the UI and step through the setup wizard demo.
The manual is very comprehensive for a such a small team...
https://www.snakeoil-os.net/Manual/
 
Last edited:
Doesn't cost anything to try it and make up your own mind, Bill..:)

I have run Ubuntu for a few years but still find VoygeMPD a bit too linux challenging to install. I know you have much more of a linux command line handle on things.
Snakeoil being ubuntu based and very newcomer friendly I found much easier. Documentation is a big plus here.
 
Last edited:
Sorry for the old thread bump.


Does it have a simple way to configure an IIR active crossover? I am thinking ecasound but without all the steps done in command line..
It does now. You can refer here on how to set this up in MPD via ecasound.


Not entirely sure if the current process is easy or not, but with more comments/feedback/suggetions, this can be made easier.


Also, a Raspberry Pi edition will be released soon. The image is ready, just need to find the time to upload it to the mirrors, and then publish the URLs.
 
It does now. You can refer here on how to set this up in MPD via ecasound.
There is absolutely no need for these static, custom OSes IMHO. There has been a native linux/ALSA solution to that problem for ever: install and use the ALSA loopback. I just went through this during the setup of a new system, so while it's fresh in memory let me go over that here.

I installed MPD as a system service. It runs as user mpd. Even if I add that user to the group 'audio' I didn't seem to be able to get mpd to talk to ALSA output devices directly (I was testing with onboard ALC892 audio). But by adding the ALSA loopback I could send audio from mpd to the loopback and then use another program to send audio from the loopback output to ALSA.

I have been doing this for years as part of my streaming audio software. In my application the program that take audio out of the loopback is doing streaming or DSP processing. I have always been skeptical of pipes and found that sometimes they introduced significant latency (almost 1 sec) and this is not a problem with the loopback.

HOW TO install the ALSA loopback:
You can temporarily activate the loopback by typing
Code:
sudo modprobe snd-aloop
at the command prompt. The loopback device will last until the next reboot. To permanently enable the loopback, edit the file /etc/modules and add the line snd-aloop to the file.

You can check if the loopback is active by typing
Code:
aplay -l
The output look like this:
Code:
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC892 Digital [ALC892 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 1: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
The loopback appears as card 1 in the list of playback devices (above) generated by aplay -l. Depending on how many other audio devices you ahve the loopback card number may be different on your system.

USING THE LOOPBACK DEVICE
Here I assume the loopback is card 1. You use the loopback by setting your mpd output to hw:1,0. Then set the input to hw:1,1 in ecasound or whatever other program you are using to connect the loopback to ALSA output devices (e.g. a DAC). NOTE that the second digit after 'hw:' changes, indicating which end, 0 or 1, of the loopback a program is connecting to. The first digit is the card number of the loopback.

Note that once you start the loopback the audio format (sample rate and bit depth) remain fixed until both programs detatch from it, e.g. when they are killed. I simply resample the audio output of MPD to a fixed format so I always know what audio format the loopback will use. I can then configure the other program (e.g. ecasound or whatever) to expect that audio format from the loopback.
Code:
EXAMPLE MPD AUDIO OUTPUT USING THE LOOPBACK:
audio_output {
type "alsa"
name "ALSA Output"
device "hw:1,0"
format "48000:32:2"
auto_resample "no" # disables alsa resampling
mixer_type "software"
}

samplerate_converter "soxr very high"

audio_buffer_size "512" #output buffer size in kB

The above resamples all audio to 32-bit, 48kHz using the Sox resampler at highest quality and sends it to my alsa loopback, which on my system is card 1. To use the Sox resampler, make sure to add the samplerate_converter line as shown.

Have fun.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.