Skip to main content

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 with ffmpeg_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 with ffmpeg_path='/path/to/ffmpeg.exe', the script will automatically output a waveform audio file (.wav) named custom_name.wav in the directory the script is running from.

  • If not, the script will output a Mastroka Audio file (.mka) named custom_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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

acsuite-orangechannel-4.1.1.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

acsuite_orangechannel-4.1.1-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

Details for the file acsuite-orangechannel-4.1.1.tar.gz.

File metadata

  • Download URL: acsuite-orangechannel-4.1.1.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.3

File hashes

Hashes for acsuite-orangechannel-4.1.1.tar.gz
Algorithm Hash digest
SHA256 27650d29d996d4f27a42881f4be4870d19244f58a486926ac6953b3e14ff7867
MD5 d33c8cbf47b672485102856e7f109880
BLAKE2b-256 6c9b3915e52fc7287b3776f76c7347372cd1e4ae1dbe3eba6c2c6f96695f8f2c

See more details on using hashes here.

File details

Details for the file acsuite_orangechannel-4.1.1-py3-none-any.whl.

File metadata

  • Download URL: acsuite_orangechannel-4.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.3

File hashes

Hashes for acsuite_orangechannel-4.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4ac93b0e24aac1d308e51fc2d1c56832f20b1f588d488472c5a79ee94f388c75
MD5 1f04e851b05b9e4993656d8759f4a0c9
BLAKE2b-256 7b5dc52f1b593209d14304962946ec37244411400784ee3aef8d0b12f183b1f8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page