Grabe audio desde el dispositivo predeterminado en Linux (Raspbian) con arecord

Grabe audio desde el dispositivo predeterminado en Linux (Raspbian) con arecord

Puedo grabar audio con el siguiente comando:

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

Y ~/.asoundrctiene esto:

pcm.!default {
        type hw
        card 0
}

ctl.!default {
        type hw
        card 1
}

Además, puedo reproducir ese archivo grabado con aplay rec7.wav.

El punto es que he dejado explícito qué dispositivo usar al grabar. Mientras que para jugar funciona bien sin esa necesidad. ¿Por qué?

Me gustaría grabar así arecord --duration=10 -f cd -vv rec7.wav. Pero no puedo encontrar una manera de crear plughw:0el dispositivo predeterminado.

Estoy probando esto en Raspbian. Y estoy usando unmicrófono USB externo.

Respuesta1

Probablemente tenga problemas porque utiliza diferentes dispositivos de hardware para la captura y la reproducción. En el archivo de configuración, pcmlas secciones especifican el dispositivo PCM (reproducción y grabación) y ctllas secciones son para configurar parámetros (dispositivo de control). Dado que la tarjeta de audio Raspberry Pi no admite la captura, el pcmdispositivo predeterminado configurado en su archivo de configuración provocará arecordun error. Para solucionar esto, podemos configurar diferentes dispositivos predeterminados en el archivo de configuración. Una forma de utilizar diferentes dispositivos de hardware para reproducción y captura es utilizar el asymcomplemento.

Aquí hay un .asoundrcque debería 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"
    }
}

Fuente de la página wiki de ALSA paraComplementos PCM(ver sección 'Complementos: asym') yasoundrc.

información relacionada