본문으로 바로 가기
SubtitleMatrix

CSV를 LRC로 변환

또는 자막 텍스트를 붙여넣으세요

이 변환에서 달라지는 것

2가지가 버려지거나 결정이 필요합니다

  • 타이밍

    자막 블록 종료 시간(결과 형식은 자막 블록이 시작하는 시점만 기록합니다)

  • 정밀도

    타이밍 정밀도 — 결과물의 시계가 더 거칠어 모든 타임스탬프가 가장 가까운 10 ms로 반올림됩니다

이 목록은 불러온 특정 파일이 아니라 두 형식의 기능 행렬에서 나옵니다. 어떤 파일은 형식이 허용하지만 행렬이 모델링하지 않는 기능을 쓰고 있다면 더 많이 잃을 수 있습니다.

CSV를 LRC로 바꾸면 각 행이 타임스탬프를 단 가사 줄이 되지만, 끝 시간과 정밀도는 남지 않습니다. LRC는 줄이 시작하는 순간만 적고 다음 줄이 나올 때까지 그 줄을 유지하므로, CSV의 끝 시간은 기록될 자리가 없습니다.

CSV는 시간을 00:00:04.126처럼 천분의 1초까지 적고, LRC는 [00:04.12]처럼 백분의 1초까지 적습니다. 모든 시각이 가장 가까운 10ms로 반올림되어 4.126초는 4.13초가 되고, cue가 늘어나거나 순서가 바뀌지 않으며 어느 것도 5ms 넘게 움직이지 않습니다.

표의 행 하나가 LRC의 한 줄이 되고, 셀 안의 두 줄은 같은 시각을 가진 두 줄로 나옵니다. 가사 재생기에서 쓰기 좋은 모양이지만 자막 재생기용 결과가 필요하다면 SRT나 VTT를 고르세요.

여러 파일을 넣으면 차례로 변환되어 ZIP 하나로 내려옵니다. 변환은 브라우저 안에서 실행되며 CSV 원본은 업로드되지 않습니다. 끝 시간이 필요하면 원본 CSV를 함께 보관하세요.

예시

일반적인 CSV 파일을 LRC로 변환

입력

start,end,text
00:00:01.000,00:00:03.500,The quick brown fox.
00:00:04.000,00:00:06.250,"Jumps over, the lazy dog."
00:00:07.000,00:00:09.000,"Two lines here.
And a second one."

결과물

[00:01.00]The quick brown fox.
[00:04.00]Jumps over, the lazy dog.
[00:07.00]Two lines here.
[00:07.00]And a second one.

이 결과에서 사라지는 것: 끝 시간과 정밀도. 나머지는 줄 단위로 같습니다.

머리글과 빈 칸이 섞인 CSV를 같은 방식으로 변환

입력

id,start,end,note,text
1,00:00:01,000,00:00:04,000,cue one,"Hello there, friend."
2,00:00:05.000,00:00:07.000,cue two,Second line.
bad,notatime,00:00:09.000,cue three,Unreadable start.
4,00:00:10.000,00:00:09.000,cue four,End before start.
5,00:00:12.000,00:00:14.000,cue five,Unquoted comma in text, right here.

결과물

[00:01.00]Hello there, friend.
[00:05.00]Second line.
[00:10.00]End before start.
[00:12.00]Unquoted comma in text, right here.

실제 파일에서 흔한 손상입니다. 줄 바꿈이 섞이고, 공백이 남고, 빈 필드가 있습니다. 위의 깔끔한 예시와 비교해 파서가 무엇을 넘겨주는지 보세요.

자주 묻는 질문

CSV cue의 끝 시간은 LRC에서 어떻게 되나요?

버려집니다. LRC는 줄이 시작하는 순간만 기록하고 가사 재생기는 다음 줄이 시작할 때까지 현재 줄을 유지하므로, 끝 시각이 있으면 오히려 중복입니다. 재생에는 문제가 없지만 표시 길이를 계산하려면 원본 CSV가 필요합니다.

CSV에서 LRC로 가면 타임코드가 왜 달라지나요?

LRC는 [00:04.12]처럼 0.01초까지, CSV는 00:00:04.126처럼 0.001초까지 적기 때문입니다. 모든 값이 가장 가까운 10ms로 반올림되어 4.126초는 4.13초가 되고, cue가 5ms 넘게 움직이거나 순서가 바뀌지 않습니다.

CSV를 LRC로 바꾸면 결과가 어떻게 생겼나요?

cue 번호 없이 줄마다 대괄호로 감싼 타임스탬프가 앞에 붙습니다. CSV의 행 하나가 LRC의 줄 하나가 되어 순서와 글자는 같습니다.

CSV 셀 안의 두 줄은 LRC에서 어떻게 되나요?

같은 시각을 가진 두 줄로 나옵니다. LRC에서 두 줄이 한 묶음이라는 사실을 나타내는 방법이 같은 타임스탬프를 반복하는 것이라, 결과도 그렇게 적힙니다.

LRC를 다시 CSV로 바꾸면 무엇을 잃나요?

시간을 잃습니다. LRC에는 시작 시각만 있고 끝 시각이 없어서 CSV로 되돌리면 각 cue의 표시 길이를 새로 정해야 하며, 그 값은 원본과 같을 수 없습니다.

CSV를 LRC로 바꾸면 결과 인코딩은 어떻게 되나요?

원본이 무엇이었든 결과는 UTF-8에 유닉스 줄 바꿈, 바이트 순서 표시 없음입니다. UTF-16이나 윈도우 단일 바이트 인코딩으로 들어온 파일은 읽는 과정에서 디코딩되며, 그 사실은 결과 패널에 표시됩니다.

관련 도구