Waveform: Difference between revisions

From Avisynth wiki
Jump to navigationJump to search
m Changelog: typo
m v2.0.2 update
 
(4 intermediate revisions by the same 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/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=?
|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]}}
<br>
 
== 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
|[http://horman.net/waveform0.3.zip waveform0.3.zip]
|[http://horman.net/avisynth/download/waveform0.3.zip waveform0.3.zip]
|[http://web.archive.org/web/20150228155227/http://horman.net/avisynth/download/waveform0.3.zip waveform0.3.zip]
|[http://web.archive.org/web/20150228155227/http://horman.net/avisynth/download/waveform0.3.zip waveform0.3.zip]
|-
|-
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 03: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

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


Requirements


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.


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)


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


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


Doom9 Forum - Waveform v0.3 thread.


Back to External Filters