This is an experimental tool to help language-learners exploit parallel subtitles in various ways. Among other things, it can generate bilingual subtitles, review pages, and decks of Anki cards:
Here's the documentation:
Example usage:
# Create a bilingual subtitle file.
# Export images, audio clips and subtitles as a web page.
Installing substudy
The easiest way to install substudy
is using the cargo install
command.
To use this, you'll need Rust 1.15.1 or newer. If you already
have rustup
installed, you can run:
If you've never heard of rustup
, you can look at the instructions on
the rustup
page, or you can just run the following:
# Mac and Linux only. Windows see above.
|
You will also need to have a working copies of cmake
and the
latest version of ffmpeg
(2.8.1 or newer), which you might be
able to install as follows:
# MacOS X with `brew` installed.
# Ubuntu 16.04.
# Ubuntu 14.04.
Once all that is set up, you can then install substudy
by running:
It should also be possible to get substudy
working on Windows, but it's
more complicated. See our AppVeyor file for some
console-based scripts that you can use as a starting point.
Building substudy
Assuming you have Rust and the other dependencies installed as described above, you can run:
If this fails, please feel free to submit an issue.
Using substudy as a library
You can find API documentation on the Rust CI site. Note that
all APIs are experimental and subject to change. If you want to use
substudy
as a library in your own tools, you're encouraged to do so, but
it might be worth letting me know which APIs you're using so that I can
stabilize them.
Contributing
Please feel welcome to send me a pull request or submit an issue!
Make sure everything continues to work with your changes:
Things which I'd love to see substudy
support include:
- Creating various sorts of parallel media: subtitles, Anki cards, etc.
- Automatic vobsub to
*.srt
conversion, using OCR and character databases. There are several open source Windows tools which tackle this, but it should be theoretically possible to do a lot better.
Things which I'll probably merge if they come with clean code and solid test suites:
- Better character set conversion.
- Various sorts of subtitle cleanups.
- Formats other than
*.srt
. - Better algorithms for repairing timings and alignment.
I'm happy to leave serious, interactive subtitle editing to Subtitle Edit, and to focus on cases related to language learning, and to things which are convenient to call from the command line. I'd also be happy to have implementations of the most useful subs2srs features in command-line form—it's a wonderful and useful program, but it has too many configuration options and it requires too much work using external utilities.
License
This program is released into the public domain using the CC0 public domain declaration. Our test suites contain a half-dozen lines of subtitles from copyrighted TV shows, which should presumably fall under de minimis, fair use or equivalent exceptions in most jurisdictions.