You need to be logged in to post on the forum
Topic Options
Index
#24217 - 05/24/09 08:02 AM [Band-in-a-Box for Windows] Question for the experts
MartinB Offline
Veteran

Registered: 07/14/00
Posts: 4859
This is a question related to the rendering of midi signals. At times BiaB yields strange results when playing back its arrangements. Usually midi notes do sound during their midi duration. However, at times they do sound substantially longer. Why?

Here is how to reproduce this finding:
Load the demo song of Jazquint.sty. Set Guitar to solo such that you hear exclusively the guitar track; potentially reduce the tempo to s.th. like 60. Turn the chord Dm7 in the second bar to a shot. Press play and focus on the guitar notes of the Dm7 shot. Various synthies now yield different results. VSC DXi makes the guitar notes sound exactly during their midi duration here. Forte DXi and GS Wavetable, however, make these notes sound substantially longer - effectively botching a shot effect.

Now comes a related question.

With the style Jazquint.sty a typical guitar pattern are strums at each beat. Typically these strums are notated with respect to the respective midi durations -> long-short-long-short (long refers to durations of about 0:100, short is typically s.th. around 0:20). At times, though, some bars show up with midi durations short-short-short-short. At those bars the synthies create the following puzzling patterns -> Forte DXi: mostly long-short-long-short and sometimes even long-long-long-long, VSC DXi: long-short-long-short, Wavetable: long-short-long-short.

Why do different synthies create different renderings with respect to note durations?

Why do some synthies create long-short sounds with notes of durations short-short?
_________________________
Martin

Top
#24218 - 05/24/09 08:37 AM [Band-in-a-Box for Windows] Re: Question for the experts [Re: MartinB]
John Conley Offline
Veteran

Registered: 09/28/03
Posts: 8333
Loc: London, Ontario, Canada
Dare I guess reverb in the samples?
_________________________
John Conley
Musica est vita

Top
#24219 - 05/24/09 09:27 AM [Band-in-a-Box for Windows] Re: Question for the experts [Re: John Conley]
MartinB Offline
Veteran

Registered: 07/14/00
Posts: 4859
Oh well, some inspection with the midi monitor reveals that there are a bunch of sustain controllers floating around with the midi data created by this style. Those song positions that create long sounding notes even if the note durations are rather short are accompanied by some non zero sustain controller values. Typically these values are indeed 127. That seems to account for long sounding notes with short midi durations.

Now, why do different synthies create different outputs?

In the second bar with the shot, the notes start out with a sustain controller value 127. At the end of the note durations the sustain controller value is turned to 5, not to zero.

Apparently different synthies react differently to sustain controller values, such a 0 correnponding to 'off' and any value different from 0 may correspond to 'on'. The VSC DXi seemingly takes a value 5 just as this value, thus effectively switching off sustain.

That is an interesting problem that popped up recently over at the German forum ...
_________________________
Martin

Top
#24220 - 05/24/09 10:20 AM [Band-in-a-Box for Windows] Re: Question for the experts [Re: MartinB]
Mac Offline
Veteran

Registered: 05/29/00
Posts: 38502
Loc: Chesapeake, Virginia USA
Yes, different devices do indeed respond differently to MIDI controller 64 (sustain).

The 5 is not generally a problem, though, as the vast majority of GM synths use the 0-127 CC as a "bang-bang" and not a continuous action, typically defining the dividing point between Pedal Up and Pedal Downs at the halfway mark, or 064. (Here's where guys like Gary will chime in about their special Sustain Pedal situation, which is programmed to emulate half-damper action. You can get it, but it is going to cost you more money, whether hardware like Gary's piano or software as in some of the high end piano modeling synths. )

So the 127 is a Pedal Down and the 5 represents a Pedal Up. This is a common MIDI programming practice when creating a MIDI file for use with different GM synths because there exist some synths that don't like going all the way to zero, can't recognize it ("1-based" synths, for example). So setting the Controller for a number slightly above zero makes sure that every possible situation can be handled with the same setting, "5" or "3" being the same action as zero anyway.

