Okay, here is the next topic:


For this next portion, we're going to focus on the specific MIDI CC signals being sent to MidiNES via each MIDI Out channel (as well as a few controls that are included with most DAW's). Luckily, the same set of CC's are used for both Pulse channels so you'll only need to familiarize yourself with the CC's of four channel types. Additionally, the Triangle and Noise channels only have five CC's between the two of them and unless you're doing some really funky stuff, you'll only require the use of a few of the DPCM channel CC's. Personally, I only ever use one of the CC's associated with the DPCM channel but I'll cover the other more commonly used controls since they have some good uses. I could write up a chapter's worth on the pulse channels alone but since this is a comprehensive guide, I'll save some of the real nitty gritty stuff for later when we get into composition.


One of the most used controls for the pulse channels in my own compositions, and one that is not available on the Triangle or DPCM channel, is the volume envelope (CC#11). In fact, the Triangle and DPCM have no volume control whatsoever. This is arguably the primary reason that many classic NES soundtracks use the Triangle as a bass most of the time (that and it has great low-end). But don't worry, there are composition techniques we'll cover later on that will give you options.

Volume Control

Basically, when it comes to controlling the volume of notes played on the NES sound chip, you have three options:

1) Note Velocity - this value is not one of the custom CC's we set up, but rather a standard control included in every piano roll/sequencer. This volume setting applies to each individual note and if you've ever recorded a MIDI composition from a keyboard or other external MIDI controller, you probably know that the harder you press the notes (if your device is touch sensitive) the louder this 'note on' velocity will be and likewise, the softer you press the key, the quieter it will be. When adding notes directly into the piano roll, this value is usually assigned via 'note properties' or other similar window/panel. In FL Studio, double-clicking any individual note will bring up the options for that note and these options include the volume/velocity of that note. This is the only stock control within these that we would be setting within the piano roll itself as most of the others don't have any effect on the MIDI CC's being sent to the NES. The note fine pitch control knob does change the pitch of the note but as this only changes the pitch of the entire note and cannot change the pitch over the duration of the note, we won't be using it at all.

2) Channel Volume - this value, much like note velocity, is not a custom CC. It is also a value that, depending on your DAW, is most likely not controlled within the piano roll but rather by an event editor, automation or some other similar method. What this likely entails is an expandable window within the piano roll area that allows you to manually draw volume changes, as well as values for every other control parameter (this will be crucial for controlling everything from the volume and pitch to duty cycle and other custom control parameters). In FL Studio, there is a draggable bar at the bottom of the piano roll window that can be moved upwards to expand the event editor (again, your DAW may refer to it as something else). The event editor is similar to the piano roll in the sense that from left-to-right determines the time in the track and from bottom to top pertains to the low-to-high values of the control. If you recall, we assigned all of the custom control knobs in each of the MIDI Out channel settings a value range between 0 and 127. This is the standard range used by MIDI and therefore the acceptable range for each control knob. However, each CC has a different range of its own and as a result, the division between steps of this range will equate to the standard 127 value range divided by this more specific value. As an example, volume control on the pulse and noise channels is limited to 16 steps, which means any value in the event editor set to between 0-7 will result in the same level of volume, 8-15 will result in the next step up, then 16-23, 24-31, and so on in increments of 8 with 127 being the max volume. As another exampe, the duty cycle parameter is restricted to 4 steps so there will be increments of 32 used for that control (but more on duty cycle to come). This manner of control is most useful for controlling volume levels on longer notes but can be used for shorter ones as well.

