Saturday, January 12, 2013

Add the Asus Xonar D1 sound card to my websdr

Add the Asus Xonar D1 sound card to my websSDR server to widen the 40m Band with to 192Khz

Asus Xonar D1 192Kb Sampling (one A/D stereo input)
  1. The Sound Card has only one A/D input but it has drivers for Linux. (-;
  2. My existing M-audio Delta 44 cards has 4 mono inputs but can be link to give you 2 Stereo inputs. it has only 96Kb sampling capability. (Max webSDR band with would be about 96khz) Where the Asus Xonar D1 will give you the 192Khz band with but uses one PCI slot on your server there for you will run out of PCI slots in your computer if you want to upgrade all your Delta 44 cards to Asus Xonar D1 cards.
Here is my .asoundrc config file with the combination of my M-audio Delta 44, Asus Xonar D1 and on board IXP sound interface. (one IXP, two M-audio and one Asus card)
Here is the Simplified file below this one there is a more complex file with some remapping if you want.


#This configeration file is for sdr server pc.
#This pc has 3 sound cards
# 1) IXP motherboard (1 sterio input and 1 sterio output)
# 2) M44 M-Audio Delta 44 (4 mono inputs and 4 mono outputs)
# 3) Audiophile192 M-Audio Audiophile 192 (2 mono inputs and 2 mono outputs)
# 4) M44_1 M-Audio Delta 44 (4 mono inputs and 4 mono outputs)
# 5) D1 Asus Xonar d1 (1 Sterio input)
# 6) D1_1 Asus Xonar d1 (1 Sterio input)
#************************** pcm definition ************************************
pcm.sdrM44_card {# defining the card to be used
     type hw
     card M44 # this has to be done to force reboot to point to same card
}
pcm.sdrXonarD1_card {# defining the card to be used
      type hw
      card  "D1" # this has to the same as above to force reboot to point to the same card
}
pcm.sdrXonarD1_1_card {# defining the card to be used
      type hw
      card  "D1_1" # this has to the same as above to force reboot to point to the same card
}

#************************* controle section ***********************************
ctl.sdrM44_card {#defining the control interface
     type hw
     card M44 # this has to the same as above
     }
ctl.sdrXonarD1_card {#defining the control interface
     type hw
     card "D1"  # this has to be the same as above
     }
ctl.sdrXonarD1_1_card {#defining the control interface
     type hw
     card "D1_1"  # this has to be the same as above
     }
#******************************** channel dev *****************************
#        0 1   # front left
#        1 0   # front right
#        2 6   # rear left
#        3 7   # rear right
#        4 2   # center
#        5 3   # lfe
#        6 4   # side left
#        7 5   # side right

#****************************** dsnoop ***************************************
pcm.dsnooper_M44 {
     type dsnoop #This plugin splits one capture stream to more streams
     ipc_key 4711
         slave {
         pcm sdrM44_card
        rate 96000
         }
}
pcm.dsnooper_XonarD1 {
     type dsnoop #This plugin splits one capture stream to more streams
     ipc_key 42229
         slave {
         pcm sdrXonarD1_card
         rate 192000
         }
}
pcm.dsnooper_XonarD1_1 {
     type dsnoop #This plugin splits one capture stream to more streams
     ipc_key 72329
         slave {
         pcm sdrXonarD1_1_card
         rate 192000
         }
}

#****************************** recording ***********************************
pcm.sdrM44Record12 { # input input 1 and 2
     type plug
     slave {
     pcm "dsnooper_M44"
     }
}

pcm.sdrM44Record34 { # input input 2 and 3
     type plug
     slave {
     pcm "dsnooper_M44"
     }
}
pcm.sdrXonarD1Record12 { # input input 1 and 2
     type plug
     slave {
     pcm "dsnooper_XonarD1"
channels 2
}
}
pcm.sdrXonarD1Record34 { # input input 3 and 4
     type plug
     slave {
     pcm "dsnooper_XonarD1_1"
channels 2
}
}



The config below also worked but used to much CPU. 

#This configeration file is for sdr server pc.
#This pc has 3 sound cards
# 1) IXP motherboard (1 sterio input and 1 sterio output)
# 2) M44 M-Audio Delta 44 (4 mono inputs and 4 mono outputs)
# 3) Audiophile192 M-Audio Audiophile 192 (2 mono inputs and 2 mono outputs)
# 4) M44_1 M-Audio Delta 44 (4 mono inputs and 4 mono outputs)
# 5) D1 Asus Xonar d1 (1 Sterio input)
# 5) D1_1 Asus Xonar d1 (1 Sterio input)
#************************** pcm definition ************************************
pcm.sdrMIXP_card{# interal sound card
type hw
card IXP #internal sound card
}
pcm.sdrM44_card {# defining the card to be used
     type hw
     card M44 # this has to be done to force reboot to point to same card
}
pcm.sdrM44_1_card {# defining the card to be used
     type hw
     card M44_1 # this has to be done to force reboot to point to same card
}

pcm.sdrAudiophile192_card {# defining the card to be used

     type hw
     card Audiophile192 # this has to the same as above to force reboot to point to same card
}
pcm.sdrXonarD1_card {# defining the card to be used
      type hw
      card  "D1" # this has to the same as above to force reboot to point to the same card
}
#D1_1
pcm.sdrXonarD1_card_1 {# defining the card to be used
      type hw
      card  "D1_1" # this has to the same as above to force reboot to point to the same card
}

#************************* control section ***********************************

ctl.sdrM44_card {#defining the control interface
     type hw
     card M44 # this has to the same as above
     }
ctl.sdrM44_1_card {#defining the control interface
     type hw
     card M44_1 # this has to be the same as above
     }

ctl.sdrAudiophile192_card {#defining the control interface
     type hw
     card  Audiophile192 # this has to be the same as above
     }

ctl.sdrIXP_card {#defining the control interface
     type hw
     card IXP  # this has to be the same as above
     }
ctl.sdrXonarD1_card {#defining the control interface
     type hw
     card "D1"  # this has to be the same as above
     }
ctl.sdrXonarD1_card_1 {#defining the control interface
     type hw
     card "D1_1"  # this has to be the same as above
     }

#******************************** channel dev *****************************
#        0 1   # front left
#        1 0   # front right
#        2 6   # rear left
#        3 7   # rear right
#        4 2   # center
#        5 3   # lfe
#        6 4   # side left
#        7 5   # side right

#****************************** dsnoop ***************************************
pcm.dsnooper_M44 {
     type dsnoop #This plugin splits one capture stream to more streams
     ipc_key 4711
         slave {
         pcm sdrM44_card
channels 12
         format S32_LE
         period_time 0
         period_size 512
         buffer_size 4096
rate 96000
         }
         bindings {
                       0 0
                       1 1
      2 2
      3 3
         }
}
pcm.dsnooper_M44_1 {
     type dsnoop #This plugin splits one capture stream to more streams
     ipc_key 4771
         slave {
         pcm sdrM44_1_card
         channels 12
         format S32_LE
         period_time 0
         period_size 512
         buffer_size 4096
        rate 96000
         }
         bindings {
                       0 0
                       1 1
                       2 2
                       3 3
         }
}

pcm.dsnooper_Audiophile192 {
     type dsnoop #This plugin splits one capture stream to more streams
     ipc_key 47129
         slave {
         pcm sdrAudiophile192_card
         channels 4
         format S32_LE
         period_time 0
         period_size 512
         buffer_size 4096
        rate 96000
         }
         bindings {
                       0 0
                       1 1
         }
}
pcm.dsnooper_XonarD1 {
     type dsnoop #This plugin splits one capture stream to more streams
     ipc_key 42229
         slave {
         pcm sdrXonarD1_card
         rate 192000
         }
}
pcm.dsnooper_XonarD1_1 {
     type dsnoop #This plugin splits one capture stream to more streams
     ipc_key 42229
         slave {
         pcm sdrXonarD1_card_1
         rate 192000
         }
}

#****************************** recording ***********************************
pcm.sdrM44Record12 { # input input 1 and 2
     type plug
     slave {
     pcm "dsnooper_M44"
     channels 4
     }
ttable.0.0 1
         ttable.1.1 1
}

pcm.sdrM44Record34 { # input input 2 and 3
     type plug
     slave {
     pcm "dsnooper_M44"
     channels 4
     }
         ttable.0.2 1
         ttable.1.3 1
}
pcm.sdrM44Record_1_12 { # input input 1 and 2
     type plug
     slave {
     pcm "dsnooper_M44_1"
     channels 4
     }
         ttable.0.0 1
         ttable.1.1 1
}

pcm.sdrM44Record_1_34 { # input input 2 and 3
     type plug
     slave {
     pcm "dsnooper_M44_1"
     channels 4
     }
         ttable.0.2 1
         ttable.1.3 1
}

pcm.sdrAudiophile192Record12 { # input input 1 and 2
     type plug
     slave {
     pcm "dsnooper_Audiophile192"
     channels 4
     }
         ttable.0.0 1
         ttable.1.1 1
}
pcm.sdrXonarD1Record12 { # input input 1 and 2
     type plug
     slave {
     pcm "dsnooper_XonarD1"
channels 2
}
}
pcm.sdrXonarD1Record34 { # input input 1 and 2
     type plug
     slave {
     pcm "dsnooper_XonarD1_1"
channels 2
}
}

#*************************************linpsk************************************
pcm.LinPSK_Play {
        type plug
        slave {
#************defult atx card**********
pcm "pcm.sdrMIXP_card"
        }
}
#***********************************pnpsk pointing to 30m Band ****************
pcm.LinPSK_Record {
        type plug
        slave {
#************second delta 44 card ****
        pcm "pcm.sdrM44Record_1_12"
        }
}