Gå till huvudinnehållet
SubtitleMatrix

Konvertera ASS till SMI

FormatkonverteringAdvanced SubStation Alpha (ASS)
Eller klistra in undertexttext

Vad den här konverteringen ändrar

3 saker tappas eller kräver ett beslut

  • Formatering

    all formatering utom fet och kursiv (färg, kontur, skugga, marginaler)

  • Karaoke

    karaoketider (markering per stavelse)

  • Formatspecifikt innehåll

    innehåll som källformatet behåller utanför sina textblock (block som inte är textblock, rubriktext, inställningar per textblock, utkommenterade händelser) – målformatet har ingen plats för det

Den här listan kommer från kapacitetsmatrisen för de här två formaten, inte från den specifika fil du laddade. En viss fil kan förlora mer om den använder funktioner som formatet tillåter men matrisen inte modellerar.

Den här sidan konverterar en ASS-fil till SMI. ASS skriver en tidpunkt som 0:00:04.13, alltså i hundradels sekunder. SAMI anger starttiden som ett millisekundstal i attributet, till exempel <SYNC Start=4126>. Ett ASS-textblock är en Dialogue-rad med lager, start, slut, stil, marginaler och text. Ett SMI-textblock är en <SYNC Start=…>-rad följd av en <P>-rad; nästa <SYNC> tar över skärmen. ASS räknar i hundradels sekunder, medan SMI har finare upplösning och tar emot värdet utan ytterligare avrundning.

Det som inte följer med: formateringen, karaoken och formatdata. Färg, kontur, skugga och marginaler försvinner; fet och kursiv kan följa med. Karaoketiderna, som styr markeringen per stavelse, försvinner. Innehåll utanför textblocken har ingen plats i målformatet. Placeringen tappas också i praktiken: ASS:s \pos- och \an-värden skrivs inte över till målformatet, även om kapacitetsmatrisen inte räknar det som en egen förlust. Rapporten ovanför filrutan listar förlusterna innan du väljer en fil, och räknar dem per fil när filen är inläst.

En fil eller en hel säsong: kön bearbetar filerna i tur och ordning, du kan avbryta mitt i och resultaten laddas ner tillsammans som en ZIP. Hela konverteringen sker i webbläsaren – filen lämnar aldrig datorn.

Exempel

En typisk ASS-fil konverterad till SMI

Indata

[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

Resultat

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>Hello there.
<SYNC Start=4000>
<P>&nbsp;
<SYNC Start=5000>
<P><i>Italic</i> and <b>bold</b> text.
<SYNC Start=8500>
<P>&nbsp;
<SYNC Start=9000>
<P>Positioned
<SYNC Start=12000>
<P>&nbsp;
<SYNC Start=13000>
<P><c>ka</c><c>ra</c><c>o</c><c>ke</c>
<SYNC Start=16000>
<P>&nbsp;
<SYNC Start=17000>
<P>Line one<br>Line two
<SYNC Start=20000>
<P>&nbsp;
<SYNC Start=21000>
<P>Top left
<SYNC Start=24000>
<P>&nbsp;
</BODY>
</SAMI>

Förlorat i utdatafilen: formateringen, karaoken och formatdata. Jämför de två sidorna rad för rad.

Samma konvertering på en stökig fil

Indata

[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

Resultat

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>Hello, world
<SYNC Start=4000>
<P>&nbsp;
<SYNC Start=5000>
<P>{\fad(300,300)}Unmodelled override
<SYNC Start=8000>
<P>&nbsp;
<SYNC Start=9000>
<P>Both, wrong order
<SYNC Start=12000>
<P>&nbsp;
<SYNC Start=13000>
<P>One decimal centisecond
<SYNC Start=16500>
<P>&nbsp;
<SYNC Start=17000>
<P>Soft<br>break
<SYNC Start=20000>
<P>&nbsp;
</BODY>
</SAMI>

Så här ser skadade filer ut i verkligheten – blandade radbrytningar, lösa blanksteg och tomma fält. Jämför med det prydliga exemplet ovan för att se vad tolken förlåter.

Vanliga frågor

Hur skiljer sig tidskoderna i ASS och SMI?

ASS skriver en tidpunkt som 0:00:04.13, alltså i hundradels sekunder. SAMI anger starttiden som ett millisekundstal i attributet, till exempel <SYNC Start=4126>. ASS räknar i hundradels sekunder, medan SMI har finare upplösning och tar emot värdet utan ytterligare avrundning.

Vad förloras när en ASS-fil blir SMI?

När ASS blir SMI går formateringen, karaoken och formatdata förlorade. Färg, kontur, skugga och marginaler försvinner; fet och kursiv kan följa med. Karaoketiderna, som styr markeringen per stavelse, försvinner. Innehåll utanför textblocken har ingen plats i målformatet. Texten, ordningen och tiderna följer med.

Klarar SMI av formatering och placering som ASS har?

ASS har en stiltabell i [V4+ Styles] med typsnitt, storlek, färger, kontur och marginaler, plus överstyrningskoder per textblock. ASS placerar text med \pos och \an, och behåller \an-parametern i textblockets extrafält. ASS sparar karaoketider per stavelse med \k-koder. SMI har en <STYLE>-del med CSS och <font>-taggar i texten; teckenstorlek, kontur och marginaler deklareras inte per textblock. SMI kan placera text via CSS-klasser och attribut på <P>-raderna. SMI har ingen karaoke.

Vad händer med radbrytningar och antalet textblock när ASS konverteras till SMI?

ASS till SMI: Ett ASS-textblock är en Dialogue-rad med lager, start, slut, stil, marginaler och text. Ett ASS-textblock behåller hårda radbrytningar (\N och \n). Ett SMI-textblock behåller hårda radbrytningar (<br>).

Laddas min ASS-fil upp när jag konverterar den till SMI?

Nej. Både inläsningen av ASS-filen och skrivningen av SMI-filen sker i webbläsaren; ingen del av texten, tiderna eller taggarna skickas i en förfrågan. Du kan lägga in en hel säsong, avbryta mitt i och ladda ner resultaten som en ZIP.

Relaterade verktyg