Auto-Editor is a CLI tool that cuts out the silence in video/audio files.
Auto-Editor was originally written in Python, however, Python is slow and it's easy to make mistakes in C extensions. Nim is very attractive to me because it has system-language performance and powerful high-level conceptions in scripting languages.
Before even considering rewriting to a systems language, I transitioned from untyped Python to typed Python (type annotations check with mypy). Then I rewrote the program in Nim from scratch, submodule by submodule.
Is there some semantic difference between Typed Python and Nim, yes, but it's still 80% the same. This fact, as well as Auto-Editor not being a ginormous project, meant that the rewrite was fast, and I didn't have to write Python-to-Nim bindings.
Basic example:
auto-editor video.mp4
This cuts out the silences. You can adjust the silent threshold:
auto-editor video.mp4 --edit audio:-20dB
You can even set custom actions:
auto-editor video.mp4 --when-silent speed:2.5 --when-normal speed:1.5
This is only scratching the surface, so check out the GitHub and Docs too.
typed Python is just as slow as untyped Python, it just helps catch errors and makes refactoring faster.
Rendering can be up to 2x faster. Analysis can be 8-10x faster.
running example.mp4 is ~72% faster on my machine.
The project looks interesting and I had it bookmarked already but haven't got a chance to use yet.
Currently Readme doesn't list all of the functionality and makes an impression of a less capable tool than program's --help. The first question popping up after going over it is what's the value proposition compared to ffmpeg's silencedetect/silenceremove [1]?
The second is what's the strategy for detecting silence stretches to cut.
I only see a single option --margin to configure the actual detection, and if it's indeed so, I doubt it's ready to be widely used outside of specific author's workflow.
I like the pauses and silences in audio en video.
This tool has an option to speed up silent parts, not just skip them, it's sensible for editing raw or unscripted talks/dialogues.