Introducing KDx - the new way to design sounds on MONTAGE, MODX and MONTAGE M

  • Thread starter Thread starter Kier
  • Start date Start date
  • Featured
Welcome to the home of KDx, an online tool providing an intuitive and approachable way to sculpt sounds with your synthesizer.

If you know the basics of sound design but struggle or get frustrated with menu diving and multi-button combinations to access parameters, KDx has you covered.
KDx is a general-purpose one-control-per-function sound editing framework.


kdx-fm-x.webpThese are the currently-supported synthesizers:
  • Yamaha MONTAGE
  • Yamaha MODX / MODX+
  • Yamaha MONTAGE M
  • Yamaha SeqTrak
  • Yamaha reface CS
MONTAGE, MODX and MODX+ all get an identical editing experience. MONTAGE M has a few more AMW2 and FM-X parameters, as well as the AN-X engine. SeqTrak has a full AWM2 editor (you won't believe just how capable that thing really is) and reface CS is just fun.

While editing sounds, KDx will adapt its interface to suit the current synthesis engine, with full support for these systems:
  • AWM2 (supporting extended elements for MONTAGE M)
  • AWM2 DRUM
  • FM-X
  • AN-X (MONTAGE M)
  • DX (SeqTrak)
  • reface CS

What is KDx?​


KDx is a programmer, developed as a highly specialised web app. It provides an alternative interface to the sound editing features of the synthesizers it supports, allowing users to work with their synthesizer on an expansive one-control-per-function canvas that automatically updates to show a focused interface for the synthesis engine being operated, and the current values of controls, laid out like a traditional synthesizer.

What isn't KDx?​


KDx is not a virtual instrument. There are no VST/AU/AAX variations and you can't load it into your DAW. It is not a platform-specific app. It does nothing without a connected synthesizer.


kdx-purchase.webpHow do I get access?​


To use KDx, register for a user account here and purchase the KDx Subscription for $4.99 / month.


There is no lock-in period, and if you find that KDx doesn't suit your needs, just cancel your subscription before the month is over. You will retain access until the next billing date.

System Requirements


This is really simple. You don't need to install anything. You don't need any special hardware. If you can see your synthesizer in your DAW or any other MIDI application, you're good to go.

All you need is your synthesizer, connected to a computer or other device running a web browser that supports WebMIDI. For most people, that means Google Chrome or Microsoft Edge.

For Apple users, I'm afraid that macOS Safari and browsers on iOS do not support WebMIDI, but don't let that get in the way. For macOS, just install Chrome and for iOS and iPadOS, read on...

kdx-test.webpHow can I be sure my system can use KDx?​


If you want to make sure that your browser and synths are correctly set up to use KDx, I have put together a tiny test page using some of the technology from KDx.

Just visit the Compatibility Test and reassure yourself that everything is working.


kdx-chooser.webpHow do I use it?​


This is the easy part.

Follow the KDx link at the top of the page, and you will enter the 'chooser' page. If this is the first time accessing KDx, your browser will prompt you to confirm permission to work with MIDI devices.

Note that this grants permission for your browser to communicate with your MIDI devices, not this website. In normal MIDI mode, your MIDI data never leaves your own systems, and is not accessible over the Internet.

After you have confirmed MIDI access, and if everything is connected correctly, you will see your compatible synthesizers* listed on the next page, along with their model number and firmware version if applicable.

*Note that if you have a MONTAGE M with MIDI 2.0 enabled, KDx will list both the MIDI 1.0 and 2.0 interfaces as separate devices.

Click on the synthesizer with which you want to work, and the editor will load.

At this point, it really helps to have a huge display so you can fit as many controls onto the screen as possible, but some engines, especially AWM2 are so huge that scrolling will be involved.

The entire interface scrolls horizontally, and individual columns of panels scroll independently in a vertical direction.

Editing sounds​


I can't really tell you what to do next. All the controls are laid out for you in logical groupings that will be familar to anyone who has spent any time with one-control-per-function synthesizers.

As soon as you adjust any of the controls, the connected synthesizer will respond immediately.

Enjoy playing around with the graphic the pops up when you edit any envelope controls - it's a lot more engaging than messing around selectiing individual boxes and twiddling the data dial on MONTAGE!
The vast majority of controls are completely self-explanatory, but I'll offer a few pointers for a few of them.

kdx-waveform-search.webpAWM2 element waveforms​


After KDx loads, it will do a quick look-up to identify the names of the waveforms in use for each part if possible. Unfortunately, there is no way to request the names of waveforms from the User bank, or from any Libraries, so we just have to make do with the waveform number.

To change the waveform in use, you can either enter its number if you know it (refer to the relevant Data List) or you can search by name by typing into the name box.

Note that the waveform in use is defined solely by the waveform number, so just typing a name won't actually update the synth unless you select one of the matching waveform names it suggests.

kdx-cfx2.webpAWM2 extended elements​


When working with MONTAGE M, KDx supports the full range of elements for AWM2, right up to 128 elements per part.

However, the nature of MIDI communication means that things may slow down with huge numbers of elements in use... but it seems perfectly happy with the 17-element CFX2 performance.

Switching parts​


For MONTAGE, MODX and MONTAGE M, you have access to edit all 16 parts. While the PART selector might look like it only shows elements 1-8 (or 1-4 on a very small screen), the remaining elements are available if you horizontally-scroll the PART selector.

kdx-part-selector.webp

Due to limitations of the synthesizers themselves, things on MONTAGE M are a little bit different from other multi-timbral synthesizers, including MONTAGE and MODX.

When selecting a part with a MONTAGE M connected, the synth itself will switch its selected part. All other synthesizers allow you to edit the part you have selected in KDx, but the synth itself will not update its own selected part.

In practice, this doesn't make a lot of difference, except that when you load KDx for MONTAGE M, it will automatically switch to the currently-selected part, while KDx for all other synths will start up with part 1 selected, as they don't identify the currently-selected part over MIDI.

There is a huge amount of data to be exchanged with the synth when switching parts, and if you switch multiple parts very quickly, hardware limitations mean that the MIDI communication may not be able to keep up, resulting in artefacts like the performance or part name not showing correctly on KDx. If this happens, give it a few seconds to catch up, then switch away from that part and then back again.


Staying in sync​


Unfortunately, at the time of writing, none of the synthesizers with which KDx works notify connected systems of changes made directly on the hardware.

For example, if you have a part loaded in KDx and you edit the filter cutoff directly on the synth, neither KDx nor any other system connected via MIDI will be able to update its own corresponding control sympathetically.

The same is true if you load a different performance, or a different part using the synth, and this becomes particularly problematic if the editing interface for the new part does not match what KDx is currently showing, like if KDx expects to be working with an FM-X part, but you change it to an AN-X part using MONTAGE M.

Workarounds​


However, there is an easy workaround.

After making any changes directly on the synth, simply click the SYNC button at the top of the KDx interface, and it will instantly re-sync with the synthesizer, requesting updated values for all the controls, and upating the interface with the correct part type.

Alternatively, just hit refresh on your browser - KDx will continue from where you left off with all the controls properly updated.

These issues will be completely eliminated when synthesizer manufacturers fully adopt MIDI 2.0 and bidirectional communication becomes the norm.

kdx-midi-learn.webpMIDI learn​


KDx allows any MIDI hardware to send control change (CC) messages, which can be mapped by KDx into instructions to adjust any control.

To make a control assignment, click the MIDI Learn button at the top of the interface, and all controls will turn blue to show that they are ready to learn.

Select a control and it will start to pulse. Move a hardware control that sends MIDI, and the control will turn red and show the learned CC number.

To cancel the assignment, click the control again.

You may continue to map as many controls as you have MIDI controlllers, mixing and matching different hardware devices if you wish.

KDx supports separate controller maps for each part-type and each synthesizer, so you can have different mappings for FM-X and AN-X on MONTAGE M, and a different one again for FM-X on MODX...

Your controller maps are stored with your user profile, so they will be ready to use whenever you return to KDx.

kdx-active-module.webpThe active module​


For want of a better term, a module is an AWM2 element, an FM-X operator, an AN-X oscillator etc.

KDx has a concept of the active module for the purposes of MIDI controller assignments, which is indicated by a highlight around its editing interface.

While part-level controls can all be individually mapped to controllers, module-level controls (those that exist in every module, such as AWM2 element LFO controls, making an assignment to one will also assign the controller to the same parameter on all other modules - but the parameter that updates when you move your MIDI controller depends on the active module.

That sounds way more complex than it is.

Let's say you assign CC 77 to AWM2 element LFO speed. You move your controller, and the LFO speed for element 1 updates. Now you click on element 2, or use any of its controls. Element 2 now becomes the active element, and moving your CC 77 controller will update element 2's LFO speed. To work with element 1 again, just activate it by clicking, or using a control.

The Relay​


One of KDx' headline features is the relay, which allows devices that have no MIDI support, or are not directly connected to your synth, to seamlessly work as though they were directly connected.

It does this by allowing remote or unsupported devices to securely connect over the Internet to the primary device that is running KDx, which acts as a relay for MIDI communication.

For example, I run KDx connected to my MONTAGE M on my Mac running Chrome. I then use the relay function to allow me to run KDx on my iPad while I am sitting directly at my synth, so I have the enhanced editing interface of KDx available while not being tied to my computer.

Note that using the relay does transmit MIDI messages over the Internet, but they travels through a secure tunnel between authenticated devices and can not be intercepted, nor are they logged or stored in any way.

kdx-relay.webpTo use the relay, access KDx as normal using a device with WebMIDI support that is connected directly to your synth. We'll call this the host or proxy device.

Next, press the RELAY button at the top of the screen, and you will be shown a QR code.

Scan this QR code (or copy and paste the link) with the remote device to which you want to relay, and it will open the KDx interface and connect securely to the original device.

The secret code added to the end of the relay URL will remain active throughout your session, but if you close the relay, the key will change every 24 hours for security reasons.

You can share the QR code or URL for your current session to anyone else in the world (provided they have a KDx subscription) and they will be able to collaborate with you, all working on the same synth at the same time.

To shut down the relay, show the QR code again on the host/proxy and hit the Shut Down button, or just close the KDx window.

With the relay terminated, nobody can access your synth, even if they have your current secret key.

Relay glitches​


Occasionally there may be Internet issues that cause your connection to the relay to fail, and KDx will alert you to this with a message.

In the event that the relay drops, refresh the KDx page on host/proxy first, and the remote may start to respond again. If not, refresh the remote.

What doesn't KDx do?​


KDx is focused solely on sound design, and covers just about every sound editing parameter available on the synthesizers it supports, but these instruments are enormously complex machines, and there are some things that just make more sense to edit directly on the synthesizer than in KDx.

Among the systems KDx does not cover are:
  1. Arpeggios
  2. Motion sequences
  3. Insert effect parameter editing (but you can select insert effects and their presets)
  4. Part LFO (too many possible destinations to make a useful interface)
  5. Control assignments
  6. Zone settings
  7. Performance-level effects selection
Some of these might be supported in a future update, especially when MIDI 2.0 support is available on MONTAGE M (which has a very, very limited implementation right now) and in WebMIDI (which is not available at all at present) but for the time being KDx is concerned primarily with part-level sound editing only.

Future updates​


I have more plans for KDx, and as new features are introduced I will announce and discuss them here. Subscribe to updates from this forum for the latest news, or keep an eye on YouTube.


Support, suggestions, requests and bug reports​


As with any software system, there are bound do be a few glitches lying around here and there in KDx, despite my extensive testing.

If you find anything that needs my attention, post in the relevant section of the forum and I'll get it sorted out.

For now though, I hope you enjoy working with KDx as much as I have enjoyed developing it. I am looking forward to reading your thoughts on this new way to make the most of these amazing instruments.

- Kier
 
Last edited:
A quick note here, because I'm seeing various comments on Facebook and YouTube asking about a waveform editor, which suggests that people are thinking that KDx is in some way a new version of the John Melas tool suite.

It's not. Even remotely.

KDx is a programmer interface that works using sysex over MIDI. It has no access to anything that the synth does not expose via MIDI, and its purpose at present is solely to make the experience of editing sounds more approachable and enjoyable.
 
Back
Top