Android/Android Audio

ALSA 유저 스페이스 라이브러리 활용 (aplay, arecord, alsamixer)

임베디드 친구 2025. 6. 3. 15:59
728x90
반응형

ALSA 유저 스페이스 라이브러리 활용 (aplay, arecord, alsamixer)

1. ALSA 개요

Advanced Linux Sound Architecture(ALSA)는 리눅스 커널에서 사운드 카드 및 오디오 장치를 제어하는 표준 오디오 프레임워크입니다. ALSA는 커널 레벨 드라이버뿐만 아니라 유저 스페이스에서 오디오를 관리할 수 있는 라이브러리와 유틸리티를 제공합니다.

이번 포스팅에서는 ALSA의 유저 스페이스 라이브러리를 활용하여 오디오를 재생 및 녹음하고, 믹서 설정을 조정하는 방법에 대해 다뤄보겠습니다.


2. ALSA 유저 스페이스 라이브러리 소개

ALSA 유저 스페이스 라이브러리는 오디오 장치를 쉽게 다룰 수 있도록 API와 여러 유틸리티 도구를 제공합니다. 대표적인 도구로는 다음과 같은 것들이 있습니다.

  • aplay: 오디오 파일을 재생하는 명령어
  • arecord: 오디오를 녹음하는 명령어
  • alsamixer: 오디오 볼륨과 믹서 설정을 조정하는 명령어
  • amixer: 커맨드라인에서 오디오 설정을 변경하는 명령어

이제 각각의 도구를 사용하여 ALSA를 활용하는 방법을 살펴보겠습니다.


3. aplay를 이용한 오디오 재생

3.1 aplay 개요

aplay는 ALSA에서 제공하는 간단한 오디오 파일 재생 유틸리티로, .wav 파일과 같은 PCM 기반 오디오 파일을 재생할 수 있습니다. MP3 등의 압축 포맷을 지원하지 않으며, WAV와 같은 RAW PCM 데이터를 기반으로 동작합니다.

3.2 aplay 설치 확인

aplay는 일반적으로 alsa-utils 패키지에 포함되어 있습니다. 설치 여부를 확인하려면 다음 명령어를 실행합니다.

$ aplay --version

설치되지 않은 경우, 다음과 같이 패키지를 설치할 수 있습니다.

# Ubuntu/Debian 계열
$ sudo apt-get install alsa-utils

# CentOS/RHEL 계열
$ sudo yum install alsa-utils

3.3 오디오 재생 방법

기본적인 오디오 재생은 다음과 같은 방식으로 실행할 수 있습니다.

$ aplay sample.wav

기본적으로 ALSA는 시스템의 기본 오디오 장치를 사용하여 파일을 재생합니다.

3.4 특정 오디오 장치에서 재생하기

시스템에 여러 개의 오디오 장치가 있는 경우, 특정 장치를 지정하여 재생할 수 있습니다.

$ aplay -D plughw:1,0 sample.wav

여기서 plughw:1,0은 특정 오디오 장치의 하드웨어 ID입니다. 장치 목록은 다음 명령어로 확인할 수 있습니다.

$ aplay -l

4. arecord를 이용한 오디오 녹음

4.1 arecord 개요

arecord는 ALSA의 기본 오디오 녹음 유틸리티로, .wav 형식의 오디오를 녹음할 수 있습니다.

4.2 기본 녹음 방법

마이크에서 오디오를 녹음하려면 다음 명령어를 실행합니다.

$ arecord -d 5 -f cd -t wav -r 44100 test.wav

위 명령어의 옵션은 다음과 같습니다.

  • -d 5: 5초 동안 녹음
  • -f cd: CD 품질(16-bit, 44.1kHz, 스테레오)로 녹음
  • -t wav: 파일 형식을 WAV로 지정
  • -r 44100: 샘플링 레이트를 44100Hz로 지정

4.3 특정 입력 장치에서 녹음하기

녹음을 수행할 오디오 입력 장치를 지정하려면 -D 옵션을 사용합니다.

$ arecord -D plughw:1,0 -d 10 test.wav

오디오 입력 장치 목록을 확인하려면 다음 명령어를 실행합니다.

$ arecord -l

5. alsamixer를 이용한 오디오 설정 조정

5.1 alsamixer 개요

alsamixer는 ALSA에서 제공하는 터미널 기반 오디오 믹서 조정 유틸리티입니다. 볼륨 조절 및 오디오 장치 설정을 변경할 수 있습니다.

5.2 alsamixer 실행 방법

alsamixer를 실행하려면 다음 명령어를 입력합니다.

$ alsamixer

화면이 열리면 키보드를 사용하여 오디오 설정을 조정할 수 있습니다.

  • 화살표 ← →: 조정할 채널 선택
  • 화살표 ↑ ↓: 볼륨 증가/감소
  • M: 음소거/해제
  • Esc: 종료

5.3 특정 오디오 장치 설정 변경

여러 개의 오디오 장치가 있는 경우 특정 장치를 선택할 수 있습니다.

$ alsamixer -c 1

장치 번호는 aplay -l 명령어를 사용하여 확인할 수 있습니다.


6. amixer를 이용한 명령어 기반 오디오 조정

터미널에서 GUI 없이 오디오 설정을 변경하려면 amixer를 사용할 수 있습니다.

6.1 현재 볼륨 확인

$ amixer get Master

6.2 볼륨 변경

$ amixer set Master 80%

6.3 음소거 설정

$ amixer set Master mute

6.4 음소거 해제

$ amixer set Master unmute

7. 결론

ALSA 유저 스페이스 라이브러리는 다양한 오디오 작업을 수행할 수 있도록 aplay, arecord, alsamixer, amixer와 같은 도구를 제공합니다. 이번 포스팅에서는 각각의 도구를 활용하여 오디오 재생, 녹음 및 설정 변경 방법을 다뤘습니다. 이를 통해 리눅스 환경에서 효율적으로 오디오를 제어할 수 있습니다.

728x90
반응형