DM48LEKHOLM INSTRUMENTS

DIGITAL CHROMATIC HARMONICA

USER MANUAL

Firmware version 1.20
© 2024 Lekholm Instruments AB

Contents
Important general notes .................................................................................................. 4
Introduction ........................................................................................................................... 5
Overview of the DM48X.............................................................................................................. 5
Quick start guide ........................................................................................................................... 5

General configuration and operation guide ........................................................... 6
Introduction to MIDI and the DM48X ................................................................................... 6
Setting up your DM48X .............................................................................................................. 8
Changing and restoring default settings ........................................................................... 8Battery and charging .................................................................................................................. 9
Firmware version and serial number check ..................................................................... 9

Menu reference ................................................................................................................... 10
Global preset ................................................................................................................................. 10
Breath control submenu.......................................................................................................... 10
Breath sens ................................................................................................................................................. 10
Breath curve .............................................................................................................................................. 11
Breath CC# ................................................................................................................................................. 11
Note trig level ........................................................................................................................................... 11
Velocity sens .............................................................................................................................................. 11
Mono/poly ................................................................................................................................................... 11
Hole sens bias ........................................................................................................................................... 12
Bend/mod submenu .................................................................................................................. 12
Ribbon func ............................................................................................................................................... 12
Rib bend sens ........................................................................................................................................... 12
Rib mod sens ............................................................................................................................................ 12
Ribbon center ........................................................................................................................................... 12
Rib smooth ................................................................................................................................................. 12
Rib mod CC#............................................................................................................................................. 12
Brth bend trig ........................................................................................................................................... 13
Brth bend sens ......................................................................................................................................... 13
Brth mod trig ............................................................................................................................................ 13
Brth mod sens .......................................................................................................................................... 13
Brth mod CC# .......................................................................................................................................... 13
Bend range ................................................................................................................................................. 13
Sliders submenu .......................................................................................................................... 14
Slider interval ............................................................................................................................................ 14
Slider delay ................................................................................................................................................. 14
2nd/3rd slider ........................................................................................................................................... 14
2nd slider intv ........................................................................................................................................... 14
3rd slider intv ............................................................................................................................................ 14
Sliders CC# ................................................................................................................................................. 15
Sliders CC value ....................................................................................................................................... 15
Key transp ...................................................................................................................................... 15
Octave transp................................................................................................................................ 15
Tuning .............................................................................................................................................. 15
Tuning editor ................................................................................................................................ 16
MIDI submenu ............................................................................................................................... 16
Main channel ............................................................................................................................................ 16

2

Ribbon chan .............................................................................................................................................. 17
MIDI program ............................................................................................................................................ 17
Double notes ............................................................................................................................................. 17
Display.............................................................................................................................................. 17

Setup examples and guidelines ................................................................................. 18
MacOS including GarageBand and Logic ......................................................................... 18
Reason and Acoustic Electro Waves .................................................................................. 18
Multichannel setup with ThumbJam ................................................................................ 19
Yamaha VL70-m and other hardware synthesizers .................................................... 19

Lid removal and breathing resistance adjustment ........................................... 20
Acknowledgements ......................................................................................................... 21

3

Important general notes

Please read these notes carefully before using the DM48X multichannel
MIDI wind controller.
•

Note that the on-board battery only charges when the backsideconnector is in the “on/charge” position (indicated by a flash symbol).
This allows charging to be switched off when connecting to lowpower devices such as iPhones or iPads. These can power DM48X itself
but do no supply enough current for charging.

•

The red light on the back of the instrument will go off when charging
is finished. When charging is disabled, the red light will simply
indicate that the DM48X is connected and powered via USB.

•

Make sure the USB cable is properly connected: a slight “click” may
be felt when connecting the micro-USB connector. Carefully ensure
proper orientation of the connector to avoid damage. Do not expose
the USB connector to mechanical forces. A hole in the chassis at thebackside of the instrument allows the USB cable to be secured using
a cable tie for safer live playing.

•

Bluetooth (BLE) MIDI is typically connected from within your musicapp (“MIDI settings” or similar – please see relevant manual)•

The DM48X it designed to be played in the same pressure range as aacoustic chromatic harmonica. When properly setup, it should
respond swiftly to gentle blowing force. While the pressure sensors
are rated to handle pressures beyond what can be experienced
during normal play, in no way must they be exposed to unnatural
excessive air pressure, such as pressurized air from compressors or“canned air” containers.

•

Do not expose the slider or top buttons to unnecessary force.

•

Similar to a normal chromatic harmonica, the DM48X should be
handled with care and not be exposed to falls or strong forces. Storeand transport it in its protective case. Be careful not to scratch theprotective black anodized surface on mouthpiece.

•

The mouthpiece can be cleaned using a damp cloth. We recommend
cleaning it before first use. Cotton swabs can be used for cleaninginside the channels. The mouthpiece can be detached using ascrewdriver, although this is generally not needed or recommended.
When reattaching the mouthpiece, do not over-tighten the screws.
Pull it just enough to ensure it sits airtight against the chassis (testthis by blocking each hole with a finger on the back of the
instrument).

