외부 USB 사운드 카드를 통한 재생 및 동시 녹음

외부 USB 사운드 카드를 통한 재생 및 동시 녹음

외부 USB 사운드 카드(제 경우에는 TerraTec Aureon 7.1 USB)가 있습니다. 3.5mm 잭 케이블을 사용하여 헤드폰 출력을 라인 입력에 연결했습니다. 파일 시스템에서 MP2 오디오 파일을 시작하고 이를 반복하면서 적어도 WAV 형식으로 녹음하는 데 관심이 있습니다.

이제 머신은 Linux 3.2.0-77-x64 커널이 포함된 Ubuntu 12.04.05 LTS입니다. 이는 서버 설치이므로 모든 멀티미디어 콘텐츠가 제거되었습니다. alsa-base, alsa-utils, sox, libsox-fmt-all, ffmpeg 코덱 등을 수동으로 설치해야 했습니다.

내가 하려는 것은 다음과 같이 alsa-utils의 "aplay"와 "arecord"를 사용하는 것인데 거의 성공하지 못했습니다.

# aplay -v -f S16_LE -D hw:1,0 -c2 -r 48000 original.mp2 &
# arecord -v -f S16_LE -D hw:1,0 -c2 -r 44100 output.wav

CTRL-C 등을 할 때까지 로깅이 무한정 계속되는 것 같기 때문에 전혀 작동하지 않는 것 같습니다. 일부 구문이 잘못된 걸까요, 아니면 필요한 도구가 아닌 걸까요? 이 경우 파이프 재생 및 동시 녹음에 더 유용하고 더 나은 도구가 있습니까?

어쨌든, 가장 큰 문제는 사운드 카드가 아직 완전히 구성되지 않은 것 같습니다. /proc/asound/cards에서 "hw:1,0" 주소를 얻었지만 aplay가 전화 출력으로 아무것도 출력하지 않기 때문에 이것이 정상적인지 확실하지 않습니다(헤드폰을 연결하여 테스트했습니다). 다음과 같은 출력이 있습니다.

# cat /proc/asound/cards
 1 [USB            ]: USB-Audio - Aureon 7.1 USB
                      Aureon 7.1 USB at usb-0000:00:14.0-1, full speed

그러나 lsusb를 실행하면 다음과 같은 결과가 나타납니다.

# lsusb
......
Bus 003 Device 002: ID 0ccd:00b1 TerraTec Electronics GmbH
......

이 불일치를 이해할 수 없습니다. 아니면 일치해서는 안 되는 것일까요? 어쨌든, /proc/asound/cards 목록에 카드가 나타나도록 하려면 내 사용자를 "오디오" 그룹에 추가하고 시스템을 재부팅해야 했습니다. 이 시스템은 서버이므로 사용 가능한 내부 오디오 칩셋이 없습니다.

도움을 주시면 감사하겠습니다! 감사해요!

답변1

OP는 다음과 같이 댓글을 달았습니다.

방금 해결책을 찾았습니다. 재생 문제는 aplay와 arecord가 .wav 또는 RAW 파일 형식에서만 작동할 수 있고 입력이 MP2 파일이기 때문입니다. 또한: 재생 입력과 동일한 길이로 지속되도록 -d 매개변수를 사용하여 재생 시간을 스크립트로 작성할 수 있습니다.

관련 정보