मुख्य सामग्री पर जाएँ
SubtitleMatrix

SMI को LRC में बदलें

या सबटाइटल टेक्स्ट पेस्ट करें

यह रूपांतरण क्या बदलता है

5 चीज़ें छूटती हैं या फ़ैसला माँगती हैं

  • टाइमिंग

    क्यू के अंत समय (आउटपुट फ़ॉर्मैट केवल यह रखता है कि क्यू कब शुरू होता है)

  • स्टाइलिंग

    सारी स्टाइलिंग (बोल्ड, इटैलिक, रंग, आउटलाइन, छाया)

  • स्थान

    स्क्रीन पर स्थान (हर क्यू डिफ़ॉल्ट जगह पर लौट आता है)

  • सटीकता

    टाइमिंग की सटीकता — आउटपुट की घड़ी मोटी है, इसलिए हर टाइमस्टैम्प निकटतम 10 ms में गोल किया जाता है

  • फ़ॉर्मैट-विशिष्ट सामग्री

    वह सामग्री जो स्रोत फ़ॉर्मैट अपने क्यू के बाहर रखता है (क्यू से बाहर के ब्लॉक, हेडर टेक्स्ट, प्रति-क्यू सेटिंग, टिप्पणी की गई घटनाएँ) — लक्ष्य फ़ॉर्मैट में उसके लिए कोई जगह नहीं

यह सूची इन दोनों फ़ॉर्मैट के क्षमता मैट्रिक्स से आती है, आपकी लोड की गई उस फ़ाइल से नहीं। कोई खास फ़ाइल ज़्यादा खो सकती है अगर वह ऐसी सुविधाएँ इस्तेमाल करती हो जिन्हें फ़ॉर्मैट अनुमति देता है पर मैट्रिक्स मॉडल नहीं करता।

यह पेज SAMI (SMI) फ़ाइल को LRC Lyrics में बदलता है। SMI में <SYNC Start=4000> जैसे टैग बताते हैं कि उस क्षण से क्या दिखेगा, और <STYLE> ब्लॉक रंग-फ़ॉन्ट तय करता है। LRC में हर पंक्ति [00:04.00] जैसे कोष्ठक-समय से शुरू होती है; अंत समय नहीं होता और अगली पंक्ति उसे तय करती है।

जो नहीं बचता: cue के अंत समय (लक्ष्य केवल शुरुआत रखता है), सारी स्टाइलिंग (बोल्ड, इटैलिक, रंग, आउटलाइन, छाया), स्क्रीन पर स्थिति (हर cue डिफ़ॉल्ट जगह पर लौटती है), समय की सूक्ष्मता (लक्ष्य की घड़ी 10 ms की है, इसलिए हर समय पूर्णांकित होता है), cue मॉडल के बाहर रखी स्रोत की सामग्री (गैर-cue ब्लॉक, हेडर पाठ, प्रति-cue सेटिंग, टिप्पणी-किए इवेंट)। सिर्फ़ शुरुआत बचती है; अंत अगली पंक्ति तक माना जाता है; SMI के रंग, आउटलाइन, छाया और मार्जिन LRC में कोई स्तंभ नहीं पाते; SMI का {\pos(320,240)} LRC में कोई जगह नहीं पाता और हर cue डिफ़ॉल्ट स्थान पर लौटती है। ये चीज़ें चुपचाप नहीं गिरतीं — फ़ाइल डालने से पहले ही ऊपर की सूची में लिखी रहती हैं।

LRC Lyrics का आउटपुट .lrc फ़ाइल है और उसमें हर पंक्ति [mm:ss.xx] से शुरू होती है और अंत नहीं लिखा जाता। चाहे एक फ़ाइल डालें या पूरी सीरीज़, सब कुछ एक-एक करके चलता है, बीच में रोका जा सकता है, और सारे नतीजे एक ZIP में मिलते हैं। कोई सर्वर नहीं, कोई अपलोड नहीं — सब कुछ आपके ब्राउज़र में।

उदाहरण

एक सामान्य SMI फ़ाइल, LRC में बदली गई

इनपुट

<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>

आउटपुट

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

इस आउटपुट में छूटा: अंत समय, स्टाइलिंग, स्क्रीन स्थिति, समय सटीकता, फ़ॉर्मैट-विशिष्ट सामग्री। बाकी सब पंक्ति-दर-पंक्ति मेल खाता है।

