[python] PySimpleGUI에서 사운드 재생 및 녹음 기능 사용하기

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로 만든 사용자 인터페이스에 사운드 기능을 추가할 수 있습니다. 자세한 내용은 PySimpleGUIplaysound 공식 문서를 참고하시기 바랍니다.