Surrond sound possiable?

Moderator: flatmax

theloon
Posts: 9
Joined: Sun Apr 30, 2017 4:02 am

Surrond sound possiable?

Post by theloon » Sun May 28, 2017 1:34 am

Does anyone have instructions to getting surround sound out of the 8 outputs, as in a 7.1 setup to be used in a home theater?
That was my reason of interest in this card in the first place, so it seems that the creator of this card should provide some instruction/setup since that was part of the hype on the Kickstarter campaign. Two channel has already been done and with better quality than this card is capable of providing. I was hoping to utilize the 8 analog outputs for surround not multiple stereo outputs only.
Thanks for sharing any solution if you do!

ktb
Posts: 23
Joined: Thu Apr 27, 2017 11:04 am

Re: Surrond sound possiable?

Post by ktb » Sun May 28, 2017 6:35 am

theloon wrote:Does anyone have instructions to getting surround sound out of the 8 outputs, as in a 7.1 setup to be used in a home theater?
That was my reason of interest in this card in the first place, so it seems that the creator of this card should provide some instruction/setup since that was part of the hype on the Kickstarter campaign. Two channel has already been done and with better quality than this card is capable of providing. I was hoping to utilize the 8 analog outputs for surround not multiple stereo outputs only.
Thanks for sharing any solution if you do!
Perhaps I'm misunderstanding the issue. It would be nice if the Octo driver somehow provided the fairly common output devices such as surround21, surround40, surround41, surround50, surround51, surround71, etc. Perhaps that would make the card less flexible? I imagine you might be able to manually create those devices in your ALSA config.

Surround sound appears to be working for me with PulseAudio 10.0 (from Raspbian Stretch). PulseAudio 5.0 (from Raspbian Jessie) doesn't automatically recognize the card properly, but it can be configured manually. I also seem to get 7.1 (with/without upmixing) in Kodi.

Perhaps you could describe what specific problems you're having, with which applications and what you have tried already.

theloon
Posts: 9
Joined: Sun Apr 30, 2017 4:02 am

Re: Surrond sound possiable?

Post by theloon » Sun May 28, 2017 10:44 am

Excuse my ignorance but I live in the windoze world and it has made me an idiot. I have written a few scripts to automate changing keyboard setting, adding my wifi settings, changing locations and keeping the console from blanking then go on to install pixel, chromium and more. On reboot I have another script to run that installs Logitech Media Server, Squeezelite, jivelite and installs the Octo sound card and sets the Octo up in the squeezelite_settings.sh, with minimal interaction on my part, it's just that I have absolutely no experience with alsa so I'm quite lost there. I didn't know that I would be left to my own discovery beyond basics. I just want to be able to output 4.0 and 5.1. I guess it is time to start reading up on alsa. :o

Wanted to use my Octo with one of my old school amps.

flatmax
Posts: 609
Joined: Sat Jul 23, 2016 11:39 pm

Re: Surrond sound possiable?

Post by flatmax » Sun May 28, 2017 9:03 pm

I would like to help you as well. May I ask what software you are planning to use with your Octo ?

thanks
Matt
Check out our audiophile quality crossovers : https://bit.ly/2kb1nzZ
Please review the Zero sound card on Amazon USA : https://www.amazon.com/dp/B075V1VNDD
---
Check out our new forum on github : https://github.com/Audio-Injector

theloon
Posts: 9
Joined: Sun Apr 30, 2017 4:02 am

Re: Surrond sound possiable?

Post by theloon » Sun May 28, 2017 10:47 pm

Not sure how to answer that. Is the Octo software specific? I just found some information for a starting point http://www.halfgaar.net/surround-sound-in-linux. Maybe the Allo Piano would have been be a better choice for my needs? The Piano has four outputs just too bad it is setup as 2.1 to start. Perhaps to stay with the Octo an install script, package or driver could be written by people who know how to to simplify things for those of us that don't. It may go a long way to help sell the Octo. :D

theloon
Posts: 9
Joined: Sun Apr 30, 2017 4:02 am

Re: Surrond sound possiable?

Post by theloon » Sun May 28, 2017 11:44 pm

More questions. Does the Octo work with pulseaudio? can it be made to? Any way to set it up where it would be seen as actual surround device with aplay -l

