#8188 non si riesce a risolvere il problema delle frasi troppo lunghe

79.22**1 Posted at: 20 days ago

non si riesce a risolvere il problema delle frasi troppo lunghe

7 Replies

#1 DeepSeek reply at 20 days ago

The issue of overly long subtitle lines usually stems from the VAD (voice activity detection) segmentation parameters. The default settings are optimized for 5-8 second subtitle blocks; to force shorter, more granular subtitles, you need to adjust the segmentation thresholds.

Solution

  1. Open Menu → Tools/Options → Advanced Options and locate the ASR Settings / 语音识别参数 section.
  2. Reduce the following values to make subtitles shorter:

    • Max speech duration (s) – set to 2 or 3 seconds.
    • Min speech duration (ms) – set to 1000 ms.
    • Silence duration for split (ms) – set to 140 ms.

    This will cut sentences more aggressively, producing shorter subtitle lines suitable for fast-paced content.

  3. If you are using voice cloning (clone as the TTS role), keep Min speech duration above 3000 ms, otherwise cloning may fail or produce poor audio quality.
  4. If the problem persists in the final video, also enable Secondary recognition (二次识别) in the main interface. This will re-transcribe the dubbed audio with tighter timing, generating shorter, more precise subtitle lines.
  5. Optionally, in Advanced Options → ASR Settings, reduce the “Recognition(2)” parameters:

    • Max speech duration: 1.5 s
    • Min speech duration: 600 ms

Please consult the relevant documentation:

#2 79.22**1 reply at 20 days ago

già fatto ma non si è risolto il problema

#3 DeepSeek reply at 20 days ago

Se ha già modificato i parametri VAD, il problema potrebbe essere dovuto a file generati in precedenza o alla formattazione delle righe. Provi questi passi:

  1. Forzare una nuova elaborazione da zero: nel passaggio "Seleziona video/audio", spunti "清理已生成" (Clear Output) prima di avviare. In questo modo verranno ricalcolati i sottotitoli con le nuove impostazioni.
  2. Ridurre ulteriormente la durata massima: imposti Max speech duration (s) a 2 secondi e Min silence duration for split (ms) a 200 ms. (Attenzione: il sistema applica un buffer di circa 1,5x, quindi 2 secondi possono diventare 3 secondi reali.)
  3. Controllare la lunghezza visiva delle righe: in Menu → Tools/Options → Advanced Options → Alignment riduca il valore di Number of characters per line for CJK (per cinese/giapponese/coreano) o Number of words per line for Other (per altre lingue). Ad esempio, imposti 20 per forzare l'andata a capo prima.
  4. Se il testo riconosciuto è ancora una frase molto lunga senza punteggiatura, attivi "LLM纠错" (LLM Correction) scegliendo un provider AI come DeepSeek. Questo aggiungerà punteggiatura e separerà le frasi in modo più naturale. Per farlo, selezioni la casella "LLM纠错" nell'interfaccia principale della traduzione.
  5. Verifichi che i valori siano stati salvati correttamente e che non ci siano errori di battitura (es. Max speech duration non deve essere inferiore a Min speech duration/1000). Se il problema persiste, mi indichi se per "frasi troppo lunghe" intende:

    • una riga di sottotitolo occupa più di due righe sullo schermo;
    • una singola didascalia dura più di 8-10 secondi;
    • il testo riconosciuto è una sola frase continua senza pause.

Documenti utili

#4 79.22**1 reply at 20 days ago

il testo mescola piu frasi di speaker diversi non rispettando le pause

#5 DeepSeek reply at 20 days ago

The issue of mixed sentences from different speakers without respecting pauses is caused by the VAD (silence detection) not splitting at the right moments, or by the ASR model combining short utterances into one line. Since you already adjusted the basic VAD parameters, try these further steps to force better segmentation:Enable AI-based re-sentenceing: go to Menu → Tools/Options → Advanced Options → Subtitle Translation, select “Use LLM to re-sentence instead of LLM correct errors”, and make sure you have also enabled “LLM correction” in the main interface (if you haven’t chosen an AI provider, use DeepSeek). This sends the whole recognized text to an LLM, which can properly split different speakers’ sentences and restore punctuation.Make VAD more sensitive: in the same Advanced Options → ASR Settings, set Min silence duration for split (ms) to 100 (or less). Also set Max speech duration (s) to 2 and Min speech duration (ms) to 1000 (if you are not using voice cloning). This will cut at nearly every pause.Reduce background interference: on the main interface, enable “Separate Vocal/BGM” to remove background noise/music, which often prevents VAD from detecting pauses correctly.Try a different ASR model: for multi-speaker dialogues, models like openai-whisper (large-v3) or Qwen-ASR often produce better sentence boundaries than the default faster-whisper with your current settings. Switch to one of them and test again.If none of these help, please provide the latest log file from logs/ (copy the bottom 30 lines) so the exact cause can be identified.### 请查阅相关文档:

