Конвертер LRC у SMI
Або вставте текст субтитрів
Параметри
Використовується, коли джерело не має часу завершення (простий текст, LRC). Таймлайн у результаті тут генерується, а не конвертується, тож ви отримаєте саме це число.
Що змінює ця конвертація
1 річ відкидається або потребує рішення
- Таймінг
час завершення реплік — джерело його не зберігає, тож у результаті він генеруватиметься, а не конвертуватиметься
Цей перелік походить із матриці можливостей для цих двох форматів, а не з конкретного завантаженого файлу. Певний файл може втратити більше, якщо використовує можливості, які формат дозволяє, а матриця не моделює.
Ця сторінка переписує LRC в SMI. LRC зберігає тільки початок репліки, а SMI пише час у мілісекундах і додає базове оформлення. Час початку переходить із запису [00:12.34] у <SYNC Start=1000>. Слова й порядок реплік лишаються тими самими.
Втрати тут не косметичні: точний час завершення — у LRC його не записано, тож вихідні значення обчислено. Список складено з можливостей форматів, а не з вашого файлу, тому він однаковий до і після завантаження.
Один файл чи ціла тека: черга обробляє їх по одному, а результат забирається одним архівом. Обробка йде у вашому браузері — файли нікуди не надсилаються.
Приклади
Типовий файл LRC, переписаний у SMI
Вхід
[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.Результат
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=12000>
<P>First line of the song.
<SYNC Start=15300>
<P>
<SYNC Start=15300>
<P>Second line.<br>Second line, translated.
<SYNC Start=18000>
<P>
<SYNC Start=18000>
<P>
<SYNC Start=21500>
<P>
<SYNC Start=21500>
<P>Final line.
<SYNC Start=23500>
<P>
</BODY>
</SAMI>
У цьому вихідному файлі втрачено: точний час завершення. Решта збігається рядок у рядок.
Той самий перехід на неохайному файлі LRC
Вхід
[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]Результат
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=3000>
<P>Out of order.
<SYNC Start=5500>
<P>
<SYNC Start=5500>
<P>Leading zero omitted, one decimal.
<SYNC Start=7000>
<P>
<SYNC Start=7000>
<P>Second with no centiseconds.<br>Repeated chorus line.
<SYNC Start=9000>
<P>
<SYNC Start=9000>
<P>Repeated chorus line.
<SYNC Start=12000>
<P>
<SYNC Start=12000>
<P>
<SYNC Start=14000>
<P>
</BODY>
</SAMI>
Справжні файли приходять із BOM, переводами рядків Windows, зайвим рядком перед часом або часом, який взагалі не читається. Ніщо з цього не валить обробку: нерозпізнане потрапляє у звіт, а не зникає мовчки.
Часті запитання
Що станеться з даними поза репліками (метадані [ti:], [ar:] і [offset:]) під час конвертації LRC в SMI?
Вони не переносяться: у SMI немає відповідного розділу. У LRC поза репліками: метадані [ti:], [ar:] і [offset:], а також порожні рядки; у SMI: блок <STYLE> і коментарі. Самі репліки при цьому не страждають — зникає лише те, що існувало поза ними.
Чи можна обробити пакет файлів LRC і отримати SMI?
Так, черга бере будь-яку кількість файлів LRC, переписує кожен у SMI й віддає результат одним архівом. У LRC момент записано як [00:12.34], у SMI — як <SYNC Start=1000>; саме це переписування виконується для кожного файлу. Робота йде у браузері, тому файли не надсилаються на сервер, а пакет можна скасувати посеред обробки — уже готові файли при цьому лишаться.
Чи можна потім повернути SMI назад у LRC?
Можна, але не без наслідків: у зворотному напрямку зникне час завершення реплік, усе оформлення, позиціювання на екрані, точність до 10 мс, вміст поза репліками. Тому SMI варто тримати як похідний файл, а оригінал LRC — як джерело; інакше кожен оберт додає нову втрату.
Чи збережеться порядок реплік із LRC у SMI?
Так. Конвертер сортує репліки за початком і пише їх у хронологічному порядку. LRC записує лише початок як [00:12.34], SMI записує час як <SYNC Start=1000>. Якщо у вихідному файлі порядок був іншим, він стане хронологічним, а не зникне.
У якому кодуванні буде збережено файл SMI після конвертації з LRC?
Файл SMI пишеться в UTF-8, а кодування вхідного LRC визначається автоматично, разом із BOM. Кирилиця, грецька чи емодзі не замінюються знаками питання; закінчення рядків у вихідному SMI — LF.