xwMOOC 라즈베리 파이

인공지능 준비-소리파일 재생

학습 목표

  • wav, mp3 음성 파일을 명령라인 인터페이스로 재생한다.

1. 가장 먼저 확인할 사항 1 2

wav, mp3 음성 파일을 RPi 명령라인 인터페이스로 재생할 때 가장 먼저 확인할 사항은 snd_bcm2835 가 적재되어 있는지 확인하는 것이다.

$ lsmod | grep snd_bcm2835

만약 snd_bcm2835 적재되지 않는 경우, 다음 명령어를 실행해서 올린다.

$ sudo modprobe snd_bcm2835 

그래도 자동으로 적재되지 않는 경우, 부팅할 때 자동으로 올라가도록 다음 과정을 거쳐 설정을 한다:

$ cd /etc
$ sudo nano modules

snd-bcm2835 을 추가한다.

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be
# loaded at boot time, one per line. Lines beginning with "#" are
# ignored. Parameters can be specified after the module name.
 
snd-bcm2835

2. 오디오 출력단자 확인

다음으로 오디오 출력단자를 확인한다. 기본디폴트 설정으로 아날로그 출력단자로 설정되지 않는 경우, HDMI가 설정된다. 하지만, 다음 명령어를 통해 강제로 설정하는 것도 가능하다:

$ amixer cset numid=3 n

여기서 n 값을 지정해서 출력단자를 지정한다. 0=auto, 1=analog, 2=hdmi 예를 들어, 아날로그 출력단자로 지정하는 경우 다음과 같이 명령어를 설정한다.

$ amixer cset numid=3 1

3. wav 파일 aplay로 재생

aplay 프로그램으로 wav 파일을 재생하기 전에 .wav 파일이 필요하다.

$ wget http://www.freespecialeffects.co.uk/soundfx/sirens/police_s.wav
$ wget http://www.freespecialeffects.co.uk/soundfx/computers/bleep_01.wav

다운로드 받은 .wav 파일을 다음 명령어로 재생시킨다:

$ aplay police_s.wav

4. mp3 파일 mpg321로 재생

mp3 파일을 재생하는 방법은 많지만, mpg321 프로그램을 사용해서 명령라인 인터페이스로 실행시킨다.

$ sudo apt-get -y install mpg321

소프트웨어를 설치한 다음 재생시킬 mp3 파일을 다운로드 받는다.

$ wget http://www.freespecialeffects.co.uk/soundfx/household/bubbling_water_1.mp3

mp3 파일을 mpg321 프로그램으로 재생시킨다.

$ mpg321 bubbling_water_1.mp3

소리 볼륨을 -g 매개변수를 사용해서 조절하는 것도 가능하다. 다음 예제에서는 50%로 볼륨을 조정했다.

$ mpg321 -g 50 bubbling_water_1.mp3

5. mp3 파일 omxplayer로 재생

mp3 파일을 재생하는데, omxplayer 재생기도 권장할 만한다.

$ sudo apt-get -y install omxplayer

소프트웨어를 설치한 다음 재생시킬 mp3 파일을 다운로드 받는다.

mp3 파일을 omxplayer 프로그램으로 재생시킨다.

$ omxplayer bubbling_water_1.mp3

소리 볼륨을 +, - 키보드 자판 키를 눌러 조절하는 것도 가능하다.

$ mpg321 -g 50 bubbling_water_1.mp3