Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

How to get sentence-level timestamps?

Aperta
#54 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
38/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Tranquilla
Stack tecnologico
shell

Direzione di ricerca

Inizia con il comando parakeet-cli transcribe e il relativo output JSON, quindi esamina come vengono esposti i timestamp delle parole. Confronta il comportamento richiesto per i sottotitoli a livello di frase con lo script collegato make_subtitles.py e determina se questa funzionalità debba appartenere alla CLI o essere realizzata come strumento locale complementare. Il lavoro sarà considerato completato quando esisterà un modo documentato e rispettoso della privacy per produrre sottotitoli tradizionali a livello di frase.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

parakeet output is word-level timestamped, but is friendly/traditional to make a subtitle for a video/audio transcription. Is possible to get sentence-level output? There is a local tool that can do it?

I was able to get word-level transcription with:

parakeet-cli transcribe --model tdt-0.6b-v3-q4_k.gguf --input in.wav --json > out.json

And with this shell script I was able to convert to WebVTT subtitle:

#!/bin/sh
jq -r '
  def format_time:
    . as $s |
    ($s / 3600 | floor) as $h |
    (($s % 3600) / 60 | floor) as $m |
    ($s % 60 | floor) as $sec |
    ($s * 1000 | floor % 1000) as $ms |
    "\(if $h < 10 then "0" else "" end)\($h):\(if $m < 10 then "0" else "" end)\($m):\(if $sec < 10 then "0" else "" end)\($sec).\(if $ms < 10 then "00" elif $ms < 100 then "0" else "" end)\($ms)";

  "WEBVTT\n\n" + ([.words[] | "\(.start | format_time) --> \(.end | format_time)\n\(.w)"] | join("\n\n")) + "\n"
' "$1"
  • The output is one word per subtitle line, that is not very friendly to create a subtitle for a video or audio recording.
  • Do you know a way to convert the transcription in a more traditional (sentence-level timestamps) subtitle?
Workaround

Using Word Timestamp to Subtitles online tool, I was able to get an expected formatted subtitle from JSON output (from parakeet), but I'm searching a local/offline tool, because privacy.

This should work but give me errors, and I'm not a programmer to fix that.

Lingua principale
C++
Stelle
844
Fork
103
Merge medio
8h 27m
PR unite (30g)
26

Preparare l'ambiente

  • Include un Dockerfile o un file Docker Compose
  • Nessun modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di mudler/parakeet.cpp

Tutte le issue di mudler/parakeet.cpp

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.