User:Garret/fansub.html

alternative title: awesome-fansubbing

This isn’t actually a guide, just a bunch of links to other peoples’ guides for specific things. If you follow them, you should end up with some at least semi-decent subs.

It covers most everything except the actual translation of the content. Mostly oriented towards anime, but should apply to most things (with some notable exceptions).

explanations of the different roles are taken from guide.encode.moe, and are licensed under CC-BY-SA 4.0. Some portions are omitted, but otherwise unchanged. Aegisub Configuration is nicked from the GJM fansubbing page.

For more resources, and to talk with actual people, join the GJM discord server and ask for the fansubber role.

The new fansubbing wiki also has an equivalent page, which ideally will replace this page eventually.

Recommended Aegisub Builds
this will all be gone once 3.4.0 comes out (hopefully)

The One True Fork
The current Cartel Approved™ build is arch1t3cht’s fork. It has lots of new shiny features: subtitle folding; new video providers (and the return of an old one); massive performance improvements; hidpi support; stereo on linux (!); video panning; new lua stuff; and lots of bugfixes.

It is however, rather bleeding-edge, so stability is not guaranteed. Also note that the newest shiniest features (folds, new lua stuff) won’t work on other builds.

If this doesn’t sound appealing to you, read on.

Windows

 * AegisubDC - The previous cartel-approved fork. Deprecated, but won’t magically stop working.
 * wangqr’s fork

Mac
don’t use mac; no clue


 * rcombs’ fork apparently works on apple silicon
 * wangqr’s fork claims to run on x64 macs.

Linux
Doesn’t really matter, most of the forks are just to keep dependencies up-to-date on windows.


 * TSTools fork
 * AUR package
 * This PPA that builds git master - for ubuntu-based distros. Doesn’t support Ubuntu 22.04.
 * wangqr’s fork.
 * Whatever’s your distro has
 * probably 3.2.2, but you never know until you look

If you use 3.2.2, make sure to configure it correctly.

Aegisub Configuration
Upon starting up Aegisub the first time, you should change the following settings:

View &gt; Options &gt; Advanced &gt; Video


 * Set Subtitles Provider to.
 * Untick Force BT.601. It is extremely important to make sure you work in the right colourspace. (on newer forks, this is automatically disabled and no longer an option.)

Restart Aegisub for the changes to fully take effect. Note that script settings may override the colourspace.

See guide.encode.moe for why these settings are important.

But I want to use something else!
No. Read this.

(you could probably get away with it for some roles, but it’ll be a significantly worsened experience.)

B-But Kainote!
Sure, has some cool features, and is definitely better than the other not-aegisub options out there.

Be aware, however, that it has issues with automation scripts. Be prepared to work things out on your own if stuff breaks.

If all you want is a dark theme, install linux and set your system theme to something dark. I think you can/could set a dark theme somehow on some windows versions as well. The screenshots in UA’s guide seem to all be dark.

B-But Ameko!
Doesn’t exist yet. Keep an eye on it, maybe it’ll become something eventually.

Editing
The Editor is responsible for making sure that the script reads well. Depending on the source of the script, this may mean grammatical corrections and some rewording to address recommendations from the Translation Checker. However, more often than not, the job will entail rewriting, rewording, and characterizing large portions of the script. You must be fluent in your target language, or your script will (probably) be shit.

Even if you’re a native speaker, your script can still be shit, just in a different way.

the interesting bit
tun’s Fansub Editing Guide

Collectr’s Curmudgeonly Guide to Editing

Editorial Minimalism

Translation theory overview [PDF] - this is relevant, honest.

Light/Kaleido’s style guide

editing style comparison meme [large (high-res, ~5MB) image]

read books

the boring bit
How to break lines (adding, not destruction of the script).

fwiw, UA’s linebreaker script seems to do what I would’ve done anyway ~70% of the time. Make sure to check its work so you don’t miss the other ~30%.

Timing
The Timer is responsible for when the text representing spoken dialogue shows up on screen. The timing of subtitles is much more important than one might assume. The entrance and exit times of the subtitles, or a fluid transition from one line to the next, can make a large impact on the “watchability” of the episode as a whole. Read WhyNot’s guide [PDF] for the basics. Feel free to ignore what it says about settings.

