You are not logged in.
Hi!
i recently tried to use my AMP/DAC (Sabaj A4) via USB instead of using the mediocre internal sound chip of my motherboard in order to maybe get a bit higher quality sound.
I managed to get dmix working, but the AMP does not seem to have volume control via alsamixer, thus can only be controlled with the remote. However, i really would like to control the volume with the usual software controls.
If i understood it correctly, it seems impossible to use softvol and dmix at the same time - is this correct? If so, this would be a reason to change back to the internal sound device.
.asoundrc:
pcm.!default {
type plug
slave.pcm "dmixer"
}
pcm.dmixer {
type dmix
ipc_key 1024
slave {
pcm "hw:2,0"
period_time 0
period_size 1024
buffer_size 4096
rate 44100
}
bindings {
0 0
1 1
}
}
ctl.dmixer {
type hw
card 2
} alsamixer:
Dieses Gerät hat keine Regler (This sound device does not have any controls)aplay -L:
null
Discard all samples (playback) or generate zero samples (capture)
samplerate
Rate Converter Plugin Using Samplerate Library
speexrate
Rate Converter Plugin Using Speex Resampler
jack
JACK Audio Connection Kit
oss
Open Sound System
pipewire
PipeWire Sound Server
pulse
PulseAudio Sound Server
speex
Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)
upmix
Plugin for channel upmix (4,6,8)
vdownmix
Plugin for channel downmix (stereo) with a simple spacialization
hdmi:CARD=HDMI,DEV=0
HDA ATI HDMI, HDMI 0
HDMI Audio Output
hdmi:CARD=HDMI,DEV=1
HDA ATI HDMI, HDMI 1
HDMI Audio Output
hdmi:CARD=HDMI,DEV=2
HDA ATI HDMI, HDMI 2
HDMI Audio Output
hdmi:CARD=HDMI,DEV=3
HDA ATI HDMI, HDMI 3
HDMI Audio Output
hdmi:CARD=HDMI,DEV=4
HDA ATI HDMI, HDMI 4
HDMI Audio Output
hdmi:CARD=HDMI,DEV=5
HDA ATI HDMI, HDMI 5
HDMI Audio Output
usbstream:CARD=HDMI
HDA ATI HDMI
USB Stream Output
sysdefault:CARD=Generic
HD-Audio Generic, ALC1220 Analog
Default Audio Device
front:CARD=Generic,DEV=0
HD-Audio Generic, ALC1220 Analog
Front output / input
surround21:CARD=Generic,DEV=0
HD-Audio Generic, ALC1220 Analog
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Generic,DEV=0
HD-Audio Generic, ALC1220 Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=Generic,DEV=0
HD-Audio Generic, ALC1220 Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Generic,DEV=0
HD-Audio Generic, ALC1220 Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Generic,DEV=0
HD-Audio Generic, ALC1220 Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Generic,DEV=0
HD-Audio Generic, ALC1220 Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Generic,DEV=0
HD-Audio Generic, ALC1220 Digital
IEC958 (S/PDIF) Digital Audio Output
usbstream:CARD=Generic
HD-Audio Generic
USB Stream Output
sysdefault:CARD=AMP
Sabaj A4 AMP, USB Audio
Default Audio Device
front:CARD=AMP,DEV=0
Sabaj A4 AMP, USB Audio
Front output / input
surround21:CARD=AMP,DEV=0
Sabaj A4 AMP, USB Audio
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=AMP,DEV=0
Sabaj A4 AMP, USB Audio
4.0 Surround output to Front and Rear speakers
surround41:CARD=AMP,DEV=0
Sabaj A4 AMP, USB Audio
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=AMP,DEV=0
Sabaj A4 AMP, USB Audio
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=AMP,DEV=0
Sabaj A4 AMP, USB Audio
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=AMP,DEV=0
Sabaj A4 AMP, USB Audio
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=AMP,DEV=0
Sabaj A4 AMP, USB Audio
IEC958 (S/PDIF) Digital Audio Output
usbstream:CARD=AMP
Sabaj A4 AMP
USB Stream OutputThanks for any hint!
Last edited by nexx1 (2020-12-28 20:05:42)
Offline
It is possible but you aren't allocating a softvol in that config.
pcm.!default {
type plug
slave.pcm "softvol"
hint {
show on
description "Default device"
}
}
pcm.dmixer {
type dmix
ipc_key 1024
slave {
pcm "hw:2,0"
period_time 0
period_size 1024
buffer_size 4096
rate 44100
}
bindings {
0 0
1 1
}
}
pcm.softvol {
type softvol
slave {
pcm "dmixer"
}
control {
name "Pre-Amp"
card 2
}
}alternatively forgo this raindance and handle your audio devices with pulseaudio or pipewire or so
Offline
Yes, i did not even try it because i read that it isnt a thing.
But you showed me otherwise - thank you! dmix + softvol now works. The only thing that does not seem to work anymore is toggling mute/unmute via XF86AudioMute (worked before). That doesnt matter to, i just reduce the volume to 0 now when i press the mute button.
alternatively forgo this raindance and handle your audio devices with pulseaudio or pipewire or so
sigh... Yes, if i would be sure that this fiddling then would stop i would maybe trying it. Is pulse really the salvation for such cases? The thing i struggled most in my linux journey has always been sound :-(
(marked the topic as solved)
Offline
This particular fiddling would stop, there might be some new/other cases, but most of that is generally configurable. Especially if you intend to more flexibly switch between the DAC or the soundcard (... without restarting your applications) you need a daemon that handles communication between the audio cards and the applications.
They will also allocate controllable volumes for all devices and applications.
But if the softvol definition is sufficient for now, don't let that stop you
Offline