Music 256a Final Project

Idea / Premise:

A wide variety of audio editting and sequencing software currently exists, yet most of these programs seem to fall into one of two main workflows: either the program is designed mainly for mixing multiple tracks of audio into a complete arrangement or song, or the program is mostly used for processing and editting individual tracks of audio, one at a time. While either of these types of software can be used to achieve just about any audio recording or production goal, neither of these workflows seem to work particularly well for acquiring, editting and combining a variety of short sounds to create new individual samples or loops. The first type of workflow generally does not include quick ways of browsing, importing, and altering a library of short clips and the second type generally does not provide for the kind of sound analysis, automation or flexibility in processing that is desirable when doing sound design. S.mash ("Sample Mash" or "Sound Mash"...) aims to provide an improved interface for generating or acquiring, archiving, altering and combining short clips of sound into new sounds and loops for use in other, more large scale sequencing programs.

Software Overview:

S.mash is an audio editing program which provides a graphical interface and editting tools that are designed to facilitate the generation of new short audio "samples" or loops from other sounds. It will provide for easy acquisition of short clips with certain desired properties from previously recorded .wav files and will provide a means of quickly storing, sorting, browsing and recalling these clips for later use in the creation of new sounds. To aid in the selection and extraction of short samples and sections of sound from longer sound files, the software will be able to perform chroma and transient analysis, enabling searches for certain types of harmonic / dynamic content. The program will then allow for quick editting and manipulation of these short clips in ways that may not be standard in other programs, providing some functionality which may aid in the creation of interesting new samples or loops such as time alignments, reversals, modulations, repeats and the transference of various properties from one clip to another. Automation of various effects may be easily done through a graphical interface on either individual clips or combinations. S.mash also provides new ways of organizing and viewing the combination of sounds and how they contribute to the final new sample or loop by displaying the mixed output waveform and the individual sounds in various ways, allowing the effect of changes in the mixture on the final output to be viewed in real-time. Utilities are also provided for looping the combined sounds and adjusting the waveform displays to provide useful time markers for a specified sample or loop length and tempo (in beats per minute).


The produced software will be tested by the author and any other students interested in using it. Measures of goodness will include ease of use for its intended purpose and the degree to which it leads users to adopt a new workflow in the creation of sounds, hopefully leading to the creation of novel samples and loops which would be difficult or inconvenient to create with other software that is currently available.


This will be an individual project (Sean Coffin).


Nov 15: Basic inferface complete. Can load, view, cut and save sound files and combine sounds from the library to create new ones.

Nov 22: Basic analysis, mixing and editing tools added. Can analyze chroma and transients in source tracks and search for specific contents. Can view contributing sounds and mixture output in various ways as well as apply various editing functions to clips (reverse, repeat, copy and paste etc) and volume / panning automation.

Nov 29: Cross-Clip functionalities added. Can extract various properties from clips (volume envelope, pitch estimate, spectral envelope, onset time etc) and apply to other clips. Can use mixing utilities that operate on all clips (aggregate, randomize, substitution).

Time Permitting: Add support for more effects and automation of effects parameters. Add basic oscillators for creating sounds from scratch.

Back to 256a main page