@wizard
I had success using this alsa configuration file:
Code: Select all
pcm.card0 {
type hw
card 0
# mmap_emulation true
}
pcm.card2 {
type hw
card 2
# mmap_emulation true
}
#pcm.dmix0 {
# type dmix
# ipc_key 34521
# slave {
# pcm "card0"
# }
#}
pcm.dmix0 {
type dmix
ipc_key 1024 ## needs to be a power of 2
ipc_perm 0666
slave {
pcm "hw:0"
# pcm "multi"
period_time 0
period_size 1024
buffer_size 8192
channels 2 # must match bindings
# format S16_LE
# rate 44100 ## not necessary
}
bindings {
0 0
1 1
}
#slowptr true
}
pcm.dmixerloop {
type dmix
ipc_key 2048
ipc_perm 0666 # allow other users
slave.pcm "hw:Loopback,0,0"
slave {
period_time 0
period_size 1024
buffer_size 4096
channels 2 # must match bindings
}
bindings {
0 0
1 1
}
}
pcm.dsnoop0 {
type dsnoop
ipc_key 2048
ipc_perm 0666 # allow other users
slave {
pcm "card0"
# rate 48000
period_time 0
period_size 1024
buffer_size 4096
channels 2
}
bindings {
0 0
1 1
}
}
pcm.dsnooperloop {
type dsnoop
ipc_key 4096
ipc_perm 0666 # allow other users
slave {
pcm "hw:Loopback,1,0"
# rate 48000
period_time 0
period_size 1024
buffer_size 4096
channels 2
}
bindings {
0 0
1 1
}
}
pcm.dsnoop2 {
type dsnoop
ipc_key 4096
slave {
pcm "card2"
# rate 48000
period_time 0
period_size 1024
buffer_size 4096
channels 2
}
bindings {
0 0
1 0
}
}
pcm.asym0 {
type asym
playback.pcm "multi"
capture.pcm "multi_snoop"
}
pcm.pasym0 {
type plug
slave.pcm "asym0"
}
pcm.usbaudio {
type plug
slave.pcm "multi_snoop2"
}
# 'dsp0' is expected by OSS emulation etc.
pcm.dsp0 {
type plug
slave.pcm "asym0"
}
ctl.dsp0 {
type hw
card 0
}
#pcm.!default {
# type asym
# playback.pcm "multi"
# capture.pcm "dsnoop0"
#}
pcm.!default {
type plug
slave.pcm "asym0"
}
#pcm.!default {
# type plug
# slave.pcm "asym0"
#}
ctl.!default {
type hw
card 0
}
pcm.multi {
type route;
slave.pcm {
type multi;
slaves.a.pcm "dmix0";
slaves.b.pcm "dmixerloop";
slaves.a.channels 2;
slaves.b.channels 2;
bindings.0.slave a;
bindings.0.channel 0;
bindings.1.slave a;
bindings.1.channel 1;
bindings.2.slave b;
bindings.2.channel 0;
bindings.3.slave b;
bindings.3.channel 1;
}
ttable.0.0 1;
ttable.1.1 1;
ttable.0.2 1;
ttable.1.3 1;
}
pcm.multi_snoop {
type route;
slave.pcm {
type multi;
slaves.a.pcm "dsnoop0";
slaves.b.pcm "dsnooperloop";
slaves.a.channels 2;
slaves.b.channels 2;
bindings.0.slave a;
bindings.0.channel 0;
bindings.1.slave a;
bindings.1.channel 1;
bindings.2.slave b;
bindings.2.channel 0;
bindings.3.slave b;
bindings.3.channel 1;
}
slave.channels 4 # the slave has 4 channels
ttable.0.0 0.5 # master ch 0 - slave ch 0
ttable.1.1 0.5 # master ch 1 - slave ch 1
ttable.0.2 0.5 # master ch 0 - slave ch 2
ttable.1.3 0.5 # master ch 1 - slave ch 3
}
pcm.multi_snoop2 {
type route;
slave.pcm {
type multi;
slaves.a.pcm "dsnoop2";
slaves.b.pcm "dsnooperloop";
slaves.a.channels 2;
slaves.b.channels 2;
bindings.0.slave a;
bindings.0.channel 0;
bindings.1.slave a;
bindings.1.channel 1;
bindings.2.slave b;
bindings.2.channel 0;
bindings.3.slave b;
bindings.3.channel 1;
}
slave.channels 4 # the slave has 4 channels
ttable.0.0 0.5 # master ch 0 - slave ch 0
ttable.1.1 0.5 # master ch 1 - slave ch 1
ttable.0.2 0.5 # master ch 0 - slave ch 2
ttable.1.3 0.5 # master ch 1 - slave ch 3
}
#pcm.!default {
# type plug
# slave.pcm "multi"
#}
pcm.loopin {
type plug
slave.pcm "hw:Loopback,0,0"
}
pcm.loopout {
type plug
slave.pcm "hw:Loopback,1,0"
}
pcm.snoopin {
type plug
slave.pcm "hw:Loopback,0,1"
}
pcm.snoopout {
type plug
slave.pcm "hw:Loopback,1,1"
}
:
source: http://www.macpczone.co.uk/content/mixi ... y-recorded
IMO, if Puppy Linux is not going to adopt pipewire or pulse audio anytime soon It needs to start finding solutions to common tasks such as the one presented here.
I am a long time puppy user and a regular use case user, web surfing, simple video editing, netflix, email, video conferencing. It took me years to stumble upon this ALSA configuration file because I had no idea what to search for. ALSA is not user friendly, and to make things worse its documentation is terrible.
The alsawizard, Sound Card Wizard 2 did not generate a successful asound.conf file for this use case.
I don't think it is a FOSSA issue, I had the same problem with previous Puppy Linux versions.
The file attached is a fake mp4, rename it, you will watch a video generated using simplescreenrecorder, and hear claps into the mic, deadbeef playing music, and youtube playing music.