Machinedrum SPS1-UW X.05: the living documentation

In this topic, I will cover the details of the new features in X.05.
For now, consider this thread an always under-construction, and I’ll add things while I still remember. :slight_smile:
Some of these features and guides are the coming straight from the conversations I had with our testers.
Feel free to remind me of missing points!

The principle of NFX machines

It’s like MnM/OT neighbor FX, but different(better):

  • Each MDX NFX machine can grab inputs from TWO neighbor tracks instead of one.
  • The NBAL knob controls the balance of the neighbors. -64=the FAR neighbor (2 tracks before current), 63=the NEAR neighbor (the previous track)
  • For example, NEAR neighbor of track 7 = track 6, FAR neighbor of track 7 = track 5
  • Wraps around at track 16. So NEAR neighbor of track 1 = track 16, FAR neighbor of track 1 = track 15
  • See @Rusty 's nice illustration: Machinedrum SPS1-UW X.05: the living documentation - #22 by Rusty

Machinedrum architecture separates SYNTHESIS from EFFECTS and ROUTING, so we are able to intercept the SYNTHESIS data in the NFX machines so the clean signal can pass through multiple EFFECTS/ROUTING machines.
Therefore, all NFX machines are capable of multi-processing and chaining.

                     +-[NBAL -64]-------------------------+                     
                     +-[NBAL 63 ]-------+                 |                  
                     |                  |                 |                  
               +-----^-----+         +--v--+           +--v--+                                
SYNTHESIS      | SRC MACH. |         | NFX |           | NFX | ...                           
=========      +-----------+         +-----+           +-----+                                
               [DEL   REV    ]       [DEL   REV    ]   [DEL   REV    ]
MIXER          [    LEVEL    ]       [    LEVEL    ]   [    LEVEL    ]

For example, you can use NFX to apply multiband EQ to one source track, and balance the multi-EQ with the LEVEL knobs.
The LEV knob of the source/NFX also work as dry/wet control. For example, if you want an “insert FX”, turn off source LEV down to 0.
See @waftlord 's multiband processing demo here: Machinedrum SPS1-UW X.05: the living documentation - #8 by waftlord
Now, let’s dive into each individual machine model. I’ll interchangably use N1/N2 to denote the FAR/NEAR neighbors.


NFX-EV adds envelope and ring modulation to the neighbor tracks.

  DEL:  Envelope delay.     [ LINEAR ]     
  ATK:  Envelope attack.    [ INVEXP ]    
  DEC:  Envelope decay.     [  EXP   ]  
  SUS:  Envelope sustain.   [ LINEAR ]    
  HOLD: Envelope hold.      [ LINEAR ]  
  REL:  Envelope release.   [  EXP   ]    
  RING: Ring modulation.        
  NBAL: Neighbor balance.       
  +----+    +---------------+     +------+                     
  | N1 | -> | DHADSR ENV. 1 |--+->| NBAL |--+                  
  +----+    +---------------+  |  +------+  |                  
                               |           (+)--> OUT                      
  +----+    +---------------+  |  +------+  |                                   
  | N2 | -> | DHADSR ENV. 2 |--+->| RMOD |--+                                   
  +----+    +---------------+     +------+                                      

A NFX-EV has two DHADSR envelope generators, activated by track triggers.
The DELAY parameter is only effective for the far neighbor, so near env. activates first, then far env.
NBAL controls the clean output balance, while RMOD modulates the two neighbor tracks.

FN-PARAM behavior:

  • If applied on a NFX-EV synthesis page, adjusts all present NFX-EV, and not other tracks.
  • If applied on other machines synthesis page, NFX-EV won’t be adjusted.
  • Accepts EFFECTS/ROUTING FN-PARAM adjustments no matter what machine.


NFX-CO adds compression, side-chaining and make-up gain to the neighbors.

  ATK:  Compressor attack.       
  REL:  Compressor release.       
  THRE: Compressor threshold. Maps to [-44 dbFS, -12 dbFS]  
  RTIO: Compressor ratio.     Maps to [1.0, 32.0]
  KNEE: Compressor knee.      Maps to [-32 dbFS, 0 dbFS]
  SIDE: Compressor sidechain mix.
  MKUP: Compressor make-up gain. Maps to [0 dbFS, 24 dbFS]
  NBAL: Compressor input neighbor balance.       
  +----+      +------+   +------------+    
  | N1 | --+->| SIDE |-->| Sidechain  |    
  +----+   |  +------+   |            |   +------+ 
           |             | Compressor |-->| MKUP | --> OUT                      
  +----+   |  +------+   |            |   +------+                  
  | N2 | --+->| NBAL |-->| Audio      |                     
  +----+      +------+   +------------+                     

FN-PARAM behavior:

  • Ignores SYNTHESIS FN-PARAM from other tracks.
  • Accepts EFFECTS/ROUTING FN-PARAM adjustments no matter what machine.

Basic bass/kick sidechain demo by @waftlord: Machinedrum SPS1-UW X.05: the living documentation - #40 by waftlord


NFX-UC packs 2 universal comb filters into one machine, and can be programmed as various effects, such as chorus, flanger, vibrator, stereo imager etc.
As the name suggests, a universal comb filter can function as many different types of comb filters: feed-forward only, feed-back only, inverted, etc.
Comb filters are more about time than frequency. It’s not like a low-pass filter which gives you a cut-off point, but affects the whole spectrum.

  TIM1: COMB-1 time
  TIM2: COMB-2 time
  TD:   Delay line head move damping
  TI:   Delay line head move inertia
  FF:   Delay line feed-forward (FWD)
  FB:   Delay line feed-back (BWD)
  DMIX: COMB-1/COMB-2 mix
  NBAL: Neighbor balance, not shown in the figure
  NEIGHBOR LEV: The LEV knobs of the neighbor tracks

          +---------------->(* NEIGHBOR LEV )-----------------> Dry
          |                   +---------x1[n-T1]*(1-DMIX)        |
          |                   |  +------x2[n-T2]*DMIX           (+)
          |                 +-^--^--+    |                       |
  [ NEIGHBOR IN ]->(+)----->|  DDL  |   (+)-->(* FWD )--------> Output
                    ^       +-------+    |                                                   
                    |                    |                                                      
                    +-----(* BWD  )<---+                                                      

