🎮 라이브러리 설치
파이썬에는 누군가 미리 만들어둔 라이브러리(모듈)이 많다
일반적으로 많이 사용하는 건 아나콘다 설치시 함께 설치된다
하지만 내가 사용하고자 하는 라이브러리가 모두 설치되는 건 아니니 필요할 때 마다 설치를 해주어야 한다
터미널을 열고 명령어를 입력한다
✅ 터미널 열기
- ctrl키와 `키를 동시에 누르거나
- 메뉴에서 터미널 → 새 터미널을 통해 열 수 있다
- 쓰레기통 버튼을 누르면 터미널이 종료된다
- 여러개의 터미널을 열 수도 있다
✅ gtts 라이브러리
- 문자를 음성으로 변환해주는 라이브러리
✅ playsound 라이브러리
- mp3 파일을 파이썬에서 재생하기 위한 라이브러리
✅ 엑세스 거부 에러
- 엑세스 거부 에러가 뜨면 VSCode를 관리자 권한으로 실행하여 다시 시도한다
🎮 텍스트를 음성으로 변환하기
- gtts 라이브러리로부터 gTTS를 불러온다. gtts 라이브러리 안에 gTTS 기능만 불러와서 사용한다
- text 변수에 해당 텍스트를 바인딩한다
- text 변수의 문자열을 ko(한글)로 변환하여 tts 변수에 바인딩한다
- 해당 폴더에 파일명:hi, 확장자: mp3로 저장한다.
- 폴더 안에 있다는 것을 표현하기 위해 역슬래시(\\)를 사용한다
- r은 파이썬에서 \다음을 특별한 명령어 형태로 인식하지 않고 역슬래시 자체로 이해하도록 해준다
✅ 파이썬의 경로
- 파일 경로상의 디렉터리를 구분할 때 윈도우에서는 역슬래시(\\)를 사용하고 리눅스 계열에서는 슬래시(/)를 사용한다
- 파이썬에서 문자열 표기를 하는 경우 역슬래시를 사용하기 위해서는 역슬래시를 두 번 연속 사용해야 한다
- 매번 두 번씩 붙이기 귀찮다면 문자열 앞에 r을 붙여 역슬래시 \\가 특별한 기능을 하지 않도록 한다
✅ 파이썬 프로젝트의 경로
- 절대 경로: C:\파이썬과40개의작품들\3.텍스트를 음성으로 변환
- 상대 경로: 3. 텍스트를 음성으로 변환
🎮 생성된 음성 파일을 파이썬에서 바로 실행해보기
- playsound 모듈로부터 playsound를 불러와 사용한다
- 경로를 이동하기 위해서 os라이브러리를 불러온다
- 경로를 현재 .py 파일을 실행하는 경로로 이동한다
- playsound에서 한글을 인식하지 못해 이동한 것
- hi.mp3 파일을 새로 생성
- hi.mp3 파일을 재생한다
😵 에러
playsound는 내부적으로 mpg123라는 외부 프로그램을 사용한다
pygame 라이브러리는 다양한 플랫폼에서 음악을 재생하는 데 사용할 수 있는 대안이다
이 두개를 설치하니 바로 재생됐다!
🎮 파일에서 문자를 읽어 음성으로 출력하기
- 같은 폴더 내에 텍스트파일 만들기
- 나의텍스트.txt 경로를 바인딩한다
- 파일을 f라는 이름으로 오픈한다. 한글로 작성된 파일을 열기 때문에 'rt', encoding='UTF8' 형식으로 열어 글자가 깨지지 않게 한다
- 파일의 전체 내용을 읽어 read_file 변수에 바인딩한다
- with는 파일을 열고 종료되면 자동으로 파일을 닫는다
- 파일을 열 때 with를 사용하면 코드가 간결해진다
- myText.mp3 파일을 생성하고 음성으로 출력한다
파일 생성도 되고 음성 재생도 됨
✍🏻 더 알아보기
💡 r
r을 붙이는 것은 raw string literal을 의미하며, \를 이스케이프 문자가 아닌 문자 그대로 해석하도록 합니다. 코드에서 경로를 지정할 때, \는 Windows에서 파일 경로를 나타내기 위한 구분자로 사용되는데, 이를 이스케이프 문자로 해석하지 않고 문자 그대로 사용하려면 r을 붙이는 것이 편리합니다.
예를 들어, tts.save("hi.mp3")에서 \를 사용하면 이를 이스케이프 문자로 처리하게 되어 문제가 발생할 수 있습니다. 그러나 tts.save(r"3.텍스트를음성으로변환하기\hi.mp3")에서는 \를 이스케이프 문자로 처리하지 않아도 됩니다.
따라서 경로를 지정할 때 \를 사용하려면 raw string literal인 r을 사용하는 것이 좋습니다. 하지만 /로 경로를 지정하는 경우에는 이러한 처리가 필요 없습니다. Windows에서는 주로 \를 사용하지만, Linux나 macOS 등 다른 운영체제에서는 /를 사용하는 경우가 많습니다.
💡 gtts
gtts는 "Google Text-to-Speech"의 약어로, 파이썬에서 텍스트를 음성으로 변환하는 데 사용되는 라이브러리입니다. 이 라이브러리는 Google Text-to-Speech API를 사용하여 텍스트를 음성으로 변환하고, 변환된 음성을 오디오 파일로 저장하거나 스트리밍으로 재생할 수 있습니다.
출처: 만들면서 배우는 파이썬과 40개의 작품들
'Python > Python_Advanced' 카테고리의 다른 글
[파이썬40작] 02. 컴퓨터 내외부 IP 확인하기 (0) | 2024.01.30 |
---|---|
[파이썬40작] 01. 숫자 맞추기 게임 만들기 (1) | 2024.01.23 |
[파이썬40작] 00. 파이썬 문법 (0) | 2024.01.20 |