How do you MIDI "strum"?

Discussion about: tracktion.com
RELATED
PRODUCTS

Post

Okay,

I am a guitar player, but I dont' have an acoustic guitar but I've got great samples. I am NOT a good keyboard player at all, and I would like to have three chords in a riff sound like they are quickly "strummed" instead of played "instantly" but not a long strum - a fast one.

One way I was thinking would be to do this, but I don't know if this is the best way and am hoping for some "a-ha" type suggestions, to be point-blank about it. :D

If you step enter the chord, say it's 4 notes, then manually offset each not by dragging it with the mouse until it sounds right - would this work?

My music PC is ties up so I can't try this right now....but it would be good if this DOES work to be able to, for instance, save the offset data to just apply it to another chord so it sounds like the same "strum" as the first one, but with different notes, obviously.

Thanks, all, tremendous help here, as always. I'd bring the beer to a Tracktion party, if it were conveneint to have one. :)

- Paul

Post

[quote="PaulG"]
If you step enter the chord, say it's 4 notes, then manually offset each not by dragging it with the mouse until it sounds right - would this work?

My music PC is ties up so I can't try this right now....but it would be good if this DOES work to be able to, for instance, save the offset data to just apply it to another chord so it sounds like the same "strum" as the first one, but with different notes, obviously.
/quote]

Manually offsetting the notes (in the order in which the pick struck them) is an important step in creating a natural strum effect IMO.

Similarly, build the chord as one would play it, string by string, in a certain neck position. For example, a downstroke on an open E maj chord in first position would run from lowest to highest (Open E, B (on A string) E (on D) G# (on G) open B, open E) So for a downstroke I'd start with the low E and proceed through the notes with a an offset of a few milliseconds for each note that follows.

I might try to come back on a upstroke for the next chord, reversing the note order.

Playing with the offset, the velocity and duration of notes will help you achieve various strumming effects. Good luck:)

Post

It's also a good way to drive yourself crazy or waste days doing what you could do with a guitar in a few minutes. nd the programed one will never sound very good even after days of work, unless it is a very basic type of strum.

A

Post

I actually have on my computer a little project I started. Maybe I'll get back to it and finish more of it to share. It's a MIDI strum library. Kind of like each MIDI file has so many chords in it with various velocities and you just copy and paste from that track whatever chords you need, with both up and down strums, based on the actual fret positions and the corresponding notes on a keyboard.

Maybe I'll work on it when I get a chance. Would this be something useful?
My host is better than your host

Post

ooh, you've inspired me to make a plugin!

i've just bashed together a little concept plugin. MIDI notes at the input behave like holding down a string, and any CC/Pitchbend messages pass a 'pick' over whatever notes are held.

