라즈베리파이 3.5mm 스피커 - lajeubelipai 3.5mm seupikeo

바쁜 와중에 라즈베리파이3로 매직미러(Magic Mirror) 테스트하다 사운드 땜에 고생.
USB 마이크가 없어서 블루투스 헤드셋으로 설정하여 테스트를 하니, 음성 품질이 영 꽝, 사용을 못하겠다.
해서 USB 마이크는 언젠가일지 모르는 나중으로 미루고, 3.5mm 오디오 단자에 스피커 출력 테스트만 하고 끝낼려고 했는데, 아무리 해도 소리가 나오지 않는다.

보드 불량인가???
왜 이런다냐???

결국 몇시간의 테스트와 구글링 끝에 찾아낸 이유, PulseAudio, 된장!!!

라즈베리파이 오디오 출력 설정(Jack으로)

라즈베리파이 우분투를 설치 후 이것 저것 테스트 중

오디오를 테스트 하려고 Audio JACK에 이어폰을 연결하여 테스트를 진행 해봤다...

그러나 아무 소리가 안 들리는 것!!

뭔가 뭔가.....

그래서 찾아보니....

라즈베리파이 설정이 또 걸려있었다..

자동으로...

현재 모니터화면을 HDMI로 연결하여 테스트 중인데...

그러다보니 HDMI쪽으로 출력이 나가는 것 같다.

하지만 내 테스트 모니터는 오디오가 없는 모니터...

암튼...

설정 변경을 하자!

라즈베리파이 3.5mm 스피커 - lajeubelipai 3.5mm seupikeo

sudo raspi-config 를 하여 설정화면으로 진입

우분투를 처음 설치후라면..
raspi-config가 없다.
그럴경우는
sudo apt-get install raspi-config
먼저 실행해서 설치부터 한다.


라즈베리파이 3.5mm 스피커 - lajeubelipai 3.5mm seupikeo

라즈베리파이 3.5mm 스피커 - lajeubelipai 3.5mm seupikeo

라즈베리파이 3.5mm 스피커 - lajeubelipai 3.5mm seupikeo

1 Force 3.5mm ('headphone') jack 선택

라즈베리파이 3.5mm 스피커 - lajeubelipai 3.5mm seupikeo

TAB키를 눌러서 Finish항목으로 넘어간 다음 ENTER Key!
(위에서 선택이라고 한것은 커서위치를 원하는 항목으로 간다음 ENTER Key를 누르라는 얘기이다.)

라즈베리파이 3.5mm 스피커 - lajeubelipai 3.5mm seupikeo

위처럼 표시 되고 끝나면 성공!!
values = 1이 면 Force Audio Jack이고

라즈베리파이 3.5mm 스피커 - lajeubelipai 3.5mm seupikeo

values=0이면 Auto
values=2면 Force HDMI Ouput이다.



이부분만 설정을 했다면 별도의 재부팅을 하지 않는다.


자 그럼 테스트!!

터미널 창에서

aplay test.wav

치면 된다..
단 test.wav파일이 존재해야한다.

그리고 mp3를 테스트 한다면..

ffplay test.mp3

여기도 마찬가지로 test.mp3가 있어야한다.



혹시 ffplay가 없다고 한다면...

ffmpeg를 설치해야 할 것이다.

Raspberry Pi 4 에는 3.5mm Audio Jack 포트가 존재한다. (CSI Camera 포트 바로 오른쪽에 위치)

라즈베리파이 3.5mm 스피커 - lajeubelipai 3.5mm seupikeo

어린 시절에 썼던 헤드셋 포트가 딱 이렇게 생겼었는데 요즈음엔 이어폰은 블루투스, 헤드셋은 USB 포트로 나와서 보기 힘들다. 아무튼 이 포트로 스피커를 연결하여 소리를 재생하는 것이 가능하고, 이를 위한 Raspberry Pi 4 설정 방법을 기술하려 한다.

1. Raspberry Pi 버전

보드: RPi 4 Model B 2GiB
운영체제: Raspbian GNU/Linux 10 (buster)
아키텍처: arm

필자는 일부러 구버전인 buster 버전을 사용하고 있는데 신버전인 bullseye 는 변동 사항이 너무 많아서 아래의 방식으론 동작하지 않을 수 있다. 혹은 이러한 설정을 안 하더라도 정상 동작할 수도 있다.

2. 오디오 활성화

boot/config.txt 파일에서

# Enable auido (loads snd_bcm2835)
dtparam=audio=on

위 라인의 주석을 해제(# 문자 제거)한다. 해당 라인이 없다면 위와 똑같이 기입해서 작성하면 된다.

마지막으로 쉘에

sudo /etc/init.d/alsa-utils reset

명령어를 입력하고 보드를 재부팅하면 끝이 난다.

출처

[이미지] https://en.wikipedia.org/wiki/Phone_connector_(audio)
[이미지] https://en.wikipedia.org/wiki/Raspberry_Pi
[출처] https://www.youtube.com/watch?v=stvc7ehCWUU