Ameko is an editing suite for Advanced Substation Alpha (ASS) subtitles.
- Subtitle Editing: Create, manipulate, and style subtitles.
- Audio and Video Playback: Preview your work with the integrated video player powered by FFMS2 and libass.
- Reference Files: Load an additional subtitle file (e.g. closed captions) to use as a reference. When editing a line, any lines from the reference file that overlap in time are automatically shown in a panel below the editor.
- Tabs: Ameko is a tabbed editor, allowing you to easily switch between multiple open workspaces, each with their own subtitle, audio, and video files.
- Projects: Project files enable logical grouping and organization of subtitle files independent of the physical filesystem structure. They also provide a centralized place for team-shared configuration, spellchecking, styles, colors, and more.
- Key Names & Phrases: Keep you and your team's terminology aligned! Projects have full-featured KNP support, keeping you aware of names and terms in the file and keeping them out of the spellchecker.
- Profiling: Easily benchmark your subtitles' render time and bitmap size with the built-in profiler!
- Integrated Git Support: Basic Git features, like commiting, pulling, pushing, and blaming are available in the sidebar.
- Scripting: Ameko includes robust support for C# scripts and libraries. The integrated package manager and the vast NuGet ecosystem are at your fingertips! In addition, limited support is provided for simple JavaScript-based scriptlets.
- Powerful API: Scripts and libraries get direct access to AssCS, allowing them to manipulate the document, its events, their components (override tags, etc.), and more with ease.
- Integrated Script Help: Script authors can attach a Markdown help/documentation file with their script that will automatically be added to the Help window for easy reference.
Potential features on Ameko's roadmap include:
- Audio Spectrum View: Add a spectrum visualization option to complement the existing waveform one.
- Graphical Tools: Tools for visually manipulating subtitles on the video.
The inclusion of these features will likely rely on support from viewers like you! If you're interested in contributing to the project, please reach out!
- Ameko will run out-of-the-box on Windows and macOS.
- You may need to run
xattr -cr Ameko.appbefore macOS will let you open Ameko for the first time.
- To open media files, ffms2 and libass will need to be installed.
- A PKGBUILD is provided for Arch distributions.
- To use an IME, you may need to set the
XMODIFIERSenvironment variable; e.g:XMODIFIERS=@im=fcitx
Thank you for your interest in contributing to Ameko! Whether you're reporting or fixing bugs, adding a translation, implementing features, or starting a discussion, all contributions are welcome and appreciated.
If you are interested in localizing Ameko into your language (Thank you!), please see the Crowdin project.
Before submitting a pull request, please make sure your code is properly formatted:
- C# is automatically formatted using CSharpier as part of the build process.
- Zig should be formatted using
zig fmt.
Additionally, there are some testing guidelines:
- Unit tests are required for contributions to the Holo and AssCS projects.
- Tests are optional, but highly appreciated, for Ameko's ViewModels.
- Autonomous drive-by commits will not be accepted. A "human in the loop" is required.
- Contributions containing AI-generated content must be disclosed.
- Commits must include an
Assisted-bytag naming the tool used. Examples:Assisted-by: Claude,Assisted-by: OpenAI Codex. - Commits must not use a
Co-Authored-bytag for AI attribution. Only humans can be co-authors.
- Commits must include an
- AI-generated unit tests are not permitted.
Using JetBrains Rider or Visual Studio for development is strongly recommended.
- Make sure you have the .NET SDK installed.
- Run
dotnet restoreto collect required NuGet packages. - To build, either click the
Buildbutton in your IDE, or rundotnet build. - To test, either click the
Run Testsbutton in your IDE, or rundotnet test. - To build a release binary, use
dotnet publish. - The final output for debugging and running is the
Amekoproject.
- Make sure you have Zig installed.
- You may need to build FFMS2 and libass yourself.
cdinto theMizukidirectory to begin.- To build, run
zig build. To run, usezig build run. - To test, run
zig test. - To build a release binary, use
zig build --release=safe.
- The Ameko application and binaries are licensed under the GNU GPL v3 license.
- Libraries developed for Ameko are licensed under the Mozilla Public License 2.0.
- For more information, see the LICENSE files.
