BackupBand-idemic

Discuss anything new and newsworthy! See http://planet.linuxaudio.org and https://libreav.org/news for more Linux Audio News!

Announcements of proprietary software may fit better in the Marketplace.


Moderators: raboof, MattKingUSA, khz

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

BackupBand-idemic

Post by j_e_f_f_g »

A new strain has escaped from the laboratory, and is threatening to decimate mankind (or gigging musicians at least). This version is capable of extreme mutation. Due to a process known as "a window layout", it can completely change its appearance. Every graphical control can be individually added, removed, moved, and sized. You can arrange numerous controls on a "panel", which flips in and out of view with a mouse click or shift-tab. You can have as many panels as you want, and give them names. You can add your own text annotations anywhere in the window/panels. Read about this strange malady in the new document in Docs/window_layout.htm.

Create your own custom interface. Get rid of what you don't need. Arrange what you need for max ease-of-use. Then report back here your impressions, so I can evaluate my design decisions vis-a-vis simplicity versus versatility, etc.

But wait. If you order now, you'll receive a bonus level of customization, the BackupBand Source Code Configuration tool. For those who want to compile BackupBand, this tool allows you to easily customize BackupBand by choosing which features you want or don't want compiled in the binary executable itself. The tool then modifies the source code to compile only those features you want. This creates a version of BackupBand that is leaner, faster, and easier for you to use. You need to run this tool once only to customize BackupBand's source code. Every time you compile the source, you'll automatically get your custom binary version. If you update to the latest source code, your customization will automatically be applied to the new version.

If you later decide you'd like to restore a feature that you have removed, simply run the tool again to enable that feature.

To run the tool, open a terminal in the BackupBand folder (where the Makefile is) and type:

./configure.sh

Then just follow the instructions.

p.s. Gordon, the strlen() problem should be fixed.

The new "Output Busses" feature is done and successfully tested with LinuxSampler replacing BackupBand's sound engine (Internal Synth). But i haven't had time to write up the tutorial yet. In a nutshell:

Go to BackupBand's Setup -> General screen. There you'll see 5 buttons representing 5 "Out" busses. The are labeled "Internal Synth", "MIDI Out 1", "MIDI Out 2", "MIDI Out 3", and "MIDI Out 4".

Internal Synth is BackupBand's built-in sampler. Click the button to bring up its routing. Under "Enable", click "Off". The builtin sampler is now offline. Click the "Ok" button to go back to the General settings.

You've got 4 midi out busses. To each midi out buss, you can attach one standalone softsynth (like QSampler), or one plugin host (like carla), or one external midi hardware synth.

Click the MIDI Out 1 button. Under "Enable", click "On". Click on "Other software" which means you're going to connect some other software to BackupBand (as opposed to external hardware). Click "Ok".

Go to BackupBand's Setup -> Accompaniment screen. You'll see that the drummer, bassist, guitarist, and background player are all currently set to use the Internal Synth. Change each robot musician so that he's going to instead use "MIDI Out 1".

Now run QSampler or Carla. Load a bass guitar sfz or plugin and set it to midi channel 2. Load a guitar sfz or plugin and set it to midi channel 3. Load a GM drmkit sfz or plugin and set it to midi channel 10. Load a violin, brass, or organ sfz or plugin and set it to midi channel 4.

Run QJackCtl, and under Connections -> Alsa, connect BackupBand's "MIDI Out 1" to LinuxSampler's or Carla's midi in. If using LinuxSampler, also flip to the JACK connections, and connect LinuxSampler to your system's (audio) out.

And finally, there's a brief tutorial Docs/make_a_kit.htm that explains how to make a drum kit for BackupBand's internal sampler. So if you want to play with that, it's there. I'll be adding more tutorials for adding bass, guitar, and other instruments.

https://sourceforge.net/projects/backupband/files/

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

tavasti
Established Member
Posts: 2047
Joined: Tue Feb 16, 2016 6:56 am
Location: Kangasala, Finland
Has thanked: 369 times
Been thanked: 208 times
Contact:

Re: BackupBand-idemic

Post by tavasti »

j_e_f_f_g wrote: The new "Output Busses" feature is done and successfully tested with LinuxSampler replacing BackupBand's sound engine (Internal Synth). But i haven't had time to write up the tutorial yet. In a nutshell:

Go to BackupBand's Setup -> General screen. There you'll see 5 buttons representing 5 "Out" busses. The are labeled "Internal Synth", "MIDI Out 1", "MIDI Out 2", "MIDI Out 3", and "MIDI Out 4".

Internal Synth is BackupBand's built-in sampler. Click the button to bring up its routing. Under "Enable", click "Off". The builtin sampler is now offline. Click the "Ok" button to go back to the General settings.

You've got 4 midi out busses. To each midi out buss, you can attach one standalone softsynth (like QSampler), or one plugin host (like carla), or one external midi hardware synth.
Tried this, works great! I used lmms, and connected different lmms presets to BackupBand instruments.

I plan is to use foot midi controller for commanding backupband, and play guitar myself.

Linux veteran & Novice musician

Latest track: https://www.youtube.com/watch?v=ycVrgGtrBmM

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

Re: BackupBand-idemic

Post by j_e_f_f_g »

tavasti wrote:works great
I'm frankly surprised. Whereas the internal engine tracks great, my experience with linuxsampler was that tracking suffered from the extra latency. If I played a chord slightly late, I'd often hear a brief "glitch" as backupband resync'ed to me. My yamaha arranger keyboard actually does the same thing. BackupBand's internal engine tracks actually better than some dedicated hardware units. (Not bad for a free program versus products at $400 and up.)

But not so great when not using the internal engine. otoh, I'm using a stock kernel. If you're using a rt kernel, that could account for your differing analysis.
connected different lmms presets to BackupBand instruments.
Note you can edit the styles to select the desired presets. For exmple, the "Styles/Categories/Rock/Hard Rock" has the following line:

Code: Select all

BASS 35,Eighth
If the bass preset you want is #80 instead of 35, you can change it here. Ditto with drums and guitar for each style. For the backing pad, general midi patch numbers are used for strings, brass, and organ (49, 62, and 17), and you can't change those.
use foot midi controller for commanding backupband, and play guitar myself.
BackupBand has a lot of customization, so you have several options.

For truly "hands (or feet) free" operation, you can get a midi device for your guitar like the fishman tripleplay. Set Setup->Accompaniment->Chords to "Full". BackupBand will follow your guitar. Of course this does limit you to playing chords. You can't play a solo because Full chord mode doesn't follow single notes.

Or you can get a 12 key pedalboard (C to C). Use "2 key" mode with the high C pedal as your "SplitNote" (Setup->Midi). A drawback is this limits backupband to major and minor chords.

Or get an 11 key pedalboard (C to B) with at least 5 additional buttons. Set Setup->Accompaniment->Chords to "MIDI Map" mode. Go to Setup->Midi page and double-click on "Chord" at the end of the list. Make the following settings:

Message: Controller
Number: 1
Mode: Range
Lower: 0
Upper: 127

Now when BackupBand receives a MOD Wheel, the wheel's value switches the pedalboard chords as so:
value 0 = Major
value 1 = minor
value 2 = dominant 7
value 3 = augmented
value 4 = diminished
value 5 = sus 4
value 8 = Major 7
value 9 = minor 7
value 11 = aug 7
value 12 = dim 7
value 13 = sus 7
value 16 = Major 9
value 17 = minor 9

Set your extra buttons to all send MOD Wheel controller (CC1). Set the first button to send mod wheel value of 0. That causes your 11 pedals to play major chords. Set the second button to send a mod wheel value of 1. That causes your 11 pedals to play minor chords. Set your third, fourth, and fifth buttons to send mod wheel values of 2, 8, and 9 respectively. That gives you the dominant, major, and minor 7.

So to play a C major chord, press button 1 and your C pedal simultaneously. (Actually, you don't have to be simultaneous. BackupBand knows you're an inferior human, and gives you some slack. You just need to press both, in either order. But to minimize any chord "glitches", try to be reasonably simultaneous).

Now you're chugging along playing all major chords on your pedals. At some point, say you want a G7. You've got to switch the pedals to dominant 7 chords, so press button 3 when you play the G pedal. Next you want an Am7, so press button 5 when you play the A pedal.

btw, you don't need to use mod wheel to switch chord type. You can use any midi message. For example, using note messages, you can buy a board with 16 pedals, and tell backup band to use the top 5 pedals to switch chords (instead of play pitches).

And if you more extra buttons/pedals, you can do suspended, 9th, augmented, and diminished chords.

Something to consider.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

tavasti
Established Member
Posts: 2047
Joined: Tue Feb 16, 2016 6:56 am
Location: Kangasala, Finland
Has thanked: 369 times
Been thanked: 208 times
Contact:

Re: BackupBand-idemic

Post by tavasti »

j_e_f_f_g wrote:
tavasti wrote:works great
I'm frankly surprised. Whereas the internal engine tracks great, my experience with linuxsampler was that tracking suffered from the extra latency. If I played a chord slightly late, I'd often hear a brief "glitch" as backupband resync'ed to me. My yamaha arranger keyboard actually does the same thing.
Ok, there might be some, but I wasn't listening that. I am not keyboard player, and my focus was on 'does that midi work'. So 'real use' might give different results.
j_e_f_f_g wrote:Note you can edit the styles to select the desired presets.
Personally, I find requirement for 44.1khz sample rate problematic, so internal engine of backupband is not optimal for me. I remember having problems with some of the devices with 44.1, but 48k works ok. Getting constant clicks on the sound when using 44.1k.
j_e_f_f_g wrote: For truly "hands (or feet) free" operation, you can get a midi device for your guitar like the fishman tripleplay. Set Setup->Accompaniment->Chords to "Full". BackupBand will follow your guitar. Of course this does limit you to playing chords. You can't play a solo because Full chord mode doesn't follow single notes.
I have Roland GR-33. Tracking sometimes gets ghost notes, and indeed that problem with solos. And target it to jam melody / solo over background. For two man setup, one rhythm guitar (controlling backup band) and solo guitar that might be option, but most likely keyboardist + guitar would result much better.
j_e_f_f_g wrote:Or you can get a 12 key pedalboard (C to C). Use "2 key" mode with the high C pedal as your "SplitNote" (Setup->Midi). A drawback is this limits backupband to major and minor chords.
Right now I have 5 button board (+ bank selectors). It sends program change, so it does not work directly, but my plan is to put mididings listening it, and sending suitable chords to backupband. That way, I can have 5 chords selectable, which is enough for novice jamming. For different set of chords, just launch mididings with different code. But let's see when I get there, I'm great in planning and lousy in implementation.

Sure, I have plan to build pedal board with more buttons. Back to that planning / implementation capabilities.

Unfortunately midi pedals are expensive (or at least over my budget), and they also are bit too big to fit into my room which is pretty crowded.
https://www.thomann.de/gb/fatar_mp113.htm

Linux veteran & Novice musician

Latest track: https://www.youtube.com/watch?v=ycVrgGtrBmM

brau
Established Member
Posts: 22
Joined: Sun Feb 19, 2017 6:02 am

Re: BackupBand-idemic

Post by brau »

j_e_f_f_g,

just tried this version ans it works like a dream. Thank you for the hard work.

Brau
User avatar
khz
Established Member
Posts: 1648
Joined: Thu Apr 17, 2008 6:29 am
Location: German
Has thanked: 42 times
Been thanked: 92 times

Re: BackupBand-idemic

Post by khz »

Cool THX!
Jam 8)
. . . FZ - Does humor belongs in Music?
. . GNU/LINUX@AUDIO ~ /Wiki $ Howto.Info && GNU/Linux Debian installing >> Linux Audio Workstation LAW
  • I don't care about the freedom of speech because I have nothing to say.
j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 357 times

Re: BackupBand-idemic

Post by j_e_f_f_g »

There's a new update. This one fixes a few bugs with midi input. Download update.zip at the link in my first post, for only the new executable. Otherwise, BackupBand.zip is the whole package.

There's also a new feature. When backupband detects you playing a chord, it lights up the root key on its onscreen piano, and tells you what chord you're playing. For example, if you play these notes:

F# G B

It lights up the G key on the piano, and the key displays G Major 7.

This works for song sheets too. (As the song sheet changes chords, the keys light. Play one of the song sheets to demo this feature).

Another is new options for "MIDI Map" chord mode, for people who want to map specific chords to midi controllers with buttons/switches. You can map a specific chord to a single button now. So for example, let's say you have a box with 5 buttons that spit out a Program Change message. (Listen up, tavasti).

Go to the Setup -> Accompaniment screen and set Chords to "MIDI Map".

Go to the Setup -> MIDI screen. There you'll see a list of 26 BackupBand functions you can control with your midi controller, starting with "Play" and ending with "Note trigger". To set a button/knob/switch to play a specific chord, you want the "Chord" function. Double-click on "Chord" in the list to edit its settings. Change them as so:

Code: Select all

