야마하 THR10을 데비안 리눅스에 USB로 연결해서 사용하는 방법 - ALSA, PulseAudio 설정
View: 310
0
0
작성자: 코딩!제이크
카테고리: Linux
발행: 2024-08-04
수정
2024-08-04
안녕하세요. 코딩!제이크입니다.
얼마 전에 당근에서 THR10을 좋은 가격에 구입했는데 뒤에 USB B 2.0 포트가 있어서 확인해 보니 PC에 USB로 연결하면
스피커로도 사용할 수 있고, 오디오 인터페이스로도 사용할 수 있어서 기타 연주를 PC에 직접 녹음 할 수 있다고 합니다.
바로 쿠팡에서 USB B to A 케이블을 구입해서 PC에 연결했는데 USB 연결한 것 만으로 소리가 바로 나오지는 않았습니다.
PC OS가 데비안 리눅스 Bullseye 버전을 사용 중이라서 무엇인가 설정을 해줘야 할 것 같았습니다.
1. 드라이버 설치
야마하 웹사이트에서 THR10에 필요한 드라이버를 확인해 보았습니다. Yamaha Steinberg USB Driver가 있긴 한데,
역시 리눅스 용 드라이버는 없었습니다. 그러나 다행히도 리눅스에서는 일반적으로 추가 드라이버 설치 없이 대부분의
USB 오디오 인터페이스를 사용할 수 있다고 합니다. 터미널에서 lsusb
명령어로 USB 장치 목록을 확인해 보니
THR10을 목록에서 확인할 수 있었습니다. THR10 전원을 키고 확인해야 합니다.
$ lsusb
Bus 002 Device 011: ID xxxx:xxxx Yamaha Corp. THR10
aplay -l
또는 arecord -l
명령어로 ALSA(Audio Linux Sound Architecture)가 THR10을 올바르게 인식하고 있는지 확인합니다.
ALSA는 리눅스에서 사운드 카드, 오디오 인터페이스 등의 오디오 장치를 제어하고 관리하는 시스템입니다.
aplay
는 오디오 재생 장치를, arecord
는 오디오 녹음 장치를 관리하는 ALSA의 명령줄 도구 입니다.
USB 연결에 문제가 없으면 THR10을 올바르게 인식할 것입니다.
$ aplay -l
card 1: THR10 [THR10], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
2. PulseAudio 설정
PulseAudio는 Linux에서 오디오 스트림을 관리하는 사운드 서버입니다.
PulseAudio는 ALSA를 기반으로 작동하며, 오디오 스트림의 믹싱, 재샘플링, 라우팅, 오디오 장치 간의 전송 등을 관리합니다.
여기서 중요한 것은 오디오 스트림을 특정 오디오 장치로 라우팅하는 것입니다.
USB 연결이 제대로 이루어졌고 ALSA에서도 문제 없이 인식하는 데 THR10에서 소리가 들리지 않는 것은 THR10으로 오디오 스트림을 보내지 않고 있기 때문입니다.
PulseAudio에서 THR10을 기본 오디오 장치로 설정할 수 있습니다. pavucontrol
을 설치하고 실행합니다.
$ sudo apt install pavucontrol
$ pavucontrol
pavucontrol
은 PulseAudio Volume Control 프로그램입니다.
창이 열리면 입력 장치
와 출력 장치
탭에서 THR10 장치를 확인할 수 있고 재생
탭에서 Application 별 오디오 출력 장치를 선택할 수 있습니다.
THR10에서 드디어 소리가 나오기 시작합니다. 처음엔 막막했는데 너무나 간단하게 해결이 되었습니다.
3. 오디오 매뉴얼 설정
설정 파일을 직접 편집해서 ALSA와 PulseAudio 설정을 변경할 수 있습니다. 앞 과정의 백업 플랜 정도로 생각하면 될 것 같습니다.
1) ALSA 설정 파일 (.asoundrc)
.asoundrc
파일은 ALSA의 설정을 정의하는 데 사용합니다.
이 파일을 통해 특정 하드웨어 장치의 기본 설정을 변경하거나, 새로운 가상 장치를 정의할 수 있습니다.
우리는 이 파일 설정을 변경해서 THR10을 기본 출력 장치로 설정하려고 합니다.
$ vi ~/.asoundrc
pcm.!default {
type hw
card 1
}
ctl.!default {
type hw
card 1
}
여기서 card 1
은 오디오 장치의 카드 번호로, 앞에서 aplay -l
또는 arecord -l
명령을 통해 THR10에 해당하는 카드 번호를 확인했습니다.
2) PulseAudio 설정 파일 (default.pa)
/etc/pulse/default.pa
는 PulseAudio의 자체 설정 파일입니다.
특정 사운드 카드의 입출력을 기본 값으로 고정 시키거나 특정 사운드 카드를 인식시킬 때 설정을 변경 또는 추가합니다.
먼저 디바이스 정보들 중에서 해당 사운드 카드의 Input과 Output에 해당하는 디바이스 번호를 알기 위해 pactl
명령어를 실행합니다.
$ pactl list short sources
14 alsa_output.usb-Yamaha_Corporation_THR10-00.analog-stereo.monitor module-alsa-card.c s24le 2ch 44100Hz SUSPENDED
15 alsa_input.usb-Yamaha_Corporation_THR10-00.multichannel-input module-alsa-card.c s24le 4ch 44100Hz SUSPENDED
pactl
는 현재 시스템에서 사용 가능한 오디오 입출력 소스의 목록을 출력하기 위한 PulseAudio의 명령줄 도구입니다.
list
는 목록을, short
는 간단한 형식으로, sources
는 오디오 입출력 소스를 대상으로 하기 위한 Option입니다.
결과 출력 화면에서 THR10의 output 디바이스 번호는 14, Input 번호는 15를 확인하였습니다. 이제 default.pa를 편집합니다.
$ sudo vi /etc/pulse/default.pa
### Make some devices default
#set-default-sink output
#set-default-source input
set-default-sink 14
set-default-source 15
$ rm -r ~/.config/pulse
/etc/pulse/default.pa를 편집기로 열고 맨 하단의 ###Make sone devices default 부분을 찾아서 그 아래 구분의 주석을 해제하고
ouput
자리에 THR10의 output 디바이스 번호인 14를, input
자리에는 input 디바이스 번호인 15를 넣어주었습니다.
마지막으로 본인 계정의 PulseAudio 설정 파일이 들어 있는 ~/.config/pulse 디렉토리를 삭제하였습니다.
ALSA 설정 또는 PulseAudio 설정이 완료 되었으면 컴퓨터를 Reboot 합니다.
야마하 THR10을 리눅스에서 사용하기 위해 ALSA와 PulseAudio를 설정해 보았습니다.
이 설정 방법은 THR10 뿐만이 아니라 다른 사운드 카드 또는 오디오 장치에 적용이 가능하기 때문에 알아 두면 앞으로 유용하게 사용할 수 있습니다.
앞에서 설명한 내용을 간단하게 요약 정리합니다.
-
lsusb
명령어로 USB 연결 확인 -
aplay -l
또는arecord -l
명령어로 ALSA에서 장치 인식 확인 -
pavucontrol
을 설치하고 해당 장치를 선택 및 정상 동작 확인 -
3번 과정까지 했을 때 안될 경우, ALSA 또는 PulseAudio 설정 파일 편집 및 Reboot
감사합니다.
