Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

alsa.conf for two identical mutichannel cards

Help
Stephan
2005-08-16
2013-06-03
  • Stephan
    Stephan
    2005-08-16

    hi there!

    i'm trying to get a working alsa.conf for two M-Audio Delta 410 Cards.
    Goal is to get 8 different stereo-sets.

    if tried many different configurations without success. the last one (appended here) looks to me perfekt, but it results in 4 different stereo-sets of the first card. the second cards results in a mixdown of every channel.

    (since i don't have physical access to the cards, it's possible that stereo-sets 5-8 are working and 1-4 are mixed down. i'm not able to verify this)

    maybe someone could give me a hint, what am i doing wrong?

    greetings

    Stephan Seitz

    alsa.conf (one of the trials):
    ---- snip ----
    pcm.dshare {
        type dmix
        ipc_key 2048
        slave {
            pcm "hw:0"
            rate 44100
            period_time 0
            period_size 1024
            buffer_size 8192
            channels 8
        }
        bindings {
            0 0
            1 1
            2 2
            3 3
            4 4
            5 5
            6 6
            7 7
        }
    }
    pcm.dshare1 {
        type dmix
        ipc_key 2048
        slave {
            pcm "hw:1"
            rate 44100
            period_time 0
            period_size 1024
            buffer_size 8192
            channels 8
        }
        bindings {
            0 0
            1 1
            2 2
            3 3
            4 4
            5 5
            6 6
            7 7
        }
    }
    pcm.room1 {
        type plug
        slave {
            pcm "dshare0"
            channels 2
        }
        ttable.0.0 1
        ttable.1.1 1
    }
    pcm.room2 {
        type plug
        slave {
            pcm "dshare0"
            channels 2
        }
        ttable.0.2 1
        ttable.1.3 1
    }
    pcm.room3 {
        type plug
        slave {
            pcm "dshare0"
            channels 2
        }
        ttable.0.4 1
        ttable.1.5 1
    }
    pcm.room4 {
        type plug
        slave {
            pcm "dshare0"
            channels 2
        }
        ttable.0.6 1
        ttable.1.7 1
    }
    pcm.room5 {
        type plug
        slave {
            pcm "dshare1"
            channels 2
        }
        ttable.0.0 1
        ttable.1.1 1
    }
    pcm.room6 {
        type plug
        slave {
            pcm "dshare1"
            channels 2
        }
        ttable.0.2 1
        ttable.1.3 1
    }
    pcm.room7 {
        type plug
        slave {
            pcm "dshare1"
            channels 2
        }
        ttable.0.4 1
        ttable.1.5 1
    }
    pcm.room8 {
        type plug
        slave {
            pcm "dshare1"
            channels 2
        }
        ttable.0.6 1
        ttable.1.7 1
    }
    ctl.room1 {
        type hw
        card 0
        }
    ctl.room2 {
        type hw
        card 0
        }
    ctl.room3 {
        type hw
        card 0
        }
    ctl.room4 {
        type hw
        card 0
        }
    ctl.room5 {
        type hw
        card 1
        }
    ctl.room6 {
        type hw
        card 1
        }
    ctl.room7 {
        type hw
        card 1
        }
    ctl.room8 {
        type hw
        card 1
        }
    ---- snip ----

     
    • Stephan
      Stephan
      2005-08-16

      i found a solution, i don't know exactly, why this is working, but however... it fit's my needs.

      the following asound.conf  works with two m-audio delta 410 cards, configured to get 4 x stereo out (twice).

      conf. is not nice, but working

      --- snip ---
      # DELTA410 Asound.conf START

      #pcm.main {
      #        type hw
      #        card 0
      #        device 0 #2
      #}

      pcm.dummy {
          type dmix
          ipc_key 2048

          slave {
              pcm "hw:0,0"
              period_time 0
              period_size 1024
              buffer_size 4096        # buffer size < 6653, but pow(x, 2)
              rate        44100       # we want to play CDs only
             }

          bindings {
             0 0
             1 1
             2 2
             3 3
             4 4
             5 5
             6 6
             7 7
             8 8
             9 9
            }

      }

      pcm.ice1712 {
          type dmix
          ipc_key 1024

          slave {
              pcm "hw:1,0"
              period_time 0
              period_size 1024
              buffer_size 4096        # buffer size < 6653, but pow(x, 2)
              rate        44100       # we want to play CDs only
             }

          bindings {
             0 0
             1 1
             2 2
             3 3
             4 4
             5 5
             6 6
             7 7
             8 8
             9 9
            }

      }

      # adcdac 1&2
      pcm.room1 {
              type plug
              ttable.0.0 1
              ttable.1.1 1
              slave.pcm ice1712
      }

      pcm.room5 {
              type plug
              ttable.0.0 1
              ttable.1.1 1
              slave.pcm dummy
      }

      # adcdac 3&4
      pcm.room2 {
              type plug
              ttable.0.2 1
              ttable.1.3 1
              slave.pcm ice1712
      }

      pcm.room6 {
              type plug
              ttable.0.2 1
              ttable.1.3 1
              slave.pcm dummy
      }

      #adcdac 5&6
      pcm.room3 {
              type plug
              ttable.0.4 1
              ttable.1.5 1
              slave.pcm ice1712
      }

      pcm.room7 {
              type plug
              ttable.0.4 1
              ttable.1.5 1
              slave.pcm dummy
      }

      # adcdac 7&8
      pcm.room4 {
              type plug
              ttable.0.6 1
              ttable.1.7 1
              slave.pcm ice1712
      }

      pcm.room8 {
              type plug
              ttable.0.6 1
              ttable.1.7 1
              slave.pcm dummy
      }

      #SPDIF channels 9&10
      pcm.5_spdif {
              type plug
              ttable.0.8 1
              ttable.1.9 1
              slave.pcm ice1712
      }

      # all HW outs set to PCM OUT in envy24
      pcm.hwout {
              type plug
              slave.pcm ice1712
      }

      ctl.room1 {
          type hw
          card 0
      }

      ctl.room5 {
          type hw
          card 1
      }

      ctl.room2 {
          type hw
          card 0
      }

      ctl.room6 {
          type hw
          card 1
      }

      ctl.room3 {
          type hw
          card 0
      }

      ctl.room7 {
          type hw
          card 1
      }

      ctl.room4 {
          type hw
          card 0
      }

      ctl.room8 {
          type hw
          card 1
      }

      ctl.5_spdif {
          type hw
          card 0
      }
      # Asound.conf END

      --- snip ---