LINUX.ORG.RU

ALSA HDMI sound

 , , ,


1

1

по HDMI подключен телек, звука нет

Nova ~ # aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
default:CARD=PCH
    HDA Intel PCH, ALC1220 Analog
    Default Audio Device
sysdefault:CARD=PCH
    HDA Intel PCH, ALC1220 Analog
    Default Audio Device
front:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1220 Analog
    Front speakers
surround21:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1220 Analog
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1220 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1220 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1220 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1220 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1220 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1220 Digital
    IEC958 (S/PDIF) Digital Audio Output
usbstream:CARD=PCH
    HDA Intel PCH
    USB Stream Output
hdmi:CARD=NVidia,DEV=0
    HDA NVidia, HDMI 0
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=1
    HDA NVidia, HDMI 1
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=2
    HDA NVidia, HDMI 2
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 3
    HDMI Audio Output
usbstream:CARD=NVidia
    HDA NVidia
    USB Stream Output

если указать mplayer-у карту, то звук прогирывается

mplayer -ao alsa:device=hw=1.3 -playlist ~/.bac/muslst -shuffle
Как правильно прописать ~/.asoundrc?

★★★★

Мой конфиг /etc/asound.conf, возможно есть что-то лишнее, но все работает.



pcm.!default {
	type hw
	card 1
}

pcm.!default {
	type plug
	slave.pcm "dmixer"
}

ctl.!default {
	type hw
#	#card 0
	card 2
}

pcm.dmixer  {
 	type dmix
 	ipc_key 1024
 	slave {
		pcm "hw:0,3"
		#pcm "hw:2,7"
		#pcm "hw:1,0"
		#pcm "hw:0,3"
		period_time 0
		period_size 1024
		buffer_size 4096
		rate 44100
	}
	bindings {
		0 0
		1 1
	}
}

ctl.dmixer {
	type hw
	card 0
}

ymuv ★★★★
()
Последнее исправление: ymuv (всего исправлений: 1)
Ответ на: комментарий от ymuv

нихера понятнее не стало )

deity ★★★★
() автор топика

вопроса не увидел, но сделать звук по hdmi по дефолту?
/etc/asound.conf
defaults.pcm.card 1
defaults.pcm.device 3
defaults.ctl.card 1

bass ★★★★★
()
Ответ на: комментарий от bass

нужно чтобы и на компе и на телеке звук один и тотже был


defaults.pcm.card 0
defaults.pcm.device 1
defaults.ctl.card 0


и там дописть чтоб на hdmi перебрасывалось

deity ★★★★
() автор топика
Последнее исправление: deity (всего исправлений: 2)

Как правильно прописать ~/.asoundrc?

Вот так:

pcm.!default {
  type pulse
  fallback "sysdefault"
}

ctl.!default {
  type pulse
  fallback "sysdefault"
}
intelfx ★★★★★
()
Ответ на: комментарий от intelfx

без пульсы

pcm.multi {
   type multi
   slaves.a.pcm "dmix:0,1" 
   slaves.a.channels 2
   slaves.b.pcm "dmix:1,3" 
   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
}

pcm.allcard {
        type route
        slave.pcm "multi"
        slave.channels 4
        ttable.0.0 1
        ttable.1.1 1
        ttable.0.2 1
        ttable.1.3 1
}

pcm.!default {
    type plug
    slave.pcm "allcard"            
}



нашел похожую тему вроде пашет, только конфиг еще стал для меня темнее

deity ★★★★
() автор топика
Ответ на: комментарий от deity

третий конф который тоже работает, только нет регулировки громкости


pcm.snd_card { # my usual sound card
    type hw
    card 0
}

ctl.!default { # default control; alsamixer and such will use this
    type hw
    card 0
}

# software mixer for sound card
pcm.dmixer {
    type dmix
    ipc_key 1024
    ipc_perm 0666 # allow other users
    slave.pcm "snd_card"
    slave {
        period_time 0
        period_size 1024
        buffer_size 4096
        channels 2 # must match bindings
    }
    bindings {
        0 0
        1 1
    }
}

# software mixer for loopback device
pcm.dmixerloop {
    type dmix
    ipc_key 2048
    ipc_perm 0666 # allow other users
    slave.pcm "hw:1,3"
    slave {
        period_time 0
        period_size 1024
        buffer_size 4096
        channels 2 # must match bindings
    }
    bindings {
        0 0
        1 1
    }
}

# allows multiple programs to capture simultaneously
pcm.dsnooper {
    type dsnoop
    ipc_key 2048
    ipc_perm 0666 
    slave.pcm "snd_card"
    slave 
    {
        period_time 0
        period_size 1024
        buffer_size 4096
        channels 2 
    }
    bindings {
        0 0
        1 1
    }
}

pcm.!default {
    type asym
    playback.pcm "out"
    capture.pcm "dsnooper"
}

# Multi, splitting onto usual card and loopback
pcm.out {
    type plug
    slave.pcm {
        type multi
        slaves {
            a { channels 2 pcm "dmixer" }
            b { channels 2 pcm "dmixerloop" }
        }
        bindings {
            0 { slave a channel 0 }
            1 { slave a channel 1 }
            2 { slave b channel 0 }
            3 { slave b channel 1 }
        }
    }
    ttable [
        [ 1 0 1 0 ]   # left  -> a.left,  b.left
        [ 0 1 0 1 ]   # right -> a.right, b.right
    ]
}
deity ★★★★
() автор топика
Ответ на: комментарий от deity

Для тех кого заинтересует, перекинуть проблем нет, очень даже просто:

1. прописывается

pcm.!default {
    type plug
        slave {
            pcm INTERFACE_NAME
                rate 48000
        }
    ttable.0.0 1.0
        ttable.1.1 1.0
        ttable.0.2 1.0
        ttable.1.3 1.0
}
2. создается bind INTERFACE_NAME:
pcm.INTERFACE_NAME {
    type multi
        slaves.a.pcm "snd_1"# карта от куда можно прямо тут прописать
        slaves.a.channels 2
        slaves.b.pcm "snd_2"# карта куда или создать -- см ниже
        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
}

3. создаются девайсы:

pcm.snd_1{
    type hw
        card 0
        device 1
}
pcm.snd_2 {
    type hw
        card 1
        device 3
}
а вот с ctl.device_name хз че делать — не реагируют на алсамиксер/kmix — и если записать с заведомой ошибкой, то можно будет управлять звуком в «потоке». Если кто вкурсе как это победить сообщите.

deity ★★★★
() автор топика
Последнее исправление: deity (всего исправлений: 1)
1 июня 2020 г.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.