Sox Audio Effect Filter for AviSynth

(c) 2005, Klaus Post
v1.0 beta

Introduction

This plugin will allow you to run SOX effects within AviSynth. Most effects are supported, and multiple effects can be stacked after eachother.

Download SoxFilter 1.0
Download SoxFilter 1.0 Source

Usage

SoxFilter(clip, string effect1 [, string effect 2, string effect 3...])

Any number of effects can be entered, and they will be executed in the order they are specified. Effect syntax is just like SOX. See Effect Overview and Filter Reference below.

A simple filter could look like this:

AviSource("movie.avi")
SoxFilter("bandpass 500 100")
convertAudioTo16Bit()
This will keep a 100Hz band around 500Hz. SoxFilter converts audio to 32 bit integers. This allows to keep the additional dynamic range of float point samples, but it requires a convertion to 16 bit audio before output, since most codecs only support 16 bit.

Multiple effects can be stacked like this:

AviSource("movie.avi")
SoxFilter("bandpass 2000 1000", "vol 2.0", "reverb 1.0 600.0 180.0 200.0 220.0 240.0")
ConvertAudioTo16Bit()
Which is a faster version of:
AviSource("movie.avi")
SoxFilter("bandpass 2000 1000")
SoxFilter("vol 2.0")
SoxFilter("reverb 1.0 600.0 180.0 200.0 220.0 240.0")
ConvertAudioTo16Bit()

AviSynth Specifics

Known Issues

Version 1.1

  • Solved issue with earwax refusing to play.
  • Solved problem with time alternating effects.
  • Solved issues with some filters producing clicks.
  • Made sure compand and mcompand doesn't crash. Still quite buggy though.