If you regularly learn or transcribe songs from audio, deCoda might be just the helping hand you need.
While zplane are perhaps best known for the time‑ and pitch‑shifting technology that is often licensed by other music/audio software developers, they also have a range of their own products. Their latest release is deCoda, a standalone application and, while it obviously depends very much on zplane’s considerable expertise in the manipulation of audio, it applies that expertise to a very different task; identifying the key, tempo, chords and major structural elements (verse, chorus, etc) of a song from an audio file.
However, as described more fully below, using some clever spectrographic analysis, deCoda can also go deeper than this and allow you to visualise note data from individual instruments within the mix. So, if you regularly transcribe or learn songs from audio, might deCoda speed the process?
DeCoda can work with wav, aiff, mp3, wma, flac and ogg formats. On import, deCoda spends a few seconds analysing the file before displaying the main waveform view in the central portion of the window. Above this are the Parts and Chords Lanes. The former shows deCoda’s best guess at dividing the song into sections while the latter shows the suggested chords.
Of course, getting software to make decisions about song structure or extract chords and chord changes from a full mix is a pretty significant ask. I tested deCoda with a range of commercial tracks and a few piano‑only performances of varying degrees of chordal complexity. The results were perhaps similar to other chord recognition software I’ve experienced and new users perhaps should not expect analysis of jazz classics to appear fully formed. However, with pop or rock based mostly upon major and minor chords, the results will be more than good enough to get you started in ‘decoding’ the song.
You can manually edit the contents of both lanes to refine the automatic detection. On this front, during the review period, I received the update to deCoda v.1.1 and one of the main changes was an enhancement to the chord editing process. Providing you are not too deeply into jazz, a good range of chord types are available. This takes the form of an easy‑to‑navigate drop‑down chord editing dialogue that makes auditioning and editing chord data very straightforward. In addition to editing the default chord identifications, song Parts can also be renamed for easy reference.
The software also does tempo detection and a bar structure is placed over the main waveform display. For tracks with a constant tempo (recorded to a click), this works very well and manual editing or basic tempo and bar structure is available if required. However, in this early iteration at least, tracks with significant tempo variations are simply processed as having a single tempo. While this means the bar display is obviously not going sit perfectly over the waveform, this is a visual issue only; playback of the audio itself is not affected. That said, it will be interesting to see if zplane have plans to include ‘tempo mapping’ functionality to deCoda at some stage as it would be a great addition.
On playback, you can adjust both the pitch without changing the tempo (bottom‑left) and the tempo without changing the pitch (bottom‑right). Both of these are very useful practice tools, whether it is learning a part by slowing it down or adjusting the key to suit a different singer’s range or a track where, for example, the guitars were tuned down a half‑step. As might be expected given zplane’s expertise in this area, the quality of both processes is excellent.
Perhaps the most significant new feature added in the v.1.1 update is support for audio input with access to a plug‑in (at this point, a single plug‑in, not a plug‑in chain) for processing. The most obvious use case might be to mix your own guitar input alongside deCoda’s playback of the track under analysis providing, of course, you have a suitable hardware audio input to connect your instrument of choice to your computer host.
To emphasise the obvious guitar application, zplane have teamed up with IK Multimedia to provide access to a version of Amplitube for use with deCoda. In my own testing, this worked fine but, equally, you can scan your system for other AU/VST plug‑ins and use those if required. With guitar, I tried the full version of Amplitube, BIAS FX and Neural DSP’s Nolly and got good results with each. However, it doesn’t just have to be guitar amp sims and, if you were using deCoda to work on your vocal performance for the song, you could just as easily select a suitable vocal processing plug‑in. A simple mini‑mixer allows you to adjust the relative balance of audio input (via your selected plug‑in) and track playback. This ability to monitor your own playing alongside the track, all housed within deCoda, makes for a very convenient learning environment.
For those that just want to sing and strum along, so far so good, but deCoda has another level of analysis that combines two interesting additional features; the Piano Roll and Focus Mode. Clicking on the Piano Roll button (located on the right edge) switches the main display to something that combines elements of a MIDI piano roll and a spectrographic display. You have to zoom in to a relatively narrow section of the timeline and note range for this to start revealing its magic. However, once you do this, there is a remarkable amount of musical information you can glean, right down to the fundamental pitches (and their harmonics) of specific notes.
However, things get even more interesting if you toggle on Focus Mode via the button to the right of the Play control at the bottom of the main window. This pops open an XY panel to the right of the display. During playback, this visualises the audio as a series of pulsing ‘blobs’ that indicate the amplitude of the audio at a specific frequency (the vertical axis) and stereo position (the horizontal axis). Even better, you can then draw a rectangle within this XY display to limit the contents of the spectrographic display to a particular frequency range and stereo position. While instruments will, of course, overlap in frequency/stereo placement, in principle, this can allow you to isolate particular elements within the mix (a particular guitar part, vocal or bass line) so that you only hear — and see in the XY and spectrographic/piano roll displays — just those elements of the sound. Usefully, you can also invert the selection, thus excluding a particular frequency range/stereo element. You might, for example, use this to generate a karaoke‑style playback without the vocal, bass or lead instrument for personal practice.
The whole system is really rather clever and, combined with the ability to slow down the playback tempo, as a means of digging into a specific instrument to work out a difficult phrase, it really is very effective. My only niggle might be the way the Focus Mode button is currently configured as it works as a three‑way toggle between on, inverted and off; it would be nice to have the option to toggle between pairs of these modes rather than having to always cycle through all three of them. That said, this is an impressive feature with some seriously clever audio analysis lying underneath it. It also left me wondering where zplane might take this technology in recording and mixing contexts; there is considerable potential here.
Once you have identified the fundamental frequency of the part you are trying to learn within the piano roll/spectrographic display, if required, you can then use the Piano Roll Editing to manually create MIDI notes that match the part. A basic synth sound allows you to check your MIDI creation alongside the actual audio. Adding and editing these MIDI notes is, however, a fully manual task, so you might only undertake it for particularly difficult or important parts.
After refining your deCoda analysis for a specific audio track, you can export the project in various forms. This includes the full project, a lead sheet (added in v.1.1), a defined audio loop, or a MIDI file based upon the MIDI notes you have created within the piano roll display.
All of these options are obviously useful in different contexts, but the ability to return to a full project or to share it with other band members would be particularly useful, whether it’s an analysis of how the song is to be played at a covers gig, or a means of sharing a demo of a new song idea and enabling everyone to get a head start before a rehearsal or recording session. Equally, the lead‑sheet option — essentially producing a chord sheet organised by the song’s structural elements of verse, chorus, etc — would make a great reference, either for personal practice away from the computer or to have in the song folder (paper or electronic) if you play in a busy covers band with an extensive repertoire.
While it can’t ‘unmix’ instruments that have considerable overlap in frequency content and stereo placement, it certainly makes it easier to isolate what’s going on and extract data.
Tools to assist the song learning process have been around for some time and options for pitch/tempo manipulation or extracting chords from audio can be found in other software. DeCoda does these things as well as any other software I’ve tried and, of course, the tempo and pitch adjustments work extremely well. However, what really sets deCoda apart is the addition of the Piano Roll and Focus Mode features. These allow you to dig into a mix and focus on a specific instrument. While it can’t ‘unmix’ instruments that have considerable overlap in frequency content and stereo placement, it certainly makes it easier to isolate what’s going on and extract data that you might otherwise find difficult.
Yes, deCoda is a niche tool aimed at musicians who need to analyse an audio file to deconstruct a song, so it will not be for everybody. It does, however, bring a new element to that process and, at what is a very modest price, is accessible to almost anyone. There is a trial version available on the zplane website and, for anyone needing to ‘decode’ a song from an audio file, this is well worth taking for a spin.
- Top‑quality pitch/tempo manipulation for song playback when learning.
- Very clever combination of piano roll and spectrographic display with Focus Mode for working out individual instrument parts.
- Accessibly priced.
- Chord recognition probably not up to jazz standards.
- Currently does not support tempo changes.
With deCoda, zplane have brought something extra to software‑based ‘decoding’ of songs from audio files. Well worth a look if you need to learn or transcribe songs on a regular basis.