티스토리 뷰

2.14.라즈베리파이  GPIO Music Box

각 버튼은 다른 사운드를 재생합니다!

이 프로젝트는 라즈베리 파이의 GPIO 핀에 버튼을 연결 한 다음 간단한 파이썬 애플리케이션으로 사운드를 재생하는 방법을 보여줍니다.

libav-tools는 터미널에 다음을 입력하여 설치할 수있는 모듈입니다.


sudo apt install libav-tools


프로젝트 설정하기

이 프로젝트에 샘플 사운드가 필요할 것입니다. Raspbian에는 많은 사운드 파일이 있지만 파이썬을 사용하여 연주하는 것은 약간 까다 롭습니다. 그러나 사운드 파일을 파이썬에서 직접 사용할 수있는 다른 파일 형식으로 변환하는 것은 쉽습니다.

가장 먼저해야 할 일은 프로젝트의 모든 파일을 저장할 새 디렉토리를 만드는 것입니다. 홈 디렉토리에 gpio-music-box라는 디렉토리를 만듭니다.

Raspberry Pi에서 디렉토리를 만드는 방법에는 두 가지가 있습니다. 첫 번째는 GUI를 사용하고 두 번째는 터미널을 사용합니다.


샘플 사운드 복사하기

이전과 같은 방법으로 gpio-music-box 디렉토리에 samples라는 새 디렉토리를 만듭니다.

/ opt / sonic-pi / etc / samples에 많은 샘플 사운드가 저장되어 있습니다. 모든 샘플 사운드를 gpio-music-box / samples 디렉토리에 복사하십시오.

cp 명령을 사용하여 파일을 복사하십시오. 구문은 다음과 같습니다.

cp source-directory/file-to-copy.txt destination-directory/.
여러 파일을 복사하려면 와일드 카드 문자 *를 사용할 수 있습니다.

cp /opt/sonic-pi/etc/samples/* /home/pi/my-new-directory/samples/.


완료되면 samples 디렉토리에서 모든 .flac 사운드 파일을 볼 수 있어야합니다.



샘플 변환

파이썬은 .flac 파일을 재생하는 데 어려움이 있으므로 모든 파일을 .wav 형식으로 변환해야합니다.


오디오 파일을 변환하는 방법과 파일을 일괄 처리하는 방법을 보려면 아래 섹션을보십시오. bash를 사용하여 모든

.flac 샘플을 한 번에 변환 할 수 있는지 확인하십시오.



미디어 파일 변환

libav-tools라는 소프트웨어를 사용하여 Raspberry Pi의 미디어 파일을 쉽게 변환 할 수 있습니다.


가장 먼저 할 일은 소프트웨어를 다운로드하는 것입니다. 터미널을 열고 다음을 입력하십시오 :


 sudo apt update && sudo apt install libav-tools -y

터미널에 다음을 입력하여 소프트웨어가 설치되었는지 확인하십시오.

avconv -version

사운드 파일이나 비디오 파일을 한 형식에서 다른 형식으로 변환하려면 다음 기본 명령을 사용할 수 있습니다.

avconv -i input.ext1 output.ext2

예를 들어 wav 파일 (.wav)을 mp3 파일 (.mp3)로 변환하려면 다음을 입력합니다.

avconv -i my_video.wav my_video.mp3


flac 파일 wav 파일로 변환하기 

pi@raspberrypi:~/my-new-directory/samples $ for f in *.flac

> do

> avconv -i "$f" "${f%.flac}.wav"

> done


소리 재생하기


from gpiozero import Button import pygame.mixer from pygame.mixer import Sound from signal import pause pygame.mixer.init() button_sounds = { Button(2): Sound("samples/drum_tom_mid_hard.wav"), Button(3): Sound("samples/drum_cymbal_open.wav"), } for button, sound in button_sounds.items(): button.when_pressed = sound.play pause()




댓글
최근에 달린 댓글
글 보관함
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Total
Today
Yesterday
    뽀로로친구에디
    최근에 올라온 글