3) Volume Envelope (CC#11) - this custom CC is used to toggle an automatic decay for each note. Decay is how quickly the note transitions from 127 to a 0 volume value (or rather, from 16 to 0 as these are the steps available). This is extremely useful if you have relatively short notes (less than half or whole notes) and many of them, so you don't have to manually draw the volume changes for every note in the event editor, only draw a value to determine the rate of decay (more on that two paragraphs down). The volume envelope control only has an on or off value (two steps) so drawing a value between 0 and 63 will give the notes a decay while a value between 64 and 127 will result in a solid, continuous note. This control confused me a lot at first as when I set the value below 64, I was stuck with the default decay rate. This is because there are two other parameters we need to set in order to determine the nature of this decay.

The first parameter is the Loop Envelope - this is another on/off value that I habitually always assign to the same value as the volume envelope depending on whether I want notes with decay or solid, continuous notes. This is because the loop envelope determines if the note is played once through or if the decay rate returns to max volume after it reaches 0. It can be useful to have the loop envelope value at 64 or above while the volume envelope value is below 64 if you want a note that repeats itself over it's full duration at a set rate (more on setting that specific rate in the next paragraph) but you can also just place multiple notes on the piano roll, one after another, at specific intervals to get the same effect, hence the reason why I generally just set the loop envelope value to match the volume envelope value.

The second parameter used in conjunction with the volume envelope is the Channel Volume. We touched on this above when discussing manual volume changes set in the event editor but in this case, the value set will determine the decay time, not the start volume. In other words, the higher the value, the longer the note will hold before it eventually reaches a 0 value and the lower the value, the shorter that duration will be. While the channel volume has a standard 0-127 range, the intervals between changes are the same as the channel volume itself - in other words, you get 16 total steps of different decay duration. These times are also set by the clock on the chip, I believe, and are not based the tempo of the track, so what this means is that any notes longer than a certain duration (determined by the channel volume value) will fully decay (reach 0) before the track plays through to the end of the note segment in the piano roll. If the loop envelope value is set to below 64 then the note will simply not be heard after this 0 value is reached. If the loop is, however, set to 64 or above then the note volume value will be set back to max and repeat the same decay duration and continue to do this until the note segment ends. Depending on your track tempo, and since the tempo does not change the note decay duration, this rate of repetition may or may not be in synch with the track's time signature. Since it's difficult to coordinate the decay value with the BPM (Beats Per Minute) of a track and given that you're limited to 16 steps in duration, I rarely use this 'offset' combination of loop and volume envelope values. In fact I only have ever used it in one track and I got lucky that by having the track at 75 BPM and the channel volume value set at 64, the note repeated exactly every 3/16 note which, while not in time with the quarter or eighth notes, sounded nice. You can hear this part of the song here at about 2:33 into the track. Starting at that time in the song will play through the same repeating measure once without the loop enabled and again with it so you can hear the difference (on the higher of the low-end notes).

In summary, volume can be controlled multiple ways depending on how you want it to sound or what level of ease you want to be available.

For long, continuous notes, the volume and loop envelope values should both be set to 64 or above and you can either set the single note velocity or overall channel volume to the desired value. I usually set the channel volume to max and adjust the note velocities for segments of the track with solid notes.

For notes with decay you can either draw the volume changes in manually, which is necessary for notes too long for the preset decay values (and useful for less linear decays, volume 'fade in', or more organic volume changes) or you can set the volume and loop envelope values to below 64 and adjust the note velocity or channel volume to achieve the desired decay rate. I rarely use the single note velocity for this and prefer to adjust the channel volume values in the event editor so that I can see all volume changes in the track along the same control timeline.

A few things to note before we move on.

When the volume and loop envelope values are below 64 (for automatically decaying notes), the initial value of the volume of the note will always be max. It's only the decay rate that changes with channel volume or note velocity values. For this reason, I also generally have other solid notes at or close to full volume so those that utilize the volume/loop envelopes don't overpower the rest.

When drawing volume changes manually in the event editor, any value below 8 will produce no sound (this applies to note velocity as well). Conveniently, FL Studio has the event editor on a grid divided into 16 rows so I know not to draw any volume changes within the bottom of these rows.

You can also edit individual note velocities in the event editor. In FL Studio, these are thin, vertical bars, the top of which represent the value. This is useful for setting the individual note velocities of a group of notes at once or seeing them in relation to one another across portions of the track. This is most useful when creating noise channel drum lines, but more on that later.

Pitch Bend

Pitch control is one of the coolest things to play with but to be perfectly honest, it's also very time consuming. Your composition may not require any pitch bends whatsoever but it adds so much depth and character to a track (especially leads) that it's well worth the time you'll put in.

Where many DAW's give you automated ways to control pitch, doing so with MidiNES requires manually drawing all changes that don't adhere to set bend times (the next paragraph touches on this a bit). At least that's how it works in FL Studio. Now, your DAW may allow you more flexibility concerning this (FL Studio gives no way to control channel pitch in the piano roll but rather this is done via the event editor), and perhaps there is a way in your program of choice to not only more easily apply channel pitch (and channel volume) changes to the individual notes, but also allow you to copy and paste these changes as you would with the notes themselves. However, FL Studio and many other programs do not afford you this luxury within the piano roll composition. Although you can't copy and paste event editor data in FL Studio (again, maybe your DAW enables you to do so), much later I'll touch on my approach which makes the process a bit simpler than you might think so it won't be as much of a hassle to draw pitch bends or volume changes the same way for repeated segments (eg a chorus that you want to sound the same every time it comes up). Of course, if you're using a sequencer like FL Studio, you can always separate your track into multiple patterns and have any repeating parts simply reused that way, but for other reasons, I personally prefer to have all of one track in the same pattern so transitions between parts of the track are easier to control if they don't have clean 'breaks' between them (eg no overlapping channel volume or pitch changes).

When it comes to simpler or more consistent pitch bends, the CC's that include 'Sweep' in their names operate similarly to how the volume and loop envelope CC's can be used in conjunction with channel volume to control the decay rate of notes. Except that for pitch bends, there are more CC's to manipulate. I'm not going to go into these parameters (even though we did set them up on our MIDI Out) because drawing in values on multiple CC's can become time consuming and confusing, and I prefer to manually draw in pitch values directly to the channel pitch (not a CC) within the event editor. In fact, I don't even use the fine pitch (CC#8) as controlling that is still more time consuming (albeit not as limited) than doing it all by channel pitch changes. Essentially, I sacrifice a bit of capability for ease of use. You may be willing to put in the time to learn how to manipulate the fine pitch but for me, channel pitch alone is sufficient for all pitch related events. I won't go into it much here because I'll cover it later on but suffice to say that chiptunes have a lot of creative ways to fool your ear into sounding like something more complicated is happening when a simpler solution has been implemented.

In other words, you can use one parameter (channel pitch) to control vibrato, bends, etc. and have a more control over them in many cases, or you can attempt to adjust the values of four different controls (CC#13-16) for pitch bends and use yet another control (Fine Pitch, CC#8) to create vibrato. Again, you may prefer fine pitch to channel pitch but as they operate similarly, I'm only covering channel pitch.

Simply put, drawing changes for channel pitch into the event editor will allow you to raise or lower the pitch of the notes by varying steps. Straight forward, right?

The two main uses for this are pitch bends (perhaps from one note to the next to simulate portamento, or note slide) and vibrato. Vibrato is essentially a series of quick transitions between pitches on the same note to offer a 'trembling' quality that many vocalists have when they sing. Generally, I create these vibratos by drawing the value one cent (cents are how pitch steps are measured) above and below the center line, intermittently, at the desired duration. I tend to use 1/2 steps in most tracks as this seems to be a good balance between a good sound and not too much work (consider that drawing them at 1/4 steps would take twice as long). Sometimes I'll increase these values to 2 or 3 cents for greater change over time while other times I'll space them out with centerline (no pitch change, 0 cent) values separating them for slower vibratos. I'll also draw a transition from a few cents below to a few cents above and back down, repeating, to accomplish smoother, longer vibrato. This can also be useful for creating a detuning effect, to sound more like an electric guitar, for example. Basically, the higher above and below the centerline you place your values, the more 'wild' the bends will be and the closer together you place them, the faster they'll be. I'll touch more on different styles of vibrato later as well as transitioning between them over the course of a single, longer note.

Duty Cycle

This defines the way each pulse channel will sound and if you're familiar with Gameboy parameters or general analog sound generation, you may also have heard it referred to as "pulse width". This value has four steps (12.5%, 25%, 50% and 75%) and changes the 'quality' of the pulse sound.

- At 12.5%, the pulse will sound sort of like a stringed instrument (like a steel stringed guitar if there is decay on the note) at higher frequencies and a slap bass at lower frequencies. It's a rougher, 'dirtier' sound that has a ton of uses and I rarely compose a track without using this specific value multiple times over the course of the composition.

- At 25%, the pulse will sound a bit smoother and fuller, sort of like a trumpet if the note is held or an electric guitar if played with decay (and some channel pitch changes to give a detuned effect).

- At 50%, the pulse will sound very familiar as this creates a sound that most closely resembles the classic 8-bit video game sound of the lead part in the Super Mario Bros. and The Legend of Zelda theme songs. It has a very full, clean sounds great for leads at higher frequencies and something resembling a Moog bass at lower frequencies.

- At 75%, the pulse is very similar to the 25% value but sounds a bit fuller and has a tad more 'punch' to it. These are similar because they are created by the same waveform only reversed.

Basically you get your choice of 4 'instruments' (arguably 3 if you don't hear much difference between the 25% and 75% values) from each pulse channel. This allows for a number of combinations and as a general rule, I usually don't set both pulse channels to the same duty cycle value because having the same 'instrument' play two parts isn't as interesting as having two different 'instruments' play two different parts! Of course there are great applications for all combinations but more on that when we discuss composition techniques!

Length Envelope

This is a parameter (CC#9) that I don't use because all it basically does is shorten the duration of the note being played which is something you can determine when you draw notes on the piano roll. Unless you're in the unfortunate circumstance of working with a sequencer that doesn't give you control over the length of notes via the built in interface, you won't need this. I do, however, set this parameter to the max (127) on both pulse channels for every track I create to ensure that the note length is never shorter than what I draw on the piano roll. This is the default for MidiNES so it's not necessary - it's just a habit I got into in case I ever do decide to use the length envelope parameter for any reason in the future and don't want it to be set to a different value if I switch between working on different tracks. Of course, it's easy enough to reset the NES and all default parameters will be applied, but it's just a good practice for me.

Okay, that should do it for the pulse channels! Onto the others. These portions will be significantly shorter...

As I said before, I'm not going to go into parameters that I almost never use. Feel free to explore them for yourself if you're creating more 'experimental' music but for most compositions, they're not crucial.


As mentioned earlier, the triangle channel has no volume control which means no CC's for volume, loop, etc. It also doesn't have any duty cycle or pulse width as it always generates the same tone.

It does, however, have pitch control which is identical to the pulse pitch control using either fine pitch (CC#8) or channel pitch in your DAW. As such, I also prefer to use the channel pitch but fine pitch is a greater consideration for this channel as the pitch steps are further apart so if you want more subtle vibrato or smoother pitch bends, you may want to look into using this instead.

As an additional note for both the triangle and pulse channels, pitch steps get further apart with higher frequencies. In other words, if you change the pitch to +1 cent on a high note, it will jump further than the same +1 cent step on a lower note. For this reason, when controlling pitch via either fine pitch or channel pitch, be more conservative with high notes and more liberal with lower notes. In my experience, I need to change the value on lower notes 3 or 4 cents before the difference is noticeable while on higher notes, I tend to space out lower values to avoid sounding too 'shaky'.


This is a rare case where I never use the custom MIDI controls. If you do decide to utilize them, they operate similarly to the same ones detailed in the pulse channel uses above. Volume, loop and length envelopes are available but the noise channel is unique in the sense that there is little to no difference in the sound of a single long note and a series of short notes placed one after another. This affords us the ability to change the volume of the noise channel without manual drawing in the event editor. That is to say, if you place 16 short notes in a row at descending note velocity values, it will sound almost exactly the same as a single note occupying the same duration with a manual volume change drawn in the event editor at 16 equal, descending steps across the duration of the note. Also, since I can copy/paste notes (and associated values) but not event editor data in FL Studio, I always construct my noise channel tracks from groups of short 1/4 or 1/8 step notes that change in single note velocity across the duration of what I construct as separate 'instruments'. This is much easier and far quicker than drawing in the event editor for every single note, plus it affords us unique possibilities for giving the illusion of mutliple drum-like sounds overlapping! More on that later...


The only control I use for DPCM currently is the Bank Switch (CC#14). This simply switches between the sample sets loaded onto the MidiNES cart. Each bank has 128 samples for a total of 256 (mostly) unique percussion-based sounds to choose from. Although a good variety of samples are included, if you search around the Internet, there may be available documentation for how to load custom samples with additional hardware/software. I'm more musician than modder so I haven't explored this option much. Also, since I tend to use the noise and DCPM in tandem for drums (and often times will use only the noise channel), I don't use as many different DPCM samples as I might if I was utilizing the DPCM alone, and I don't really consider using the pitch (CC#3) since the variety of available preloaded instruments include toms and other drum sounds at varying pitches already. I also usually stick with the default bank as it has more basic percussion samples but you can switch between them with a value below 64 for one and 64 or above for the other.

An additional note to close out this portion of the tutorial:

The parameters I've covered here reflect only a portion of the potential for MidiNES and I realize that. However, in an effort to keep the focus on composition and in the spirit of overcoming limitations and pushing envelopes, I've only really covered those which I consider to be absolutely essential for creating creative but more 'standard' compositions. Why else would we be making music with some of the most basic hardware available if we didn't love the challenge!?

Last edited by Doctor Octoroc (Jan 19, 2019 7:59 pm)



For this section, I'll be focusing specifically on the MIDI CC's associated with the volume control of the two pulse channels and how to implement them for a variety of note styles. Now that we know how the controls effect the volume, we can apply them in various combinations to achieve desired results. How you assign each control to the channel will depend on your DAW but here is how it's done in FL Studio:

Adding Controls to the Event Editor in FL Studio

First off, look for this row of icons and open the browser (by default, it'll open up on the left side of the workspace).

Expand the following menus: CURRENT PROJECT > GENERTORS > MIDI OUT > PULSE 01 (or whatever you named the channel you're editing, but for starters, we'll be editing events for Pulse 01). Once you expand the channel name, you'll see the names of all of the custom controls you created. Right-click any of these and you'll get a pop-up with the option to 'edit events in piano roll'. Upon selecting this, the bottom pane of the piano roll window should expand and you'll see an empty grid where you'll be drawing all of your values. Alternatively, if the event editor is already expanded, you can drag and drop the control name into the event editor pane. It is within this pane that we will be assigning all of our control values and any values entered will apply to the notes directly above them in the piano roll portion of the piano roll window. The control values appear like a bar graph and any value entered will remain up to the end of the track until a different value is entered further in the timeline. They also lock to the same note segment divisions that the notes do so if you have 'step' selected, setting a value in the event editor will create a bar as wide as full step intervals. The grid in the event editor will also change as different lengths of step are selected (much like the grid in the piano roll does) so upon selecting 1/2 step, for example, the grid divisions will double. Selecting the correct step length will be important when drawing in the event editor because we want the contols to apply to the same intervals as the notes, or some evenly divided fraction thereof. It takes some getting used to drawing in the event editor but you'll get the hang of it.

Also, at any point after you've chosen a particular control from the browser to edit in the piano roll, you can access it again more quickly by right-clicking within the empty area to the left of the event editor grid (and below the piano graphic) and selecting that control from the pop-up menu. Alternatively, you can select it from a drop down menu in the title bar of the piano roll window. By default, this will have 'velocity' shown but it will always show the name of the control you are currently editing in the event editor. All previously added controls will be shown in either menu (pop-up or drop down) along with the channel they're associated with so after adding the 'duty cycle' control for pulse 01, for example, it will be listed as "Pulse 01 - Duty Cycle" in these menus and you can select them more quickly than going to the browser every time. You will also be able to select the channel volume, channel pitch, or note velocity via these menus at any time (they won't be in the generators list as they're not specific, custom CC signals).

If you're following along with this guide in your DAW and want to learn by doing, these are the values to apply to both pulse channels at this point:

- Channel Volume = 127
- Channel Pitch = 0 cents
- Duty Cycle (CC#1) = 64 (50%)
- Length Envelope (CC#9) = 127
- Loop Envelope = (CC#10) 127
- Volume Envelope (CC#11) = 127

These values create solid notes with full volume and sound like the leads in the 'Super Mario Bros.' and 'The Legend of Zelda' themes. These are also the values I apply at the start of just about every track I create as a standard and then I build upon them (or change them, but usually, I'm not certain how I'll be manipulating the parameters until I at least have a melody laid out).

Okay, onto the volume related techniques!


A common style of note you'll hear a lot in classic NES tracks is delay. Delay is essentially an 'echo' of the note that is commonly done in commercial tracks with effects generators. Of course, we don't have anything like that built into the NES, so we have to get creative. You could run your track through a delay filter during or after recording the track (or track parts) but it's not a 'pure' technique as it wouldn't be possible to create this with the original hardware alone. We're trying to utilize the hardware, not take the easy way out!

Delay Utilizing Both Pulse Channels

The easiest way to create a delay or echo effect is to lay down notes (at 100% note velocity) to create a part on one pulse channel, copy and paste them onto the other pulse channel, then move them forward in the track a small amount. Next, decrease the note velocity of all of these duplicate notes to the desired value. I usually go with about 50% velocity as that is still loud enough to hear with other parts in the track playing but quiet enough to not sound like the initial part is just repeating itself. Occasionally, I'll set it to 75% or 25% but anything below 25% is going to be too quiet and anything above 75% will be too loud to give a proper delay/echo effect. You can move the lower velocity notes on the second pulse channel around a bit to get the delay timing you want.

For this example, the green notes are at 100% velocity and the pink are at 50%. Top is pulse 01 and bottom is pulse 02.

You'll notice that compared to the following decay effects, this one makes the full velocity notes much louder due to the fact that the notes overlap. It's also important to point out that both pulse channels for this type of delay effect need to have the same duty cycle (CC#1) value or else it won't sound right as you'll have a different sound for the echo than for the full velocity sequence.

You can hear this type of delay effect used in the "Shadowgate" soundtrack. The one downside is that you have to occupy both pulse channels to achieve this.

Delay On One Pulse Channel

While the effect won't be quite as effective in creating true delay, it is also possible to create a delay effect without utilizing both pulse channels, freeing up the second pulse channel for other parts. To do this, lay down the notes of your part but decrease the length of each note by a small amount by dragging the tail end back and shortening the note length. Then add a new note into the empty space after each note in the sequence (but ending before the beginning of the next note) that is at a lower note velocity (again, I usually go with 50%). This will play a short 'echo' of each note directly after it ends and give the impression of delay. Again, it's not as effective as using the second pulse channel as I detailed in the last few paragraphs, but it works nicely and with other channels playing along within the context of a full composition, the difference is less noticeable.

Feel free to experiment with the point at which the 100% velocity notes end and the lower velocity note portions begin and how long they continue. You can also add multiple notes after each full velocity note at varying descending velocities (eg 100% velocity note followed by three short notes with 75%, 50% and 25% velocities, respectively), with the last of those three ending before the next note begins. Doing it this way creates a smoother volume transition.

You can hear this type of delay in the lead part of this arrangement of "Bixby Canyon Bridge" by Death Cab For Cutie I created at 1:35 into the track.

Extended Delay Effects Using One Pulse Channel

For the previous delay examples, the delay effect was more subtle since the lower velocity notes followed closely after the full velocity notes and ended before the next note in the sequence in each instance, but on sequences with shorter notes that have some space between them, we can add lower velocity notes corresponding to their full velocity predecessors after later notes in the sequence so that the 'delay' is heard later on. This creates a longer delay time between the initial notes and their echoes.

For this and the next example, I changed up the tune so that instead of the longer note at the beginning of the first three measures, similar sets of the shorter notes in the fourth measure were inserted.

You can hear a version of this type of delay effect in this arrangement of "Another Life" by Kano that I created during the opening few measures. However, I also implemented a secondary technique in this track that I'll cover next, which divides each full velocity note in the sequence into two shorter ones and lowers the velocity of the second of that pair, then the corresponding delay note uses the same technique but the note velocities of the pair are significantly lower than those in the initial, full velocity pair.

Complex Extended Delay Effects With One Pulse Channel

As I just mentioned, you can divide each full velocity note in an extended delay sequence into two shorter ones, lower the velocity of the second, and do this for every note in the sequence. Prior to creating the delay note pairs, you can clearly hear how each note has a subtle delay on its own since we added the lower velocity notes directly following the full velocity notes (similar to the Delay On One Pulse Channel section above). Once you copy and paste the second pair for the echoes, reduce the velocity of all of them at once. If, for example, you have 100% and 50% for each initial note and reduced the velocity to 50% on all of the echo notes, they will have 50% and 25% velocity values respectively. This is my go-to for velocity values in this type of delay effect.

In this example, the additional blue notes are at 25% velocity.

Combining Delay Effects

Obviously, you can use any combination of the above to achieve various results. Perhaps longer notes have a simple delay while shorter notes use the 'complex extended delay' technique. The potential for delay on a single pulse channel or both adds a nice depth to any track that is sure to spruce it up!


As described in the last section, you can do volume changes manually by drawing the values in the event editor (as it's known in FL Studio) or with the built in volume and loop envelopes. Here, I'll show you how to do it manually while working with otherwise solid notes.

As a point of interest, you could even use this technique instead of the delay effect techniques outlines above by manually drawing in the appropriate volume channel changes where the duplicate 'echo' notes would be. See the comparison of this to the 'Delay On One Pulse Channel' below.

So why would you want to do this instead of via note velocity?

The main advantage to this method is it will be much smoother sounding. Notes played on the pulse channels have what's called a 'note on' velocity. That is, if you play notes in succession, you'll hear the beginning of each note with a bit of 'punch' to it because the initial volume you hear when the note is first played is different from the volume you hear as the note continues to play. However, if you use the event editor to change the channel volume instead, that extra 'punch' won't be heard anywhere you change the volume over the course of a single note as it's only heard at the start of each note. This difference is more noticeable on shorter notes since hearing a punch near the end of a long note isn't as jarring as hearing that punch very soon after the first.

The downside is, you have to draw in the channel volume changes manually throughout your track if you can't copy and paste control values in your DAW, whereas you can always copy notes along with their associated values and paste them where you like to repeat parts. Manually drawing the values will mean a lot more work but a cleaner, smoother result.

Creating Decay on Solid Notes

Using the event editor to create decays can be time consuming but is necessary for notes that you want to fade out over the course of a longer duration than the volume envelope allows. The automatic decay on pulse channels can be set to anywhere between a fraction of a second and up to a little more than one second (these times aren't associated with the actual control values but consider that if value 127 would give you a decay time of a little over a second then a value of 64 will give you about a half second, and so on). This isn't a long period of time so if, for example, you want a long lingering note as part of a chord, or part of a lead that fades out slowely as other parts play to the end of a few measures, you would need to draw that in manually.

For the sake of this example, let's say we have a whole note that we want to fade out. At 160BPM, that whole note will last 1.8 seconds and using the volume envelope will have it ending more than a quarter measure before the note plays all the way through. But we want it to last for the entire measure so we have to draw the value in the event editor.

For these examples, I inserted a whole note into the first three measures.

If you want a linear decay (decay with a constant rate) then you should draw each step along the duration of the note at even intervals. This most closely mimics the way the volume envelope creates decay.

If you want a note that lasts a little longer then decays quickly near the end, draw a curve that is shallower at the beginning of the note and steeper near the end.

And likewise, of you want a quick decay at the beginning and the note to last longest at a lower volume, it should be a steeper progression of steps at the front end and shallower as it nears the end of the note.

Remember that you won't hear anything between values 0 and 7 so be sure to keep the last bar of any of these manually draw volume control points at 8 or above!

Notes With Attack Volume Adjustments

As you might have guessed, doing the reverse of the above will have the note start quieter and get louder towards the end. In the terminology, this is called attack. The quicker the note reaches full volume, the higher the 'attack' is. The slower it takes to reach full volume, the lower the attack.

Organic Volume Changes

And now you can combine these drawing techniques to create more organic volume changes, which are great for leads and is closer to how someone would sing the lead. You can have notes swell to create more power coming into a new part or have them get louder across sections of the composition to build up to a chorus. I utilize this method a lot in slower tracks where the lead is heard mor prominently due to more subtle drums, longer bass notes and less going on with the backing part and it creates a nice, smooth, vocalized sound.

You can hear this type of organic volume change at 3:43 in my cover of "What Sarah Said" by Death Cab. In this part of the lead, I adjusted the values to sound both decayed and with lower attack.


As I mentioned in a previous section of this guide, achieving decay using the volume envelope (CC#11) is quite easy. Simply set the value of this controller in the event editor anywhere below 64 at the start of the note or notes you wish to have decay, then set the loop envelope (CC#10) to anywhere below 64 as well. Again, setting both the volume and loop envelope at the same value will ensure that you don't get any repeating notes you don't want and is a good practice that I recommend. Next, set the channel volume to the value that you think gives the note the best decay time. If you're unsure about where to set it, try the max (127) first and see how it sounds. When you have longer notes in the sequence, this will be a good value to have while with shorter notes, you may want to decrease the value so they don't sound like solid notes. In a perfect world, the decay set by these parameters would have the note begin at 127 and end at 0 no matter how long the note is but the NES doesn't work that way so if you want the cleanest sound, adjusting the channel volume for each note depending on its duration will give you the most control.

For lead parts, I often start with the channel volume at 127 and adjust the values for much shorter notes that repeat at the same key next to each other. I do this so the note volume at the end is low enough that the next note is more prominent in comparison. I use this automatic decay in many tracks but this cover of "Crooked Teeth" is a great example as both pulse channels utilize the volume/loop envelope and channel volume to get a nice sounding lead and backing part that don't overpower the whole song.

Last edited by Doctor Octoroc (Jan 19, 2019 5:38 am)

Franklin / Milwaukee, WI

Thank you for this!  Been using MIDINES to just make basic sounds forever.  Recently started controlling it with the Digitakt and the interface seems a little easier for me.  Thanks for this detailed thread - I'm going to slowly go through it with the Digitakt and MIDINES in front of me smile