Think of a comb filter as a really short delay line.
It’s so short that it started to interfere with the original signal, rather than creating components that you can tell apart.
Like, when you transmit “stacked together” twice over radio really close to each other, you get:

s t a c k e d  s tt oa gc ek te hd e  rt o g e t h e r

There are two mini delay lines TIM1 and TIM2 which are not individual but work together.
Use DMIX to control how the two blends.
When one side is strong, the other one will sound like complementary harmonics to the main body.
For quickstart, I recommend first going with one DDL, e.g. dial DMIX to -64 so TIM2 is completely ignored, and ignore TD/TI for now – leave them at 0.
Then a few presets for this single-comb setting:

Preset 1

FB=0 FF=63: full-on feedforward with no feedback. This is great for chorus/flanger/etc.
Dial FF/FB to this setting, and try turn TIM1 and observe how the sound starts to behave like a chorus/flange/doppler-style vibrator.
You can use LFO/PLOCK on TIM1 to achieve arbitrary expression possible with a comb.
But if you feel there’s too much artifact in the sound, dial up TD a bit,
because the LFO/PLOCK are lower resolution than TIM (which operates AUDIO buffers),
and TD makes transitions smoother, like a low pass filter for TIM.
Note, if you use PLOCK, you need to enable slides on them. TIM does not like sudden changes, and flanger requires a really slow slide, while chorus/vibrator can go faster.
For example, for a pattern of length 16, dial in two locks at step 1 and 9. Lock TIM1 to, for example, 64 and 127, and enable slide on both, then observe how more expressive it is than an ordinary flanger :smile:

Preset 2

FB actually has two segments, linear and OVERDRIVE.
[-48,48] is the linear region, good for chorus/flanger etc.
If you go pass that, it will start to self-resonate and TIM1 becomes the pitch.
This is good for short-decay sources, and creates plucked and metallic sounds – look up “Karplus Strong” to find out more.
In contrary to flanger/chorus etc., a self-resonating comb filter does not like moving delay length, because it will destablize the resonator.
This could be good or bad, depending on what you need.
Also, if you need precise pitch control, change it to TONAL MODE in the kit editor. TIM1/TIM2 then effectively become PTC1/PTC2 (like the OT comb filter).

Preset 3

Stereo imager.
Turn up LEV of source track, pan hard left; NFX-UC pan hard right. Adjust TIM1 accordingly.
And you have a true stereo imager.

The INP-CA/INP-CB machines

Identical implementation to NFX-CO, except that it doesn’t take neighbor tracks as input, but the 16-bit INPUT A/B.
The side chain knob, in turn, controls the balance between the two inputs. Setting it to 0 and you have a linked compressor. Activate both CA/CB for a stereo compressor.
You can also sidechain INP-CA with INP-CB and vice versa.
Like other INP machines, it has an ILEV knob for pre-gain.



i’m super jaleous of machinedrum owners
incredible work


Envelope: linear or exponential? Thanks.

Edit: thanks for the reminder, updated the doc.


Damn. NFX look so cool. Now we need a way to insert them in the middle of a kit, shifting the rest of the voices towards right !


Dope dope dope !

woke up and realised this was pretty rough way of doing it.
This method should be titled “multiband compression with accumulative distortion” :wink:
3 separate identical sources with 3 separate NFX-COs would be a far cleaner method (or changing NBAL to far neighbour input on track 15 so it’s using same source as 14) so they don’t use the page 1 settings from each previous NFX-CO. :+1:

you could have 8 INP-CAs and 8 INP-CBs for 16 tracks of LR stereo processing.
X.05 has evolved the MD into a mastering workstation!


What determines the far neighbor? The near neighbor is always the previous track if I understand correctly but what about the far neighbor? On my neighbor track for track 2 it is 16 and for a neighbor track on track 10 it is 8??

So it seems that the far neighbour is 2 tracks before the current track and that this wraps around from 1 back to 16, so that the far neighbour for track 1 would be track 15.
(Just guessing; you should check for yourself.)


If I have a Kick on Track 1 and put an NFX Comp on Track 2, I should be able to compress the Kick on Track 1? That’s what I did but nothing is happening. Do I have to enable something else or have I missed something?


have you trigged the NFX-CO? just needs one to enable it


Awesome. Following. Who doesn’t love reading manuals and technical documentation?


So obvious, thank you!

What is the “far neighbor” ? With nxf ev on track 2 I only hear sound from track 1, not from track 3, is this normal ?

The NFX relate to the previous neighbours. Not the neighbours on either side.


Ok thank you but so what does that mean :
Each MDX NFX machine can grab inputs from TWO neighbor tracks instead of one.
The NBAL knob controls the balance

Neighbour 1 (far) - Neighbour 2 (near) -. NFX

1 Like

I don’t understand sorry.
I have a nfx track which is a neighbor track as in the octatrack.
It grab the audio of the previous track

Track 1 : SN machine
Track 2: NFX receive the audio of track 1

What is the far and near ? Why using far and near word when we talk about the previous machine.
What are the two inputs

the two inputs are the previous 2 tracks to where the NFX is placed.
So move your NFX to track 3, then track 1 becomes far neighbour, track 2 becomes near etc.