Magazine Archive

Home -> Magazines -> Issues -> Articles in this issue -> View

Dance With A Stranger

Steinberg Tango Improvisation Software

Article from Sound On Sound, September 1992

Forget mere auto-accompaniment; Steinberg's Tango is intelligent software that actually jams along with you. Derek Johnson trades licks with a software session partner.

It just doesn't seem likely does it? A German jazz trombonist is on the look-out for interactive session software, and finds none suitable. So he spends three years learning the programming language C and develops the program himself. Unlikely as it sounds, this is Henning Berg's story, and the result — Tango — has just been released by Steinberg.

It takes two to Tango; Tango the software is useless by itself, requiring the input of a human partner. Designed to a higher — or at least different — level than the current crop of cheap and popular auto-accompaniment programs, Tango also aims to be more intuitive and musical than algorithmic composition software that, superficially at least, appears to do a similar job.

Let's get one thing straight from the start: Tango is not easy. The prospective improviser must spend time getting to know the software — if you were playing with real musicians, you'd find it just the same. Improvising together is all about sharing ideas, learning from each other, and eventually producing a cogent musical whole. Right from the start, there is going to be a steeper learning curve than for, say, the average sequencer.


Tango is an interactive music program which aims to provide an improvising partner for the MIDI musician. Actually, Tango provides up to six partners, plus drums, and intelligently selects which parts should play what. The program listens to, and remembers, what you are playing, and analyses your input in terms of tempo, tonality, complexity and velocity. Tango bases the playing style of its response on this evaluation. If your playing bores it, Tango will play with more variety in an attempt to offer ideas and material for your improvisations. You can even create feedback loops so that it will improvise on its own, with minimal input from you.

Other facilities that appear in Tango include interval-oriented real-time pitch correction of your MIDI input via the MIDI Thru; your intervals remain, they are just altered to fit the current chord or harmony. (For example, a third remains a third, but a minor is changed to a major and vice versa.) 'Sessions' can be recorded, and saved to disk as a Standard MIDI File — or, using MROS, recorded directly into Cubase. Going the other way, MIDI Files — up to two tracks-worth — can be loaded into Tango's Mastertune (see below); this would be one track of chords, and one track of melody.

Synchronisation options allow Tango to be sync'd to SMPTE. Additionally, exhaustive remote control functions — courtesy of note information from your master keyboard — let you control the program in a live situation without using the mouse or computer keyboard.

Back to the nuts and bolts, and we find that Tango is a dongle-protected program, packaged in the familiar Steinberg grey cloth 3-ring binder. The first thing you do after opening the package is to insert the dongle and make a working copy of the program disk; this is just good sense.

That done, you start the program and see what it can do. To this end, the manual jumps right in and starts you off with a 'Jam Session' (based on 'Greensleeves'!). But before you really go any further, you may have to do a little tweaking and learning. At the heart of Tango is the Sound Palette, and there are a couple of Palettes supplied on disk: if you're lucky enough to have a TG77 or a General MIDI synth, then you can start right away. If not, then you'll have to jump several chapters to learn how to set up your own.

There is a logical structure to Tango but, since it is quite unlike any other program on the market, it doesn't seem so to start with. There are three basic control mechanisms controlling Tango's response to your playing: Lines, which utilise the last input phrases; Loops, which use the last input notes; and Values, which utilise both random functions and the picture the program has built up of your current playing. There are dialogue boxes to allow you to define how Tango uses these mechanisms.

The main page of Tango looks reasonably safe at first. At the top is the menu bar; below that are two bar graphs. The first, Notes In Evaluation, is more or less an input activity indicator — if you're playing loads of notes, then this is full on. The other bar is almost the full width of the screen and is called the TSI (Time Surprising Input!) Status bar, which shows the activity of Tango between two extremes, Bored and Attentive. Where the bar hovers depends a lot on how you and the program are interacting. If nothing much is happening, then the TSI will hover around Bored. This more a reflection of the change in average values of what you're playing than how much you're playing.

