Przejdź do treści
SubtitleMatrix

Konwerter napisów LRC na SBV

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.

SBV to jeden z najprostszych formatów napisów: linia z dwoma czasami rozdzielonymi przecinkiem, pod nią tekst. Nie ma nagłówka ani numerów bloków, więc konwersja z LRC sprowadza się do wyliczenia brakującego końca i zapisania pary czasów.

LRC końca nie zna, dlatego parser bierze go z początku następnego wiersza. Wyjątkiem jest ostatni wiersz, który dostaje długość z pola na stronie. Wiersze dzielące jeden znacznik pozostają razem jako kilka linii w jednym bloku SBV.

Metadane z nagłówka LRC — tytuł, wykonawca, przesunięcie — nie mają w SBV miejsca, więc są odczytywane i raportowane jako strata, a nie dopisywane do tekstu. Konwersja odbywa się w przeglądarce i nie wymaga konta.

Przykłady

Typowy plik LRC po konwersji na SBV

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

0:00:12.000,0:00:15.300
First line of the song.

0:00:15.300,0:00:18.000
Second line.
Second line, translated.

0:00:18.000,0:00:21.500


0:00:21.500,0:00:23.500
Final line.

W tym wyniku ginie timing: SBV dostał końce wyliczone z kolejnych wierszy LRC.

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

0:00:03.000,0:00:05.500
Out of order.

0:00:05.500,0:00:07.000
Leading zero omitted, one decimal.

0:00:07.000,0:00:09.000
Second with no centiseconds.
Repeated chorus line.

0:00:09.000,0:00:12.000
Repeated chorus line.

0:00:12.000,0: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

Jak wiersz LRC otrzymuje czas zakończenia w SBV?

SBV wymaga dwóch czasów w jednej linii, a LRC daje tylko początek. Parser przyjmuje więc moment startu następnego wiersza jako koniec bieżącego. Ostatni wiersz nie ma następnika, więc dostaje długość z pola na stronie, a raport mówi, że ten koniec został dopisany.

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

Każdy blok to linia `0:00:12.000,0:00:15.300`, a pod nią tekst. Nie ma nagłówka, numerów ani metadanych — tylko pary czasów i treść. Jeden blok LRC daje jeden blok SBV, z zachowaniem kolejności.

Jak dwuwierszowy blok LRC wychodzi w SBV?

Jako dwie linie tekstu pod jedną linią czasów. SBV rozpoznaje granicę bloku po pustej linii, więc obie linie pozostają jednym napisem. Para oryginał–tłumaczenie z LRC nie rozdziela się na dwa bloki.

Czy kolejność bloków LRC jest zachowana w SBV?

Tak, a przed zapisem parser sortuje bloki według czasu rozpoczęcia. SBV nie ma numerów, które mogłyby zamaskować zły porządek, więc chronologia jest tu szczególnie istotna. Plik LRC z wierszami poza kolejnością zostanie uporządkowany świadomie.

Co tracę, wracając z SBV do LRC?

Timing i precyzję. LRC nie zapisuje czasów zakończenia, więc końce z SBV znikają, a czas startu jest zaokrąglany do setnej sekundy. Zostaje tekst i początki wierszy — bez wyglądu, bo SBV i LRC i tak nie przechowują stylów.

Jakie kodowanie ma SBV powstałe z LRC?

Zawsze UTF-8, z końcami wierszy LF i bez znacznika BOM. Plik LRC w UTF-16 albo w jednobajtowym kodowaniu Windows jest najpierw dekodowany, o czym informuje panel wyniku. Wynik nie dziedziczy kodowania źródła.

Powiązane narzędzia