Pulseaudio 5.0์ด ์ค์น๋ ์์คํ
์์ ์ ๋ขฐํ ์์๋ ์ค๋์ค๊ฐ ๋ฐ์ํฉ๋๋ค.
Pulseaudio๊ฐ ์ค์น๋๊ณ ์์ฉ ํ๋ก๊ทธ๋จ์์ ์ค๋์ค ์ฌ์์ด ๋๋๋ฉด Pulseaudio๋ ์ค๋์ค ์ฅ์น๋ฅผ ์ฆ์ ๋ซ์ง ์๊ณ 5 ์ด ๋์ ๊ธฐ๋ค๋ฆฝ๋๋ค.
ํด๋น ์๊ฐ ๋ด์ ์ค๋์ค๋ฅผ ์ฌ์ํ๋ ค๋ ๋ค๋ฅธ ์์ฉ ํ๋ก๊ทธ๋จ์ด ๋ํ๋๋ฉด ๋์ผํ ์ฐ๊ฒฐ์ ๋ค์ ์ฌ์ฉํฉ๋๋ค.
๊ทธ๋ฌ๋ Pi์์ ์ ๋๋ก ์๋ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋ง์ฝ ๋ด๊ฐํ๋ค๋ฉด:
aplay /usr/share/sounds/alsa/Front_Center.wav ; sleep 4 ; aplay /usr/share/sounds/alsa/Front_Center.wav
์ฒ์์๋ ํ์ผ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์๋์ง๋ง ๋ ๋ฒ์งธ์๋ ์๋ฆฌ๊ฐ ๋์ง ์๊ณ ํ๋ก๊ทธ๋จ ์คํ์ด ์๋ฃ๋์ง ์์ต๋๋ค.
"Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav': Signed 16 bit Little Endian, Rate 48000 Hz, Mono"๋ง ์ธ์ํ๊ณ ๊ฑฐ๊ธฐ์ ์์ต๋๋ค.
5 ์ด ์ด์ ์๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค.
์ด๊ฒ์ ๋๋ฒ๊ทธํ๋ ๋ฐฉ๋ฒ๊ณผ ๋ฌธ์ ๊ฐ ALSA ๋ชจ๋ ๋๋ Pulseaudio์ ์๋์ง ์ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๋ค์์ ๋๊ตฌ์๊ฒ๋ ์ ์ฉํ ๊ฒฝ์ฐ ๋๋ฒ๊น
์ด ํ์ฑํ ๋ bcm2835_snd์ ์ถ๋ ฅ์
๋๋ค : https://paste.ee/r/soht7
๋ด ์ฌ์ฉ์ ์ง์ Linux ๋ฐฐํฌํ๊ณผ Arch Linux ( "pacman -Sy pulseaudio pulseaudio-alsa alsa-utils; pulseaudio --start"๋ฅผ ์ฌ์ฉํ์ฌ Pulse๋ฅผ ์ค์น)์์ ๋ฌธ์ ๋ฅผ ์ฌํ ํ ์์์์ต๋๋ค.
Raspbian์ ํตํด ์ค์นํ ๋ ์ป๋ 2.0๊ณผ ๊ฐ์ ๋งค์ฐ ์ค๋๋ Pulse ๋ฒ์ ์์๋ ๋ฐ์ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
Pulseaudio 6.0์์ ๋น์ทํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. Pulseaudio๋ ์ ํ ์ฌ์๋์ง ์๊ฑฐ๋ ๋ช ๋ถ ์ฌ์ ํ ์ ๊ธฐ๋ ๊ฒฝํฅ์ด ์์ต๋๋ค. ๋ํ Arch Linux๋ฅผ ์ฌ์ฉํฉ๋๋ค. Pi๊ฐ ํค๋๋ฆฌ์ค๋ก ์ค์ ๋์ด ์์ผ๋ฏ๋ก ์ฌ์ฉ์ ๋ชจ๋ (๋ฃจํธ๋ก ์คํ)์ ์์คํ ๋ชจ๋๋ฅผ ๋ชจ๋ ์๋ํ์ต๋๋ค.
๋ค์์ Pulseaudio๊ฐ ๋ฉ์ถ ๋๋ง๋ค ์ธ์๋๋ ์ค๋ฅ์ ๋๋ค (๋ณดํต ์ฝ 1 ~ 2 ๋ถ ์ฌ์ ํ).
E : [alsa-sink-bcm2835 ALSA] alsa-sink.c : ALSA๋ ์ฅ์น์ ์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ธฐ ์ํด ์ฐ๋ฆฌ๋ฅผ ๊นจ ์ ์ง๋ง ์ค์ ๋ก ์ธ ๊ฒ์ด ์์์ต๋๋ค!
E : [alsa-sink-bcm2835 ALSA] alsa-sink.c : ALSA ๋๋ผ์ด๋ฒ '(null)'์ ๋ฒ๊ทธ ์ผ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ALSA ๊ฐ๋ฐ์์๊ฒ๋ณด๊ณ ํ์ญ์์ค.
E : [alsa-sink-bcm2835 ALSA] alsa-sink.c : POLLOUT ์ธํธ๋ก ๊นจ์ด ๋ฌ์ง๋ง ํ์ snd_pcm_avail ()์ 0 ๋๋ ๋ค๋ฅธ ๊ฐ <min_avail์ ๋ฐํํ์ต๋๋ค.
๋๋ bcm2835์ pulse 6์ ๋์ฐํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
pulseaudio๋ฅผ ์์ํ๊ณ ๋ก์ปฌ์์ paplay๋ฅผ ์คํํ๋ฉด (ํ์ด์์) ์ค๋์ค๊ฐ ๋ชจ๋ ์๊ณก ๋ ์ํ๋ก ์ฆ์ ์ฌ์๋๊ธฐ ์์ํฉ๋๋ค. PCM์ ์ผ๋ถ๊ฐ ์ ๋๋ก ์ฌ์๋์ง ์๋ ๊ฒ์ฒ๋ผ ๋ค๋ฆฝ๋๋ค. ์ค๋์ค๊ฐ ์ค๋ ์ฌ์ ๋ ์๋ก ์ค๋์ค๊ฐ ๊ฑฐ์ ์์ํ ๋
ธ์ด์ฆ๊ฐ ๋ ๋๊น์ง ๋ ๋๋น ์ง๋๋ค.
ํฌ๋ง (CTRL + C)ํ๊ณ ์ดํ์ paplay๋ฅผ ์คํํ๋ฉด 8 ๋ฒ์งธ ์คํ์์ ์ค๋์ค๊ฐ ์๋ฒฝํ๊ฒ ์ฌ์ ๋ ๋๊น์ง ์ค๋์ค ๋๋ ์์ํ ์นจ๋ฌต์ ๋ฐ๋ณต ๊ฐ๋ฅํ ํจํด์ด ๋ฐ์ํฉ๋๋ค. ๋ค์ ์ฌ์ํ๋ฉด์ฃผ๊ธฐ๊ฐ ๋ค์ ์์๋ฉ๋๋ค.
ํจํด์ด ์๊ณก๋๊ณ , ๋ฌด์, ์๊ณก, ์๊ณก, ๋ฌด์, ์๊ณก, ๋ฌด์, ์๋ฒฝํฉ๋๋ค.
USB ํค๋์
์ ์ฌ์ฉํ๋ฉด paplay๋ ๋งค๋ฒ ์๋ํฉ๋๋ค.
USB ํค๋์
์ ํตํด ์ค๋์ค๊ฐ ์๋ฒฝํ๊ฒ ์ฌ์๋๋ ๊ณณ์์ USB ๋๊ธ์ ๋ถ๋ฆฌํ๋ฉด ์ค๋์ค๊ฐ ํ์ด์ ์๋ ๋ก๊ทธ ํฌํธ์์ ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์๋ฉ๋๋ค. ์ค๋์ค๋ฅผ ์ค์งํ๋ค๊ฐ ๋ค์ ์์ํ๋ฉด ์๊ณก๋ฉ๋๋ค.
๋ด ์ค์ : pulseaudio + mpd + ncmpcpp.
๋ด ํ
์คํธ ์ค์ ์ ๋
ธ๋๋ฅผ ์์ํ๊ณ ๋ฐ๋ณต์ ์ผ๋ก ์ฌ์ / ์ผ์ ์ค์งํ๋ ๊ฒ์
๋๋ค. ์ต๋ 3 ํ ์ฌ์ / ์ผ์ ์ค์ง ํ pulseaudio๋ ์ค๋จ๋๋ฉฐ ๋ค์ ์์ํด์ผํฉ๋๋ค.
์ด๊ฒ์ Debian ๋ฐ Arch ๊ธฐ๋ฐ ๋ฐฐํฌํ๊ณผ ํจ๊ป bcm2835 ์นฉ์ด์๋ ๋ด Raspberry B +์์๋ง ๋ฐ์ํฉ๋๋ค. Intel ์ฌ์ด๋ ์นฉ์ด์๋ ๋ฐ์คํฌํ PC์์ ๋๊ฐ์ ์ค์ ์ผ๋ก ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ปค๋ 3.6์๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค (๊ทธ๋ฌ๋ ๊ณ ๋ ๋ฐฐํฌํ์ ์ฌ์ฉํ๊ณ ์ถ์ง ์์ต๋๋ค).
์น์์ ์ฐพ์ ์์๋ ํด๊ฒฐ ๋ฐฉ๋ฒ ์ค ์ด๋ ๊ฒ๋ ์๋ํ์ง ์์์ต๋๋ค (tsched = 0, module-suspend-on-idle ๋นํ์ฑํ, ...). 1 ๋ ๋๊ฒ ํด๊ฒฐ์ฑ ์ ์ฐพ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ๋ง์นจ๋ด์ด ๋ฌธ์ ๋ฅผ ํฌ๊ธฐํ๊ฒ ์ต๋๋ค. ๋ด๊ฐ Raspberry 2๋ฅผ ๊ตฌ์ ํ๊ฑฐ๋ ALSA ๋ฐฑ์๋์ ํจ๊ป mpd๋ฅผ ์ฌ์ฉํ ๊ฒ์ ๋๋ค.
@maxnet ์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ ๋์์ต๋๊น? ๊ทธ๋ ๋ค๋ฉด์ด ๋ฌธ์ ๋ฅผ ์ข ๋ฃํ์ญ์์ค.
๋๋ ๊ทธ๋ ๊ฒ ์๊ฐํ์ง ์๋๋ค. Raspberry 3์์๋ ์๋ํ์ง ์์ต๋๋ค (๋์ผํ ์นฉ / ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋น์ฐํฉ๋๋ค : snd_bcm2835).
์ฐ๋ถํฌ 16.04๋ฅผ ์คํํ๋ Raspberry 3 ์์์ด ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก ํ๋ก๊ทธ๋จ์ 5 ์ด์ ์๊ฐ ์ด๊ณผ ์ง์ฐ์ ์ ์ฉํ์ง๋ง ์ถ๋ ฅ์ ์์ฐ ์ค๋ฌ์์ ์๋ง์ผ๋ก ๋ง๋ญ๋๋ค (์์ฑ ํฉ์ฑ๊ธฐ์ ๋๋ค).
๋ด pi3 ๋ฐ ์ฐ๋ถํฌ ๋ฉ์ดํธ 16.04 ๋ฐ mpd์ ๋์ผํ ๋ฌธ์ ๋ ๋ณผ๋ฅจ์ ๋ณ๊ฒฝํ์ง ์๋ ํ ํ์์ ์ ๋๋ค (๋๋ฌ ๊ฑฐ๋ฆฌ๊ฑฐ๋ ์๋ฆฌ ์์ค์ ์ ๋ฐ ํจ)๋ ๋ค๋ฅธ ๋ฌธ์ ์ค์์ ๋ฌด์์๋ก ์๋ฆฌ๋ฅผ ์์ต๋๋ค. ์ ๋ง ์ค๋งํฉ๋๋ค.
์ต์ ์ปค๋ (684be4bc8cc343f60fdc3240c6d55d41d0a5b56c)์ ์ฌ์ฉํ๋ Rpi B (2 ๋๋ 3 ์๋)์์ ๋์ผํ ๋ฌธ์
raspbian์์ Linux raspberrypi 4.9.27-v7+ #997 SMP Tue May 9 19:58:37 BST 2017 armv7l GNU/Linux
๋ฅผ ์คํํ๋ rpi3์ ๋ฌธ์ ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. Pulseaudio๋ ์ผ๋ฐ์ ์ผ๋ก mpd (๋คํธ์ํฌ๋ฅผ ํตํด ๋ค๋ฅธ ํธ์คํธ์์)์์ ํผ๋ํ๋ ํธ๋ ์ฌ์ด์์ ์ฌ์์ ์ค์งํฉ๋๋ค. mpd๋ฅผ ํตํด 24 ๋นํธ flac ์ค๋์ค๋ฅผ ์ฌ์ํ๋ ค๊ณ ํ๋ฉด 2 ์ด๋ง ์ฌ์๋๊ณ ์ ์ง๋ฉ๋๋ค.
4.9.30-v7+
์คํํ๋ rpi3์์ ๋ฌธ์ ๋ฅผ ํ์ธํฉ๋๋ค. mpds ์ฌ์ ๋ชฉ๋ก ์ฑ์ฐ๊ธฐ ๋ฐ ์ฌ์ ์์์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ ๋ชฉ๋ก์ด ์๋ฃ ๋ ๋๊น์ง ์๋ํ์ง๋ง ์๋์ผ๋ก ํธ๋์ ๋ณ๊ฒฝํ๊ณ ์ค์งํ๋ค๊ฐ ๋ค์ ์์ํ๋ฉด mpd๋ฅผ ๋ค์ ์์ํ ๋๊น์ง ์ค๋์ค ์ถ๋ ฅ์ด ์๋ํ์ง ์์ต๋๋ค.
audio_output {
type "alsa"
name "ALSA Output"
# device "hw:0,0" # optional
mixer_type "software" # optional
# mixer_device "default" # optional
# mixer_control "PCM" # optional
# mixer_index "0" # optional
# auto_resample "no"
# auto_channels "no"
# auto_format "no"
}
@flittermice : disappointed์์ ์ค๋ช
ํ ๊ฒ๊ณผ ๋์ผํ ๋ฌธ์ ๊ฐ์๋ ๋์์ด ์์ต๋๋ค.
์์คํ
์ pulseaudio v10.0-1 + deb9u1, ์ปค๋ 4.9.59+์ ํจ๊ป Raspbian Stretch (9.1)๋ฅผ ์๋ก ์ค์น ํ RPi2์
๋๋ค.
๊ด๋ จ ๊ธฐ์ฌ / ํํ ๋ฆฌ์ผ / ์ค๋ ๋๋ฅผ ์ฝ๊ณ ์์์ง๋ง ์์์ ์ค๋ช
ํ๋๋ก pulseaudio๋ฅผ ์ฃฝ์ด๊ณ ๋ค์ ์์ํ ๋๊น์ง MPD ์ฌ์์ด ์ค๋จ๋ฉ๋๋ค.
์๋ฌด๋ ์ด๊ฒ์ ๋ํ ํด๊ฒฐ์ฑ ์ ์์ง ์ฐพ์์ต๋๊น? : crossed_fingers : : ๋ฏธ์ :
ํฅ๋ฏธ๋ก์ด ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค (์๋ง๋) :
pulseaudio๊ฐ ์ค๋จ๋๋ฉด (์์์ ์ค๋ช
ํ๋๋ก) "paplay"๋ช
๋ น์ ๋ ๋ฒ (!) ์คํํ๋ฉด ์ค๋์ค ์ฌ์์ด ๋ค์ ์์๋ฉ๋๋ค.
$ paplay /usr/share/sounds/alsa/Front_Center.wav
์์์ ์๊ฐ ๋์ ์๋ ํ ๋ค์ @flittermice ์ ๋์์ผ๋ก ๋์๊ฐ๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ๋ ์์ธํ ๋๋ฒ๊น
ํ ๊ฒฐ๊ณผ Pulseaudio๊ฐ "๋๊ฐ๊ธฐ"๋ผ๊ณ ํ๋ ๋ํดํ ALSA ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ๊ฒ์ด์ด ๋ฌธ์ ๋ฅผ ์ผ์ผํค๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค.
์ํ๊น๊ฒ๋ PA๊ฐ ํด๋น ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ง ๋ชปํ๋๋กํ๋ ๊ตฌ์ฑ ์ต์
์ด ์์ต๋๋ค.
์ด ๋ถ๊ธฐ๋ ์์ค ์ฝ๋์์ ์๊ตฌ์ ์ผ๋ก ๋นํ์ฑํํฉ๋๋ค : https://github.com/strfry/pulseaudio/tree/no_rewind
์์คํ
์ ๋น๋ํ๊ณ ์ค์นํ ์ ์๋ค๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋์ง ํ์ธํ์ญ์์ค.
์ด ๋ฌธ์ ๋ฅผ ๋ ์์ธํ ๋๋ฒ๊น ํ ๊ฒฐ๊ณผ Pulseaudio๊ฐ ๋ํดํ ALSA ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค.
"๋๊ฐ๊ธฐ"๋ผ๊ณ ํ๋ ๊ฒ์ด์ด ๋ฌธ์ ์ ์์ธ์ ๋๋ค.
์ํ๊น๊ฒ๋ PA๊ฐ ํด๋น ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ง ๋ชปํ๋๋กํ๋ ๊ตฌ์ฑ ์ต์ ์ด ์์ต๋๋ค.
ํ์ง๋ง์ด ๊ธฐ๋ฅ์ ์ ๊ฑฐํ๋ฉด Pulse๊ฐ ์ ๋๋ก ์๋ ํ ์ ์์ต๋๊น?
์ฌ์ด๋ ์๋ฒ๋ก ์ ๊ณต๋๋ ๊ธฐ๋ฅ์ ์ผ๋ถ๋ ์ฌ๋ฌ ์์ฉ ํ๋ก๊ทธ๋จ์์ ๋ฐ์ํ ์์๋ ์ฌ์ด๋๋ฅผ ํจ๊ป ๋ฏน์ฑํ๋ ๊ฒ์
๋๋ค.
์๋ก์ด ์์ฉ ํ๋ก๊ทธ๋จ์ด ์ฆ์ ๋ฏน์ค์ ์ฌ์ด๋๋ฅผ ์ถ๊ฐ ํ ์ ์๋๋กํ๋ ค๋ฉด ๊ธฐ์กด ๋ฒํผ์ ์ผ๋ถ๋ฅผ ๋ฒ๋ฆด ์์๋ ๋ฐฉ๋ฒ์ด ํ์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๊ทธ๋ ์ง ์์ผ๋ฉด ๋ฒํผ ๋์ ์ ์ฌ์ด๋ ๋ง ์ถ๊ฐ ํ ์ ์์ผ๋ฉฐ ์์ฉ ํ๋ก๊ทธ๋จ์์ ์์ํ์ง ๋ชปํ ์ง์ฐ์ด ๋ฐ์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ค ๋ชฉ์ (์ : ์ฌ์ด๋๊ฐ์๋ ๋น๋์ค)์ ๋ฌธ์ ๊ฐ ๋ ์ ์์ต๋๋ค.
@maxnet ์ ์ ํ ์์ (๋ด ๊ฒ์ด ์๋๋๋ค)์ ๋๊ธฐ ์๊ฐ์ ๋ค์ ๋ฎ์ ๊ฐ์ผ๋ก ์์ ํ์ฌ ์ฝ๊ฐ ๋ ๋์ CPU ๋ถํ / ์ ๋ ฅ ์๋น๋ก ๋๊ฐ๊ธฐ์ ํ์์ฑ์ ์ ๊ฑฐํฉ๋๋ค.
์ง์ฐ ์๊ฐ์ด ์งง์ ์์ฉ ํ๋ก๊ทธ๋จ์์ ์ ์๋ํ๋ฉฐ MPD๋ก ์์
์ ์ฌ์ํ๋ ๊ฒฝ์ฐ ๋๊ฐ๊ธฐ๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ฝ๊ฐ ์ง์ฆ๋ ์ ์์ต๋๋ค (๋ฎ์ ๋๊ธฐ ์๊ฐ ๋ฒํผ ๋ง ์ํํ๊ธฐ ์ํด PA ํจ์น ์์).
ํญ์ ๋๊ธฐ ์๊ฐ์ด ์งง์ผ๋ฉด ์์ ๋ฒํผ๋ฅผ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
๋์๊ฒ๋ ์ด์์ ์ผ๋ก ๋ค๋ฆฌ์ง ์์ต๋๋ค.
์ปค๋ ๋ชจ๋์ ์ ์ ํ ์์ ์ด ์๋ค๊ณ ์ฃผ์ฅ ํ ์ ์์ต๋๋ค.
@strfry : ALSA ๋๊ฐ๊ธฐ ์๋ฆฌ์์ ๊ด๊ณ๊ฐ ํฉ๋ฆฌ์ ์ ๋๋ค. pulseaudio๊ฐ "๋ถํ"ํ๋ฉด ์ผ๋ฐ์ ์ผ๋ก ๋ค์ ์ค๋ก ๋๋ฉ๋๋ค.
D : [alsa-sink-bcm2835 ALSA] source.c : ๋๊ฐ๊ธฐ ์ฒ๋ฆฌ ์ค ...
๊ทธ๋ฌ๋ ๋๋ @maxnet์ ๋ค์ ๋์ํ๋ฉฐ ์๋ง๋ ALSA๊ฐ ์ฒ์์ ์ด๊ฒ์ํ๋ ์ด์ ๊ฐ์์ ๊ฒ์ ๋๋ค ... : wink :
Raspberry Pi ๋๋ pulseaudio + ALSA์ ์ผ๋ฐ์ ์ธ ๋ฌธ์ ์์๋ง ์๋ํ์ง ์์ต๋๊น?
3 ๋
๋๊ฒ ์ฌ์ ํ ๋ฌธ์ ๊ฐ๋๊ณ ์๋์ด ๋ฌธ์ ๋ฅผ ์ฌ๊ธฐ ๋์ pulseaudio / ALSA ๊ฐ๋ฐ์์๊ฒ๋ณด๊ณ ํด์ผํฉ๋๊น?
@ pjotrek-b Raspberry PI ๋ด์ฅ ์ฌ์ด๋ '์นด๋'์์๋ง ์๋ํ์ง ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ํ์ค ์ค๋์ค๋ฅผ ๋คํธ์ํฌ ์ฌ์ด๋ ์๋ฒ๋ก ๋ฌธ์ ์์ด ๋ช ๋ฌ ๋์ USB ์ฌ์ด๋ ์นด๋๋ก ์ฑ๊ณต์ ์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
@jekhor ์ ์ง์ ์ ํ์ธํ ์ ์์ต๋๋ค.
๋์ผํ ๊ตฌ์ฑ์ด Raspberry Pi์ USB ์ฌ์ด๋ ์นด๋ (snd_usb_audio)์์ ์๋ฒฝํ๊ฒ ์๋ํฉ๋๋ค.
๋ก๊ทธ ํ์ผ์ "E : [alsa-sink-bcm2835 ALSA] alsa-sink.c : ALSA ๋๋ผ์ด๋ฒ '(null)'์ ๋ฒ๊ทธ ์ผ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค.์ด ๋ฌธ์ ๋ฅผ ALSA ๊ฐ๋ฐ์์๊ฒ๋ณด๊ณ ํ์ญ์์ค." ๋๊ตฌ๋ ์ง ์ด๊ฒ์ํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์์ต๋๊น?
@jekhor :์ด ๋ฌธ์ ๋ฅผ
์ง๊ธ ๋นํฉํ ๊ฒ์, ์ ๋ ํญ์ ๋ค์๊ณผ ๊ฐ์ด ์๊ฐํ์ต๋๋ค.
application > pulseaudio > ALSA > driver > hardware
๊ทธ๋ ๋ค๋ฉด ALSA๋ฅผ ์ง์ ์ฌ์ฉํ ๋์ด ๋ฌธ์ ๊ฐ ์๋ ๋์ผํ ์์ฉ ํ๋ก๊ทธ๋จ ์ด ์ด๋ป๊ฒ ์๋ฒฝํ๊ฒ ์๋ ํ ์ ์์ต๋๊น?
application > ALSA > driver > hardware
์ด์ ์ด ๋ฌธ์ ๊ฐ RPi์ ๋ด์ฅ ์ฌ์ด๋ ์นด๋ / ์นฉ์ ๊ตญํ๋ ๊ฒฝ์ฐ, ์ด๋ฌํ ๋ฌธ์ ๊ฐ alsa ์ ์ฉ์ผ๋ก๋ ๋ํ๋์ง ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? : ํผ๋ :
@strfry : pulseaudio์ ๋ฌธ์์์ "๋๊ฐ๊ธฐ"์ ๋ํ ์์ธํ ๊ธฐ์ฌ๋ฅผ ์ฐพ์
๋๋ ๊ทธ๊ฒ์ ์ผ๋ถ๋ฅผ ์ฝ์๊ณ ๊ทธ๊ฒ์ ๋ ์ด์ ๋์๊ฒ "๋ฐ๊ต ์ "์ด๋ผ๊ณ ๋ณด์ด์ง ์๋๋ค. ์ฝ๋๋ฅผ ์ดํด๋ณธ ์ดํ๋ก pulseaudio๋ฅผ "๊ณ ์ "๋๊ฒ ๋ง๋ค ์์๋ ์์ด๋์ด๊ฐ ์์ต๋๊น?
์์์ ์ธ๊ธํ๋ฏ์ด "paplay"๋ฅผ ๋ ๋ฒ ์คํํ๋ฉด ๋ค์ ์๋ํ๋๋ก "๋์ง"ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์
๋๋ค ... : smile :
@ pjotrek-b Pulseaudio์ ๋์์ธ ๋ชฉํ๋ฅผ ๊ณ ๋ คํ ๋ ๋น์ฐํฉ๋๋ค. ์ ์์ ์ธ ALSA ์์ฉ ํ๋ก๊ทธ๋จ์ 99 %๊ฐ ๋๊ฐ๊ธฐ๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฏ๋ก ALSA ๋๋ผ์ด๋ฒ์์ ๋ ํ
์คํธ ๋ ๊ฒฝ๋ก๋ฅผ ํธ๋ฆฌ๊ฑฐํ๋ค๋ ์ ์์ "๋น๊ต์ "์
๋๋ค. ์ํ๊น๊ฒ๋ Pulseaudio์๋์ด ๋ฒ๊ทธ ๊ฐ๋ฅ์ฑ์ด์๋ ๊ธฐ๋ฅ (ํ์ด๋จธ ๊ธฐ๋ฐ ์ค์ผ์ค๋ง๊ณผ ๊ฐ์ ๋ค๋ฅธ ๊ธฐ๋ฅ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก)์ ์ฌ์ฉ์ ๋นํ์ฑํํ๋ ์ต์
์ด ์์ต๋๋ค.
์ ํํ ์ธ๋ถ ์ฌํญ์ ๋๋ฒ๊น
ํ์ง ์์์ง๋ง ๊ธฐ๋ณธ์ ์ผ๋ก Pulseaudio๋ ๋์๋ ๋ฃจํ์ ๊ฐํ ์์ต๋๋ค .ALSA๊ฐ ์ค๋์ค ๋ฐ์ดํฐ๋ฅผ ์ฅ์น์ ๋ค์ ์ธ ๋๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ๋ณด๊ณ ํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์
๋๋ค.
Pulseaudio ์ธก์์์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์์๋ ๊ฐ๋ฅ์ฑ์๋ ๋ถ๊ตฌํ๊ณ ์ด๊ฒ์ ALSA ๋๋ผ์ด๋ฒ์ ๋ฒ๊ทธ์
๋๋ค.
๋ด ์์ฌ์ ์๋ก์ด ์คํธ๋ฆผ์ ๋ฐํํ๋ฉด Pulseaudio๊ฐ ๋ฉ์ถ์์ ๋ ๊ธฐ๋ค๋ฆฌ๋ ์ด๋ฒคํธ๊ฐ ์์ฑ๋๋ค๋ ๊ฒ์
๋๋ค.
@flittermice ์ด ๊ฒฝ์ฐ ์ฑ ์์๋ ALSA ๊ฐ๋ฐ์๋ snd_bcm2835 ๋๋ผ์ด๋ฒ๋ฅผ ์์ฑํ Raspberry Pi ์ปค๋ ๊ฐ๋ฐ์ ์ค ํ ๋ช ์ด๋ฏ๋ก์ด ์ ์ฅ์๊ฐ์ด๋ฅผ๋ณด๊ณ ํ๊ธฐ์ ์ ํฉํ ์ฅ์๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋๊ฐ๊ธฐ๋ฅผ ์ฌ์ฉํ ๋ ALSA์ ๋ช ๋ฐฑํ ์๋ชป๋ ๋์์ ๋ณด์ฌ์ฃผ๋ ๊ฐ๋จํ ์ฝ๋ ์์ ๋์ด ๋ฒ๊ทธ๋ฅผ ์์ธํ ์ดํด๋ณผ ๋ ์ปค๋ ๊ฐ๋ฐ์์๊ฒ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
@ pjotrek-b Pulseaudio์ ๋์์ธ ๋ชฉํ๋ฅผ ๊ณ ๋ คํ ๋ ๋น์ฐํฉ๋๋ค. ์ ์์ ์ธ ALSA ์์ฉ ํ๋ก๊ทธ๋จ์ 99 %๊ฐ ๋๊ฐ๊ธฐ๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฏ๋ก ALSA ๋๋ผ์ด๋ฒ์์ ๋ ํ
์คํธ ๋ ๊ฒฝ๋ก๋ฅผ ํธ๋ฆฌ๊ฑฐํ๋ค๋ ์ ์์ "๋น๊ต์ "์
๋๋ค. ์ํ๊น๊ฒ๋ Pulseaudio์๋์ด ๋ฒ๊ทธ ๊ฐ๋ฅ์ฑ์ด์๋ ๊ธฐ๋ฅ (ํ์ด๋จธ ๊ธฐ๋ฐ ์ค์ผ์ค๋ง๊ณผ ๊ฐ์ ๋ค๋ฅธ ๊ธฐ๋ฅ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก)์ ์ฌ์ฉ์ ๋นํ์ฑํํ๋ ์ต์
์ด ์์ต๋๋ค.
์ ํํ ์ธ๋ถ ์ฌํญ์ ๋๋ฒ๊น
ํ์ง ์์์ง๋ง ๊ธฐ๋ณธ์ ์ผ๋ก Pulseaudio๋ ๋์๋ ๋ฃจํ์ ๊ฐํ ์์ต๋๋ค .ALSA๊ฐ ์ค๋์ค ๋ฐ์ดํฐ๋ฅผ ์ฅ์น์ ๋ค์ ์ธ ๋๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ๋ณด๊ณ ํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์
๋๋ค.
Pulseaudio ์ธก์์์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์์๋ ๊ฐ๋ฅ์ฑ์๋ ๋ถ๊ตฌํ๊ณ ์ด๊ฒ์ ALSA ๋๋ผ์ด๋ฒ์ ๋ฒ๊ทธ์
๋๋ค.
๋ด ์์ฌ์ ์๋ก์ด ์คํธ๋ฆผ์ ๋ฐํํ๋ฉด Pulseaudio๊ฐ ๋ฉ์ถ์์ ๋ ๊ธฐ๋ค๋ฆฌ๋ ์ด๋ฒคํธ๊ฐ ์์ฑ๋๋ค๋ ๊ฒ์
๋๋ค.
@flittermice ์ด ๊ฒฝ์ฐ ์ฑ ์์๋ ALSA ๊ฐ๋ฐ์๋ snd_bcm2835 ๋๋ผ์ด๋ฒ๋ฅผ ์์ฑํ Raspberry Pi ์ปค๋ ๊ฐ๋ฐ์ ์ค ํ ๋ช ์ด๋ฏ๋ก์ด ์ ์ฅ์๊ฐ์ด๋ฅผ๋ณด๊ณ ํ๊ธฐ์ ์ ํฉํ ์ฅ์๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋๊ฐ๊ธฐ๋ฅผ ์ฌ์ฉํ ๋ ALSA์ ๋ช ๋ฐฑํ ์๋ชป๋ ๋์์ ๋ณด์ฌ์ฃผ๋ ๊ฐ๋จํ ์ฝ๋ ์์ ๋์ด ๋ฒ๊ทธ๋ฅผ ์์ธํ ์ดํด๋ณผ ๋ ์ปค๋ ๊ฐ๋ฐ์์๊ฒ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด์ด ๋ฌธ์ ๊ฐ์๋ ๋์ผํ ์ ํ๋ฆฌ์ผ์ด์ ์ด ALSA๋ฅผ ์ง์ ์ฌ์ฉํ ๋ ์ด๋ป๊ฒ ์๋ฒฝํ๊ฒ ์๋ ํ ์ ์์ต๋๊น?
ALSA๋ฅผ ์ง์ ์ฌ์ฉํ๋ ์ ํ๋ฆฌ์ผ์ด์
์ ์ผ๋ฐ์ ์ผ๋ก ๋๊ฐ๊ธฐ๋ฅผ ์ฌ์ฉํ ํ์๊ฐ ์์ต๋๋ค.
๊ทธ๋ค์ ์์ผ๋ก ๋ช ์ด ์์ ์ฌ์ํ๊ณ ์ถ์ ์ฌ์ด๋๋ฅผ ์ ํํ ์๊ณ ์ค๋์ค ์ฅ์น๋ก ๋ณด๋
๋๋ค.
๊ณํ์ด ๋ณ๊ฒฝ๋๋ ์ํฉ์์ ์ฌ์ฉ๋ฉ๋๋ค.
Pulse๊ฐ ์ด๋ฏธ ๋ค์ 2 ์ด ๋์ ์ฅ์น๋ก ์ค๋์ค๋ฅผ ์ ์กํ๋๋ฐ ๊ฐ์๊ธฐ ๋ค๋ฅธ Pulse ํด๋ผ์ด์ธํธ๊ฐ ์ฐ๊ฒฐ๋์ด ์ฌ์ด๋๋ฅผ ์ฌ์ํ๊ธฐ๋ฅผ ์ํ๋ฉด 2 ์ด๊ฐ ๋จผ์ ๋๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ์๋ฆฌ๋ฅผ ์๋ ค์ผํฉ๋๋ค. ์ด์ ๋ฒํผ๋ฅผ ๋ฒ๋ฆฌ๊ณ ์ถ๊ฐ ์ฌ์ด๋๊ฐ ํผํฉ ๋ ์ ๋ฐ์ดํฐ๋ก ๊ต์ฒดํฉ๋๋ค.
๋ฌผ๋ก , ๋ช ์ด์ ์ค๋์ค ๋์ ๋ฐ๋ฆฌ ์ด๋ฅผ ์ ์ฅํ๋ ์์ ๋ฒํผ๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ๋๊ฐ๊ธฐ์์ด ํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๋๋ ๊ทธ๊ฒ์ด ์ ํธ๋์ง ์๋๋ค๊ณ ์๊ฐํฉ๋๋ค.
Linux์์๋ ์ ํ๋ฆฌ์ผ์ด์
์ด CPU ์๊ฐ์ ๊ฐ์ ธ ์ค๋ ์์ ๋ํ ๋ณด์ฅ์ด์๊ณ ๊ท ๋ฑํ๊ฒ ๋ถํ ๋๋ค๋ ๋ณด์ฅ์ด ์์ผ๋ฉฐ ์ค์๊ฐ ์ด์ ์ฒด์ ๊ฐ ์๋๋๋ค.
๋ค๋ฅธ ์์ฉ ํ๋ก๊ทธ๋จ์์ ๋ง์ด ์ฌ์ฉํ๊ณ ์๊ณ Pulse๊ฐ ๊ทธ ์์ ๋ฒํผ๋ฅผ ํญ์ ์ฑ์ฐ๋ ๋ฐ ์๊ฐ์ด ์ถฉ๋ถํ์ง ์์ผ๋ฉด ์ธ๋๋ฐ์ด ๋ฐ์ํ๊ณ ์ฌ์ด๋๊ฐ ๋๋ฌ ๊ฑฐ๋ฆฌ๊ฒ๋ฉ๋๋ค.
์์์ ์ธ๊ธํ๋ฏ์ด "paplay"๋ฅผ ๋ ๋ฒ ์คํํ๋ฉด ๋ค์ ์๋ํ๋๋ก "๋์ง"ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค ... : smile :
Pulse Audio๋ ๋ง์ง๋ง์ผ๋ก ์ฌ์ฉํ ํด๋ผ์ด์ธํธ๊ฐ ์ฐ๊ฒฐ์ ๋์ ํ 5 ์ด ๋์ ๋ค๋ฅธ ํด๋ผ์ด์ธํธ๊ฐ ์ฐ๊ฒฐ๋์ง ์์ ๊ฒฝ์ฐ ์ฌ์ด๋ ์ฅ์น์ ๋ํ ์ฐ๊ฒฐ์ ๋ซ์ต๋๋ค.
๋ค์์ ํด๋ผ์ด์ธํธ๊ฐ ์ฌ์ฉํ๋ ค๊ณ ํ ๋ ๋ค์ ์ฝ๋ ๋ค.
๋ฐ๋ผ์ ๋ช
๋ น ์ฌ์ด์ ์ถฉ๋ถํ ์๊ฐ์ด ์๋ค๋ฉด ๋ค์ ์๋ํ๋ ์ด์ ์ผ ์๋ ์์ต๋๋ค.
@strfry ๋ฐ @maxnet :
์์ธํ ๋ต๋ณ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
์ด๊ฒ์ด ์ต์ Raspbian (์ปค๋ 4.14.y ํฌํจ)์์ ์ฌ์ ํ ๋ฌธ์ ์ธ์ง ์๋ ์ฌ๋์ด ์์ต๋๊น?
์ด ๋ฌธ์ ๋ ์ถ๊ฐ ์ํธ ์์ฉ์ด ๊ฒ์๋์ง ์๋ ํ 30 ์ผ ์ด๋ด์ ์ข ๋ฃ๋ฉ๋๋ค. ์ด ํธ๋ฅผ ๊ณ์ ๊ณต๊ฐํ๋ ค๋ฉด ์๊ฒฌ์ ์ถ๊ฐํ์ญ์์ค. ์์ฒญ์ ์ข ๊ฒฐ ๋ ๋ฌธ์ ๋ฅผ ๋ค์ ์ด ์ ์์ต๋๋ค.
ํ์ธํ๊ณ ์ถ์ง๋ง ํ์ฌ ํ
์คํธ ํ ์๊ฐ์ด ์์ต๋๋ค ... : ์ค๋ง :
๋ง์ผ์ ๊ฒฝ์ฐ : 30 ์ผ ํ์ ํ
์คํธํ๋๋ฐ ์ฌ์ ํ ๋ฌธ์ ๊ฐ์๋ ๊ฒฝ์ฐ ๋ค์ ์ด์ด๋ ๋๋์?
๊ฐ์ ๋ ์ฌํญ์ด ์๋ค๊ณ ํ์ ํ์ง๋ง์ด ํน์ ๋ฒ๊ทธ์ ๋ํด์๋ ๋ง์ ๊ธฐ์ฌ๋ฅผ ํ ์ ์์ต๋๋ค. PCM2704 ์นฉ์
์ด ์ฅ์ฐฉ ๋ ์ธ์ฅ USB ์ฌ์ด๋ ์นด๋๋ฅผ ๊ตฌ์
ํ๊ณ ์ด์ snd_usb_audio ๋๋ผ์ด๋ฒ์ ๋ง์กฑํฉ๋๋ค.
raspi์ HDMI ์ถ๋ ฅ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ ์ต์
์ด์์ง๋ง, ๋ด raspi๋ AV ์์ ๊ธฐ์ ์ฐ๊ฒฐ๋ HDMI ์ผ์ด๋ธ๋ก ๋ถํ
์ ๊ฑฐ๋ถ ํ ์๋ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ ๋ ๋ค๋ฅธ ์ด์ผ๊ธฐ์
๋๋ค.
ํ๋ ๋ถ์กฑ์ผ๋ก ๋ง๊ฐ. ์ด ๋ฌธ์ ๊ฐ ์ฌ์ ํ ๊ด๋ จ์ด ์๋ค๊ณ ์๊ฐ๋๋ฉด ์ฌ ๊ฐ์ค์ ์์ฒญํ์ญ์์ค.
๋ด Rasp Pi 3์ ์ด๋ฐ ์ผ์ด ๋ฐ์ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค.
์ปค๋ ๋ฒ์ 4.14.69๋ก ArchARM์ ์คํํ๊ณ ์์ต๋๋ค.
์ด๊ฒ์ด ๋ด RPI3์์ ์ฌ์ ํ ์ผ์ด๋๊ณ ์๋์ง ํ์ธํ ์ ์์ต๋๋ค.
Linux 4.14.71-v7+ #1145 SMP Fri Sep 21 15:38:35 BST 2018 armv7l GNU/Linux
pulseaudio์ ํจ๊ป mpd๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋ํ๋ฉ๋๋ค.
Nov 05 09:25:17 noise systemd[1]: Started Music Player Daemon.
Nov 05 09:25:19 noise pulseaudio[1567]: [pulseaudio] server-lookup.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
Nov 05 09:25:19 noise pulseaudio[1567]: [pulseaudio] main.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
Nov 05 09:25:20 noise pulseaudio[1567]: [alsa-sink-bcm2835 ALSA] alsa-sink.c: ALSA woke us up to write new data to the device, but there was actually nothing to write.
Nov 05 09:25:20 noise pulseaudio[1567]: [alsa-sink-bcm2835 ALSA] alsa-sink.c: Most likely this is a bug in the ALSA driver '(null)'. Please report this issue to the ALSA developers.
Nov 05 09:25:20 noise pulseaudio[1567]: [alsa-sink-bcm2835 ALSA] alsa-sink.c: We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() returned 0 or another value < min_avail.
์ด ๋ฌธ์ ๋ฅผ ๋ค์ ์ด ์ ์์ต๋๊น?
๋ด Rasp Pi 3์ ์ด๋ฐ ์ผ์ด ๋ฐ์ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค.
์ปค๋ ๋ฒ์ 4.14.69๋ก ArchARM์ ์คํํ๊ณ ์์ต๋๋ค.
์ด๊ฒ์ ์๋ชป๋ ํ๊ฐ ๋๋ฌธ์ด์์ต๋๋ค.
@ l4rzy : ๋น์ ์ ์ฐ๋ฆฌ๋ฅผ ํธ๊ธฐ์ฌ์ผ๋ก ๋ง๋ค๊ณ ์์ต๋๋ค. ์ด๋ค ๊ถํ?
@flittermice : ์ฃ์กํฉ๋๋ค. ๋ช ๋ฌ ๋์ ์ด์ ๋ํด ์ธ๊ธ ํ ์ดํ ์ํฉ์ ์คํดํ์ต๋๋ค. ๊ถํ์ ๊ดํ ๊ฒ์ด ์๋๋๋ค.
๋ก์ปฌ ๋คํธ์ํฌ Pulse ์ค๋์ค ์๋ฒ์ฉ์ผ๋ก Raspberry Pi 3๋ฅผ ์ค์ ํ๋ ค๊ณ ํ์ง๋ง ์ํํ๊ฒ ์๋ํ์ง๋ง ์ ์ ํ ์๋ฌด๊ฒ๋ ์ฌ์ํ์ง ์์ผ๋ฉด Pulse ์ค๋์ค ์๋ฒ๊ฐ ์๋์ผ๋ก ์ข
๋ฃ๋ฉ๋๋ค. ๋์ค์ SoundCloud์์ ์์
์ ์ฌ์ํ๊ธฐ ์ํด mpd๋ฅผ ์ค์นํ์ฌ ํญ์ Pulse์ ๋ํ ์ฐ๊ฒฐ์ ์ด๊ณ ๊ณ์ ์คํํฉ๋๋ค. ๋ด๊ฐ ์๊ฐํ๊ธฐ์ ๋์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์๋๋๋ค.
@ l4rzy : ์ฃผ์์์ ์ผํ๋ ๊ฒ์ด ๊ฐ ๊ธธ์ ๋๋ค :-)
BTW : default.pa์ "module-suspend-on-idle"์๋ก๋ํ์ง ์์์ต๋๊น?
@flittermice ๋ด๊ฐ ์๋ํ์ต๋๋ค. ๋์์ด๋์ง ์์ต๋๋ค.
Pulseaudio๋ ์ฌ์ ํ snd_bcm2835์์ ์๋ํ์ง ์์ต๋๋ค. ์ด ํธ๋ฅผ ๋ค์ ์ด์ด ์ฃผ์๊ฒ ์ต๋๊น?
๋์๊ฒ๋ ํจ๊ณผ๊ฐ ์์์ ํ์ธํ ์ ์์ต๋๋ค. ์ ๋ ๋ค๋ฅธ ์ฝ๋์ ์ปดํ์ผ ์ต์ ์ ํ ์คํธ ํด ์์ง๋ง ์๋ํ์ง ๋ชปํ์ต๋๋ค. ์ ๋ ArchLinux ARM๊ณผ ๋ชจ๋ ์ต์ ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ๊ฐ๋ฅํ ๊ฒฝ์ฐ ๋๋ฒ๊ทธ๋ฅผ ๋์ ๋๋ฆฌ๊ฒ ์ต๋๋ค.
๋์๊ฒ ๊ฑฐ์ ์ ์ ์๋ฏ์ด ๋ฌธ์ ๋ bcm2835_alsa ๋ชจ๋์์๋ณด๊ณ ํ ๋ฒํผ ํฌ๊ธฐ์์ ๋น๋กฏ๋ฉ๋๋ค. ํ์ค์๋ณด๊ณ ๋ ์ค๋์ค ๋ฒํผ๋ 8816 ๋นํธ์ด๊ฑฐ๋ ๋คํธ์ํฌ ์คํธ๋ฆผ์์ ๋์ค๋ ์ฝ 1.56ms์ ์ค๋์ค์ ์ถฉ๋ถํฉ๋๋ค. ์ฌ์์ ์ฐพ์ ์์๋ ํ๋์จ์ด ๊ดด์ง๋ ์๋์ง๋ง ์ฌ๊ธฐ์์ ๋ญ๊ฐ ๋ฒ์ด๋ ๊ฒ ๊ฐ์ต๋๋ค. ALSA ์์ฒด (์ฆ, ํ์ค ๋ชจ๋์ด ์๋)์ ๋ฐ๋ฅด๋ฉด ๋ฒํผ ํฌ๊ธฐ๋ ํจ์ฌ ๋ ๋ ผ๋ฆฌ์ ์ธ 131072 ๋นํธ์ ๋๋ค. ๋ด๊ฐ ์ถ์ธกํ๋ค๋ฉด, pulse๋ ์นด๋์ ๋ํ ๋ฒํผ๋ฅผ ๊ฐ๋ ์ฑ์ธ ์ ์๋ค๊ณ ์๊ฐํ๊ณ 8816 ๋นํธ์ ์ํํธ์จ์ด ์ ํ์ด ์๋ค๊ณ ๋ค์ ๊ธฐ ๋๋ฌธ์ ๋๊ฐ๊ธฐ๋ฅผ ์๋ํฉ๋๋ค.
๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค (์ ๋ง ์ง์ฆ๋ฉ๋๋ค ).
ํ ... Raspberry Pi 3 B v1.2 ๋ฐ ์ต์ 4.19.34 ์ปค๋ (rpi-update์์ https://github.com/Hexxeh/rpi-firmware/commit/99c274691c07480762dcda91a0ebfe3c4f519307๋ก ์ ๋ฐ์ดํธ ๋จ)์ผ๋ก ์ด๊ฒ์ ์ฌํ ํ ์ ์์ต๋๋ค. ์ด์ ๋ฅผ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๋๋ผ์ด๋ฒ๊ฐ 2016 ๋ ๋ถํฐ ๋ณ๊ฒฝ๋์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. ์ผ๋ถ VC ํ์จ์ด๊ฐ ๋ณ๊ฒฝ ๋ ์ ์์ต๋๊น?
์๋ ํ์ธ์, Raspberry Pi 4 B v1.1์์ ์ปค๋ 5.3.0-1014์๋ pulseaudio v13.0์ ์ฌ์ด๋ ํ์ด๋ฉ๊ณผ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. pavucontrol์์ ์คํ ๋ ์ค ์ถ๋ ฅ์ ์ ํํ๋ฉด ์ฌ์ด๋๊ฐ ์์ค๋ฉ๋๋ค. ํด๊ฒฐ์ฑ ์ด ์์ต๋๊น?
@acegallagher :
ํ์ค์๋ณด๊ณ ๋ ์ค๋์ค ๋ฒํผ๋ 8816 ๋นํธ์ด๊ฑฐ๋ ๋คํธ์ํฌ ์คํธ๋ฆผ์์ ๋์ค๋ ์ฝ 1.56ms์ ์ค๋์ค์ ์ถฉ๋ถํฉ๋๋ค.
PulseAudio๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ( ์ด ๋ฌธ์ ๋ก ์ธํด) ์ฑํฌ๋ฅผ Mono๋ก ๊ฐ์งํ๊ณ ์ด๋ค์ ๋ํ ๊ธฐ๋ณธ ๋ฒํผ ํฌ๊ธฐ๊ฐ ๋ ๋ฎ๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
PA์ ๊ธฐ๋ณธ ํ๋กํ ๊ตฌ์ฑ ํ์ผ์ ์
๋ฐ์ดํธํ์ฌ ๋์ ์คํ
๋ ์ค ์ฑํฌ๊ฐ ์์ฑ๋๋๋กํ์ธ์. ๊ทธ๋ฌ๋ฉด PA๊ฐ device.buffering.buffer_size = "17632"
์ฌ์ฉํ์ฌ ์ฑํฌ๋ฅผ ์์ฑํ๊ฒ๋ฉ๋๋ค.
๋ฟก ๋นต๋จ
์๋ ํ์ธ์, Raspberry Pi 4 B v1.1์์ ์ปค๋ 5.3.0-1014์๋ pulseaudio v13.0์ ์ฌ์ด๋ ํ์ด๋ฉ๊ณผ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. pavucontrol์์ ์คํ ๋ ์ค ์ถ๋ ฅ์ ์ ํํ๋ฉด ์ฌ์ด๋๊ฐ ์์ค๋ฉ๋๋ค. ํด๊ฒฐ์ฑ ์ด ์์ต๋๊น?
ํ ์ ์๋์ง ํ์ธ PA์ ๊ธฐ๋ณธ ํ๋กํ์ผ ์ค์ ํ์ผ์ ์
๋ฐ์ดํธ ํด์ผํฉ๋๋ค ๋น์ ์ ๊ทธ ์คํ
๋ ์ค ์ถ๋ ฅ์ด ์ค์ ๋ก RPI 4 PA๋ฅผ ์ฌ์ฉํ์ฌ ์๋๋๋๋กํ๊ณ , ๋ง๋๋ load-module module-udev-detect
ํ์ง load-module module-alsa-sink
๋น์ ์ /etc/pulse/default.pa
.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
Pulseaudio๋ ์ฌ์ ํ snd_bcm2835์์ ์๋ํ์ง ์์ต๋๋ค. ์ด ํธ๋ฅผ ๋ค์ ์ด์ด ์ฃผ์๊ฒ ์ต๋๊น?