arecord를 사용하여 Linux(Raspbian)의 기본 장치에서 오디오 녹음

arecord를 사용하여 Linux(Raspbian)의 기본 장치에서 오디오 녹음

다음 명령을 사용하여 오디오를 녹음할 수 있습니다.

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

그리고 ~/.asoundrc이것은 다음과 같습니다:

pcm.!default {
        type hw
        card 0
}

ctl.!default {
        type hw
        card 1
}

또한 aplay rec7.wav.

요점은 녹음할 때 어떤 장치를 사용할지 명시적으로 설정했다는 것입니다. 재생하는 동안에는 그럴 필요 없이 잘 작동합니다. 왜?

저는 이렇게 녹음하고 싶습니다 arecord --duration=10 -f cd -vv rec7.wav. 하지만 plughw:0기본 장치를 만드는 방법을 찾을 수 없습니다 .

Raspbian에서 이것을 시도하고 있습니다. 그리고 저는외부 USB 마이크.

답변1

캡처 및 재생을 위해 다른 하드웨어 장치를 사용하면 문제가 발생할 수 있습니다. 구성 파일에서 pcm섹션은 PCM 장치(재생 및 녹음)를 지정하고 ctl섹션은 매개변수 설정(제어 장치)을 위한 섹션입니다. Raspberry Pi 오디오 카드는 캡처를 지원하지 않으므로 pcm구성 파일에 설정된 기본 장치로 인해 arecord오류가 발생합니다. 이 문제를 해결하기 위해 구성 파일에서 다른 기본 장치를 설정할 수 있습니다. 재생 및 캡처에 다른 하드웨어 장치를 사용하는 한 가지 방법은 asym플러그인을 사용하는 것입니다.

여기 .asoundrc작동해야 할 것이 있습니다

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"
    }
}

소스 ALSA 위키 페이지PCM 플러그인('플러그인: asym' 섹션 참조)asoundrc.

관련 정보