4

Introduction
Overview of the DM48X
The DM48X is a MIDI controller without sound synthesis. From the point-ofview of a music production application or synthesizer, it behaves like a MIDI
controller keyboard. However, rather than keys, it makes use of twelvepressure sensors to present the user with a chromatic harmonica-like
control interface. Similar to a MIDI controller keyboard, knowledge of MIDI,
synthesizers, and computer-based sound synthesis/production is useful tomake good use of it.
A single USB cable supplies both communication (using the so called “classcompliant USB MIDI” standard) and power. The supplied USB cable allows
the DM48X to be connected to a Mac or PC, and using a suitable converter
such as an Apple Lightning to USB-A or USC-C to USB-A adapter it can also
be connected to iOS devices (iPads and iPhones). When the backside switch
on the instrument is in the “on/charge” position (toward the flash symbol),
the USB connection will allow the onboard battery to be charged. Note thatiOS devices can power the DM48X but do not provide enough current for
charging, and the charging switch should in this case thus be in the “off”
position.
A suitable software or hardware synthesizer is needed for sound synthesis,
and examples and affordable suggestions are given below (see Setup
examples and guidelines). Bluetooth Low Energy (BLE) MIDI allows wirelessplaying. On iOS, this connection is typically established from within eachmusic app (please see relevant manual for your software).

Quick start guide
Connect your DM48X via USB to a computer (Mac or Windows) or
iPad/iPhone (either via Bluetooth or using an Apple USB Camera Adapter).
Select an instrument of choice in your music software (e.g. GarageBand or
similar) and start playing. The DM48X is usually recognized immediately,
and if not, check the MIDI settings in your software and choose DM48X as
your input device.
Upon startup, the DM48X will show the Global preset page. Press the roundbutton to enable toggling between presets using the arrows. Use the Wind
preset when playing wind instruments sounds such as saxophone. Use theKeyboard preset if playing piano-type or other plucked sounds. That’s it!
The DM48X is a lot more advanced than this, but in most situations thisshould get you started. Detailed information about configuration andrelevant MIDI concepts is found in the pages that follow.

5General configuration and operation guideIntroduction to MIDI and the DM48X
Even if you are familiar with MIDI – and even MIDI wind controllers – werecommend reading the following notes, which go deeper into somespecial considerations and some more advanced aspects of the MIDI data
generated by the DM48X. However, it is by no means necessary to have afull understanding of these concepts to get a lot out of the instrument, andmany users may only need to consider the Quick start guide above.
There are two main types of MIDI messages: note on/off events and“Controller Change” (CC) events. A MIDI controller keyboard can work wellusing only the former, which is enough to trigger notes at different velocities(depending on the force applied to the key) and stop notes when keys are
released. While MIDI wind controllers also sends note on/off messages,
sometimes with variable velocity depending on configuration, they
primarily make use of MIDI CC events to modulate the intensity/volume ofthe sound. Such messages are transmitted continuously at a high rate also
after a note has been triggered. This allows the intensity of the sound to bemodulated during the full duration of the note, as the player changes theapplied air pressure. MIDI pitch bend messages are likewise transmitted
continuously during the duration of the note.
By default (the Wind global preset loaded at startup), the DM48X is set tomonophonic mode (see Mono/poly below), meaning that no more than one
note is ever triggered at a time. Velocity is set to a fixed static value (seeVelocity sens below), while breath MIDI CC data will be transmitted
continuously (see Breath sens below). Most users will find that this gives
good playability with wind instrument sounds. A second preset is provided(Keyboard), where velocity is dynamically determined depending on breath
force, breath MIDI CC data is turned off, and polyphonic mode is active.
These settings are suitable for piano-type sounds, where sound intensity
modulation occurs only at note triggering. It is often not desirable tocombine dynamic velocity (velocity sensing) and breath MIDI CC data, an
exception being patches/sounds specifically adapted for wind controllers,
which may sometimes accurately handle both types of information
simultaneously.
MPE (MIDI Polyphonic Expression) patches/synths is another case wherecombined dynamic velocity and breath pressure data is highly beneficial.
These are sounds meant to be controlled by expressive controllers such as
ROLI Seaboard or the Linnstrument. An appealing property of these sounds
are that they are designed to be modulated by a continuous pressure signal,much like wind controller patches, and may therefore be interesting to
explore with the DM48X. A specific preset (Mpe) provides settings suitablefor MPE sounds, which are further discussed below.
In polyphonic mode, when multiple notes can be triggered simultaneously,
there are some additional considerations. An important property of the MIDI
6

