BackupBand

Support & discussion regarding DAWs and MIDI sequencers.

Moderators: khz, MattKingUSA

j_e_f_f_g
Established Member
Posts: 1156
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 12 times

Re: BackupBand

Post by j_e_f_f_g »

42low wrote:make my own backup track and play guitar myself
Sure. I also don't/wouldn't use BackupBand for session recording.

BackupBand is algorithmic software, which means that it composes/arranges parts based upon some music theory rules. And it does this in real-time, meaning that a human can play along while the software is composing/arranging. (Some software force you wait until the software finishes time-consuming calculations before you can hear the results. That's not real-time). But two of the drawbacks to algorithmic software are:

1). You typically get less of a "human feel" since a machine is rendering the performance. The effort required to "tweak" the settings to get around this is usually greater than if you just compose/arrange/play the part yourself (assuming you have the skill to do that. And if you don't, you should acquire it).

2). Since the software is all about "following rules", it works well for very formuliac music such as "pop music". It's not as good for experimental (unless you like boring drones) or "odd" music (like progressive rock or sophisticated jazz).

But where algorithmic software excels is:

1). Live performance. It's easier to setup/use backupband than something like ardour playing audio backing tracks. The track is ending, but the folks on the dance floor don't want to stop. Are you going to rewind/cue the track while everyone wonders what's happening? With backupband, you simply don't press the "stop play" button.

2). Practice/improvize. You don't want to waste time setting up the accompaniment. You want to play. The faster/easier your software does the former, the more you'll do the latter.
j_e_f_f_g
Established Member
Posts: 1156
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 12 times

Re: BackupBand

Post by j_e_f_f_g »

42low wrote:get some 'live feel' in it
Well, a lot of the effective "mimic" of human musicians involves just playing a "musically convincing" part. Say a human picks up a violin and starts strumming chords on it with a guitar pick. A sequencer that plays a MIDI bowed violin solo line on a well-sampled Sfz, with some strategic controller events to add vibrato, can easily sound like a better violin player than the human. It doesn't matter how much "human feel" the human has. He's just not going to sound "real" playing the violin like that.

You'll see lots of comments in backupband's source code that explain that I'm doing something because it's either easier to mimic a real musician in realtime (for example, making the bass line monophonic, so that I can faster/easier simulate "string release"), or because it's like how a real musician would do it (using open-voicing on the guitar chords, especially favoring 4ths and 5ths in the low note ranges).


In fact, the design choices of choosing only a drummer, bassist, and guitarist for the accompaniment, and also gearing the styles toward "pop/rock" were made so I could zero in on algorithms specifically targeting those instruments/genres... and make it all work in realtime. The key to making good software is to have a very focused idea of how you want it to be used, and what you want it to do.

BackupBand''s overall focus is this is realtime pop/rock band accompaniment, easily operated live. I'm disinclined to add features that don't advance that focus.
GordonS
Established Member
Posts: 29
Joined: Tue Dec 04, 2012 6:13 pm

Re: BackupBand

Post by GordonS »

Aleks wrote:I found a way. I added .sh and then ran in terminal
Might your executable also not be marked as executable?

Code: Select all

gordon@gordon-office:$ ls -l BackupBand
-rwxr-xr-x 1 gordon gscott 316840 Dec 31 17:03 BackupBand
   ^  ^
if so, the chmod command or a right-click->Properties on the file can change that.

The other possible issue if you run it from the command line, is that by default Linux will nor look for the executable in the current directory. That's a security feature to stop things like, for example, an executable 'ls' in the current directory that runs malware. In the current directory, you have to run it line:

Code: Select all

./BackupBand
and you'll likely then also want to append an ampersand '&' so the program is set free from the terminal.

Incidentally, Jeff mentioned that Unix/Linux don't use file extensions to identify executables. They use a much more sophisticated method method that involves the OS identifying the file type from examining its contents. Possibly the easiest example to see that is with the "shebang" (#!) sequence in the very first line scripts that usually looks something like this:

Code: Select all

#!/bin/bash
If you're curious, have a look at the 'file' command (man file), the bones of which are from where Linux learns what to do to run an executable.

Example:

Code: Select all

gordon@gordon-office:$ file BackupBand
BackupBand: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=32da974b9733ff4886aa20140f69f261c04bc2f3, not stripped
GordonS
Established Member
Posts: 29
Joined: Tue Dec 04, 2012 6:13 pm

Re: BackupBand

Post by GordonS »

I was just wondering if there was any news on documentation/method for building song files?

Gordon.
j_e_f_f_g
Established Member
Posts: 1156
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 12 times

Re: BackupBand

Post by j_e_f_f_g »

Not yet. Right now i'm doing a major update to the midi input, adding more controlable features. For example, in addition to split keyboard, you can also do dual layer. So you can have a bass patch on the lower half of your keyboard, and on the upper half a piano layered with strings. Also, if you have a gaming mouse with 20 buttons, you can pick out 20 functions (out of about 50) to control. For example, have some buttons play chords, a button to mute/unmute the guitar, a button to play a drum fill, buttons to select styles/variations, start/stop play, etc.
GordonS
Established Member
Posts: 29
Joined: Tue Dec 04, 2012 6:13 pm

Re: BackupBand

Post by GordonS »

j_e_f_f_g wrote:Not yet. Right now I'm doing a major update....
Is there anything I can do to help?

I've tried to analyse what goes on within the code, but I have to admit that I get rather phased by the pointers-with-offsets and no names, so whilst I've understood how the data from song files is processed, I still don't really understand properly how it is used. Some pencil sketches of how things fit together might allow me to understand and help document, or maybe build a tool.
Post Reply