Envie saída de som para aplicação e alto-falante

1

Estou usando minha música toplay do Ubuntu 14.04 LTS em uma festa. Estou usando o Mixxx e funciona muito bem para essa tarefa. Agora eu gostaria de adicionar alguns efeitos de luz e planejar usar o Qlcplus para isso. Então eu preciso enviar o som do Mixxx para a placa de som e o Qlcplus.

Consegui configurar o Mixxx para enviar o som para o loopback do ALSA e recuperá-lo de lá no Qlcplus. Mas então eu não tenho saída de som. Como posso rotear o som do loopback do ALSA para os alto-falantes?

    
por markus_b 23.12.2014 / 17:58

1 resposta

0

Depois de muita pesquisa, encontrei a resposta para minha pergunta. Você precisa configurar adequadamente o ALSA e fornecerá um novo dispositivo que duplica o som enviado para ele a dois ou mais dispositivos, como placas de som e o dispositivo de loopback.

Aqui, o arquivo .asoundrc que eu uso:

# If you want this to be the default, then you
# need to override the default device and provide
# a playback path to the CardAndLoop and a capture
# path to whatever soundcard you have (here the 1st card)
#pcm.!default {
#  type asym
#  playback.pcm "CardAndLoop"
#  capture.pcm "hw:0,0"
#}

# This is the interface you use for sound output
# It will send the output to the soundcard and loopback device
pcm.CardAndLoop {
  type plug
  slave.pcm MultiCh
  route_policy "duplicate"
}

# Virtual multichannel device with four channels
# two the for the soundcard, two for the loopback
pcm.MultiCh {
  type multi
  slaves.a.pcm pcm.MixCard
  slaves.a.channels 2
  slaves.b.pcm pcm.MixLoopback
  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
}

# Mixer for the soundcard
pcm.MixCard {
  type dmix
  ipc_key 1024
  slave {
#    pcm "hw:Conectiv,0"
    pcm "hw:PCH,0"
#    rate 48000
    rate 44100
    periods 128
    period_time 0
    period_size 1024 # must be power of 2
    buffer_size 8192
  }
}

# Mixer for the loopback
pcm.MixLoopback {
  type dmix
  ipc_key 1025
  slave {
    pcm "hw:Loopback,0"
#    rate 48000
    rate 44100
    periods 128
    period_time 0
    period_size 1024 # must be power of 2
    buffer_size 8192
  }
}

Este arquivo fornecerá um novo dispositivo de som da ALSA, o 'CardAndLoop'. Se escolher este dispositivo na sua aplicação de som, o som será enviado para a placa de som 'PCH' e o dispositivo de loopback. Você pode iniciar uma segunda aplicação e usar o dispositivo de loopback como entrada e obter o som reproduzido pela primeira aplicação.

Eu usei nomes para denominar os dispositivos de som. Esses nomes podem ser obtidos no arquivo / proc / asound / cards:

$ cat /proc/asound/cards
0 [PCH            ]: HDA-Intel - HDA Intel PCH
                     HDA Intel PCH at 0xf5330000 irq 44
2 [Loopback       ]: Loopback - Loopback
                     Loopback 1

Divirta-se!

    
por 29.12.2014 / 12:18

Tags