最終更新:2022-11-08 (火) 16:23:15 (527d)  

Linux/usr/share/alsa/alsa.conf
Top / Linux / usr / share / alsa / alsa.conf

Ubuntu/パッケージ

中身

  • #
    #  ALSA library configuration file
    #
    
    # pre-load the configuration files
    
    @hooks [
    	{
    		func load
    		files [
    			"/etc/alsa/conf.d"
    			"/etc/asound.conf"
    			"~/.asoundrc"
    		]
    		errors false
    	}
    ]
    
    # load card-specific configuration files (on request)
    
    cards.@hooks [
    	{
    		func load
    		files [
    			{
    				@func concat
    				strings [
    					{ @func datadir }
    					"/cards/aliases.conf"
    				]
    			}
    		]
    	}
    	{
    		func load_for_all_cards
    		files [
    			{
    				@func concat
    				strings [
    					{ @func datadir }
    					"/cards/"
    					{ @func private_string }
    					".conf"
    				]
    			}
    		]
    		errors false
    	}
    ]
    
    #
    # defaults
    #
    
    # show all name hints also for definitions without hint {} section
    defaults.namehint.showall on
    # show just basic name hints
    defaults.namehint.basic on
    # show extended name hints
    defaults.namehint.extended on
    #
    defaults.ctl.card 0
    defaults.pcm.card 0
    defaults.pcm.device 0
    defaults.pcm.subdevice -1
    defaults.pcm.nonblock 1
    defaults.pcm.compat 0
    defaults.pcm.minperiodtime 5000		# in us
    defaults.pcm.ipc_key 5678293
    defaults.pcm.ipc_gid audio
    defaults.pcm.ipc_perm 0660
    defaults.pcm.dmix.max_periods 0
    defaults.pcm.dmix.channels 2
    defaults.pcm.dmix.rate 48000
    defaults.pcm.dmix.format "unchanged"
    defaults.pcm.dmix.card defaults.pcm.card
    defaults.pcm.dmix.device defaults.pcm.device
    defaults.pcm.dsnoop.card defaults.pcm.card
    defaults.pcm.dsnoop.device defaults.pcm.device
    defaults.pcm.front.card defaults.pcm.card
    defaults.pcm.front.device defaults.pcm.device
    defaults.pcm.rear.card defaults.pcm.card
    defaults.pcm.rear.device defaults.pcm.device
    defaults.pcm.center_lfe.card defaults.pcm.card
    defaults.pcm.center_lfe.device defaults.pcm.device
    defaults.pcm.side.card defaults.pcm.card
    defaults.pcm.side.device defaults.pcm.device
    defaults.pcm.surround21.card defaults.pcm.card
    defaults.pcm.surround21.device defaults.pcm.device
    defaults.pcm.surround40.card defaults.pcm.card
    defaults.pcm.surround40.device defaults.pcm.device
    defaults.pcm.surround41.card defaults.pcm.card
    defaults.pcm.surround41.device defaults.pcm.device
    defaults.pcm.surround50.card defaults.pcm.card
    defaults.pcm.surround50.device defaults.pcm.device
    defaults.pcm.surround51.card defaults.pcm.card
    defaults.pcm.surround51.device defaults.pcm.device
    defaults.pcm.surround71.card defaults.pcm.card
    defaults.pcm.surround71.device defaults.pcm.device
    defaults.pcm.iec958.card defaults.pcm.card
    defaults.pcm.iec958.device defaults.pcm.device
    defaults.pcm.modem.card defaults.pcm.card
    defaults.pcm.modem.device defaults.pcm.device
    # truncate files via file or tee PCM
    defaults.pcm.file_format	"raw"
    defaults.pcm.file_truncate	true
    defaults.rawmidi.card 0
    defaults.rawmidi.device 0
    defaults.rawmidi.subdevice -1
    defaults.hwdep.card 0
    defaults.hwdep.device 0
    defaults.timer.class 2
    defaults.timer.sclass 0
    defaults.timer.card 0
    defaults.timer.device 0
    defaults.timer.subdevice 0
    
    #
    #  PCM interface
    #
    
    # redirect to load-on-demand extended pcm definitions
    pcm.cards cards.pcm
    
    pcm.default cards.pcm.default
    pcm.sysdefault cards.pcm.default
    pcm.front cards.pcm.front
    pcm.rear cards.pcm.rear
    pcm.center_lfe cards.pcm.center_lfe
    pcm.side cards.pcm.side
    pcm.surround21 cards.pcm.surround21
    pcm.surround40 cards.pcm.surround40
    pcm.surround41 cards.pcm.surround41
    pcm.surround50 cards.pcm.surround50
    pcm.surround51 cards.pcm.surround51
    pcm.surround71 cards.pcm.surround71
    pcm.iec958 cards.pcm.iec958
    pcm.spdif iec958
    pcm.hdmi cards.pcm.hdmi
    pcm.dmix cards.pcm.dmix
    pcm.dsnoop cards.pcm.dsnoop
    pcm.modem cards.pcm.modem
    pcm.phoneline cards.pcm.phoneline
    
    pcm.hw {
    	@args [ CARD DEV SUBDEV ]
    	@args.CARD {
    		type string
    		default {
    			@func getenv
    			vars [
    				ALSA_PCM_CARD
    				ALSA_CARD
    			]
    			default {
    				@func refer
    				name defaults.pcm.card
    			}
    		}
    	}
    	@args.DEV {
    		type integer
    		default {
    			@func igetenv
    			vars [
    				ALSA_PCM_DEVICE
    			]
    			default {
    				@func refer
    				name defaults.pcm.device
    			}
    		}
    	}
    	@args.SUBDEV {
    		type integer
    		default {
    			@func refer
    			name defaults.pcm.subdevice
    		}
    	}		
    	type hw
    	card $CARD
    	device $DEV
    	subdevice $SUBDEV
    	hint {
    		show {
    			@func refer
    			name defaults.namehint.extended
    		}
    		description "Direct hardware device without any conversions"
    	}
    }
    
    pcm.plughw {
    	@args [ CARD DEV SUBDEV ]
    	@args.CARD {
    		type string
    		default {
    			@func getenv
    			vars [
    				ALSA_PCM_CARD
    				ALSA_CARD
    			]
    			default {
    				@func refer
    				name defaults.pcm.card
    			}
    		}
    	}
    	@args.DEV {
    		type integer
    		default {
    			@func igetenv
    			vars [
    				ALSA_PCM_DEVICE
    			]
    			default {
    				@func refer
    				name defaults.pcm.device
    			}
    		}
    	}
    	@args.SUBDEV {
    		type integer
    		default {
    			@func refer
    			name defaults.pcm.subdevice
    		}
    	}		
    	type plug
    	slave.pcm {
    		type hw
    		card $CARD
    		device $DEV
    		subdevice $SUBDEV
    	}
    	hint {
    		show {
    			@func refer
    			name defaults.namehint.extended
    		}
    		description "Hardware device with all software conversions"
    	}
    }
    
    pcm.plug {
    	@args [ SLAVE ]
    	@args.SLAVE {
    		type string
    	}
    	type plug
    	slave.pcm $SLAVE
    }
    
    pcm.shm {
    	@args [ SOCKET PCM ]
    	@args.SOCKET {
    		type string
    	}
    	@args.PCM {
    		type string
    	}
    	type shm
    	server $SOCKET
    	pcm $PCM
    }
    
    pcm.tee {
    	@args [ SLAVE FILE FORMAT ]
    	@args.SLAVE {
    		type string
    	}
    	@args.FILE {
    		type string
    	}
    	@args.FORMAT {
    		type string
    		default {
    			@func refer
    			name defaults.pcm.file_format
    		}
    	}
    	type file
    	slave.pcm $SLAVE
    	file $FILE
    	format $FORMAT
    	truncate {
    		@func refer
    		name defaults.pcm.file_truncate
    	}
    }
    
    pcm.file {
    	@args [ FILE FORMAT ]
    	@args.FILE {
    		type string
    	}
    	@args.FORMAT {
    		type string
    		default {
    			@func refer
    			name defaults.pcm.file_format
    		}
    	}
    	type file
    	slave.pcm null
    	file $FILE
    	format $FORMAT
    	truncate {
    		@func refer
    		name defaults.pcm.file_truncate
    	}
    }
    
    pcm.null {
    	type null
    	hint {
    		show {
    			@func refer
    			name defaults.namehint.basic
    		}
    		description "Discard all samples (playback) or generate zero samples (capture)"
    	}
    }
    
    #
    #  Control interface
    #
    	
    ctl.sysdefault {
    	type hw
    	card {
    		@func getenv
    		vars [
    			ALSA_CTL_CARD
    			ALSA_CARD
    		]
    		default {
    			@func refer
    			name defaults.ctl.card
    		}
    	}
    	hint.description "Default control device"
    }
    ctl.default ctl.sysdefault
    
    ctl.hw {
    	@args [ CARD ]
    	@args.CARD {
    		type string
    		default {
    			@func getenv
    			vars [
    				ALSA_CTL_CARD
    				ALSA_CARD
    			]
    			default {
    				@func refer
    				name defaults.ctl.card
    			}
    		}
    	}
    	type hw
    	card $CARD
    	hint.description "Direct control device"
    }
    
    ctl.shm {
    	@args [ SOCKET CTL ]
    	@args.SOCKET {
    		type string
    	}
    	@args.CTL {
    		type string
    	}
    	type shm
    	server $SOCKET
    	ctl $CTL
    }
    
    #
    #  RawMidi interface
    #
    
    rawmidi.default {
    	type hw
    	card {
    		@func getenv
    		vars [
    			ALSA_RAWMIDI_CARD
    			ALSA_CARD
    		]
    		default {
    			@func refer
    			name defaults.rawmidi.card
    		}
    	}
    	device {
    		@func igetenv
    		vars [
    			ALSA_RAWMIDI_DEVICE
    		]
    		default {
    			@func refer
    			name defaults.rawmidi.device
    		}
    	}
    	hint.description "Default raw MIDI device"
    }
    
    rawmidi.hw {
    	@args [ CARD DEV SUBDEV ]
    	@args.CARD {
    		type string
    		default {
    			@func getenv
    			vars [
    				ALSA_RAWMIDI_CARD
    				ALSA_CARD
    			]
    			default {
    				@func refer
    				name defaults.rawmidi.card
    			}
    		}
    	}
    	@args.DEV {
    		type integer
    		default {
    			@func igetenv
    			vars [
    				ALSA_RAWMIDI_DEVICE
    			]
    			default {
    				@func refer
    				name defaults.rawmidi.device
    			}
    		}
    	}
    	@args.SUBDEV {
    		type integer
    		default -1
    	}
    	type hw
    	card $CARD
    	device $DEV
    	subdevice $SUBDEV
    	hint {
    		description "Direct rawmidi driver device"
    		device $DEV
    	}
    }
    
    rawmidi.virtual {
    	@args [ MERGE ]
    	@args.MERGE {
    		type string
    		default 1
    	}
    	type virtual
    	merge $MERGE
    }
    
    #
    #  Sequencer interface
    #
    
    seq.default {
    	type hw
    	hint.description "Default sequencer device"
    }
    
    seq.hw {
    	type hw
    }
    
    #
    #  HwDep interface
    #
    
    hwdep.default {
    	type hw
    	card {
    		@func getenv
    		vars [
    			ALSA_HWDEP_CARD
    			ALSA_CARD
    		]
    		default {
    			@func refer
    			name defaults.hwdep.card
    		}
    	}
    	device {
    		@func igetenv
    		vars [
    			ALSA_HWDEP_DEVICE
    		]
    		default {
    			@func refer
    			name defaults.hwdep.device
    		}
    	}
    	hint.description "Default hardware dependent device"
    }
    
    hwdep.hw {
    	@args [ CARD DEV ]
    	@args.CARD {
    		type string
    		default {
    			@func getenv
    			vars [
    				ALSA_HWDEP_CARD
    				ALSA_CARD
    			]
    			default {
    				@func refer
    				name defaults.hwdep.card
    			}
    		}
    	}
    	@args.DEV {
    		type integer
    		default {
    			@func igetenv
    			vars [
    				ALSA_HWDEP_DEVICE
    			]
    			default {
    				@func refer
    				name defaults.hwdep.device
    			}
    		}
    	}
    	type hw
    	card $CARD
    	device $DEV
    	hint {
    		description "Direct hardware dependent device"
    		device $DEV
    	}
    }
    
    #
    #  Timer interface
    #
    
    timer_query.default {
    	type hw
    }
    
    timer_query.hw {
    	type hw
    }
    
    timer.default {
    	type hw
    	class {
    		@func refer
    		name defaults.timer.class
    	}
    	sclass {
    		@func refer
    		name defaults.timer.sclass
    	}
    	card {
    		@func refer
    		name defaults.timer.card
    	}
    	device {
    		@func refer
    		name defaults.timer.device
    	}
    	subdevice {
    		@func refer
    		name defaults.timer.subdevice
    	}
    	hint.description "Default timer device"
    }
    
    timer.hw {
    	@args [ CLASS SCLASS CARD DEV SUBDEV ]
    	@args.CLASS {
    		type integer
    		default {
    			@func refer
    			name defaults.timer.class
    		}
    	}
    	@args.SCLASS {
    		type integer
    		default {
    			@func refer
    			name defaults.timer.sclass
    		}
    	}
    	@args.CARD {
    		type string
    		default {
    			@func refer
    			name defaults.timer.card
    		}
    	}
    	@args.DEV {
    		type integer
    		default {
    			@func refer
    			name defaults.timer.device
    		}
    	}
    	@args.SUBDEV {
    		type integer
    		default {
    			@func refer
    			name defaults.timer.subdevice
    		}
    	}
    	type hw
    	class $CLASS
    	sclass $SCLASS
    	card $CARD
    	device $DEV
    	subdevice $SUBDEV
    	hint {
    		description "Direct timer device"
    		device $DEV
    	}
    }