The situation can be further exacerbated by certain software synths and their implementation, too. It is customary if not de rigeur to not send MIDI Note Off data in a MIDI file. Even though the original MIDI standard includes Note Off commands, it was found early on that the inclusion of the Note Off commands was superfluous for the most part, bloating the size of MIDI files needlessly when the MIDI Note Duration command literally does the same thing as a Note Off command placed at the end of every single note in a file. But there are indeed certain times when certain softsynths, particularly those of the DXi persuasion, will miss the Note Duration data point, causing longer or shorter notes, often causing the "hung note" situation, particularly on Pad tracks such as strings, synths or organs. That bug has been reported here numerous times. I have never found a cure for the situation other than to switch to a good hardware MIDI synth, where none of this has ever occurred here.

As for CC64 being used on guitar parts, I try to avoid that situation in my own MIDI sequences, simply because the real guitar has no sustain pedal in the first place. That is really something only the Piano, and a few other percussion instruments have in real life. Harp, etc. Still, even given that, the use of the Sustain CC64 is with us forever more than likely, especially in those downloaded-for-free MIDI files that are so ubiquitous. The funny thing about that situation and human nature is that almost everybody will blame the host program they use or the developers of the host -- and never the free downloaded MIDI file from an unknown stranger that they are trying to get to act right.


--Mac
_________________________
PGmusic FAQs, Tutorials and Updates! click here

You must be Audiominds.
www.audiominds.com

Top
#24221 - 05/24/09 11:53 AM [Band-in-a-Box for Windows] Re: Question for the experts [Re: Mac]
MartinB Offline
Veteran

Registered: 07/14/00
Posts: 4859
I read you Mac, yet here we have a pure BiaB setting - not talking about some downloaded midi files; it's all about the midi data created by BiaB.

The CC#64 controller value was probably a misleading trace anyway. Shifting the guitar track to the melody and editing the suspicious sustain controller value 5 down to 0 does not change anything with the strange playback behavior. Now what?

Maybe some soul from PG Music might chime in here ...
_________________________
Martin

Top
#24222 - 05/24/09 11:56 AM [Band-in-a-Box for Windows] Re: Question for the experts [Re: Mac]
Fred B Offline
Journeyman

Registered: 06/03/04
Posts: 403
Quote:

The situation can be further exacerbated by certain software synths and their implementation, too. It is customary if not de rigeur to not send MIDI Note Off data in a MIDI file. Even though the original MIDI standard includes Note Off commands, it was found early on that the inclusion of the Note Off commands was superfluous for the most part, bloating the size of MIDI files needlessly when the MIDI Note Duration command literally does the same thing as a Note Off command placed at the end of every single note in a file.



Mac,

I've never heard of a "MIDI Note Duration" command..
Can you please explain in more detail? How is it defined in the MIDI standard?

Thanks.

Top
#24223 - 05/24/09 12:06 PM [Band-in-a-Box for Windows] Re: Question for the experts [Re: Fred B]
Mac Offline
Veteran

Registered: 05/29/00
Posts: 38502
Loc: Chesapeake, Virginia USA
Note Duration is defined by number of MIDI Clock Ticks.

If you investigate using something like Event List viewer or the like, you should find that the majority of MIDI files do not contain Note Off data, only Note On and then the Duration data. This is contained in one parcel and thus there is no need to send a separate Note Off and time, which is another line of data.

MIDI standard is getting a bit long in the tooth, but it is what we have. Some of the ideas that the MIDI Manufacturer's Association first agreed upon way back when at the design tables turned out to be not so wonderful after all. Still, they did a pretty good job of it, considering. I often find myself wishing for a new standard that would encompass a few more musical parameters than what the current thing can yield. As it is, we spend time creating "illusion" more than anything else. Or -- if something doesn't work, try doing something else instead kind of thing.

Check out the Event List View to see the Note On and its Duration value.

Then look for any Note Off data...


