본문 바로가기

[아두이노] WAV 파일 재생하기 (MP3파일을 WAV 파일로 변환)

by rudals.kim 2022. 2. 15. 댓글 개
반응형

이전 게시글에서 마이크로 SD 카드 모듈 동작을 확인하였습니다.

 

[아두이노] Micro SD 카드 사용하기

아두이노에서 Micro SD 카드를 사용해보기 위해서 아래 모듈을 구매하였습니다. 중국 쇼핑몰 사이트에서 많이 판매되는 일반적인 마이크로 SD 카드 모듈입니다. 핀 순서는 위와 같은 순서대로 되

rudalskim.tistory.com

이번에는 마이크로 SD 카드에 WAV 파일을 저장하여 재생하는 테스트를 해 보았습니다.

 

아두이노 TMRpcm 라이브러리 설치

WAV 파일 재생하기 위해서는 TMRpcm 라이브러리를 설치해야 합니다.

아두이노 IDE를 실행한 후 라이브러리 매니저를 사용하여 TMRpcm 라이브러리를 검색 후 설치합니다.

간단히 마이크로 SD카드 내에 있는 test.wav 파일을 재생하기 위해 아래와 같이 소스코드를 작성 후 업로드해 봅니다.

 

회로 구성

이전 마이크로 SD 카드 모듈을 테스트한 회로에 저항(4.7K), 트랜지스터(NPN 타입), 스피커를 추가하여 아래와 같은 회로를 구성하였습니다.

 

MP3 파일을 WAV로 변환

TMRpcm에서 재생되는 wav 파일을 만들기 위해 아래 audacity라는 무료 오디오 에디터 프로그램을 다운로드합니다.

 

Download

Download Audacity Download the free Audacity audio editor for Windows, Mac or Linux from our download partner, FossHub: Download Audacity for Windows, Mac or Linux Audacity is free of charge.  No registration or hardware purchase required. 64-Bit For Wind

www.audacityteam.org

제 경우 윈도우10에서 사용할 수 있는 무설치 버전을 다운로드하였습니다.

https://github.com/audacity/audacity/releases/download/Audacity-3.1.3/audacity-win-3.1.3-64bit.zip

 

압축을 해제 후 Audacity.exe를 실행합니다.

프로그램 실행 후 WAV 파일로 변경될 오디오 파일을 불러옵니다.

TMRpcm 라이브러리의 README 파일을 보면 PCM/WAV 파일 포맷을 아래와 같이 설정해야 한다고 적혀있습니다.

PCM/WAV playback direct from SD card  
    Main formats: WAV files, 8-bit, 8-32khz Sample Rate, mono.

 

포맷에 맞추기 위해 저장될 WAV 파일은 8비트/모노/샘플링 레이트 16KHz 형식으로 저장하여 테스트되었습니다.

이 포맷에 맞지 않는 WAV 파일을 재생 시도를 하면 칙~~~~ 하는 시끄러운 노이즈 소리만 나오기 때문에 이 포맷을 꼭 맞춰주어야 정상적인 오디오가 재생됩니다.

 

저는 테스트를 위해 전체 오디오 파일 중 한 5초 정도 분량만 잘라내기를 하여 새로운 프로젝트를 만들었습니다.

왼쪽 트랙의 녹색 영역에서 마우스 오른쪽 버튼을 눌러 나오는 메뉴에서 '스테레오를 모노로 분할'을 선택합니다.

그러면 2개의 모노 트랙으로 분리가 되는데 아래 트랙의 X를 눌러 모노 트랙 한 개를 제거해 줍니다.

그런 후 왼쪽 아래의 프로젝트 속도를 16000 Hz로 변경합니다.

파일 -> 내보내기 -> WAV로 내보내기를 하면 아래와 같은 오디오 내보내기 창이 나오는데 붉은색 사각형과 같이 설정하여 WAV 파일로 저장해 줍니다.

저장된 test.wav 파일을 마이크로 SD 카드에 복사 후 모듈에 꽂아 줍니다.

아두이노 보드의 리셋 버튼을 눌러주면 저장된 WAV 파일이 정상적으로 재생됩니다.

 

반응형

댓글