Advanced Linux Sound Architecture (Português)/Configuration examples (Português) - ArchWiki

# Advanced Linux Sound Architecture (Português)/Configuration examples (Português)

From ArchWiki
< Advanced Linux Sound Architecture (Português)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Status de tradução: Esse artigo é uma tradução de Advanced Linux Sound Architecture/Configuration examples. Data da última tradução: 2020-06-30. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

Este artigo deve servir como um guia para configurações mais avançadas do ALSA. A configuração fica armazenada em `/etc/asound.conf` como mencionado no artigo principal. Nenhuma das configurações abaixo tem a garantia de funcionar.

Nota: A maioria das coisas discutidas aqui são muito mais fácil de se fazer usando plugins do alsa como upmix, que são explicadas no artigo principal.

## Upmixagem de fontes stereo para 7.1 usando dmix enquanto fontes saturadas não ficam upmixadas

    # 2008-11-15
    #
    # Esse .asoundrc vai permitir o seguinte:
    #
    # - upmix com arquivos stereo para alto-falantes 7.1.
    # - reproduzir sons em 7.1 real, em alto-falantes 7.1,
    # - permitir a reprodução de ambas fontes stereo(upmixado) e surround(7.1) ao mesmo tempo
    # - usar o 6º e 7º canal (alto-falantes laterais) como uma placa de som separada, i,e, para fones de ouvido
    #   (Isso é chamado de saída "alternativa" ao longo deste arquivo, nomes de dispositivos prefixados com 'a')
    # - reproduz fontes mono em stereo (como skype & ekiga) na saída alternativa
    #
    # Certifique-se de ter "8 Channels" e NÃO "6 Channels" selecionado no alsamixer!
    #
    # Por favor tente os seguintes comandos, para se certificar que tudo está funcionado como deveria.
    #
    # Testar upmix stereo:       speaker-test -c2 -Ddefault -twav
    # Testar surround(5.1):      speaker-test -c6 -Dplug:dmix6 -twav
    # Testar surround(7.1):      speaker-test -c6 -Dplug:dmix8 -twav
    # Testar saída alternativa:  speaker-test -c2 -Daduplex -twav
    # Testar upmix mono:         speaker-test -c1 -Dmonoduplex -twav
    #
    #
    # Ele pode não funcionar sem uma configuração manual para todas as placas. Se não funcionar para você, leia
    # os comentários ao longo deste arquivo.
    # A base deste arquivo foi escrito por wishie de #alsa e, então, modificado com as informações de várias fontes
    # por squisher. Svenstaro modificou-o para suporte a saída 7.1.

    # Defina a placa de som para usar
    pcm.snd_card {
        type hw
        card 0
        device 0
    }

    # dmix de 8 canal - saída de qualquer áudio, para todos os 8 alto-faltantes
    pcm.dmix8 {
        type dmix
        ipc_key 1024
        ipc_key_add_uid false
        ipc_perm 0660
        slave {
            pcm "snd_card"
            rate 48000
            channels 8
            period_time 0
            period_size 1024
            buffer_time 0
            buffer_size 5120
        }

    # Algumas placas, como as variantes "nforce" exigem que o seguinte seja descomentado.
    # Ele roteia o áudio para os alto-falantes corretos.
    #    bindings {
    #        0 0
    #        1 1
    #        2 4
    #        3 5
    #        4 2
    #        5 3
    #        6 6
    #        7 7
    #    }
    }

    # upmixing - duplica dados stereo para todos os 8 canais
    pcm.ch71dup {
        type route
        slave.pcm dmix8
        slave.channels 8
        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
        ttable.0.6 1
        ttable.1.7 1
    }

    # isso cria uma placa de som de seis canais
    # e emite para o oitavo canal
    # i.e. para uso de mplayer, tive que definir em ~/.mplayer/config:
    #   ao=alsa:device=dmix6
    #   channels=6
    pcm.dmix6 {
        type route
        slave.pcm dmix8
        slave.channels 8
        ttable.0.0 1
        ttable.1.1 1
        ttable.2.2 1
        ttable.3.3 1
        ttable.4.4 1
        ttable.5.5 1
        ttable.6.6 1
        ttable.7.7 1
    }

    # compartilha o microfone, i.e. porque virtualbox pega-o por padrão
    pcm.microphone {
        type dsnoop
        ipc_key 1027
        slave {
            pcm "snd_card"
        }
    }

    # taxa de conversão, necessário para i.e. wine
    pcm.2chplug {
        type plug
        slave.pcm "ch71dup"
    }
    pcm.a2chplug {
        type plug
        slave.pcm "dmix8"
    }

    # roteia o canal para a alternativa
    # saída de 2 canais que se torna o 7º e 8º canal
    # na placa de som real
    #pcm.alt2ch {
    #    type route
    #    slave.pcm "a2chplug"
    #    slave.channels 8
    #    ttable.0.6    1
    #    ttable.1.7    1
    #}

    # skype e ekiga são apenas mono, então roteia canal esquerdo para o canal direito
    # nota: isso roteia 2 canais para a alternativa
    pcm.mono_playback {
        type route
        slave.pcm "a2chplug"
        slave.channels 8
        # Envia canal 0 do Skype para os alto-falantes L e R no volume máximo
        #ttable.0.6    1
        #ttable.0.7    1
    }

    # dispositivo "full-duplex" para uso com aoss
    pcm.duplex {
        type asym
        playback.pcm "2chplug"
        capture.pcm "microphone"
    }

    #pcm.aduplex {
    #    type asym
    #    playback.pcm "alt2ch"
    #    capture.pcm "microphone"
    #}

    pcm.monoduplex {
        type asym
        playback.pcm "mono_playback"
        capture.pcm "microphone"
    }

    # para aoss
    pcm.dsp0 "duplex"
    ctl.mixer0 "duplex"

    # softvol gerencia volume no alsa
    # i.e. wine gosta disso
    pcm.mainvol {
        type softvol
        slave.pcm "duplex"
        control {
            name "2ch-Upmix Master"
            card 0
        }
    }

    #pcm.!default "mainvol"

    # define o dispositivo padrão de acordo com o ambiente
    # variável ALSA_DEFAULT_PCM e padrão para mainvol
    pcm.!default {
        @func refer
        name { @func concat
               strings [ "pcm."
                         { @func getenv
                           vars [ ALSA_DEFAULT_PCM ]
                           default "mainvol"
                         }
               ]
             }
    }

    # descomente o seguinte se você deseja ser capaz de controlar
    # o dispositivo mixador também por meio de variáveis de ambiente
    #ctl.!default {
    #    @func refer
    #    name { @func concat
    #           strings [ "ctl."
    #                     { @func getenv
    #                       vars [ ALSA_DEFAULT_CTL
    #                              ALSA_DEFAULT_PCM
    #                       ]
    #                       default "duplex"
    #                     }
    #           ]
    #         }
    #}