standard is that MIDI CC and pitch bend messages affect all triggered notes
on a given MIDI channel. For a saxophone-type MIDI controller this is not alimitation, since the instrument is monophonic. In the case of a MIDI
harmonica, this means that notes in a chord will be played at the same
breath intensity, and that bending affects all triggered notes equally. Ifneighboring holes are triggered by mistake, these will be played at the same
intensity as the target note (there is also more advice in Setting up your
DM48X below). Velocity does not have this problem, as velocity values aresent for each note individually.
The limitation described above applies when the DM48X is set to
Polyphonic mode and transmits all data on a single MIDI channel (1 bydefault). The issue can be overcome by instead using multichannel mode(see Main channel below). In this configuration, each hole transmits MIDI
data on a separate MIDI channel (1-12). With proper setup on thesynthesizer side, the holes can then be modulated completely
independently of each other, as on an acoustic harmonica. This is notcomplicated in principle, but does require a more complex setup on thereceiving end. Some synthesizers (see Multichannel setup with ThumbJam
below) will work immediately with the DM48X in multichannel mode, whileothers require a more complicated configuration, sometimes involving
multiple instances of a synthesizer on multiple tracks where each one is set
to only receives on a single MIDI channel (see Multichannel setup in Reason
below). “Reduced” multichannel configurations are also possible, such thatfor example four channels are used (the twelve holes will in this casetransmit on channels 1-2-3-4-1-2-3-4-1-2-3-4 or 2-3-4-5-2-3-4-5-2-3-4-5).
This reduces the number of required synths/tracks.
One simple way of achieving true polyphonic “per hole” pressure
modulation is to use some of the above mentioned MPE synths and patches,as these are normally designed to receive polyphonic pressure data on
multiple channels. Using an MPE sound source, proper polyphonic pressure
modulation can often be achieved simply by selecting the Mpe preset on
the DM48X (see notes regarding using the ribbon controller in conjunction
with MPE synths under Main channel and Ribbon chan further below).
With C solo tuning (and many other tunings) and using polyphonic mode,
it is possible to trigger two identical notes (typically “C”) simultaneously –something that cannot be achieved with a keyboard. Many synths willhandle this correctly and will play double notes, including standard wind
instruments in GarageBand or Logic. However, some, including mostmonophonic synths, are not prepared for this. When two notes are triggered
and one of them is released, this may cause the second one to go silent, too.
By default, the DM48X is therefore set to block double triggering of thesame note. This is controlled by Double notes parameter (see below).
However, when using a synthesizer that correctly handles double notes, orwhen using a multichannel configuration, it is more appropriate to allow
double note triggering.
7

Setting up your DM48X
By connecting the USB cable, the DM48X should immediately become
selectable as an input MIDI device in your favorite music software without
any special drivers. Alternatively, connect via Bluetooth MIDI, which is done
within your music app (iOS) or in Audio MIDI Setup (MacOS).
The default settings on the DM48X give a good starting point and few
changes should be needed for an initial setup. Parameters will return todefault as soon as you turn it off and on again, so there is no need to beafraid to explore different settings.
The most important parameter that may need to be changed is Breath CC#,
which determines what MIDI CC number is used to transmit breath pressure
data to the receiving synthesizer. This parameter defaults to 11 (Expression),
which works for many standard instruments, for example in Logic orGarageBand. However, some synths may instead expect 2 (Breath
Controller) or a specialized message called Channel pressure (also called
aftertouch), which is also supported by the DM48X and selectable on thesame menu page.

Breath sens determines the pressure sensor gain. Less force is required
during playing when this parameter is increased, but this will also make iteasier to saturate the intensity of the sound, resulting in loss ofexpressiveness/dynamics. Many times it is rather the playback volume on
your amplifier that needs to be increased – try that first! Note trig level
determines the amount of pressure required to trigger a note. Lowering it
makes the DM48X more responsive, but also increases the risk of triggeringa note by mistake. Velocity sens should normally be off and set to a static
value around 100-127 but this depends on the type of sound being played,
as discussed above. Asstd poly (assisted polyphonic mode) makes it easierto play clean solo tunes by actively suppressing triggering of neighboring
holes, while still allowing chords. This feature is accessible from theMono/poly menu page, as is also monophonic mode (default), which isusually preferable if only single notes are to be played. Many sounds are
more interesting outside of the default note range – try Octave transp to
shift down an octave or two.

Changing and restoring default settingsOnce you have found settings that you like, you can make these your newdefaults such that they will be loaded every time you power up thecontroller. Go to the Global preset menu page and hold down the roundbutton for two seconds. Select one of twelve possible “slots” and press theround button. The name of the slot will now be editable using the arrows,
slider and round button. To save without changing the name, keep pressing
the round button several times until a confirmation message is shown.
The DM48X can be restored to factory default settings by holding down all
three menu buttons during power-up. Release when a confirmatory
message is seen on the display. Note that custom tunings will still be8maintained. A full restore, including tunings, will be achieved if the threebuttons are kept pressed even longer, until a confirmation about restored
tunings is shown.

