Perfil do cartão Pulseaudio para Focusrite Scarlett 18i8

10

Esta é minha primeira pergunta aqui e não tenho certeza de quais dados incluir para esta pergunta. Por favor, pergunte-me se você precisar que eu forneça mais informações.

Recentemente, recebi a Focusrite Scarlett 18i8 Audiointerface. Até agora, está funcionando muito bem na minha DAW (usando ALSA e atribuição manual de canais), mas há uma coisa irritante: o Pulseaudio está reconhecendo o dispositivo como saída 7.1, mas o 18i8 tem 4 saídas estéreo! Portanto, o VLC (e outros aplicativos) está reproduzindo filmes no modo 7.1 e não estéreo como deveria.

Pesquisei um pouco e vi algumas coisas sobre os perfis de cartão do Pulseaudio e os comandos pactl e pacmd. Por isso tentei:

pactl set-card-profile 3 output:analog-stereo

mas retorna (traduzido por mim):

Failure: no such entity

Um olhar sobre

pacmd list-cards 

diz o porquê:

4 card(s) available.

...

index: 3
name: <alsa_card.usb-Focusrite_Scarlett_18i8_USB_1000657A-00-USB>
driver: <module-alsa-card.c>
owner module: 8
properties:
    alsa.card = "3"
    alsa.card_name = "Scarlett 18i8 USB"
    alsa.long_card_name = "Focusrite Scarlett 18i8 USB at usb-0000:00:1d.0-1.2, high speed"
    alsa.driver_name = "snd_usb_audio"
    device.bus_path = "pci-0000:00:1d.0-usb-0:1.2:1.0"
    sysfs.path = "/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/sound/card3"
    udev.id = "usb-Focusrite_Scarlett_18i8_USB_1000657A-00-USB"
    device.bus = "usb"
    device.vendor.id = "1235"
    device.vendor.name = "Novation EMS"
    device.product.id = "8014"
    device.product.name = "Scarlett 18i8 USB"
    device.serial = "Focusrite_Scarlett_18i8_USB_1000657A"
    device.string = "3"
    device.description = "Scarlett 18i8 USB"
    module-udev-detect.discovered = "1"
    device.icon_name = "audio-card-usb"
profiles:
    output:analog-surround-71: Analog Surround 7.1 Ausgang (priority 700, available: unknown)
    off: Aus (priority 0, available: unknown)
active profile: <output:analog-surround-71>
sinks:
    alsa_output.usb-Focusrite_Scarlett_18i8_USB_1000657A-00-USB.analog-surround-71/#2: Scarlett 18i8 USB Analog Surround 7.1
sources:
    alsa_output.usb-Focusrite_Scarlett_18i8_USB_1000657A-00-USB.analog-surround-71.monitor/#4: Monitor of Scarlett 18i8 USB Analog Surround 7.1
ports:
    analog-output: Analoge Ausgabe (priority 9900, latency offset 0 usec, available: unknown)
        properties:

O único perfil disponível para este dispositivo é o analog-surround-71, mas o aplay lista todos os tipos de modos:

user@userbuntu:~$ aplay -L

...

sysdefault:CARD=USB
    Scarlett 18i8 USB, USB Audio
    Default Audio Device
front:CARD=USB,DEV=0
    Scarlett 18i8 USB, USB Audio
    Front speakers
surround40:CARD=USB,DEV=0
    Scarlett 18i8 USB, USB Audio
    4.0 Surround output to Front and Rear speakers
surround41:CARD=USB,DEV=0
    Scarlett 18i8 USB, USB Audio
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=USB,DEV=0
    Scarlett 18i8 USB, USB Audio
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=USB,DEV=0
    Scarlett 18i8 USB, USB Audio
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=USB,DEV=0
    Scarlett 18i8 USB, USB Audio
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=USB,DEV=0
    Scarlett 18i8 USB, USB Audio
    IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=USB,DEV=0
    Scarlett 18i8 USB, USB Audio
    Direct sample mixing device
dsnoop:CARD=USB,DEV=0
    Scarlett 18i8 USB, USB Audio
    Direct sample snooping device
hw:CARD=USB,DEV=0
    Scarlett 18i8 USB, USB Audio
    Direct hardware device without any conversions
plughw:CARD=USB,DEV=0
    Scarlett 18i8 USB, USB Audio
    Hardware device with all software conversions

Então aqui está a minha pergunta:

É possível adicionar manualmente um perfil Pulseaudio ou preciso alterar algo mais profundo no ALSA? Se sim, alguém poderia me dizer como?

