Difference between revisions of "Audio in 1004"

From LinuxMCE
Jump to: navigation, search
(Analog, Optical, Coax, HDMI)
Line 20: Line 20:
  
 
'''AlternateSC = 2''' : should only be necessary for HDMI oddballs that do not work under other two schemes, covers newer equipment.
 
'''AlternateSC = 2''' : should only be necessary for HDMI oddballs that do not work under other two schemes, covers newer equipment.
* [http://wiki.linuxmce.org/index.php/Audio_in_1004#AlternateSC_.3D_2 HDMI] are given the GT series extended scheme, including both the card# and device#.
+
* [http://wiki.linuxmce.org/index.php/Audio_in_1004#AlternateSC_.3D_2 Analog Multi-channel] are given an extended scheme, including both the card# and device#.
  
  
Line 28: Line 28:
 
  </etc/pluto/alsa/virtual_cards.conf>
 
  </etc/pluto/alsa/virtual_cards.conf>
 
   
 
   
  pcm_slave.spdif_convert48k {
+
  pcm_slave.analog_convert48k {
pcm "spdif:0"
+
        pcm "analog:0"
rate 48000
+
        rate 48000
 
  }
 
  }
 
   
 
   
  pcm.spdif_playback {
+
  pcm.analog_playback {
type plug
+
        type plug
slave spdif_convert48k
+
        slave analog_convert48k
 
  }
 
  }
 
   
 
   
  pcm_slave.hdmi_convert48k {
+
  !default {
pcm "hdmi:0"
+
        type asym
rate 48000
+
        playback.pcm "plug:dmix:0"
 +
        capture.pcm "plughw:0"
 
  }
 
  }
+
 
pcm.hdmi_playback {
+
type plug
+
slave hdmi_convert48k
+
}
+
+
pcm.asym_spdif {
+
type asym
+
playback.pcm "spdif_playback"
+
capture.pcm "hw:0"
+
}
+
+
pcm.asym_hdmi {
+
type asym
+
playback.pcm "hdmi_playback"
+
capture.pcm "hw:0"
+
}
+
+
pcm.asym_analog {
+
type asym
+
playback.pcm "plug:dmix:0"
+
capture.pcm "hw:0"
+
}
+
pcm.!default asym_analog
+
  
 
===nVidia GT series HDMI===
 
===nVidia GT series HDMI===
 
  </etc/pluto/alsa/virtual_cards.conf>
 
  </etc/pluto/alsa/virtual_cards.conf>
 
pcm_slave.spdif_convert48k {
 
pcm "spdif:1,7"
 
rate 48000
 
}
 
 
pcm.spdif_playback {
 
type plug
 
slave spdif_convert48k
 
}
 
 
   
 
   
 
  pcm_slave.hdmi_convert48k {
 
  pcm_slave.hdmi_convert48k {
pcm "hdmi:1,7"
+
        pcm "hdmi:1,7"
rate 48000
+
        rate 48000
 
  }
 
  }
 
   
 
   
 
  pcm.hdmi_playback {
 
  pcm.hdmi_playback {
type plug
+
        type plug
slave hdmi_convert48k
+
        slave hdmi_convert48k
 
  }
 
  }
 
   
 
   
  pcm.asym_spdif {
+
  !default {
type asym
+
        type asym
playback.pcm "spdif_playback"
+
        playback.pcm "hdmi_playback"
capture.pcm "plughw:1,7"
+
        capture.pcm "plughw:1,7"
 
  }
 
  }
+
 
pcm.asym_hdmi {
+
type asym
+
playback.pcm "hdmi_playback"
+
capture.pcm "plughw:1,7"
+
}
+
+
pcm.asym_analog {
+
type asym
+
playback.pcm "plug:dmix:1,7"
+
capture.pcm "plughw:1,7"
+
}
+
+
pcm.!hdmi {
+
@args [ AES0 AES1 AES2 AES3 ]
+
@args.AES0 {
+
type integer
+
# consumer, not-copyright, emphasis-none, mode=0
+
default 0x04
+
}
+
@args.AES1 {
+
type integer
+
# original, PCM coder
+
default 0x00
+
}
+
@args.AES2 {
+
type integer
+
# source and channel
+
default 0x00
+
}
+
@args.AES3 {
+
type integer
+
# fs=48000Hz, clock accuracy=1000ppm
+
default 0x00
+
}
+
type hooks
+
slave.pcm {
+
type hw
+
card 1
+
device 7
+
}
+
hooks.0 {
+
type ctl_elems
+
hook_args [
+
{
+
name "IEC958 Playback Default"
+
lock true
+
preserve true
+
value [ $AES0 $AES1 $AES2 $AES3 ]
+
}
+
{
+
name "IEC958 Playback Switch"
+
lock true
+
preserve true
+
value true
+
}
+
]
+
}
+
}
+
pcm.!default asym_hdmi
+
  
 
==AlternateSC = 1==
 
==AlternateSC = 1==
 
===Analog, Optical, Coax, and HDMI===
 
===Analog, Optical, Coax, and HDMI===
 
  </etc/pluto/alsa/virtual_cards.conf>
 
  </etc/pluto/alsa/virtual_cards.conf>
 
pcm_slave.spdif_convert48k {
 
pcm "spdif:0,3"
 
rate 48000
 
}
 
 
pcm.spdif_playback {
 
type plug
 
slave spdif_convert48k
 
}
 
 
   
 
   
 
  pcm_slave.hdmi_convert48k {
 
  pcm_slave.hdmi_convert48k {
pcm "hdmi:0,3"
+
        pcm "hdmi:0,3"
rate 48000
+
        rate 48000
 
  }
 
  }
 
   
 
   
 
  pcm.hdmi_playback {
 
  pcm.hdmi_playback {
type plug
+
        type plug
slave hdmi_convert48k
+
        slave hdmi_convert48k
 
  }
 
  }
 
   
 
   
  pcm.asym_spdif {
+
  !default {
type asym
+
        type asym
playback.pcm "spdif_playback"
+
        playback.pcm "hdmi_playback"
capture.pcm "plughw:0,3"
+
        capture.pcm "plughw:0,3"
 
  }
 
  }
 
pcm.asym_hdmi {
 
type asym
 
playback.pcm "hdmi_playback"
 
capture.pcm "plughw:0,3"
 
}
 
 
pcm.asym_analog {
 
type asym
 
playback.pcm "plug:dmix:0,3"
 
capture.pcm "plughw:0,3"
 
}
 
pcm.!default asym_hdmi
 
  
  
 
==AlternateSC = 2==
 
==AlternateSC = 2==
===HDMI===
+
===Analog Multi-channel, Optical, Coax, and HDMI===
 
  </etc/pluto/alsa/virtual_cards.conf>
 
  </etc/pluto/alsa/virtual_cards.conf>
 
   
 
   
  pcm_slave.spdif_convert48k {
+
  pcm.analog_6 {
pcm "spdif:0,3"
+
        slave.pcm surround51
rate 48000
+
        slave.rate 48000
}
+
        slave.channels 6
+
        type route
pcm.spdif_playback {
+
        ttable.0.0 1
type plug
+
        ttable.1.1 1
slave spdif_convert48k
+
        ttable.0.2 1
}
+
        ttable.1.3 1
+
        ttable.0.4 0.5
pcm_slave.hdmi_convert48k {
+
        ttable.1.4 0.5
pcm "hdmi:0,3"
+
        ttable.0.5 0.5
rate 48000
+
        ttable.1.5 0.5
}
+
+
pcm.hdmi_playback {
+
type plug
+
slave hdmi_convert48k
+
 
  }
 
  }
 
   
 
   
  pcm.asym_spdif {
+
  pcm.analog_8 {
type asym
+
        slave.pcm multi
playback.pcm "spdif_playback"
+
        slave.rate 48000
capture.pcm "plughw:0,3"
+
        slave.channels 8
 +
        type route
 +
        ttable.0.0 1.0
 +
        ttable.1.1 1.0
 +
        ttable.2.2 1.0
 +
        ttable.3.3 1.0
 +
        ttable.4.4 1.0
 +
        ttable.5.5 1.0
 +
        ttable.0.6 1.0
 +
        ttable.1.7 1.0
 +
        ttable.2.6 0.7
 +
        ttable.3.7 0.7
 +
        ttable.4.6 0.7
 +
        ttable.4.7 0.7
 +
        ttable.5.6 0.5
 +
        ttable.5.7 0.5
 
  }
 
  }
 
   
 
   
  pcm.asym_hdmi {
+
  pcm_slave.analog_convert48k {
type asym
+
        pcm "analog_8:0,0"
playback.pcm "hdmi_playback"
+
        rate 48000
capture.pcm "plughw:0,3"
+
 
  }
 
  }
 
   
 
   
  pcm.asym_analog {
+
  pcm.analog_playback {
type asym
+
        type plug
playback.pcm "plug:dmix:0,3"
+
        slave analog_convert48k
capture.pcm "plughw:0,3"
+
 
  }
 
  }
 
   
 
   
  pcm.!hdmi {
+
  !default {
@args [ AES0 AES1 AES2 AES3 ]
+
        type asym
@args.AES0 {
+
        playback.pcm "analog_playback:0,0"
type integer
+
        capture.pcm "plughw:0,0"
# consumer, not-copyright, emphasis-none, mode=0
+
default 0x04
+
}
+
@args.AES1 {
+
type integer
+
# original, PCM coder
+
default 0x00
+
}
+
@args.AES2 {
+
type integer
+
# source and channel
+
default 0x00
+
}
+
@args.AES3 {
+
type integer
+
# fs=48000Hz, clock accuracy=1000ppm
+
default 0x00
+
}
+
type hooks
+
slave.pcm {
+
type hw
+
card 0
+
device 3
+
}
+
hooks.0 {
+
type ctl_elems
+
hook_args [
+
{
+
name "IEC958 Playback Default"
+
lock true
+
preserve true
+
value [ $AES0 $AES1 $AES2 $AES3 ]
+
}
+
{
+
name "IEC958 Playback Switch"
+
lock true
+
preserve true
+
value true
+
}
+
]
+
}
+
 
  }
 
  }
pcm.!default asym_hdmi
 

Revision as of 18:00, 10 December 2012

Alternate sound configurations can be set in /etc/pluto.conf. MOST sound cards should work out of the box, and do not require this parameter. This parameter may be written by /usr/pluto/bin/nvidia-install.sh for various GT chipsets. This can be done at avwizard on the Audio Selector step 5, or at any time by running /usr/pluto/bin/SetupAudioVideo.sh NOTE: Audio/video should NOT be actively playing when running SetupAudioVideo.sh.

Auto-detection is attempted when specific packages are installed, or if the pluto.conf "AlternateSC" setting is null or = 0. In most cases, this value will never exist.

Below are example /etc/asound.conf files generated by these configurations. /etc/pluto/xine.conf files borrow the card# and device# (if any) in the same way as the asound.conf

AlternateSC = null : Most cards function without this parameter, this is the default state.


AlternateSC = 1 : Should only be necessary with some newer GT series nvidia that do not identify as second card or require backports, also supports other oddball devices.


AlternateSC = 2 : should only be necessary for HDMI oddballs that do not work under other two schemes, covers newer equipment.


AlternateSC = 0 or null

Analog, Optical, Coax, HDMI

</etc/pluto/alsa/virtual_cards.conf>

pcm_slave.analog_convert48k {
       pcm "analog:0"
       rate 48000
}

pcm.analog_playback {
       type plug
       slave analog_convert48k
}

!default {
       type asym
       playback.pcm "plug:dmix:0"
       capture.pcm "plughw:0"
}


nVidia GT series HDMI

</etc/pluto/alsa/virtual_cards.conf>

pcm_slave.hdmi_convert48k {
       pcm "hdmi:1,7"
       rate 48000
}

pcm.hdmi_playback {
       type plug
       slave hdmi_convert48k
}

!default {
       type asym
       playback.pcm "hdmi_playback"
       capture.pcm "plughw:1,7"
}


AlternateSC = 1

Analog, Optical, Coax, and HDMI

</etc/pluto/alsa/virtual_cards.conf>

pcm_slave.hdmi_convert48k {
       pcm "hdmi:0,3"
       rate 48000
}

pcm.hdmi_playback {
       type plug
       slave hdmi_convert48k
}

!default {
       type asym
       playback.pcm "hdmi_playback"
       capture.pcm "plughw:0,3"
}


AlternateSC = 2

Analog Multi-channel, Optical, Coax, and HDMI

</etc/pluto/alsa/virtual_cards.conf>

pcm.analog_6 {
       slave.pcm surround51
       slave.rate 48000
       slave.channels 6
       type route
       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.analog_8 {
       slave.pcm multi
       slave.rate 48000
       slave.channels 8
       type route
       ttable.0.0 1.0
       ttable.1.1 1.0
       ttable.2.2 1.0
       ttable.3.3 1.0
       ttable.4.4 1.0
       ttable.5.5 1.0
       ttable.0.6 1.0
       ttable.1.7 1.0
       ttable.2.6 0.7
       ttable.3.7 0.7
       ttable.4.6 0.7
       ttable.4.7 0.7
       ttable.5.6 0.5
       ttable.5.7 0.5
}

pcm_slave.analog_convert48k {
       pcm "analog_8:0,0"
       rate 48000
}

pcm.analog_playback {
       type plug
       slave analog_convert48k
}

!default {
       type asym
       playback.pcm "analog_playback:0,0"
       capture.pcm "plughw:0,0"
}