Przejdź do treści
SubtitleMatrix

Konwerter napisów LRC na VTT

Konwersja formatówTekst piosenki (LRC)
Albo wklej tekst napisów

Opcje

Używane, gdy źródło nie ma czasów końca (zwykły tekst, LRC). Oś czasu w wyniku jest tu generowana, a nie konwertowana, więc dostajesz dokładnie tę liczbę.

Co zmienia ta konwersja

1 rzecz zostaje pominięta albo wymaga decyzji

  • Czasy

    czasy końca bloków — źródło ich nie zapisuje, więc czasy w wyniku zostaną wygenerowane, a nie skonwertowane

Ta lista pochodzi z macierzy możliwości tych dwóch formatów, a nie z konkretnego wczytanego pliku. Konkretny plik może stracić więcej, jeśli używa cech, które format dopuszcza, ale macierz ich nie modeluje.

VTT wymaga pary czasów przy każdym bloku, a LRC podaje tylko moment rozpoczęcia. Konwersja dopisuje więc koniec z początku kolejnego wiersza, a ostatniemu wierszowi daje długość z pola pod obszarem pliku. Ten jeden wygenerowany koniec trafia do raportu, żebyś wiedział, skąd się wziął.

Zgodność nie kończy się na czasach. Wspólny znacznik w LRC oznacza wiersze, które mają się pokazać razem — najczęściej oryginał i tłumaczenie — i w VTT zostają one jednym blokiem z dwiema liniami. Plik zaczyna się nagłówkiem `WEBVTT`, a czasy są zapisane z kropką dziesiętną, tak jak wymaga tego format.

Metadane z nagłówka LRC nie mają w VTT odpowiednika, więc tytuł i wykonawca są raportowane jako strata, a nie wklejane do tekstu. Konwersja działa w przeglądarce; nic nie opuszcza komputera.

Przykłady

Typowy plik LRC po konwersji na VTT

Wejście

[ti:Sample Song]
[ar:Some Artist]
[length:00:41.00]
[offset:+250]
[00:12.00]First line of the song.
[00:15.30]Second line.
[00:15.30]Second line, translated.
[00:18.00]
[00:21.50]Final line.

Wynik

WEBVTT

00:00:12.000 --> 00:00:15.300
First line of the song.

00:00:15.300 --> 00:00:18.000
Second line.
Second line, translated.

00:00:18.000 --> 00:00:21.500


00:00:21.500 --> 00:00:23.500
Final line.

W tym wyniku ginie timing: końce zostały wyliczone z kolejnych wierszy, bo LRC ich nie zapisał.

Ta sama konwersja na nierównym pliku wejściowym

Wejście

[ar:Some Artist]
[0:05.5]Leading zero omitted, one decimal.
[00:07]Second with no centiseconds.
[00:03.00]Out of order.
[00:07.00][00:09.00]Repeated chorus line.
[00:12.00]

Wynik

WEBVTT

00:00:03.000 --> 00:00:05.500
Out of order.

00:00:05.500 --> 00:00:07.000
Leading zero omitted, one decimal.

00:00:07.000 --> 00:00:09.000
Second with no centiseconds.
Repeated chorus line.

00:00:09.000 --> 00:00:12.000
Repeated chorus line.

00:00:12.000 --> 00:00:14.000

Takie uszkodzenia ma wiele prawdziwych plików: mieszane końce wierszy, zbłąkane spacje, puste pola. Porównaj to z czystym przykładem powyżej, żeby zobaczyć, co parser wybacza.

Częste pytania

Skąd wiersz LRC bierze czas zakończenia w VTT?

Z kolejnego wiersza LRC: jego początek staje się końcem poprzedniego. VTT zapisuje oba czasy jawnie, więc bez tej reguły nie dałoby się zbudować bloku. Ostatni wiersz jest wyjątkiem — nie ma następcy i dostaje długość ustawioną na stronie.

Jak wygląda wynik, gdy LRC staje się VTT?

Plik otwiera nagłówek `WEBVTT`, potem każdy blok to linia `00:00:12.000 --> 00:00:15.300` i tekst pod nią. Numery bloków nie są potrzebne i nie pojawiają się w wyniku. Każdy blok LRC daje jeden blok VTT w tej samej kolejności.

Jak w VTT wychodzi dwuwierszowy blok z LRC?

Jako dwie linie, jedna pod drugą, w tym samym bloku. VTT nie potrzebuje znacznika złamania wiersza — wystarczy znak nowej linii. Oryginał i tłumaczenie, które w LRC dzieliły jeden znacznik, nadal należą do jednego napisu i odtwarzacz pokaże je razem.

Czy kolejność bloków z LRC jest zachowana w VTT?

Tak, a po drodze bloki są sortowane rosnąco według czasu rozpoczęcia. VTT, jak każdy format napisów, zakłada porządek chronologiczny. Jeśli plik LRC miał wiersze poza kolejnością, wynik je uporządkuje — to świadoma zmiana struktury pliku, nie treści.

Co ginie przy powrocie z VTT do LRC?

Timing, style, precyzja i konstrukcje specyficzne dla VTT, czyli bloki `NOTE`, `STYLE`, `REGION` oraz ustawienia wyrównania. LRC nie ma na nie miejsca, a dodatkowo nie zapisuje czasów zakończenia. Sam tekst wierszy i ich kolejność da się przenieść z powrotem.

Jakie kodowanie ma VTT powstały z LRC?

Zawsze UTF-8, z końcami wierszy LF i bez znacznika BOM — niezależnie od tego, co stosował plik LRC. Wejście w UTF-16 albo w jednobajtowym kodowaniu Windows jest dekodowane po drodze, a panel wyniku o tym informuje. Wyjście jest za każdym razem takie samo.

Powiązane narzędzia