PySimpleGUI는 사용자 인터페이스를 만들기 위한 간단하고 사용하기 쉬운 Python 라이브러리입니다. 이 라이브러리를 사용하여 사운드를 재생하거나 녹음하는 기능을 추가할 수 있습니다. 이번 블로그 포스트에서는 PySimpleGUI를 사용하여 사운드 재생 및 녹음 기능을 구현하는 방법에 대해 알아보겠습니다.
필요한 라이브러리 설치하기
먼저 PySimpleGUI와 사운드 관련 기능을 제공하는 playsound 라이브러리를 설치해야 합니다. 아래의 명령어를 사용하여 설치할 수 있습니다.
pip install PySimpleGUI playsound
사운드 재생하기
다음은 PySimpleGUI를 사용하여 사운드를 재생하는 예제 코드입니다.
import PySimpleGUI as sg
from playsound import playsound
def play_sound():
sg.popup('사운드 재생')
playsound('sound.mp3')
layout = [[sg.Button('재생', key='play')]]
window = sg.Window('음악 재생기', layout)
while True:
event, values = window.read()
if event == sg.WINDOW_CLOSED:
break
elif event == 'play':
play_sound()
window.close()
위의 예제 코드에서는 ‘재생’ 버튼을 클릭하면 ‘sound.mp3’ 파일을 재생하는 기능을 구현했습니다. playsound
함수를 사용하여 파일을 재생할 수 있습니다.
사운드 녹음하기
다음은 PySimpleGUI를 사용하여 사운드를 녹음하는 예제 코드입니다.
import PySimpleGUI as sg
import sounddevice as sd
import soundfile as sf
def record_sound():
sg.popup('사운드 녹음')
duration = 10 # 녹음할 시간(초)
fs = 44100 # 샘플링 주파수
recording = sd.rec(int(duration * fs), samplerate=fs, channels=1)
sg.popup('녹음이 시작되었습니다.')
sd.wait()
sg.popup('녹음이 완료되었습니다.')
sf.write('recorded.wav', recording, fs)
layout = [[sg.Button('녹음', key='record')]]
window = sg.Window('음성 녹음기', layout)
while True:
event, values = window.read()
if event == sg.WINDOW_CLOSED:
break
elif event == 'record':
record_sound()
window.close()
위의 예제 코드에서는 ‘녹음’ 버튼을 클릭하면 10초간의 사운드를 녹음하고, 녹음된 파일을 ‘recorded.wav’로 저장하는 기능을 구현했습니다. sounddevice
라이브러리를 사용하여 사운드를 녹음하고, soundfile
라이브러리를 사용하여 녹음된 파일을 저장할 수 있습니다.
결론
이번 블로그 포스트에서는 PySimpleGUI를 사용하여 사운드 재생 및 녹음 기능을 구현하는 방법에 대해 알아보았습니다. 이러한 기능을 활용하면 PySimpleGUI로 만든 사용자 인터페이스에 사운드 기능을 추가할 수 있습니다. 자세한 내용은 PySimpleGUI와 playsound 공식 문서를 참고하시기 바랍니다.