Lompat ke konten utama
SubtitleMatrix

Konversi SMI ke LRC

Konversi formatSAMI (SMI)
Atau tempel teks subtitle

Apa yang berubah dalam konversi ini

5 hal dihapus atau memerlukan keputusan

  • Waktu

    waktu akhir cue (format keluaran hanya mencatat kapan cue mulai)

  • Pemformatan

    seluruh pemformatan (tebal, miring, warna, garis tepi, bayangan)

  • Posisi

    posisi di layar (setiap cue kembali ke posisi bawaan)

  • Presisi

    presisi waktu — jam keluaran lebih kasar, sehingga setiap stempel waktu dibulatkan ke 10 ms terdekat

  • Konten khusus format

    konten yang disimpan format sumber di luar cue-nya (blok non-cue, teks header, pengaturan per cue, event yang dikomentari) — format tujuan tidak punya tempat untuknya

Daftar ini berasal dari matriks kemampuan untuk kedua format ini, bukan dari file tertentu yang Anda muat. File tertentu bisa kehilangan lebih banyak jika memakai fitur yang diizinkan format tetapi tidak dimodelkan matriks.

Halaman ini mengubah SMI menjadi LRC. SAMI adalah dokumen subtitle berbasis HTML dengan tag <SYNC> dan CSS; LRC adalah format lirik sederhana yang menaruh stempel waktu dalam kurung siku di awal setiap baris.

Waktu akhir, gaya, posisi, presisi, dan isi khas dokumen tidak punya tempat di LRC. LRC hanya mencatat kapan sebuah baris mulai dan hanya menyimpan satu baris teks per stempel waktu, sehingga pengelompokan cue SAMI tidak dapat dipertahankan. Daftar di atas tampil sebelum file dimuat karena berasal dari kemampuan format.

Pemrosesan berjalan di peramban tanpa unggahan dan tanpa akun. Antrean bisa menangani satu file atau satu musim sekaligus, lalu hasilnya diunduh sebagai satu ZIP.

Contoh

File SMI biasa, dikonversi ke LRC

Masukan

<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>&nbsp;
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

Keluaran

[00:01.00]Hello there.
[00:03.50]How are you?
[00:03.50]Fine, thanks.

Yang hilang di keluaran ini: waktu akhir, gaya, posisi, presisi, dan isi khas dokumen. Selebihnya cocok baris per baris.

Konversi yang sama pada masukan berantakan

Masukan

<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 &amp; Jerry
<SYNC Start=12000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

Keluaran

[00:02.50]Line one
[00:02.50]Line two
[00:09.00]Tom &amp; Jerry

File nyata sering membawa akhir baris campuran, spasi liar, dan kolom kosong. Bandingkan dengan contoh rapi di atas untuk melihat apa yang dimaafkan parser.

Pertanyaan yang sering diajukan

Apa yang terjadi pada waktu akhir cue SMI saat masuk ke LRC?

Waktu akhir dibuang. LRC hanya mencatat awal baris; pemutar lirik membiarkan baris tampil sampai baris berikutnya dimulai, jadi angka akhir tidak diperlukan. Setiap waktu mulai SMI tetap dipertahankan.

Apakah huruf tebal, miring, dan warna SMI bertahan di LRC?

Tidak satu pun. LRC tidak menyimpan gaya, baik tag seperti <i> atau <font color> di dalam paragraf maupun aturan di blok <STYLE>. Semua baris ditulis sebagai teks polos, dan kata-katanya sendiri tidak diubah.

Apa yang terjadi pada posisi layar dari SMI ke LRC?

LRC tidak bisa menyatakan posisi, jadi atribut paragraf dan CSS yang menunjuknya dibuang. Setiap cue kembali ke posisi bawaan pemutar, biasanya di bawah layar dan rata tengah, tanpa catatan mengenai posisi aslinya.

Mengapa presisi waktu SMI berkurang di LRC?

SMI menyimpan Start=4126, sedangkan LRC menulis [00:04.12]. Karena LRC hanya punya dua digit desimal, waktu dibulatkan ke 10 ms terdekat dan 00:00:04,126 menjadi 4,13 detik. Tidak ada cue yang bergeser lebih dari 5 ms.

Apa yang terjadi pada blok STYLE, TITLE, dan Class SAMI di LRC?

Semuanya dibuang. Blok <STYLE> berisi CSS, <TITLE> memberi judul dokumen, dan Class=ENCC menunjuk salah satu aturan CSS. LRC menyimpan baris lirik, bukan dokumen, sehingga tidak ada tempat untuk ketiganya; teks dan waktu cue tetap lengkap.

Seperti apa bentuk keluaran SMI saat menjadi LRC?

Seperti LRC: tanpa nomor cue, setiap baris membawa stempel waktunya sendiri dalam kurung siku. Setiap cue SMI satu baris menjadi satu baris LRC dengan urutan dan teks yang sama.

Apakah cue SMI dua baris tetap satu kesatuan di LRC?

Tidak bisa dijamin. LRC membaca satu baris teks per stempel waktu, jadi cue dua baris ditulis sebagai dua baris bertimestamp; saat dibaca kembali, keduanya dapat muncul sebagai dua subtitle terpisah. Jangan mengandalkan pengelompokan cue di LRC.

Apakah urutan baris SMI dipertahankan di LRC?

Ya. Baris diurutkan menurut waktu mulai sebelum ditulis, paling awal lebih dulu, sehingga file SMI yang cue-nya tidak berurutan akan keluar rapi. Perubahan tata urutan ini disengaja.

Apa yang hilang bila LRC dikonversi balik ke SMI?

Waktu akhir hilang dan harus dibangun ulang. Arah LRC ke SMI punya daftar sendiri yang menyebut hal ini; halaman tersebut menjelaskan dari mana akhir cue diturunkan.

Apakah LRC hasil konversi memakai encoding file SMI?

Tidak. Keluaran LRC selalu UTF-8 dengan akhir baris Unix dan tanpa BOM, apa pun encoding file SMI. File UTF-16 atau encoding satu byte Windows didekode saat dibaca, dan panel hasil menandainya.

Alat terkait