1. make pyaudio as extra requirement

2. warn if pyaudio not installed if player_gen is used
master
Malar Kannan 2020-01-22 13:52:59 +05:30
parent 42a85d177e
commit cb0c8ddd06
2 changed files with 9 additions and 2 deletions

View File

@ -18,9 +18,10 @@ requirements = [
"scipy~=1.3.0", "scipy~=1.3.0",
"Unidecode==1.0.22", "Unidecode==1.0.22",
"torch~=1.1.0", "torch~=1.1.0",
"PyAudio==0.2.11"
] ]
extra_requirements = {"playback": ["PyAudio==0.2.11"]}
setup_requirements = ["pytest-runner"] setup_requirements = ["pytest-runner"]
test_requirements = ["pytest"] test_requirements = ["pytest"]
@ -44,6 +45,7 @@ setup(
], ],
description="Taco2 TTS package.", description="Taco2 TTS package.",
install_requires=requirements, install_requires=requirements,
extras_require=extra_requirements,
long_description=readme + "\n\n" + history, long_description=readme + "\n\n" + history,
include_package_data=True, include_package_data=True,
keywords="tacotron2 tts", keywords="tacotron2 tts",

View File

@ -3,9 +3,9 @@
import numpy as np import numpy as np
import torch import torch
import pyaudio
import klepto import klepto
import argparse import argparse
import warnings
from pathlib import Path from pathlib import Path
from .model import Tacotron2 from .model import Tacotron2
from glow import WaveGlow from glow import WaveGlow
@ -156,6 +156,11 @@ class TTSModel(object):
def player_gen(): def player_gen():
try:
import pyaudio
except ModuleNotFoundError:
warnings.warn("module 'pyaudio' is not installed requried for playback")
return
audio_interface = pyaudio.PyAudio() audio_interface = pyaudio.PyAudio()
_audio_stream = audio_interface.open( _audio_stream = audio_interface.open(
format=pyaudio.paInt16, channels=1, rate=OUTPUT_SAMPLE_RATE, output=True format=pyaudio.paInt16, channels=1, rate=OUTPUT_SAMPLE_RATE, output=True