The middle of the screen deals with the signal flow; it starts with your input, and follows the six parts through a number of modifiers to the output. Just below this (next to the big Tango logo) is a 3-way box that shows Tempo, Tonality and Development time. Next to this is an even smaller box which offers three choices: Snapshot (there are 16); Palette (there are six); Mastertune (only one this time). The bottom of the screen contains the Switch Bar, a collection of sundry switches that can be clicked on or operated by keyboard equivalents.

Besides the main screen, there are a number of pull-down boxes: the most important would be Sound Palette, Mastertune and Mastertrack. There are lots more, but there just isn't space here to fully explain them all.

The Sound Palette is where you, the user, decide which of your synth's sounds will be played by which musical channel on Tango. It's not a hard concept to get hold of, but the rest of the program is so initially confusing that it seems the Palette is too. Basically, there are six main parts, plus three auxiliary parts (which come into play with the Routing Modifiers). Each part can be assigned a MIDI channel, an overall volume, an octave offset and a row of eight patches; for most purposes, the first patch in the row will be the one used by the part. However, there are modes in which Tango can select, depending on how busy the program is at the time, where it will change patches. The eight patches are listed in a row from Mellow to Strong, so when things are soft, laid-back and quiet, the mellow patch will be in play; as your playing, and Tango's duetting, gets faster, louder and more busy, one of the following seven patches is automatically chosen.

The Drum Palette has its own page; here you set up a kit of eight sounds, and several more parameters than the main Sound Palette. The palette includes an 8-beat pattern, plus a number of modifiers which can decide how the pattern plays — more or less straight, or as far away from straight as you can stand. Beats are added, removed and displaced and the overall activity can follow Tango or the TSI. Generally, Tango offers a very laid-back and mellow kind of drummer, quite unlike anything you've done on a sequencer or drum machine.

Mastertune in its simplest form is a list of up to 200 chords; although the list only shows chords, when you set a Mastertune, you can also record a melody (up to 200 notes). Chord shapes available are varied, although when editing the Mastertune manually, there is a lack of simple chords — jazz chords are to the fore, so there are no simple major or minor chords. The simplest chord is a major 7th. If you can live with that, no problem; a variety of chords, including flat 7th + 13th and a variety with thirds, fifths, and 7ths in the root, are available.

Mastertrack defines tempo and time signature changes — much as in Cubase. When you play with Tango, the chord sequence will loop round, and follow the tempo map in Mastertrack. There is only one Mastertrack and Mastertune in Tango's memory at any one time.

Apart from the Mastertune and Mastertrack, Tango also has up to 16 'Snapshots' in memory; these are simply collections of nearly all the parameters in Tango at a given point, with various Lines, Loops, Random lines parameters and System information, as well as setups for the signal path. These Snapshots can be called up by remote patch changes over MIDI.

Disk operations are flexible, with all data being savable globally or in chunks: Masterdata (Mastertrack and Mastertune), Palettes or Snapshots can all be saved separately.


When you play into Tango, the first stop for your notes is the Main Module: it is here that Tango memorises your notes and analyses what you're doing with regard to tempo and tonality. It then decides what it's going to do with the information, depending on what you've set the system up to do. At the top of the Main Module is the Input — a bar graph to the left illustrates what you're playing in real time. Next is the choice of module (Lines, Loops, Values or Silence), and this is followed by the six musical channels. You choose one module for all six channels, and this choice of module determines how the six channels respond to your playing. They are called SUST (for sustained notes), MEL A (for the first melody channel), MEL B, Bass, PRC A (first percussive sound channel) and PRC B. It's here where you can easily start to get confused: these are musical channels in 'Tango-speak', MIDI channels and actual synth patches are assigned later. As with the Input, VU meters to the left of the channel indicate its activity.

After the Main Module, the musical data from each of the six channels is fed through a series of Modifiers. Each channel has four individual Modifiers, labelled Parameter, Texture, Routing and Extreme. They can be switched out of the signal path globally or per channel, and an Auto-configuration mode switches and selects different Modifiers, apparently at random, but in fact depending on the level of activity at the time.