like this (without the USB part of course):

surround51:CARD=Device,DEV=0
USB Sound Device, USB Audio
5.1 Surround output to Front, Center, Rear and Subwoofer speakers

instead of just:

card 0: audioinjectorc [ audioinjector-octo-soundcard], device 0: AudioInject-HiFi cs42448-0 []
Subdevices: 0/1
Subdevice #0: subdevices #0


Isn't it a surround card?

Hope any of this makes since. :D

ktb
Posts: 23
Joined: Thu Apr 27, 2017 11:04 am

Re: Surrond sound possiable?

Post by ktb » Mon May 29, 2017 3:34 am

Let me preface this by saying that I'm not an expert on ALSA, PulseAudio or the Octo. I'm just another Octo user like you, so I could be wrong about some of the information that follows.
Is the Octo software specific?
I don't think so, but the configuration of specific software is often times relevant. I'm not sure why flatmax asked you "May I ask what software you are planning to use with your Octo ?" since it seems that you already explained that. Unfortunately, I've never used Logitech Media Server, Squeezelite, or Jivelite. The reason that information would be important is so that your specific use case can be reproduced and tested. Can you show us exactly how you configured squeezelite_settings.sh?
Any way to set it up where it would be seen as actual surround device with aplay -l
I'm a bit confused by this question and the example output you've provided.
surround51:CARD=Device,DEV=0
USB Sound Device, USB Audio
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
This would be in output from the command aplay -L (uppercase L) or aplay --list-pcms.
card 0: audioinjectorc [ audioinjector-octo-soundcard], device 0: AudioInject-HiFi cs42448-0 []
Subdevices: 0/1
Subdevice #0: subdevices #0
This would be in output from the command aplay -l (lowercase l) or aplay --list-devices.

As I explained, the Octo doesn't appear to expose the common surround** device names which a lot of other cards would provide. I imagine that flatmax would have to implement that feature in the driver.

If you setup the Octo according to the instructions in the thread here -- viewtopic.php?f=9&t=1222, then the output of aplay -L (uppercase L), should look like this:

Code: Select all

pi@raspberrypi:~ $ aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
anyChannelCount
default
    Playback/recording through the PulseAudio sound server
sysdefault:CARD=audioinjectoroc
    audioinjector-octo-soundcard, 
    Default Audio Device
dmix:CARD=audioinjectoroc,DEV=0
    audioinjector-octo-soundcard, 
    Direct sample mixing device
dsnoop:CARD=audioinjectoroc,DEV=0
    audioinjector-octo-soundcard, 
    Direct sample snooping device
hw:CARD=audioinjectoroc,DEV=0
    audioinjector-octo-soundcard, 
    Direct hardware device without any conversions
plughw:CARD=audioinjectoroc,DEV=0
    audioinjector-octo-soundcard, 
    Hardware device with all software conversions