Battery and charging
A built-in battery keeps your DM48X running wirelessly for up to 5 hours.
Charging is done via USB and takes about 2 hours from empty to fullbattery. The backside switch on the instrument has dual roles, dependingon whether there is a USB connection or not. Without USB, it serves simply
as an on/off power switch. When USB is connected, the switch decides
whether the battery should be charged (indicated by a battery and flash
icon on the back) or not. This is to allow connection to low-power USB
devices such as iPads and iPhones, which would otherwise inactivate theconnection due to overloading of the USB port. Remember to put theswitch in charge position when charging is desired! The red backside LEDon the DM48X will turn off when charging is complete. When charging isturned off using the backside switch, the LED will simply indicate an active
USB connection. A warning is displayed on the DM48X screen when thebattery is low. When the battery is basically empty, operation of the
instrument will stop and the user will be advised to immediately start
charging via USB.

Firmware version and serial number check
By holding down the slider during power-up, the version of the currently
installed firmware as well as the electronic serial number of your DM48X
will be shown on the screen. Keep holding the slider a little longer and theDM48X will enter “update mode”, meaning it is ready to receive a firmware
update via USB. Further information about this is provided in the firmware
update files that are distributed through the Lekholm Instruments
homepage, where the latest version is always available for download.

9

Menu referenceThis section lists all parameters and features on the DM48X, all accessible
through the on-board menu system, which is organized into submenus.
Simultaneously pressing the slider and the round button will quickly takeyou out of a submenu, and this shortcut can also be used to quickly reachthe Global preset, 2nd/3rd slider and MIDI program pages (a curved arrowicon will be briefly shown when using this key combination).

Global preset
The DM48X provides 18 “slots” for storing global settings. Note that the firstslot (Wind) is always loaded at startup. A Keyboard preset is also provided
for Keyboard-type instruments, as well as an Mpe preset for MPE (MIDI
Polyphonic Expression) synths/patches (see Introduction to MIDI and theDM48X above). The Swam and Geoswam presets provide settings suitable
for standalone SWAM apps and SWAM instruments in the GeoShred iOS
app, respectively. Stored settings are recalled immediately when selectedon this menu page, and corresponding tunings will also be loaded.
Additionally, MIDI program change messages will be sent in cases whenloading a preset causes the MIDI program parameter to change (see below).
By holding down the round button for two seconds, this page will also allow
the current settings to be saved to one of the available slots. After a slot isselected, the name of this slot can be edited. The arrows are used to change
the character at the cursor, and the round and slider buttons are used tomove to the next and previous character, respectively. Press the slider andround button simultaneously to quickly reach this page.
A shortcut key combination is available to quickly reach this page as wellas the 2nd/3rd slider and MIDI program pages: press the slider and roundbutton simultaneously and keep holding to toggle between the pages.

Breath control submenu
This submenu contains settings for adjusting the general playing response
as well as selection of the MIDI CC number used for sending breath data.
Breath sens
Controls dynamics and volume depending on how hard and soft you play.
Specifically, this is the sensitivity/gain for controller (MIDI CC) messages that
determine sound volume/intensity. Controller messages are sent at a highrate, such that the volume/intensity can be modulated post triggering anote based on the applied pressure. When set to a lower (less sensitive)
setting, more pressure needs to be applied to reach maximum soundintensity. If set too high, the instrument becomes less dynamic as maximum
intensity is quickly reached. Set Breath sens to off to completely turn off
breath MIDI CC data. Note that many times it is the playback volume thatneeds changing rather than Breath sens – try this first.

10

