이 포스팅에서는 Python 텍스트를 음성으로 변환하는 예제를 얻을 수 있습니다.
우리가 알고 있듯이 일부 사람들은 난독증 및 기타 학습 장애로 인해 많은 양의 텍스트를 읽는 데 어려움을 겪고 있으며, 어떤 사람들은 기본적인 문학적 수준을 가지고 있습니다.
인터넷의 대부분이 텍스트 형식으로 되어 있기 때문에 인터넷 검색에 좌절감을 느끼는 경우가 많습니다. 반면에 어떤 사람들은 읽는 대신 뉴스 기사(또는 이와 유사한 것)를 듣거나 보는 것을 선호합니다. 따라서 이러한 모든 문제를 해결하기 위해 "텍스트 음성 변환"이라는 개념이 떠오릅니다.
그래서 이번 튜토리얼에서는 Python에서 텍스트를 음성으로 변환하는 방법을 배우겠습니다. 여기서는 텍스트를 음성으로 변환하는 가장 좋고 쉬운 두 가지 방법을 보여 드리겠습니다.
인터넷 연결 없이 텍스트 음성 변환(pyttsx3 사용)
인터넷에 연결된 텍스트 음성 변환(gTTS 사용)
Python 텍스트 음성 변환 예제
방법 1: pyttsx3 사용
Pyttsx3은 Python 3 및 Python 2와 모두 호환되고 여러 TTS 엔진을 지원하는 오프라인 크로스 플랫폼 Test-to-Speech 라이브러리입니다.
pyttsx3을 사용하려면 먼저 다운로드하여 설치해야 합니다. 설치하려면 명령 프롬프트나 터미널을 열고 다음 명령을 입력하세요.
핍 설치 pyttsx3
Windows 운영 체제를 사용하는 경우 " pypiwin32 " 도 설치해야 작동합니다. pypiwin32를 다시 설치하려면 이 명령을 입력하고 명령 프롬프트에서 Enter 키를 누르세요.
python -m pip 설치 pypiwin32
두 명령을 모두 실행하는 동안 인터넷에 연결되어 있는지 확인하세요. 이것은 한 번만 수행하면 됩니다. 이제 pyttsx3을 설치하여 사용하면 프로그램은 아래와 같습니다.
이 프로그램의 첫 번째 줄에서는 사용하기 위해 pyttsx3을 초기화한 다음 say() 메서드에 텍스트를 전달합니다 . 그런 다음 음성의 볼륨 및 속도와 같은 일부 속성을 설정합니다. 여기서는 속도로 120을 전달합니다. 이는 분당 120단어를 말하고 위 프로그램의 마지막 줄에서 " hello yoyo twelve "라는 오디오를 생성한다는 의미입니다.
또한 여성 음성(기본적으로 남성), 연령 및 언어로 변경할 수 있는 것처럼 음성을 수정할 수도 있습니다. 자세한 내용은 http://pyttsx3.readthedocs.io/en/latest/engine.html 을 참조하세요.
방법 2: gTTS(Google Text to Speech) 사용
Google Text to Speech는 최고의 TTS API 중 하나입니다. 다른 API는 금속 음성이나 로봇 음성과 같은 오디오를 생성하는 반면 인간 음성과 거의 유사한 오디오를 생성하기 때문입니다. 그러나 gTTS에는 단점도 있습니다. 텍스트를 오디오로 변환하려면 인터넷 연결이 필요합니다. 따라서 다른 오프라인 API보다 느릴 수 있습니다.
gTTS API를 설치하려면 명령 프롬프트나 터미널을 열고 다음 명령을 입력하세요.
pip 설치 gTTS
변환 프로그램은 아래와 같습니다.
다른 API와 달리 오디오를 생성하고 프로그램이 저장된 동일한 디렉터리에 저장됩니다.
이 오디오를 재생하려면 명령줄에서 오디오를 재생하는 또 다른 도구가 필요합니다.
Linux(예: Ubuntu)를 사용하는 경우 mpg321이 최고의 명령줄 플레이어가 될 것입니다.
설치하려면 터미널을 열고 다음 명령을 입력하세요.
sudo apt-get mpg321 설치
이제 이 명령을 사용하여 명령줄에서 오디오를 재생할 수 있습니다.
mpg321 audio.mp3 -조용함
Python 프로그램에서 이 명령을 실행하려면 위 프로그램에 다음 두 줄을 추가하세요.
반면, Windows의 경우 mp3 파일을 재생하기 위해 새로운 소프트웨어나 API를 설치할 필요가 없습니다. 우리가 해야 할 일은 명령 프롬프트를 열고 파일 이름을 입력하는 것뿐입니다. 그러면 기본 미디어 플레이어를 사용하여 해당 파일이 재생됩니다. 따라서 Python에서 이 명령을 실행하려면 위 프로그램에 다음 두 줄을 추가하십시오.
import os #will be on the top
'Python' 카테고리의 다른 글
Python 문자열을 정수로 변환 (0) | 2024.01.28 |
---|---|
Python 문자열을 날짜/시간으로 변환 (1) | 2024.01.28 |
Python 매트릭스 추가 (0) | 2024.01.28 |
Python 행렬 곱셈 (1) | 2024.01.27 |
Python에 관한 질문 및 답변 (1) | 2024.01.27 |