MISUCO PRO

MISUCO (PRO) is a multitouch synthesizer controller with microtonal capabilities. It transmits OSC signals by WLAN which can be used to play and control various types of software synthesizers. OSC can also be translated to MIDI signals on a host computer. MISUCO has also a built in simple synthesizer.

The focus of MISUCO is to use the maximum of the touchscreen area for the musical performance. MISUCO has some microtonal features hardly found on any synthesizer.

Availability

iOS: https://itunes.apple.com/us/app/misuco-pro/id958398164?ls=1&mt=8

Android: https://play.google.com/store/apps/details?id=org.misuco.misuco_pro

Main screen

page1

(1) full screen mode (2) microtonal mode (3) preset select -10 (4) preset select (5) Preset select +10 (6) Edit mode (7) System info (8) Performance area

In the main screen you can switch between presets. One preset consists of scale and sound setting.  MISUCO PRO provides 200 scale- and 200 sound-presets, which can be user-defined and stored in a file.

In this screen you can also switch to microtonal-, edit- and fullscreen mode.

The system info shows how many frames the system was capable to paint in one second. This decreases when the internal synthesizer uses cpu power. If it falls under a certain value (15 fps) the number of voices is decreased, to save cpu power. On this line you see also the frequency of the currently played notes.

Microtonal mode

MISUCO PRO in microtonal mode

MISUCO PRO in microtonal mode

If you switch to the microtonal mode, MISUCO creates frequency transition areas between the note areas. There you can explore the microtonal spectrum between the notes. The term of microtonality refers to a finer frequency resolution than 12 semitones in an octave, as it is usual on instruments like pianos and synthesizers.

edit mode

misuco-synth-edit

(1) switch edit screen (2) save changes to file

In edit mode you can switch between different edit screens and edit different parameters.

You can leave edit mode by pressing the edit button again.

Anything you change in edit mode is immediately applied to the preset, but lost, if you quit and restart the app, unless you save.

You can save your changes to the presets and configuration in a file with the save button. If you would like to discard all changes, quit MISUCO from the operating system. On next restart the previously saved settings are loaded. On an iOS device you can transfer the program file to your computer in iTunes.

scale edit

misuco-synth-edit-scale

(1) scale buttons (2) link to the online scales archive (3) basenote

In the scale edit screen you can construct your desired scales by selecting a base note (1) and some of the 11 overtones (3). You can hear a sound playing while pressing the buttons. So you can quickly adapt to an existing melody by press-and-listen.

There is a link button (2) to the online scales archive of MISUCO. It will open a web browser and direct you to the entry of the currently selected scale in the scales archive. The archive is still in a beginning phase and should soon be more useful, as more people use it and provide comments to the scales.

octave range

misuco synth edit octave range screen

(1) top octave number (2) bottom octave number (3) number of rows

In this screen you can configure the octave range of the performance area. Also it is possible to divide the performance area into several rows.

 internal synthesizer parameter

misuco synth edit internal synthesizer

(1) waveform [0: square, 1: sawtooth, 2: sine, 3: triangle, 4: noise] (2)-(5) amp envelope [attack time, decay time, sustain level, release time] (6) cutoff frequency (7) resonance level (8) cutoff modulation (9) resonance modulation (10) volume (11) sound preset

MISUCO has a very simple built in synth. Its purpose is mainly to demonstrate the app when no external software synth is available. We also have decided to not get rid of the dirty sound which occurs while clipping, for now.

The polyphonic synthesizer has 10 voices and consists of one oscillator (square, sawtooth, sine, triangle, noise), one amplifier envelope and one resonating filter. It has the capability to modulate the filter frequency and resonance by using the performance area as Y-Controller.

The synthesizer has 200 memory spaces for sound presets. Through separate sound select switch it is possible to assign the same sound to several scale presets. Also on each sound preset switch there is a program change event transmitted. By default each scale preset has assigned the sound present with the same number.

microtuning

misuco synth edit microtuning

(1) microtonal scale tuning [+-cent from equally tempered scale] (2) tuning presets [1: equally tempered 2: pure c-maj 3: Bach well tempered 4: natural harmonic]

Here a microtuning can be applied. The resulting frequencies are transmitted by osc as frequency value itself, midi note & pitch value. So you could even play the microtuning you assign here on a regular midi expander/synthesizer, provided the pitch range of that device is matching.

network settings

(1) ip destination address and port (2) transmitter type: 1: mixed 2: reaktor 3: puredata 4: supercollider (3) channel (4) error correction 1:none - 9:max

(1) ip destination address and port (2) transmitter type: 1: mixed general purpose 2: reaktor 3: puredata 4: supercollider (3) channel (4) error correction 1:none – 9:max

MISUCO sends OSC/UDP units to the ip address and port that can be configured. The default ip 255.255.255.255 broadcasts to all the available ips in the internet. Usually this address is blocked by the local router and it can be used as general purpose broadcast address. So usually you do not have to change this setting. Except you might want to set the port to 57110 when you work with supercollider (transmitter type 4).

In Reaktor (transmitter type 2) or puredata (transmitter type 4) you can listen to port 3150 which is the default destination port for MISUCO.

Transmitter type 1 is a mix of type 2 and 3 and should be compatible with both. It is mainly intended for the demo version to make configuration easier. It is recommended to rather use type 2 to 4 if you work only with one specific software, because these protocols are optimized and performing slightly better.

The channel is applied on the osc layer as a tool to support multiple controller and synthesizer setup in an environment with software, that should listen to several controllers but has only one ip port available. Namely Reaktor can listen only to one ip port. The setup requires a unique channel number on each controller which has to be set manually. Look at the example files to get a deeper understanding on the details.

The error correction is required in wireless networks, because some osc message get lost. This is bad for “note off” messages because this will lead in never ending “hanging” notes. A very simple solution is to repeat the “note off” message several times. The error correction parameter indicates how many times a “note off” message is sent. If you have hanging notes, increase the parameter.  We made good experience on our tests with a value of 4. With a lower value we experienced hanging notes.

Controlling MISUCO by OSC

MISUCO receives OSC messages on port 3333. This is useful to integrate external controllers and sequencing systems. More details are in the implementation chart and puredata examples.

Path Command Parameter p1 range p1 function p2 range p2 function p3 range p3 function
/ignore ignore one ip 1 String ip to ignore
/listen listen to one ip 1 String ip to listen to
/dest set destination 3 0…n sender String ip destination 0…65535 destination port
/add_sender add sender 1 0…4 sender type
/del_sender delete sender 1 0…n index of sender to delete
/offrep note off repeat count 1 0…10 how often are note off repeated
/dim individually dimension rows 1…32 1..32 columns row 1 1…32 columns row 2
/dxy dimension x/y grid 2 1…32 number of columns 1…32 number of rows
/f set multiple segment frequencies, sets also midinote and pitch 1…1024 1.0…50175.0 frequency segment 1 1.0…50175.0 frequency segment 2
/f_s set single segment frequency 2 0…1023 number of segment 1.0…50175.0 frequency of segment
/f_a set all segments to same frequency 1 1.0…50175.0 frequency
/mnote set multiple frequencies midinote, sets frequency, sets pitch to 0 1…1024 1…151 midinote of segment 1 1…151 midinote of segment 2
/mnote_s set single segment midinote 2 0…1023 number of segment 1…151 midinote of segment
/mnote_a set all segments to same midinote 1 1…151
/type set multiple segment types (0: note, 1: transition) 1…1024 0…1 type of segment 1 0…1 type of segment 2
/type_s set single segment type 2 0…1023 number of segment 0…1 type of segment
/type_0 set all segments to type 0 (1 is not possible, since requires two 0 neighbours) 0
/chan set multiple segment channels 1…1024 0…15 channel of segment 1 0…15 channel of segment 2
/chan_s set single segment channel 2 0…1023 number of segment 0…15 channel of segment
/chan_a set all segments to channel 1 0…15 channel
/ctlx set multiple segment x controller 1…1024 0…127 x-controller of segment 1 0…127 x-controller of segment 2
/ctlx_s set single segment x controller 2 0…1023 number of segment 0…127 x-controller of segment
/cltx_a set all segments x controller 1 1…127 controller
/ctly set multiple segment y controller 1…1024 0…127 y-controller of segment 1 0…127 y-controller of segment 2
/ctly_s set single segment y controller 2 0…1023 number of segment 0…127 y-controller of segment
/clty_a set all segments y controller 1 1…127 controller
/txt set multiple segments text 1…1024 String text of segment 1 String text of segment 2
/txt_s set single segment text 2 0…1023 number of segment String text of segment
/clrtxt_s clear single segment text 1 0…1023 number of segment
/clrtxt_a clear all segments text 0
/cent_s finetune single note 2 0…11 note to finetune -200.0…200.0 fine tuning value in cent
/cent finetune all notes 12 -200.0…200.0 finetuning note 1 -200.0…200.0 finetuning note 2
/bscale_s set note in binary scale 2 0…11 note to set true|false
/bscale set the whole binary scale 12 true|false bscale note 1 true|false bscale note 2
/basenote set the basenote of the scale generator 1 0…11
/baseoct set the base octave of the scale generator 1 0…10
/topoct set the top octave of the scale generator 1 0…10
/reset go back to the gui programming mode 0
/rows set number of rows 1 1…10 number of rows
/pc set program 1 0…199 progmem to set
/save writes program memory 0
/layout changes the layout 1 0…5 number of layout, 0 is mainly used as full screen mode