Skip to main content

fix duration TTS tool - combines intelligent TTS with LLM

Project description

SOGA TTS - 固定时长语音合成

生成指定时长的语音文件,支持智能文本优化和精确时长控制。

安装

pip install soga-tts

基本使用

命令行(最简单)

soga_tts "Hello world" --duration 5.0           # 生成5秒语音,默认使用本地ollma的gemma3:4b模型,请事先安装

soga_tts "Hello world" --duration 5.0 --no-llm  # 不使用LLM,直接生成语音,通过强制拉伸的方式来控制时长

Python API

from soga_tts import soga_tts

# 最简单的用法
text, audio_path, duration = soga_tts("Hello world", 5.0)
print(f"音频文件: {audio_path}")

高级用法

异常处理

from soga_tts import soga_tts
from soga_tts.fixed_duration_tts import TTSPrecisionError

try:
    text, audio_path, duration = soga_tts("Hello", 10.0, tolerance_pct=5.0)
except TTSPrecisionError as e:
    print(f"精度不够: {e.error_pct:.1f}% (要求: 5.0%)")
from soga_tts import soga_tts
from soga_tts.fixed_duration_tts import TTSPrecisionError

try:
    text, audio_path, duration = soga_tts("Hello", 10.0, tolerance_pct=5.0)
except TTSPrecisionError as e:
    print(f"精度不够: {e.error_pct:.1f}% (要求: 5.0%)")

自定义LLM服务

# 使用OpenAI
soga_tts "Hello" --duration 5.0 \
  --llm-url "https://api.openai.com/v1" \
  --llm-key "your-key" \
  --llm-model "gpt-3.5-turbo"

# 使用Ollama(默认)
soga_tts "Hello" --duration 5.0

参数调整

soga_tts(
    text="Hello world",
    target_duration=10.0,
    tolerance_pct=3.0,      # 误差容忍度
    max_rounds=5,           # 最大优化回合
    force_exact_duration=True  # 音频缩放
)

常见问题

1. Ollama连接失败

# 启动Ollama服务
ollama serve

# 检查服务状态
curl http://localhost:11434/api/tags

2. 精度不够怎么办?

  • 使用更宽松的容差:--tolerance 10.0
  • 增加优化回合数:--max-rounds 20
  • 启用音频缩放(默认开启)

3. 速度太慢?

  • 使用 --no-llm 跳过文本优化
  • 减少回合数:--max-rounds 3
  • 使用本地Ollama而不是远程API

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

soga_tts-0.1.2.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

soga_tts-0.1.2-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file soga_tts-0.1.2.tar.gz.

File metadata

  • Download URL: soga_tts-0.1.2.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.7

File hashes

Hashes for soga_tts-0.1.2.tar.gz
Algorithm Hash digest
SHA256 36f961c37fa7e43015ab4133cc08cb07ed8d85fb92c6b6f87c05d8eed20409e7
MD5 8c6ac0f3ccafad807fa58c600e90e5cb
BLAKE2b-256 b0c60b468a12dd90e81d2708ec40c325e5ce42edd7c86e1c92fa527a596d66c2

See more details on using hashes here.

File details

Details for the file soga_tts-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: soga_tts-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 10.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.7

File hashes

Hashes for soga_tts-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b096f3c056b483c7bccb52e0a9e3f7af56913a26e4c5c6260c8ac506b24d3aa2
MD5 2572473e0480d4099cf7636b20ba6dd7
BLAKE2b-256 cac58319b851db6d4e7b35c258ed6fc053d27299a97dad1c864ffca13a00b829

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page