Chuyển SMI sang LRC
Hoặc dán văn bản phụ đề
Chuyển đổi này thay đổi điều gì
5 thứ bị bỏ hoặc cần một quyết định
- Mốc thời gian
thời điểm kết thúc của cue (định dạng đích chỉ ghi khi một cue bắt đầu)
- Định dạng hiển thị
mọi định dạng hiển thị (đậm, nghiêng, màu, viền, bóng)
- Vị trí
vị trí trên màn hình (mọi cue trở về vị trí mặc định)
- Độ chính xác
độ chính xác thời gian — đồng hồ của kết quả thô hơn, nên mọi mốc thời gian được làm tròn đến 10 ms gần nhất
- Nội dung riêng của định dạng
nội dung mà định dạng nguồn giữ bên ngoài các cue (khối không phải cue, văn bản đầu tệp, thiết lập riêng từng cue, sự kiện bị chú thích) — định dạng đích không có chỗ cho nó
Danh sách này đến từ ma trận năng lực của hai định dạng này, không phải từ tệp cụ thể bạn đã tải lên. Một tệp cụ thể có thể mất nhiều hơn nếu nó dùng các tính năng mà định dạng cho phép nhưng ma trận không mô hình hóa.
Trang này chuyển SMI sang LRC. Bạn thả tệp vào hoặc dán văn bản, rồi nhận lại phiên bản LRC. Quá trình chạy trong trình duyệt: không tải tệp lên máy chủ và không cần tài khoản.
Hai định dạng không lưu cùng một thứ: LRC chỉ ghi lúc một dòng bắt đầu, không có mốc kết thúc, và không có chỗ cho kiểu dáng hay vị trí của SAMI. Danh sách mất mát phía trên tính từ khả năng của hai định dạng chứ không từ tệp của bạn.
Một tệp hay cả mùa phim đều được: hàng đợi xử lý lần lượt và trả kết quả về cùng một tệp ZIP.
Ví dụ
Một tệp SMI điển hình, chuyển sang LRC
Đầu vào
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial; }
.ENCC { Name: English; lang: en-US; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P Class=ENCC>Hello there.
<SYNC Start=3000>
<P Class=ENCC>
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>
</BODY>
</SAMI>
Kết quả
[00:01.00]Hello there.
[00:03.50]How are you?
[00:03.50]Fine, thanks.
Bị mất trong kết quả: thời gian, kiểu dáng, vị trí, độ chính xác và các thành phần ngoài cue. Phần còn lại khớp từng dòng.
Cùng phép chuyển đổi với một tệp lộn xộn
Đầu vào
<SAMI>
<HEAD>
<TITLE>Episode 1</TITLE>
<STYLE TYPE="text/css">
<!--
.ENCC { Name: English; }
-->
</STYLE>
</HEAD>
<BODY>
<sync start="00:00:02,500">
<P Class=ENCC>Line one<br>Line two
<sync start=9000>
<P Class=ENCC>Tom & Jerry
<SYNC Start=12000>
<P Class=ENCC>
</BODY>
</SAMI>
Kết quả
[00:02.50]Line one
[00:02.50]Line two
[00:09.00]Tom & Jerry
Đây là kiểu hỏng thật của tệp ngoài đời — thẻ đóng thiếu, Class trỏ vào kiểu không tồn tại, kết thúc dòng lẫn lộn. So với ví dụ gọn ở trên để thấy bộ phân tích bỏ qua được gì.
Câu hỏi thường gặp
Thời điểm kết thúc của cue SMI đi đâu khi chuyển sang LRC?
LRC chỉ ghi mốc bắt đầu; trình phát lời nhạc giữ dòng đến khi dòng kế tiếp xuất hiện. Mọi end của SMI bị bỏ, còn start được giữ nguyên.
Vì sao mốc thời gian bị làm tròn khi SMI sang LRC?
SMI ghi Start=4126 với mili giây; LRC ghi [00:04.13] với hai chữ số thập phân. Mỗi mốc được làm tròn đến 10 ms gần nhất, nên không cue nào lệch quá 5 ms.
Tag [ti:] hay [ar:] của LRC có được tạo từ tệp SMI không?
Không. SMI không có trường ca sĩ hay tên bài tương ứng, nên tệp LRC xuất ra không có tag metadata; chỉ các dòng thời gian và lời được ghi.
Các khối <P> và <br> của SMI thành gì trong LRC?
Mỗi đoạn chữ thành một dòng có mốc; xuống dòng bằng <br> tách thành hai dòng cùng mốc, để chúng vẫn được nhóm thành một cue khi đọc lại.
Vị trí trên màn hình của SAMI có được giữ trong LRC không?
Không. LRC không có cơ chế định vị nào, nên mọi thông tin vị trí từ Class của SMI bị bỏ. Chỉ thời điểm và lời còn lại.
Kiểu dáng trong <STYLE> của SMI có sang LRC không?
Không. LRC là văn bản thuần với mốc thời gian, không có chỗ cho phông chữ hay màu. Mọi định nghĩa kiểu của SAMI bị bỏ khi chuyển.
LRC có giữ thứ tự cue của tệp SMI không?
Có, các dòng được sắp theo mốc bắt đầu. Nếu tệp SMI gốc đặt <SYNC> lộn xộn, LRC xuất ra sẽ được xếp lại; lời không đổi nhưng vị trí dòng thay đổi.
Khối <SYNC> chứa <P> dùng để xóa màn hình của SMI có tạo dòng LRC không?
Không. Khối đó không có nội dung chữ, chỉ xóa màn hình, không phải một dòng lời, nên không thành mục trong LRC. Nếu có, trình phát lời nhạc sẽ gặp một dòng trống không có nghĩa.
Chuyển LRC ngược về SMI mất gì?
Mất thời gian: LRC không có end, nên SMI dựng lại chỉ có mốc bắt đầu. Kiểu dáng và vị trí cũng không thể khôi phục vì LRC không mang chúng.
LRC do SMI tạo ra dùng bảng mã nào?
UTF-8, không BOM, kết thúc dòng LF. Tệp SMI đầu vào thường ở UTF-16 hay bảng mã một byte; bộ đọc giải mã và ghi cảnh báo vào bảng kết quả.