Then read unanimated’s timing guide (every page) for the slightly-less-basics and better settings. This link is a slightly modified mirror of UA’s guide, because I assume you enjoy being able to read the text on the page. Use the spectrogram, not the waveform. It might take a bit of getting used to, but it’s worth it.

Don’t trust the TPP
Don’t just blindly trust the timing post-processor, it is stupid and has no idea what’s really going on. Do a QC pass and fix any mistakes it may have made. (this is the part where you actually watch the episode) Alternatively, use PhosCity’s Timing Assistant script. It’s like the TPP, but it only runs one line at a time, and you can check and change its decisions as it makes them. This means that, in theory, you can get the entire thing done in one pass. You should still do a QC pass though, if only so you can watch the episode.

Generating Keyframes
You should generate your own keyframes, the ones in the video probably won’t be very accurate, or just straight up wrong.

Drag-n-drop (Windows)
There’s a nice batch script that comes with all the stuff you need. You should be able to just drag your video onto it, but I haven’t personally tested it. Apparently you can also add it to the Send To menu.

Command-line incantation (Everywhere)
get

get - you’ll need to compile it on not-windows, but this only took a second or two even on my ancient hardware.

run

If it misses frames, try removing the  bit. It’ll take longer, but it’s much more accurate.

Karaoke Timing
Zahuczky ’s Karaoke Timing guide. The 0th part of a larger KFX guide.

WhyNot’s guide [PDF]

Alpha Timing
don’t.

but if you must, see WhyNot’s guide (again) for an idea of what it is and how it works. then forget everything it says and use my karaoke2alpha script instead. K-Time the line, with the words you want to appear as syllables in the karaoke, then run the script. That’s not a great explanation, but have a play around with it and it should become relatively clear.

Typesetting
Typesetters (abbreviated TS) are responsible for the visual presentation of translated text on-screen. These are generally called signs. Almost every sign the Typesetter works on will be unique, requiring ingenuity, a wild imagination, a sense of style, and a high degree of attention to detail. The Typesetter’s goal is to produce something that integrates so well into the video that the viewer does not realize that it is actually part of the subtitles. Something to remember about typesetting is that there is no one way to typeset a sign. There are, however, incorrect ways that are not visually pleasing, do not match the original well, are difficult to read, or are too heavy (meaning computer resource intensive). I don’t typeset, so this section isn’t nearly as good as it probably could be. Contributions welcome.

There’s only one really good piece of documentation. Everything else is either word-of-mouth, or you have to figure it out on your own. Yeah, it sucks. I once again encourage joining the GJM discord server and getting advice from real human beings.

The new fansubbing wiki is attempting to change this by documenting things. It’s not gotten very far yet, but it’s on the right path, I think.

The ASS Tags and what they do (temporary aegisub docs site, aegisub.org is down at time of writing) unanimated’s typesetting guide [unreadable colour scheme]

&gt;vertical text [youtube]

Escaping Aegisub (other vector editors)
AI2ASS - A script to export ASS vector objects from Adobe Illustrator. Very powerful, very addictive.

Typesetting in Adobe Illustrator

Masking with Photoshop and Illustrator

svg2ass - Alternative to ai2ass. much worse, but works for anything that can output svg.

Motion Tracking
Aegisub-Motion - The motion tracking script.

Aegisub-Perspective-Motion - A recent innovation that tracks perspective as well.

Motion tracking with Mocha and Aegisub-Motion

UA’s mocha guide [outdated?]

alternative non-fansub mocha guide

Tracking things in blender [dodgy english]

Other stuff (scripts, mostly)
perspective.py

Choosing fonts
UA’s Typesetting Guide: Fonts

There are lots of fonts that the studios use pinned in #typesetting in GJM. Not linked here so I don’t anger the hosting provider.

You don’t need to find the exact font the studio used. Even if you do, the latin letters might not be nearly as stylised as the kanji. As long as the font matches decently well, no one will care.

