1. 현재 시스템에서 인식되고 있는 오디오 출력 장치 확인 하기
> aplay -l
이 명령어는 현재 연결된 오디오 출력 장치 목록을 보여줍니다.
혹시 명령어가 없다면 다음을 설치해주세요. (우분투)
apt-get install alsa-utils
제 시스템에서는 HDMI 츨력을 제외하고 스피커 연결이 가능한 기본 장치가 다음 처럼 보이네요.
나머지는 GPU카드에서 지원하는 HDMI 포트틀이 나열됩니다.
0 카드: PCH [HDA Intel PCH], 0 장치: ALC897 Analog [ALC897 Analog]
* 디바이스 번호 hw:0,0
2. 기본 장치로의 스피커 출력 시험
> speaker-test -c 2
-c 2는 출력 채널 수 입니다.
이렇게 하면 스피커를 통해 치치치직 하는 노이즈가 출력되어야 정상입니다.
3. aplay 명령어를 사용하여 파일 출력 시험
위에 aplay -l 을 통해 현재 시스템에서 사용 가능한 오디오 출력 장치 목록을 확인한 후 스피커가 연결된 카드번호,장치번호를 지정하여 파일을 출력합니다.
아무런 옵션을 주지않으면 디폴트 디바이스로 출력됩니다.
출력 파일은 기본적으로 wav 입니다. raw pcm을 출력하려면 옵션으로 정보를 다 기술해 주어야 합니다.
> aplay -D hw:0,0 female_44100.wav
재생 WAVE 'female_44100.wav' : Signed 16 bit Little Endian, 44100 Hz 비율, 스테레오
> aplay female_44100.wav
동일함
aplay에서 인식 가능한 샘플 형식은 다음과 같습니다:
S8 U8 S16_LE S16_BE U16_LE U16_BE S24_LE S24_BE U24_LE U24_BE S32_LE S32_BE U32_LE U32_BE FLOAT_LE FLOAT_BE FLOAT64_LE FLOAT64_BE IEC958_SUBFRAME_LE IEC958_SUBFRAME_BE MU_LAW A_LAW IMA_ADPCM MPEG GSM S20_LE S20_BE U20_LE U20_BE SPECIAL S24_3LE S24_3BE U24_3LE U24_3BE S20_3LE S20_3BE U20_3LE U20_3BE S18_3LE S18_3BE U18_3LE U18_3BE G723_24 G723_24_1B G723_40 G723_40_1B DSD_U8 DSD_U16_LE DSD_U32_LE DSD_U16_BE DSD_U32_BE
4. 출력 볼륨 조절 및 뮤트
amixer는 ALSA(Advanced Linux Sound Architecture)의 일부로 제공되는 명령 줄 오디오 조절 도구입니다.
amixer를 사용하면 오디오 장치의 볼륨, 뮤트 설정, 오디오 입력 및 출력 디바이스의 관리 등을 할 수 있습니다.
볼륨을 제어할 디바이스 목록은 aplay -l 에서 표시된 목록과 다릅니다.
제어 목록 확인
> amixer scontrols
여기서는 'Master' 디바이스를 제어합니다.
볼륨 조절하기
*현재값을 확인하기
> amixer sget "Master"
Simple mixer control 'Master',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 87
Mono: Playback 87 [100%] [0.00dB] [on]
*볼륨 변경하기
> amixer sset "Master" 70%
Simple mixer control 'Master',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 87
Mono: Playback 61 [70%] [-19.50dB] [on]
이후 aplay로 재생을 해보면 스피커 출력이 조절 되었음을 확인할 수 있습니다.
* 뮤트하기
아래 명령어로 뮤트를 토글 시킬수 있습니다.
> amixer sset "Master" toggle
Simple mixer control 'Master',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 87
Mono: Playback 87 [100%] [0.00dB] [off] <===========
> amixer sset "Master" toggle
Simple mixer control 'Master',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 87
Mono: Playback 87 [100%] [0.00dB] [on] <===========
각종 자세한 설명은 다음 alsa 문서를 참고해주세요. 워낙 많아서....
https://www.alsa-project.org/wiki/Main_Page
'IT > 리눅스' 카테고리의 다른 글
리눅스 USB Camera 연결 상태 확인하기(lsusb, v4l2) (0) | 2023.09.19 |
---|---|
(3) docker 컨테이너에서 host 오디오 디바이스 사용하기(host alsa access, host audio device) (0) | 2023.09.15 |
(1) 리눅스에서 오디오 제어를 위한 기초(Alsa, PulseAudio 등 개념) (0) | 2023.09.15 |
윈도우 아나콘다 파이썬 버전 간단히 변경하기 (windows, anaconda, python) (0) | 2023.09.12 |
우분투(Ubuntu)에 docker 및 nvidia-container-toolkit 설치하기 (0) | 2023.08.28 |