News:

Version 1.20 is ready to download

Main Menu

VArranger with MIDI Guitar

Started by anazariz, August 17, 2018, 05:57:54 PM

Previous topic - Next topic

anazariz

Dan,

As you may recall, I am a guitar player (not a keyboardist). I use a Keith McMillen 12 Step foot pedal to send chords to VArranger. However, that forces me to sit down and impacts my mobility as a guitar player. An easier way would be to have VArranger listen to my midi guitar and pick the right chords (ignore leads - or less than 3 active notes). It currently does that well. Single figure chords would have complicated things, which VArranger doesn't do, so that's good. The problem is the accidental unwanted chord change, which happens a lot on guitar. One thing that would solve the problem would be to have a database of valid chord (all chords that VArranger recognizes) and allowing the user to check off the valid ones for a chord progression. That way, I can tell VArranger which chords to listen to and which ones to ignore. Is that possible?

v.muller

Quote from: anazariz on August 17, 2018, 05:57:54 PM
...which chords to listen to and which ones to ignore...
Perhaps deep learning could help, but that's a higher level.

anazariz

I've already been able to create a somewhat useful filter using a software tool called BOME MIDI Translator. There are lots of other solutions like MAX/MSP and REAKTOR as well. Of course one can always use a regular programming language. But I think the easiest way would be to implement it in VArranger. The software already does chord recognition. So adding routines to accept/ignore certain chords, doesn't seem to be a gigantic task. It may not be as useful to keyboard player as it would be to guitar players. With midi guitars, extra noise (moving between frets) can always trigger unwanted notes and if you decrease pickup sensitivity, then you have to press the notes really hard, which impacts your playing style. As I'm not getting any feedback from Dan, I'll just perfect my own tool. Guitar player dudes out there (which maybe just me) let me know if you need what I've developed and I'll send it to you for free.

agaton

Have you possibility in Keith McMillen, to define separate Midi Chaannels to every Guitar string ?

anazariz

Agaton, my problem is not related to Keith McMillen. I can use that pedal fine without any issues (kind of like the left hand of a right-handed keyboard player). However, as a guitar player, I don't want to commit to sitting down on a chair and operating a foot pedal as I'm playing my guitar. I want the arranger software to pick the right chords for me as I am playing my guitar naturally (without even thinking about the chords).

Chords can recognized through 3 mechanisms
1- the chords I play on my guitar
2-my arpeggiation
3-the scale I am playing in(notes in a sequence-similar to arpeggiation).

That's not hard to do with todays fast computers. All that has to be done is, collect all currently active (notes on that have not received note offs) in a buffer and look at them at regular time intervals (maybe every 100 milliseconds). Then if a valid chord is recognized, send it out. If chord is not recognized (e.g. c, c#, d, d#), then ignore it, clear the buffer and restart the process. VArranger is already doing the chord recognition bit. So for me to do this is some other soft, which I can do as a programmer, would be to reinvent the wheel and also connecting two pieces of software instead of one, would make the entire process more error prone.       

Dan

We have added an option for the guitar players that helps a lot.
Go on OPTIONS / MASTER, and raise the CHORD RECOGNITION VELOCITY THRESHOLD exp to 64 or 80

With this option, all notes below the threshold will be ignored for the chord recognition
You will notice that most of the unwanted fret noises are playing below the threshold, while normal chords are above
Just try it, and tell us :)

agaton

Anazariz, my idea was to use 3 low strings  as chord strings and other 3 to solo play.
It was usually way to use Midi Guitar with one arranger. But this function with Velocity,
what Dan wrote, is very good and simplest way to play vArranger² with one Midi Guitar,
in case that you can send different velocitys value from your Guitar to vArranger².

anazariz

Thank you both for your comments.

Dan, I did try that option. While it helps, it doesn't totally prevent the issue because it still forces a guitar player to play the intended notes higher than the velocity threshold and that can impact the playing style.

agaton, I tried that as well (I also use Triple Play and can send individual strings on different midi channels).
With guitars, six strings improve the chances of correctly recognizing a chord.
 
Example:  "A min" can produce the notes:

S1/T1/A
S2/T2/E
S3/T1/A
S4/T3/C
S5/T4/E
S6/T5/A

Where Sn stands for the string# and Tn stands for string hit point in time in milliseconds (because it's impossible to hit all the strings exactly at the same time).

If I miss hitting the 6th string, which may happen as you're playing lead and chord simultaneously (totally different animal than a keyboard), then the chord recognizer will have S4/T3/C and S5/T4/E only and the chord will not be recognized correctly (missed altogether).
Also with chords like Am6, you're totally out of luck.

Anyhow, I think I found a way to implement this in BOME. My problem was timing. I fired all the chord notes (on and off) simultaneously and VArranger would not recognize them because it needed time to process each note. I put some timing in between the individual notes (5ms) and VArranger recognized the notes/chords correctly. :)

Again, thanks for your comments.       

Dan

You need to set the threshold at a level where you don't have to play harder so the right chord is recognized
vArranger is a bit smarter and knows about how guitar chords are played
It should not be a problem if all notes are fired simultaneously

cmpessoa

I send chords from my guitar to any arranger like Varranger2 without any problem (in this case, using Dan's advises about threshold).
My MIDI interface is a Roland GR-55.
You can see some videos of it on my site: carlospessoamusico.com
In the videos I am using a Korg PA-700 but I use varranger exactly the same way! When I want to solo, in the Korg I fire a pre-recorded chord sequence, in Varranger I use vRIFF.
I do not feel the need of anything else for chording and this is how I play life with about 200 songs where I play chords totally relaxed as any keyboardist :-) I am doing this for years now and I would like more guitarists know this is possible.