Breath curve
Response curve for volume/intensity MIDI CC messages. A non-linear curvethat reaches higher intensities sooner may provide a more harmonica-likefeel/response. However, it should be noted that this also depends on thecharacteristics of the downstream synthesizer. Sensitivity (above) may need
to be reduced to compensate for a more aggressive response curve.
Breath CC#
This is a critical parameter that determines what type of MIDI CC message
is used to modulate sound intensity. By default this parameter is set to 11(Expression), and many synthesizers will respond to this controller message
and adjust the volume/intensity accordingly. However, some synths instead
expect it to be set to 2 (Breath). A last resort is to use 7 (Volume). This is
usually not desirable, as this can also affect the volume of added effects
such as reverb, but it is still better than no volume modulation. On thisscreen, you can also set the DM48X to transmit “channel pressure” messages(Aftertouch) rather than MIDI CC, which is expected by some synthesizers.
Furthermore, the DM48X is capable of transmitting polyphonic aftertouch(Poly aftertch) data. With compatible synthesizers and patches, and whencombined with Polyphonic mode, this makes it possible to achieve
polyphonic pressure modulation on a single MIDI channel. When Polyaftertch is active, Double notes is automatically set to Block, regardless of
the actual setting for that parameter (see below). This is because polyphonicaftertouch data is tied to specific notes, making it incompatible with asituation where multiple holes are triggering the same note (as can happen
with standard Solo tuning).
Note trig level
Pressure threshold for triggering MIDI “note on” messages. Lower values
makes the instrument more sensitive, but increases involuntary triggeringof neighboring holes.
Velocity sens
Sensitivity for velocity (essentially the force with which a note is triggered).
By turning the sensitivity down to off, velocity becomes static rather than
dynamic, and a fixed value (adjustable using the arrows) is transmitted withevery note trig event. Note that latency is slightly increased when dynamic
velocity is active. Set to off when not needed, for maximum responsiveness.
Mono/poly
When this parameter is set to Monophonic, only a single note is triggered ata time, and the hole with the highest pressure will determine what note is
to be played. This is often the mode of choice. When set to Polyphonic,
multiple holes/notes can be played simultaneously. In this mode and whenusing a standard single MIDI channel setup (the default), the DM48X is moresensitive to mis-triggering of neighbor holes compared to an acoustic
harmonica. This is due to a limitation in the MIDI standard (see Notes on
MIDI and wind controllers above). Continue stepping through the options
11and Asstd poly (assisted polyphonic mode) will appear on the screen. Thisfeature attempts to aid in playing clean solo tunes by suppressing triggering
neighbor holes, once a note has been triggered. The strength of this effectcan be adjusted gradually from 1 to 10.
Hole sens bias
By opening the DM48X, it is possible to adjust the breathing resistance suchthat lower holes have less resistance, similar to an acoustic harmonica (see
Lid removal and breathing resistance adjustment below). This will however
reduce the pressure in the lower chambers (or vice versa should theresistance be increased on higher notes). This parameter makes it is possible
to compensate for the effect, by applying a higher sensitivity/gain to lower
notes and vice versa. Should normally be in the neutral position as indicatedby a horizontal line.

Bend/mod submenu
This submenu provides settings for pitching bending and modulation, using
the ribbon controller as well as by breath pressure.
Ribbon func
Changes the functionality of the ribbon controller. In Bend abs mode, theribbon is used for pitch bend only, using absolute positions, i.e. pressing at
a certain position will always give the same result. Bnd/mod abs provides
bending to the left and modulation to the right, again using absolute
positions. Alternatively, the two grab modes instead use a “grab and pull”
action: the point where the finger first touches the ribbon becomes theneutral/zero position.
Rib bend sens
Determines bending sensitivity for the ribbon controller. Off turns
inacticates ribbon bending. Negative values will reverse the bending, whilemodulation is unaffected by the sign of this parameter.
Rib mod sens
Determines modulation sensitivity for the ribbon controller. Off inactivatesribbon modulation.
Ribbon center
Sets the center positions of the ribbon. Only relevant in the abs modes,
selectable under Ribbon func, and has no relevance when using grab mode.
Rib smooth
Makes the ribbon action smoother and makes it bounce back to neutral
position more slowly when the finger is released (“rubberband effect”).
Rib mod CC#
Determines the MIDI CC number used for sending ribbon modulation data.

12

Brth bend trig
The DM48X provides a pressure-activated bending feature: by blowing
harder than a certain threshold value, bending occurs through transmissionof MIDI pitch bend messages. This parameter determines how hard you
have to blow/draw before bending kicks in. Increase it if involuntary
bending happens.
Brth bend sens
Once you reach the bending threshold (see above), this parameter
determines how aggressively the instrument will bend. Bending is pressure
controlled in a continuous way, and this is simply the “gain”. Negative values
mean that bends will happen in the downward direction (as on a regularharmonica), will positive values will result in upward bending. When values
are close to zero, more pressure is required for bending. Set it to off todisable bending.
Brth mod trig
The DM48X can send “modulation” MIDI CC messages (controller 1), whichon most synths will result in a vibrato effect. This parameter determines
how hard you need to blow/draw before modulation is activated.
Brth mod sens
Once you reach the modulation trigger threshold (see above), thisparameter determines how aggressively the instrument will increase themodulation intensity. When values are close to zero, more pressure isrequired. Set it to off to disable modulation.
Brth mod CC#
Determines the MIDI CC number used for sending breath-controlled
modulation data.
Bend range
Scales the pitch bend signal, such that e.g. only 50% or 25% of the total
range is used. Many synths offer pitch bending over a range of +/- 2
semitones by default, and setting Bend range to 50% will thus result inbending “bottoming out” at -1 semitones. This setting applies to the ribbon
as well as breath-pressure-based bending. Note that the maximum bendinterval will not be reachable when bend sensitivity is set too low (Rib bend
sens or Brth bend sens).
Setting Bend range to Smart will dynamically adapt the bend range
depending on what note is being played. Specifically, it is always equal tothe interval change produced by the slider button for a given note, as
dictated by the current tuning. This feature only works in monophonicmode. Smart bending requires an assumption regarding the bend range ofthe receiving synth: e.g. for +/- 2 semitones use the Smart +/- 2 setting. Also
ensure the synthesizer responds linearly to pitch bend data (e.g. in SWAM
apps/plugins, inactivate “Pitch Bend Curve”, since this feature gives a nonlinear pitch bend response).
13

