Wavesurfer Pitchmark Plugin

Screenshot of two different pitchmark series


This plugin allows the generation and modification of pitchmark tracks from within Wavesurfer. Pitchmarks are shown in seperate tracks divided into voiced and unvoiced markers and may have a confidence associated with them.


The plugin has to be placed in the system or user Wavesurfer plugin directory, e. g. /usr/lib/wsurf1.8/plugins, ~/.wavesurfer/1.8/plugins or a directory specified in the WSPLUGINDIR environment variable. It can then be accessed from the Create Pane menu item in the context menu.

Pitchmark Files

Simple text based pitchmark files basically consist of one pitchmark per line, given by its position in seconds. Unvoiced pitchmarks are marked with negative positions. An extended variant of this file format can used to store more information in additional columns. The first line contains a comment with the threshold to be applied automatically to the confidence scores in the file. Values other than zero in the second column mark voiced pitchmarks, otherwise they are regarded as unvoiced. The third column holds the confidence score, with zero for disabled and -1 for unconditionally enabled pitchmarks. If the confidence value has been changed manually, the forth column contains the original value before the modifcation.

This table shows a comparison of the two formats:

Multicolumn pitchmark file Simple pitchmark file
# 0.3
 79.00 0             
113.00 0             
228.48 1  0.121
361.64 1  0.767       
488.40 1 -1.000 0.212
615.68 1  0.754       



The pane is vertically divided into voiced and unvoiced pitchmarks. Automatically extracted pitchmarks can include a confidence score in the range of 0 to 1 that is shown as a split bar. A threshold can be used to select only pitchmarks with a higher confidence score. The status line shows the current position, the selected threshold value and a short description of the available mouse actions.

Screenshot of the context menu

Pitchmarks can be inserted, deleted and modified. Most actions are accessible from the context menu as well as with the mouse:

The plugin can load and save simple and multi-column pitchmark files. All stored files will include the selected threshold as a comment in the first line and use the shortest format available for the following pitchmark entries. To export only pitchmarks that have a confidence value larger than the selected threshold in the simple pitchmark format, use the Export Effective Pitchmarks entry in the context menu.


Screenshot of the porperties window

The property page of the plugin allows to modify some of its settings. The upper entries on the page can be used to adjust the appearance of the display elements such as the pitchmark bars for voiced, unvoiced and disabled pitchmarks. The filename extension is used to load a pitchmark file with this extensions if it is available in the same directory. A change to this setting causes the reload of the pitchmark file. The zoom level entries adjust the magnification levels for the scroll wheel actions and the bottom checkboxes allow the voiced and unvoiced bars to extend into waveform and frequency domain panes.


pmedit.plug. This script was tested on an Ubuntu breezy system with Wavesurfer 1.8.3. It is released under GNU GPL.


pmview Plugin for Wavesurfer.

Prosodic and Phonetic Segmentation and Annotation of German and English Speech Corpora. My Master's Thesis.