본문 바로가기

IT/리눅스

(2) 리눅스 오디오 장치 확인 및 소리 재생 하기 (console, alsa, speaker-test, aplay, amixer)

반응형

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

 

AlsaProject

 

www.alsa-project.org

 



 

 

 

반응형