--Mac
_________________________
PGmusic FAQs, Tutorials and Updates! click here

You must be Audiominds.
www.audiominds.com

Top
#24224 - 05/24/09 12:25 PM [Band-in-a-Box for Windows] Re: Question for the experts [Re: Mac]
Fred B Offline
Journeyman

Registered: 06/03/04
Posts: 403
Quote:

If you investigate using something like Event List viewer or the like, you should find that the majority of MIDI files do not contain Note Off data, only Note On and then the Duration data. This is contained in one parcel and thus there is no need to send a separate Note Off and time, which is another line of data.



Well, the event list of sequencers in general don't show the raw MIDI commands of the file but just a compact and readable interpretation. But when looking directly at the MIDI file with a MIDI-to-Text converter you'll see the original Note Off commands (usually Note On with velocity 0).


Top
#24225 - 05/24/09 12:26 PM [Band-in-a-Box for Windows] Re: Question for the experts [Re: Mac]
MartinB Offline
Veteran

Registered: 07/14/00
Posts: 4859
The Event List displays Duration values, the Midi Monitor does not. The Midi Monitor lists a bunch of Note On commands with pertinent velocity values. A velocity value=0 is equivalent to a Note Off command.

This recalcitrant Jazquint style defeats a lot of velocity=0 commands, though ...
_________________________
Martin

Top
#24226 - 05/24/09 12:51 PM [Band-in-a-Box for Windows] Re: Question for the experts [Re: MartinB]
Fred B Offline
Journeyman

Registered: 06/03/04
Posts: 403
The inconsistent behavior may be due to overlapping notes. I've noticed that different synths behave differently in this regard. If you have a sequence like this

Note On C5 ----- Note On C5 ----- Note Off C5 ----- Note Off C5

some synths stop immediately at the first Note Off while others require the second one (ie. matching number of Note Ons and Note Offs).


Top
#24227 - 05/24/09 01:38 PM [Band-in-a-Box for Windows] Re: Question for the experts [Re: Fred B]
Mac Offline
Veteran

Registered: 05/29/00
Posts: 38502
Loc: Chesapeake, Virginia USA
Quote:


NOTE ON and NOTE OFF Commands

By far the most common command blocks are the NOTE ON and NOTE OFF commands. A NOTE ON command might contain the following hexadecimal byte sequence:

0x92 NOTE ON, Channel 2
0x3C Pitch = Middle C
0x40 Velocity = 0x40

The hexadecimal value 92 identifies a NOTE ON command for Channel 2. Next, hexadecimal data byte 3C is a pitch (frequency) value corresponding to Middle C on the piano. Notes are assigned integer pitch values, increasing with frequency. There are 12 intervals in an octave, so adding or subtracting 12 (decimal) to a sequence of pitch values would raise or lower the pitch by one octave.

The last byte value of 0x40 indicates a turn-on velocity of 64, decimal. Actually, many keyboards don't use the velocity value at all, but simply use a fixed turn-on and turn-off velocity.

Now let's look at the NOTE OFF command. A typical NOTE OFF command block might appear as:

0x81 NOTE OFF, Channel 1
0x3C Pitch = Middle C
0x40 Velocity = 0x40

Here the bytes represent a NOTE OFF status word on Channel 1, a note pitch of 0x3C (Middle C again), and a turn-off velocity of 0x40.

Implicit NOTE OFF commands

A special case of the NOTE ON command allows it to be interpreted as a NOTE OFF command. This is true whenever the velocity value is zero: a zero-velocity NOTE ON command always equals NOTE OFF for the indicated pitch value.





(emphasis added)

The latter case above is now the defacto method for most cases. For reasons already given, but look at it like this: All Note On data is leaner and meaner than interspersing the Note Off strings. It is faster and demands less state change events.

This also depends on the coding of the software you use to view the MIDI data, though. Some will imply the Note Off that really isn't there, kind of like a smart filtering or interpretation situation. It may be necessary to be able to look at the raw MIDI data in order to see the real.


