How to Convert SAMI (*.smi) to ASSA (*.ass) Subtitles

This is yet another “Korean” problem I encountered, because I am yet to find non-Korean SAMI subtitles. SAMI is a closed caption format developed by Microsoft back in 1998. As far as I am aware, Microsoft hasn’t updated the format since, and frankly I don’t think the format has seen much usage outside of South Korea. But if you are dealing with medias from late ‘90s to 2010s, most of the Korean subtitles I could find are still in SAMI. I’ve seen some fan subtitles still published in SAMI too. SAMI, in many ways, is no different from SubRip (*.srt) format. As I understand it, SubRip is still maintained by Microsoft. SAMI may be less readable to naked eyes than SubRip, but it’s still in HTML fashion.

What can be troubling, however, is that because SAMI isn’t as popular as SubRip but still is basic as SubRip, not all media players are equipped to handle it. One such example for me was VLC for tvOS. If I try to play a media with SAMI subtitle, texts are barely legible without background for subtitles; and VLC for tvOS still doesn’t offer one. Not to mention VLC doesn’t seem to support additional Korean fonts for subtitles, so the option is even more limited. But it still play any ASSA subtitles with backgrounds, or different fonts, and etc. With ASSA subtitles, I’ve seen some elaborate work done on the text to maintain the legibility as much as possible while not hiding any of the visual contents, not to mention make the old SAMI subtitle more legible in VLC player.

Preface

For obvious reasons, because this method involves bulk converting SAMI to ASSA, it might not produce the perfect result at one go. You might need to fine tune the details. But this method will give you some solid grounds to work on.

My objective in bulk conversion was so that I can have Korean subtitles with different fonts, so I didn’t do much else. You can certainly try out new ideas with it. I’ve gone with the ones that match streaming services seem to use, —no background, basic white, but with more legible font choice— you are not restricted to do only that.

Instructions

For this solution, I will be using Subtitle Edit. It’s an open source project that is well maintained. The download link leads to GitHub, and installation should be straightforward. I suspect there are alternatives, but I couldn’t find one that can handle SAMI as well as this one does. Though it doesn’t support macOS, I ran it on a virtual machine, Windows environment.

  1. From Subtitle Edit, navigate to Tools > Batch Convert.
  2. From Convert options, tick Convert colors to dialog, and in its sub-menu, Re-break lines.
  3. Change the Format to Advanced Sub Station Alpha, and click on Style.
  4. Replace the Raw header area with the following, then select OK:
[Script Info]
; This is an Advanced Sub Station Alpha v4+ script.
Title: 
ScriptType: v4.00+
PlayDepth: 0
PlayResX: 1920
ScaledBorderAndShadow: Yes
PlayResY: 1080

[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,맑은 고딕,75,&H00FFFFFF,&HFF00FFFF,&H00000000,&H02000000,-1,0,0,0,100,100,0,0,1,4,0,2,0,0,100,1
  1. Add files to the input files then click Convert.

The header I provided will create a default style for converted ASSA subtitle, white fonts with black boundaries. You could change the fonts if you’d like to something else, but do be mindful where you are using it for; the media player in question will need to be tested additionally. You can change output settings to however you’d like as well.

Leave a comment