Desde já, obrigado!

lucaelin
fonte
Você conseguiu uma solução, encontrei este post nos fóruns do ArchLinux que parecem seus?
user.dz
1
acredite ou não, isso não é meu! : O DI nunca conseguiu uma solução, mas uma solução alternativa ao usar jack2 com o pulseaudio jack-sink ... Vou dar uma olhada no wiki vinculado assim que tiver tempo novamente.
Lucaelin 21/01
É bom que você obtenha uma solução alternativa. Você pode publicá-la como resposta com algumas instruções. Isso será muito útil para novos usuários, tentando descobrir isso. (Eu só postar minhas descobertas como resposta, para que eles possam ler sobre o estado actual)
user.dz

Respostas:

2

Sim, você pode criar um perfil pulseaudio para que o Focusrite 18i8 funcione em estéreo.

Crie o arquivo /lib/udev/rules.d/91-pulseaudio.rules:

SUBSYSTEM!="sound", GOTO="pulseaudio1_end"
ACTION!="change", GOTO="pulseaudio1_end"
KERNEL!="card*", GOTO="pulseaudio1_end"

SUBSYSTEMS=="usb", ATTRS{idVendor}=="1235", ATTRS{idProduct}=="8014", ENV{PULSE_PROFILE_SET}="focusrite-18i8.conf"

LABEL="pulseaudio1_end"

E crie o arquivo /usr/share/pulseaudio/alsa-mixer/profile-sets/focusrite-18i8.conf:

[General]
auto-profiles = no

[Mapping analog-out]
description = Analog Outputs
device-strings = hw:%f
channel-map = left,right,aux0,aux1,aux2,aux3,aux4,aux5
direction = output

[Mapping analog-in]
description = Analog Inputs
device-strings = hw:%f
channel-map = left,right,aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7,aux8,aux9,aux10,aux11,aux12,aux13,aux14,aux15
direction = input

[Profile output:analog-out+input:analog-in]
description = Analog Stereo
output-mappings = analog-out
input-mappings = analog-in

Em seguida, reinicie a máquina ou execute os comandos:

sudo udevadm trigger -ssound

pulseaudio -k

Em resposta ao @Sneetsher: O Focusrite Scarlett 18i8 agora parece funcionar bem com o Linux 3.19 e mais recente. O mixer interno pode ser configurado com alsamixere as configurações podem ser salvas usando sudo alsactl store. Também é possível alterar outras configurações (como a impedância das entradas entre o instrumento (Hi-Z) e o nível da linha, ou alternar o painel de entradas entre 0 e -10dB) usando o alsamixer.

ruína
fonte
Muito obrigado! É exatamente isso que eu estava procurando!
Lucaelin # 22/16
0

Pelo que pude coletar, o mixer interno Focusrite Scarlett 18i8 ainda não está funcionando com Linux / ALSA. Funciona apenas como dispositivo de entrada / saída de áudio direto.

  • O fabricante não suporta Linux

    Produtos Linux e Focusrite / Novation

    Vários usuários pediram ajuda para usar o Saffire 6 USB no Linux. Antes de chegarmos a isso, pensei que seria útil esclarecer o status de nossas interfaces no Linux, depois publicarei algumas informações que serão úteis para os corajosos desenvolvedores de drivers que desejam atacar os dispositivos que não funcionam.

    Observe que isso está na parte de trás da minha cabeça, portanto pode ser impreciso - vou me esforçar para corrigi-lo e atualizá-lo da melhor maneira possível.

    Por fim, entenda que o Focusrite não suporta oficialmente o Linux. Embora algumas pessoas estejam obtendo resultados positivos nos comentários e alguns de nossos produtos sejam conhecidos por funcionar, sua milhagem pode variar. Boa sorte!

    Você pode ler no comentário sobre algumas iniciativas de desenvolvimento. Enquanto eu verifico dois repositórios do github, eles parecem projetos mortos.

    https://github.com/smilingthax/alsa-driver_scarlett
    https://github.com/trrichard/ScarlettMixer

    A primeira possui uma solicitação pull não mesclada de um patch do kernel v3.8.0 do Linux para o mixer s18i8.

  • Aqui está outro tópico da lista de discussão da ALSA: [PATCH] ALSA: usb-audio: Adicione uma peculiaridade ao Focusrite Scarlett 18i8

    Re-testando isso, vejo que você está certo. O mixer ainda não funciona, mas pelo menos é utilizável para reprodução / gravação / midi. Ignore esse patch então.

    Obrigado, --chris j arges

user.dz
fonte