Dora 2 is a revised subset of the sound processing modules from the “multitool” program Dora. Many parts of Dora have been left out of Dora2. There's virtually no sound editing facilities provided by Dora2, for example. Instead, this version concentrates on a couple sound processing tasks you won't easily find elsewhere. These include drawing images of sounds (sonograms), extracting interesting bits of sound from larger sound files (phrase extraction) and making measurements of sounds, including assessing the similarity of sounds (correlation) and simply recording data about interesting parts of a sound (logging). Dora2 also provides some facilities for batch processing.


Stuff from Dora that's been left out of Dora2 includes editing functions like filtering, equalizing, sample rate conversion, and channel manipulation. Dora2 doesn't even provide you with the option to save a sound file! There's lots of good sound editors available and some, like Audacity, are free, multiplatform applications. Others, like GoldWave (for Windows only) are shareware. You'll probably want to use your favorite sound file editor (Dora, Audacity, or some proprietary, commercial, expensive product) to prepare sound files before you analyse them with Dora2. Since Dora only reads rather standard .wav files using one signed 8 bit or 16 bit integer (i.e. 1 or 2 bytes) per sample, you'll want to save these prepared files in that format. Since Dora2 works with only one channel of a sound (the one numbered 0 in the sound file) you probably will want to use your editor to select and save the best channel for your intended analysis. Recent versions of Dora2 allow you to read .wav files with higher bits per sample (ie 24 or 32). There's no builting restriction on sample rates, though many are implicit in the JAVA audio subsystem.



How I use Dora2 Understanding what Dora2 was created to do will help you figure out how to use it or, perhaps, lead you to conclude that you don't need or want to try Dora2.


One project I'm interested in is determining how many different kinds of songs different birds sing. This question of repertoire size has pretty much gone out of favor with bird song specialists because they know the answers to these questions, at least with the detail needed to group birds qualitatively according to their repertoire size and understand the general relationships between repertoire size, classification, and song learning behavior. Still, it is an interesting question to me, so I spend time on estimating repertoire sizes of individual birds.


To estimate a bird's repertoire, I make a recordings of it, cut the recordings into pieces that contain individual songs and then examine these songs to see which are the same and which are different. The ability of Dora2 to generate sonograms for a list of sounds files facilitates this process. Also, the Phraser module of Dora2 is designed to cut up a recording into individual songs and the Library module provides data that I use to identify similar songs by statistical means. The multivariate procedure for assigning songs to groups is implements in the Cor-net module.


Another project I'm interested in is observing the behavior of birds as they interact with each other. In particular, it is of interest to know the extent to which birds with neighboring territories sing similar songs at the same time. Birdsong experts have several theories about how and why this happens. One can often simply listen to recordings to determine when two songs are the same, or perhaps accomplish this by looking at sonograms of the songs. In some species, though, there's enough variability that I was concerned that my assessment of which songs are the same is too subjective. Dora2 is designed to provide an objective mechanism for classifying songs. The Library (yardstick) module can be used to measure how similar a song is to a collection of fixed “reference” sounds, and then a multivariate analysis can be done to divide songs into groups and assess the significance with which these groups differ.



Dora2 isn't a soundfile editor, as I mentioned above. The other features of Dora that are absent in Dora2 are the passive sonar/ direction finding modules that use stereo or multitrack recordings to approximate the locations at which sounds are produced. These modules will be avilable “real soon now” as a separate program.


Running Dora2: Dora2 is written in Java and all the parts are packaged into the file “Dora2.jar”. To run the program you need to have a Java virtual machine on your computer and then start the machine and program with a command like “java -cp Dora2.jar Dora”. There's a file called Dora.bat that will issue this command for you on some systems and it provides a command line that should start the program on any system. This .bat file tells java to give the program lots of memory. This is a good idea if you have the memory available and want to actually calculate stuff. Otherwise, simply edit out the additional flags.


Here's a list of the menu items for Dora2. The comments here are probably be enough to get you started playing around with the program.