## Surround51 incl. stereo de upmix & dmix, troca L/R, alto-falante em posição ruim na sala

Prática ruim, mas funciona bem para a quase tudo sem personalização adicional per-programa/arquivo:

    pcm.!default {
        type route
    ## encaminha para mixer pcm definido abaixo
        slave.pcm dmix51
        slave.channels 6

    ## "Canais Nativos" stereo, troca esquerda/direita
        ttable.0.1 1
        ttable.1.0 1
    ## esquerda/direita original comentada
    #    ttable.0.0 1
    #    ttable.1.1 1

    ## rota "surround nativo" de forma que ele ainda funcione, mas com sinal
    ## mais fraco (+ troca RL/RF), porque meus alto-falantes traseiros são
    ## mais aleatórios do que realmente atrás de mim
        ttable.2.3 0.7
        ttable.3.2 0.7
        ttable.4.4 0.7
        ttable.5.5 0.7

    ## stereo => "upmix" de quatro alto-falantes para alto-falantes "traseiros" + troca L/R
        ttable.0.3 1
        ttable.1.2 1

    ## stereo L+R => junta ao Centro & Subwoofer 50%/50%
        ttable.0.4 0.5
        ttable.1.4 0.5
        ttable.0.5 0.5
        ttable.1.5 0.5
    ## para testar: "$ speaker-test -c6 -twav" e: "$ speaker-test -c2 -twav"
    }

    pcm.dmix51 {
    	type dmix
    	ipc_key 1024
    # deixe múltiplos usuários compartilhar
    	ipc_key_add_uid false
    # permissões IPC (octal, padrão 0600)
    # acho que alterar isso corrigiu algo - mas não tenho certeza do quê.
    	ipc_perm 0660 #
    	slave {
    ## isso é específico para meu hda_intel. Geralmente hd:0 já está bom; Para localizar: $ aplay -L
    		pcm surround51
    # essa taxa faz minha placa de som crepitar
    #		rate 44100
    # essa taxa evita flash o firefox de reproduzir som, mas eu não preciso disso
           rate 48000
           channels 6
    ## Quaisquer outros valores nas 4 linhas abaixo parecem fazer minha placa de som crepitar também
           period_time 0
           period_size 1024
           buffer_time 0
           buffer_size 4096
    	}
    }

Category:

- Sound (Português)