I'm working on a little MIDI VST plugin that will generate a real-time guitar/bass fretboard display of the notes being played. What makes it different from pretty much every other fretboard visualizer that I've seen is that it shows the notes played in all possible positions simultaneously, serving as an educational tool to learn how to play the same thing in multiple positions. The user can customize the number of strings on the instrument and the tuning. Hopefully some people will find it useful. I'm planning to use it for a series of guitar lesson videos on YouTube.
Here's a simple example of my VST in its current early alpha form. This is a test with a simple example MIDI file I cooked up:
It's working pretty well so far, so I decided to export some MIDI from BIAB to test it out. Unfortunately, all of the notes coming from BIAB end up being visually "stuck," i.e. there appears to be no Note Off event telling the notes to stop playing. You can see that here:
I analyzed the output of BIAB using a third-party MIDI logger and my suspicions were confirmed. BIAB does not appear to generate Note Off events when a note ends. Take a look at this image (messages beginning with a 0x93 are note-on messages on channel 4... note-off messages would start with 0x83, but they never appear):
Further inspection led me to use BIAB's built-in MIDI Monitor (found in the Window menu). It produces the same result:
There is a filter option in the MIDI Monitor and I double-checked it to make sure that Note Off events would be displayed:
So, it's pretty clear that BIAB does not generate Note Off events. I have a few questions about this.
1) First of all, aren't Note Off messages an essential part of the MIDI spec? Why are they not being generated by BIAB?
2) How does the software know when to stop playing a note if there is no Note Off message corresponding to the Note On message? As far as I'm aware, there isn't any duration information in a Note On message, so I don't see how that would work.
3) Is there an option hidden in one of the menus in BIAB where I can enable Note Off messages?
Any insight would be greatly appreciated. Currently, BIAB's output doesn't work with my VST, which is a little frustrating.
So, this is one of those cases where I hit the post button a little too soon. It looks like BIAB sends Note On events with a velocity of 0 to represent Note Off events. That's a little odd, but now that I know this, I can modify my plugin code to make a special case for when it receives a velocity=0 Note On event.
I was able to update the code and it's now working.
I'm still curious though, why no Note Off events are generated. Again, it just seems counter-intuitive since the MIDI Spec says that notes should end with a Note Off event. Any insight?
My understanding of the MIDI spec is that there are two ways that a Note-Off event is produced.
1: Note-Off can be produced by 0x80 (top bit set in high nibble of the Status Byte), 2: Also if the velocity is set to zero then the Note-On message is interpreted as a Note-Off message, therefore releasing the note (Note-off).
BiaB probably use the second implementation
HTH. And good luck with your project!
Trevor
BIAB & RB2024 Win.(Audiophile), Sonar Platinum, Cakewalk by Bandlab, Izotope Prod.Bundle, Roland RD-1000, Synthogy Ivory, Kontakt, Focusrite 18i20, KetronSD2, NS40M Monitors, Pioneer Active Monitors, AKG K271 Studio H'phones
I wasn't aware of the second implementation, but it makes sense. Thanks for pointing it out! I have updated my code so that both cases are handled now.
A few excerpts:
"The Tracks view is possibly the single most powerful addition in 2024 and opens up a new way to edit and generate accompaniments. Combined with the new MultiPicker Library Window, it makes BIAB nearly perfect as an 'intelligent' composer/arranger program."
"MIDI SuperTracks partial generation showing six variations – each time the section is generated it can be instantly auditioned, re-generated or backed out to a previous generation – and you can do this with any track type. This is MAJOR! This takes musical experimentation and honing an arrangement to a new level, and faster than ever."
"Band in a Box continues to be an expansive musical tool-set for both novice and experienced musicians to experiment, compose, arrange and mix songs, as well as an extensive educational resource. It is huge, with hundreds of functions, more than any one person is likely to ever use. Yet, so is any DAW that I have used. BIAB can do some things that no DAW does, and this year BIAB has more DAW-like functions than ever."
Convenient Ways to Listen to Band-in-a-Box® Songs Created by Program Users!
The User Showcase Forum is an excellent place to share your Band-in-a-Box® songs and listen to songs other program users are creating!
There are other places you can listen to these songs too! Visit our User Showcase page to sort by genre, artist (forum name), song title, and date - each listing will direct you to the forum post for that song.
If you'd rather listen to these songs in one place, head to our Band-in-a-Box® Radio, where you'll have the option to select the genre playlist for your listening pleasure. This page has SoundCloud built in, so it won't redirect you. We've also added the link to the Artists SoundCloud page here, and a link to their forum post.
We hope you find some inspiration from this amazing collection of User Showcase Songs!
Our User Showcase Forum receives more than 50 posts per day, with people sharing their Band-in-a-Box songs and providing feedback for other songs posted.
Video: Enhanced Melodists in Band-in-a-Box® 2024 for Windows®!
We've enhanced the Melodists feature included in Band-in-a-Box® 2024 for Windows!
Access the Melodist feature by pressing F7 in the program to open the new MultiPicker Library and locate the [Melodist] tab.
You can now generate a melody on any track in the program - very handy! Plus, you select how much of the melody you want generated - specify a range, or apply it to the whole track.
One of our representatives will be happy to help you over the phone. Our hours of operation are from
6:00AM to 6:00PM PST (GMT -8) Monday thru Friday, and 8:00AM to 4:00PM PST Saturday. We are closed Sunday. You can also send us your questions via email.
One of our representatives will be happy to help you on our Live Chat or by email. Our hours of operation are from
6:00AM to 6:00PM PST (GMT -8) Monday thru Friday; 8:00AM to 4:00PM PST (GMT -8) Saturday; Closed Sunday.