ALSA pulando inicialmente durante a reprodução

2

Eu tenho uma configuração do ALSA que fornece o seguinte no momento:

  • Capture o áudio padrão e torne-o mono
  • Passar por alsaequal
  • Expanda o áudio para 4 canais, todos mono
  • Divide 4 canais entre 2 placas de som estéreo

Para fazer com que o alsaequal seja legal com a configuração 'type: multi', tive que passar por uma configuração com o tipo 'asym', como recomendado por alguém, caso contrário, receberia um erro.

O tipo de configuração funciona, mas eu estou achando que na maior parte do tempo, o áudio fica nervoso no início das faixas de música antes de tocar normalmente. Há muita coisa acontecendo nessa configuração e eu não estou 100%, entendi direito. Eu fiz algo errado?

pcm.office-front {
    type hw
    card 0
    device 0
}
ctl.office-front {
    type hw
    card 0
}

pcm.office-back {
    type hw
    card 1
    device 0
}
ctl.office-back {
    type hw
    card 1
}

pcm.multi {
    type multi
    slaves.a.pcm "office-front"
    slaves.a.channels 2
    slaves.b.pcm "office-back"
    slaves.b.channels 2

    # office-front
    bindings.0.slave a
    bindings.0.channel 0    # bind alsa channel 0 to left
    bindings.1.slave a
    bindings.1.channel 1    # bind alsa channel 1 to left

    # office-back
    bindings.2.slave b
    bindings.2.channel 0    # bind alsa channel 2 to left
    bindings.3.slave b
    bindings.3.channel 1    # bind alsa channel 3 to left
}

pcm.duplex {
  type asym
  playback.pcm 20to40
  capture.pcm "hw:0,0"

}

pcm.20to40 {
  type route
  slave.channels 4;
  slave.pcm multi;
  ttable.0.0 1
  ttable.0.1 1
  ttable.0.2 1
  ttable.0.3 1
}

ctl.equal {
  type equal;
  controls "/home/pi/.alsaequal.bin"
}

pcm.plugequal {
  type equal;
  slave.pcm "plug:duplex";
  controls "/home/pi/.alsaequal.bin"
}

pcm.equal {
  type plug;
  slave.pcm plugequal;
}

pcm.!default {
  type route;
  slave.channels 2
  slave.pcm equal;
  ttable.1.0 1
  ttable.0.0 0.5
  ttable.0.1 0.5
}
    
por MrNorm 07.03.2016 / 09:21

0 respostas