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.5.tar.gz (14.5 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.5-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for soga_tts-0.1.5.tar.gz
Algorithm Hash digest
SHA256 8abfafc849a7978222336e44fc7f8ed3368ad432d0518d921eab79a5e70ce36e
MD5 f2a014fa53b9608951c0ecd4e51785dc
BLAKE2b-256 0c536b609302eaf2385f5a30a99a8f9689771a0c45e2e3eb344921b0b35dbdfa

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for soga_tts-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 97632e7459ed9d559b3e4ef5f5e35a198e0c0b75379b35addbf6157f9866a166
MD5 762540b6c5623a0ca08ee489d8dc1d83
BLAKE2b-256 4a87ee8b57be5d63d5221bc4bae66c4193444f582d649d21df9cc2e2005d458e

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