Skip to main content

Frame-based cutting/trimming/splicing of audio with VapourSynth and FFmpeg.

Project description

acsuite

Documentation Status

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, ffmpeg_path=, quiet=, timecodes_file=])

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,None)], afile)
Output:

Uses the file extension of the input audio_file to output a cut/trimmed audio file with the same extension. If no outfile is given, defaults to audio_file_cut.ext.


Utility Functions:

f2ts(f, src_clip=[, precision=, timecodes_file=])

Useful for finding the timestamp for a frame number.

from functools import partial
import vapoursynth as vs
core = vs.core

clip = core.std.BlankClip()
ts = partial(f2ts, src_clip=clip)

ts(5), ts(9), ts(clip.num_frames), ts(-1)
# ('00:00:00.208', '00:00:00.375', '00:00:10.000', '00:00:09.958')

clip_to_timecodes(src_clip)

Returns a list of timecodes for VFR clips. Used as a fallback when timecodes_file is not given to f2ts or eztrim.

Getting Started

Dependencies

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-5.3.1.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

acsuite_orangechannel-5.3.1-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: acsuite-orangechannel-5.3.1.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.5

File hashes

Hashes for acsuite-orangechannel-5.3.1.tar.gz
Algorithm Hash digest
SHA256 87f86d5fec1b6bff79c69bd4f594f4eeed05a4a9d47572b51a09a196bf6a656b
MD5 aee0ec072daf390f4489547b4325ea93
BLAKE2b-256 a30d8aa488544a9f764a0e2ff57cf708184081691a98b0582cccfa4bdad5da67

See more details on using hashes here.

File details

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

File metadata

  • Download URL: acsuite_orangechannel-5.3.1-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.5

File hashes

Hashes for acsuite_orangechannel-5.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9f167a1cadfe712a47c9c44bae07185d6bdc965e1626e770e4bba4c3fecc8b6b
MD5 99a2c5bec32cb0717a825f69f1c390fd
BLAKE2b-256 33e5e3011249b1c368d910c22e76169f57f7a8f92582d65362789b5f172a425d

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