the notes are arranged in pitch order, and are spread evenly across the range depending on how many there are (e.g. if you're holding one note it play as you pass the centre, if you were holding two notes, one would play as you pass a third of the way up, the higher would play as you pass the top third). the velocity of the notes generated is determined by the speed that you sweep the controller.

so, in case that was too complex: you hold the notes with midi keys (or drawn notes in the seq), and you strum them with a CC/Pitchbend movement.

it doesn't have a GUI yet, so i'm not gonna put it up for download right away. perhaps on the weekend. let me know if anyone's interested!
Last edited by haydxn on Fri May 19, 2006 4:53 am, edited 1 time in total.
Kick, punch, it's all in the mind.

Post

I'll strum the three chords for you and render it to .wav. ;) Can't promise they'll be as pristine in terms of quality as your acoustic multi-samples, but I guarantee they'll sound a lot better by mere virtue of being really played by a player!

Greg
Image

Post

haydxn wrote:ooh, you've inspired me to make a plugin!

i've just bashed together a little concept plugin. MIDI notes at the input behave like holding down a string, and any CC/Pitchbend messages pass a 'pick' over whatever notes are held.

the notes are arranged in pitch order, and are spread evenly across the range depending on how many there are (e.g. if you're holding one note it play as you pass the centre, if you were holding two notes, one would play as you pass a third of the way up, the higher would play as you pass the top third). the velocity of the notes generated is determined by the speed that you sweep the controller.

so, in case that was too complex: you hold the notes with midi keys (or drawn notes in the seq), and you strum them with a CC/Pitchbend movement.

it doesn't have a GUI yet, so i'm not gonna put it up for download right away. perhaps on the weekend. let me know if anyone's interested!
I like that idea. Would you have to hold down all the notes? Cause to get real guitar strums, it wouldn't work unless you had the strum library already in place. Maybe start with the basic chords and release more later? Sorry, just trying to give ideas.

If you do go through this, maybe having a knob to adjust strum speed that can be automated. Unless the speed of the wheel or whatever will adjust that.

But regardless, how are you going to do the chords? Just whatever notes are pressed down?

This could end up being a great plug. Sorry if I'm suggesting things that will take too much time. One more thing. Velocities. Is there any way of making the velocities of the pressed down chords pass onto the MIDI output?

I don't know if any of this is doable. Just trying to give ideas in case you want them. If not, then disregard and thank you for doing this! I'm sure it will be kool!

Koolkeys
My host is better than your host

Post

well, at the moment it uses whatever notes are being held down at the midi input as the notes that will be played. this could be from someone holding them on a keyboard, or from notes that have been drawn into a piano roll.

i'm thinking it'll probably be good to have a way of setting custom chords, which you can switch between via midi notes. i guess i could just rip the chord diagram component right out of TrackPAD actually (which already has midi-turns-the-pages power). the chords you draw on the widget would set the notes that get strummed. i doubt i'd ever bother putting in a chord library, certainly not if you can visualise the chord there in yer face.

so, you basically use whatever cc controller to strum (sliding/fading down is strumming one way, up is the other way), so you, well, strum past the strings, and the way it is now, velocity is calculated by the rate at which you're 'strumming', but this could of course be linked to a different cc of your choice.
Kick, punch, it's all in the mind.

Post

If you're up for another idea, just have the wheel or CC set with the notes spread out evenly so that if you only do a half strum, you only get three strings. Then you can do chords with any number of strings all based on one diagram. And then you can, say, do lighter chords for verses, and switch to full chords for the chorus.

Does that make any sense? Say string one is on 0 and string 6 is on 127. Then the rest are evenly spread out between. That way it's a particular CC value for each string. This could allow, through the use of automation, the ability to program in picking patterns also.

If this doesn't make sense, I'll try to explain better.

Koolkeys
My host is better than your host

Post

I do think it may work having the speed of the strum determine the velocity. It's hard to say without testing it. I'm sure you'll figure it out!

By the way, where did you learn how to code. I'm trying to get back into coding, and have been messing around with some things. I'm still pretty beginner-ish.

Koolkeys
My host is better than your host

Post

it already has the held notes spread evenly, although it spreads them depending on how many are held, rather than a guitar model.

if you are holding 6 notes down, then as you say, half a strum would only play three of the strings. of course, in a guitar, the positions of the strings would be fixed (currently, if you're holding four notes, half a strum would play two - a proper guitar model would always keep notes on the high 'strings' at one end of the range, etc)

a 'picking' thing would not work; you wouldn't be able to have strumming work without forcing the plugin to play every string you strum past. i.e., you wouldn't be able to skip strings, because strumming only works if it can check that it should play a note between two events. perhaps some kind of picking 'mode' could be put in, but i doubt it would actually get used for anything!

as for coding, i learned from a big meaty C++ reference book (and Bruce Eckel's thinking in C++), but i was never any use til i found juce. that library changed my life!
Kick, punch, it's all in the mind.

Post

Might that not be fixed by having the plug decide that you are always holding x notes, where x is the number of strings on the instrument (does it have to ba a guitar? I can think of several other instruments that could be strummed :D - to say nothing about strumming synth pads... hmmm...), by automatically adding mute strings equally at top and bottom so you always have the live strum more or less at the middle of the controller. Half a strum wouldn't really be needed as you simply play or sequence less strings. I think it would be easier to strum using a mod wheel then.

Post

yeah, what i described above is how it is currently- not having the guitar widget component it's not possible to set up 6 strings; as a proof of concept, that's how i've done it. you're right- for a guitar model, it will want to always have a fixed number of 'strings'. you'll choose your chords by clicking fret positions and/or muting strings (exactly as you do in TrackPAD3's chord diagram).

i guess there could be a range adjustment, that lets you control the positions of the strings along the axis of your chosen strum controller
Kick, punch, it's all in the mind.

Post

Dunno how much processing it would take, but as a guitarist who has a keyboard in front of him, my approach (building on what's already been said, so not my own original thinking here) would be:

- hold a keyboard chord down (in my case, with the right hand). The plug-in analyses the keyboard chord and determines a guitar voicing that matches best to it. You could set behaviour to "prefer" open chords wherever possible, or to "prefer" barre chords instead-- maybe even MIDI-switchable.

- With your free hand, reach for the expression wheel/stick or pitch wheel/stick (in my case, I would cross over my right hand with my left!). The CCs transmitted would define the range of the strum. A little tap would just strum the bass 'strings'.

- An OPTIONAL component (at some point in time, each person will reach their own limit of co-ordination) would be a footswitch for enabling "muting" of the chord so that you wouldn't have to release it. The mute could either be strummed (that percussive sound as the pick hits the muted strings) or lifted, depending on what you're trying to accomplish for that passage.

It should be expected by the end user that some editing will need to be done. Manually selecting a batch of MIDI notes from a 'down' strum that's out of place, for example. I can't see any way to ever make it completely "edit-free" and capture a very realistic guitar performance, but it'd be a cool start.

Greg
Image

Post

Note: I think that for basic songs and many people's purposes, they'd be surprised at how far a $100 Yamaha guitar and a mere 2 months (that's not much time for a wortwhile goal!) practice will get them. You could definitely be banging out open chords well enough to get them into your songs even if a few "takes" were required.

The end result would be just as cheap (or cheaper) than a plug-in, you'd be learning a new skill at the same time (yay new musical skills!), and your tracks would really benefit from it.

I'm not a keyboard player, and while it's definitely easier to "fix" a keyboard part played by an amateur (via MIDI, I mean) than to do several takes of a non-virtual instrument and pick the best one, I DO try my best to capture my takes "live" and screw around with them very little if at all, so I try my best to practice what I preach.

Also, I wasn't born knowing how to play the guitar, and I still remember learning-- the first few weeks were discouraging as I thought, "holy heck... my fingers hurt, and my coordination sucks, I'll never learn this." But after X amount of time (for me, 2 months, but I've heard of people reaching this point within a week) suddenly the coordination kicks in at least to the point where you realize, "yep, I'm going to be able to do this."

Greg
Image

Post Reply

Return to “Tracktion”