소개
엑셀 워크시트 9개에 입력된 한글과 영어 회화 문장을 음성(wav)으로 들으면서 반복 학습하는 도구를 만들려고 했습니다.
음성 재생 속도 조절 기능, 학습 시작위치 선택기능, 주제 선택 기능 등을 가진 학습도구로 한글 음성 재생 후에 일정 시간이 흐르면 영어 음성이 나오도록 해서 영어 문장을 외운 정도를 확인할 수 있도록 했습니다.
진행 방법
Cursor 유료버전과 Python 3.1.1을 사용해서 입코딩으로 6시간 정도 걸려서 작성했습니다.
9개의 시트에 한글과 영문 문장이 입력되어 있는 koreng.xlsx 파일을 준비했습니다.
구성할 화면 이미지를 주고 프롬프트를 다음과 같이 입력했습니다.
1. 화면구성을 이미지처럼하고 하고 2. koreng.xlsx파일의 시트이름과 버튼의 이름이 연결되도록 해줘 3. subject의 해당 버튼을 클릭하고 start버튼을 클릭하면 B열의 한글과 C열의 영어를 edge-tts시스템을 사용해서 wav 형식으로 재생해줘 4. speed 라디오 버튼을 클릭하면 해당 speed가 음성재생에 적용되도록 해줘 5. pause버튼은 일시 정지고 end버튼을 종료버튼이야
이미지처럼 비슷하게라도 구성이 되기까지 여러차례 프롬프트로 수정을 요청했고 수정과정에서 아래와 같은 이미지가 디자인이 더 나은 것 같아서 사용하기로 결정했습니다.
모든 기능들이 잘 실행되어서 만족스러웠는데 진행 슬라이더바 기능을 추가하는 과정에서 잘되던 기능들이 안되거나 오류가 발생해서 다시 동일한 입코딩을 여러 시간동안 해야 했습니다. 이때 Python코드를 직접 수정하고 싶은 생각과 Cursor AI사용을 좀 더 원활하게 사용했으면 하는 아쉬움이 있었습니다.
최종적으로 슬라이더와 버튼 간의 기능들이 원활하게 적용되어 입코딩만으로 첫완성작이 만들어지는 것에 만족스러웠습니다.
실행 파일로 작성해달라는 프롬프트로 지시하니까 setup.py라는 파일을 아래와 같은 내용으로 자동으로 만들고 추가적인 설치 과정을 적용해야 했습니다.
import sys
from cx_Freeze import setup, Executable
# 의존성 패키지 목록
build_exe_options = {
"packages": [
"tkinter",
"pandas",
"edge_tts",
"sounddevice",
"soundfile",
"asyncio",
"threading",
"queue",
"os"
],
"include_files": [
"koreng.xlsx" # 엑셀 파일 포함
]
}
# 실행 파일 설정
base = None
if sys.platform == "win32":
base = "Win32GUI" # Windows GUI 애플리케이션
setup(
name="KorEngPlayer",
version="1.0",
description="Korean English Text Player",
options={"build_exe": build_exe_options},
executables=[
Executable(
"second.py", # 메인 파일
base=base,
target_name="KorEngPlayer.exe", # 실행 파일 이름
icon=None # 아이콘 파일 (원하는 경우 추가)
)
]
)
KorEngPlayer.exe 실행 파일을 작성되고 잘 작동해서 영어회화 공부에 도움이 될 것 같습니다.
결과와 배운 점
edge-tts 시스템 적용이 잘 안되어서 비슷한 프롬프트 지시를 여러차례 해야 했습니다.
버튼에 색상을 지정할 수 있어서 디자인이 만족스럽습니다.
Python이 영어 대소문자를 구분해서 엑셀 시트 이름을 화면 버튼의 글자와 동일하게 해야 했습니다.
문장이 긴 경우에 행바꿈을 했는데 그 길이를 입코딩이 아니라도 내용을 알 수 있어 직접 수정할 수 있어서 작업이 편리했습니다.
입코딩만으로 원하는 작업이 완성되어 입코딩에 자신이 생기는 것 같습니다.
입코딩을 잘하기 위해 프롬프트를 잘 작성하고 Cursor 사용법에 익숙해지면 작업 시간이 지금보다 많이 단축될 것 같습니다.
완성 파일 일부 동영상