Created
July 19, 2015 09:44
Revisions
-
fd0 created this gist
Jul 19, 2015 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,246 @@ # ~/.asoundrc or /etc/asound.conf # ALSA configuration file ##### USAGE ##### # Save this file as "~/.asoundrc" (for user-specific sound configuration) or # "/etc/asound.conf" (for system-wide sound configuration) and specify ALSA # device names ad described in the next section. ##### DEVICE NAMES ##### # This configuration file defines four devices for use by the user. Those # devices are "analog", "mixed-analog", "digital", and "mixed-digital". The # user may also re-define "default" to be identical to one of the above-named # devices (i.e. to send all sound output to the digital output unless otherwise # specified). Use the device names as described below: # - "analog" outputs to the analog output directly and (at least on software # sound cards) blocks other audio output. After playback completes, "queued" # sounds are output in sequence. # - "mixed-analog" mixes audio output from multiple programs into the analog # output (so you can hear beeps, alerts, and other noises while playing back # an audio stream). # - "digital" outputs to the digital output directly. Since most (all?) # digital outputs expect 48kHz PCM audio, this may not work for some playback # (i.e. CD's--which are 44.1kHz PCM audio--or 32kHz audio streams from TV # recordings, etc.). # - "mixed-digital" # All other devices created within this file are used only by the configuration # file itself and should /not/ be used directly. In other words, do not use # the devices "analog-hw", "dmix-analog", "digital-hw", or "dmix-digital". ##### IMPORTANT ##### # To make this ALSA configuration file work with your sound card, you will need # to define the appropriate card and device information for the "analog-hw" and # "digital-hw" devices below. You can find the card and device information # using "aplay -l". # Alias for (converted) analog output on the card # - This is identical to the device named "default"--which always exists and # refers to hw:0,0 (unless overridden) # - Therefore, we can specify "hw:0,0", "default", or "analog" to access analog # output on the card # - Note that as of ALSA 1.0.9, "software" sound card definitions redefine # "default" to do mixing, meaning this device is different from "default" and # allows playback while blocking other sound sources (until playback # completes). pcm.analog { type plug slave.pcm "analog-hw" hint { show on description "Analog Output - Use analog outputs, converting samples, format, and rate as necessary." } } # Control device (mixer, etc.) for the card ctl.analog { type hw card 0 } # Alias for (converted) mixed analog output on the card # - This will accept audio input--regardless of rate--and convert to the rate # required for the dmix plugin (in this case 48000Hz) # - Note that as of ALSA 1.0.9, "software" sound card definitions redefine # "default" to do mixing, meaning this device is identical to "default" for # "software" sound cards. pcm.mixed-analog { type plug slave.pcm "dmix-analog" hint { show on description "Mixed Analog Output - Use analog outputs, converting samples, format, and rate as necessary. Allows mixing with system sounds." } } # Control device (mixer, etc.) for the card ctl.mixed-analog { type hw card 0 } # Alias for (converted) digital (HDMI) output on the card pcm.digital { type plug slave.pcm "digital-hw" hint { show on description "Digital Output - Use digital outputs, converting samples, format, and rate as necessary." } } # Control device (mixer, etc.) for the card ctl.digital { type hw card 0 } # Alias for mixed (converted) digital (HDMI) output on the card pcm.mixed-digital { type plug slave.pcm "dmix-digital" hint { show on description "Mixed Digital Output - Use digital outputs, converting samples, format, and rate as necessary. Allows mixing with system sounds." } } # Control device (mixer, etc.) for the card ctl.mixed-digital { type hw card 0 } # The following devices are not useful by themselves. They require specific # rates, channels, and formats. Therefore, you probably do not want to use # them directly. Instead use of of the devices defined above. # Alias for analog output on the card # Do not use this directly--it requires specific rate, channels, and format pcm.analog-hw { type hw card 0 device 0 } # Control device (mixer, etc.) for the card ctl.analog-hw { type hw card 0 } # Alias for digital (HDMI) output on the card # Do not use this directly--it requires specific rate, channels, and format pcm.digital-hw { type hw card 0 device 1 } # Control device (mixer, etc.) for the card ctl.digital-hw { type hw card 0 } # Direct software mixing plugin for analog output on the card # Do not use this directly--it requires specific rate, channels, and format pcm.dmix-analog { type dmix ipc_key 1234 slave { pcm "analog-hw" period_time 0 period_size 1024 buffer_size 4096 rate 48000 } } # Control device (mixer, etc.) for the card ctl.dmix-analog { type hw card 0 } # Direct software mixing plugin for digital (S/PDIF) output on the card # Do not use this directly--it requires specific rate, channels, and format pcm.dmix-digital { type dmix ipc_key 1235 slave { pcm "digital-hw" period_time 0 period_size 1024 buffer_size 4096 rate 48000 } } # Control device (mixer, etc.) for the card ctl.dmix-digital { type hw card 0 } # Make joint analog/HDMI the default pcm.!default { type plug slave { pcm multi rate 48000 } ttable.0.0 1.0 ttable.1.1 1.0 ttable.0.2 1.0 ttable.1.3 1.0 } # Control device (mixer, etc.) for the card ctl.!default { type hw card 0 } pcm.xbmc { type plug slave { pcm multi rate 48000 channels 4 } ttable.0.0 1.0 ttable.1.1 1.0 ttable.0.2 1.0 ttable.1.3 1.0 } ctl.xbmc { type hw card 0 } pcm.multi { type multi slaves.a.pcm "analog-hw" slaves.a.channels 2 slaves.b.pcm "digital-hw" slaves.b.channels 2 bindings.0.slave a bindings.0.channel 0 bindings.1.slave a bindings.1.channel 1 bindings.2.slave b bindings.2.channel 0 bindings.3.slave b bindings.3.channel 1 } ctl.multi { type hw card 0 }