Docs/AngeVoice

MOSS 音频质量调优

长文本自然度、流式播放、分段策略、推荐预设与质量诊断。

MOSSLong textAudio quality

本项目只参考 MOSS-TTS-Nano 的官方推理思路,不复制官方 runtime。AngeVoice 在适配层重点解决中文用户常遇到的长文本问题:切片过碎、英文/中英混排硬切、3-5 秒异常静音、流式播放断流感、片段拼接电流感、局部重复读和音色漂移。

默认策略

默认值以“稳定、自然、NAS 可承受”为目标:

KOKORO_SEGMENT_LENGTH=160
KOKORO_STREAM_CHUNK_SECONDS=0.55
KOKORO_STREAM_PREBUFFER_SECONDS=0.25

MOSS_SEGMENT_LENGTH=120
MOSS_VOICE_CLONE_MAX_TEXT_TOKENS=56
MOSS_MAX_NEW_FRAMES=320
MOSS_SAMPLE_MODE=fixed
MOSS_SEED=1234
MOSS_APPLY_ANGEVOICE_RULES=auto
MOSS_MIXED_ENGLISH_POLICY=translate
MOSS_STREAM_CHUNK_SECONDS=0.40
MOSS_STREAM_QUEUE_MAX_ITEMS=8
MOSS_STREAM_PREBUFFER_SECONDS=0.75
ANGEVOICE_WEBSOCKET_STREAM_IDLE_TIMEOUT_SECONDS=120
ANGEVOICE_ENGINE_PROCESS_STREAM_IDLE_TIMEOUT_SECONDS=120

MOSS_AUDIO_POLISH_ENABLED=true
MOSS_TRIM_SILENCE_ENABLED=true
MOSS_TRIM_SILENCE_DB=-45
MOSS_MAX_SILENCE_MS=480
MOSS_CROSSFADE_MS=12
MOSS_SEGMENT_PAUSE_MS=80
MOSS_RUNTIME_PAUSE_MAX_MS=350
MOSS_OUTPUT_TARGET_PEAK=0.86
MOSS_OUTPUT_GAIN=0.94
MOSS_OUTPUT_EDGE_FADE_MS=1.5
MOSS_VRAM_SNAPSHOT_TTL_SECONDS=10

这些参数分别解决什么

推荐预设

NAS 稳定

MOSS_SEGMENT_LENGTH=120
MOSS_VOICE_CLONE_MAX_TEXT_TOKENS=56
MOSS_MAX_NEW_FRAMES=320
MOSS_STREAM_CHUNK_SECONDS=0.40
MOSS_STREAM_QUEUE_MAX_ITEMS=8
MOSS_MAX_SILENCE_MS=480
MOSS_CROSSFADE_MS=12
MOSS_RUNTIME_PAUSE_MAX_MS=350

中文长文本旁白(推荐 12GB+ 或确认显存充足后开启)

MOSS_SEGMENT_LENGTH=280
MOSS_VOICE_CLONE_MAX_TEXT_TOKENS=56
MOSS_MAX_NEW_FRAMES=460
MOSS_STREAM_CHUNK_SECONDS=0.40
MOSS_MAX_SILENCE_MS=480
MOSS_CROSSFADE_MS=12
MOSS_SEGMENT_PAUSE_MS=100
MOSS_RUNTIME_PAUSE_MAX_MS=350

英文/中英混排旁白(推荐 12GB+)

MOSS_SEGMENT_LENGTH=300
MOSS_VOICE_CLONE_MAX_TEXT_TOKENS=96
MOSS_MAX_NEW_FRAMES=480
MOSS_STREAM_CHUNK_SECONDS=0.60
MOSS_MAX_SILENCE_MS=480
MOSS_CROSSFADE_MS=12
MOSS_RUNTIME_PAUSE_MAX_MS=350

低延迟流式

MOSS_SEGMENT_LENGTH=120
MOSS_STREAM_CHUNK_SECONDS=0.35
MOSS_STREAM_QUEUE_MAX_ITEMS=8
MOSS_STREAM_PREBUFFER_SECONDS=2.0
MOSS_MAX_SILENCE_MS=480
MOSS_CROSSFADE_MS=20

质量诊断

合成后可以用脚本定位长静音、削波和响度问题:

python scripts/analyze_audio_quality.py output.wav

重点看:

后台防呆联动(自动收敛)

从 2.6.5.x 起,管理后台在保存配置或应用预设时,会自动收敛几组高风险参数组合,避免“看似可配、实际不稳”:

这样做的目标是:在保证实时对话首包速度的同时,减少爆音、断续、显存尖峰和长句后半段漂移。

排查建议

  1. 出现 2-5 秒卡顿:先确认 MOSS_MAX_SILENCE_MSMOSS_RUNTIME_PAUSE_MAX_MS 是否生效。
  2. 出现重复读:降低 MOSS_MAX_NEW_FRAMES 到 300-400,保持 MOSS_SAMPLE_MODE=fixed
  3. 出现尾部吞字:提高 MOSS_MAX_NEW_FRAMES 到 460-500,或略降低 MOSS_SEGMENT_LENGTH
  4. 流式播放卡顿但保存 WAV 正常:提高 MOSS_STREAM_PREBUFFER_SECONDS 到 4.0-6.0,或增大 MOSS_STREAM_CHUNK_SECONDS
  5. 中文听起来碎:先尝试均衡档 MOSS_SEGMENT_LENGTH=180-220;显存充足时再提高到 260,并保持 MOSS_SEGMENT_PAUSE_MS=80-120

在 GitHub 查看原始文档 ↗