#6 79.22**1 reply at 19 days ago

io ho fatto tutto quello che hai detto ma dal primo passaggio di circa 900 frasi riduce le frasi a 470 creando il file srt sbagliato 2/3 speaker nella stessa frase

#7 DeepSeek reply at 19 days ago

La riduzione da 900 a 470 righe non avviene durante la trascrizione, ma nella fase successiva di ricostruzione/merge dei segmenti (VAD + ri-segmentazione basata sui timestamp delle parole): ogni due segmenti adiacenti viene fuso in uno, e poiché la pausa tra parlanti diversi è breve o coperta da rumore, due o tre interlocutori finiscono nella stessa riga. Le impostazioni VAD da sole non bastano se il merge è governato dalla soglia di durata minima e dalla ri-segmentazione.

Passi da eseguire, in quest'ordine:

  1. Disattivare la ri-segmentazione LLM (fonde le righe e ignora i cambi di parlante)
    Menu → Tools/Options → Advanced Options → Subtitle Translation → deselezionare Use LLM to re-sentence instead of LLM correct errors. Tenere solo LLM纠错 se serve.
  2. Abbassare la soglia di merge in ASR Settings

    • Min speech duration(ms) → 400 (non 3000: valori alti forzano l'unione delle righe corte con quelle adiacenti, ed è esattamente il comportamento 900→470)
    • Max speech duration(s) → 2
    • Min silence duration for split(ms) → 120~150
    • Speech probability threshold → 0.3 (più sensibile = più tagli)
  3. Disattivare la context awareness
    Advanced Options → ASR Settings → deselezionare Enable context awareness. Con essa attiva il modello tende a concatenare e a produrre allucinazioni/ripetizioni tra turni di parola.
  4. Pulire l'audio prima del riconoscimento
    Sulla schermata principale selezionare Separate Vocal/BGM (o almeno Noise Reduction). Se il rumore copre le pause, il VAD non rileva mai il confine tra parlanti, indipendentemente dalle soglie.
  5. Disabilitare la ri-segmentazione interna di Whisper (richiede v4.15+)
    Creare nella cartella radice del software (dove si trova sp.exe) un file di testo vuoto chiamato:

    no_resegment.txt

    Questo obbliga faster-whisper/openai-whisper a usare le frasi native del modello invece di rifonderle sui timestamp delle parole. Nota: così le righe non rispetteranno più rigidamente max/min durata, ma non verranno più accorpate arbitrariamente.

  6. Cambiare canale ASR
    faster-whisper con i parametri attuali è il più aggressivo nel merge. Provare:

    • Cinese: Qwen-ASR(内置) o FunASR(内置) paraformer-zh
    • Altre lingue: openai-whisper(内置) con large-v3
      Eseguire sempre con 清理已生成(Clear Output) selezionato, altrimenti vengono riutilizzati gli SRT già prodotti.
  7. Per separare comunque i parlanti nella stessa riga residua
    Con un solo video selezionato, attivare Identify Speakers in More... e indicare Max speakers: nella finestra interattiva potrai riassegnare i turni. Se il file continua a contenere 2-3 parlanti per riga dopo i passi 1-6, il materiale ha voci sovrapposte e serve una diarizzazione a monte.

Se dopo tutto questo il conteggio righe resta dimezzato, il problema è riproducibile solo con quel file: inviare il log più recente dalla cartella logs/ (le ultime ~30 righe) indicando versione esatta, canale ASR usato e lingua audio.

请查阅相关文档:

Thinking...
Post Your Reply
If you have more than 50 messages, you will no longer receive an automatic reply. Please ask a new question!
Open source and free maintenance is not easy. If this project is helpful to you, please consider making a small donation to help the project continue to maintain and update.

Dondate via ko-fi.com

Related resource