There’s an amazing piece of computer software for musicians that has been around since 1990. It’s called “Band-in-a-Box” or BiaB for short.
So when I had a recent opportunity to sit in and sing with a very good professional jazz band that has open jam sessions in a restaurant (that’s another story), I decided to invest in an upgrade copy of Band-in-a-Box to help me generate some backing tracks so I could augment my meager rhythm guitar skills and make some practice tracks to learn to sing the songs.
My entire review refers to Band in a Box 2013 for Macintosh, on Mac OS X 10.8 Mountain Lion. I did use Band-in-a-Box on Windows many years ago, but I have not seen the 2013 Windows version, and I’m not referring to any features of the 2013 Windows version of the program in this writeup.
This is not a thorough review; I have not thoroughly learned to use every feature of this amazing program. I have not yet read the entire owners’ manual. I will say in my defense that in the late 1980s I was a music software reviewer for a well-regarded national magazine in the USA; at that time, I would not write a review without spending months using a program and investigating all of its features and shortcomings thoroughly. This is not such a review. I may say some things about this program that turn out to be erroneous because I’m ignorant of this or that function. Still, I believe I have some insights, which is why I’m taking the trouble to write this.
There are plenty of longtime loyal users of Band-in-a-Box who have long ago accustomed themselves to its notorious tremendous quirks and inconsistencies compared to the way that many other computer software programs work. Those people won’t like anything about this blog post; I’m not particularly interested in hearing from those people. I’m writing from the point of view of an outsider looking at the program with a fresh perspective, which I hope you can appreciate.
What It Does, and Does Very Well
Band-in-a-Box has one main function: You put in the chord progression and form to a song, typically but not necessarily a jazz song. You choose from one of hundreds of musical styles, adjust some parameters to taste, and BiaB miraculously generates a backing band accompaniment using a range of instrumentation: drums, guitars, piano, bass, horns, and strings. You can go further by having BiaB improvise melodies and solos according to myriad parameters. What makes all this amazing is that BiaB incorporates years and years of research into the way that jazz musicians play and arrange real live music, and distills this into computer algorithms. They have done this in conjunction and collaboration with quite a few famous living musicians, and the programmers have furthermore carefully analyzed and attempted to replicate the styles of many famous musicians who are no longer with us.
BiaB achieves amazing results, either by creating sequencer tracks in Standard MIDI File format, which it can play internally, or by using what it calls Real Tracks, which are actual audio recordings of performances by real professional studio musicians which have been chopped up, looped, and sometimes pitch- and time-shifted, so you can create playback tracks in any key and any tempo, within reason.
Search around online and find some demo videos for Band-in-a-Box. You’ll be impressed.
BiaB has a great deal of musical intelligence built-in. It will endlessly improvise different performances of a piece of music, based on the user’s input. The user can select various parameters to vary the performance throughout different sections of the song, keeping things simple for a sung verse, or more complicated for computer-improvised solos. The software can figure out and create introductions and codas, change the feel of different sections based on the structure of the song, and do more tricks than I could possibly catalog (or more than I could possibly find out and experiment with on my own).
Musicians have used BiaB for decades to study and practice jazz music and improvisation, and to make demo recordings. BiaB works great for the purposes that most of its users need it to work.
However, I have my own needs and my own desires, which I would imagine don’t mesh very well with the needs and desires of the typical BiaB user.
Now I get to the part of the blog where I nitpick over things that really bug me about this program.
The good news is the Band-in-a-Box is continually developed and improved, and major new releases come out almost annually. This is a very big deal, and one that makes me feel good about using the program.
As you might imagine, BiaB has a large cadre of loyal users who have been working with the program for most or all of its 23 years on the market. With any program of this sort, created by a small independent development company with only a couple of people doing the code writing, this all adds up to a curse. The code in BiaB is very old and has been added onto and patched endlessly. It started out as an Atari ST program, later moving to MS-DOS, then Windows, then at some point about ten years ago they made a very half-hearted port to Mac OS X. (it’s gotten a bit better on the Mac since then). Today they continue to develop the software for Windows and Mac OS X. The other curse is the users. Even though this program can do some amazing modern tricks, like creating arrangements with the Real Tracks using phrases played by real studio musicians, the program still looks and acts and feels more or less just like it did in the early 1990s. In the early 1990s, BiaB did not pay attention to many of the conventions and guidelines for user interface being promoted by the Microsoft Windows developer initiatives. Today, it still doesn’t. Let’s not mention Mac OS X just yet, but we will.
I’ve seen a lot of pieces of small-niche-market software over the years that have this problem: The program is an accretion of the cruft of 23 years, which makes it very hard for the program to be revised, revamped, or made modern. Furthermore, all those users who’ve been on board for 20 years like that cruft, they are accustomed to that cruft, and if the BiaB developers tried to modernize anything, the old user base would howl in protest.
However, I think it’s worth my pointing out some of the crufty problems, because as amazing as this program is, I fear it’s basically been left behind, and it’s so crufty that BiaB is going to have a hard time selling itself to new users in 2013.
When you start the program up, it looks like your modern computer is suddenly running Windows 95, and then you notice that the program’s user interface, in myriad ways, isn’t even up to Windows 95 standards.
Now I have mentioned before that the program today does many things that it could certainly not do in 1995, such as working with MIDI software instruments, the 10GB and more of Real Tracks you can get as add-ons or bundle deals, and the ability to output tracks of audio performances ready to take into a DAW for further work. Let me make one last protestation: this program does amazing and useful musical things and does them well. But I think there’s a lot that’s lacking from the perspective of a user in 2013.
Band-in-a-Box 2013 for Mac’s toolbars are ugly, crowded with features that I would guess few people use. Buttons and features look like they were tacked on one after another over decades, without anybody ever stepping back and saying “Man, maybe we should reorganize things this year.”
More alarming is that there are many remaining menu items and dialog box items that refer to features that were deprecated many years ago and have nothing to do with the operation of the current 2013 version of the program. In BiaB 2013 for Macintosh, there are feature settings for a Roland Sound Canvas MIDI module (in hardware or software) for playing back musical instrument sounds. The problem is that BiaB has not shipped with a Roland Sound Canvas software module in many years. The current 2013 edition ships with an optional IK Multimedia SampleTank module from circa 2006, and there are no integrated features within BiaB to help the user hook up and work with the SampleTank sounds; if you go looking for them, you’ll find myriad settings for the Roland Sound Canvas software module (along with references to an obsolete Yamaha General MIDI specification) which is not there anymore. The program has tons of configuration settings for some 1990s technology it hasn’t used in many years (and which is not compatible with contemporary versions of Windows or Mac OS), and no configuration settings for the current sound playback system which is itself out of date by 7 years.
Today, in 2013, computer software programs that provide playback of music triggered by MIDI data do so with internal virtual instrument engines that are integrated into the software through VST or AU plugin support. It’s usually possible to edit the virtual instrument sounds and parameters directly in the host program. This is the case with products like Notion, Sibelius, Finale, Cubase, GarageBand, Logic, and many more. However, it’s 2013 and BiaB for Mac still doesn’t have VST or AU plugin support. On the Mac, one is only able to pass MIDI data out of BiaB and through the OS X IAC Driver pipe and into the aforementioned stand-alone version of IK Multimedia SampleTank. This is particularly awkward, inflexible, and poorly documented by BiaB to boot. If course through Mac OS X’s IAC pipe, it’s possible to configure connections to other virtual instruments (although not standard VST or AU plugins, in the absence of a stand-alone host shell), but again, this kind of patchwork approach just shows how out-of-date and user-unfriendly BiaB is in crucial areas.
Leaving that issue behind, working with the myriad parameters for dealing with variations in musical styles is a mess. All the menus and dialog boxes in the program are ugly and poorly organized. I have to cut BiaB some slack here: this program has a huge range of parameters that do rather non-intuitive things, are hard to figure out how to use correctly, yet result in creating some marvelous and magical algorithmic music composition. I just wish it didn’t have to look so ugly and haphazard.
And there are so many things about using this program that have always been odd and off-putting. For instance, when you enter chord progressions into its “grid” or “spreadsheet” of a skeleton song layout, there’s a field where you type abbreviations for chord names. An abbreviation can take several characters, like “f#dim7”. Well, suppose you make a mistake while typing in one character of a chord name, and you hit the backspace key. You would expect the cursor to go back one character for each time you hit the backspace key, because the backspace key works in this fashion in every other computer program you’ve ever used in your life, on any computer platform you’ve ever worked in. But no, in BiaB for Mac, hitting the backspace key results in the entire string of characters being obliterated and your having to start typing the name of the chord over from scratch. That would have been weird in 1990, and it’s weird today.
I really want to take them to task on how they’ve implemented simple things like where the files go and where documents get saved. On BiaB for Ma, if you create a new document and go to save it, you are prompted to save the document in the BiaB folder in the Applications folder on your Mac! That’s a cardinal sin. Everybody knows that no user documents should ever be saved in the Applications folder. Documents should only be saved in the user’s home folder in either the Documents folder or the Desktop folder. It’s always been that way. It’s never been any different. Now I wonder what happens when you try to save a file on Windows.
Where to save a user document by default is very important, because it has to do with things like reliably backing up user data, and file system indexing and searching. Stow a bunch of user documents in the wrong place, and they are likely never to be backed up or indexed by the automated processes in the operating system that take care of those things for the user. If a user’s hard drive were to fail, a repair technician would not go looking in the Applications folder for data to recover for the unlucky user, and a years of important musical work could get lost.
I’m not up to date on all the details, but it’s obvious that BiaB for Mac does not take into account any of Apple’s latest developer guidelines and requirements about code signing and sandboxing, not to mention guidlines they’ve had for many years about where and how to store user preferences and configurations. BiaB just dumps a bunch of text files into various sub-folders in the Applications folder, where they clearly do not belong, and at the very least should not be visible to the user; they should be bundled inside the application’s bundle and hidden from the default Finder view. Let’s just say that the program works in spite of this, but BiaB would not be eligible to be sold in the Mac App Store without a stem-to-stern reorganization of all these items.
I fear that BiaB equally snubs Microsoft’s current guidelines and requirements for Windows 8 and going forward. I see no evidence otherwise. And I fear that there are hundreds or thousands of BiaB users still on Windows XP who wouldn’t know the difference if their system crashed and nobody in the larger computing universe could figure out where to find the lost BiaB data and documents.
Back to working within the program. The main “grid” or “spreadsheet” where you put together a chord progression seems really daunting to me. It doesn’t look or act like what you would expect to see in a jazz lead sheet or any other kind of sheet music. There is no obvious, visible way to indicate or see beginning and end repeat systems, first and second endings, different sections like intro, verse, and chorus. Why can’t you just click on a measure and put a nice industry-standard begin or end repeat bracket symbol on it? Worst of all is the fact that if you’ve got many measures of chords already entered, I can’t find any way to insert a number of blank bars in the middle of something, or shift groups of bars around in a different order. In other words, if you are composing your own music, and you want to play around with an arrangement or a chord progression, BiaB makes it very hard to do this; to make changes, you may have to write your chord progression out on paper, trash the document you are working on, and start creating a whole new one from scratch.
I have not got the knack of how BiaB wants me to label and tag different measures for things like repeats, changing sections, different endings, intros and codas. There are contextual menus with commands, and there are dialog boxes, all of which ask you to do arcane things and type in strings of this or that. Once you do each operation, there is little if anything displayed on the “grid” itself to tell you what you have actually just done, and whether or not it’s going to take effect. Why can’t the program be revised so that all this can be done with standard music notation symbols, in a user interface that looks like sheet music? You can do this in many other music programs, like Finale or Sibelius (programs which obviously serve different functions) and it seems to me this would be a better way for a literate musician to be able to work with these elements of music.
BiaB cannot have multiple documents or songs open at once, and there is certainly no convenient way to copy chords or chord progressions from one document and insert them into another. And why does BiaB quit if an open document is closed? Who wants that? These are things that I would have expected the BiaB developers to address years ago, but they have not.
These are just a couple of examples of salient quirks; there are many more. Now let’s get back to generating a performance of a chord progression.
At this point, after trying to make some changes in an existing chord progression, generating new improvised versions of an accompaniment and playing them back becomes downright buggy. Some choices and changes in the form and structure of the piece that I had entered seem not to work, the MIDI playback becomes several measures out-of-sync with the grid display, and played-back arrangements sometimes stop abruptly before they are finished. When that happens, I find it’s quickest to trash the document and start over creating a new one. Not conducive to a confident user experience.
Let’s get back to MIDI
The BiaB people would probably counter that they lost interest in MIDI sound playback when they invested in the Real Tracks system, which sounds good in many situations (and less than good in many others). But after playing around with the Real Tracks, I decided to disable all that and go back to good old MIDI data. The reason is a bit complex:
I want to use BiaB to learn about how jazz music is played and arranged. It’s quite gratifying to start with a chord progression and build up the elements of a performance and arrangement and be able to analyze what’s been created. To do that, you need the MIDI data. When BiaB creates a very convincing-sounding performance using time- and pitch-stretched loops of real musical phrases played by musicians, it doesn’t create any music notation to go along with it. When you switch off the Real Tracks and ask it to compose MIDI data instead, then BiaB can display standard notation of the notes being played. It displays notation fairly intelligently, too. It will create complex tracks of strummed jazz guitar in myriads of MIDI notes, but it will display nice orderly quarter-note chords in its Notation display for me to study, so I can learn how to finger and arrange chords on my own guitar.
Notation, notation, notation
BiaB 2013 can display sheet music notation for all the musical parts it creates in an arrangement. Seeing the full musical notation of all this musical algorithmic wizardry is extremely educational to a journeyman musician like myself; it’s the main reason I purchased the program. But the implementation for music notation is only half-done, and leaves me feeling seriously unfulfilled.
As a music copyist who has worked with Sibelius a great deal, and Finale some, I know that music notation is a very complex and arcane art. Putting all those notes in a form and shape and layout that is conducive to musicians being able to read it easily is a formidible undertaking. Applications like Finale and Sibelius have conquered this problem and provide tremendous flexibility to the user in getting things just like the user wants them. Notation files can be saved and edited later; beyond working with the program you are in, data can be exported and exchanged between many notation and music software programs by a free and cross-platform document specification called MusicXML, which is currently owned and maintained by MakeMusic, Inc., the developers of Finale.
BiaB can display standard musical notation of its algorithmic compositions and arrangements, and properly notated at that. It is particularly amazing in that it can show tablature of guitar parts in a way that would actually make sense to a guitarist who wants to learn to play those arrangements. Seriously. There are many other software programs, including the previously lauded Finale and Sibelius, that cannot do this nearly as well as BiaB can.
But the frustrating drawback is that BiaB’s screen display and controls for adjusting the appearance and layout of the music notation is so awkward, inflexible, and buggy that you would not want to use BiaB’s score display to read from in a performance or rehearsal. It has printing features, but what it prints out is so poorly organized and laid out that you would have to flip through eight pages of hard copy to see the amount of music you could conveniently display on one page of carefully-laid out music in Finale or Sibelius or the like. This won’t do for performance in concert.
What would be a godsend would be if BiaB could export its saved arrangements as music notation in MusicXML format, so that I could take these amazing arrangements and export them. I could do further work on the scores in another software program that has better tools for formatting the physical appearance of sheet music: Finale or Sibelius. I could bring a BiaB arrangement in MusicXML into Sibelius, and get really good professional-quality arrangements to print out, or view on an iPad. There is currently no way to do this.
There is a freeware open-source music notation app called MuseScore that purports to be able to open a standard BiaB document and display a chart in music notation, and thence to convert it to MusicXML But what it actually can do falls far short of what you would think. MuseScore can only import and display the simple naked chord chart from a BiaB file. It cannot read any of the actual notes in the tracks of music that BiaB has created from the saved BiaB document.
Now BiaB can export a standard MIDI file, and you can import such a standard MIDI file into programs like MuseScore, Finale or Sibelius. But if you’ve ever tried to do this sort of thing, you know that what you get in your music notation program is not proper music notation at all. It’s the programs’ attempt to parse a ton of MIDI data and display it in notation, and the results are so very messy and inaccurate that there’s almost no point in the exercise.
Back in BiaB, it has generated a very musically sophisticated and realistic arrangement in MIDI data, and within the program, it can intelligently simplify the music notation display of that data in something that makes sense in standard music notation. But BiaB cannot format that notation into something useful and practical that you could print out and read at a gig, and there is no way to get this notation out of the program and into some other program like Finale or Sibelius that is much better at that sort of thing.
How I’m Using It Now
So what I’m having to do right now is this:
- Realize a MIDI arrangement of a jazz standard in Band in a Box
- Format and print out the musically-accurate but horribly-wonky-looking notation that BiaB can create
- Manually key all that music into Sibelius to create a score that I can study and work with, which seems like a great deal of redundant effort
- Take a Standard MIDI File output from BiaB and import it into Apple GarageBand to create a project where I can record my own rhythm guitar, singing and bass guitar to learn how to perform the song.
It would be totally amazing if a company like those of the developers of Finale or Sibelius could buy out or license the BiaB technology and put it right into their modern music creation and notation environments. But I have no reason to hope that they would want to do that, or see any advantage to having that functionality. And I doubt that the BiaB developers would want to hitch their wagon to somebody else’s company or development environment anyway. BiaB has been all by itself, doing its own thing, for a very long time, quirks and all.
BiaB does so many things amazingly well, yet frequently frustrates me. I suppose I should be grateful that such a program even exists, warts and all, and is surprisingly affordable, even though it’s such a pain to work with. Making music is a tremendously difficult and arduous undertaking, with a steep learning curve all the way. But it’s rewarding.