How Do You Write Lead Lines For Midi Instruments

This can be done with the Signal Follower chained to an Instr. Automaton device.


I have used Cakewalk for DOS, Cakewalk for Windows, Cubase VST 5, Cubase SX 1 - 6, Reason, and Ableton Live, to name a few. And various trackers for 8, 16 and 32 bit machines. Each of them has their good sides. In the past few years I’ve been making tracker music for 8bit home computer sound chips (PSG and SID), and it’s felt like a breath of fresh air after all these fancy DAW-like behemoths with so many “features”. For example, Renoise’s automation envelopes feel like exactly the kind of stuff that I’m trying to avoid. By the way, in my post listing the alternatives A to E, I tried to explain what’s wrong with it. Not for every human being in every imaginable background and use-case, but for me right now.

I’m talking about (1) Renoise’s features for writing pitch changes for sample instruments vs. (2) Renoise’s features for writing pitch changes for MIDI instruments. Number 1 is much better (in my opinion).

For someone else’s needs, it might be OK to do pitch control with the mouse in a separate editor, separately from notes. But if graphical envelope mousing really was the greatest thing since sliced bread, why does Renoise have the whole notes-in-patterns thing at all? Why don’t you write all your beats and everything in the graphical envelopes?

But very nice discussion indeed. Lots of different opinions, ideas and paradigms.

That one doesn’t track pitch, does it?

But that chain could still be used for what I’m after, sort of. I could control the synth’s pitch by the volume of the second (sample instrument) track/channel. Very interesting idea, thanks! I wonder what it would sound like when controlled by a pumping beat or something. :)

Nopes, that you would need the key-tracking device, but this doesn’t track changing pitches either.
So you would then really need some wave analyser plugin that does pitch tracking of the audio feed and output the values to a parameter that you can use to control other parameters.
I do doubt about the speed and efficiency of such device though.

I think there’s some confusion. Namely, this thread is confusing MIDI with VST instruments.

Let’s define standard. A standard means if you have 100 vendors, they all do the same thing.

First, if you read the posts in this thread again, you will see that there is a standard for pitch bend in MIDI. Renoise supports it. It’s C1 in Renoise parlance. Renoise respects the standard. What you type is what you get. It doesn’t do what you want? That’s another story.

Secondly, sampled instruments are raw data. Renoise can do whatever it wants to that data without breaking any standard because XRNI instruments are Renoise only. So of course the features will be better.

Never mind that in this thread alone there have been 7 ways to do just what you asked. (C1 Increased Resolution, Resample, Envelopes, INST Midi Contol Device with commands in the pattern editor, One shot LFOs, LFO device chained to other device with commands in the pattern editor, Signal Follower tied to Instr. Automaton device…) If we keep discussing, I’m sure there will be more.

What you are asking for is a way to pitch bend a VST instrument using MIDI pitch bend which is a single command. In other words you want a way to “batch send” MIDI pitch bend commands with a single custom Renoise command in the effect column.

Ok, cool idea! But, this is not an obvious feature. In fact, it doesn’t exist. Should it? Sure why not. Yet another way to accomplish the same thing. But, it’s a new idea.

Let’s forget I ever mentioned VST and stick to just plain MIDI. Whatever happens in the object that receives the MIDI, is up to me, and I’m completely fine with it.

I already said it: “all I want is to get (1) 1xx and 2xx commands to output pitch bend messages and (2) notes to send a pitch bend reset message.”

Here’s the feature in all its simplicity or complexity, whatever you like

  • if the track has a MIDI instrument (and not a sample instrument) and there’s a new note on the track: on tick 0 of that row, reset variable PB to 0 and send it as a Pitch Bend MIDI message
  • if there’s a command 1xx: on every tick > 0 of that row, add xx to PB (limit to 14 bit range), and send the new PB value as a Pitch Bend MIDI message
  • if there’s a command 2xx: on every tick > 0 of that row, subtract xx from PB (limit to 14 bit range), and send the new PB value as a Pitch Bend MIDI message

I don’t think that’s very complicated, but to each his own.

just messing around to see what’s possible… something like this could work maybe?

Interesting, a good idea, but it would have to be a new “midi only” command. Specifically:

In Renoise, you can have hundreds of instruments on a track. It’s not the MIDI model of 1 track = 1 instrument. I can’t imagine a “look ahead / look behind” model that will work efficiently with the same command.

So yeah, repost as a separate feature suggestion with as many details ironed out to make the devs life easier, and it will surely be considered.

But, your original question “How Do You Write Lead Lines For Midi Instruments” has been answered with 8+ solutions now. So either the question was loaded, or this is a sincere discussion where you keep an open mind?


