Waveform

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m (add license)
m (v2.0.2 update)
 
(2 intermediate revisions by one user not shown)
Line 1: Line 1:
{{FilterCat|External_filters|Plugins|Audio_filters}}
+
{{FilterCat5|External_filters|Plugins|Plugins_x64|Audio_filters|Deep_color_tools}}
 
{{Filter3
 
{{Filter3
| {{Author/David Horman}}
+
|1={{Author/David Horman}}
| v0.3
+
|2=v2.0.2
| 3=[http://horman.net/avisynth/download/waveform0.3.zip waveform0.3.zip]
+
|3=[https://horman.net/avisynth/download/waveform2.0.2.zip waveform2.0.2.zip]
| 4=Audio filters
+
|4=Audio filters
| 5=[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]
+
|5=[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]
| 6=[http://forum.doom9.org/showthread.php?t=165703 Doom9 Thread]}}
+
|6=[https://forum.doom9.org/showthread.php?t=182866 Doom9 Thread]}}
  
 
== Description ==
 
== Description ==
Inspired by [[AudioGraph]], waveform is a plugin to overlay audio waveforms on video clips - useful for identifying sync issues and audio glitches.
+
[[Waveform ]] is a plugin to overlay audio waveforms on video clips - useful for identifying sync issues and audio glitches.
  
Improvements over AudioGraph are:
+
[[Waveform|Waveform v2.0]] is a rewrite of the older Waveform v0.3 plugin with the following improvements:
*A nicer, variable height overlay
+
 
*Separate graphs for each channel, works with an arbitrary number of channels
+
* Support for all AviSynth+ colourspaces
*Works with YV12 video, as well as RGB24/RGB32/YUY2
+
* Anti-aliased waveforms
*Audio format is passed through unchanged
+
* Fewer crashes, hopefully
 +
* When using "zoom" it no longer looks like the waveform is clipping if it goes out of bounds
 +
* Uses min/max of samples for a more accurate display of sample values
 +
* The "window" parameter is no longer restricted to integer values
 
<br>
 
<br>
 
== Requirements ==
 
== Requirements ==
* AviSynth 2.5.8 or later
+
* [x86]: [[AviSynth+]] or [https://sourceforge.net/projects/avisynth2/ AviSynth 2.6.0]
 +
* [x64]: [[AviSynth+]]
 
* Supported color formats: [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]
 
* Supported color formats: [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]
 
<br>
 
<br>
 
== [[Script variables|Syntax and Parameters]] ==
 
== [[Script variables|Syntax and Parameters]] ==
  
:{{Template:FuncDef|waveform (clip, int "window", float "height", bool "under", float "zoom", bool "marks")}}
+
:{{Template:FuncDef|Waveform (clip, float "window", float "height", float "zoom", bool "under", bool "smooth", bool "aa")}}
 
<br>
 
<br>
 
::{{Par2| |clip| }}
 
::{{Par2| |clip| }}
 
:::Input clip; must contain audio and video.
 
:::Input clip; must contain audio and video.
 
<br>
 
<br>
::{{Par2|window|int|1}}
+
::{{Par2|window|float|0}}
:::The number of frames either side to display a waveform for (default: 1).
+
:::The number of frames either side to display a waveform for.
 
<br>
 
<br>
 
::{{Par2|height|float|0.333}}
 
::{{Par2|height|float|0.333}}
:::*>=1 : height in pixels of each audio channel displayed
+
:::*>=1 : height in pixels of waveform overlay
:::*<1 : total height of waveform display as a fraction of video height (default: 0.333)
+
:::*<1 : total height of waveform display as a fraction of video height.
 +
<br>
 +
::{{Par2|zoom|float|1.0}}
 +
:::Scale up the waveforms.
 
<br>
 
<br>
 
::{{Par2|under|bool|false}}
 
::{{Par2|under|bool|false}}
:::If true, display the waveform underneath the video instead of superimposed on it (default: false).
+
:::Display the waveform underneath the video instead of superimposed on it.
 
<br>
 
<br>
::{{Par2|zoom|float|1.0}}
+
::{{Par2|smooth|bool|false}}
:::Scale up the waveform.
+
:::Smooth out waveforms.
 
<br>
 
<br>
::{{Par2|marks|bool|true}}
+
::{{Par2|aa|bool|true}}
:::Display frame boundary marks (default: true).
+
:::Anti-aliasing.
 
<br>
 
<br>
 
== Examples ==
 
== Examples ==
waveform with default values:
+
Waveform with default values:
 
  [[AviSource]]("blah.avi") # make sure clip has audio and video
 
  [[AviSource]]("blah.avi") # make sure clip has audio and video
  waveform(window=1, height=0.333, under=false, zoom=1.0, marks=true)
+
  Waveform(window=0, height=0.333, zoom=1.0, under=false, smooth=false, aa=true)
 
<br>
 
<br>
 
== Changelog ==
 
== Changelog ==
 
  Version      Date            Changes<br>
 
  Version      Date            Changes<br>
 +
v2.0.2      2022/11/13      - adds frame property pass-through support<br>
 +
v2.0.1      2022/03/02      - fixes a minor but potentially crash-causing bug with RGB24/32/48/68 formats<br>
 +
v2.0        2021/05/15      - v2.0 initial release<br>
 
  v0.3        2015/02/28      - new parameter: "marks"
 
  v0.3        2015/02/28      - new parameter: "marks"
 
                               - mitigate crash when "window" is set to high values<br>
 
                               - mitigate crash when "window" is set to high values<br>
Line 64: Line 74:
 
!!width="150px"| Download
 
!!width="150px"| Download
 
!!width="150px"| Mirror
 
!!width="150px"| Mirror
 +
|-
 +
!v2.0.2
 +
|[https://horman.net/avisynth/download/waveform2.0.2.zip waveform2.0.2.zip]
 +
|[https://web.archive.org/web/20221113174038if_/https://horman.net/avisynth/download/waveform2.0.2.zip waveform2.0.2.zip]
 +
|-
 +
!v2.0.1
 +
|[https://horman.net/avisynth/download/waveform2.0.1.zip waveform2.0.1.zip]
 +
|[https://web.archive.org/web/20230212005820if_/https://horman.net/avisynth/download/waveform2.0.1.zip waveform2.0.1.zip]
 +
|-
 +
!v2.0
 +
|[https://horman.net/avisynth/download/waveform2.0.zip waveform2.0.zip]
 +
|[https://web.archive.org/web/20210515183747if_/https://horman.net/avisynth/download/waveform2.0.zip waveform2.0.zip]
 
|-
 
|-
 
!v0.3
 
!v0.3
Line 75: Line 97:
 
<br>
 
<br>
 
==External Links ==
 
==External Links ==
 +
[https://forum.doom9.org/showthread.php?t=165703 Doom9 Forum] - Waveform v0.3 thread.
 
<br>
 
<br>
 
<br>
 
<br>
 
-----------------------------------------------
 
-----------------------------------------------
 
'''Back to [[External_filters#Audio_Filters|External Filters]] &larr;'''
 
'''Back to [[External_filters#Audio_Filters|External Filters]] &larr;'''

Latest revision as of 02:02, 12 February 2023

Abstract
Author wonkey_monkey
Version v2.0.2
Download waveform2.0.2.zip
Category Audio filters
License GPLv2
Discussion Doom9 Thread

Contents

[edit] Description

Waveform is a plugin to overlay audio waveforms on video clips - useful for identifying sync issues and audio glitches.

Waveform v2.0 is a rewrite of the older Waveform v0.3 plugin with the following improvements:

  • Support for all AviSynth+ colourspaces
  • Anti-aliased waveforms
  • Fewer crashes, hopefully
  • When using "zoom" it no longer looks like the waveform is clipping if it goes out of bounds
  • Uses min/max of samples for a more accurate display of sample values
  • The "window" parameter is no longer restricted to integer values


[edit] Requirements


[edit] Syntax and Parameters

Waveform (clip, float "window", float "height", float "zoom", bool "under", bool "smooth", bool "aa")


clip   =
Input clip; must contain audio and video.


float  window = 0
The number of frames either side to display a waveform for.


float  height = 0.333
  • >=1 : height in pixels of waveform overlay
  • <1 : total height of waveform display as a fraction of video height.


float  zoom = 1.0
Scale up the waveforms.


bool  under = false
Display the waveform underneath the video instead of superimposed on it.


bool  smooth = false
Smooth out waveforms.


bool  aa = true
Anti-aliasing.


[edit] Examples

Waveform with default values:

AviSource("blah.avi") # make sure clip has audio and video
Waveform(window=0, height=0.333, zoom=1.0, under=false, smooth=false, aa=true)


[edit] Changelog

Version      Date            Changes
v2.0.2 2022/11/13 - adds frame property pass-through support
v2.0.1 2022/03/02 - fixes a minor but potentially crash-causing bug with RGB24/32/48/68 formats
v2.0 2021/05/15 - v2.0 initial release
v0.3 2015/02/28 - new parameter: "marks" - mitigate crash when "window" is set to high values
v0.2 2012/10/06 - commented out the function which uses vsprintf_s - hopefully fixed those rowsize/pitch issues (but only for YV12/YUY2 so far)
v0.1 2012/08/19 - initial release


[edit] Archived Downloads

Version Download Mirror
v2.0.2 waveform2.0.2.zip waveform2.0.2.zip
v2.0.1 waveform2.0.1.zip waveform2.0.1.zip
v2.0 waveform2.0.zip waveform2.0.zip
v0.3 waveform0.3.zip waveform0.3.zip
v0.2 waveform0.2.zip waveform0.2.zip


[edit] External Links

Doom9 Forum - Waveform v0.3 thread.


Back to External Filters

Personal tools