Re: complex splitted softvol + a52 setup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I tried through the share plugin. did not work either.

maybe i'm going about this the wrong way...

i have an capture input that is from the output mixer. presumably, this 
outputs 5.1 surround, so maybe i can copy from this to the iec958 output? of 
course, one has to wonder if the passthrough would still work. and the 
softvol still could have trouble... ?


asound.conf:
----------------
pcm.ac3_51 {
    type a52
    slavepcm "hw:0,1"
    rate 48000
    channels 6
    bitrate 448
    format S16_LE
}

server.ac3 {
    host localhost
    socket /dev/snd/ac3
}

pcm.ac3_front {
    type share
    slave {
        pcm "ac3_51"
        channels 6
    }
    bindings.0 0
    bindings.1 1
}

pcm.ac3_rear {
    type share
    slave {
        pcm "ac3_51"
        channels 6
    }
    bindings.0 2
    bindings.1 3
}

pcm.ac3_center {
    type share
    slave {
        pcm "ac3_51"
        channels 6
    }
    bindings.0 4
}

pcm.ac3_lfe {
    type share
    slave {
        pcm "ac3_51"
        channels 6
    }
    bindings.0 5
}

pcm.ac3_rfront {
    type shm
    server ac3
    pcm "plug:ac3_front"
}

pcm.ac3_rrear {
    type shm
    server ac3
    pcm "plug:ac3_rear"
}

pcm.ac3_rcenter {
    type shm
    server ac3
    pcm "plug:ac3_center"
}

pcm.ac3_rlfe {
    type shm
    server ac3
    pcm "plug:ac3_lfe"
}

pcm.softvol_front {
    type softvol
    slave.pcm "ac3_rfront"
    control {
        name "AC3 Front"
        card 0
    }
}

pcm.softvol_rear {
    type softvol
    slave.pcm "ac3_rrear"
    control {
        name "AC3 Rear"
        card 0
    }
}

pcm.softvol_center {
    type softvol
    slave.pcm "ac3_rcenter"
    control {
        name "AC3 Center"
        channel 1
        card 0
    }
}

pcm.softvol_lfe {
    type softvol
    slave.pcm "ac3_rlfe"
    control {
        name "AC3 LFE"
        channel 1
        card 0
    }
}

pcm.softvol_multi {
    type multi
    slaves {
        a.pcm "softvol_front"
        a.channels 2
        b.pcm "softvol_rear"
        b.channels 2
        c.pcm "softvol_center"
        c.channels 1
        d.pcm "softvol_lfe"
        d.channels 1
    }
    bindings {
        0.slave a
        0.channel 0
        1.slave a
        1.channel 1
        2.slave b
        2.channel 0
        3.slave b
        3.channel 1
        4.slave c
        4.channel 0
        5.slave d
        5.channel 0
    }
}

pcm.softvol_master {
    type softvol
    slave.pcm "softvol_multi"
    control {
        name "AC3 Master"
        card 0
    }
}

pcm.dmixer {
    type dmix
    ipc_key 123789
    ipc_key_add_uid true
    slave {
        pcm "softvol_master"
    }
}

pcm.surround51_ac3 {
        type empty
        slave.pcm "dmixer"
}

pcm.ac3_stereo {
    type route
    slave.pcm "dmixer"
    slave.channels 6
    ttable.0.0 1
    ttable.1.1 1
    ttable.0.2 1
    ttable.1.3 1
    ttable.0.4 0.5
    ttable.1.4 0.5
    ttable.0.5 0.5
    ttable.1.5 0.5
}

pcm.!default {
        type empty
        slave.pcm "ac3_stereo"
}

ctl.!default {
        type hw
        card 0
}

pcm.!surround51 {
        type empty
        slave.pcm "dmixer"
}

ctl.!surround51 {
        type hw
        card 0
}


