An up-to-date look at free software and its makers

Projects on the Move


In this issue we look at new sound landscapes. C2h lets people talk to dolphins and whales, and if you happen to be a jazz musician, you will find a creative helper in Impro-Visor.

By Carsten Schnober

Ben Heys, 123RF

Dolphins are regarded as one of the most intelligent species of animal, but scientists still argue about whether the size of their brains is indicative of intelligence. Maybe you should just talk to the animals to find out. To do this, you need a translator, and the c2h (Cetacean to Human [1]) program is exactly that. This program creates and identifies the songs of whales and dolphins (Figure 1), both of which are members of Order Cetacea.

Figure 1: C2h creates and identifies whale songs to help people communicate with these marine mammals.

Whale to Human

C2h is based on the Leafy Seadragon [2] software. This Java program works on any Unix-style platform and on Windows, assuming you have a Java Runtime Environment. The homepage has two versions of the JAR file. The standard version works at 40 frequency samples per second (fsps); that is, it can identify up to 40 different frequencies per second. For smaller computers, such as handhelds, for on board a vessel, a version makes do with just 10fsps.

If the software, once launched, finds a microphone, it will immediately start to analyze incoming sounds with an approach similar to human voice recognition; that is, it analyzes the frequencies of incoming sound waves and attempts to discover matches in, or to identify the speaker from, its own records. The acoustic properties of whale song are less complex than for humans, so the program only needs to take one frequency into consideration, compared with five frequencies for human speech.

Sonorous Communications

C2h creates sequences of tones of different lengths. The Emit field lets the user output them. For example, the s2 command tells c2h to create a sound with a continuous pitch, whereas s1 creates a sequence of different pitches.

When c2h identifies a tone that is stored in its database, the program outputs the record name at the command line. Users can test this by telling c2h to generate an acoustic signal and then holding the microphone up to the loudspeakers. The program will write the following information to the command line, unless you are experiencing some kind of interference:

C> ((( s2 )))

The C here stands for "Cetacean," meaning the sound was created by a whale or dolphin. The symbol between the parentheses represents the signal the program identified. If a user requests tones from the software, c2h tags them with an H for "Human" at the start of the line. If the tones do not match, the program adds a value (%) to grade the similarity. In daily use, c2h lets users filter out the tones they generate themselves to avoid confusion with responses from research subjects.

C2h has a spectrogram view for analyzing incoming sounds. This view was specially developed for wave signals and shows both the intensity and frequency over time. If c2h is unable to associate a tone it has recorded with a signal stored in its acoustic dictionary, it will generate a new name and add it temporarily to the database. This lets the program detect unknown and repeating sequences.

The Right Vocabulary

Despite their comparatively simple structure, Cetacean languages are by no means fully researched. The Canadian marine researcher and programmer of c2h, Serge Masse, therefore invites users to send him new signals that he can integrate with the software. Once a dolphin statement has been captured, it is documented in an XML format that defines the duration and frequencies for digitizing purposes. The Seadragon Whistles Exchange website [3] describes the details of this.

Amateur marine biologists interested in using c2h in ocean trials should be aware that the pressure waves caused by loud sounds at sea can be a health risk. With the right kind of equipment, c2h can create extremely loud tones (of 200 decibels), which can be dangerous for both human and cetacean hearing. Note that the loudest cetacean, the blue whale, sings at up to 180 decibels, whereas the US Navy is not allowed to expose divers to sounds of more than 146 decibels.

Of course, you need the right hardware to support whale language because it uses far lower frequencies than its human counterpart (infrasound). Most whale songs use a frequency below 16Hz and, thus, are inaudible to humans. Because the human voice uses a range of between 16 and 20KHz, many devices are designed for this spectrum.

Music's in the Air

Most artists are familiar with stage fright. The more they practice, however, the less stage fright they typically feel. Improvisation artists might have a more difficult time, but improv can be practiced, too, and, naturally, free software is available to help.

Developer Robert Keller from Harvey Mudd College in California has just released version 4.09 of his free Java program Impro-Visor [4] (Figure 2), which was designed to help jazz musicians and other artists who rely on improvisation test and improve their skills on their home computers. The program interface is based on lead sheets - that is, sheet music with simplified notes that simply includes the melody and some additional information rather than the whole score. This notation style is widespread in jazz music in particular, because it gives the musician more scope for free interpretation and thus for improvisation. Impro-Visor includes around 70 ready-made lead sheets for popular jazz melodies. Users can give their creativity free rein and change them as needed.

Figure 2: Jazz music lives on improvisation. If you prefer to practice at home rather than jump into the deep end, Impro-Visor is a useful tool.

Creative Helper

But Impro-Visor is far more than just a feature-rich score editing program. One major feature is its Advice function (Figure 3). If a human jazz musician can't find just the right inspiration, the virtual adviser pops up to suggest changes from its large repertoire.

Figure 3: Impro-Visor makes suggestions and helps remove artistic blocks.

Impro-Visor can also add a creativity boost in other fields. The Lick Generator (Figure 4) adds licks at any position in a piece. Again, these short musical interludes that appear as repeating variations are a popular stylistic element in jazz.

The Lick Generator uses grammar to define its results. As of Version 4, the program no longer relies entirely on existing grammar but will learn new ones from works added to it. If you import a sufficient volume of music, you can actually teach the Lick Generator new styles.

Replaceable

Impro-Visor exports the results of its own improvisational genius for use in other programs. The program also supports the open MusicXML format [5] for exchanging notation with other editors, and thanks to the MIDI export function, Impro-Visor will also play its own works on various instruments.

If you are interested in contacting the Impro-Visor community, you will find their central communication channel in the Yahoo Group [6]. This platform is not just used for help requests but is also a discussion forum for developers.

INFO
[1] C2h: http://c2h.sourceforge.net
[2] Leafy Seadragon: http://leafyseadragon.blogspot.com
[3] Seadragon Whistles Exchange: http://seadragon-whistles.blogspot.com
[4] Impro-Visor: http://impro-visor.com
[5] MusicXML: http://www.musicxml.org/xml.html
[6] Impro-Visor discussion forum: http://launch.groups.yahoo.com/group/impro-visor