![]()
pyttsx3란 무엇인가요?

pyttsx3는 Python에서 사용할 수 있는 TTS 라이브러리로, 오프라인에서 작동하는 장점이 있습니다. 이 라이브러리는 인터넷 연결 없이도 작동할 수 있기 때문에, 언제 어디서나 텍스트 음성 변환을 사용할 수 있습니다.
pyttsx3는 Windows, macOS, Linux 등 다양한 운영체제에서 지원되며, 여러 TTS 엔진을 지원합니다. 이러한 점은 개발자들에게 큰 유연성을 제공합니다.
pyttsx3의 특징
| 특징 | 설명 |
|---|---|
| 오프라인 사용 | 인터넷 연결 없이도 작동할 수 있습니다. |
| 다양한 플랫폼 지원 | Windows, macOS, Linux 등 여러 운영체제를 지원합니다. |
| 다양한 음성 엔진 | 여러 TTS 엔진을 지원하여 다양한 음성 스타일을 선택할 수 있습니다. |
| 속성 조정 가능 | 음성의 속도, 볼륨 및 음성 유형 등을 조정할 수 있습니다. |
pyttsx3는 텍스트 음성 변환을 간편하게 구현할 수 있는 도구로, 프로젝트에 인터랙티브한 요소를 추가하고 싶을 때 매우 유용합니다. 이제 pyttsx3 라이브러리를 설치하고 기본적인 사용법을 살펴보겠습니다.
pyttsx3 설치하기

pyttsx3를 사용하기 위해서는 먼저 이 라이브러리를 설치해야 합니다. Python 패키지 관리자인 pip를 사용하여 간단하게 설치할 수 있습니다.
bash
pip install pyttsx3
설치 중 오류가 발생하는 경우, 예를 들어 "No module named win32com.client"와 같은 메시지를 받는다면 추가적으로 pypiwin32 패키지를 설치해야 할 수 있습니다. 이 경우, 다음 명령어를 사용하여 설치해 주시면 됩니다.
bash
pip install pypiwin32
설치 오류 해결하기
| 오류 메시지 | 해결 방법 |
|---|---|
| No module named win32com.client | pip install pypiwin32 명령어 실행 |
| No module named win32 | pip install pypiwin32 명령어 실행 |
| No module named win32api | pip install pypiwin32 명령어 실행 |
이제 pyttsx3가 설치되었다면, Python 스크립트에 이 라이브러리를 임포트하여 텍스트 음성 변환을 시작할 수 있습니다.
기본적인 사용법

pyttsx3를 사용하여 텍스트를 음성으로 변환하기 위해서는 먼저 엔진을 초기화해야 합니다. 이를 위해 init() 함수를 호출하여 음성 합성을 위한 엔진 인스턴스를 생성합니다.
```python import pyttsx3
engine = pyttsx3.init()
engine.setProperty('rate', 150) # 음성 속도 설정 engine.setProperty('volume', 1) # 볼륨 설정 (0.0부터 1.0까지)
text = "안녕하세요. 어떻게 도와드릴까요?"
engine.say(text) engine.runAndWait() ```
위의 코드를 실행하면 "안녕하세요. 어떻게 도와드릴까요?"라는 음성이 출력됩니다.
say() 메서드를 통해 음성으로 변환할 텍스트를 추가하고, runAndWait() 메서드를 호출하여 엔진이 음성을 처리하도록 합니다.
음성 속성 조정하기
| 속성 | 설명 |
|---|---|
| rate | 음성의 속도를 설정합니다. 기본값은 200입니다. |
| volume | 음성의 볼륨을 설정합니다. 0.0(최소)에서 1.0(최대)까지 가능합니다. |
| voice | 사용할 음성을 설정합니다. 남성 또는 여성 음성을 선택할 수 있습니다. |
사용자는 음성 속도와 볼륨 외에도 다양한 음성을 선택할 수 있습니다. 특정 음성을 선택하고 싶다면, getProperty('voices')를 통해 사용 가능한 음성 목록을 확인한 후, 원하는 음성의 인덱스를 사용하여 설정할 수 있습니다.
음성 선택하기

음성의 종류는 시스템에 따라 다를 수 있습니다. 아래 코드를 통해 사용 가능한 음성을 출력해볼 수 있습니다.
python
voices = engine.getProperty('voices')
for index, voice in enumerate(voices):
print(f"Voice {index}: {voice.name} - {voice.languages}")
위의 코드를 실행하면 시스템에 설치된 음성 목록이 출력되며, 각 음성의 이름과 지원하는 언어를 확인할 수 있습니다. 원하는 음성을 선택한 후, 아래와 같이 설정할 수 있습니다.
python
engine.setProperty('voice', voices[0].id) # 첫 번째 음성을 선택
이제 사용자는 다양한 음성을 선택하여 텍스트를 음성으로 변환할 수 있습니다. 이로 인해 더 매력적이고 개인화된 음성을 생성할 수 있습니다.
응용 프로그램에 통합하기
pyttsx3를 사용하여 텍스트 음성 변환 기능을 응용 프로그램에 통합하는 방법에 대해 알아보겠습니다. 이 라이브러리는 가상 비서, 오디오 북, 교육용 소프트웨어 등 다양한 용도로 활용될 수 있습니다.
```python import pyttsx3
def text_to_speech(): engine = pyttsx3.init() while True: text = input("변환할 텍스트를 입력하세요 (종료하려면 'exit' 입력): ") if text.lower() == 'exit': break engine.say(text) engine.runAndWait()
text_to_speech() ```
위의 코드를 실행하면 사용자가 입력한 텍스트를 음성으로 변환하여 재생하게 됩니다. 사용자가 'exit'를 입력할 때까지 계속해서 텍스트를 입력받습니다.
이러한 방식으로pyttsx3를 활용하여 다양한 프로젝트에 음성 변환 기능을 추가할 수 있습니다. 텍스트 음성 변환 기능을 통해 사용자 경험을 향상시키고, 보다 흥미로운 인터랙션을 제공할 수 있습니다.
결론
pyttsx3는 Python에서 텍스트 음성 변환을 쉽고 효율적으로 구현할 수 있는 강력한 도구입니다. 오프라인에서도 사용 가능하며, 다양한 음성 엔진과 음성 속성 조정 기능을 통해 사용자 맞춤형 음성을 생성할 수 있습니다.
pyttsx3를 활용하여 텍스트 음성 변환 기능을 손쉽게 구현해 보시기 바랍니다.다양한 응용 프로그램에 적용해 보며, 여러분의 창의력을 마음껏 발휘해 보세요!