Menu items


  1. File


    1. Open sound file opens a file chooser dialog window to let you select a sound file to work with. Only .wav format files can be opened by Dora2.

    2. Working directory lets you select the working directory; all files operations will then be relative to this directory unless full paths are given for the file names.

    3. File list opens a file chooser dialog window to let you select a number of sound files to operate on. This list of files is stored internally and used by several different Dora2 actions

    4. Output base name doesn't do anyting right now

    5. Save picture opens a file-save dialog to let you specify the name of a file in which to save the current graphic sound display. Dora2 only uses the PNG formator JPG format for graphics files. There's lots of programs to read/convert .png files.

    6. Save setting as default saves almost all the customizable parameters that govern the functioning of Dora2 so that the next time Dora2 is started, these values are put in place. To start Dora2 with the default configuration, unselect this menu checkbox and then stop and start Dora2. Or, use the reset to defaults menu item.

    7. Quit

  1. DataLog After you've drawn a picture of your sound you can single out special parts of the sound by clicking on the picture. With data logging turned on, information about these special parts is recorded and can later be saved for future uses. Clicks on a sonogram save the time, frequency, and sample number of the click.

    1. Start data log start the data logging process.

    2. Pause data log pauses/resume data logging

    3. Cursors to log writes data about the sound cursors to the data log.

  2. Controls This menu contains items that open up windows that let you adjust parameters that control how Dora2 performs different kinds of tasks.

    1. Player controls Play back and stop playback of the open sound file. You need to click Stop in order to start playing again. Play starts at the beginning of the file or the start cursor (if it is defined) and stops at the stop cursor (if there is one) or the end of the file. You create a start cursor by left-clicking on the sound display and a stop cursor by right clicking on the display. The locations of these cursors are shown on the display as green and red lines respectively.

    2. Image controls Images in Dora2 work pretty much the way they do in Dora, so consulting the docs for Dora will provide lots of details. In the Image Controls window you can choose between sonogram and rms power displays of the sound, control the BlockSize and StepSize used to form the images, restrict the range of frequencies in the sound that are displayed, adjust the height of the graphical display, and control the scaling of values used to prepare the sonogram. There are checkbox selectors to turn the superimposed coordinate grid on/off and to enable/disable a feature that prevents magnification or shrinking of sonograms (otherwise sonograms of short cuts are expanded to fill the entire display window and of large sounds are scaled down to fit the display window).

      The Done button accepts the current values and closes the window. The Update button accepts the current values but leaves the Image Controls window open and the Cancel button simply closes the window without modifying any of Dora2's parameters.

    3. Phrase controls Dora2 uses a modification of the phrase determination procedure implemented in Dora, but the basic ideas decribed in the documentaion for Dora still apply. The main difference is that the start and end of phrases are determined by the points when the power in the sound exceeds or drops below certain threshold levels for specified periods of time. The buttons in the Study box show information related to the phraser process in a dialog window.

    4. Library controls Dora2 has a process called “Library” or “Yardstick” that makes measurements on one or more sound files by comparing them to a fixed library of standard sounds. You can determine the list of standard sounds by putting their file names in a plain text file and using the Library Controls window to tell Dora2 the name of the Yardstick file. You can detemine the file(s) on which measurements are made by 1) openeing a single sound file, 2) selecting a list of files with the File list menu item, or 3) by putting the names of the files in a plain text file and Dora2 the name of this subjectsFile in the Library Controls window.

      When the Library process is executed Dora2 computes correlations between either the RMS power or sonograms of the subject and yardstick files depending on which option isselected in the Library Controls window.

      Output is written to the outputFile if you've specified one; failing that it goes to the data log if logging is turned on or, as a last resort, to the java console.

  3. Action

    1. Redraw Causes Dora2 to redraw the picture.

    2. Compute phrases Causes Dora2 to calculate the start and end of different phrases in the sound file and show these on the graphical display as PhraseStart (purple) and PhraseStop (orange) cursors. You can move the cursors with the mouse if you shift-left-click and then drag them with left mouse down. You can remove them by selecting the delete item from the menu that pops up in respose to shift-right-click. This popup menu also lets you insert cursors by hand.

    3. Extract phrases This menu item runs a process that creates separate sound files containing each of the phrases as marked by the PhraseStart/Stop cursors.

    4. Draw pictures This menu item starts a process that draws a picture of each fie in the file list and saves it in a separate .jpg or .png file. The parameters used for drawing the picture are the same as the ones that control what is displayed on the screen; you can modify them with the Controls/ImageControls menu item.

    5. Trim Is the one editing command in Dora2. It creates a new sound with the data of the current sound that lies between the Start and Stop cursors. You can't save this trimmed file. The purpose of the command is to let you focus your attention on just part of a sound.

    6. Library This menu item runs the Library process on 1) The files name in subjectsFile, 2) the files in filelist, or 3) the currently open sound file.For doing a correlation network calculation, produce a file listing all the files produced by phrase extraction and give this file as both the yarsstick and subjects file.

    7. Run cor net Opens a corrleation network window. Use the File Open menu item to specify the output file produced by the Library process. Adjust the value of rtol, and click the Run button. You can simply copy the parts of the resulting information to the system clipboard and paste them where you want them.

    8. Split tracks This command processes each sound file in the "Filelist" that you set using that option under the File menu. It creates separate (mono, 1-track) sound files for channel 0 of the sound. This has the same name as the original file but with (0) appended before the .wav suffix to indicate from which channel it was derived. (The purpose for this feature is that the program I use to sample audio signals creates a stereo file by default, even it theinput is mono.)

  4. Debug doesn't currently do anything useful.

    1. Show data

    2. Display data

    3. Run test uses Fourier transforms to apply a filter to the current sound with an overlap and add procedure. It is just an experiment at this stage.

  5. View When a soundfile is opened a complete graphical display is prepared of it according to the parameters specified in ImageControls. This may well be too big to map onto the sreen in a pixel-for-pixel manner, and this backing image is scaled to obtain a version that fits in the current size of the Dora2 window.

    1. Fit selection this menu item rescales the backing image so that the portion of the sound between the Start and Stop cursors will fill the current Dora2 display window.

    2. Fit file this rescales the backingimage so that the entire thing fits in Dora2's window.


Details.


Sonograms You can find the details about how sonograms are calculated (and about how to control this process) in the documentation for Dora. (http://math.uc.edu/~pelikan/Dora)


Cor-net The correlation network procedure is new. As input it takes a matrix of correlation coefficients calculated between sonograms of the different phrases. Given all the pairwise correlations between songs it creates the smallest possible number of groups of songs so that, within each group, every song has at least a correlation of rtol with some other song in the group. This multivariate clustering technique is conceptually simple (compared to k-means or self-organzing maps, for example) and seems to work very well when applied to sonograms, generating groups that are very similar to those created by humans based on visual inspection of sonograms,