A Sound Editing Tool

If you use Studio you must send us a postcard! The postcards already received demonstrate what an international effort Studio is!

Sound Studio is a Tcl/Tk application written by Paul Sharpe as his third year individual project, for which he received the Microsoft Prize for Software Engineering. It was subsequently improved by Robin Whitehead. It enables recording, playback and simple cut & paste editing of sound files of diverse formats on a PC equipped with a soundcard and the OSS (formally VoxWare) sound drivers. It uses Lance Norskog's Sox for format conversion; the version we've used is bundled together with this software in its entirety to prevent incompatibility problems, although you should try it with your own sox if you have a more recent one. Sound Studio is now "finished", but no doubt there are loads of bugs still to be found and features to be added. Paul's last year at Leeds was the academic year 1995/6, and Robin's was 1998/99, so any general problems or questions are probably best addressed to the list (see below).

There is a mailing list for Studio; traffic is very low and users are encouraged to join. Details of how to do this, and links to the FTP download area for non-cvs users are on the SourceForge Studio home page. Many thanks to the soruceforge team for this remarkable facility!
Introducion and Credits in the Preface: Browse HTML or PostScript
Philosophy of the original design in Development History: Browse HTML or PostScript
Contributors' technical information in the Programmers' Guide: Browse HTML or PostScript
"Paper copy" of the online Users' Guide: Browse HTML or PostScript

The above snapshot shows Sound Studio in its more normal configuration, but the control panel consists of many different sections which may be brought in and out of view. In the snapshot below, they have all been enabled.

The Sox application used in Sound Studio permits various effects to be added at playback time. Sox users will know that using multiple effects requires (as of the version used here) a pipeline of Sox processes to be set up. Sound studio makes this easier to achieve by permitting the user to set the parameters for each effect, and to enable or disable them as desired.

Sound Studio probes the sound card to determine what facilities are available, and adjusts its appearance accordingly. For example, 16-bit recording will not be offered if you have an 8-bit sound card, and some cards may not support the tone control features. It is possible to deselect mixer facilities and cause them to disappear from the screen; for example, one's sound card may support CDs, even though a CD player isn't installed in the machine. Obviously, autoprobing the card can't detect this, so the CD slider can be removed, followed by a click on the "Make Default" so as not to clutter up the display with it on future runs.

Starting with version 1.0, Studio sports a real-time play-line and VU meter, making the mixer part of the application still more useful. You can set the levels while recording, observe them on playback, and even change the meters' behaviour (increasing decay time if you like analogue meters, or reducing it if you like flickering blurs). A peak-hold facility means you can take your eyes off the UV while recording a track without missing anything.

Zooming in and out on a sample is rather cannily implemented. The application remembers previous zoom settings, making it easy to keep ones place when zooming back out. Regions of the sample may be selected, and effects applied just to this region. Everything can be previewed before changes are made to the file on disk.

Possibly the biggest motivation for writing this application: the flexibility of Sox when it comes to format conversion. The "Save As" panel shows the range of audio formats supported. Particularly useful to us is the "raw" format; students' projects often demand audio I/O, but it is quite an extra demand on the time available to them to research the propietary file formats which a commercial program supports.

I mentioned at the top of the page that this program was "Finished" which perhaps deserves some clarification. Which is to say it is a rather stupid statement to make! It must also be remembered that Tcl/TK is a scripting language, and therefore not capable of the flat-out speed of a hand-crafted C-language application. Loading and saving (especially large files) may therefore take a little time. However, since we started this project in 1995, even inexpensive computers have become rediculously fast, and people (including me!) have been using Studio to record "real" audio, up to a few minutes or even tens of minutes in length.