- Reference Manual
- Known Bugs
- Change Log
As of version 3.1, the Iwidgets library is optional, facilitating installation.
As of version 3.0, SndBite can determine the location of silences by itself, without using
any other program.
I developed SndBite for what I thought was a rather narrow use, expecting that the only
people who would have a use for it would be phoneticians, psycholinguists, and people
preparing language teaching materials. It seems to be getting more use than I anticipated,
which makes me wonder whether it is being used in ways that I didn't anticipate or
whether there are more users of the type I did anticipate than I realized. So, if you
are using SndBite, I'd appreciate it if you would
send me a note indicating how you
are using it.
SndBite is a specialized audio editor, designed for breaking large recordings
into smaller components with great efficiency. Its principal intended
application is in linguistic research where it is often desirable to put each word or
sentence into a separate file before further processing. Special features include:
- Multiple simultaneous views of the waveform at different resolutions.
- The ability to position window edges at transitions between sound and silence.
- Automated setting of cut points at zero-crossings.
- Automatic filename generation easily controlled by the user.
- Optional automatic playback on window motion.
- Logging of each write, so that a record exists both for the long term
and in case (as often happens) the user loses his or her place while segmenting a large file.
You can read the reference manual (a web page with lots of screenshots) here.
A copy is included along with the program.
SndBite is known to run on GNU/Linux, Mac OS X, and Microsoft Windows.
It should run anywhere that Tcl/Tk and the Snack
library are available.
This includes: FreeBSD, GNU/Linux, HP-UX, Mac OS X, Microsoft Windows, and Solaris.
SndBite does not currently run under Mac OS X on Intel processors due to the unavailability
of the Snack library on this platform.
Note: obtaining the necessary Tcl/Tk environment.
In addition to Tcl/Tk proper, SndBite uses three libraries: tcllib::math,
Snack, and Iwidgets. The first two are required; Iwidgets is
optional. SndBite will detect whether Iwidgets is available.
If it is not available, custom character charts are not available. tcllib
is almost always included in Tcl distributions - it is unlikely that you will need
to install it separately.
If you already have Tcl/Tk and just need to add the libraries, you can obtain them
from the project sites to which links are given above.
Note that iwidgets is an alternative name for [incr widgets].
The easiest way to obtain the Tcl/Tk environment you need if it is not
provided by your operating system is to install the
distribution from ActiveState.
This distribution provides the Tcl language, the Tk graphics library, and a bunch
of extensions, including [incr widgets] and Snack.
Don't be concerned by the fact that ActiveState is a commercial outfit.
The Tcl/Tk distribution that they provide is free as in both beer and speech.
They make their money selling services and programming tools. The ActiveTcl
distribution is currently available for: GNU/Linux, HP-UX, AIX, Solaris, Mac OS X,
and MS Windows.
For those for whom installing Tcl/Tk is a problem, the following are single-file
executables that contain SndBite along with the Tcl interpreter and the necessary
libraries. They do not include the manual. They also do not include the Iwidgets library,
as a result of which custom character charts are not available.
If you would like to be notified of new releases, subscribe
to sndbite at
No bugs are presently known.
- Fixed a bug that interfered with the definition of keyboard shortcuts in the init file.
- Expanded the set of keyboard events permitted in keyboard shortcuts to
include the arrow keys (KeyPress-Up, KeyPress-Left, etc.) and
KeyPress-Home (Home), KeyPress-End (End), KeyPress-Prior (Page Up),
and KeyPress-Next (Page-Down), KeyPress-Delete, KeyPress-Insert, KeyPress-Multi_Key
(Windows key) and KeyPress-Menu.
- We now update so as to force the immediate display of the message reporting the
loading of a sound file.
- We now report that silences are being computed at the beginning of auto computation
of silences and report the completion and duration of silence computation whether
or not in debugging mode.
- We now check to see whether we are running in Tk8.5+ under X11 and if so use smaller font sizes.
- The delta bar is now hidden by default.
- Eliminated output to stdout and stderr on non-Unix systems.
- Added default key bindings for OverWritePreviousFile and WindowBackwardSilence.
Changed key-binding for ToggleBalloonHelp from ^-b to ^-h so as
to use ^-b for WindowBackwardSilence in symmetry with WindowForwardSilence which is ^-f.
- The available version of pause is now shown in the window title only if UsePauseP is set.
- Added the ability to use keyboard shortcuts for changing playback
volume and created default bindings.
- Inability to open a sound file named on the command line is now handled gracefully.
- Now minimize sound file name in WriteWindow.
- Fixed bug that produced incorrect indication of whether AutoPlay was on.
- Added autoplay when window edges are reset by mouse.
- Supressed autoplay of first window when an audio file is specified on the command line.
- Now minimize sound file name.
- Fixes the bug in which right-clicking in the neighborhood window past the
end of the waveform caused a crash.
- A right click over the entry for the next file name clears it.
- Added the option of displaying the amplitude along with the location of the pointer.
This is useful for setting the silence/sound threshold.
- Messages and log entries for overwrites of the previous file now indicate that
the write was an overwrite.
- Various times are now given in minutes and seconds rather than just seconds.
- Autoplay is now the default.
- The Iwidgets library is now optional.
- Added popup with write history.
- The "Write Window" button is now disabled while the overwrite popup is displayed.
- Saving pause parameters automatically causes recomputation of silences if a sound file has been loaded.
- Now trim leading zeros to prevent interpretation of output file index as octal.
- Eliminated duplicate journal entries on writes.
- Eliminated journal entries for trivia such as window motion.
- Fixed bug that resulted in truncation of saved configuration file.
- The journal is now written by default into the current directory. Whether to use the current directory or the home directory is now settable from the init file.
- The journal file on non-Windows sytems is now named SndBite.log, making it visible
by default in Unix shells.
SndBite is now able to locate silences by itself: it is no longer necessary to use
This simplifies installation as it is no longer
necessary to compile and install pause and libsndfile.
Pause may still be used if you prefer.
A command has been aded for saving the silence list to a file.
The license is now GPL version 3.
Back to Bill Poser's software page.