--Mac
_________________________
PGmusic FAQs, Tutorials and Updates! click here

You must be Audiominds.
www.audiominds.com

Top
#24228 - 05/24/09 06:41 PM [Band-in-a-Box for Windows] Re: Question for the experts [Re: MartinB]
Fred B Offline
Journeyman

Registered: 06/03/04
Posts: 403
Quote:

This recalcitrant Jazquint style defeats a lot of velocity=0 commands, though ...



So I have looked at the exported MIDI file with a special editor to inspect the raw data. It turns out that on the guitar track on each beat the complete chord is generated *multiple* times with an offset of some ticks, and for each of these chords all but one Note On are immediately followed by a Note Off (velocity=0). Thus a strum effect is created but the method seems questionable. I'd suspect that sending Note On and Note Off with same pitch on the same tick may confuse some synths.


Top
#24229 - 05/24/09 07:53 PM [Band-in-a-Box for Windows] Re: Question for the experts [Re: Fred B]
MartinB Offline
Veteran

Registered: 07/14/00
Posts: 4859
What special editor did you use?

I have only access here to the event list and the midi monitor of BiaB or RealBand. Looking closer at those data I might have a clue now of what is going on here:

While in an above post I assumed that the CC#64 business might be a blind alley, it appears definitely to play a role. I was led to thinking it doesn't play a role, because setting the above mentioned CC#64 value from 5 to 0 didn't seem to change anything. Now, that holds true for the Forte DXi only - which was the active synth when I tried this exercise. Checking on the effect of setting a CC#64 value from 5 to 0 with either Wavetable or VSC DXi does, however, create results, which one would expect -> a nice shot and otherwise nice strumming patterns throughout the style.

So, why does Forte DXi seemingly botch this strumming exercise?

Looking at the Event list, it appears that the Forte DXi holds notes despite of some CC#64 value=0, supposed to silence played notes, whenever such a CC#64 command happens to show up after some note off command was issued. Most of the time this style creates CC#64 value=0 commands shortly before a pertinent note off command. In these circumstances the notes stop sounding with the Forte, VSC and Wavetable. Sometimes such a CC#64 value=0 command is issued slightly after such note off commands. In these instances VCS and Wavetable do silence notes anyway, however Forte keeps those notes sounding, thus compromising this style.

Weird ...
_________________________
Martin

Top
#24230 - 05/24/09 08:32 PM [Band-in-a-Box for Windows] Re: Question for the experts [Re: MartinB]
Mac Offline
Veteran

Registered: 05/29/00
Posts: 38502
Loc: Chesapeake, Virginia USA
Sounds like the Coyote Forte may be programmed to accept any value above zero as Pedal Down...
_________________________
PGmusic FAQs, Tutorials and Updates! click here

You must be Audiominds.
www.audiominds.com

Top
#24231 - 05/24/09 08:39 PM [Band-in-a-Box for Windows] Re: Question for the experts [Re: MartinB]
Fred B Offline
Journeyman

Registered: 06/03/04
Posts: 403
Quote:

What special editor did you use?



It's a self-made program written in Java.

As a Mac user I can't check the synths you're using but I still think the basic problem is that BiaB generates note on commands immediately followed by note off commands. This may result in timing issues with note management and sustain handling of some synths.


Top
#24232 - 05/24/09 09:38 PM [Band-in-a-Box for Windows] Re: Question for the experts [Re: Fred B]
Mac Offline
Veteran

Registered: 05/29/00
Posts: 38502
Loc: Chesapeake, Virginia USA
What Fred B says makes sense.

Matter of fact, there is even a command in the global Prefs, "Send extra Note Offs" -- I presume that is to handle stuck synths.

You might check to make sure you don't have that one st to true...


--Mac
_________________________
PGmusic FAQs, Tutorials and Updates! click here

You must be Audiominds.
www.audiominds.com

Top
#24233 - 05/25/09 05:48 AM [Band-in-a-Box for Windows] Re: Question for the experts [Re: Mac]
MartinB Offline
Veteran