Smart bending makes it possible to replicate the note-specific bend range
characteristics of a Richter tuned blues harmonica. The RichBend default
tuning is provided for this purpose. The SoloBend tuning is an adapted
version of Solo tuning with note-specific downward bends. Smart bending
is based on an idea by Brendan Power (UK) who also contributed these
special tunings.

Sliders submenu

Provides various settings for the main slider button as well as the down/up
buttons, which can be used as extra (2nd and 3rd) sliders. In addition totransposition, all three slider buttons can be used as MIDI control keys by
configuring them to send MIDI CC messages.
Slider interval
When pressing the slider, all notes will be transposed by this many
semitones. With the default tuning (Solo), this transposition is already built
into the tuning scheme, so it should therefore normally be set to 0. With
Richter tuning, for example, this setting allows the slider to be used for
instant transposition: a setting of +5 would make it possible to shift from C
to F at any time.
Slider delay
Introduces a time delay when releasing the main slider button. For players
not yet adapted to the short stroke-length of the DM48X slider, thisparameter may help in compensating for the quicker response timecompared to a mechanical slider.
2nd/3rd slider
When this menu page is activated (by pressing the round button), the left
and right arrows are transformed into real-time control buttons that acts as
extra sliders (see above). In contrast to the other menu pages, this is thus
not a parameter.
A shortcut key combination is available to quickly reach this page as well
as Global preset and MIDI program: press the slider and round button
simultaneously and keep holding to toggle between the pages.
2nd slider intv
On the DM48X, it is possible to use to use the arrow keys as a extra slider
buttons (see 2nd/3rd slider above). This setting determines the interval, insemitones, by which the second slider (left arrow) will shift the current
tuning.
3rd slider intv
On the DM48X, it is possible to use to use the arrow keys as a extra slider
buttons (see 2nd/3rd slider above). This setting determines the interval, insemitones, by which the third slider (right arrow) will shift the current
tuning.
14

