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.3.tar.gz (14.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.3-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for soga_tts-0.1.3.tar.gz
Algorithm Hash digest
SHA256 012f6577b68bf5a29f0722d9ce9c354a1751fde26122090c1923496f4bb54cd8
MD5 ad586aea4df6a9aca9ea8208e9b24da7
BLAKE2b-256 1fe17bccf553264ab920bdf66d9d85f997e8874663cc828643c7ebc783bc3725

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for soga_tts-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 acff11b2d257a997e21ee58d7703646f0eb473bdd591afa429280d941356b963
MD5 8459429bc2e62766a7fa1d37aa2743eb
BLAKE2b-256 4371560850b3bc26e49072b00d9bed2c057e8cd728cc82e263b5fe1b3e364d46

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