Or, alternatively, do something completely different. As long as it makes some sense for it to be there, you’re probably ok.

At some point, it’ll start making sense to use a font manager. I hear FontBase is good.

Styling
Very important. So important, in fact, that I’ve split it off from the typesetting section and into its own.

Don’t skip this bit, even if all your other typesetting is just.

Underwater’s Styling Guide Complaints [wayback machine]

Subtitle Appearance Analysis Part 1: The Font

Subtitle Appearance Analysis Part 2: Font Size

Subtitle is important - Austin Powers [youtube]

Remember, 


 * 1) Use a very light colour as the primary colour (white).
 * 2) Have a very dark border (black).
 * 3) Use a readable font, in bold.
 * 4) Make it large enough to see without squinting.
 * 5) Things don’t cast bright green shadows.

TL;DR: Just steal GJM-Main and have done. (style lines for 1920x1080. font here)

For an example of what not to do, go to the cat site and search for anime chap.

Karaoke Effects (KFX)
Like typesetting, but this time there’s barely even one piece of documentation. Again, GJM discord.

You’ll probably need to know how to typeset so you can express what you want to the templater.

Zahuczky ’s KFX Guide [incomplete, work in progress(?)]

Jockotan’s blog [incomplete, dead]

A Programmer’s Guide to Karaoke Templaters

The Fine Manuals
Aegisub stock templater

KaraOK

The0x539’s templater

QC
Quality Checkers (abbreviated QC) are often the last eyes on an episode before it is released. They are responsible for ensuring that the overall quality of the release is up to par with the group’s standards. They are also expected to be familiar with the workflow and many intricacies of every other role. Collectr’s Curmudgeonly Guide to QC

Light’s QC Ramblings (from MRF #general)

The Dunning-Kruger effect (why QC is important (among other reasons))

You can only really QC well if you know what you’re looking for - you basically need to know all the other roles. This makes it probably one of the hardest roles to do well.

go read all the other categories

Automation Scripts
Mostly Lua/Moonscript, some external tools too.

Useful Scripts
the vast majority of these are typesetting scripts.

This section is not very good.


 * DependencyControl - package manager for automation scripts. Included by default in some newer builds. Like it or not, you’ll have to use it eventually.
 * AUR Package (may or may not work)
 * on linux, you’ll have to compile all the dependencies and put them in the right places yourself. guide to follow the next time i set up a new aegisub installation without cheating and copying my old  folder. (read: never)


 * Unanimated’s Scripts
 * Github (partial)
 * Aegisub-Motion
 * Magic perspective script (perspective.py)
 * Moonscript port
 * Lyger’s Scripts - go through the list, you’ll definitely find something useful
 * Myaa’s stuff - a lot of these are external tools
 * SubKt is a highly configurable toolkit for fansubbing automation.
 * TSTools LuaInterpret Snippets

Writing your own scripts
completely optional, but writing your own scripts for repetitive tasks can save you a lot of time in the long run (and is fun for nerds like me).

read lyger’s guide, skim unanimated’s extra stuff, RTFM, and google anything about lua you don’t know.

Try not to blindly copy+paste from UA’s scripts if at all possible. The code is… of poor quality, to say the least.

Prior knowledge of programming will be very useful. A decent grasp of maths would definitely help if you write typesetting scripts.

General Lua stuff

 * Programming in Lua - official book
 * Lua Reference Manual - “what was that thing that did the thing”
 * lua-users - lots of useful snippets to make up for the tiny lua stdlib

You can also use MoonScript, but figuring that out is left as an exercise for the reader (because I don’t know how, and I don’t like the syntax anyway).

Try not to reinvent the wheel too much.

I do encourage wheel reinvention to some extent. It’s a good learning experience, and you do (hopefully) get something useful out of it at the end. Also, making your own tools is fun and satisfying.

If, however, you value your time, quit fansubbing and go do something else. make sure someone else hasn’t already done what you want. If that someone else is UA, please, go ahead and do it anyway.

-

I don’t know whether my use of the guide.encode.moe descriptions qualifies as fair use/fair dealing, so: This “work” is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.