Clicking and holding any of the boxes within the Modifier matrix activates a pop-up menu, giving you a selection of variables that act on the note data in various ways (see box). After the channel-specific Modifiers comes a selection of Global Modifiers, which influence all channels. Development Modifiers initiate 'developments' in pitch and velocity — a variety of options include various combinations of pitch moving up or down, and velocity getting higher or lower, over a user set time. There are a lot of options here, but a simple variable pitch or velocity offset — rather than the preset varieties — would have been a bit more useful, and more likely to produce predictable results.

Tonality Modifiers transpose each note played by Tango so that it fits a tonality, which can be designated in several ways. If you play in a given tonality, Tango will recognise it eventually, and inform the Auto-configuration, which will activate the appropriate Tonality Modifier; a Sensitivities dialogue box allows you to set the sensitivity of the process.

The last Modifier, Tempo, determines how Tango plays tempos: tempo can work in real time, adjusting itself to your own playing, providing it's steady enough. An overall tempo map can also be assigned using the Mastertrack. (Incidentally, pressing C on the computer's keyboard turns on a metronome, audible on the monitor's speaker.) The options here include No Quantise, a quantise before the Main Matrix, a variable quantise, and an 8th quantise, which may also quantise scales (amongst the Texture Modifiers) to 16th notes.

As mentioned earlier, there is an Auto-Configuration mode; with this switched on, Tango decides which modifiers need to be turned on or off depending on how busy you are, and how busy it is; the TSI Status bar at the top is a help here, and shows you how Bored or Attentive Tango is. If Tango gets bored, it may well turn on some Feedback modifiers to give itself something to do, for example.

Finally, we come to the output section. This is labelled Sound on the screen, and consists of a horizontal row of nine channels; that's six channels from the Main Module, plus the three auxiliary channels, accessible by the Routing Modifiers. Each part can be solo'd or muted (clicking on Mute or Solo at the top of the column toggles between one and the other). The number next to the channel name is that of one of the eight sounds available to the part in the Sound Palette. The last item in line is the VU meters, which show MIDI activity at the real output.


Using Tango is initially frustrating, with glimpses of potential, followed by hard work and eventually a time when it seems like it might become easier to use. The manual is not a great help during your travails, which is surprising, since it is written in a friendly manner. Ultimately it is obtuse, however, with a tendency to jump about and direct the user to different sections rather than fully discuss a topic where it logically occurs.

Explanations are not as concise or clear as they could be. Also, in spite of a promising start where the novice improviser is introduced to his or her new partner (Tango) at the beginning of the manual, a lot of very relevant information that should have appeared with the initial setup is stuck at the back of the manual (tip: read chapters four and seven first).

I also found a certain lack of boundaries: being able to define simple pitch limits for melodic invention (within Tango) could have helped achieve musical results sooner, and a flexible on-line, definable quantise would have gotten rid of the tendency for Tango to sort of babble meaninglessly during the early stages. There are ways around these problems eventually, but Tango is such an advanced program that a simple training or demo section would have been invaluable, even if it meant using a few more dratted auto-accompaniment type features.

As it stands, results veer from cacophonous to very abstract to laid-back and meandering (with occasional flashes of brilliance) to improvised gamelan-type work-outs. Tango is a true improvisational partner, and as such is the only software that can have an 'off' day. Setting the parameters for Tango's reaction is the source of all the hard work, and your results will depend on how well you have mastered this. One curious thing is that if you give Tango a few ideas, and leave it to, er, play with itself, and return to it later, you will hear musical lines that aren't quite what you played, but are recognisably similar to your own style. It can be quite spooky.

The only problem I can see if you're using Tango with Cubase — or any other dongle protected program — is that you'll need to get a dongle expander as soon as possible. This is mildly irritating, but inevitable. Apparently, there is also a slight problem when using Tango with Cubase V3.0, but a text file on the program disk deals with the problem, and outlines a way around it. Also, if you try to do too many things at once in both Tango and Cubase, the processor could slow down.

I tried out Tango using a keyboard — this makes chord input easier — and a MIDI horn; Henning Berg uses a trombone with a pitch to MIDI convertor on stage, so the system is pretty tolerant as to input.


Trying to grapple with Tango and really find out what makes it tick is not quite as straightforward as with more familiar types of software, not least because it seems to be doing several things at once. And while there are discrete chunks to the program, they all interact with each other in different ways at different times. Let's just say we have nowhere near enough space in a review of this size to go into every aspect of a program of this depth.

