Loop-based Music Composition With Linux, Pt. 1
Loop-based music composition is the practice of sequencing audio samples to create the various parts of a musical work. A sample may contain only a single event such as a bass note or cymbal crash or it may contain a measured pattern of events such as a drum beat, a guitar chord progression, or even an entire piece of music. The former type is sometimes referred to as a "one-shot" sample, while a longer sampled pattern is often simply called a loop.
A loop is usually created at a specific tempo in a precise time period (musical beats and measures) for exact concatenation with other loops. Sequencing a series of timed loops creates realistic tracks that can convince a listener that he or she is listening to a part specifically performed for the piece.
Loop sequencing offers certain advantages over MIDI sequences. They may contain performance characteristics that are difficult or even impossible to achieve with MIDI instruments, such as bass slaps and guitar fretboard tapping techniques. As we shall see, loops can be used in many non-obvious ways, thanks to the tools and utilities available for manipulating sampled audio.
This two-part article will explore some of the techniques and software used for composing music with audio loops. We'll look at some well-known Linux audio applications that include powerful tools for loop manipulation, and I'll also introduce some utilities specifically designed to help you create and edit your own seamless loops.
Musical looping is not a new technique. In the parlance of classical musicians, a loop is an ostinato, a musical phrase that is repeated until the composer decides to move on. Sequencing loops is likewise not a novel concept, at least not since Vivaldi's time, nor is the use of existing sound recordings as base material for a new musical work. Composers of musique concrète employed the possibilities of the new tape recorder, establishing such procedures as audio splicing, reversed sound, playback rate change, and many other techniques still common in the modern computer-based studio. As music technology advanced the tape recorder was eventually displaced by the hard-disk recording system, extending the possibilities inherited from tape-based systems and giving birth to exciting new techniques unique to the computer.
The popular music industry was changed forever with the introduction of sample-based song production (see the Wikipedia entry on Sampling (music) for a good summary). Despite the legal complications from copyright holders and the moral outrage from musicians who objected to being replaced by machines, the use of audio samples flourished and has a become common practice in the modern recording studio.
Early use of sampled sound was usually momentary, providing snippets for "hits" or other incidental sounds, but it quickly became obvious that sampled sounds could provide the base material for an entire composition. Now, loop-based composition has come of age and is a mainstay practice in the modern recording world. It has also given rise to a thriving industry of purveyors of extensive collections of sampled loops of every instrument in all musical styles.
The most obvious advantage of using audio loops is the sound. A wide range of performance techniques can not be rendered realistically with MIDI instruments, a problem solved with audio samples. Thanks to evolved practice, libraries of loops are now available with accurate timing, matched timbres, and precise key and tuning information, making it easy to create musical parts by sequencing the loops.
Loops are a particular blessing for those of us with home studios too small for recording drums. As a former drummer, I know how to write a technically realistic MIDI drum part, but alas, there are so many percussion performance techniques unavailable via MIDI. Despite my best efforts at tempo, timing, and velocity manipulation I still think my MIDI drum parts sound "not-so-live". Recently I've been using drum loops from Beta Monkey that include such common (and MIDI-unfriendly) techniques as stick drags, press rolls, hi-hat cutoffs, and pitch variation due to the striking area. I still like writing my own parts, but I'll quickly admit that the sample loops sound more realistic than my best MIDI tracks.
MIDI appears to have a singular advantage over the use of sampled sounds: A MIDI track can be transposed without altering its tempo, or its tempo can be changed without altering its pitch. However, contemporary audio loop tools include high-quality time and pitch compression/expansion with various options for changing or maintaining duration and intonation. Samples can be tuned accurately with these tools, without distorting the sound's timbre, and a loop can be lengthened or shortened to any precise measurement (a.k.a. beat-matching). Thus, if I have two loops pitched a semitone apart I can tune one to the other without altering its length at all. If one loop is shorter I can stretch its durations to accurately match the length and beat-patterns of another loop.
Disadvantages And Common Problems
Loop-based composition does have its own difficulties. If you build your own sample sets you may discover that audio consistency is an elusive goal. Your tracks won't sound convincing if the ambience of one loop doesn't match that of the next one in the sequence. It's also common to find discrepancies in length and timing that may require adjustment in an external program such as a soundfile editor or beat-slicer (more about that tool later). Finally, I must note that good loop sets can be costly. Production of an accurately-timed and well-tuned loop collection is a time-consuming process that requires much attention to detail and equipment that may be far beyond most musicians' price range, such as high-quality mics and specific ambience (i.e. where the recording will occur). In addition, playing techniques may be desired that will require a professional player.
Tools And Utilities
Before describing some of the commonly-used sample and loop editors, I must distinguish between live and studio looping. Live looping tools are designed for live performances and are not the focus of this article. Linux has some great live looping programs, such as J. P. Mercury's Freewheeling and Jesse Chappell's SooperLooper, but they'll have to wait their turn for profiles in a later entry here.
Whether you perform live or in-studio, you'll want to prepare your loops before getting too far into your composition. Typical loop edits include :
- Normalization - Raises amplitudes relative to maximum peak.
- Effects processing - Add reverb, chorus, etc. if needed.
- Pitch-correction - Tunes loops to a common intonation.
- Beat-matching - Sets loops to a common tempo.
- Beat-slicing - Creates loops and samples from existing sound recordings.
The first three procedures can be carried out in any modern soundfile editor (e.g. Audacity or ReZound). Beat-matching is nicely done in the Rosegarden audio/MIDI sequencer. If I have a drum loop without tempo information I can set it into a Rosegarden audio track (via the Audio File Manager; see Figure 1) and invoke the Set Tempo To Audio Segment function from the Composition/Tempo And Time Signature menu. The global tempo gets set to the tempo analyzed from the audio segment, and the loop start and end are aligned exactly to the musical bar length. Subsequent loops can be quickly and exactly matched to the original pattern with the Stretch/Squash function (in the Segments menu) by setting the Note duration to a musical whole note. The process is actually very fast, and I found it a simple matter to match dozens of samples in a short time. Figures 2 and 3 show off "before & after" examples of Rosegarden's loop-time manipulation capabilities.
You can create new loops from old with the help of an audio utility called a beat-slicer. This neat tool analyzes a loop for its beat time-points and slices it into chunks precisely timed for musical recombinations into new loops and phrases.
I've just begun exploring Predrag Viceic's Freecycle (Figure 4), an excellent beat-slicer for Linux. It's a deep program with more features than meet the eye, including effects processing (with LADSPA plugins), MIDI file output, export to Akai samplers, and a variety of beat-detection algorithms. However, its basic operation is simple enough :
- Load a soundfile (WAV or AIFF) into the program.
- Select a detection method to define the slices.
- Edit as necessary.
- Slice and export to WAV files.
That's only scratching its surface, and the interested reader is well-advised to pore over the Freecycle documentation for a thorough introduction to the program's many powerful features. For my immediate purpose Freecycle worked perfectly. I loaded a drum loop and left the analysis method at the default (amplitude domain). I adjusted the detection sensitivity with the threshold slider until I was satisfied with the number and location of the slices (deleting a few extraneous beatlines), then I locked in my selections. Finally I selected Save Audio Chunks from the File menu, gave a general name for the chunks (slices), and voila, Freecycle saved them as a numbered series of beats for recombination into new loops. Very cool, and obviously a valuable utility for any serious LoopMeister.
That's it for Part 1 of this introduction. In Part 2 I'll compare other loop-specific tools in Ardour2, Reaper, and Audacity. I'll also provide links to some recent loop-based pieces from Studio Dave, so stay tuned.
Similis sum folio de quo ludunt venti.
Practical Task Scheduling Deployment
Join Linux Journal's Mike Diehl and Pat Cameron of Help Systems.
Free to Linux Journal readers.View Now!
|The Firebird Project's Firebird Relational Database||Jul 29, 2016|
|Stunnel Security for Oracle||Jul 28, 2016|
|SUSE LLC's SUSE Manager||Jul 21, 2016|
|My +1 Sword of Productivity||Jul 20, 2016|
|Non-Linux FOSS: Caffeine!||Jul 19, 2016|
|Murat Yener and Onur Dundar's Expert Android Studio (Wrox)||Jul 18, 2016|
- The Firebird Project's Firebird Relational Database
- Stunnel Security for Oracle
- My +1 Sword of Productivity
- SUSE LLC's SUSE Manager
- Non-Linux FOSS: Caffeine!
- Managing Linux Using Puppet
- Murat Yener and Onur Dundar's Expert Android Studio (Wrox)
- Parsing an RSS News Feed with a Bash Script
- Google's SwiftShader Released
- Doing for User Space What We Did for Kernel Space