Spaces:
Running
Running
Upload folder using huggingface_hub
Browse files- pyproject.toml +1 -0
- src/vocalizr/__init__.py +0 -3
- src/vocalizr/model.py +7 -5
- uv.lock +2 -0
pyproject.toml
CHANGED
@@ -28,6 +28,7 @@ dev = [
|
|
28 |
"pylint>=3.3.7",
|
29 |
"pyright>=1.1.400",
|
30 |
"huggingface-hub[cli,hf-transfer]>=0.31.1",
|
|
|
31 |
]
|
32 |
|
33 |
[tool.typos.default.extend-words]
|
|
|
28 |
"pylint>=3.3.7",
|
29 |
"pyright>=1.1.400",
|
30 |
"huggingface-hub[cli,hf-transfer]>=0.31.1",
|
31 |
+
"isort>=6.0.1",
|
32 |
]
|
33 |
|
34 |
[tool.typos.default.extend-words]
|
src/vocalizr/__init__.py
CHANGED
@@ -4,10 +4,8 @@ from pathlib import Path
|
|
4 |
from dotenv import load_dotenv
|
5 |
from kokoro import KPipeline
|
6 |
from loguru import logger
|
7 |
-
from spacy import load
|
8 |
from torch import cuda
|
9 |
|
10 |
-
load(name="en_core_web_sm")
|
11 |
load_dotenv()
|
12 |
|
13 |
BASE_DIR: Path = Path(__file__).parent.parent.parent
|
@@ -50,4 +48,3 @@ CHOICES: dict[str, str] = {
|
|
50 |
"π¬π§ πΉ Lewis": "bm_lewis",
|
51 |
"π¬π§ πΉ Daniel": "bm_daniel",
|
52 |
}
|
53 |
-
}
|
|
|
4 |
from dotenv import load_dotenv
|
5 |
from kokoro import KPipeline
|
6 |
from loguru import logger
|
|
|
7 |
from torch import cuda
|
8 |
|
|
|
9 |
load_dotenv()
|
10 |
|
11 |
BASE_DIR: Path = Path(__file__).parent.parent.parent
|
|
|
48 |
"π¬π§ πΉ Lewis": "bm_lewis",
|
49 |
"π¬π§ πΉ Daniel": "bm_daniel",
|
50 |
}
|
|
src/vocalizr/model.py
CHANGED
@@ -21,16 +21,18 @@ def save_file_wav(audio: ndarray) -> None:
|
|
21 |
:raise OSError: If an error occurs while saving the file.
|
22 |
"""
|
23 |
makedirs(name="results", exist_ok=True)
|
24 |
-
filename =
|
|
|
|
|
25 |
try:
|
26 |
logger.info(f"Saving audio to {filename}")
|
27 |
-
write(filename, audio, 24000)
|
28 |
except OSError as e:
|
29 |
raise OSError(f"Failed to save audio to {filename}: {e}") from e
|
30 |
|
31 |
|
32 |
def generate_audio_for_text(
|
33 |
-
text: str, voice="af_heart", speed=1, save_file: bool = False
|
34 |
) -> tuple[int, ndarray]:
|
35 |
"""Generate audio for the input text.
|
36 |
|
@@ -46,8 +48,8 @@ def generate_audio_for_text(
|
|
46 |
for _, _, audio in PIPELINE(text, voice, speed):
|
47 |
audio = Tensor(audio).numpy()
|
48 |
if save_file:
|
49 |
-
save_file_wav(audio)
|
50 |
return 24000, audio
|
51 |
except Error as e:
|
52 |
-
raise Error(str(e)) from e
|
53 |
raise RuntimeError("No audio generated")
|
|
|
21 |
:raise OSError: If an error occurs while saving the file.
|
22 |
"""
|
23 |
makedirs(name="results", exist_ok=True)
|
24 |
+
filename: str = (
|
25 |
+
f"{BASE_DIR}/results/{datetime.now().strftime('%Y-%m-%d_%H-%M-%S')}.wav"
|
26 |
+
)
|
27 |
try:
|
28 |
logger.info(f"Saving audio to {filename}")
|
29 |
+
write(file=filename, data=audio, samplerate=24000)
|
30 |
except OSError as e:
|
31 |
raise OSError(f"Failed to save audio to {filename}: {e}") from e
|
32 |
|
33 |
|
34 |
def generate_audio_for_text(
|
35 |
+
text: str, voice: str = "af_heart", speed: float = 1, save_file: bool = False
|
36 |
) -> tuple[int, ndarray]:
|
37 |
"""Generate audio for the input text.
|
38 |
|
|
|
48 |
for _, _, audio in PIPELINE(text, voice, speed):
|
49 |
audio = Tensor(audio).numpy()
|
50 |
if save_file:
|
51 |
+
save_file_wav(audio=audio)
|
52 |
return 24000, audio
|
53 |
except Error as e:
|
54 |
+
raise Error(message=str(e)) from e
|
55 |
raise RuntimeError("No audio generated")
|
uv.lock
CHANGED
@@ -2302,6 +2302,7 @@ dependencies = [
|
|
2302 |
dev = [
|
2303 |
{ name = "black" },
|
2304 |
{ name = "huggingface-hub", extra = ["cli", "hf-transfer"] },
|
|
|
2305 |
{ name = "mypy" },
|
2306 |
{ name = "pylint" },
|
2307 |
{ name = "pyrefly" },
|
@@ -2322,6 +2323,7 @@ requires-dist = [
|
|
2322 |
dev = [
|
2323 |
{ name = "black", specifier = ">=25.1.0" },
|
2324 |
{ name = "huggingface-hub", extras = ["cli", "hf-transfer"], specifier = ">=0.31.1" },
|
|
|
2325 |
{ name = "mypy", specifier = ">=1.15.0" },
|
2326 |
{ name = "pylint", specifier = ">=3.3.7" },
|
2327 |
{ name = "pyrefly", specifier = ">=0.14.0" },
|
|
|
2302 |
dev = [
|
2303 |
{ name = "black" },
|
2304 |
{ name = "huggingface-hub", extra = ["cli", "hf-transfer"] },
|
2305 |
+
{ name = "isort" },
|
2306 |
{ name = "mypy" },
|
2307 |
{ name = "pylint" },
|
2308 |
{ name = "pyrefly" },
|
|
|
2323 |
dev = [
|
2324 |
{ name = "black", specifier = ">=25.1.0" },
|
2325 |
{ name = "huggingface-hub", extras = ["cli", "hf-transfer"], specifier = ">=0.31.1" },
|
2326 |
+
{ name = "isort", specifier = ">=6.0.1" },
|
2327 |
{ name = "mypy", specifier = ">=1.15.0" },
|
2328 |
{ name = "pylint", specifier = ">=3.3.7" },
|
2329 |
{ name = "pyrefly", specifier = ">=0.14.0" },
|