Nevertheless, while it's not particularly intuitive, Tango is still not as hard to learn as it could be — just look at some of the algorithmic composition software that's available. You will definitely need a certain amount of musical knowledge to start with, but using Tango will both help you develop as a player and teach you about music, at the same time providing you with a lot of fun (once you've got the program sussed) and new ideas that you probably wouldn't have come up with otherwise. MIDI File Format compatibility ensures that your latest jam can become the basis for further work with a traditional sequencer. Chances are that pieces arrived at in this way will come closer to having that elusive factor: feel.

But do you need it? Basically, Tango has no competition, since all the algorithmic composition and auto-accompaniment programs on the planet do their thing differently; whether you need one depends on where you're at as a musician. Nowhere has the phrase "Garbage in garbage out" had more relevance — and even then, Tango often helps quite a bit when it comes to correcting small deviations from an established timing, harmonic or melodic trend.

There's a lot of power in here, but it takes a good bit of work to get at it. When the first gleamings of a purpose shine through, it starts to look musicianly and logical, but even then there's some way to go before intuition takes over and you can just play — Herr Berg gets excellent results, but he developed the program. Mind you, the hard work of writing the program has been done for you. All you have to do is learn how to use it — and who said anything worthwhile had to be easy?

Further information

Tango £199 inc VAT.

Harman Audio, (Contact Details).


Parameter Modifiers: These change a single musical parameter of each note — ie. the pitch, velocity or length.

Texture Modifiers: These start to really mangle your data. Notes can be added to your data, using the User Arpeggio, Scale and AddRnd functions. Other options include Call Response, in which Tango remains silent while you are playing, and improvises when you've stopped.

Routing Modifiers: These alter the final sound, as opposed to the notes being played, in that the notes from a given channel can be routed to another channel at the output stage; the result can replace or be added to data on the target channel. Transposition and delay can be added — the transposition is the largest interval you've played in the last 30 seconds, and the delay is the average of your input notes. A user routing option allows the user to pre-program the target channel, transpose and delay values. In addition to the six main channels, there are three Aux(iliary) channels that are accessible only through the Routing modifier, and allow channels to be doubled with different sounds, with various delays and transpositions added to the doubled part. The Switch Bar at the bottom of the display has a switch labelled Show Routing; a click on this shadows the screen, and this helpful function shows exactly what is routed where.

Extreme Modifiers: So-called because they have the strongest influence on the Main Module's output. A Stop option mutes the channel — and you can't get more influential than that. Feedback sends everything that happens on a musical channel not only to the main output/MIDI Out, but back to the Main Module's input; a VU meter shows the activity. Other alternatives in the Extreme Modifier box include moulding some, but not all, pitches to the Mastertune's melody, transforming a given percentage of input into rests, and adding a drone to the output.

Previous Article in this issue

Wot... No Tape?

Next article in this issue

Hands On: Roland S750

Publisher: Sound On Sound - SOS Publications Ltd.
The contents of this magazine are re-published here with the kind permission of SOS Publications Ltd.

The current copyright owner/s of this content may differ from the originally published copyright notice.
More details on copyright ownership...


Sound On Sound - Sep 1992

Gear in this article:

Software: Accompaniment > Steinberg > Tango

Review by Derek Johnson

Previous article in this issue:

> Wot... No Tape?

Next article in this issue:

> Hands On: Roland S750

Help Support The Things You Love

mu:zines is the result of thousands of hours of effort, and will require many thousands more going forward to reach our goals of getting all this content online.

If you value this resource, you can support this project - it really helps!

Donations for July 2024
Issues donated this month: 14

New issues that have been donated or scanned for us this month.

Funds donated this month: £20.00

All donations and support are gratefully appreciated - thank you.

Magazines Needed - Can You Help?

Do you have any of these magazine issues?

> See all issues we need

If so, and you can donate, lend or scan them to help complete our archive, please get in touch via the Contribute page - thanks!

If you're enjoying the site, please consider supporting me to help build this archive...

...with a one time Donation, or a recurring Donation of just £2 a month. It really helps - thank you!

Small Print

Terms of usePrivacy