Grave áudio do dispositivo padrão no Linux (Raspbian) com um registro

Grave áudio do dispositivo padrão no Linux (Raspbian) com um registro

Posso gravar áudio com o seguinte comando:

arecord -D plughw:0 --duration=10 -f cd -vv rec7.wav

E ~/.asoundrctem isso:

pcm.!default {
        type hw
        card 0
}

ctl.!default {
        type hw
        card 1
}

Além disso, posso reproduzir o arquivo gravado com a extensão aplay rec7.wav.

A questão é que deixei explícito qual dispositivo usar durante a gravação. Enquanto para jogar funciona bem sem essa necessidade. Por que?

Eu gostaria de gravar assim arecord --duration=10 -f cd -vv rec7.wav. Mas não consigo encontrar uma maneira de tornar plughw:0o dispositivo padrão.

Estou tentando isso no Raspbian. E estou usando ummicrofone USB externo.

Responder1

Você provavelmente está tendo problemas ao usar diferentes dispositivos de hardware para captura e reprodução. No arquivo de configuração, pcmas seções especificam o dispositivo PCM (reprodução e gravação) e ctlas seções são para definir parâmetros (dispositivo de controle). Como a placa de áudio Raspberry Pi não suporta captura, o pcmdispositivo padrão definido em seu arquivo de configuração retornará arecordcom um erro. Para contornar isso, podemos definir diferentes dispositivos padrão no arquivo de configuração. Uma maneira de usar diferentes dispositivos de hardware para reprodução e captura é usar o asymplugin.

Aqui está um .asoundrcque deve funcionar

pcm.usbmic {
    type hw
    card 1
}

pcm.playback {
    type hw
    card 0
}

pcm.!default {
    type asym
    playback.pcm{
        type plug
        slave.pcm "playback"
    }
    capture.pcm{
        type plug
        slave.pcm "usbmic"
    }
}

Fonte da página wiki da ALSA paraPlug-ins PCM(veja a seção 'Plugins: asym') easoundrc.

informação relacionada