termux-tts 1.4.0 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/release.yml +98 -0
- package/CHANGELOG.md +48 -27
- package/LICENSE +17 -17
- package/README.md +438 -114
- package/README.pypi.md +438 -54
- package/bin/cli.js +33 -33
- package/doc.config.yaml +532 -532
- package/docs/benchmarks.md +11 -11
- package/index.js +5 -5
- package/install.sh +53 -53
- package/package.json +57 -31
- package/pyproject.toml +81 -44
- package/setup.py +38 -38
- package/termux_tts/__init__.py +2 -1
- package/termux_tts/control/component.py +398 -398
- package/termux_tts/engine_native.py +104 -104
- package/termux_tts/exceptions.py +28 -28
- package/termux_tts/tokenizer.py +184 -184
package/docs/benchmarks.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
# 모바일 지연시간 벤치마크 (Mobile Benchmarks)
|
|
2
|
-
|
|
3
|
-
## 1. 실기기 벤치마크 결과
|
|
4
|
-
|
|
5
|
-
| 디바이스 | AP 프로세서 | 모델 | RTF (Real-Time Factor) | 5초 문장 합성 소요시간 | 메모리 점유율 |
|
|
6
|
-
| :--- | :--- | :--- | :--- | :--- | :--- |
|
|
7
|
-
| **Galaxy S25 (SM-S931N)** | Snapdragon 8 Elite | VITS ONNX | **0.035x** | **0.18초** | ~68MB |
|
|
8
|
-
| **Galaxy A35 (SM-A356N)** | Exynos 1380 | VITS ONNX | **0.118x** | **0.59초** | ~72MB |
|
|
9
|
-
| **Galaxy S20 (SM-G981N)** | Snapdragon 865 | VITS ONNX | **0.142x** | **0.71초** | ~75MB |
|
|
10
|
-
|
|
11
|
-
> **RTF 공식**: $\text{RTF} = \frac{\text{합성에 소요된 연산 시간 (초)}}{\text{생성된 오디오 길이 (초)}}$
|
|
1
|
+
# 모바일 지연시간 벤치마크 (Mobile Benchmarks)
|
|
2
|
+
|
|
3
|
+
## 1. 실기기 벤치마크 결과
|
|
4
|
+
|
|
5
|
+
| 디바이스 | AP 프로세서 | 모델 | RTF (Real-Time Factor) | 5초 문장 합성 소요시간 | 메모리 점유율 |
|
|
6
|
+
| :--- | :--- | :--- | :--- | :--- | :--- |
|
|
7
|
+
| **Galaxy S25 (SM-S931N)** | Snapdragon 8 Elite | VITS ONNX | **0.035x** | **0.18초** | ~68MB |
|
|
8
|
+
| **Galaxy A35 (SM-A356N)** | Exynos 1380 | VITS ONNX | **0.118x** | **0.59초** | ~72MB |
|
|
9
|
+
| **Galaxy S20 (SM-G981N)** | Snapdragon 865 | VITS ONNX | **0.142x** | **0.71초** | ~75MB |
|
|
10
|
+
|
|
11
|
+
> **RTF 공식**: $\text{RTF} = \frac{\text{합성에 소요된 연산 시간 (초)}}{\text{생성된 오디오 길이 (초)}}$
|
|
12
12
|
> RTF가 1.0 미만이면 실시간 발화 속도보다 빠르게 합성됨을 의미합니다.
|
package/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* termux-tts Node.js SDK Entrypoint
|
|
3
|
-
*/
|
|
4
|
-
const tts = require('./binding_node');
|
|
5
|
-
module.exports = tts;
|
|
1
|
+
/**
|
|
2
|
+
* termux-tts Node.js SDK Entrypoint
|
|
3
|
+
*/
|
|
4
|
+
const tts = require('./binding_node');
|
|
5
|
+
module.exports = tts;
|
package/install.sh
CHANGED
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# ==============================================================================
|
|
3
|
-
# termux-tts: Zero-Drift One-Touch Unified Installer (Android Termux / Linux)
|
|
4
|
-
# Open-Source under Apache License 2.0 (AMEVA Foundation)
|
|
5
|
-
# ==============================================================================
|
|
6
|
-
|
|
7
|
-
set -e
|
|
8
|
-
|
|
9
|
-
echo "========================================================="
|
|
10
|
-
echo " 🚀 Initializing termux-tts Installer "
|
|
11
|
-
echo "========================================================="
|
|
12
|
-
|
|
13
|
-
# 1. System Package Manager Provisioning (pkg / apt)
|
|
14
|
-
if command -v pkg >/dev/null 2>&1; then
|
|
15
|
-
echo "[1/4] Updating Termux packages and installing dependencies..."
|
|
16
|
-
pkg update -y
|
|
17
|
-
pkg install -y clang git python python-numpy termux-api nodejs
|
|
18
|
-
elif command -v apt-get >/dev/null 2>&1; then
|
|
19
|
-
echo "[1/4] Updating Debian/Ubuntu packages..."
|
|
20
|
-
apt-get update -y
|
|
21
|
-
apt-get install -y build-essential git python3 python3-pip python3-numpy nodejs npm
|
|
22
|
-
else
|
|
23
|
-
echo "[!] Unknown package manager. Please ensure python3, numpy, and nodejs are installed."
|
|
24
|
-
fi
|
|
25
|
-
|
|
26
|
-
# 2. Python Toolchain & Package Installation (pip)
|
|
27
|
-
echo "[2/4] Installing Python SDK and CLI via pip..."
|
|
28
|
-
pip install --upgrade pip setuptools wheel
|
|
29
|
-
if pip install ameva-runtime 2>/dev/null; then
|
|
30
|
-
echo " -> ameva-runtime hardware diagnostics bound."
|
|
31
|
-
else
|
|
32
|
-
echo " -> ameva-runtime optional hardware acceleration bridge skipped."
|
|
33
|
-
fi
|
|
34
|
-
pip install --no-build-isolation -e .
|
|
35
|
-
|
|
36
|
-
# 3. Node.js Dual Engine CLI Installation (npm)
|
|
37
|
-
echo "[3/4] Linking Node.js SDK and npm global CLI..."
|
|
38
|
-
if command -v npm >/dev/null 2>&1; then
|
|
39
|
-
npm install -g . || npm link
|
|
40
|
-
fi
|
|
41
|
-
|
|
42
|
-
# 4. Diagnostics & Verification
|
|
43
|
-
echo "[4/4] Running Vulkan GPU Hardware Probe..."
|
|
44
|
-
termux-tts doctor
|
|
45
|
-
|
|
46
|
-
echo "========================================================="
|
|
47
|
-
echo " ✅ termux-tts successfully installed!"
|
|
48
|
-
echo "========================================================="
|
|
49
|
-
echo " Dual-Engine Verification:"
|
|
50
|
-
echo " * Python CLI: termux-tts synth -t 'Hello' -o test.wav"
|
|
51
|
-
echo " * Native Speak: termux-tts speak -t '안녕하세요' -l ko"
|
|
52
|
-
echo " * Node.js CLI: npx termux-tts doctor"
|
|
53
|
-
echo "========================================================="
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# ==============================================================================
|
|
3
|
+
# termux-tts: Zero-Drift One-Touch Unified Installer (Android Termux / Linux)
|
|
4
|
+
# Open-Source under Apache License 2.0 (AMEVA Foundation)
|
|
5
|
+
# ==============================================================================
|
|
6
|
+
|
|
7
|
+
set -e
|
|
8
|
+
|
|
9
|
+
echo "========================================================="
|
|
10
|
+
echo " 🚀 Initializing termux-tts Installer "
|
|
11
|
+
echo "========================================================="
|
|
12
|
+
|
|
13
|
+
# 1. System Package Manager Provisioning (pkg / apt)
|
|
14
|
+
if command -v pkg >/dev/null 2>&1; then
|
|
15
|
+
echo "[1/4] Updating Termux packages and installing dependencies..."
|
|
16
|
+
pkg update -y
|
|
17
|
+
pkg install -y clang git python python-numpy termux-api nodejs
|
|
18
|
+
elif command -v apt-get >/dev/null 2>&1; then
|
|
19
|
+
echo "[1/4] Updating Debian/Ubuntu packages..."
|
|
20
|
+
apt-get update -y
|
|
21
|
+
apt-get install -y build-essential git python3 python3-pip python3-numpy nodejs npm
|
|
22
|
+
else
|
|
23
|
+
echo "[!] Unknown package manager. Please ensure python3, numpy, and nodejs are installed."
|
|
24
|
+
fi
|
|
25
|
+
|
|
26
|
+
# 2. Python Toolchain & Package Installation (pip)
|
|
27
|
+
echo "[2/4] Installing Python SDK and CLI via pip..."
|
|
28
|
+
pip install --upgrade pip setuptools wheel
|
|
29
|
+
if pip install ameva-runtime 2>/dev/null; then
|
|
30
|
+
echo " -> ameva-runtime hardware diagnostics bound."
|
|
31
|
+
else
|
|
32
|
+
echo " -> ameva-runtime optional hardware acceleration bridge skipped."
|
|
33
|
+
fi
|
|
34
|
+
pip install --no-build-isolation -e .
|
|
35
|
+
|
|
36
|
+
# 3. Node.js Dual Engine CLI Installation (npm)
|
|
37
|
+
echo "[3/4] Linking Node.js SDK and npm global CLI..."
|
|
38
|
+
if command -v npm >/dev/null 2>&1; then
|
|
39
|
+
npm install -g . || npm link
|
|
40
|
+
fi
|
|
41
|
+
|
|
42
|
+
# 4. Diagnostics & Verification
|
|
43
|
+
echo "[4/4] Running Vulkan GPU Hardware Probe..."
|
|
44
|
+
termux-tts doctor
|
|
45
|
+
|
|
46
|
+
echo "========================================================="
|
|
47
|
+
echo " ✅ termux-tts successfully installed!"
|
|
48
|
+
echo "========================================================="
|
|
49
|
+
echo " Dual-Engine Verification:"
|
|
50
|
+
echo " * Python CLI: termux-tts synth -t 'Hello' -o test.wav"
|
|
51
|
+
echo " * Native Speak: termux-tts speak -t '안녕하세요' -l ko"
|
|
52
|
+
echo " * Node.js CLI: npx termux-tts doctor"
|
|
53
|
+
echo "========================================================="
|
package/package.json
CHANGED
|
@@ -1,31 +1,57 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "termux-tts",
|
|
3
|
-
"version": "1.4.
|
|
4
|
-
"description": "On-device Text-to-Speech framework utilizing device resources (DSP Formant Vocoder, ONNX Neural Runtime & Android Native Voice)",
|
|
5
|
-
"main": "index.js",
|
|
6
|
-
"bin": {
|
|
7
|
-
"termux-tts": "
|
|
8
|
-
},
|
|
9
|
-
"scripts": {
|
|
10
|
-
"test": "node binding_node/test_node.js",
|
|
11
|
-
"doctor": "node bin/cli.js doctor"
|
|
12
|
-
},
|
|
13
|
-
"keywords": [
|
|
14
|
-
"tts",
|
|
15
|
-
"text-to-speech",
|
|
16
|
-
"vulkan",
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"onnx",
|
|
21
|
-
"
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "termux-tts",
|
|
3
|
+
"version": "1.4.2",
|
|
4
|
+
"description": "On-device Text-to-Speech framework utilizing device resources (DSP Formant Vocoder, ONNX Neural Runtime & Android Native Voice)",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"termux-tts": "bin/cli.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"test": "node binding_node/test_node.js",
|
|
11
|
+
"doctor": "node bin/cli.js doctor"
|
|
12
|
+
},
|
|
13
|
+
"keywords": [
|
|
14
|
+
"tts",
|
|
15
|
+
"text-to-speech",
|
|
16
|
+
"vulkan",
|
|
17
|
+
"vulkan-compute",
|
|
18
|
+
"vits",
|
|
19
|
+
"piper-tts",
|
|
20
|
+
"sherpa-onnx",
|
|
21
|
+
"sherpa-ncnn",
|
|
22
|
+
"termux",
|
|
23
|
+
"android",
|
|
24
|
+
"on-device-ai",
|
|
25
|
+
"speech-synthesis",
|
|
26
|
+
"edge-ai",
|
|
27
|
+
"formant-synthesis",
|
|
28
|
+
"vocoder",
|
|
29
|
+
"mobile-ai",
|
|
30
|
+
"adreno",
|
|
31
|
+
"mali-gpu",
|
|
32
|
+
"dsp",
|
|
33
|
+
"rosenberg-glottal",
|
|
34
|
+
"biquad-filter",
|
|
35
|
+
"expressive-speech",
|
|
36
|
+
"voice-cloning",
|
|
37
|
+
"audio-generation",
|
|
38
|
+
"ncnn",
|
|
39
|
+
"arm64",
|
|
40
|
+
"snapdragon",
|
|
41
|
+
"exynos",
|
|
42
|
+
"real-time-factor",
|
|
43
|
+
"low-latency",
|
|
44
|
+
"zero-dependency",
|
|
45
|
+
"voice-assistant",
|
|
46
|
+
"headless-audio",
|
|
47
|
+
"embedded-systems"
|
|
48
|
+
],
|
|
49
|
+
"author": "AMEVA Foundation",
|
|
50
|
+
"license": "Apache-2.0",
|
|
51
|
+
"dependencies": {
|
|
52
|
+
"@ameva/runtime": ">=2.1.0"
|
|
53
|
+
},
|
|
54
|
+
"engines": {
|
|
55
|
+
"node": ">=16.0.0"
|
|
56
|
+
}
|
|
57
|
+
}
|
package/pyproject.toml
CHANGED
|
@@ -1,44 +1,81 @@
|
|
|
1
|
-
[build-system]
|
|
2
|
-
requires = ["setuptools>=61.0"]
|
|
3
|
-
build-backend = "setuptools.build_meta"
|
|
4
|
-
|
|
5
|
-
[project]
|
|
6
|
-
name = "termux-tts"
|
|
7
|
-
version = "1.4.
|
|
8
|
-
description = "On-device 4-Tier Text-to-Speech framework utilizing device resources (DSP Formant Vocoder, C++ Sherpa-ONNX Neural, Android Native & Expressive)"
|
|
9
|
-
readme = "README.pypi.md"
|
|
10
|
-
requires-python = ">=3.10"
|
|
11
|
-
license = { text = "Apache-2.0" }
|
|
12
|
-
authors = [
|
|
13
|
-
{ name = "AOSF / uno-km", email = "zhfldk014745@naver.com" }
|
|
14
|
-
]
|
|
15
|
-
classifiers = [
|
|
16
|
-
"Development Status :: 5 - Production/Stable",
|
|
17
|
-
"Intended Audience :: Developers",
|
|
18
|
-
"License :: OSI Approved :: Apache Software License",
|
|
19
|
-
"Programming Language :: Python :: 3",
|
|
20
|
-
"Programming Language :: Python :: 3.10",
|
|
21
|
-
"Programming Language :: Python :: 3.11",
|
|
22
|
-
"Programming Language :: Python :: 3.12",
|
|
23
|
-
"Programming Language :: Python :: 3.13",
|
|
24
|
-
"Topic :: Multimedia :: Sound/Audio :: Speech",
|
|
25
|
-
]
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61.0"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "termux-tts"
|
|
7
|
+
version = "1.4.2"
|
|
8
|
+
description = "On-device 4-Tier Text-to-Speech framework utilizing device resources (DSP Formant Vocoder, C++ Sherpa-ONNX Neural, Android Native & Expressive)"
|
|
9
|
+
readme = "README.pypi.md"
|
|
10
|
+
requires-python = ">=3.10"
|
|
11
|
+
license = { text = "Apache-2.0" }
|
|
12
|
+
authors = [
|
|
13
|
+
{ name = "AOSF / uno-km", email = "zhfldk014745@naver.com" }
|
|
14
|
+
]
|
|
15
|
+
classifiers = [
|
|
16
|
+
"Development Status :: 5 - Production/Stable",
|
|
17
|
+
"Intended Audience :: Developers",
|
|
18
|
+
"License :: OSI Approved :: Apache Software License",
|
|
19
|
+
"Programming Language :: Python :: 3",
|
|
20
|
+
"Programming Language :: Python :: 3.10",
|
|
21
|
+
"Programming Language :: Python :: 3.11",
|
|
22
|
+
"Programming Language :: Python :: 3.12",
|
|
23
|
+
"Programming Language :: Python :: 3.13",
|
|
24
|
+
"Topic :: Multimedia :: Sound/Audio :: Speech",
|
|
25
|
+
]
|
|
26
|
+
keywords = [
|
|
27
|
+
"tts",
|
|
28
|
+
"text-to-speech",
|
|
29
|
+
"vulkan",
|
|
30
|
+
"vulkan-compute",
|
|
31
|
+
"vits",
|
|
32
|
+
"piper-tts",
|
|
33
|
+
"sherpa-onnx",
|
|
34
|
+
"sherpa-ncnn",
|
|
35
|
+
"termux",
|
|
36
|
+
"android",
|
|
37
|
+
"on-device-ai",
|
|
38
|
+
"speech-synthesis",
|
|
39
|
+
"edge-ai",
|
|
40
|
+
"formant-synthesis",
|
|
41
|
+
"vocoder",
|
|
42
|
+
"mobile-ai",
|
|
43
|
+
"adreno",
|
|
44
|
+
"mali-gpu",
|
|
45
|
+
"dsp",
|
|
46
|
+
"rosenberg-glottal",
|
|
47
|
+
"biquad-filter",
|
|
48
|
+
"expressive-speech",
|
|
49
|
+
"voice-cloning",
|
|
50
|
+
"audio-generation",
|
|
51
|
+
"ncnn",
|
|
52
|
+
"arm64",
|
|
53
|
+
"snapdragon",
|
|
54
|
+
"exynos",
|
|
55
|
+
"real-time-factor",
|
|
56
|
+
"low-latency",
|
|
57
|
+
"zero-dependency",
|
|
58
|
+
"voice-assistant",
|
|
59
|
+
"headless-audio",
|
|
60
|
+
"embedded-systems"
|
|
61
|
+
]
|
|
62
|
+
dependencies = [
|
|
63
|
+
"numpy>=1.20.0",
|
|
64
|
+
"ameva-component-sdk>=0.1.0,<2.0",
|
|
65
|
+
]
|
|
66
|
+
|
|
67
|
+
[project.optional-dependencies]
|
|
68
|
+
onnx = ["onnxruntime>=1.15.0"]
|
|
69
|
+
neural = ["onnxruntime>=1.15.0"]
|
|
70
|
+
dev = ["pytest>=7.0", "paramiko>=3.0"]
|
|
71
|
+
|
|
72
|
+
[project.scripts]
|
|
73
|
+
termux-tts = "termux_tts.cli:main"
|
|
74
|
+
|
|
75
|
+
[project.entry-points."ameva.components"]
|
|
76
|
+
termux-tts = "termux_tts.adapter:create_adapter"
|
|
77
|
+
|
|
78
|
+
[tool.setuptools.packages.find]
|
|
79
|
+
where = ["."]
|
|
80
|
+
include = ["termux_tts*"]
|
|
81
|
+
|
package/setup.py
CHANGED
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import os
|
|
2
|
-
from setuptools import setup, find_packages
|
|
3
|
-
|
|
4
|
-
setup(
|
|
5
|
-
name="termux-tts",
|
|
6
|
-
version="1.2
|
|
7
|
-
description="Ultra-Fast On-Device 4-Tier Text-to-Speech Framework (DSP Synth, Android Native, C++ Sherpa-ONNX Neural & Expressive)",
|
|
8
|
-
long_description=open("README.pypi.md", encoding="utf-8").read() if os.path.exists("README.pypi.md") else open("README.md", encoding="utf-8").read(),
|
|
9
|
-
long_description_content_type="text/markdown",
|
|
10
|
-
author="AMEVA Foundation",
|
|
11
|
-
license="Apache-2.0",
|
|
12
|
-
url="https://github.com/uno-km/termux-tts",
|
|
13
|
-
packages=find_packages(include=["termux_tts", "termux_tts.*"]),
|
|
14
|
-
python_requires=">=3.8",
|
|
15
|
-
install_requires=[
|
|
16
|
-
"numpy>=1.20.0",
|
|
17
|
-
"ameva-runtime>=2.0.0",
|
|
18
|
-
],
|
|
19
|
-
extras_require={
|
|
20
|
-
"onnx": ["onnxruntime>=1.15.0"],
|
|
21
|
-
"neural": ["onnxruntime>=1.15.0"],
|
|
22
|
-
"dev": ["pytest>=7.0.0", "pytest-asyncio"],
|
|
23
|
-
},
|
|
24
|
-
entry_points={
|
|
25
|
-
"console_scripts": [
|
|
26
|
-
"termux-tts=termux_tts.cli:main",
|
|
27
|
-
],
|
|
28
|
-
},
|
|
29
|
-
classifiers=[
|
|
30
|
-
"Development Status :: 5 - Production/Stable",
|
|
31
|
-
"Intended Audience :: Developers",
|
|
32
|
-
"License :: OSI Approved :: Apache Software License",
|
|
33
|
-
"Operating System :: Android",
|
|
34
|
-
"Operating System :: POSIX :: Linux",
|
|
35
|
-
"Programming Language :: Python :: 3",
|
|
36
|
-
"Topic :: Multimedia :: Sound/Audio :: Speech",
|
|
37
|
-
],
|
|
38
|
-
)
|
|
1
|
+
import os
|
|
2
|
+
from setuptools import setup, find_packages
|
|
3
|
+
|
|
4
|
+
setup(
|
|
5
|
+
name="termux-tts",
|
|
6
|
+
version="1.4.2",
|
|
7
|
+
description="Ultra-Fast On-Device 4-Tier Text-to-Speech Framework (DSP Synth, Android Native, C++ Sherpa-ONNX Neural & Expressive)",
|
|
8
|
+
long_description=open("README.pypi.md", encoding="utf-8").read() if os.path.exists("README.pypi.md") else open("README.md", encoding="utf-8").read(),
|
|
9
|
+
long_description_content_type="text/markdown",
|
|
10
|
+
author="AMEVA Foundation",
|
|
11
|
+
license="Apache-2.0",
|
|
12
|
+
url="https://github.com/uno-km/termux-tts",
|
|
13
|
+
packages=find_packages(include=["termux_tts", "termux_tts.*"]),
|
|
14
|
+
python_requires=">=3.8",
|
|
15
|
+
install_requires=[
|
|
16
|
+
"numpy>=1.20.0",
|
|
17
|
+
"ameva-runtime>=2.0.0",
|
|
18
|
+
],
|
|
19
|
+
extras_require={
|
|
20
|
+
"onnx": ["onnxruntime>=1.15.0"],
|
|
21
|
+
"neural": ["onnxruntime>=1.15.0"],
|
|
22
|
+
"dev": ["pytest>=7.0.0", "pytest-asyncio"],
|
|
23
|
+
},
|
|
24
|
+
entry_points={
|
|
25
|
+
"console_scripts": [
|
|
26
|
+
"termux-tts=termux_tts.cli:main",
|
|
27
|
+
],
|
|
28
|
+
},
|
|
29
|
+
classifiers=[
|
|
30
|
+
"Development Status :: 5 - Production/Stable",
|
|
31
|
+
"Intended Audience :: Developers",
|
|
32
|
+
"License :: OSI Approved :: Apache Software License",
|
|
33
|
+
"Operating System :: Android",
|
|
34
|
+
"Operating System :: POSIX :: Linux",
|
|
35
|
+
"Programming Language :: Python :: 3",
|
|
36
|
+
"Topic :: Multimedia :: Sound/Audio :: Speech",
|
|
37
|
+
],
|
|
38
|
+
)
|
package/termux_tts/__init__.py
CHANGED
|
@@ -29,7 +29,7 @@ from .exceptions import (
|
|
|
29
29
|
ONNXNeuralEngine = SherpaNeuralEngine
|
|
30
30
|
ONNXResult = SherpaResult
|
|
31
31
|
|
|
32
|
-
__version__ = "1.4.
|
|
32
|
+
__version__ = "1.4.2"
|
|
33
33
|
__all__ = [
|
|
34
34
|
"TTSEngine",
|
|
35
35
|
"load",
|
|
@@ -61,3 +61,4 @@ __all__ = [
|
|
|
61
61
|
"TTSAudioEncodingError",
|
|
62
62
|
"TTSLanguageNotSupportedError"
|
|
63
63
|
]
|
|
64
|
+
|