Op Thursday 08 October 2009 18:18:53 schreef AL13N:
> I have a card wich has an optical output and i have a surround set with
> optical input.
>
> i'm using a52 to make everything use digital out, but the sound level is
> way too high.
>
> i used
> http://alsa.opensrc.org/index.php/How_to_use_softvol_to_control_the_master_
>volume and
> http://alsa.opensrc.org/index.php/Splitting_front_and_rear_outputs_.asoundr
>c as an example, and came up with the stuff below. But it doesn't work...
>
> when i do 'speaker-test -c 6 -t wav -D surround51', i get "Invalid
> type 'multi' for slave PCM"
> when i do 'speaker-test -c 6 -t wav -D softvol_multi', i get "Device Busy"
>
> i imagine the problem is that the route plugin doesn't really work for the
> splitting... since they both need to be used at once...
>
> Does anyone have a different idea, or some insight?
>
> /etc/asound.conf:
> ----------------------
>
> pcm.ac3_51 {
>     type a52
>     slavepcm "hw:0,1"
>     rate 48000
>     channels 6
>     bitrate 448
>     format S16_LE
> }
>
> pcm.ac3_front {
>     type route
>     slave.pcm "ac3_51"
>     ttable {
>         0.0 1
>         1.1 1
>     }
> }
>
> pcm.ac3_rear {
>     type route
>     slave.pcm "ac3_51"
>     ttable {
>         0.2 1
>         1.3 1
>     }
> }
>
> pcm.ac3_center {
>     type route
>     slave.pcm "ac3_51"
>     ttable {
>         0.4 1
>     }
> }
>
> pcm.ac3_lfe {
>     type route
>     slave.pcm "ac3_51"
>     ttable {
>         0.5 1
>     }
> }
>
> pcm.softvol_front {
>     type softvol
>     slave.pcm "ac3_front"
>     control {
>         name "AC3 Front"
>         card 0
>     }
> }
>
> pcm.softvol_rear {
>     type softvol
>     slave.pcm "ac3_rear"
>     control {
>         name "AC3 Rear"
>         card 0
>     }
> }
>
> pcm.softvol_center {
>     type softvol
>     slave.pcm "ac3_center"
>     control {
>         name "AC3 Center"
>         channel 1
>         card 0
>     }
> }
>
> pcm.softvol_lfe {
>     type softvol
>     slave.pcm "ac3_lfe"
>     control {
>         name "AC3 LFE"
>         channel 1
>         card 0
>     }
> }
>
> pcm.softvol_multi {
>     type multi
>     slaves {
>         a.pcm "softvol_front"
>         a.channels 2
>         b.pcm "softvol_rear"
>         b.channels 2
>         c.pcm "softvol_center"
>         c.channels 1
>         d.pcm "softvol_lfe"
>         d.channels 1
>     }
>     bindings {
>         0.slave a
>         0.channel 0
>         1.slave a
>         1.channel 1
>         2.slave b
>         2.channel 0
>         3.slave b
>         3.channel 1
>         4.slave c
>         4.channel 0
>         5.slave d
>         5.channel 0
>     }
> }
>
> pcm.softvol_master {
>     type softvol
>     slave.pcm "softvol_multi"
>     control {
>         name "AC3 Master"
>         card 0
>     }
> }
>
> pcm.dmixer {
>     type dmix
>     ipc_key 123789
>     ipc_key_add_uid true
>     slave {
>         pcm "softvol_master"
>     }
> }
>
> pcm.surround51_ac3 {
>         type empty
>         slave.pcm "dmixer"
> }
>
> pcm.ac3_stereo {
>     type route
>     slave.pcm "dmixer"
>     slave.channels 6
>     ttable.0.0 1
>     ttable.1.1 1
>     ttable.0.2 1
>     ttable.1.3 1
>     ttable.0.4 0.5
>     ttable.1.4 0.5
>     ttable.0.5 0.5
>     ttable.1.5 0.5
> }
>
> pcm.!default {
>         type empty
>         slave.pcm "ac3_stereo"
> }
>
> ctl.!default {
>         type hw
>         card 0
> }
>
> pcm.!surround51 {
>         type empty
>         slave.pcm "dmixer"
> }
>
> ctl.!surround51 {
>         type hw
>         card 0
> }
-- 
AL13N is my name and head-biting is my game.

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user

[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux