Przejdź do treści
SubtitleMatrix

Konwerter napisów LRC na SRT

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.

LRC zapisuje sam początek wiersza — znacznik w nawiasach kwadratowych i tekst. SRT wymaga dwóch czasów przy każdym bloku, więc brakujący koniec powstaje z początku następnego wiersza. To ta sama reguła, którą stosuje odtwarzacz tekstu piosenek, przesuwając podświetlenie na kolejny wers.

Dwa przypadki wymagają osobnego potraktowania. Kilka wierszy może dzielić jeden znacznik — na przykład oryginał i tłumaczenie — i wtedy zostają jednym blokiem z dwiema liniami, a nie dwoma blokami startującymi w tej samej chwili. Ostatni wiersz nie ma następnika, więc dostaje długość ustawioną nad polem pliku; raport mówi, że ten koniec został wygenerowany.

Nagłówek LRC jest odczytywany, ale SRT nie ma pól metadanych, więc tytuł i wykonawca trafiają do raportu jako strata. Znacznik przesunięcia zostaje zachowany bez zastosowania, dzięki czemu wynik mówi dokładnie to, co plik. Wszystko dzieje się w przeglądarce.

Przykłady

Typowy plik LRC po konwersji na SRT

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

1
00:00:12,000 --> 00:00:15,300
First line of the song.

2
00:00:15,300 --> 00:00:18,000
Second line.
Second line, translated.

3
00:00:18,000 --> 00:00:21,500


4
00:00:21,500 --> 00:00:23,500
Final line.

W tym wyniku ginie timing. Poza tym tekst zgadza się wiersz po wierszu.

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

1
00:00:03,000 --> 00:00:05,500
Out of order.

2
00:00:05,500 --> 00:00:07,000
Leading zero omitted, one decimal.

3
00:00:07,000 --> 00:00:09,000
Second with no centiseconds.
Repeated chorus line.

4
00:00:09,000 --> 00:00:12,000
Repeated chorus line.

5
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 SRT?

Z początku następnego wiersza. LRC nie zapisuje końca, więc parser przyjmuje moment, w którym zaczyna się kolejny wers — dokładnie tak postępuje odtwarzacz przesuwający podświetlenie. Dzięki temu wszystkie końce poza ostatnim są wyliczone z danych pliku, a nie wymyślone.

Co dzieje się z ostatnim wierszem LRC przy konwersji na SRT?

Ostatni wiersz nie ma następnika, od którego mógłby pożyczyć koniec. Dostaje więc długość z pola pod obszarem pliku — domyślnie dwie sekundy — a raport odnotowuje wygenerowany koniec, bo plik źródłowy nic o nim nie mówił.

Dlaczego dwa znaczniki LRC trafiają do jednego bloku SRT?

Bo dzielą ten sam czas rozpoczęcia. W LRC tak zapisuje się tłumaczenie albo drugi głos pod tym samym wersem: oba wiersze mają się pokazać razem. SRT dostaje jeden blok z dwiema liniami, a nie dwa bloki startujące w tej samej chwili, których żaden odtwarzacz nie pokaże sensownie.

Czy przesunięcie z nagłówka LRC jest stosowane w SRT?

Nie, jest tylko czytane i zachowywane. Czasy w SRT odpowiadają więc tym zapisanym w pliku. Jeśli odtwarzacz pokazywał tekst wcześniej lub później właśnie przez `[offset:…]`, zastosuj tę samą korektę na stronie przesunięcia — wtedy wynik zgodzi się z tym, co widziałeś.

Co dzieje się z tytułem i wykonawcą z LRC w pliku SRT?

SRT nie przechowuje metadanych: nie ma gdzie zapisać tytułu ani wykonawcy. Oba pola są odczytywane i zgłaszane jako strata, a nie doklejane do pierwszej linii tekstu. Zostaje czysty tekst i czasy, czyli dokładnie to, czym SRT jest.

Powiązane narzędzia