Registered: 07/14/00
Posts: 4859
Quote:

Sounds like the Coyote Forte may be programmed to accept any value above zero as Pedal Down...



Forte DXi keeps pedal down even with CC#64 value=0, if this command is issued after a note off command.
If CC#64 value=0 is issued before a note off command, the note gets silenced after its duration.

Appears to be a timing issue and may well be a bug with the Forte Software.
_________________________
Martin

Top


PG Music News
Video - Audio Driver Setup Tutorial for Band-in-a-Box® 2018 for Windows

Watch this video for a quick tutorial on setting up your audio drivers in Band-in-a-Box® 2018 for Windows! Video link: http://www.pgmusic.com/?vid=t0_CHbjWrLA

Video - Band-in-a-Box®: Count-in & Metronome Tutorial

Our latest video release is our Band-in-a-Box®: Count-in & Metronome Tutorial! By default, Band-in-a-Box® has a two bar count-in. Watch this tutorial for a quick explanation of all the options available within this feature! Click here to watch...

#TipTuesday - Adding Motion and Dynamics to your String Tracks

Join our forum, and you'll be surrounded by some AMAZING Band-in-a-Box users! Like DeaconBlues09, who recenty shared their own "Tip" to our Tips & Tricks forum - check it out! Post: Adding motion and dynamics to your string tracks

Thanks for sharing, DeaconBlues09!

Band-in-a-Box 2018® pour Mac - French Release!

Nous avons été très occupés à travailler sur Band-in-a-Box® durant l'année 2017, celà s'est traduit par la création de plus de 50 nouvelles fonctionnalités ainsi que l'apport d'une incroyable collection de nouveaux contenus, à savoir: des RealTracks, des SuperTracks MIDI, des Études d'Instruments, des Boucles, des Prestations d'Artistes, des Préréglages Amplitube et styles associés, des RealTracks dans les 12 tonalités et une Notation Guitare Hi-Q!

http://www.bandinabox.com/bb.php?os=mac&lang=fr

Band-in-a-Box® 2018 für Mac - German release!

Wir waren fleißig und haben über 50 neue Funktionen und eine erstaunliche Sammlung von neuen Inhalten, mit RealTracks, MIDI SuperTracks, Instrumental Studien, Loops (Schleifen), Künstler Performances, Amplitube Presets und dazugehörenden Styles, 12-Tonarten RealTracks und Hi-Q Gitarren Notation, hinzugefügt!

www.bandinabox.com/bb.new.php?os=mac&lang=de

Video - Activating Band-in-a-Box® for Mac®

Band-in-a-Box® 2018 for Mac® comes with your own unique activation code that you must add to the program within 30 days. Not sure how? Watch this quick video: http://www.pgmusic.com/?vid=RI1rK19uXIs

Write a Song with Xtra Styles PAK 5 for a Chance to WIN!

You could WIN $150 PG Bucks when you enter our Xtra Styles PAK 5 Song Contest!

All you need to do is add Xtra Styles PAK 5 to your Band-in-a-Box® 2018 library (on sale for just $29 until August 31st!), write a song using one if the 160+ professionally mixed styles included, and submit it to our Xtra Styles Contest! Songs submissions are accepted until September 30th - with the 4 winners being announced in early October!

Click here for complete contest rules and information.

Learn more about Xtra Styles PAKs: Windows | Mac

Forum Stats
27840 Members
51 Forums
53044 Topics
440409 Posts

Max Online: 2434 @ 11/14/17 12:37 AM
Newest Members
Guitarrocks, helmut_K, Jerome1968, jfrances, LatinoMike

27840 Registered Users
Top Posters (30 Days)
Al-David 141
David Snyder 140
MarioD 121
Noel96 119
Janice & Bud 113
animarorecords 98
Matt Finley 96
Greg Johnson 91
Deryk - PG Music 91
beatmaster 88
Today's Birthdays
No Birthdays