The "anyChannelCount" device name should allow you to use anywhere from 1 to 8 output channels. I'm not sure about how/if upmixing might be possible directly in ALSA (in case your audio source files aren't actually recorded in surround sound).
Isn't it a surround card?
Perhaps it isn't exactly a "surround card" in that it doesn't automatically expose the surround** device names in ALSA. However, it does provide 8 output channels and 6 input channels which would be equivalent to 7.1 for output and 5.1 for input.
Does the Octo work with pulseaudio?
I already explained that it does, but if using PulseAudio 5.0 (which is the version available in Raspbian Jessie), then you need to manually configure the card in the PulseAudio config files (because PulseAudio 5.0's module-udev-detect fails). I believe that is due to a limitation in this older version of PulseAudio, specifically the more limited default alsa-mixer profile-sets available in PulseAudio 5.0. PulseAudio 10.0 doesn't seem to have a problem detecting the Octo as a multichannel input and output card.

I'm not using PulseAudio 5.0 on the two SD cards I currently have configured to use the Octo (one card has *mostly* Raspbian Jessie packages installed, the other card has *mostly* Raspbian Stretch packages installed), I use PulseAudio 10.0 on both Raspbian Jessie (I installed the PulseAudio from Raspbian Stretch in Raspbian Jessie) and Raspbian Stretch. However, I did briefly have a chance to configure the Octo in PulseAudio 5.0 when I was playing around with it in Raspbian Jessie prior to upgrading to PulseAudio 10.0.

In PulseAudio 5.0, I think something like the following should work in /etc/pulse/default.pa:

Code: Select all

#!/usr/bin/pulseaudio -nF
#
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.

# This startup script is used only if PulseAudio is started per-user
# (i.e. not in system mode)

.nofail

### Load something into the sample cache
#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav
#load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav
#load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav
#load-sample-lazy pulse-access /usr/share/sounds/generic.wav

.fail

### Automatically restore the volume of streams and devices
load-module module-device-restore
load-module module-stream-restore
load-module module-card-restore

### Automatically augment property information from .desktop files
### stored in /usr/share/application
load-module module-augment-properties

### Should be after module-*-restore but before module-*-detect
load-module module-switch-on-port-available

### Load audio drivers statically
### (it's probably better to not load these drivers manually, but instead
### use module-udev-detect -- see below -- for doing this automatically)
load-module module-alsa-sink device=hw:0,0 sink_name=output channels=8 channel_map=front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
load-module module-alsa-source device=hw:0,0 source_name=input channels=6 channel_map=front-left,front-right,rear-left,rear-right,front-center,lfe
#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
#load-module module-null-sink
#load-module module-pipe-sink

### Automatically load driver modules depending on the hardware available
#.ifexists module-udev-detect.so
#load-module module-udev-detect
#.else
### Use the static hardware detection module (for systems that lack udev support)
#load-module module-detect
#.endif

### Automatically connect sink and source if JACK server is present
.ifexists module-jackdbus-detect.so
.nofail
load-module module-jackdbus-detect channels=2
.fail
.endif

### Automatically load driver modules for Bluetooth hardware
.ifexists module-bluetooth-policy.so
load-module module-bluetooth-policy
.endif

.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
.endif

### Load several protocols
.ifexists module-esound-protocol-unix.so
load-module module-esound-protocol-unix
.endif
load-module module-native-protocol-unix

### Network access (may be configured with paprefs, so leave this commented
### here if you plan to use paprefs)
#load-module module-esound-protocol-tcp
#load-module module-native-protocol-tcp
#load-module module-zeroconf-publish

### Load the RTP receiver module (also configured via paprefs, see above)
#load-module module-rtp-recv

### Load the RTP sender module (also configured via paprefs, see above)
#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
#load-module module-rtp-send source=rtp.monitor

### Load additional modules from GConf settings. This can be configured with the paprefs tool.
### Please keep in mind that the modules configured by paprefs might conflict with manually
### loaded modules.
.ifexists module-gconf.so
.nofail
load-module module-gconf
.fail
.endif

### Automatically restore the default sink/source when changed by the user
### during runtime
### NOTE: This should be loaded as early as possible so that subsequent modules
### that look up the default sink/source get the right value
load-module module-default-device-restore

### Automatically move streams to the default sink if the sink they are
### connected to dies, similar for sources
load-module module-rescue-streams

### Make sure we always have a sink around, even if it is a null sink.
load-module module-always-sink

### Honour intended role device property
load-module module-intended-roles

### Automatically suspend sinks/sources that become idle for too long
load-module module-suspend-on-idle

### If autoexit on idle is enabled we want to make sure we only quit
### when no local session needs us anymore.
.ifexists module-console-kit.so
load-module module-console-kit
.endif
.ifexists module-systemd-login.so
load-module module-systemd-login
.endif

### Enable positioned event sounds
load-module module-position-event-sounds

### Cork music/video streams when a phone stream is active
load-module module-role-cork

### Modules to allow autoloading of filters (such as echo cancellation)
### on demand. module-filter-heuristics tries to determine what filters
### make sense, and module-filter-apply does the heavy-lifting of
### loading modules and rerouting streams.
load-module module-filter-heuristics
load-module module-filter-apply

# X11 modules should not be started from default.pa so that one daemon
# can be shared by multiple sessions.

### Load X11 bell module
#load-module module-x11-bell sample=bell-windowing-system

### Register ourselves in the X11 session manager
#load-module module-x11-xsmp

### Publish connection data in the X11 root window
#.ifexists module-x11-publish.so
#.nofail
#load-module module-x11-publish
#.fail
#.endif

### Make some devices default
set-default-sink output
set-default-source input
If you were to use PulseAudio 5.0 in system-mode, then you could do basically the same thing in /etc/pulse/system.pa:

Code: Select all

#!/usr/bin/pulseaudio -nF
#
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.

# This startup script is used only if PulseAudio is started in system
# mode.

### Load audio drivers statically
### (it's probably better to not load these drivers manually, but instead
### use module-udev-detect -- see below -- for doing this automatically)
load-module module-alsa-sink device=hw:0,0 sink_name=output channels=8 channel_map=front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
load-module module-alsa-source device=hw:0,0 source_name=input channels=6 channel_map=front-left,front-right,rear-left,rear-right,front-center,lfe

### Automatically load driver modules depending on the hardware available
#.ifexists module-udev-detect.so
#load-module module-udev-detect
#.else
### Use the static hardware detection module (for systems that lack udev/hal support)
#load-module module-detect
#.endif

### Load several protocols
.ifexists module-esound-protocol-unix.so
load-module module-esound-protocol-unix
.endif
load-module module-native-protocol-unix

### Automatically restore the volume of streams and devices
load-module module-stream-restore
load-module module-device-restore

### Automatically restore the default sink/source when changed by the user
### during runtime
### NOTE: This should be loaded as early as possible so that subsequent modules
### that look up the default sink/source get the right value
load-module module-default-device-restore

### Automatically move streams to the default sink if the sink they are
### connected to dies, similar for sources
load-module module-rescue-streams

### Make sure we always have a sink around, even if it is a null sink.
load-module module-always-sink

### Automatically suspend sinks/sources that become idle for too long
load-module module-suspend-on-idle

### Enable positioned event sounds
load-module module-position-event-sounds
Perhaps flatmax can expand on this information or correct anything I may be wrong about.

theloon
Posts: 9
Joined: Sun Apr 30, 2017 4:02 am

Re: Surrond sound possiable?

Post by theloon » Mon May 29, 2017 5:00 am

Wow I really do appreciate all the help! Sorry about the lower and upper case mix-up so I tried with the upper case L and it still did not result I was hoping for but I do get the with/without software conversions messages but that has little significance to a Linux noob like me. All I want to do is output 4.0 since that is what my vintage Marantz 4100 amp can do. Down mixing to 4.0 from 5.1 would suffice for Kodi. As far as applications go would like to sooner or later add Kodi to the mix but for now I am only using this setup for audio. My amp has input for front L/R and Rear L/R and to my ears sounds richer than the new all digital stuff. The reason I inquired about pulse is because it presents a command line challenged person with a nice interface to adjust things with. I don't even know where to begin to put all the stuff into the pulse or alsa config files and what to expect once I got them in there to know if I got it right but I'm going to poke around and try to add the settings as you suggested. :D

ktb
Posts: 23
Joined: Thu Apr 27, 2017 11:04 am

Re: Surrond sound possiable?

Post by ktb » Mon May 29, 2017 5:45 am

Sounds cool. I inherited one of those Marantz quadraphonic sound amplifiers from my dad. I think my sister has it now using it more as a bookshelf decoration than anything else. I always liked it. ELP's Brain Salad Surgery sounded great on it.

Again,
Can you show us exactly how you configured squeezelite_settings.sh?
Depending on the way the software (Logitech Media Server, Squeezelite, Jivelite) you are using runs (does it run as the pi user?), you might need to set up a .asoundrc file for that specific user or a system-wide ALSA config (/etc/asound.conf).

theloon
Posts: 9
Joined: Sun Apr 30, 2017 4:02 am

Re: Surrond sound possiable?

Post by theloon » Mon May 29, 2017 6:04 am

I went a little overboard and I now own 4 Marantz Quads. 1ea 4230, 2ea 4070's and the 4100.
All I did is comment out the default card and add the audioinjector in: /usr/local/bin/squeezelite_settings.sh

# ----- SOUNDCARD -----
# Set the soundcard
#SL_SOUNDCARD="sysdefault:CARD=ALSA"
SL_SOUNDCARD="plughw:CARD=audioinjectoroc,DEV=0"

not sure how it is installed but it runs with:
sudo /etc/init.d/squeezelite start

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests