PG Music Home
Posted By: StaffsLebowski Relationships between files - 04/17/17 09:35 AM
Hi Everyone,

I come from an IT background and it would really help me to understand how to use BIAB if I could understand how the various files (Styles/RealTracks/RealDrums) relate and work with each other.

Via the 'Copy List' buttons, I've exported the data for Styles/RealTracks/RealDrums and inserted the results into a spreadsheet and I'm just trying to work out the relationships between the 3 exports.

I'd also like to understand, the relationships between the styles loaded and the (seemingly random) variations each time I re-load the song or when I change key.

It's just the way my brain works. I like to know when I push a button, "From which file is that sound coming from?". And when it plays a variation "Why did it change? From which file did that come form? Can I specify a different file?" Etc, etc..

This is potentially a topic that could generate long replies, so any links would be helpful on the technical/database side of BIAB. On the off chance anyone comes from a Database background and produced a Flow/ER Diagram that would be the cat's whiskers...!

All the best, and many thanks for any pointers.

StaffsLebowski..
Posted By: Noel96 Re: Relationships between files - 04/17/17 12:41 PM
Hi Staffs,

Welcome to the forums.

In relation to your questions...

1. Realtracks are audio instrumental recordings of musicians playing many different chords and rhythms. What PG Music do is to map these chords and then, through copying and splicing various bits of the Realtrack, an accompaniment is created that's based on the chords entered on BIAB's chord sheet.

2. Realdrums are the drums equivalents of Realtracks.

3. A Style is a pre-assembled collection of Realtracks and Realdrums. When a style is loaded into BIAB, it will automatically load up to six different Realtracks (four would be the most common load) and a set of Realdrums. The selection of instruments and drums have been pre-chosen by PG Music as a compatible collection.

Hope this helps.

Regards,
Noel
Posted By: Noel96 Re: Relationships between files - 04/17/17 12:44 PM
In addition...

If you go to the below web page, you'll find some videos that might be useful.

http://www.pgmusic.com/videos.bbwin.htm

A number of these videos are recorded on earlier versions of BIAB. Even though they might not have the same user interface as today's version, the underlying principle that the clip discusses is relevant to BIAB today.
Posted By: Matt Finley Re: Relationships between files - 04/17/17 02:53 PM
I also taught database theory. Interesting question. And welcome to the forum.

Keep in mind a couple of things in your search:

1) RealTracks and RealDrums, and how they are created and deployed, is all proprietary info. We fellow users are only going to be giving guesses.

2) The randomness is artificial intelligence as deployed in music. Again, proprietary. It's like the Turing test: can you tell it's not what a person would decide to play? The randomness is a feature, desirable by many of us (the others will freeze the tracks if they want complete consistency).

Posted By: jford Re: Relationships between files - 04/17/17 03:26 PM
Let's start with a BIAB style file. It is the basis upon which every BIAB song is created.

Styles started out originally as strictly MIDI (until version 2008 there were no RealDrums or RealTracks). So styles were built using the StyleMaker (which you yourself can use to create your own MIDI styles). StyleMaker defined five instruments in your band, one of which was required to be drums, since that corresponded to channel 10 in the MIDI spec. StyleMaker lets you, among other things, define which MIDI instrument to use on a track, various riffs to play for both the "A" part and the "B" part, fills, rules as to when to play the various riffs, how often one riff should be played over another riff (based on a weighting), etc). Then the "engine" would intelligently select the riffs to play based on all that information. And with that you had a bass track, a drum track, a piano track, a guitar track, and a strings track (although except for drums, any instrument could be used for any of the tracks - there was no reason your style couldn't have two guitars and one of them just used the piano track). And for drums, the MIDI spec allows for different drum "sets", so you actually could have different types of drums on the drum tracks, but you couldn't put a piano part on it, as channel 10 was reserved for percussion sounds.

Then along came RealDrums. Each RealDrum plays various drum riffs, including fills, shots, and endings, and can be applied to an underlying (MIDI) style. Basically, the selected RealDrum overlays the MIDI drums in the style and replaces them. You can then save the style with that RealDrum definition and the next time you open that style, it will play that RealDrum instead of the MIDI drum. The sound you get from the RealDrum has no relation to the sound of the underlying MIDI drum style. Note that style files (from PGMusic) that start with a hyphen (-) are styles that have RealDrums, but the rest of the instruments are MIDI. When you select one of these, all but the drum tracks are processed by the MIDI style processor, and the drums are processed by the RealDrums processor, which picks out riffs independently of the MIDI style processor.

Then RealTracks. Each individual RealTrack plays a certain specific instrument and is processed by the RealTracks engine to play phrases according to your chord progression. It is capable to both time and pitch stretching to make it work. Like RealDrums, RealTracks must also overlay existing MIDI tracks in a style. So there is always an underlying style upon which RealTracks are substituted, and like RealDrums, the sound of the RealTracks has no relation at all to the sound you get from the underlying MIDI track. A style can contain either a mix of MIDI and RealTracks (and those style file names begin with an equals sign) or ALL RealTracks (with file names starting with an underscore).

But there is nothing to prevent you from opening a MIDI file and substituting any or all of the tracks yourself with whichever RealDrums and RealTracks you wish. However, doing it this way won't change the underlying style, it will just save your substitutions in the your SGU or MGU song file. The next time you select that underlying style, it's still going to the same original instruments. There is a command to save your current song configuration, however, as a user style.

A style with ALL RealTracks is called a RealStyle.

There are now also SuperMIDI tracks, which also overlay/substitute a track on the underlying MIDI style file, but are processed by a different engine than the standard style engine. I don't have the details, but my understanding is that they are recorded similarly to RealTracks and processed similarly, but instead of slicing/dicing audio files, they are doing that to MIDI phrases.

So your exported list of styles contains all the "style" (.sty) files you have, where each style file defines the instruments/riffs/sounds played on each of five tracks (bass, drums, piano, guitar, and strings), but again, it isn't limited to the name of the track. You could most definitely have a saxophone playing on a strings track.

NOTE: Track naming has been an ongoing discussion topic in the wish list forum, but I digress.

Then your RealTracks exported list is just the list of available RealTracks you can use to substitute on the various tracks. Likewise for the RealDrums list to subtitute on the Drum track of the overall style.

RealStyles just provide a way of easily selecting a "band" configuration that works together well, without having to do it yourself, although, you can just as easily (well, not so easily) do it yourself.

By the way, you can also substitute any MIDI track with a track from a different style file. And as I said, you can easily save your current configuration as your own style file, which you can then select for future songs.

Clear as mud?
Posted By: T2T Re: Relationships between files - 04/17/17 03:48 PM
Hi John.

I was wondering where specific file and folders "have to" be stored.
I have a 150G laptop but have run out of space to store it all.
I do have a 2T tower that I store a lot of unnecessary material for BB.
Which files can be stored on the tower, and still have BB function properly?

Trev
Posted By: jford Re: Relationships between files - 04/17/17 04:41 PM
Trev (T2T) -

When you install BIAB, you have the option of running it either from the external USB drive you received from PGMusic, or from your local hard drive. If you opt for the external drive, you still have to run the minimal install to ensure you get fonts and DX/DXi/VST/VSTi effects installed.

Pretty much everything in BIAB has to stay in the same place except for two things: RealTracks and RealDrums (the folder is named Drums). Both of those folders can be moved to a different drive location (or specified during installation), but you have to tell BIAB (and RealBand) where you installed/moved it to.

You didn't say if your 2TB tower was network attached storage or directly connected storage. It shouldn't really matter, but you should get better performance with directly connected storage, since it's on the computer bus.

But everything except RealTracks and RealDrums needs to be in the same place as received.

The only other flexibility you have with BIAB is for Style files. Style files can either be located in the main BIAB folder (e.g. C:\BB), or in a subfolder under BB called Styles. That doesn't help with disk storage, however, but does allow a little better management of styles. For example, I keep all the styles provided by PGMusic in the main BIAB folder, and then store user-created and downloaded web-styles in the Styles folder.

Hope that helped.
Posted By: Matt Finley Re: Relationships between files - 04/17/17 04:43 PM
Trev, "tower" to me means a desktop computer, but I suspect you might refer to a bank of hard drives? Could you clarify please?

In general, very few files need to be on your boot drive. There are 7 or so fonts, very tiny, and maybe a few other small things. Everything else in BIAB can reside on and run from another drive, including the USB drive PG Music ships some versions on, or your own external drive. I don't know if it would work on a networked drive, which might be what you are considering. If that's the case, it might take a call to PG Music Support to determine.

EDIT: John already covered this. He correctly added virtual instruments and effects. In my case, I did the 'minimal' install and I have the RealTracks and RealDrums on a separate hard drive. Works great and doesn't fill my SSD boot drive. Actually, I went one step further and put the system files (everything else) on a separate SSD drive. It flies.
Posted By: StaffsLebowski Re: Relationships between files - 04/18/17 07:43 PM
First of all, let me say a big thank you to all for taking the time to reply. Time is a precious things so thanks for freely giving me some of yours..

Noel96:<<If you go to the below web page, you'll find some videos that might be useful.>>

Are you referring to a specific video that relates to my question? If so, can you tell me which one you recommend I watch?

Matt Finley:<<I also taught database theory.>>

Great! That makes it so much easier to explain some things (and hopefully get some answers). For me, when I'm new to a software system, the first thing I ask for is the ER Diagram to help me find my way around. (For those of you who are not from a database background, an ER Diagram is similar to an architects drawing). Understanding how the files are connected helps me to understand how to use the program. It's just the way my brain works..

<<The randomness is a feature, desirable by many of us>>

I agree it's desirable in some circumstances but, I have 4 bars of guitar, playing an F#m7 with a nice riff. For some reason, sometimes on bar 3 or 4, BIAB substitutes the original riff in bars 1 and 2, and plays something different in bars 3 and 4. That's may be a great feature in some circumstances but, I was very happy with the riff in bars 1 and 2 and didn't want it to change in bars 3 and 4.

JFord:<<your exported list of styles contains all the "style" (.sty) files you have, where each style file defines the instruments/riffs/sounds played on each of five tracks (bass, drums, piano, guitar, and strings)>>

If each Style (.sty) can have many 'elements' (ie: instruments, RealTracks, drums etc), do you know where I can get a list of those individual elements for each style? In the StylePicker form, there's a 'memo' box in the bottom left corner that details these elements, so, the information is available, somewhere.. Maybe this memo is stored in a separate file as it's not included in the export.

One again, thank you for your time and input,

Kind regards,

Staffs Lebowski..
Posted By: Matt Finley Re: Relationships between files - 04/18/17 10:03 PM
Let me address the riffs example. RealTracks are small audio files of 1, 2, 4 or 8 bars (to my knowledge). So let's say you have a chord symbol and it's the only one for 8 bars. BIAB will try to find an 8 bar phrase. If you wanted to increase the likelihood of repeating a 2 bar phrase, then you would repeat the chord every two bars. No guarantee, but if you regenerate often enough, it might repeat the riff.

If you open the song in RealBand, you can regenerate a phrase, not just the whole track. Or, copy and paste those two bars as you would in any DAW.
Posted By: StaffsLebowski Re: Relationships between files - 04/19/17 05:00 AM
Hi Matt,

So if I understand you correctly, it's probably a 2 bar clip I'm hearing and BIAB is using a different 2 bar clip for bars 3 and 4. So, is it possible to identify the file that's playing in bars 1 and 2?

Kind regards,

Staffs Lebowski
Posted By: Matt Finley Re: Relationships between files - 04/19/17 10:53 AM
Correct. That's my guess.

To identify the file, I think you would have to go into the appropriate RealTrack folder and audition each file.
Posted By: Matt Finley Re: Relationships between files - 04/19/17 10:55 AM
Another approach: now that it is possible to construct your own RealTracks (called UserTracks), you could take that 2-bar clip you like, replicate it, and make it into a UserTrack.

Or, you could make it into a Loop file. BIAB can use those, too.

Of course, either action uses BIAB as a strict sequencer, something a DAW could do, since it eliminates the randomness, or artificial intelligence that is varying the backgrounds. Remember what BIAB was designed to do: provide accompaniment, in as realistic a way as is possible with a computer.
Posted By: jford Re: Relationships between files - 04/19/17 11:43 AM
Quote:
If each Style (.sty) can have many 'elements' (ie: instruments, RealTracks, drums etc), do you know where I can get a list of those individual elements for each style? In the StylePicker form, there's a 'memo' box in the bottom left corner that details these elements, so, the information is available, somewhere.. Maybe this memo is stored in a separate file as it's not included in the export.


That would be something PGMusic would have to answer. Since much of the style information that appears in the Style Picker from the PGMusic provided styles (versus user styles and tracks) is hard coded either somewhere into the program, or in a binary file (as I haven't found a text file), I don't know if StylePicker has the memo field pre-populated with the instrument information, or if it builds the memo field when it scans the style files (when you run a rebuild of the style picker).

Sorry I couldn't be of more help there.
Posted By: StaffsLebowski Re: Relationships between files - 04/19/17 01:04 PM
Then I guess the following statements are true?

1: It's not possible to identify the exact clip that is playing a certain phrase, without auditioning all the sound files for that RealTrack.

2: And even if you could identify from which sound file the phrase you like originates, it isn't possible to instruct BIAB to use that phrase when you want to.

I must admit, I need some time to get my head around this one. On the one hand, the software randomly gives you different variations which is great for auditioning different arrangements for your song but, on the other, it feels at the moment like my hands are tied when you're not able to precisely 'pick and choose' what you want.

So, I guess I'm going to have to use those work around's that you mentioned. I'm not sure precisely how make a "2-bar clip, replicate it, and make it into a UserTrack" as I've only been a BIAB user for a few weeks but I'm sure I'll work something out with a bit of study.

Thanks again Matt..
Posted By: jford Re: Relationships between files - 04/19/17 01:34 PM
BIAB has always been designed such that it gives you variations each time it plays, much like a live musician would.

If you want static riffs, then you would do better to work in RealBand. In RealBand, whatever gets generated plays exactly the same unless you regenerate a part (and you can just highlight the part to regenerate, so it doesn't have to be the whole track).

Just the way it is.
Posted By: StaffsLebowski Re: Relationships between files - 04/19/17 03:07 PM
Hi JFord,

I've had a good look round the BIAB files and I cant find where to get the information that's contained in the memo box. As you say, maybe the memo box is generated 'on the fly'? One things for sure, it's not a 'trade secret' why it's not accessibler, just the fact that you can't easily access it (unless you want to Copy/Paste) all 2000+ memos!)

Regards and thanks for your input.

Staffs Lebowski..
Posted By: Matt Finley Re: Relationships between files - 04/19/17 03:33 PM
This is just a guess, but I suspect the information you seek is in the ST2, ST3, STX and XT2 files. As John said, they are not text files and there is no editor for them.
Posted By: jford Re: Relationships between files - 04/19/17 03:34 PM
A lot of the style information used be in a file called BBW.LST (along with additional information for each style which I understood was actually hard coded into the application). I believe they do it differently now (especially with the new style picker), but unfortunately, I haven't delved too deeply into it (too many other things going on).
Posted By: Matt Finley Re: Relationships between files - 04/19/17 03:39 PM
By the way, since you are studying how everything works, this is some basic info about the song file types, from FAQ #85.

85. Explain the different file extensions that Band-in-a-Box® uses for song files.

Band-in-a-Box® song files end in a ?G? file extension.

If the song has a melody, the extension begins with an 'M'. If the song doesn't have a melody, it begins with an 'S'.

The second letter of the extension is always a G.

The third letter refers to the style that the song uses. 1-9 and A-N refer to the original "built-in" styles (for example, ZZJAZZ.STY, ZZWALTZ.STY) and U refers to a "User" style (actually, any other style).

Example 1: MySongTitle.MGU

The M tells us that the song has a melody.

The G is always present in song names telling us that it is a song.

The U tells us that the style is a user style.

Example 2: MySongTitle.SG1

The S tells us that the song doesn't have a melody.

The G is always present in song names telling us that it is a song.

The 1 indicates that the song uses Style #1, which is Jazz Swing (ZZJAZZ).

Another song file you may encounter is MGX. This refers to songs that contain an entire MIDI file on the Melody track. For example, if you had used File | Open MIDI file (Band-in-a-Box® 2004 or later), or the MIDI file Style Wizard (Band-in-a-Box® 12 and later).

The song files are quite small. This means that you can store hundreds or thousands of songs without using up too much of your hard drive space.
Posted By: MarioD Re: Relationships between files - 04/19/17 03:52 PM
Originally Posted By: StaffsLebowski


So, I guess I'm going to have to use those work around's that you mentioned. I'm not sure precisely how make a "2-bar clip, replicate it, and make it into a UserTrack" as I've only been a BIAB user for a few weeks but I'm sure I'll work something out with a bit of study.

Thanks again Matt..


I would bring the whole track that has the 2-bar section that you like into your DAW.

Then copy that 2-bar section and paste it exactly where you want it in another track or if your DAW allows copy and paste over existing sections then do it that way. In both cases make sure you backup your song prior to trying this. This is exactly how I do it in my DAW Sonar. IMHO it is the fastest way to do this.
Posted By: rharv Re: Relationships between files - 04/19/17 08:22 PM
In the original post you mention wanting to know how to do this in BiaB. The short answer is you can't, at least not how you describe.

As mentioned by others; try Realband. Generate your basic structure in BiaB, then open the same file in Realband (you probably have it included if you have a version from the last 12 years).
Then you can copy/paste what ever sections you want to another track easily (to save them and use them when you want). As an IT guy you may even like it's flow better. I do.

You can whittle down and generate just sections of any track(s) you want to. You can choose to leave the blue tracks as BB tracks so they generate every time or make them regular tracks so they only regenerate when you tell them to, different options and different workflow, but many of the same features.

A few people mentioned using a DAW; Realband acts much more like a DAW but retains the BiaB generating features. This is big for some people.
Posted By: StaffsLebowski Re: Relationships between files - 04/20/17 04:38 AM
JFord: <<A lot of the style information used be in a file called BBW.LST. I believe they do it differently now>>

Yes, I think you're right. I examined this file and A: It does not contain all styles and B: It does not tell you which instruments are available for each style.

<<StaffsLebowski: Maybe this memo is stored in a separate file as it's not included in the export. JFord: That would be something PGMusic would have to answer. >>

I've sent an email to Support, I'll see what they say and post back their answer.

If I can export the StyleList and have all asscociated Tracks listed with that Style, that would be useful (to me). It means I can look down at Styles and Track/Instruments from a 'birds eye view' which gives me a clearer picture of Styles and Tracks. The uses for this information is, useful in many ways.

Matt Finley: <<This is just a guess, but I suspect the information you seek is in the ST2, ST3, STX and XT2 files. As John said, they are not text files and there is no editor for them.>>

I've also taken a look in those files and I can't see the information, as you say, no editor.

<<By the way, since you are studying how everything works, this is some basic info about the song file types, from FAQ #85. >>

Thanks Matt. I did come across an earlier post of yours that explained this. It's been filed accordingly and to be digested!

Mario D: <<I would bring the whole track that has the 2-bar section that you like into your DAW.>>

Thanks for the suggestion. That's the next thing I will try.

rharv: <<As mentioned by others; try Realband>>

I was hoping I could avoid RealBand. I've invested a substantial amount of time into MixCraft and was hoping I didn't have to learn another DAW. However...

<<Realband acts much more like a DAW but retains the BiaB generating features.>>

OK, that sounds a compelling argument to give it a go!

JFord: <<BIAB has always been designed such that it gives you variations each time it plays, much like a live musician would.>>

Which finally brings me full circle to JFord's comment. If I were a producer cutting a record, I'd say "Hey, that variation's great, but, can you please stick to the one riff that I like?". Naturally it's great to hear variations but eventually you find something you like and you want to stick with it.

For sure, the phrase I want is only 2 bars. I need it to last 4 bars. So, maybe this is the workflow:

1: Create a 2 bar song
2: Freeze the track (to keep the correct variation)
3: Export to a DAW
4: Copy/Paste to make 4 bars
5: Bring it back into BIAB

(NB: No need to answer this one, this is just me working it out in my head..)

Which brings me back round again to one of my previous posts (and this thread in general) which is, it'd be nice to be able to 'see' where things are and how to identify and isolate them so you have true control over the various aspects aspects of your composition.

Thanks again everyone for your contributions.

Staffs Lebowski..
Posted By: Guitarhacker Re: Relationships between files - 04/20/17 08:20 AM
Your best bet, if it plays something you really really like, in a RT, is to freeze that track and or export it before you do any sort of regeneration.

You can also regenerate that same RT multiple times and save each one in a DAW or in Real Band.

I find that BiaB is the one that recreates the tracks when you change something. When I work in RB, the tracks I generate are fixed and don't change with every regen. I regenerate only if I don't like the track in RB. ANd like I said, I will sometimes generate 3 to 5 instances of the same track. They are all different as you have observed.

I, and others use this to create parts in songs. The piano fills and the guitar solo in THE BEST CHRISTMAS on my music page were done this exact way. 3 pianos and 5 guitars from the same track/style mixed and edited in a DAW.
Posted By: StaffsLebowski Re: Relationships between files - 04/20/17 06:13 PM
So, in response to my question with PG Support:

Staffs Lebowski: "On the StylePicker form, in the bottom left hand corner, there is a memo box that highlights the various details of a style. I would like to know, for a selected style, is it possible to determine the Real Tracks/Instruments/Drums etc, that are assigned to a style."

PGMusic: "Those memos are generated automatically within the program itself, so unfortunately there is no external file to access to find that information."

Another tidbit of information guys to add to your knowledge of BIAB..

Regards and thanks for all your input,

Staffs Lebowski..
Posted By: jford Re: Relationships between files - 04/20/17 06:28 PM
Track information is contained within each style file, so I suspect that the StylePicker reads it on the fly when it rebuilds the StylePicker list.
© PG Music Forums