소개
Cursor AI와 Python파일을 다운 받아서 설치하고 첫 프로그램이 지시한 프롬프트대로 코드를 작성해주고 잘 작동하는 지 확인합니다.
진행 방법
Cursor와 Python을 다음 사이트에서 다운 받는다.
Python 3.11.1 버전(https://www.Python.org)
최신버전은 3.13.1
현재 작업에 적합한 3.11.1 버전을 다운로드 항목에서 찾아서 다운받는다.
Cursor와 Python을 차례로 설치한다.
Python 설치할 때 특히 'Add Python to PATH' 옵션을 반드시 체크한다. 명령 프롬프트 실행을 제대로 할 수 있도록 한다.
설치를 마치고 Cursor를 실행하고 File-Open Folder메뉴를 선택하고 작업할 폴더를 지정한다. 이미 작성된 폴더 또는 새로 폴더를 만들어도 된다.
File-New Text File 메뉴를 선택하고 그 파일을 이름을 'ooo.py'로 지정한다. 반드시 '.py'를 지정해서 Python파일임을 알려준다.
Ctrl+L을 누르면 펼쳐지는 오른쪽의 창에서 chat 또는 composer를 선택하고 프롬프트를다음과 같이 입력한다.
'edgetts를 사용해서 텍스트를 wav 파일 형식의 음성으로 재생하는 프로그램을 작성해줘'edgetts는 마이크로소프트의 Edge 브라우저에서 제공하는 음성 파일
한번에 작성은 안되고 여러번 음성에 대한 설정을 바꾸어가면서 스스로 해결해준다.
wav 형식으로 소리가 안나오니까 mp3형식으로 하겠다고 하거나
계속 wav형식으로 해달라고 하면 이런 저런 라이브러리를 찾아가면서 시도를 해준다.
코드 전문
import edge_tts import asyncio import sounddevice as sd import soundfile as sf async def text_to_speech(text, output_file="output.wav", voice="ko-KR-SunHiNeural"): """ 텍스트를 음성으로 변환하는 함수 Args: text (str): 변환할 텍스트 output_file (str): 저장할 파일 이름 (WAV 형식) voice (str): 사용할 음성 (기본값: 한국어 여성 음성) """ communicate = edge_tts.Communicate(text, voice) await communicate.save(output_file) def play_audio(file_path): """ 음성 파일을 재생하는 함수 """ # WAV 파일 읽기 data, samplerate = sf.read(file_path) # 음성 재생 sd.play(data, samplerate) # 재생이 끝날 때까지 대기 sd.wait() async def main(): # 변환할 텍스트 text = "안녕하세요. edge-tts를 이용한 텍스트 음성 변환 테스트입니다." # 텍스트를 음성으로 변환 await text_to_speech(text) print("음성 변환이 완료되었습니다.") # 음성 파일 재생 print("음성을 재생합니다...") play_audio("output.wav") print("재생이 완료되었습니다.") if __name__ == "__main__": asyncio.run(main())
결과와 배운 점
설치할 때 경로 옵션을 체크하지 않아서 코드 실행을 하니 오류가 발생하여 제거하고 다시 설치하는 과정을 거쳤다. 옵션을 대수롭지 않게 생각한 착오가 있었다.
프롬프트대로 결과를 처음부터 작성하지도 못해도 계속 같은 요구를 하면 시도를 하면서 결국은 해결해준다.
코드를 수정해줄때 무조건 Apply가 아니라 코드를 살펴보고 선별적으로 Apply 할 필요성도 있다. 코드 흐름을 조금은 이해할 필요가 있다.
주어진 파일의 내용을 음성으로 재생해야 하는데 속도 조절이 원하는 수준으로 되지 않는 부분을 수정하는 시도를 계속하고 있다
화면에 필요한 내용의 텍스트를 표시하고 원하는 속도로 재생하도록 하는 과제가 남아있다
도움 받은 글 (옵션)
https://www.gpters.org/nocode/post/create-english-voice-vocabulary-z6aClk2CdChCNXM