From cb0c8ddd060b37368c2e8d8530b9c9f25d5c16af Mon Sep 17 00:00:00 2001 From: Malar Kannan Date: Wed, 22 Jan 2020 13:52:59 +0530 Subject: [PATCH] 1. make pyaudio as extra requirement 2. warn if pyaudio not installed if player_gen is used --- setup.py | 4 +++- taco2/tts.py | 7 ++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 256b918..2923e73 100644 --- a/setup.py +++ b/setup.py @@ -18,9 +18,10 @@ requirements = [ "scipy~=1.3.0", "Unidecode==1.0.22", "torch~=1.1.0", - "PyAudio==0.2.11" ] +extra_requirements = {"playback": ["PyAudio==0.2.11"]} + setup_requirements = ["pytest-runner"] test_requirements = ["pytest"] @@ -44,6 +45,7 @@ setup( ], description="Taco2 TTS package.", install_requires=requirements, + extras_require=extra_requirements, long_description=readme + "\n\n" + history, include_package_data=True, keywords="tacotron2 tts", diff --git a/taco2/tts.py b/taco2/tts.py index 7f88252..84bfb97 100644 --- a/taco2/tts.py +++ b/taco2/tts.py @@ -3,9 +3,9 @@ import numpy as np import torch -import pyaudio import klepto import argparse +import warnings from pathlib import Path from .model import Tacotron2 from glow import WaveGlow @@ -156,6 +156,11 @@ class TTSModel(object): def player_gen(): + try: + import pyaudio + except ModuleNotFoundError: + warnings.warn("module 'pyaudio' is not installed requried for playback") + return audio_interface = pyaudio.PyAudio() _audio_stream = audio_interface.open( format=pyaudio.paInt16, channels=1, rate=OUTPUT_SAMPLE_RATE, output=True