본문 바로가기
IT & 코딩

[라즈베리파이] ALSA vs Pulseaudio 비교

by 에일라거 2016. 8. 7.

* 이 글은 [라즈베리파이] 블루투스/원격 설정 (포트포워딩 & DDNS) 에 이어지는 글입니다.



라즈베리파이에서 사용하는 사운드 관련 모듈의 비교 글. Pulseaudio를 쓰는 이유는 이전 글에서 썼지만 (오로지) 블루투스 스피커를 연결하기 위해서이다. 그런데 블루투스 스피커가 있다면 누가 라즈베리파이에 연결해서 이런 짓을 하겠는가... 그냥 폰이랑 다이렉트로 연결하면 되지!


블투 스피커를 어떻게 뭐 해보고 싶다...라고 생각하지 말고, 다만 라즈베리파이를 이용한 IPTV같은 걸 구현하려고 할 때 사운드 관련해서 이렇구나 정도로 참조하면 될 듯 하다.

ALSA/Pulseaudio 비교



문제점


1. Analog 또는 HDMI로 재생 시에 Pulseaudio로 재생해 버리면 마치 두번 시간차를 두고 재생하는 것처럼 음이 뚝뚝 끊기면서 재생된다. 이유를 모르겠네... 잘 되다가 갑자기 그런다. 그래서 그냥 Analog/HDMI는 ALSA로 재생하고, Bluetooth만 Pulseaudio로 재생하는 중... 누구 아시는 분 있으면 답글 좀...


2. Pulseaudio 에서 pacmd list-cards 라는 명령어를 치면 Pulseaudio에 잡힌 출력 장치들이 쭉 뜨는데, 여기에 alsa-card에 hdmi출력이 없다. 검색해 보면 다들 HDMI 출력은 아래와 같이 입력하라고들 하는데...


pacmd set-card-profile 0 output:hdmi-audio


아니 output에 hdmi-audio가 있어야 말이지... 내가 조회했을 때 보이는 건 output:analog-stereo/output:analog-mono이 두개가 다다. hdmi로 바꿀 수가 없어... 진짜 암만 찾아봐도 안보여서 포기



결국, 내 사운드 설정 방법


1. 부팅 후 pulseaudio --start

2. bluetoothctl 로 블루투스 스피커 연결

3. 연결이 잘 안될 시 pulseaudio를 kill/start 해 가면서 연결

4. pacmd set-default-sink 로 블루투스 스피커로 출력 라우팅

5. 출력 방식에 따라 ALSA (Analog/HDMI), Pulseaudio (Bluetooth) 병행 사용

6. Analog/HDMI 중 원하는 출력을 선택하기 위해 amixer -c 0 cset numid=3 x 로 출력 라우팅

7. mplayer 에서 다음의 방식으로 각 라우팅된 출력으로 음악 재생

    - Bluetooth: mplayer filename

    - Analog/HDMI: mplayer -ao alsa:device=hw=0.0 filename




댓글