Add: use hatch to build style-bert-vits2 as a library

This commit is contained in:
tsukumi
2024-03-09 18:38:16 +00:00
parent 0a74fe521b
commit a79b1910fb
6 changed files with 98 additions and 5 deletions

1
.gitignore vendored
View File

@@ -3,6 +3,7 @@
__pycache__/ __pycache__/
venv/ venv/
.venv/ .venv/
dist/
.ipynb_checkpoints/ .ipynb_checkpoints/
/*.yml /*.yml

4
app.py
View File

@@ -5,7 +5,7 @@ import gradio as gr
import torch import torch
import yaml import yaml
from style_bert_vits2.constants import GRADIO_THEME, LATEST_VERSION from style_bert_vits2.constants import GRADIO_THEME, VERSION
from style_bert_vits2.tts_model import ModelHolder from style_bert_vits2.tts_model import ModelHolder
from webui import ( from webui import (
create_dataset_app, create_dataset_app,
@@ -37,7 +37,7 @@ if device == "cuda" and not torch.cuda.is_available():
model_holder = ModelHolder(Path(assets_root), device) model_holder = ModelHolder(Path(assets_root), device)
with gr.Blocks(theme=GRADIO_THEME) as app: with gr.Blocks(theme=GRADIO_THEME) as app:
gr.Markdown(f"# Style-Bert-VITS2 WebUI (version {LATEST_VERSION})") gr.Markdown(f"# Style-Bert-VITS2 WebUI (version {VERSION})")
with gr.Tabs(): with gr.Tabs():
with gr.Tab("音声合成"): with gr.Tab("音声合成"):
create_inference_app(model_holder=model_holder) create_inference_app(model_holder=model_holder)

92
pyproject.toml Normal file
View File

@@ -0,0 +1,92 @@
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "style-bert-vits2"
dynamic = ["version"]
description = 'Style-Bert-VITS2: Bert-VITS2 with more controllable voice styles.'
readme = "README.md"
requires-python = ">=3.9"
license = "AGPL-3.0"
keywords = []
authors = [
{ name = "litagin02", email = "139731664+litagin02@users.noreply.github.com" },
]
classifiers = [
"Development Status :: 4 - Beta",
"Programming Language :: Python",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: Implementation :: CPython",
]
dependencies = [
'cmudict',
'cn2an',
'g2p_en',
'gradio',
'jieba',
'librosa==0.9.2',
'loguru',
'num2words',
'numba',
'numpy',
'pyannote.audio>=3.1.0',
'pydantic',
'pyopenjtalk-dict',
'pypinyin',
'pyworld',
'safetensors',
'scipy',
'torch>=2.1,<2.2',
'transformers',
]
[project.urls]
Documentation = "https://github.com/litagin02/Style-Bert-VITS2#readme"
Issues = "https://github.com/litagin02/Style-Bert-VITS2/issues"
Source = "https://github.com/litagin02/Style-Bert-VITS2"
[tool.hatch.version]
path = "style_bert_vits2/constants.py"
[tool.hatch.envs.default]
dependencies = [
"coverage[toml]>=6.5",
"pytest",
]
[tool.hatch.envs.default.scripts]
test = "pytest {args:tests}"
test-cov = "coverage run -m pytest {args:tests}"
cov-report = [
"- coverage combine",
"coverage report",
]
cov = [
"test-cov",
"cov-report",
]
[[tool.hatch.envs.all.matrix]]
python = ["3.9", "3.10", "3.11", "3.12"]
[tool.coverage.run]
source_pkgs = ["style_bert_vits2", "tests"]
branch = true
parallel = true
omit = [
"style_bert_vits2/constants.py",
]
[tool.coverage.paths]
style_bert_vits2 = ["style_bert_vits2", "*/style-bert-vits2/style_bert_vits2"]
tests = ["tests", "*/style-bert-vits2/tests"]
[tool.coverage.report]
exclude_lines = [
"no cov",
"if __name__ == .__main__.:",
"if TYPE_CHECKING:",
]

View File

@@ -37,7 +37,7 @@ from style_bert_vits2.constants import (
DEFAULT_SDP_RATIO, DEFAULT_SDP_RATIO,
DEFAULT_STYLE, DEFAULT_STYLE,
DEFAULT_STYLE_WEIGHT, DEFAULT_STYLE_WEIGHT,
LATEST_VERSION, VERSION,
Languages, Languages,
) )
from style_bert_vits2.logging import logger from style_bert_vits2.logging import logger
@@ -219,7 +219,7 @@ router = APIRouter()
@router.get("/version") @router.get("/version")
def version() -> str: def version() -> str:
return LATEST_VERSION return VERSION
class MoraTone(BaseModel): class MoraTone(BaseModel):

View File

@@ -4,7 +4,7 @@ from style_bert_vits2.utils.strenum import StrEnum
# Style-Bert-VITS2 のバージョン # Style-Bert-VITS2 のバージョン
LATEST_VERSION = "2.4" VERSION = "2.4"
# Style-Bert-VITS2 のベースディレクトリ # Style-Bert-VITS2 のベースディレクトリ
BASE_DIR = Path(__file__).parent.parent BASE_DIR = Path(__file__).parent.parent

0
tests/__init__.py Normal file
View File