텍스트를 음성으로 변환하기

변현섭·2023년 7월 28일
0

파이썬 프로그래밍

목록 보기
2/10
post-thumbnail

1. 라이브러리 설치

라이브러리를 설치해야할 때에는 pip install을 사용한다. 여기서 pip란, 파이썬 모듈이나 패키지를 쉽게 설치할 수 있도록 도와주는 도구로, 의존성에 필요한 모듈이나 패키지를 함께 설치해 주기 때문에 매우 편리하다. 사용법은 아래와 같다.

python -m pip install {패키지 명}

이제 pip install을 사용하여, gtts를 설치해보자. 참고로, gtts는 Google Text-to-Speech의 약자로 텍스트를 음성으로 변환해주는 라이브러리이다.

python -m pip install gtts

같은 방법으로 playsound 라이브러리도 설치해준다. mp3파일을 파이썬에서 재생하기 위한 라이브러이다.

python -m pip install playsound==1.2.2

2. 텍스트를 음성으로 변환하기

아래와 같이 코드를 작성한다.

① from ... import

  • gTTS 메서드의 모듈 네임을 없애기 위해 from과 함께 import한다.

② gTTS

  • lang 속성에는 text가 한국말일 경우 'ko'를, 영어일 경우 'en'을 넣는다.
  • text에 한글과 영어가 혼재하는 경우에도 그냥 'ko'를 입력하면 된다. 대신 한국 발음으로 영어를 읽는다.
  • 만약 text에 한글과 영어가 혼재할 때, 'en'을 입력하면 영어 발음으로 한글을 읽는데, 알아듣기 어렵기 때문에 사용을 권장하지는 않는다.

③ save

  • 파일을 저장할 경로를 입력받는다.
  • 저장하고 싶은 디렉토리를 우클릭하면 상대경로 또는 절대경로를 복사할 수 있다.
  • 주로 상대경로로 작성하는 방법이 유리하다.
  • 참고로 절대경로는 역슬래시 표현 방식을 사용하는데 역슬래시는 이스케이프 문자이기 때문에 \를 표현하려면 \\를 사용해야 한다. \를 한번만 사용하려면 문자열 앞에 r을 붙이면 된다.

코드를 실행한 후, 작업 디렉토리에 가보면 welcome.mp3파일이 생성된 것을 확인할 수 있다.

3. 음성으로 출력하기

이번에는 음성변환으로 생성된 mp3파일을 곧바로 실행까지 하는 코드를 짜보기로 하자.

① os

  • 파이썬에서 제공하는 내장 모듈로, 운영 체제와 상호작용할 수 있는 다양한 메서드를 제공한다.

② abspath(__file__)

  • __file__은 현재 스크립트 파일의 경로를 나타내는 특수한 변수로, 현재 실행 중인 파일의 경로를 알려준다.
  • 즉, 현재 실행 중인 파일의 절대경로를 반환하고 있는 것이다.

③ dirname

  • 입력 받은 파일 경로 중에서 디렉토리 부분만을 추출하여 반환한다.

④ chdir

  • 디렉토리를 변경하는 함수이다.
  • 여기서는 현재 스크립트 파일이 위치한 디렉토리로 작업 디렉토리를 변경하고 있다.
  • 따라서 이후에 실행되는 파일의 저장 및 이동 등의 작업은 해당 디렉토리를 기준으로 수행된다.
  • 즉, save 메서드에 파일명만 입력해도, 현재 작업 중인 디렉토리에 저장된다.

⑤ playsound

  • "welcome.mp3" 파일을 재생한다.

파이썬 파일을 실행하자마자 음성 파일이 재생되는 것을 확인할 수 있다.

4. 파일을 음성으로 변환하기

예를 들어 아래와 같은 자기소개.txt 파일이 있다고 해보자.

이 파일을 음성으로 변환하는 코드를 작성해보자.

  • with ... as 키워드와 함께 사용하면, 열린 파일을 자동으로 닫을 수 있다.
  • rt는 텍스트모드로 파일을 읽는다는 의미이다.
  • 세번째 인자는 인코딩방식으로, UTF8을 지정하고 있다.

파일을 실행시키면, mp3파일이 작업 디렉토리에 저장되고, 음성파일이 재생된다.

profile
Java Spring, Android Kotlin, Node.js, ML/DL 개발을 공부하는 인하대학교 정보통신공학과 학생입니다.

0개의 댓글