Yamaha DX21 Troubleshooting guide

UniSynth version 1.0
UniSynth is a stand-alone application managing MIDI hardware devices.
It is developed and distributed by Midimetric® , a one-man startup business located in France.
UniSynth currently supports the following hardware:
Korg DW-8000 / EX-8000
Yamaha DX21 / DX27 / DX27S / DX100
It will soon also supports (in alphabetical order):
Korg DW-6000 ( second quarter 2009 )
Motu Midi Mixer 7s ( second quarter 2009 )
Novation DrumStation ( second quarter 2009 )
Oberheim Matrix 6 / 6R / 1000 ( second quarter 2009 )
Waldorf µQ / µQ Omega ( third quarter 2009 )
Yamaha 'A' samplers A3000, A4000, A5000 ( third quarter 2009 )
On the other hand, I won't add support for:
– devices that are sold with a decent editor from the manufacturer (like Clavia),
– devices for which no midi implementation has never been published,
– devices that does not support single-handled parameters (like Korg Poly800 II),
– device that already have a complete hardware interface (like the Supernova II with its 51
knobs and 136 switches !).
For up to date information on supported devices, ideas, request and pricing, please visit the
site www.midimetric.com
UniSynth is not the first application to propose MIDI management, there has been some other
products on the market ( MidiQuest, SoundDiver, etc... ) and a lot of one device dedicated
freeware applications.
After trying most of them, i found they where complicated, uninspiring, expensive and
sometime not working at all...
UniSynth is developed to be a modern, affordable and lightweight application, easy to
understand and operate. Not only does it closely dialogs with your MIDI equipment, it also
brings features not available on the equipment.
I hope UniSynth will bring a new shine on your MIDI hardware, making it fun and inspiring.
UniSynth will run on any .Net 3.5 compatible Windows system.
Note : the .Net 3.5 platform is native in later systems, or part or services packs.
If you need to update your system, please check on Microsoft site to find an update, a service
pack or a stand-alone download-able setup.
You will need at least one MIDI port on the computer, either through an internal or external
sound card or through a MIDI interface box.
On some systems, you will need to have the Administrator access level during installation.
Run the Setup application and choose a folder where to install.
Default installation folder is Program Files\UniSynth.
After setup, an UniSynth folder will be created in Windows common application data folder.
On Windows XP, this will be in C:\Documents and Settings\All Users\Application Data.
By default, a folder will be created there for each configured device model, with further subfolders depending of the device managed data.
UniSynth is not a free software, it takes weeks to put together all these 'sysex bits' and to
layout a functional interface.
Each supported model registration must be purchased for a small fee.
Until a model is registered, each time you open one of its edition window, a message box will
remind you of the registration procedure.
You can pass the registration message without actually registering and continue in 'demo
mode' but the program will wait one minute before presenting you the edition window.
If you want to register for this device model, note the model name and code displayed in the
message and send an email request to sales@midimetric.com with this information.
You will receive in return the purchase procedure through PayPal.
After payment confirmation, you will receive by email the registration code.
This code is only valid for one installed UniSynth and one 'base' device model.
The 'base' notion here means that one registration covers all the compatible models: for
example, registration for the Korg DW-8000 is valid also for the EX-8000 (the rack version).
The code is valid for any number of devices of the same model.
Getting started
Start the application by clicking the UniSynth icon in Windows start menu.
The 'main' window of UniSynth will
appear on the upper left corner of
your screen. You can move it and
resize it, this will be saved for next
session. The default size is enough
for one or two devices though.
First you will need to add one device for each piece of hardware you want to manage.
Select the menu Devices/Add, this will open the device configuration dialog box.
First select the specific device model : open the brand node, then the range node, then click on
the model.
You can give a unique name to this device. Note : this affects the instrument name when
updating Sonars INS file and allows the have several devices of the same type with their own
patch list.
Select the input and output midi ports the device is connected to.
If it is relevant for your device, select a Midi channel and a unit number.
Leave the default base data folder or select your own base folder. A folder named after the
selected model will be created in this base folder.
Now click the Test button. A request is sent to the selected output port and a response is
awaited in the input port. If there is a response and the response type matches the selected
model, the text 'OK' is displayed next the button.
If the text displayed is 'Failed', check that the device is powered on and check your midi
connections. Either there was no response or the response does not match the selected model.
If you select the Generic model, an Universal Identity Request message is sent. If there is a
response, the manufacturer name of the connected device will be displayed next to the Test
button. Note that not all devices respond to this message... The Waldorf µQ does for instance,
not the Alesis Ion or the Novation SuperNova II from my set. If there is no response, the test
displayed is 'Not tested'. That means the program cannot tell for sure if the settings you have
selected are right or wrong.
After the test, click OK to keep this setting. The newly added device will be listed in the main
If you have an other device like a master keyboard you want to use during edition, you have
to select the MIDI transmission of input ports.
To do this, select the menu Tools / Controllers.
The controllers dialog box opens.
Each line of the grid represents one Midi input port. If your system has more than eight input
ports, a scroll bar will be displayed on the left side of the table.
Each column of the grid represents one type of MIDI message:
– note :
the 'note on' and 'note off' messages ( MIDI command h80 and h90 )
– poly a.t.
the polyphonic after touch or pressure messages, quite rare ( hA0 )
– cont chge
the control change messages ( hB0 )
– pro chge
the program change messages ( hC0 )
– mono a.t.
the monophonic after touch messages ( hD0 )
– pitch bend
the pitch bender messages ( hE0 )
– sysex
the system exclusive messages ( hF0 / hF7 )
– common
mainly the MTC messages ( hF0 )
– real time
the real time messages ( hF0 )
Click in an empty square to enable the corresponding type of message for this input port.
In the above snapshot, i have selected only messages for one master keyboard : note played
with monophonic after touch, control changes (mostly for the modulation wheel ) and pitch
If you use an external MTC control command box, you will have to enable the common and
real time messages to allow for 'start', 'stop', 'song select' and 'tempo' messages.
Click OK to validate your settings.
Now the chosen MIDI messages appearing on the enabled input ports will be dispatched to the
currently selected device in the main window.
Select the device you added earlier by clicking once on it. Play on the master keyboard, you
will ear the device play in response. If not, check the troubleshooting guide at the end of this
Main commands
The main window features several commands available through the menu.
Devices / Add
Adds a new device, See the Getting Started chapter above.
Devices / Remove
Removes the selected device.
Devices / Configure
Opens the configuration dialog for the selected device,
Devices / Display As
Switches the device list display between Icons and Report
Device / Update Sonars def
This command will update the master.ins file from Sonar ( well... if you have this software
from Cakewalk & Roland, information is available at www.cakewalk.com ).
It will create or update an instrument definition based on the device name ( DW #1 in the
above examples ). This way the patch names listed in Sonar will reflect the current patch
names in your device.
Note: the first time UniSynth updates the master.ins file, it will create a backup copy of the file
named master.ins.bak .
Edit /
Depending of the selected device some commands will be enabled in the Edit menu.
Tools / Controllers
Configures the MIDI messages to transmit to the selected device. See the Getting Started
chapter above.
Tools / Language >
Allows to switch the application language.
Help / About
Displays information on the current version of UniSynth and registered device models.
Help / View Help
Opens this document
empty page
The Programs Bank window
If the selected device can manage programs, select the menu command Edit / Programs.
The Programs Bank window will open:
The count of programs depends of the selected device. Here, the Korg DW8000 has a single
bank of 64 programs. Note : the DW8000 does not natively handle program names, see the
chapter about the Korg DW8000 for more information on this subject.
The left part of the window displays three boxes : Bank, Program and Buffer.
The Bank box
It will show a list of available banks (for devices that have several banks).
The Load command allows to open a sysex file containing a bank definition. The definition is
loaded in the computer memory and displayed but is is not sent to the device. You can decide
to send the full bank to the device, thus overwriting it current bank memory. Or you can send
each program to the edit buffer to audition them, save them a single path file, etc...
The Save command allows to create a sysex file containing the bank definition currently in the
computer memory.
The Request command will ask the device to send its definition to the computer. During the
MIDI transfers, a progress bar is displayed. Note that program numbers will appear in blue
when UniSynth is sure that display is synchronized with the device. Red numbers like above
means UniSynth does not know if it really is what the device has in memory.
The Send command will transmit the full bank to the device. In most cases, this will overwrite
the content of its memory without further confirmation.
Tip : The first time you open the window for your device, you should request its banks and
save them on the computer hard drive.
UniSynth will automatically save the current banks data to its data folder. It will create in the
folder <device>\Patches\Banks a file named after the device name followed by 'current'
followed by the bank number. This way, the next time you open the Programs Bank window,
UniSynth will display the last data worked on.
The Program box
It allows to manage programs one by one. To use a command from the Program Box, a single
item must be selected in the list. The commands will work on this program.
The commands Load / Save and Request are similar to the commands of the Bank box.
The Send button is labeled '> Buffer' because the program is not sent to a memory location in
the device. Instead, it is sent to the Edit Buffer : a temporary location that does not overwrite
any memory location. The name of the last sent program will appear at the bottom of the Edit
Buffer box. You can also double-click on a listed program to send it to the Edit Buffer.
The Buffer box
It allows to manage single programs without affecting the memory of the device.
The Load commands open a sysex file and directly sends the data to the Edit Buffer.
The > Prog command will 'send' the content of the Edit Buffer to the selected memory
location. In fact, it will ask the device to write this temporary data to a permanent location.
The Edit button will open the Program Edition windows. This window is specific to each device
model, so it is covered in the device dedicated chapters.
Common operations how-to
To copy a program from one location to another:
– select the program to copy
– click on '> Buffer'
– select the program to replace
– click on '> Prog'
To browse through a bank file without changing the device memory:
– click on 'Bank' / 'Load' and load the desired file.
– Double click on the program to audition
To insert a program of an other bank in the current bank (except for the DW8000):
– click on 'Bank' / 'Load' and load the desired file.
– Double click on the program to insert (it is copied in the Edit Buffer)
– click on 'Bank' / 'Request' to get the current bank
– select the program to replace
– click on '> Prog' to copy the Edit Buffer to this location
Note : this technique does not work if the device clears it edit buffer when the current bank is
requested (like for the DW8000). For this device, you have to save each program you like into
a 'single' file. After you have picked-up one or more programs, request the current bank and
load the chosen programs from files directly into the current bank.
empty page
The Korg DW/EX 8000 plug-in
The Program Bank Window
The Korg DW/EX 8000 does not have any memory space to store patch names. They are only
known by a number 11,12,...,18,21,22... Static memory was expensive back then!
UniSynth provides a convenient way to remember a patch name: it looks up all files stored in
the Korg_DW8000\Patches\Singles folder. If it find one file having the same data than a
program, it uses the filename as program name. So to give a name to a program, just save it.
For example, if you want to give to program 32 the name 'Violin', select the program, click on
Program / Save and save it under Violin.syx. Now, each time UniSynth has a program with the
same settings than #32, the displayed name will be 'Violin'.
To prevent having several files (with different names) with the same data, UniSynth will ask
you if you want to delete the previous .syx file during saving.
If now you save Program #32 under the name 'Fiddle.syx', UniSynth will ask you if you want
to delete the file 'Violin.syx'. You can also cancel the whole operation.
If ever you still end up having several files with the same data, the first found will always give
its name to the program. With the previous example, if you don't delete Violin.syx, the
Program #32 will still appear under name 'Violin'.
The first time you request a bank from the DW/EX, you will probably have no names to
programs. You will have to give a name to each one:
– double-click on the program 11
– audition it to decide of a name
– click on Buffer / Save (or Program / Save) and use the chosen name
– 63 left...
If you modify a program data, remember to save it also to keep the name synchronized with
the patch.
The Edition Window
To pen the edition window, click on Buffer / Edit.
The Edition window will
display the settings of the
current Edit Buffer.
This windows presents three
areas : a time graph on top,
a control panel below, and a
command panel on the
bottom right-hand corner.
The Graph
The graph shows the evolution of sound parameters over time. Simply turn the knobs of the
control panel below to view the curves move along.
On the bottom of the graph a real time scale in seconds is displayed. The scale will adjust
automatically to the audible portion of the sound (i.e. the yellow VCA envelope).
The vertical scale is fixed and the meaning depends of the drawn parameter. As a basic rule,
upper side is 'louder', 'brighter' or 'higher pitch'. Lower side is 'quitter', 'darker' or 'lower pitch'.
Lines have the same color than the text of the parameter involved.
For example, all the VCF parameters with a blue text ( envelope amount, cutoff, EG. ) are
represented with the bright blue line.
The yellow curve show the 'VCA EG', or the Amp envelope in more modern words.
The sum of OSC 1 level, OSC 2 level and Noise level gives the maximum height of the curve.
In the above sample, the attack is almost null and the curve is almost instantly at peak level.
Then a medium decay of 15 (which takes 1.8 sec) brings the curve to break point level of 28.
Then a slope of 21 bring the curve to sustain level of 8 at time 3.3".
The dotted portion of the line shows the sustain. It has no duration by itself but the curve is
extended to always show at least one half-second of sustain for both VCA and VCF EG.
Finally, the rounded end of the envelope represents the release time to bring the overall
volume to zero.
The vertical purple lines show the digital delay effect. The effect level changes the initial line
height. The feedback parameter affects the number of repeated lines (echoes). The distance
between lines is related to to the time parameter.
All time related parameters where computed from real measures
of audio recordings (this was quite a task...). So effectively, you
can synchronize envelope, LFO start time and frequency, echoes,
etc... For example, you can easily have the pitch LFO (dark red
saw) start exactly at the end of the auto-bend (bright red line)
like in this snap shot:
The control panel
The control panel features two type of items, knobs and buttons.
The knobs are the round shiny things, showing the current value in
the center. An orange arrow shows also the current value.
Instead of using the 'grab' and 'move around' paradigm that i really
don't like, there is two ways to operate knobs:
simply click with the left button to turn one step left or the right
button to turn one step right. If you keep the mouse button
down, the knob will keep turning.
use the mouse wheel. Each wheel step up (or forward) will raise the value by 1, each step
down (or backward) will lower the value by 1. This is very useful to adjust values by one or
two steps.
Note that most of the time, the graduated scale around the knobs exactly shows the number of
steps available. In the above snapshot, the OSC 1 octave knob has four positions while the
OSC 1 wave has 16.
On some knobs where the parameter has a 'central' value, the knob will feature a central
detent : i.e. when turning around, the movement will stop for a second on the central spot.
This way, it is easier to reach common values.
When possible, values in the middle of the knobs show the real value, not just numbers. This
is true for the octave knob, or the wave knob.
Pour the later, abbreviations are (as per Korg):
– saw
saw wave
– sqr
square wave
– pno
– ep1
electric piano 1
– ep2
electric piano 2
– hrp
– org
– brs
– sax
– viol
– gtr
acoustic guitar
– fuz
electric guitar
– bss
– dig
– bell
– sine
sinus wave
The buttons (the dark gray rubbery things), allows to switch a parameter on or off.
In the snapshot above, the buttons O1 and O2 are 'on', meaning the Autobend affects both
Sometime, the text displayed on the button will change to show the current state. Like the
keyboard mode buttons 'poly' and '1' will switch to 'mono' or '2' if you push them.
To operate a button, just click on it.
Note on DW parameters implementation:
You will find that the control panel shows less knobs than the number of available parameters
on the DW. For simplicity (and because nowadays we can handle data 'bigger' than 6 bits ;) ),
some parameters pairs where combined into a single knob.
The delay time and the delay factor is combined in one 'time' knob ranging from 0 to 127.
The 'VCF polarity' (0-1) and the 'EG intensity' (0-31) are combined in one 'envelope amount
knob ranging from -31 to 31. Same for the Autobend.
Also, you may have noticed that some knobs show more values than the corresponding
parameter on the DW. For example: the OSC 2 Interval knob has 8 steps where the parameter
is supposed to have only 5 allowed values... Well, i just tried to send 'out of bound' values to
the DW and it worked ! So with UniSynth you effectively can create sounds not accessible from
the DW8000. The extended parameters and values are:
– OSC 1 octave : one more step brings the base pitch 5 semi-tone above original max.
– OSC 2 octave : same
– OSC 2 interval : three more step above 7th chord : zero (does nothing), 12 (1 octave up)
and 32 ( 2½ octaves up !)
– bender range : three more steps above +- 12 : 13, 14 and 15.
The Command Panel
The command panel has three buttons, Init, Rand and Morph.
They give access to advance features affecting all parameters.
The Init button will set all parameters to a simple saw sound. A good start point to build a
new sound from ground up.
The Rand button will set almost all parameters to random values. Creates great sounds if you
are lucky ! Note that some parameters are not changed like the keyboard settings (having
portamento on all sounds is boring...). Also some parameters have 'weighted' ranges : i.e. the
autobend start level is most often equal to low values... but not always. On the opposite, OSC
levels are rarely set to low values, because you wouldn't ear much.
Tip:If you ear no sounds after a random set, try first to raise the cutoff level.
The Morph button allows to set parameters between two sounds.
When you click the button, you have the option to load a second
patch from the disk.
Select the patch file, the window title will then show the two patch
names and the Command Panel will show a new knob and a new
The knob controls the 'morph level' between the two sounds, the value expressed in % show
the part of the Patch #2 in the mix. At 0%, only sound from Edit Buffer is used, at 100% only
sound #2 is used.
Note that at 50%, OSC Wave values abruptly switch from Patch 1 to Patch 2. Also, to avoid
sound stutter, the morph jumps by steps of 10%.
During morphing, other knobs and buttons are disabled.
When you have the right morph level, press the Done button. The Edit buffer parameter will be
set to the obtained values and you can resume normal edition.
The Yamaha DX 21/27/100 plug-in
All the manufacturers use time length values
where low values give short envelopes and higher
values give long envelopes.
On the opposite, Yamaha uses a notion of rate for
its DX range: low values give slow envelopes and
high values give fast envelopes.
If like me, this notion do not seem natural, you
can modify this in the Preferences dialog of the
plug-in. In the Main window, select the menu
Edit/Preferences to access this setting.
When you select the 'Time Length' option, all rates
values are inverted. Turning the attack knob to
the left toward zero gives shorter envelopes.
At zero (shortest attack time), the DX will display
a rate of 31 (fastest attack time).
The Program Bank Window
Only the User Bank is shown. Since to access the presets you have to load them into the User
Bank, it is easier to load them from a sysex file.
The Edition Window
To open the edition window, click on Buffer / Edit. This windows presents three areas : a time
graph on top, a control panel below, and a command panel on the bottom right-hand corner.
The Graph
The graph shows the evolution of sound parameters over time. Simply turn the knobs of the
control panel below to view the curves move along.
On the bottom of the graph a real time scale in seconds is displayed. To render the huge time
variation of parameters, the scale is exponential ( 1,4,9,16...).
The vertical scale is fixed and the meaning depends of the drawn parameter. As a basic rule,
upper side is 'louder', 'brighter' or 'higher pitch'. Lower side is 'quitter', 'darker' or 'lower pitch'.
Lines have the same color than the knobs involved.
For example, the blue line display the values of the blue knobs (operator 1).
To be consistent with modern synthesis vocabulary, some DX parameters have different names
here :
'Decay 1 level' is called 'Sustain'
'Decay 2 rate' is called 'Fade Out'
If we take a closer look at operator 1s' curve in the image above, we see:
1 : The attack segment is very short and volume is at maximum level in about 1 tenth of a
2 : The decay segment is quite long and takes about 7 seconds to reach sustain level.
3 : The sustain is not constant, the Fade Out parameter will lower the volume to zero in about
75 seconds.
4 : The dotted curve represent the release: i.e. the change in volume when the key is
released. Here, level falls to zero in one second.
Note : in the DX graph, it would not make sens to attach the release segment to the end of the
sustain segment. First it would not be visible after a fading out (it will go from zero to zero ),
in second, the release part can happen everywhere along the envelope as soon as you release
the key. It is why it has been decided to attach it to maximum level of the envelope for better
All times shown where measured from real audio recording. For instance, with a frequency of
1, the LFO really take 5 minutes and 10 seconds to complete a cycle... Can you imagine
keeping a key pressed for that long to measure it ?... Well, I did ;).
However, this will be true only if the KeyFollow parameter Speed is set to zero. Otherwise, real
time depends of the played key.
The control panel
For directions on control panel usage, please see the chapter about the DW-8000 module.
Notes pertaining to DX21/27/100
The snapshot of the control panel shown earlier is for the DX21.
The DX27 and DX100 don't have the following controls:
– Chorus button
– Pedal volume knob
– The Pitch Envelope section
Operator activation / deactivation:
To activate or deactivate an operator, you can click on the colored boxes showing operator
numbers. The box and the curve are shown in gray when the operator is inactive.
I have changed parameters names to use more generic names more in use nowadays.
– The Decay 2 which interact during sustain phase is called 'Fadeout'
– The Keyboard Scaling / Level is called Key follow / Damp
– The Keyboard Scaling / Rate is called Key follow / Speed
– The Amplitude Modulation Enable of each parameter appears as buttons labeled 1 to 4 in
the LFO section
– The Foot Volume Range of the DX21 is called PEDAL / Volume.
My controller has no effect on the selected device:
1 – Check if the device can produce sounds by itself ? If it does, go to step 3.
2 - Check the volume button of the device and the volume level of your amplification system.
And don't forget to check that the audio jack on the back of the device is not plugged in a foot
switch plug... that happens ;).
3 - Check that the MIDI cord is correctly connected from your midi controller to the computer
4 – If the played device does not have an 'omni mode' enabled (where it is supposed to
respond to messages on all MIDI channels), check that the controller sends messages on the
right channel.
5 – Check the device user manual to see if some global settings can filter out incoming MIDI
messages (that should not be the case if it passed the test in the 'Device Configuration'
6 – Check if the controller action can really affect the device.
For example: if you try to play the instruments of a drum kit by actioning the keys of a
keyboard, remember that not all keys are supposed to play something, try the C keys on the
lower end.
Second example: if you try to play a sampler sound, maybe the sample is not assigned to the
full range of the keyboard or to the full velocity range...
7 – If all fails, please try to trace down what is really sent by your controller. This can be
achieved with some tools like MidiOx. ( www.midiox.com )
When click Buffer / > Prog, the patch is not saved in the device:
1 – Most devices have a switch or a global parameter to enable/disable writing. On the DW8000 it is the little switch on the back labeled 'write enable' next to the midi input port. It
should be pushed toward the port to allow writing.