[alsa-devel] 1010lt (ice1712) asoundrc for 6 virtual mono cards question

Giovanni Maruzzelli gmaruzz.lists at gmail.com
Fri Apr 13 13:35:57 CEST 2007


Dear Alsa developers,

I want to use a 1010lt (ice1712 driver) as 6 analog mono duplex cards.

I want to use the /etc/asound.conf (.asoundrc) to split the card (that
has 8 in and 8 out - but I use just 6 in/out), with minimal latency.

I mean, I want to record and play (duplex) from/to each virtual card
concurrently and from separate application instances.

My app works with S16_LE, 8000, mono.

Is the following asound.conf (.asoundrc) correct and efficient for this?

I got spikes of cpu load (at 5-6%) on each virtual card any roughly
256 seconds when using a(play|record) to record or play from/to any
channel, and the spikes cumulate with the number of virtual cards
concurrently in use (eg. if I use 6 virtual cards concurrently I got
spikes of 30% cpu load each 256 seconds).

I need to create ctls?
It would behave better if I use an asym to link toghether each couple
of input and output?

Any hints?

Thanks a lot in advance, Giovanni

that is the /etc/asound.conf I'm using:


pcm.capt {
        type dsnoop
        ipc_key 223456
        slave {
                pcm "hw:0,0"
                rate 8000
                period_time 0
                period_size 320
                channels 12
                format S32_LE
        }
}
pcm.capt3 {
    type plug
    slave.pcm capt
    ttable.0.2 1
}
pcm.capt4 { #used
    type plug
    slave.pcm capt
    ttable.0.3 1
}
pcm.capt5 {
    type plug
    slave.pcm capt
    ttable.0.4 1
}
pcm.capt6 {
    type plug
    slave.pcm capt
    ttable.0.5 1
}
pcm.capt7 {
    type plug
    slave.pcm capt
    ttable.0.6 1
}
pcm.capt8 {
    type plug
    slave.pcm capt
    ttable.0.7 1
}

#############################
#############################
pcm.s3 {
    type dshare
    ipc_key 123456789
    slave {
        pcm "hw:0,0"
        rate 8000
        period_time 0
        period_size 320
        channels 10
        format S32_LE
    }
    bindings {
        0 2
    }
}
pcm.play3 {
    type plug
        slave.pcm s3
}

pcm.s4 {
    type dshare
    ipc_key 123456789
    slave {
        pcm "hw:0,0"
        rate 8000
        period_time 0
        period_size 320
        channels 10
        format S32_LE
    }
    bindings {
        0 3
    }
}
pcm.play4 {
    type plug
        slave.pcm s4
}

pcm.s5 {
    type dshare
    ipc_key 123456789
    slave {
        pcm "hw:0,0"
        rate 8000
        period_time 0
        period_size 320
        channels 10
        format S32_LE
    }
    bindings {
        0 4
    }
}
pcm.play5 {
    type plug
        slave.pcm s5
}

pcm.s6 {
    type dshare
    ipc_key 123456789
    slave {
        pcm "hw:0,0"
        rate 8000
        period_time 0
        period_size 320
        channels 10
        format S32_LE
    }
    bindings {
        0 5
    }
}
pcm.play6 {
    type plug
        slave.pcm s6
}


pcm.s7 {
    type dshare
    ipc_key 123456789
    slave {
        pcm "hw:0,0"
        rate 8000
        period_time 0
        period_size 320
        channels 10
        format S32_LE
    }
    bindings {
        0 6
    }
}
pcm.play7 {
    type plug
        slave.pcm s7
}


pcm.s8 {
    type dshare
    ipc_key 123456789
    slave {
        pcm "hw:0,0"
        rate 8000
        period_time 0
        period_size 320
        channels 10
        format S32_LE
    }
    bindings {
        0 7
    }
}
pcm.play8 {
    type plug
        slave.pcm s8
}


More information about the Alsa-devel mailing list