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

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

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

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

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

  • टाइमिंग

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

  • स्टाइलिंग

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

  • स्थान

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

  • कराओके

    कराओके टाइमिंग (प्रति-अक्षर हाइलाइट)

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

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

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

इस पेज पर ASS फ़ाइल डालिए और LRC फ़ाइल पाइए। ASS एक स्क्रिप्ट है: [Script Info], [V4+ Styles] की स्टाइल-तालिका, और Dialogue पंक्तियाँ जिनमें समय 0:00:04.00 तथा {\i1}, {\pos(320,240)} और \k जैसे ओवरराइड कोड होते हैं। LRC में हर पंक्ति [00:04.00] जैसे कोष्ठक-समय से शुरू होती है; अंत समय नहीं होता और अगली पंक्ति उसे तय करती है।

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

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

उदाहरण

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

इनपुट

[Script Info]
Title: Example
ScriptType: v4.00+
WrapStyle: 0

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
Style: Title,Arial,36,&H0000FFFF,&H000000FF,&H00000000,&H00000000,-1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:05.00,0:00:08.50,Default,,0,0,0,,{\i1}Italic{\i0} and {\b1}bold{\b0} text.
Dialogue: 0,0:00:09.00,0:00:12.00,Title,,0,0,0,,{\pos(320,240)}Positioned
Dialogue: 0,0:00:13.00,0:00:16.00,Default,,0,0,0,,{\k50}ka{\k30}ra{\k20}o{\k10}ke
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Line one\NLine two
Dialogue: 1,0:00:21.00,0:00:24.00,Default,,0,0,0,,{\an7}Top left

आउटपुट

[ti:Example]
[00:01.00]Hello there.
[00:05.00]Italic and bold text.
[00:09.00]Positioned
[00:13.00]karaoke
[00:17.00]Line one
[00:17.00]Line two
[00:21.00]Top left

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

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

इनपुट

[Script Info]
; 一份真实的脏文件:BOM + CRLF + 认不出的覆写码 + Comment + 坏时间码
Title: Dirty sample
ScriptType: v4.00+

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1

[Fonts]
fontname: Arial
!!!!!!!!!!!!!!!!!!!!!!!!!!!!

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: 0,0:00:00.00,0:00:01.00,Default,,0,0,0,,这是一条注释,不该变成字幕
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello, world
Dialogue: 0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\fad(300,300)}Unmodelled override
Dialogue: 0,0:00:09.00,0:00:12.00,Default,,0,0,0,,{\an7\pos(320,240)}Both, wrong order
Dialogue: 0,0:00:13.00,0:00:16.5,Default,,0,0,0,,One decimal centisecond
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Soft\nbreak
Dialogue: 0,0:00:xx.00,0:00:24.00,Default,,0,0,0,,Broken timecode

आउटपुट

[ti:Dirty sample]
[00:01.00]Hello, world
[00:05.00]{\fad(300,300)}Unmodelled override
[00:09.00]Both, wrong order
[00:13.00]One decimal centisecond
[00:17.00]Soft
[00:17.00]break

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

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

ASS से LRC बनाने पर cue कब खत्म होगी?

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

ASS के [Script Info], [Fonts]/[Graphics] की सामग्री और Comment: पंक्तियाँ का LRC में क्या ठिकाना है?

ASS की वह सामग्री cue मॉडल के बाहर रहती है — [Script Info] वैश्विक सेटिंग है, [Fonts] व [Graphics] एम्बेडेड बाइट हैं, और Comment: ऐसे इवेंट हैं जो कभी दिखाए नहीं जाते। LRC में उसके लिए कोई अनुभाग, स्तंभ या विशेषता नहीं है, इसलिए वह गिर जाती है और रिपोर्ट में अलग से गिनी जाती है; LRC का अपना हेडर उसे दोबारा नहीं बना सकता।

ASS से LRC बनाने की असली कीमत क्या है?

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

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

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

ASS की cues का क्रम LRC में बदलता है या नहीं?

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

क्या LRC से ASS में वापस बदलने पर छूटी जानकारी लौट आती है?

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

संबंधित टूल