How to get sentence-level timestamps?
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 38/100
- issue の種類
- 機能追加
- 明瞭さ
- 説明が足りない
- 活発さ
- 静か
- 技術スタック
- shell
- 領域
- audio-video-rtc, cli
調査の方向性
まず parakeet-cli transcribe コマンドとその JSON 出力から始め、次に単語のタイムスタンプがどのように公開されているかを調べます。要求されている文単位の字幕動作を、リンクされている make_subtitles.py スクリプトと比較し、これを CLI に含めるべきか、ローカルの補助ツールにするべきかを判断します。完了とは、従来型の文単位の字幕を生成する、文書化されたプライバシー保護型の方法が得られていることを意味します。
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- C++
- スター
- 844
- フォーク
- 103
- 平均マージ
- 8時間 27分
- マージ済み PR(30日)
- 26
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
mudler/parakeet.cpp のほかの issue
-
Mention parakeet-ffm in README対応中かも @localai-org-maint-bot が 7 日前に担当しました。 オープン
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
mudler/parakeet.cpp#99 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 47/100
mudler/parakeet.cpp#101 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
mudler/parakeet.cpp#68 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 58/100
mudler/parakeet.cpp#62 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 58/100
mudler/parakeet.cpp#61 ·
メンテナーはふだん 1 日以内に返信
mudler/parakeet.cpp の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
category:port-update
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 2 日以内に返信
-
(S1 - Need confirmation)
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
CleverRaven/Cataclysm-DDA#89194 ·
メンテナーはふだん 1 日以内に返信
-
reproduced
難易度 1/5 1時間未満 初心者へのやさしさ 67/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信