SMI से LRC: वही रूपांतरण एक कठिन इनपुट पर

इनपुट

<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>

आउटपुट

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

असली SMI फ़ाइलों में BOM, मिश्रित पंक्ति-अंत, खाली क्षेत्र या बिगड़ा समय-कोड मिलता है। ऊपर की साफ़ मिसाल से मिलाकर देखिए कि पार्सर कितना माफ़ करता है और क्या रिपोर्ट करता है।

अक्सर पूछे जाने वाले सवाल

LRC में SMI की शुरुआत तो आती है, पर अंत क्यों नहीं?

SMI हर cue के लिए शुरुआत और अंत दोनों रखता है, पर LRC सिर्फ़ शुरुआती समय [mm:ss.xx] में लिखता है। इसलिए Start=4000 वाला क्षण [00:04.00] बन जाता है और अंत समय गिर जाता है: गीत खिलाड़ी पंक्ति को अगली पंक्ति तक दिखाता रहता है।

SMI का <STYLE> ब्लॉक, <TITLE> और Class=… जैसी विशेषताएँ LRC में कहाँ जाता है?

SMI की वह सामग्री cue मॉडल के बाहर रहती है — <STYLE> में CSS नियम होते हैं जो फ़ॉन्ट, रंग और स्थान तय करते हैं, और Class=… किसी अनुच्छेद को उन नियमों से जोड़ता है। LRC में उसके लिए कोई अनुभाग, स्तंभ या विशेषता नहीं है, इसलिए वह गिर जाती है और रिपोर्ट में अलग से गिनी जाती है; LRC का अपना हेडर उसे दोबारा नहीं बना सकता।

SMI से LRC में बदलने पर क्या खो जाता है?

इस दिशा में 5 तरह की जानकारी गिरती है: cue के अंत समय (लक्ष्य केवल शुरुआत रखता है), सारी स्टाइलिंग (बोल्ड, इटैलिक, रंग, आउटलाइन, छाया), स्क्रीन पर स्थिति (हर cue डिफ़ॉल्ट जगह पर लौटती है), समय की सूक्ष्मता (लक्ष्य की घड़ी 10 ms की है, इसलिए हर समय पूर्णांकित होता है), cue मॉडल के बाहर रखी स्रोत की सामग्री (गैर-cue ब्लॉक, हेडर पाठ, प्रति-cue सेटिंग, टिप्पणी-किए इवेंट)। मिसाल के लिए, SMI का अंत समय LRC में लिखा ही नहीं जाता, इसलिए cue अगली पंक्ति तक खींची जाती है। यह सूची आपकी फ़ाइल डालने से पहले ही दिखती है, और फ़ाइल आने के बाद उसमें बताया जाता है कि उसमें से कितनी चीज़ें वाकई मौजूद थीं।

SMI से LRC बनाने पर हर पंक्ति किस रूप में लिखी जाती है?

LRC में हर SMI cue [mm:ss.xx] समय और उसके बाद पाठ की पंक्ति बनती है, जैसे [00:04.00] पाठ। SMI का अंत समय नहीं लिखा जाता, क्योंकि LRC उसे अगली पंक्ति से मानता है।

SMI की cues LRC में किस क्रम में आती हैं?

cues शुरुआती समय के क्रम में लिखी जाती हैं, इसलिए SMI में अगर कोई cue क्रम से बाहर थी तो LRC में वह अपनी सही जगह पर लौट आती है। एक cue के भीतर की पंक्तियाँ अलग नहीं होतीं, क्योंकि दोनों फ़ॉर्मैट हार्ड लाइन-ब्रेक रख सकते हैं।

अगर बाद में LRC को SMI में बदलना हो तो क्या ध्यान रखें?

नहीं। LRC से SMI की उलटी दिशा में भी अंत समय अनुमान से बनाए जाते हैं (स्रोत उन्हें नहीं रखता) जैसी जानकारी गिरती है, क्योंकि दोनों फ़ॉर्मैट अलग-अलग चीज़ें रखते हैं और उलटी दिशा की अपनी कमियाँ हैं। और इस दिशा में SMI से LRC में जो छूटा — जैसे SMI का अंत समय LRC में लिखा ही नहीं जाता, इसलिए cue अगली पंक्ति तक खींची जाती है — वह LRC में कहीं दर्ज नहीं है, इसलिए किसी भी उलटे रूपांतरण से उसे दोबारा नहीं बनाया जा सकता।

संबंधित टूल