The song editor

The song document is where much of the focus of using Doggiebox takes place. This section discusses most of the operations and tools available in the song document window.

Opening an existing song

To open an existing song file, choose Open... from the File menu, or drag the document's icon to the Doggiebox application icon in either the Finder or the dock. Doggiebox song files typically end with the ".dbsong" file name extension.

As an exercise, open the "Demo Song.dbsong" file, provided in the Examples folder. After a few moments a document window should appear.

Be aware that when loading an existing song, you may be prompted to locate a drum kit file if the previously-used drum kit (whose path is saved in the song file) cannot be located. In every song file the full path name of the song's drum kit is saved, and when re-opening the song, Doggiebox tries to load the drum kit from this path. If it can't, it will look in the same directory as the song file. If the drum kit still cannot be found, Doggiebox will inform you with an alert, and ask you to locate it. (It is not necessary to choose exactly the same drum kit as originally used, but if you don't, you may then also be asked to reconcile any missing drums in order to proceed.)

You should not need to worry about any of this while working with the Demo Song, but you may run into such a situation later if you re-arrange files on your hard disk, for example, or open a song file that was sent to you from someone else.

Document window overview

This section discusses the main features of the song document window, which is the primary interface to the creation of your songs. The diagram below illustrates some of the main controls, which are described in the following subsections.

[screenshot]
Elements of the song document window

The drum kit list

At the left of the document window is the drum kit list, a table which lists all of the various instruments available in the song's current drum kit. The icon beside the instrument's name indicates how it will be shown visually in the pattern editor. Click on a drum to select it for subsequent editing operations.

Some instruments in a drum kit can be played in several ways, or have their characteristics altered by the drummer, in order to produce different sounds. For example, a hi-hat can be played open or closed; a ride cymbal may be hit on the edge, or on the bell, or stricken like a crash; a snare drum might be hit with a rimshot. Such distinct sounds associated with the same instrument are referred to as variants.

Drums or cymbals which have more than one variant are displayed with a triangular button [image] to their right. Clicking on this button will expose a pop-up menu listing all of the variants for that instrument. The current variant for a multi-variant instrument is displayed beside its name in parentheses.

To hear what an instrument will sound like, double-click it in the list.

You can change the drums available in the drum kit list by selecting a different drum kit under Song Options.

The pattern editor

The pattern editor provides the visual representation of the drum sounds and rhythms in the song. This is where you will spend most of the time adding and removing beats. Instead of using traditional music notation, however, the pattern editor provides more versatility in a unique grid format.

The song is divided horizontally into bars (separated by dark vertical lines), which are subsequently divided into beats (medium grey lines) and beat subdivisions (light grey lines).

You can adjust the visible horizontal resolution, i.e., zoom in and out, by using the Expand and Collapse commands in the Pattern menu. Beat subdivisions containing events that are hidden due to the current zoom level are displayed with a light brown backfill.

[screenshot] Vertically, each bar is divided equally into seven main regions as follows:

When there is no selection, the insertion point appears as a blinking red vertical marker. The insertion point indicates where new patterns will be put if they are pasted from the clipboard, or inserted via the Pattern menu's Insert Bars... command. You can move the insertion point either by clicking in the header area between bars (on a bar line), or using the cursor keys on the keyboard.

The rationale behind our five-group drum arrangement hinges on two concepts:

  1. A human drummer, with two arms and two legs, is typically able to hit a maximum of only four distinct drums simultaneously.
  2. A huge grid providing slots for dozens of instruments quickly becomes very unwieldy, although the grid paradigm itself is useful for visually sorting information.

Consequently, the approach is to group the drum kit instruments into five general categories, like so (from top to bottom):

In a typical rock or jazz piece, usually only two or three groups will be producing a new sound at any given moment. Combined with unique visual symbols on a drum-by-drum basis, the pattern editor thus provides a compact yet flexible method for representing simple and complex drum patterns.

As you track the mouse over bars shown in the pattern editor, the mouse cursor will change to the icon representing the current drum variant as selected in the drum kit list. Click within a beat subdivision to add the drum to the bar; click again to remove it. Drag to paint the drum across many beats in one operation.

If you hold the command key while tracking over the pattern editor, the mouse cursor will dynamically change to the most recently selected drum variant for the drum group over which the mouse is hovering. For example, notice what happens as you move the mouse up and down over the region where kick drum and snare drum appear. This feature is designed to save time for experienced users, eliminating the need to make repeated trips with the mouse to the drum kit list when entering common drum patterns involving several drums.

By default, the entire song will be presented in one horizontally scrolling row in the pattern editor. However, you may elect to have the patterns wrap to new rows at a regular interval (e.g. every 16 bars), or at the visible width. This behaviour may be specified in the editing & playback preferences.

The section marker list

Section markers allow you to indicate arbitrary bars or groups of bars by name for easy tracking and manipulation. For example, you might wish to mark the choruses and verses in a song for quick navigation and copying.

The section marker list displays the currently defined sections, including a descriptive name plus starting and ending bar numbers. The control menu immediately above the list provides these commands:

Double-click on the name of a section in the list to re-name it, or double-click on the starting or ending bar numbers to select it in the pattern editor.

In the pattern editor, the starting and ending bars of marked sections are indicated in their header areas: the section name is printed in green in the header of the first bar, and in red in the header of the last bar.

The playback controls

In the document window next to the section marker list are several controls related to song playback.

The button labeled Play Song does what its name implies; during playback, its function changes to Stop. If you wish to play only a few bars, instead of the whole song, select the bars you wish to hear in the pattern editor. Then, hold down the option key and the button will change to Play Selected.

By enabling the Loop check box, Doggiebox will repeatedly loop the song (or selection) until you press stop. Otherwise, playback ceases automatically after the last bar.

The Master Tempo adjustment slider provides an overall adjustment of the song tempo over a wide range, while maintaining respect for the relative tempo changes expressly indicated within the song.

Beneath the tempo slider are a pair of downward- and upward-triangle buttons. These buttons allow momentary adjustemnt of the tempo, by respectively decreasing and increasing the master tempo setting by 7% while they are held down. This allows for manual synchronization during live playback against an external source, whose tempo might be inconsistent or hard to match.

The Master Output Level slider controls the relative volume of the entire song. If you later choose to export the song as an audio file, you may find the need to make adjustments to normalize the output level or prevent clipping.

Changing song options

You may modify several song-wide characteristics by invoking Song Options... from the File menu. Currently, these include the song name and descriptive text, as well as the drum kit to use.

[screenshot]
The song options dialog

The song name and description fields are simply for personal use, and do not serve any larger purpose at this time.

To select a drum kit to use for editing and plaback of the song, click the Choose... button. You will be prompted to locate a Doggiebox drum kit file. Drum kits typically end with the ".dbkit" file name extension.

If the new drum kit you choose does not exactly match the one currently in use, you will be asked to reconcile the drums before dismissing the Song Options dialog.

Creating a new song

To create a new song, choose New Song... from the File menu. An empty song document will be created, and the Song Options dialog will be immediately presented in order that you may enter some information or choose the drum kit to use.

If available, the default drum kit will be pre-selected. The default kit can be specified in the Doggiebox global preferences.

Working with bar properties

Whether you are inserting new empty bars into the song, or modifying the characteristics of one or more existing bars, Doggiebox will present you with a variant of the Pattern Options sheet. These are discussed below.

Inserting new bars

Chose Insert Bars... from the Pattern menu to add new bars to the song at the current insertion point. Doing so will raise a sheet asking you to specify bar characteristics.

[screenshot]
The insert patterns dialog

You must specify the number of bars to insert, as well as the time signature and tempo marking to use. The default values will be those most recently used the last time you chose Insert Bars.

Specify a time signature by both the top and bottom numbers. Doggiebox is intelligent enough to parse common types of compound time automatically, and will automatically choose a tempo basis best suited to the time signature. If you enter invalid values, a descriptive error message will be shown.

If after inserting some new bars you wish to insert some more, you can use the Insert Bars Again command, which will repeat the operation without first asking you to confirm the paramaters.

Adjusting tempo and time signature

To modify the tempo or change the time signature for an existing bar (or group of bars), first select them in the pattern editor then choose Modify Tempo/Time... from the Pattern menu. You can also double-click in the header area of any of the bars for the same result.

[screenshot]
The modify patterns sheet

Doggiebox will present you with a dialog sheet similar to that for inserting bars. The default values will match those of the selected bar(s), or will appear blank if there are several different values amongst the selected bars. Leaving a value blank will cause that attribute not to be changed. (For example, you may wish to change the tempo for a group of several bars that do not share the same time signature.)

Reconciling drum kits

As stated earlier, Doggiebox stores in the song file a reference to the drum kit in which it should look for the instruments it needs. Details of the drums themselves, such as their sounds and icons, are not saved in the song file -- only the names of the drums, and the name of the drum kit they came from. This is by design, since it allows a huge drum kit to be shared amongst infinitely many songs without wasting extra space, while also centralizing all drum kit improvements to one place.

As a result, things can go awry if a song becomes separated from its original drum kit, or the drum kit is drastically altered. Similarly, some action needs to be taken when copying and pasting bars between songs that use different kits, or when deliberately choosing a new drum kit for a song. Fortunately, Doggiebox provides an intuitive and flexible process for sorting things out in any of these situations.

When such a scenario arises -- that is, when loading song data scored for a drum kit that is not available, such that a different drum kit must be swapped in -- Doggiebox invokes a process called "drum kit reconciliation". This gives you the opportunity to substitute drums from the new (current) kit for those that don't match in the original kit.

[screenshot]
The drum kit reconciliation sheet

The dialog displays three columns of data between two tables. The left-most column, labeled "Original Drum", lists all of the distinct drum variants scored for the original material. The right-most table, titled with the name of the song's current drum kit and similar to the drum kit list in the main document window, lists all of the available drums. The middle column, "Map To", indicates which drums from the current kit have been chosen to take the places of the unavailable original drums.

For instrument names that match between the original and current drum kits, the association is obvious and Doggiebox matches them automatically. Those that don't will be indicated in red with "None Specified", and you must choose the substitutes. To do so, click an entry in the left-hand table, then click the desired substitute drum in the right-hand table.

To try this first-hand, open the provided Demo Song. Choose Song Options from the File menu, and click Choose to specify a new drum kit; pick the provided Voice Drums. Dismiss the Song Options dialog, and you will be greeted with the reconcile dialog. Note how the song's original drum kit (Ben's Drums) contains a wider variety of instruments than Voice Drums, some with different names, and so on.

After clicking Continue, Doggiebox will perform the necessary substitutions on the song material and complete the original operation (changing drum kits, pasting bars, etc.). Clicking Cancel will abort the operation.

Exporting the audio

Once you have a song well on the way, you might wish to incorporate the drums into another recording you've made outside of Doggiebox. To do this, you must mix down the sound into a standard audio format that you can then use with other programs, such as ProTools or SoundSculptor.

Fortunately, achieving this is easy: choose Export Song... (or Export Selected Bars...) from the File menu, and a Save As... sheet will appear with a few extra options allowing you to choose the output file format and encoding.

[screenshot]
The export audio dialog

The following output file formats are available:

In addition to the file format, you are able to specify the encoding (bit depth, compression). The available encoding options are dependent upon what file format you have selected.

When you dismiss the dialog by clicking Export, a progress bar will appear briefly as Doggiebox writes the output file. Keep in mind that exporting the raw audio does not affect your main .dbsong file, and that you must keep it around in order to make future changes to your drum tracks.

* Note that currently, IFF and XI do not work for output (but are supported for importing drum sounds).