Frame-based cutting/trimming/splicing of audio with VapourSynth.
Project description
acsuite
audiocutter(.py) replacement for VapourSynth.
Allows for easy frame-based cutting/trimming/splicing of audio files using VapourSynth clip information.
Functions:
eztrim(clip, trims, audio_file[, outfile, mkvmerge_path=, ffmpeg_path=, quiet=])
import vapoursynth as vs
core = vs.core
from acsuite import eztrim
file = r'/BDMV/STREAM/00003.m2ts'
afile = r'/BDMV/STREAM/00003.wav' # pre-extracted with TSMuxer or similar
src = core.lsmas.LWLibavSource(file)
# for the example, we will assume the src clip is 100 frames long (0-99)
trimmed_clip = src[3:22]+src[23:40]+src[48]+src[50:-20]+src[-10:-5]+src[97:]
# `clip` arg should be the uncut/untrimmed source that you are trimming from
eztrim(src, [(3,22),(23,40),(48,49),(50,-20),(-10,-5),(97,0)], afile)
Outputs:
-
If you have
ffmpeg
in your PATH or specify a path to an FFmpeg executable withffmpeg_path='/path/to/ffmpeg.exe'
, the script will automatically output a waveform audio file (.wav
) named/BDMV/STREAM/00003_cut.wav
. -
If not, the script will output a Mastroka Audio file (
.mka
) named/BDMV/STREAM/00003_cut.mka
.
MKV container example
import vapoursynth as vs
core = vs.core
from acsuite import eztrim
# no need to extract audio if using a container with a slice-able audio codec
file = r'/path/to/remuxed_bdmv.mkv' # Video: V_MPEG4/ISO/AVC, Audio: A_PCM/INT/LIT
# trimmed_clip = src[0:-22]
eztrim(core.lsmas.LWLibavSource(file), (0, -22), file, 'custom_name.mka')
Outputs:
-
If you have
ffmpeg
in your PATH or specify a path to an FFmpeg executable withffmpeg_path='/path/to/ffmpeg.exe'
, the script will automatically output a waveform audio file (.wav
) namedcustom_name.wav
in the directory the script is running from. -
If not, the script will output a Mastroka Audio file (
.mka
) namedcustom_name.mka
in the directory the script is running from.
Getting Started
Dependencies
Optional Dependencies
- FFmpeg - needed to output WAV files instead of Mastroka Audio (MKA)
Installing
Arch Linux
Install the AUR package vapoursynth-tools-acsuite-git
with your favorite AUR helper:
$ yay -S vapoursynth-tools-acsuite-git
Gentoo Linux
Install via the VapourSynth portage tree.
Windows / Other
Use the Python Package Index (PyPI / pip):
python3 -m pip install --user --upgrade acsuite-orangechannel
or simply
pip install acsuite-orangechannel
if you are able to use a pip
executable directly.
Help!
Check out the documentation or use Python's builtin help()
:
help('acsuite')
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for acsuite-orangechannel-4.1.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27650d29d996d4f27a42881f4be4870d19244f58a486926ac6953b3e14ff7867 |
|
MD5 | d33c8cbf47b672485102856e7f109880 |
|
BLAKE2b-256 | 6c9b3915e52fc7287b3776f76c7347372cd1e4ae1dbe3eba6c2c6f96695f8f2c |
Hashes for acsuite_orangechannel-4.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ac93b0e24aac1d308e51fc2d1c56832f20b1f588d488472c5a79ee94f388c75 |
|
MD5 | 1f04e851b05b9e4993656d8759f4a0c9 |
|
BLAKE2b-256 | 7b5dc52f1b593209d14304962946ec37244411400784ee3aef8d0b12f183b1f8 |