diff --git a/requirements.txt b/requirements.txt index 8ddba70d..debb178a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,16 +1,17 @@ -librosa==0.9.1 -faster-whisper==0.9.0 +librosa==0.11.0 +faster-whisper==1.2.1 pydub==0.25.1 +transformers==4.57.1 wavmark==0.0.3 -numpy==1.22.0 +numpy==1.26.4 eng_to_ipa==0.0.2 -inflect==7.0.0 -unidecode==1.3.7 -whisper-timestamped==1.14.2 -openai -python-dotenv -pypinyin==0.50.0 -cn2an==0.5.22 +inflect==7.5.0 +unidecode==1.4.0 +whisper-timestamped==1.15.9 +openai==2.7.1 +python-dotenv==1.2.1 +pypinyin==0.55.0 +cn2an==0.5.23 jieba==0.42.1 -gradio==3.48.0 +gradio==5.38.1 langid==1.1.6 diff --git a/setup.py b/setup.py index 33d43c4e..97e04c71 100644 --- a/setup.py +++ b/setup.py @@ -1,45 +1,55 @@ from setuptools import setup, find_packages +import os +base_dir = os.path.dirname(os.path.abspath(__file__)) -setup(name='MyShell-OpenVoice', - version='0.0.0', - description='Instant voice cloning by MyShell.', - long_description=open('README.md').read().strip(), - long_description_content_type='text/markdown', - keywords=[ - 'text-to-speech', - 'tts', - 'voice-clone', - 'zero-shot-tts' - ], - url='https://github.com/myshell-ai/OpenVoice', - project_urls={ - 'Documentation': 'https://github.com/myshell-ai/OpenVoice/blob/main/docs/USAGE.md', - 'Changes': 'https://github.com/myshell-ai/OpenVoice/releases', - 'Code': 'https://github.com/myshell-ai/OpenVoice', - 'Issue tracker': 'https://github.com/myshell-ai/OpenVoice/issues', - }, - author='MyShell', - author_email='ethan@myshell.ai', - license='MIT License', - packages=find_packages(), - - python_requires='>=3.9', - install_requires=[ - 'librosa==0.9.1', - 'faster-whisper==0.9.0', - 'pydub==0.25.1', - 'wavmark==0.0.3', - 'numpy==1.22.0', - 'eng_to_ipa==0.0.2', - 'inflect==7.0.0', - 'unidecode==1.3.7', - 'whisper-timestamped==1.14.2', - 'pypinyin==0.50.0', - 'cn2an==0.5.22', - 'jieba==0.42.1', - 'gradio==3.48.0', - 'langid==1.1.6' - ], - zip_safe=False - ) +def get_requirements(path): + """Load and clean requirements file.""" + if not os.path.exists(path): + return [] + with open(path, encoding="utf-8") as f: + return [ + line.strip() + for line in f + if line.strip() and not line.startswith("#") + ] + +# Paths +readme_path = os.path.join(base_dir, "README.md") +requirements_path = os.path.join(base_dir, "requirements.txt") + +# Load README +with open(readme_path, "r", encoding="utf-8") as f: + long_description = f.read().strip() + +setup( + name='OpenVoice', + version='0.1.0', + description='Instant voice cloning by MyShell - Enhanced by Gedeon.', + long_description=long_description, + long_description_content_type='text/markdown', + + keywords=[ + 'text-to-speech', + 'tts', + 'voice-clone', + 'zero-shot-tts' + ], + + url='https://github.com/beethogedeon/OpenVoice', + project_urls={ + 'Documentation': 'https://github.com/beethogedeon/OpenVoice/blob/main/docs/USAGE.md', + 'Changes': 'https://github.com/beethogedeon/OpenVoice/releases', + 'Code': 'https://github.com/beethogedeon/OpenVoice', + 'Issue tracker': 'https://github.com/beethogedeon/OpenVoice/issues', + }, + + author='MyShell, Gedeon GBEDONOU', + author_email='ethan@myshell.ai, beethovengedeon@gmail.com', + + license='MIT License', + packages=find_packages(), + python_requires='>=3.9', + + install_requires=get_requirements(requirements_path), +)