Sliders CC#
When this feature is activated and the extra slider buttons are active(2nd/3rd slider, see above), the arrow buttons will send MIDI CC messages
when pressed. Optionally, the main slider can also transmit MIDI CC data,
and this will then happen regardless of what mode is active. CC numbers(consecutive only) are selectable on this screen. Increase this parameterstarting from the Off position to activate and select CC numbers for botharrows, and decrease it to enable CC data for left arrow only. Continue
increasing/decreasing the value to the very end of the range to also enable
CC data for the slider (always CC #119). MIDI CC values will toggle between
0 and a user-selectable value (default 127; see Sliders CC value below) whenbuttons are held. Setting any of the slider intervals to zero allows thecorresponding button to be used purely as a MIDI controller key.
The fact that the buttons can send MIDI CC messages means they can beused to control specific parameters in your music production software orsoftware synthesizer plugins. A video is available on our homepage todemonstrate this. Note that by setting the left arrow to send CC #1, it canbe used to activate modulation, while at the same time leaving the rightarrow to be used as an extra slider. In this case, be sure to inactivate breathcontrolled modulation (see Modltn sens above).
If two MIDI control buttons is not enough, Sliders CC# may be set to VB,
found at the far end of the value range. With this setting, the left arrow canbe used to activate Virtual buttons; a special mode allowing the 12 holes toact as breath-activated MIDI control “buttons”. The holes will now transmit
MIDI CC messages ranging from 102 to 113, always with a value of 127 andwithout toggling. Several messages can be sent while the left arrow is held
down, as long as air pressure is released in-between each activation.
Sliders CC value
When MIDI CC messages are sent by pressing the buttons (see Sliders CC#
above), this parameter determines the parameter value to be sent with the
CC messages. The value is always 0 when keys are not pressed, and will
toggle to the value selected here when pressed.

Key transp
Transposition in semitone steps. Also shows the current key, based on theassumption that the tuning has been entered in the key of C.

Octave transp
Transposition in whole octave steps.

TuningShows the current tuning scheme. 18 “slots” are available, all of themcustomizable using the tuning editor (see below). All default tunings are in
the key of C. The two first slots are called Solo (standard chromatic tuning)
and Richter (the typical tuning for 10-hole diatonic/blues harmonicas, here
mapped to holes 2-11). Orchstra (Orchestra tuning), Diminish (Diminished),
15

Wholeton (Wholetone), Bebop and Pentaton (minor and major pentatonic
scale on blows and draw, respectively) are also included. Additionally,
RichBend provides a version of Richter tuning where the slider mimics the
typical bend intervals for the specific notes, while SoloBend is a special
version of Solo tuning adapted for downward bending using the slider(provided by Brendan Power, UK; see BendRange below for information on
how the ribbon can also be used for note-specific bending).
By holding down the round button for two seconds seconds, the Tuning
page will also allow the current tuning to be saved to one of the available
slots. After a slot is selected, the name of this slot can be edited. The arrows
are used to change the character at the cursor, and the round and slider
buttons are used to move to the next and previous character, respectively.

Tuning editor
Use this to modify the current tuning. Simply use the arrows to select hole,
blow/draw and slider position, and press the round button to edit the
selected note. Select Done to step out of the editor by using the arrows. Allchanges are effective immediately and can be played without saving
anything, while still editing. By stepping past the last hole, a screen willappear with options for transposing the current tuning up or down.
Additionally, functions for exporting and importing tunings is available on
this screen: Send tuning will send the current tuning as MIDI notes, to berecorded and saved for example as a MIDI file that can be shared withothers. After selecting Receive tuning, the DM48X is ready to receive atuning which will replace the current one. Simply choose DM48X as youroutput MIDI device in your sequencer and then play back a previously
recorded tuning. Remember to save (see Tuning above) it if you want tokeep it permanently in your DM48X.
Navigation in the tuning editor is “circular” – step past the last option on thelast page to return to the first page.

MIDI submenu
Basic global MIDI settings, including a real-time MIDI program change page.
MIDI channel
Channel used for sending MIDI messages (normally 1). This setting also
allows the DM48X to be set to multichannel mode. In this configuration, theholes will transmit MIDI data on different channels. The number of channels
can be selected, with for example Multich. 1-12 indicating that twelve
separate channels will be used, one for each hole. Multich. 1-4 indicates thatfour channels will be used, such that the holes will transmit MIDI data onchannels 1-2-3-4-1-2-3-4-1-2-3-4. “Base 2” multichannel ranges are alsoavailable, for example Multich. 2-5 or Multich. 2-13, which can be useful
together with synthesizers that support the MPE (MIDI Polyphonic
Expression) standard, as channel 1 is then not to be used for note triggering.
Note that Double notes (see below) should typically be set to Allow in
16multichannel mode. This allows, for example, double C notes to be playedwhen using Solo tuning. Note that MIDI over Bluetooth (BLE MIDI), which
has low data bandwidth, may have latency issues in combination withmultichannel mode, in particular when using the ribbon controller without
enforcing the ribbon data to a single “master” channel as described below(Ribn MIDI ch).
Ribbon chan
When set to Same/default, the ribbon controller sends pitch/CC data on thesame channel(s) as other MIDI note messages (see Main channel above). In
multichannel mode, the ribbon messages will in this case be duplicatedacross all active channels (e.g. 2-13), thus generating a lot of data which may
overload a wireless BLE MIDI link. The default behavior can be overridden,
forcing ribbon data to be sent on any single channel. This is useful withsome MPE synthesizers, which may use channel 1 as a “master” channel for
pitch and modulation data. The Mpe global preset makes use of this feature.
Note, however, that not all MPE synths will support this. In these cases, use
the Main setting here, while being aware that this can lead to latency issues
using BLE MIDI (reducing the number of channels in the Main channel
setting can alleviate the problem).
MIDI program
Can be used to remotely select a specific patch (sound) on a connectedsynthesizer or synth app. Note that not all synths will respond to MIDI
program change messages.
Double notes
Many tuning schemes allow double simultaneous triggering of the samenote (e.g. C in Solo tuning), but not all synthesizers can handle this on asingle MIDI channel (see Important notes on MIDI and wind instruments
above). This setting controls whether double triggering of the same note isallowed (Allow) or blocked (Block). This parameter has no relevance inMonophonic mode (see Mono/poly above).

Display
Allows the display to be set to automatically turn off after about 10
seconds of inactivity (Auto off). The other option is Auto dim, which
reduces display burn-in by dimming after 10 seconds. The display will
always turn off after about 5 hours, to avoid screen burn-in.

17Setup examples and guidelines

The DM48X does not synthesize sounds and is thus not a musicalinstrument, but rather an instrument controller. The synthesizer to which it
is connected is therefor a critical part of the setup. This section contains a
few examples and step-by-step guides to complete setups, including
affordable software synthesizers that are suitable for a wind controller likethe DM48X.

MacOS including GarageBand and Logic
When connected via USB, the DM48X will immediately become usable as a
MIDI input device in music production software such as GarageBand or
Logic (if not, check the settings in Preferences, Audio/MIDI in Logic, or
equivalent in other software).
You may also connect the DM48X wirelessly in MacOS via Audio MIDI Setup,
found in the Utilities folder under Applications. If it is not already visible,
click Show MIDI Studio in the Window dropdown menu. Clicking theBluetooth icon shows available devices, which should include the DM48X
when it is powered on and within range. Click Connect to make the DM48X
available as a MIDI device throughout MacOS. Most likely it will work
immediately in your favorite music software, but in some applications you
may need to specifically select the DM48X as input device.
Some of the sampled wind instruments in Garageband or Logic on MacOS
are decent, and there are plenty of synthesizers and patches that can beadapted to work with a wind controller. GarageBand on iOS works too, butoffers a less impressive selection of instruments. GarageBand instruments
expect Breath CC# on the DM48X to be set to 11 (Expression). They can also
correctly handle double triggering of the same note, meaning that Double
notes should preferably be set to Allow (see Introduction to MIDI and theDM48X above).
Remember that there is no “decay”, as on a piano tone, on blown
instruments – the tone can be kept alive as long as there is still air in thelungs. When adapting non-wind instrument patches for playing with the
DM48X, try thus to change the “decay” parameter that is available on mostsoftware synthesizers. The Sculpture modeling synth, included in Logic, isgood for wind instruments. To enable polyphonic playing (chords), increase
the polyphony parameter on the upper part of the Sculpture panel.

Reason and Acoustic Electro Waves
EWI Reason Sounds provides an excellent set of software synthesizers forwind controllers in the form of plugins (refills) for Reason, including one
called Acoustic Electro Waves. We found these to be excellent together with
the DM48X, on both MacOS and Windows machines. These instruments
expect Breath CC# on the DM48X to be set to 2 (Breath). They do notcorrectly handle double triggering of the same note, meaning that Double
notes should be set to Block (see Introduction to MIDI and the DM48X
18

above).

Multichannel setup with ThumbJam
The ThumbJam app is a nice low-cost option for getting started on iOS
devices (iPhone/iPad) and it works immediately with the DM48X without
any additional settings. Even better, it will respond correctly tomultichannel data right from the start. You only need to activate this on the
DM48X by setting Main channel to Multich. 1-12 and Mono/poly to
Polyphonic. You can also set Double notes to Allow (see Introduction to MIDI
and the DM48X above), to allow triggering of double identical notes (e.g.
adjacent C notes in solo tuning).

Yamaha VL70-m and other hardware synthesizers
Due to the DM48X being a class-compliant USB MIDI device, it cannot
directly control a hardware synthesizer with a typical 5-pin MIDI connector.
However, most music production software can be used to route the DM48X
MIDI signals to an external synthesizer. A USB MIDI interface will be
required, but these are available at low cost. Additionally, using a so called“USB host to MIDI” device, manufactured for example by Kenton (MIDI USB
Host MkII) or Mode Machines (Cerebel USB), it is possible to eliminate thecomputer altogether. We have tested the DM48X together with the Kenton
device and the acclaimed Yamaha VL70-m hardware modeling synthesizer,
which sounds great, but one should keep in mind that this is a monophonicsynth and chords are thus not possible. Breath CC# needs to be set to 2
(Breath) for the VL70-m. Monophonic mode (see Mono/poly above) may be
preferable. If polyphonic mode is used, some degree of Asstd poly isrecommended (see Mono/poly above). In this case, the VL70-m will notcorrectly handle double triggering of the same note, meaning that Double
notes should be set to Block (see Introduction to MIDI and the DM48X
above).

19

Lid removal and breathing resistance adjustment

We generally do NOT recommend removing the lid, and we cannot takeresponsibility for any possible harm caused during this procedure. However,advanced users do have the possibility of adjusting the breathing resistanceindividually for each hole by means of 12 screws inside the DM48X. By
adjusting these screws, one can mimic the uneven resistance patternencountered on a regular harmonica (less resistance on the lower holes).
Changing the breathing resistance will also influence the pressure in thechambers. Thus, lessening the resistance will make it possible to blow ordraw more strongly without saturating the sensors. Conversely, theinstrument can be made very sensitive by tightening the screws, to allowpressure to build up more easily. The Gain skew setting (see above) can beused to compensate for the loss of signal that would result from opening
up screws on lower-numbered holes or tightening high-numbered holes.
By default, all holes have been calibrated for equal response, and in mostcases there should be no need to alter the screw settings. Breathing
resistance adjustment is an advanced feature that requires opening up the
instrument:
1. Remove the two bottom screws using a torx driver.
2. Gently slide the lid backwards away from the mouthpiece, while atthe same time lifting it a few mm upwards to avoid damaging thedisplay. If necessary, a screwdriver or similar may be inserted in
between the mouthpiece and the lid to help gently wiggle it
backwards a few mm. All maneuvers should be done with great careto avoid damaging any of the parts and components.
3. Having slid it away a few mm from the mouthpiece, lift up the lid at
the front end (facing the mouthpiece), tilt it backwards a little bit, andslide it backward away from the instrument. Do this very gently toensure that components come free from the lid.
4. The individual holes can be adjusted using a hex key (a torx driverworks too).
5. Reverse the procedure above when replacing the lid, again taking
great care not to damage the display. Do not over-tighten the screws,
as this can damage the plastic chassis.

20

Acknowledgements

Through sharing ideas and wishes, many people have indirectly contributed
to the evolution of the DM48/DM48X. We are particularly indebted to
Brendan Power (UK) for invaluable support and feedback from the very
start, as well as Jason Keene (US) who has pushed the limits of the
instrument and helped spread the word.

21