Message: Program
Mode: Off
Lower: 0
Upper: 127
When you set Message: Program, also check that MIDI channel is set the same as your controller. Click the Ok button. If you see a warning message about overriding another setting, answer yes. Finally "Exit setup". (When you shutdown BackupBand, choose yes when asked to save changes.)

Now set your 5 buttons to send Program Change numbers as so:

Code: Select all

Numbers 0 to 11 play C Major to B Major
Numbers 12 to 23 play C Minor to B Minor
Numbers 24 to 35 play C7 to B7
Numbers 36 to 47 play C aug to B aug
Numbers 48 to 59 play C dim to B dim
Numbers 60 to 71 play C sus to B sus
Numbers 72 to 83 play C Major 7 to B Major 7
Numbers 84 to 95 play C Minor 7 to B Minor 7
Numbers 96 to 107 play C Major 9 to B Major 9
Numbers 108 to 119 play C Minor 9 to B Minor 9
Examples: Pgm #0 plays a C Major
Pgm #5 plays F Major
Pgm #86 plays D minor 7

p.s. backupband's "Transpose" affects the chords just like a capo. Set transpose +2 and those 3 chords become D Major, G Major, and E minor 7 for example.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

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

Re: BackupBand-idemic

Post by j_e_f_f_g »

tavasti wrote:requirement for 44.1khz sample rate problematic
Oh, if that's your basis for why you can't use the internal engine, then I've got good news for you. BackupBand's internal sampler is the same one as in my eDrummer app. (Basically, eDrummer tries to turn your computer into a MIDI drum kit which you play with midi drum pads). And E's version of my engine supports samples in either 44, 48, 88, or 96 KHz rate. So why doesn't BackupBand? eDrummer ships with 2 demo kits -- one at 44, and the other at 48. But BackupBand's included sample set is magnitudes bigger than eDrummer's 2 kits. I didn't want to go to the trouble of making several versions at different rates, especially since I didn't know if there was anyone who wanted that. (I don't personally have a need for it). But it would be very trivial to mod BackupBand to support 44,48,88,96. (Basically, about 10 minutes of work). It's making the needed sample set that is more involved. But I don't mind doing it now that I know there's someone who would use it.

So, I estimate sometime this week, you'll be able to test BackupBand at 48K.
tavasti wrote:5 button board (+ bank selectors). It sends program change, so it does not work directly, but my plan is to put mididings
Hold on there. With a slight mod to BackupBand's MIDI settings, you could easily and quickly do what you need. In fact, i just released an update that does this. See my post above.
midi pedals are expensive
You don't need anything with dynamic sensitivity. Momentary on switches are all you need. Those are cheap. And you can get circuit boards that have a row of pins for attaching such switches, and generating midi messages. Those are about $50. This should be an under $75 project.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

tavasti
Established Member
Posts: 2047
Joined: Tue Feb 16, 2016 6:56 am
Location: Kangasala, Finland
Has thanked: 369 times
Been thanked: 208 times
Contact:

Re: BackupBand-idemic

Post by tavasti »

j_e_f_f_g wrote: So, I estimate sometime this week, you'll be able to test BackupBand at 48K.
Hey, great!
j_e_f_f_g wrote:
tavasti wrote:5 button board (+ bank selectors). It sends program change, so it does not work directly, but my plan is to put mididings
Hold on there. With a slight mod to BackupBand's MIDI settings, you could easily and quickly do what you need. In fact, i just released an update that does this. See my post above.
Indeed, really great. Less things to fiddle between!
j_e_f_f_g wrote:
midi pedals are expensive
You don't need anything with dynamic sensitivity. Momentary on switches are all you need. Those are cheap. And you can get circuit boards that have a row of pins for attaching such switches, and generating midi messages. Those are about $50. This should be an under $75 project.
Gets even better. Any links or suitable search strings for such board? I have switches, but my plan was to implement that with arduino, but it need more code. If there is 'ready to run' board, I would get my project faster done.

If you would be bit closer & prettier I would kiss you! :-P

Linux veteran & Novice musician

Latest track: https://www.youtube.com/watch?v=ycVrgGtrBmM

dsreyes1014
Established Member
Posts: 166
Joined: Mon Dec 24, 2012 1:42 pm
Has thanked: 1 time

Re: BackupBand-idemic

Post by dsreyes1014 »

j_e_f_f_g wrote: But wait. If you order now, you'll receive a bonus level of customization, the BackupBand Source Code Configuration tool. For those who want to compile BackupBand, this tool allows you to easily customize BackupBand by choosing which features you want or don't want compiled in the binary executable itself. The tool then modifies the source code to compile only those features you want. This creates a version of BackupBand that is leaner, faster, and easier for you to use. You need to run this tool once only to customize BackupBand's source code. Every time you compile the source, you'll automatically get your custom binary version. If you update to the latest source code, your customization will automatically be applied to the new version.

If you later decide you'd like to restore a feature that you have removed, simply run the tool again to enable that feature.

To run the tool, open a terminal in the BackupBand folder (where the Makefile is) and type:

./configure.sh

Then just follow the instructions.
There is no Makefile in the folder.
j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 357 times

Re: BackupBand-idemic

Post by j_e_f_f_g »

dsreyes1014 wrote:no makefile in the folder.
The source code is packaged separately from the binary release (BackupBand.zip). To download the source, go to the "Code" page (https://sourceforge.net/p/backupband/co ... aster/tree) and click the "Download snapshot" button.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

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

Re: BackupBand-idemic

Post by j_e_f_f_g »

tavasti wrote:links for such board?
http://shop.lividinstruments.com/brain-jr/

That will do just about everything for you.
If you would be bit closer & prettier I would kiss you
I am pretty.
me1.jpg
me1.jpg (14.44 KiB) Viewed 3224 times
But I don't kiss on the first date. I do just about everything else though.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

unbracketed
Established Member
Posts: 4
Joined: Tue May 16, 2017 5:13 pm

Re: BackupBand-idemic

Post by unbracketed »

I am excited to try this software but am currently running into a bug during startup. I've tried both the release binary and building from source myself (configuration = everything).

When I start the program via

Code: Select all

./BackupBand
I see the message in the screenshot. Hit OK, a few seconds later receive a white fullscreen with "Setup" on top. Clicking on screen has no effect, clicking on the top "Setup" title bar appears to momentarily render some GUI and then the program crashes.
backupband-err.png
backupband-err.png (55.86 KiB) Viewed 3187 times
Here is what the terminal output shows. There is nothing output after starting the program and before hitting "OK" on the error message, everything comes after acknowledging error:

Code: Select all

~/code/backupband-code$ ./BackupBand 
connect(2) call to /dev/shm/jack-1000/default/jack_0 failed (err=No such file or directory)
jackd 0.124.1
Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details

JACK compiled with System V SHM support.
loading driver ..
apparent rate = 44100
creating alsa driver ... hw:PCH,0|hw:PCH,0|1024|2|44100|0|0|nomon|swmeter|-|32bit
configuring for 44100Hz, period = 1024 frames (23.2 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 32bit integer little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 32bit integer little-endian
ALSA: use 2 periods for playback
Ubuntu 16.04.3 LTS

Let me know if you'd prefer a ticket - I don't have a SF account and it wasn't clear if I'd have permissions to enter one.
j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 357 times

Re: BackupBand-idemic

Post by j_e_f_f_g »

I've made good on my threat. There is now a BackupBand version that supports 44k, 48k, 88k, 96k sample rates. But to actually use a rate, you must supply a set of samples at that rate. I going to provide 2 sample sets -- one at 44k, and the other at 48k. If you want to use the higher rates you'll have to convert one of those sets yourself (or provide your own samples).

The zip archive BackupBand.zip contains the executable, along with the 44k samples. The zip archive BackupBand48K.zip contains the executable, along with the 48k samples. Pick one or the other. If you want both versions, they must be in separate folders. For example, after unzipping the 48k version, rename the BackupBand folder to something like BackupBand48k. Then you can unzip the 44k version.

Folks already using the 44k version should download the latest BackupBand.zip after reading this post. It fixes one critical bug, and updates a couple instruments to better versions.

The Instruments.zip is extra optional instruments for the 44k version only.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

unbracketed
Established Member
Posts: 4
Joined: Tue May 16, 2017 5:13 pm

Re: BackupBand-idemic

Post by unbracketed »

I'm interested to try this out, but I get the same error whether running the latest release or building the source (Ubuntu 16.04.3 LTS):
backupband-err.png
backupband-err.png (55.86 KiB) Viewed 3187 times
After hitting OK it is a blank screen with "Setup" at top. Clicking on Setup flashes a GUI and then the program crashes.

Let me know if you'd prefer a ticket on SF, I don't have an account there yet.
Post Reply