The thing is, the 10xx and 20xx commands are relative. They don’t set the pitch to a specific value, but rather change the pitch by the specified amount. So, it would be kinda hard to “reset” the pitch bend, like you are suggesting. If the idea is to simply make VST instruments behave the same as sample-based instruments, then the pitch-bend would have to be reset with each note. But this would mess up how pitch-bend should work, so this idea would have to be built “on top” of the existing pitch-bend implementation, adding the 10xx / 20xx generated pitch bend amount to the actual pitch bend.

And then there’s the problem of missing standards. No matter how this was implemented, the result would be different for each VST plugin: some plugins doesn’t support pitch bend at all, others might default to 3 or 12 semitones. We have no way of knowing this. Even if Renoise had a database containing the default pitch bend range of all plugins, this wouldn’t be good enough, as the pitch bend range can often be specified from within the plugin, in a non-standard way. So if you changed the range to an octave, but the database is telling Renoise that the plugin has a range of 3 semitones, the result would be incorrect pitch. In other words, you would have to set the pitch bend range in the VST instrument settings, as well as the VST plugin itself, before results would be trustworthy.

And then there’s the issue of changing the pitch-bend range after effect commands have been entered into a pattern - they would need to be changed as well…

Yes indeed. You’d need to add a variable for storing the state. Can’t just blindly output the command parameters and forget about what they were.

Hard? Set the state variable to zero and send that as a pitch bend message.

And adding two numbers together, in a computer program, is very difficult? What is this “actual” pitch bend, by the way: And how “should” pitch bend work in your opinion?

How and when is that a problem, for who? You don’t know what my MIDI notes are doing in the MIDI device either. They might be controlling my disco lights.

But luckily there is no need for you to know it. :) MIDI is really simple, because you mostly don’t really need to know how it will be interpreted by the receiver, in order to make a program that processes it.

Why is that an issue? The same thing applies for notes. If I decide to swap the note mapping of my snare and kick drum samples in the sampler, I need to change the MIDI notes as well.

Let’s be practical here. MIDI is a very old protocol, but it’s also very practical, and I’d even go as far as to say, it’s good enough. Also, ProTracker was made using non-theory-hygienic, but practical period numbers (pitch = master clock / period), even though it meant getting different different vibrato and slide speeds depending on the note pitch. In practice, nobody cared.

I don’t know if the creators of SoundTracker and ProTracker aimed at creating a very compact and easily editable alphanumeric “language” for specifying monophonic melody lines with a lot of expressive power for complex pitch modulations in a very tight spacing, but that’s what they managed to do. In its current state, Renoise can’t really carry that good legacy to MIDI music-making, but I feel that it’s not far from it.

Why am I so stubbornly trying to explain this to you? Because I got such a huge wow feeling when trying Renoise. This was the first thing I tried, and I wrote it in quite literally one minute after starting Renoise for the first time (not taking into account reading the manual)

I added a VST instrument (Native Instruments Pro-53), entered some notes and looked up in the manual, how you specify note lengths and how to show the needed column, and … bang, wow. Wow. I was like, this is what I’ve been wanting forever - a way to write stuff just like in a tracker, but even better! No mouse-clicking around in dozens of windows, just enter stuff on the keyboard blazingly fast. Maybe that mp3 sounds like yet another boring bassline, but for me, being able to write that from the computer keyboard, and specify velocities and note lengths like that, it’s just great. I play many different instruments and I have no problem improvising endless amounts of stuff for hours. But if I want to do that, I can go to Live. But it isn’t really the same as “writing music”. That’s something that I’m really proficient in only in trackers. Yes, that’s my deficiency. In a perfect world, I’d first write it down in proper musical notation on a piece of music paper… ;)

Then I thought, let’s add a melody… nope, can’t really do that like in trackers.

However, just to say thanks for everyone who participated in this thread, I’m going to make a melody with the awful looking automation thingy that’s horizontal, in a separate place, not tied to notes, and is edited with the mouse etc.

I’m with yzi here.
In general it would be great to be able to map whatever you want in an instrument to any pattern command.

If I want 1xx to pitch up one group of sample zones, and at the same time pitch down another group of zones. I should be able to do so. Would love to see that one day.

I once made a feature request for a frequency demodulator:

Nah. :( I tried that, for almost an hour I tried to do some pitches glides to a lead line, but I just cannot use that envelope thing. I don’t have it in me. I would really like to see a reasonable hand-drawn melody pitch control line done with that thing. Renoise’s automation envelope editor is the Wrong Tool ™ for me for “writing” anything. It’s about as useful as… trying to write a song with mixing console automation. Automation is for automation. Pitch control in a melody line is not automation, it’s an essential part of the “soloist performance”, just like notes.

There may be other, useful pitch related uses for it. After deciding that it’s a failed attempt, I made this instead

I think that’s something that wouldn’t be easily expressed in terms of ProTracker commands and notes. But is it musically interesting, that’s another thing.

So far it seems to me that expressing timing, velocity and length related things is great in Renoise. But expressing pitch… not so much.

By the way, AAS Ultra Analog VA-1 doesn’t seem to be working 100% in Renoise. None of the drop-down menu commands work. The menus do pop up, and I can click on the menu items, but then nothing happens. It’s the same with both AU and VST versions. Mac OS X 10.6.7, newest demo version of Renoise.

Pitch bend, as in “when I play my keyboard, each note I play is affected by the overall pitch-bend amount”. The amount of pitch-bend is equal to the position of the wheel.
Sample-based instruments, on the other hand, always trigger at their initial pitch value, and only then will they accept pitch commands. There is no “wheel” to set the absolute pitch of an sample-based instrument, no state to remember.

So I’m basically saying that these are two different concepts:
Sample based instruments = pitch commands describe the motion of the wheel (relative)
Plugins = pitch bend describe the position of the wheel (absolute).

And that improvements to the pitch concept could go both ways:
Sample based instruments could have a global tuning (absolute tuning ), as discussed in this thread
And plugins which already have absolute tuning could get relative tuning (but the missing standards would make it less than ideal)

Because this stuff is both simple and complicated?

Did you check if your synth can be put into monophonic mode and use portamento? Just in case you don’t know this, many VSTi and hardware synths allow you to play in mono mode and when you hold a second key down it can pitch slide to this note. I think this is the best option if it’s possible.

Yes, I know this. :) But thanks for bringing that up. Portamentos can be done like that, and it’s a different way of playing. Tracker commands 1xx, 2xx, 5xx is a different “language”, with different expressivity, and it’s really that expressivity that I’m looking after. With the tracker command language, there’s a different set of things that are easy to “say”, so to speak.

Using a mono sound and legato glides is entirely possible, and depending on the synth, the legato speed can even be controlled “on the fly” with a suitable parameter with MIDI commands in the pattern.

What I’m really trying to say is that in my thinking: the notes and commands in a pattern are a description of a musical performance. It’s something that’s not played/recorded but written, like I’m writing this text here. Anything that’s outside the patterns is… polishing, mixing, coloring, something.

Also, this kind of stuff is not possible with mono legato sounds: (recorded it in Live)

I think that kind of style used to be very common in ProTracker/FastTracker, because you could just bend an entire chord sample. Why I’m not satisfied with just Live then - because it’s a different thing. I played that in, and it sounds like it was played live. What’s played live, is a different kind of animal than what’s typed in on the computer keyboard. When I’m using a tracker, I’m in a “tracker mindset” and in that world, different things are possible, and I write different stuff than elsewhere. When playing live, my improvisation is all over the place, a tidal wave that’s hard to control and fills everything. But in trackers I’m able to tame down that force into a nice and usable waterhose! And if I need to use the mouse at all (let alone in a differently oriented, separate place that’s not part of the notes), the whole stream of water is blocked completely. YMMV. I don’t know if this makes sense to anybody else.

Once more, thanks everybody, in this thread I’ve already learned a lot about Renoise, and certainly opened up my thinking. I’ll probably buy Renoise at some point.

Maybe I’d better sum up to solutions that will probably work the best for me, in the current version of Renoise

  1. Render the lead sound to a multisample and do it like '92. Not ideal, but on the other hand, it’s a familiar and clean model to work with. For many types of sounds it’ll be just fine. This will also work polyphonically.
  2. Use a mono gliding lead sound in the MIDI synth, and control legato/staccato with note lengths, and control glide speed with MIDI CCs.

Yeah groovy sound you’ve got there. I like that kind of pitchbending and vibrating stuff too :)

Ok, I just had to buy it right away. After seeing the sample renderer… awesome stuff. Though immediately after trying it in the reg version, I stumbled into many other questions like how to get pitch bend for sample instruments working from live MIDI input… Aaargh, at this point I must just stop exploring all sorts of features and just write music for awhile. After a few songs I’ll have a better understanding of the relevance of all these various things.

Yeah - hmm well, it is important to make your music sound like you want and imagine, some of this old school gliding/vibrato stuff is definitely not an easy task for many synths, so choose them carefully. I stopped using glides and vibrato for my leads years ago even though I love it, but I’m too lazy as I care more for the raw melody and I’m not that serious about my music yet, so it’s too bad we have to work hard to achieve this sound but that’s life - and I’m not complaining by the way - I had to wait YEARS between the old trackers and until Renoise came along… at least I got rid of my fucking hardware crap and Cubase 1.0, that was really too cumbersome in the long run. GL :)