WELCOME & THANKS!

Last update June 13th 2026 Thank you and congratulations on acquiring TWISTfm, the ultimate FM polysynth! TWISTfm is a powerful and versatile polyphonic synthesizer that combines vintage FM synthesis with classic analog filtering and modern control capabilities. At the heart of TWISTfm are two vintage Yamaha OPL-3 YMF262 FM chips, each paired with dual vintage YAC512 stereo DACs. This setup offers 8 discrete voices, each equipped with its own analog multimode filter, providing rich and dynamic sound possibilities. Important: Is the firmware up to date? This manual corresponds to TWISTfm main firmware 3.0 and MIDI Engine 3.0. Update both before using the 3.0 MIDI/editor features: install the main firmware from firmware30.tfm on the SD card, then follow the instructions included in the MIDI Engine firmware ZIP to update the separate MIDI Engine over USB with MIDI_ENGINE_3.0.bin. The MIDI Engine update is a different process from regular SD-card firmware updates. MIDI Engine 3.0 is required for SysEx forwarding and the browser MIDI tool. Notable changes in 3.0: - Browser-based TWISTfm SysEx MIDI tool for two-way patch, menu, setup, raw preset, and sequencer editing. - Sequencer piano-roll editing for pages 1-32, 33-64, 65-96, and 97-128, including notes and gate states. - Per-operator envelope loop modes and double-decay mode in the OPER menu and MIDI tool. - Direct performance CCs, bidirectional CC feedback, patch-load refreshes, and hardware ribbon CC88 feedback. - Improved MPE behavior, including global MPE selection from the MIDI menu, fixed per-voice pitch bend/pressure/CC74 targeting, and optional pressure pickup for Osmose/Haken-style controllers. - MIDI Engine 3.0 adds the USB/DIN SysEx, system common, and real-time MIDI forwarding needed by these editor and bridge features. Brief History of the YMF262 by Yamaha The YMF262, also known as the OPL3, is an FM synthesis sound chip developed by Yamaha in the late 1980s. It was primarily used in PC sound cards during the early 1990s, such as the Sound Blaster Pro 2.0 and Sound Blaster 16. The YMF262 featured an advanced FM sound engine capable of producing rich and complex tones. Despite its sophistication, the chip was often underutilized by game developers, who typically employed simple preset sounds and basic music composition techniques, leaving much of its potential untapped. TWISTfm: Unlocking the Full Potential of the YMF262 TWISTfm aims to harness the full potential of the YMF262 by combining its powerful FM synthesis capabilities with advanced analog filters. This approach allows TWISTfm to create a wide range of sounds, from classic FM tones to entirely new, richly textured audio.

I/O (INPUT/OUTPUT)

TWISTfm features a variety of ports to accommodate different connectivity needs, providing versatile options for MIDI, audio, and power connections. Here is a detailed overview of the available ports and their functionalities: USB Used exclusively for MIDI over USB. TWISTfm features a class-compliant, driverless USB MIDI interface, ensuring seamless integration with your computer or other USB MIDI devices. MIDI DIN5 INPUT Receives MIDI for TWISTfm using a traditional DIN5 male-to-male MIDI cable. MIDI DIN5 OUTPUT Used to transfer MIDI messages from TWISTfm to a DAW for two-way fader modulation. AUDIO OUT1 & OUT2 Unbalanced TS 1/4" jacks. Output 1: Transmits voices 1, 3, 5, 7. Output 2: Transmits voices 2, 4, 6, 8. PHONES Stereo TRS 1/4" jack. Provides an output for headphones, allowing you to monitor your sound directly from TWISTfm. INPUTS 1 & 2 These mono TS 1/4" jacks allow you to feed audio into filters 7 and 8 of TWISTfm, providing additional sound processing options. DC POWER INPUT Powers TWISTfm using the included 9V 1A DC center-positive power supply. Only use the included power supply to avoid potential damage to the unit. Using other power supplies can cause irreparable damage and void the warranty. SD CARD SLOT Used for firmware updates and to load and save presets. Works in conjunction with the included SD card reader for easy data management and software updates.

LAYERS & FM ALGORITHMS

TWISTfm consists of two layers for sound shaping: a primary 4-operator layer and a secondary 2-operator layer. Let’s first look at the 4-operator layers, which are crucial for creating complex and diverse sounds. The YMF262 sound chip, also known as the OPL3, provides five distinct algorithms within this layer to manipulate how the operators are connected and modulate each other. Algorithm 1 ● Configuration: 1 → 2 → 3 → 4 ● Description: This algorithm connects operators in a linear series where each operator modulates the next one in line. ● Modulation Details: ○ Operator 4 generates the initial signal. ○ Operator 3 modulates the signal from Operator 4, adding the first layer of complexity. ○ Operator 2 further modulates the output of Operator 3, creating a more intricate waveform. ○ Finally, Operator 1 modulates the output of Operator 2, producing a highly complex and evolving sound. ● Usage: Ideal for creating complex, evolving sounds with deep modulation effects. Each operator adds a progressively detailed layer of modulation to the previous one. Algorithm 2 ● Configuration: 1, 2 → 3 → 4 ● Description: Operator 1 runs in parallel with a chain where Operator 2 modulates Operator 3, which then modulates Operator 4. ● Modulation Details: ○ Operator 4 generates the initial signal. ○ Operator 3 modulates the signal from Operator 4, adding the first layer of complexity. ○ Operator 2 further modulates the output of Operator 3, creating a more intricate waveform. ○ Operator 1 is independent and runs in parallel with the Operator 2 → 3 → 4 chain. ● Usage: This algorithm provides a combination of parallel and series modulation, offering a more complex and layered sound. It's suitable for sounds that require a mix of independent and interdependent modulations. Algorithm 3 ● Configuration: 1 → 2, 3 → 4 ● Description: This algorithm sets up two parallel series connections: Operator 1 modulates Operator 2, and Operator 3 modulates Operator 4. ● Modulation Details: ○ Operator 2 generates a signal and Operator 1 modulates it, creating a modulated waveform. ○ Simultaneously, Operator 4 generates a separate signal, which is modulated by Operator 3. ○ The two modulated signals can be combined, providing a richer and more textured output. ● Usage: Use this for creating two distinct modulated sounds that can be mixed together for a richer, more textured sound. Algorithm 4 ● Configuration: 2 → 3, with 1 and 4 in parallel ● Description: Operator 2 modulates Operator 3. Operators 1 and 4 are independent and run in parallel. ● Modulation Details: ○ Operator 1 produces an independent signal. ○ Operator 2 modulates Operator 3, creating a separate modulated signal. ○ Operator 4 produces another independent signal. ○ All three branches are mixed at the output. ● Usage: Use this for a blend of two simple carriers and one 2-operator FM branch, creating a broader, layered sound. Algorithm 5 ● Configuration: 1, 2, 3, 4 ● Description: All operators are independent and run in parallel. ● Usage: This algorithm functions like an organ, where you can mix tones together.
LAYERS & FM ALGORITHMS image from page 3
Layer 2: Operators 5 and 6 The secondary 2-operator layer in TWISTfm features Operators 5 and 6. These operators can be arranged either in series or parallel. In series mode, Operator 6 produces the sound, and Operator 5 modulates it for added complexity. In parallel mode, both operators function independently, akin to stacked oscillators in a traditional synthesizer, allowing for straightforward, layered sound generation.
LAYERS & FM ALGORITHMS image from page 4
Operator 1 & 5 Feedback Operators 1 and 5 in TWISTfm can feed back into themselves using the feedback fader. This self-feedback allows the output of the operator to be routed back into its input, creating a loop that enhances the harmonic complexity of the sound, ranging from subtle to intense, distorted textures.

WAVEFORMS

The YMF262 (OPL3) chip provides eight unique waveforms, each with distinct characteristics that contribute to a wide range of sounds in musical contexts. The waveform is selected for each operator using the wav fader, and it can be modulated by the LFOs and envelope to add further complexity and variation to the sound. 1. Sine: A smooth, pure tone with no harmonics, ideal for creating clean, mellow sounds like basses and simple leads. 2. Half-Sine: A softer and more muted tone, useful for subtle harmonic content and gentle sound textures. 3. Abs-Sine: A brighter tone with a unique timbre, adding harmonic richness to the sound. 4. Pulse-Sine: A percussive and rhythmic tone comparable to a saw wave, suitable for adding punch to leads and basses. 5. Even-Sine: An even, intermittent tone that is great for creating rhythmic, pulsating sounds. 6. Even-Abs-Sine: A steady, pulsating sound with a smooth texture, ideal for pads and ambient effects. 7. Square: Produces a rich, edgy sound with strong harmonic content, perfect for leads, basses, and chiptune sounds. 8. Derived Square: A variation of the square wave, useful for creating distinct, harmonically rich tones.
WAVEFORMS image from page 5

OPERATOR ENVELOPES

The OPL3 YMF262 chip features ADSR (Attack, Decay, Sustain, Release) envelopes to shape the amplitude of each operator's sound over time. In TWISTfm, the interface provides four faders for controlling the ADSR envelope of each operator, allowing fine-tuned control over how the sound evolves. The Attack (A) fader sets the time it takes for the sound to reach its maximum volume after a note is triggered. The Decay (D) fader adjusts how long it takes for the volume to drop to the Sustain level after the Attack phase. The Sustain (S) fader controls the level at which the sound holds while the note is sustained. Finally, the Release (R) fader determines how long it takes for the sound to fade away after the note is released. By manipulating these faders, users can craft dynamic sound envelopes for each operator, leading to a wide range of tonal possibilities.

ALL ENVELOPE EDIT TRICK

If you hold Menu while adjusting any ADSR envelope fader, the change is applied to all operator envelopes in the same layer: operators 1 to 4 for layer 1, or operators 5 and 6 for layer 2. This allows quick, synchronized editing across multiple operators.

TUNING CONTROLS

In TWISTfm, the tuning controls offer various ways to manipulate pitch and create dynamic, expressive sounds. These controls include the layer 2 Tune, Fat Fader, Glide Fader, Rise Fader, and Fall Fader, each providing unique pitch-related functionalities. Layer 2 TUNE The tune fader for layer 2 allows you to detune layer 2 against layer 1 within the span of an octave. When you hold the Menu button while adjusting the tune fader, you can tune layer 2 within a range of +/-24 semitones in precise semitone increments. FAT The Fat fader detunes the eight voices of TWISTfm away from one another, simulating the tuning issues found in vintage analog synthesizers. This adds a bit of warmth to the sound or can be used for deep experimental effects by increasing the detuning amount. Hold Menu and move the fat fader to set the range of the fat effect. GLIDE The Glide fader controls the portamento effect, allowing smooth gliding between notes. This is useful for creating legato passages and expressive pitch transitions, adding a fluid, connected feel to your playing. RISE & FALL The Rise fader makes notes rise from a lower pitch as the fader increases, creating a sweeping upward pitch effect. In contrast, the Fall fader causes the pitch to fall further down after the note is released, creating a trailing, downward pitch shift.

USER INTERFACE

The UI includes a 4-character display, a rotary encoder, and a menu button. ROTARY ENCODER When navigating the menu, turn the encoder to select items or change their values. The encoder can also be pressed, referred to in this manual as "clicking the encoder." Clicking the encoder is used to enter a submenu or confirm a value, functioning as a "YES" action. MENU BUTTON The button serves multiple purposes based on the status of TWISTfm: Preset / menu access / up one level Press once to open the preset navigation menu. Press again to access the main menu. When editing parameters, this button functions as a "back/exit" button, allowing you to return to the previous submenu or main menu. Panic Press and hold the button for several seconds to silence all voices. MENU We designed the menu to minimize deep menu diving. We call this "menu snorkeling." The menu is divided into two sections: Main Menu: Displays all themes. Themed submenus: edit items by theme. Recent Fader Menu If you press the menu button shortly after adjusting a fader—before the preset name reappears—TWISTfm will automatically display the menu items related to that specific fader. Press the Menu button to open the menu. At the top level, the screen will briefly display "HOME." Press back once from "HOME" to enter the preset browser. To exit the browser and return to "HOME," press the Menu button twice. Tip: You can increase the delay before the preset name reappears by adjusting the settings in the DISP submenu of the preset menu. Menu Navigation 1. Press the Menu button to open the menu. 2. Turn the encoder to select a theme. 3. Press the encoder to enter the selected theme. 4. Turn the encoder to select items within the theme. 5. Press the encoder to interact with the selected items. 6. Press the menu button below the encoder to return to the main menu.

PRESET MENU (PSET)

The Preset menu in TWISTfm provides comprehensive options for managing your sound presets. This menu allows you to load, save, initialize, and manipulate your presets in various ways, making it easy to organize and experiment with your sound creations. Load This is the preset navigator. Turn the encoder to select and load a preset. Hold Menu at the same time to select and open a folder. When TWISTfm is displaying a fader value you can jump to the preset load menu by pressing the encoder or Menu. Save Clicking the encoder with the save submenu selected saves your preset. To quickly save your preset from the load menu, tap the encoder twice. Reload Hold Menu and press the encoder once to reload the current preset (useful to cancel/undo unsaved changes) Init Hold Menu and press the encoder twice to load init. This loads the default/template preset named `init.tfm` located at the root of the SD card. This is useful for starting a new preset from a known state. Panel This function updates all fader-controlled parameters to match the current positions of the faders on the panel. Copy This allows you to save a copy of the current preset to a new file. Clicking this item lets you select the four characters for the new file name. Use the encoder to select and confirm each character, then the file will be saved. Folder Allows you to navigate to a different folder of your SD card. BPM Enables you to set the BPM of the internal clock. This is essential for synchronizing your presets when using the internal clock, providing precise control over the tempo of your sound. You can increase the BPM in increments of 10 by holding the Menu button while turning the encoder. The BPM ranges from 1 to 500 BPM. Randomize Preset This function allows you to randomize the parameters of your preset to achieve interesting, unexpected effects. Use the encoder to set a randomization percentage from 0 (preset unchanged) to 100 (totally random). Each time the encoder is pressed with this submenu item selected, the preset is randomized based on the set percentage. Randomizations are not cumulative; each randomization starts from the original preset. Therefore, setting the randomization to 0 will restore the original preset, even after a 100% randomization. Note: Both morph states of the preset are randomized. This means that both the initial and destination states of the morph parameters will be affected by the randomization process, providing a comprehensive and dynamic alteration of your sound. GLIDE This option allows you to customize how pitch transitions behave between notes. You can select one of two modes: ● ALL: Applies glide to every note played, creating smooth transitions for all notes in your sequence or performance. ● LEGATO: Jumps the first note immediately to its correct pitch and applies glide only to subsequent notes, ideal for fluid, expressive legato passages. Tune This option allows you to fine-tune the overall preset from 50% up to 150%. Turning the encoder changes the tune in single percent increments, while holding the Menu button changes it in 5 percent increments. This feature helps in achieving precise tuning adjustments for your sound. ETSD (Equal Temperament Scale Division) This experimental feature changes the equal division of the octave (EDO) for the preset. There are three available options: ● 12ED: The traditional 12 semitones per octave, which is the standard tuning for most synthesizers and musical instruments. ● 6ED: Divides the octave into 6 equal parts, offering larger intervals between notes, which can be used for unique harmonic structures. ● 24ED: Divides the octave into 24 equal parts, allowing microtonal increments for exploring new musical territories and microtonal music. Menu + Encoder (preset quick reload and init) Hold Menu and press the encoder to perform different actions: On the first press, the current preset reloads from the SD card, refreshing it with the saved settings. On the second press, the preset initializes to the "init.tfm" file found in the root of the SD card, resetting it to the default settings. Backup Restore (RSTR) Every time you save a preset, TWISTfm automatically creates a backup with the same name as your preset, but with ".bak" added to the end of the filename (e.g., "mypreset.tfm.bak"). To recall the previously saved state of your preset, select the "RSTR" menu and tap the encoder, which will load the backup file. If you want to update the preset after restoring it, remember to save it again to ensure the changes are kept.

OPERATOR MENU (OPER)

This menu allows you to tweak parameters specific to the FM operators: KSL (Key Scale Level): The Key Scale Level (KSL) is a built-in feature of the OPL3 chip, offering subtle but effective control over tonal dynamics based on pitch. With KSL, higher frequencies naturally soften, allowing sounds to grow warmer or darker as notes rise in pitch. Although the range is limited to four selectable values per operator (0, -1.5 dB, -3 dB, or -6 dB per octave), this slight variation opens up rich, expressive textures. KSL lets you balance brightness with depth in your sound design, lending a more nuanced tone progression to each preset. Individual KSL values can be set per operator. KSR (Key Scale Rate): Key Scale Rate (KSR) is another powerful, built-in feature of the OPL3 that introduces a pitch-dependent modulation to each operator envelope’s speed. When activated, KSR increases the envelope’s decay rate as pitch rises, meaning higher notes naturally decay more quickly, much like acoustic instruments. While control is limited to an on/off setting per operator, the effect creates a smoother, more organic response across the pitch range, bringing each voice to life with a subtle yet realistic decay. LOOP (Software Operator Envelope Loop): LOOP enables a software looping level envelope per operator. The loop mode can be OFF, FREE, or SYNC. In FREE mode, TWISTfm flattens that operator's internal OPL envelope and repeatedly modulates its total level instead. The operator ADSR faders become the loop shape: attack rises from mute to the operator volume target, decay falls toward the sustain level, sustain holds for a period, and release falls back to mute before the cycle repeats. Each FREE phase time is mapped from about 10 ms at minimum to about 4.0 seconds at maximum; the first step above minimum is about 20 ms. A full FREE loop cycle can range from about 40 ms to about 16 seconds. In SYNC mode, the same ADSR phase faders select one of 16 tempo-synced phase lengths: 4BAR, 2BAR, 1BAR, 3/4, 1/2, 3/8, 2T, 1/4, 3/16, 4T, 1/8, 8T, 1/16, 16T, 1/32, and 32T. The T suffix indicates triplet timing. Sustain also sets the sustain level used by the loop. The OPL total level is 6-bit attenuation, so the firmware only writes when the 0-63 level actually changes. Very fast loud-to-quiet jumps are lightly slewed to reduce clicks, but because this is software modulation of the OPL total-level register rather than the OPL's internal envelope generator, looped carrier operators can still sound stepped or clicky, especially at fast rates. This is a limitation of the OPL total-level resolution and register-update approach; looped modulators usually hide the stepping better. KVS (Keyboard Velocity Sensitivity) This parameter allows you to add expressive dynamics to your sound by responding to MIDI velocity data. Here's how to use and understand this feature: Adjusting KVS: 1. Enter the KVS menu by clicking the encoder with KVS selected. 2. Select an operator by turning the encoder and clicking it again. 3. Use the encoder to set the KVS level for the selected operator. ○ The level is adjustable in 10% increments. ○ A value of 0% means no velocity sensitivity, while 100% provides full sensitivity to MIDI velocity. Practical Use: ● Set higher KVS levels on carriers to emphasize volume changes with velocity. ● Adjust modulator KVS levels to add timbral variation for a more expressive sound. The KVS value for each operator is saved with the preset, ensuring your velocity sensitivity settings are preserved. Experiment with different KVS levels to create performances that respond dynamically to your playing style.

VOICE MENU (VOCE)

This submenu allows you to select the voicing mode. This affects how voices are allocated and triggered. Tip: You can quickly change voicing modes by holding the Menu button and moving the top algo fader POL8 (8 voice polyphonic) All voices are available to play individually UNIS (Unison) All voices trigger at the same time (monophonic) 4x2 4 voice polyphony triggered in stereo pairs 2x4 Duophonic voices triggered in two groups of 4 MONO In MONO mode, TWISTfm operates in a monophonic configuration, with only one voice available per chip—one for the left channel and one for the right channel. WIDE 8 Similar to POL8 mode, where all voices are available to play individually, but they are triggered in a specific order, alternating between outputs 1 and 2 (left and right) to create a ping-pong effect. ROUND ROBIN All 8 voices are triggered consecutively in a fixed sequence: 1, 2, 3, 4, 5, 6, 7, 8.

FILTERS

Analog Multi Mode Filter Per Voice The 4-pole analog filters in TWISTfm are inspired by the beautiful designs of Mutable Instruments, which in turn are influenced by the legendary Oberheim filters. These filters use the pole mixing technique, offering a rich and versatile sonic palette, enabling users to create a wide range of sounds with precision and character. There are 8 filters in TWISTfm, one for each voice, providing individual control and processing for each voice. Additionally, two external signals can be fed into the filters of voices 7 and 8 with drive control. Filter Modes: The following 15 filter modes are available: ● LP4: 4-pole low-pass. ● LP3: 3-pole low-pass. ● LP2: 2-pole low-pass. ● LP1: 1-pole low-pass. ● BP4: 4-pole band-pass. ● BP2: 2-pole band-pass. ● NOTCH: Notch filter. ● PHASE: Phaser. ● HP1: 1-pole high-pass. ● HP2: 2-pole high-pass. ● HP3: 3-pole high-pass. ● H2+L: 2-pole high-pass and 1-pole low-pass (band-pass-like). ● H3+L: 3-pole high-pass and 1-pole low-pass (band-pass-like). ● NO+L: Notch and 1-pole low-pass. ● PH+L: All-pass and 1-pole low-pass. These modes can be changed and even modulated with minimal audible artifacts, thanks to high-quality analog volume control components with zero-crossing technology. Digital Control: Resonance and cutoff are digitally controlled by high-resolution DACs, offering flexible modulation and the ability to store presets. The design and functionality of these filters are deeply rooted in the innovative work of Mutable Instruments. We extend our gratitude to Émilie Gillet for her invaluable resources and papers on the subject, which have significantly contributed to the development of these exceptional filters. For more information, see the original Mutable Instruments filter resources. CHANGING FILTER TYPE To change the filter type, simply move the Type fader. The display will indicate the currently selected filter type.

FILTER MENU

The filter submenu on TWISTfm includes several parameters that allow you to shape and modify your sound. Here are the details for each parameter: HEAT This parameter sets the amount of drive into the filter, allowing the signal to range from clean to hot with analog drive. Heat can be set directly with the res fader while the Menu button is held. Flavour (FLAV) This parameter reconfigures the resonance circuitry of the filter. ○ LIQUID (LIQD): A smooth filter with gentle resonance. ○ MS20: A highly resonant filter with Zener diodes. You can also change the Flavour setting by moving the filter type fader while the Menu button is held. Wobble (WOBL) This parameter feeds part of the first filter pole into the frequency modulation of the filter, creating a wobbly effect that is particularly noticeable at lower filter cutoff frequencies. Slew This parameter adds slew to the filter cutoff response, helping to maintain a gentle modulation, especially when multiple LFOs are modulating the cutoff simultaneously. Input Volume (IN V) This parameter sets the drive of the two input jacks: ○ NORMAL (NORM): Standard input volume. ○ WARM: Slight analog warmth. ○ HOT: High input volume with beautiful analog distortion applied to the incoming signal. Keyboard Tracking This parameter adjusts how the filter cutoff frequency responds as you play higher notes. You can set it between 0 and 10: ● 0: The filter cutoff remains constant, regardless of the note you play. ● 10: The cutoff frequency is multiplied by X octaves as you play each octave above C0. Use this setting to make the filter "track" the pitch, increasing the brightness of the sound in higher registers.

VOLUME CONTROL

FM synthesis can be highly dynamic in volume, especially when paired with filters that can be overdriven. This dynamism allows for a wide range of expressive sounds but also means that managing volume levels is crucial to maintain a balanced and controlled output. To adjust the overall preset volume: ● Hold the Menu button and move any volume fader. This combination allows you to attenuate the overall volume of the preset, ensuring that your sound remains balanced and within desired levels. The volume settings are saved with presets, allowing you to maintain consistent volume levels across different sounds.

MIDI

This submenu allows you to set parameters related to MIDI. Channel Select the MIDI channel that will control TWISTfm. You can choose from channels 1 to 16 or MPE mode. ● Channels 1 to 16: TWISTfm will respond exclusively to the selected channel. ● MPE Mode: TWISTfm will use MIDI Channel 1 as the global channel (for controls like the sustain pedal, mod wheel, and other CC messages), while Channels 2 to 16 will function as voice channels. This setup is commonly referred to as the MPE Lower Zone and is the default behavior for most MPE controllers. Here is an example of how to configure your track in Ableton to control TWISTfm in MPE mode.
MIDI image from page 15
Tip: You can quickly change MIDI input by holding the Menu button and moving the bottom algo fader About MPE mode MIDI Polyphonic Expression (MPE) is an extension of the MIDI protocol that allows for more expressive control over individual notes in a performance. In MPE, each note can be played with its own pitch bend, timbre, and pressure, providing an additional level of detail and dynamic expression. TWISTfm takes full advantage of MPE by using the three dimensions of control provided by MPE-compatible controllers: pitch (horizontal movement), timbre (vertical movement), and pressure (aftertouch). The Y-axis control (vertical movement) is expected to be assigned to MIDI CC74 on the MPE controller. In TWISTfm, this vertical movement can be routed to take over any of the LFOs by assigning the "MPEY" waveform to the LFO. This feature lets you modulate parameters using smooth vertical slides on your controller, adding a new layer of creative flexibility to your sound design. Bend - / + Select the pitch bend ranges in semitones for MIDI. You can set individual ranges for both upward and downward bends. These parameters are individually stored per preset. MPE - / + Select the pitch bend range in semitones for MIDI when the MIDI channel is set to MPE. For seamless integration, TWISTfm sets the pitch bend range to 48 semitones by default, matching the standard range used by many MPE controllers. This allows precise control over pitch bending, spanning 24 semitones up and down from the base pitch. Clock (CLOK) Choose between internal clock or external MIDI clock. When set to internal, you can change the BPM in the preset menu, providing precise control over your timing and synchronization needs. This parameter is stored globally (not changing with presets). Note: If external MIDI clock is selected, the clock will run internally until a MIDI clock start message is received. No Aftertouch (NoAT) Mode TWISTfm is optimized for use with a MIDI controller that supports polyphonic aftertouch, allowing individual note pressure modulation for each voice. If you're using a keyboard with channel aftertouch, it will still work, but the aftertouch will affect all voices simultaneously instead of each note individually, as with polyphonic aftertouch. If your controller does not support aftertouch at all, you can activate the NoAT mode. In this mode, TWISTfm will use the incoming velocity data and treat it as polyphonic aftertouch, enabling per-note expression without aftertouch functionality. MIDI Priority in Monophonic Voice Modes When TWISTfm is set to monophonic voice modes, it plays only one note at a time, even if multiple keys are pressed. The MIDI priority setting determines which note is played when multiple keys are held or when a new key is pressed. There are three MIDI priority modes available: In LAST priority mode, the most recently played note takes precedence, allowing seamless transitions between notes as new keys are pressed. When released, the synth reverts to previously held notes. In HIGH priority mode, the highest-pitched note is always played, regardless of the order pressed, making it ideal for highlighting melodies. In LOW priority mode, the lowest-pitched note takes priority, ensuring a strong foundation for basslines or grounded performances. MOD WHEEL (MODW) This parameter enables TWISTfm to learn the behavior of the modulation wheel by moving a fader. This allows you to automate a fader via the mod wheel (MIDI CC1). When the encoder is pressed with MODW (modwheel) selected, the screen will blink MODW and LEARN alternately. This indicates that TWISTfm is in learning mode. Now, move a fader to assign it to the modwheel. The fader's movement will be linked to the modwheel, allowing you to control modulation effects directly from the fader. Press the encoder to exit learning mode if needed.

ARPEGGIATOR

TWISTfm's arpeggiator offers versatile modes allowing you to create dynamic patterns and textures. With features like RANGE for octave span, LINK for layer assignment, SYNC for timing, and RATE for speed control, it provides flexible and powerful arpeggiation capabilities. ARP ON/OFF Hold the Menu button and press the arp button to start or stop the arpeggiator. Note: You cannot run the arpeggiator and sequencer at the same time. Starting one will stop the other. ARP MODES UP The arpeggiator will play the notes in ascending order from the lowest to the highest note. DOWN The arpeggiator will play the notes in descending order from the highest to the lowest note. UP/DOWN The arpeggiator will play the notes in ascending order, then reverse and play them in descending order (like a pendulum). RANDOM The arpeggiator will play the notes in a completely random order. WALK The arpeggiator will play notes in a random sequence, but each note will be adjacent to the previous note, creating a "walking" effect. CONVERGE The arpeggiator will start playing notes from the outer edges of the note range and move towards the center, playing pairs of notes that converge inwards. DIVERGE The arpeggiator will start playing notes from the center of the note range and move towards the outer edges, playing pairs of notes that diverge outwards. PLAY (ORDER OF PLAY) The arpeggiator will play the notes in the exact order they were added. STUTTER The arpeggiator will repeat each note twice before moving to the next note in ascending order. ALL The arpeggiator will play all notes simultaneously. FUGUE The voices play the held notes in different directions or at different octaves, simulating an improvised figure. RANGE The RANGE parameter defines the number of octaves the arpeggio will span, ranging from 1 to 6 octaves. By setting the range, you determine how many octaves the arpeggio will repeat across, which directly influences the musicality and breadth of the arpeggio sequence. Adjusting the RANGE value provides flexibility in the arpeggio’s complexity and tonal depth, allowing for a simple one-octave repetition or a more expansive six-octave arpeggio. LINK The LINK feature allows you to assign the arpeggiator to different operator layers within the TWISTfm. You can choose to apply the arpeggio to either the first layer, the second layer, or both layers. SYNC When SYNC is enabled, the arpeggiator locks its timing to either an internal clock or an external MIDI clock. This ensures that the arpeggio notes are played in perfect synchronization with other devices. Alternatively, the SYNC function can be set to free timing, allowing the arpeggio to play independently of any external clock. RATE The RATE parameter controls the speed at which the arpeggio notes are played. By adjusting the RATE, you can set the tempo of the arpeggio, allowing it to play notes faster or slower. When SYNC is disabled, you can set the arp to an arbitrary speed. When SYNC is enabled, the display will show the time division in bars relative to the master clock. The available divisions are: - 4BAR - 2BAR - 1BAR - 1/15 - 1/2 - 1/3 - 1/4 - 1/6 - 1/8 - 1/12 - 1/16 - 1/32 LENGTH Use this parameter to set the length of the arpeggiator, from 1 to 8 steps.

ARP SKIPS AND TIES

You can configure skip and tie steps for any of the 8 arpeggiator steps using a shared ARP editor: 1. Accessing the Editor: ○ From the ARP menu, select either Skip or Tie, then press the encoder to enter the editor. ○ The editor layout is identical for both skips and ties. 2. Editor Layout: ○ The display shows the 8 arpeggiator steps as dotted lines across the center. ○ The editor is split into two pages: ■ Page 1: Edits steps 1 to 4. ■ Page 2: Edits steps 5 to 8. 3. Navigating Between Pages: ○ Use the Sequencer Play button or turn the encoder to switch between pages. 4. Editing Steps: ○ Use the first 4 Chain Buttons to toggle Skip or Tie on or off for each step: ■ Page 1: Chain Buttons control steps 1 to 4. ■ Page 2: Chain Buttons control steps 5 to 8. 5. Exiting the Editor: ○ Press the Menu button to save changes and exit the editor. With this intuitive editor, you can set up skips to mute specific steps or ties to connect them seamlessly, adding versatility and rhythm to your arpeggiator patterns. Tip: Hold Menu and press the Sequencer Play button to toggle between the TIE and SKIP editors. Example 1: Editing ties Page 1 (top first 2 dashes lit) Ties are active on all steps
ARP SKIPS AND TIES image from page 19
Example 2: Editing ties Page 2 (top last 2 dashes lit) Ties are active on steps 1, 4, 5 and 7
ARP SKIPS AND TIES image from page 19

MODULATION

TWISTfm offers multiple ways to modulate its faders, providing a versatile toolkit for dynamic sound shaping. It includes three Low-Frequency Oscillators (LFOs), a Pressure Modulator, and an Envelope. The LFOs can be used to create rhythmic or cyclical changes in the sound, adding motion and depth to your patches. The Pressure Modulator, as controlled by incoming MIDI aftertouch, allows for real-time expressive control, responding to the nuances of your playing. Additionally, the Envelope modulator provides detailed control over the attack, decay, sustain, and release (ADSR) parameters. LFO TWISTfm's LFO (Low-Frequency Oscillator) is a powerful modulation tool that can be assigned to any fader to enhance your sound design. Here's how it works: Assigning a Fader to the LFO 1. Select the Fader: Move the fader you wish to modulate with the LFO. 2. Link the Fader: Press the LFO chain button to attach the fader to the LFO. The light above the chain button will illuminate, indicating that the fader is linked. 3. Identify Linked Faders: Any other fader that you move, if it is attached to the LFO, will light its chain LED accordingly. 4. Detach the Fader: Press the chain button again to detach the fader from the LFO. Setting the LFO assignment depth TWISTfm allows you to set the modulation depth for each individual fader linked to the LFO, including the option to assign a negative depth value. To adjust the modulation depth, hold the Chain button while moving the depth fader. The depth range spans from -20 to 20. Clearing LFO Assignments ● Clear All Assignments: Hold any of the LFO chain buttons for 3 seconds to detach all faders linked to that LFO. Recording User LFO Waveforms You can record up to three custom waveforms per preset using the ribbon controller. Start Recording: To begin, hold the Menu button and press one of the three Chain Link buttons to record user waveforms 1, 2, or 3. Recording Process: ● Prep (Count-in): The display will count down from 4, indicating the start of the recording. During the countdown, the LFO Link LEDs will blink in time with each beat to provide visual feedback. ● Recording: After the count-in, the display will count down from 4 again as you record your waveform. You have four beats, divided into 16 blinks of the Chain Link LEDs, to complete the recording. Each custom LFO waveform is saved individually within the preset.

LFO MENU

LFO Waveforms TWISTfm offers a variety of waveforms that can be assigned to the three LFOs for modulating various parameters. Select the desired waveform with the WAV fader; the waveform fader can also be modulated via MIDI CC (check the MIDI implementation chart for specific CC numbers) or other internal modulators. Here’s a description of the available waveforms: 1. Triangle (TRI): A smooth and symmetrical waveform that rises and falls evenly, perfect for creating gradual, cyclical modulations. 2. Sawtooth (SAW): A waveform that rises gradually and drops sharply, ideal for creating more pronounced, rhythmic modulations. 3. Reverse Sawtooth (RAMP): This is the inverse of the sawtooth wave, offering a sharp rise followed by a smooth fall, giving a different flavor of modulation. 4. Rectangle (RECT): A waveform that alternates sharply between two levels, commonly used for tremolo or on-off style modulation. 5. Noise (NOIZ): A random, non-repeating waveform, adding unpredictability and chaotic textures to your modulation. 6. User-Defined (USR1, USR2, USR3): Custom waveforms that you can draw with the ribbon controller, giving you the flexibility to create unique modulation shapes. 7. Velocity (VEL): Modulates parameters based on note velocity, allowing dynamics in your playing to influence the LFO. 8. Mod Wheel (MOD): The LFO can be controlled directly by the modulation wheel (typically CC1), offering real-time, hands-on control over modulation depth or speed. 9. CC74 (MPE Y): This parameter is designed for MPE voice modes to modulate parameters with the MPE Slide (Y-axis) but also works in regular modes as it responds to MIDI CC74. The LFO submenus are used to adjust parameters for the three low-frequency oscillators. The menus are identical for all three LFOs. Mode Select the output behavior of the LFO in relation to its waveform: - BIPO (Bipolar): The LFO modulates the fader up and down, centered around its current position. - UNI+ (Unipolar Positive): The LFO modulates the fader upwards from its current position. - UNI- (Unipolar Negative): The LFO modulates the fader downwards from its current position. - REC+ (Rectified Positive): The lower half of the LFO waveform is flipped vertically, resulting in only upward modulation. - REC- (Rectified Negative): The upper half of the LFO waveform is flipped vertically, resulting in only downward modulation. Hold Menu and move the LFO depth fader to quickly set the mode. Sync Choose whether the LFO will sync to the incoming MIDI clock. When SYNC is enabled, the display will show the time division in bars relative to the master clock as you adjust the rate fader. The available divisions are: - 4BAR - 2BAR - 1BAR - 1/15 - 1/2 - 1/3 - 1/4 - 1/6 - 1/8 - 1/12 - 1/16 - 1/32 Loop Set the LFO to either loop endlessly or cycle once (one shot). Retrig Enable the LFO to retrigger with each new voice. SRR (sample rate reduction) Increasing SRR introduces discrete steps in the LFO waveform, effectively creating a sample and hold effect. Key Tracking Increasing this will cause the LFO to cycle faster as the notes move toward the upper register of the keyboard. When set to 10, each octave above C0 will double the LFO rate. Key Tracking can be either global or per voice, depending on the LFO's global setting. Warp Increasing the warp value adds more noise to the LFO output, introducing greater unpredictability to the waveform. Display Visual Animation You can optionally enable a visual animation to represent the LFO cycle, helping you gauge the LFO speed. Choose from three options: - OFF - Spinning Star - VCR Tape

SKIPS & FLIPS

You can configure skip and flip behaviors for any of the 8 cycles of a looping LFO using the LFO SKIP and FLIP editors. These editors work the same way as the ARP SKIP and TIE editors as described in the previous chapter. Accessing the Editor ● From the LFO menu, select either SKIP or FLIP, then press the encoder to enter the editor. ● The editor layout is identical for both SKIPS and FLIPS (and ARP SKIPS & TIES). Editor Layout ● The display shows the 8 LFO cycles as dotted lines across the center. ● The editor is split into two pages: ○ Page 1: Edits cycles 1 to 4. ○ Page 2: Edits cycles 5 to 8. Navigating Between Pages ● Use the Sequencer Play button or turn the encoder to switch between pages. Editing Cycles ● Use the first 4 Chain Buttons to toggle Skip or Flip on or off for each cycle: ○ Page 1: Chain Buttons control cycles 1 to 4. ○ Page 2: Chain Buttons control cycles 5 to 8. ○ In the FLIP editor, a lit cycle means it is flipped. ○ In the SKIP editor, an unlit cycle means the LFO holds its value for a cycle. ○ Hold Menu and press the Sequencer Play button to change the target LFO (1 to 3) Exiting the Editor ● Press the Menu button to save changes and exit the editor. Behavior Details ● LFO Skips: Skipping a cycle causes the LFO to hold its previous value instead of progressing through the waveform for that specific cycle. ● LFO Flips: Flipping a cycle inverts the LFO waveform for that cycle, for example, converting a rising ramp into a falling ramp. Example 1: Editing SKIPS Page 1 (top first 2 dashes lit) LFO loops through all steps (no skips)
SKIPS & FLIPS image from page 24
Example 2: Editing FLIPS Page 2 (top last 2 dashes lit) Steps 1, 4, 5 and 7 are flipped
SKIPS & FLIPS image from page 24

AFTERTOUCH

TWISTfm features a Pressure Modulator section controlled by incoming MIDI aftertouch, offering both polyphonic and channel-based support. If the connected MIDI keyboard supports polyphonic aftertouch, the system addresses and modulates each note individually, allowing for nuanced expression across multiple notes. In contrast, if the keyboard only supports channel aftertouch, the modulation applies uniformly across all notes. The Pressure Attack and Release faders are essential for adding slew to the attack and release times, smoothing out the performance. The Depth control adjusts the overall response depth to the incoming MIDI aftertouch, providing more control over the modulation intensity. The Aftertouch menu (AFTR) also offers two modes: 'Up' and 'Down'. In 'Up' mode, linked faders increase as key pressure increases, while in 'Down' mode, the faders decrease with increased key pressure, allowing for versatile expression tailored to the performer's touch.

ENVELOPES (FILTER and MODULATION)

The Envelope section of TWISTfm is equipped with Depth, Attack, Decay, Sustain, and Release (ADSR) faders, providing comprehensive control over the modulation envelope applied to your sounds. The Depth fader determines the overall influence of the envelope on the sound, allowing you to adjust how prominent the envelope modulation is. The Attack fader sets the time it takes for the envelope to reach its maximum level after a note is played, while the Decay fader controls how quickly the envelope falls to the Sustain level. The Sustain fader sets the level at which the envelope holds as long as the note is sustained. Finally, the Release fader defines the time it takes for the envelope to fade out after the note is released. Filter Envelope and Modulation Envelope menus have the same options: Mode Specifies the direction in which the envelope moves the filter or attached faders. Positive: Moves up. Negative: Moves down. Loop Determines whether the envelope restarts at the attack phase after completing the decay phase. Sync Determines whether the envelope is Tempo-Synced or Free-Running. Tempo-Synced Envelopes A tempo-synced envelope locks its timing phases (attack, decay, etc.) to the tempo of your project via internal or external clock. In this mode, the duration of each phase is predetermined based on clock divisions, such as quarter notes or eighth notes. This ensures that no matter how you adjust the sustain level or other parameters, the envelope’s attack and decay will always align with the beat of the music. Free-Running Envelopes In contrast, a free-running envelope operates independently of the internal or external clock. Its phases, such as decay, are governed by the rate at which they travel between levels, like from the peak (after attack) to the sustain. The duration of these phases is flexible and can change depending on parameter settings. For example, lowering the sustain level will extend the decay time, as the envelope has further to fall. This provides a more dynamic and expressive behavior, where the timing is not locked to the beat but varies according to your settings. These two modes offer different approaches: tempo-synced for rhythmic consistency, and free-running for more fluid, expressive sound shaping.

RIBBON

The TWISTfm synthesizer includes several parameters for controlling the ribbon, a touch-sensitive strip that allows for expressive control over various aspects of your sound and performance from bends to chords and full preset morphs. This submenu defines the ribbon controller's overall behavior. To quickly access the ribbon menu, hold the Menu button and touch the ribbon. Mode This parameter determines the overall behavior of the ribbon controller. Available modes include: ● BEND (BEND ALL): Bends the pitch of all voices at once. ● 1ST: When holding a chord, the ribbon will bend the first note you played. ● LOW: When holding a chord, the ribbon will bend the lowest note you played. ● HIGH: When holding a chord, the ribbon will bend the highest note you played. ● LAST: Bends the pitch of the last played note. ● LEARN (ANY FADER): Press the encoder with LERN selected and move any fader you wish to modulate with the ribbon. Press the encoder to exit learning mode if needed. ● CORD: This mode lets you morph between two chords and works alongside the Chord Split function. When Chord Split is active, you can press keys within the chord zone to cue chords at either end of the ribbon, similar to cueing tracks in a DJ set. If your finger is on the right side of the ribbon, pressing a chord key cues a chord to the left side, preparing it for the next morph. Likewise, if your finger is on the left, pressing a chord key loads a new chord to the right, allowing for smooth transitions between chords as you move along the ribbon. ● MORF (MORPH): Enables the ribbon to blend between two preset states. See “how morph works” below for more details about morphing. ● SEQ: In SEQ mode you can use the ribbon to scrub through the steps of the sequencer. Up/Down Parameters The Up/Down parameters set the range of the ribbon’s pitch bend or modulation: ● UP: Determines the upward modulation range when sliding your finger up the ribbon (1 to 48 semitones or CS80 mode). ● DOWN: Determines the downward modulation range when sliding your finger down the ribbon (1 to 48 semitones or CS80 mode). In CS80 mode (selectable in the Up/Down bend submenus), the ribbon emulates the pitch bending behavior of the iconic Yamaha CS-80 synthesizer. The pitch bends smoothly upward by up to one octave and down all the way to zero, enabling expressive and fluid modulation reminiscent of the classic CS-80 sound. Slew This parameter controls the rate of change when moving your finger along the ribbon. Higher slew values result in a smoother, more gradual change, while lower values provide a faster, more immediate response. This controls the glide or smoothness of the ribbon's effect. HOLD This menu item can be set to either ON or OFF. When set to OFF, releasing the ribbon (lifting your finger) will cause the pitch to return to the center frequency (the original note). When set to ON, the pitch bend will remain active even after your finger has been lifted off the ribbon, allowing the pitch bend effect to continue until manually reset. Play This parameter allows you to use the ribbon to trigger notes, similar to pressing a key on a keyboard. The play parameter includes different range settings: ● OFF: Disables note triggering. ● 12: Triggers notes within a one-octave range. ● 24: Triggers notes within a two-octave range. ● 36: Triggers notes within a three-octave range. ● 48: Triggers notes within a four-octave range. Ribbon Calibration Tool The Ribbon Calibration Tool allows you to fine-tune TWISTfm’s ribbon controller for more accurate and personalized performance. To begin calibration, go to the Ribbon menu and select CALI. The calibration process has three simple phases: UP, BOTTOM, and TOP. ● UP Phase: In this phase, remove your finger from the ribbon. The screen will count down from 4, calibrating the ribbon in its untouched position. ● BOTTOM Phase: When the screen displays BOT (bottom) and counts down from 4, place your finger at the bottom of the ribbon and hold it until the screen says "Done." ● TOP Phase: When the screen displays TOP and counts down from 4, place your finger at the top of the ribbon and hold it until the screen says "Done." This calibration process is stored globally, allowing TWISTfm to adapt to the size of your finger for a customized and more responsive experience with the ribbon.

HOW MORPH WORKS

The Morph parameter allows the ribbon to blend between different sound settings or patches. By sliding your finger along the ribbon, you can smoothly transition between various tonal characteristics or effects, creating dynamic changes in your sound. The Morph submenu has three options: COPY, PASTE, and INIT. ● COPY allows you to duplicate the current state of any preset. The copied state will be lost when the unit is powered off, and any new copy will replace the previous one. Importantly, the copy function only duplicates the initial morph parameters, not the destination ones. This can be useful when you want to transfer the original preset state to an unknown destination. ● PASTE lets you apply the copied preset state as the morph destination. You can paste parameters from one preset into another, allowing for flexibility when creating transitions between sounds. ● INIT acts like a copy/paste within the same preset. It enables you to erase the morph destination data and replace it with the current state of the preset, allowing you to start a new morph from scratch or undo a previous paste. This function is automatically applied to presets that don't yet have morph information. Note: performing a Paste or INIT will automatically set the ribbon mode to morph to avoid confusion. Editing Morph Parameters Every preset has two sets of parameters: the initial morph state and the destination state. You don't have to use the copy/paste method to set the two states of a preset. You can also do so simply by moving the faders. However, it is important to understand which state you are editing, as it is determined by the latest touch of the ribbon when the ribbon mode is set to morph. ● Initial State Editing: If the ribbon was touched before halfway, all edits affect the initial state. ● Destination State Editing: If the ribbon was touched beyond halfway, all edits affect the morph destination. As a reminder, when the ribbon is not in morph mode, you are always editing the preset's initial state. Example: Morphing Between Filter Cutoff States 1. Set Ribbon to Morph Mode: ○ Select the ribbon mode and set it to MORF. 2. Set Initial State: ○ Touch the left edge of the ribbon. ○ Move the cutoff fader to minimum. This sets the initial state with the filter cutoff closed. 3. Set Morph Destination: ○ Touch the right edge of the ribbon. ○ Move the cutoff fader to maximum. This sets the morph destination with the filter cutoff open. Now, as your finger travels to the right of the ribbon, the filter will open, and as your finger travels to the left, the filter will close. This process allows you to create dynamic and expressive changes in your sound using the ribbon controller, enhancing your performance and sound design capabilities.

SCALES

TWISTfm offers a variety of scales to suit different musical styles and preferences. Each scale has its unique pattern of intervals, providing a distinct tonal quality. When transposing layer 2 over layer 1 in semitone increments, scales are taken into consideration so the transposition is diatonic and not chromatic. This means that the notes in layer 2 are harmonized with layer 1 according to the selected scale, ensuring that the resulting intervals are musically cohesive and harmonious. Below is a brief description of each scale along with its screen abbreviation. These are available in the MODE submenu of the scales menu. Chromatic (CHRO) - A scale consisting of twelve semitones, encompassing all possible notes within an octave. Major (MAJR) - Also known as Ionian, this scale is characterized by a pattern of whole and half steps, giving it a bright and happy sound. Minor (MINR) - Also known as Aeolian, this scale has a darker and more melancholic feel compared to the major scale. Dorian (DORI) - A minor-type scale with a raised sixth, offering a jazzy and soulful sound. Lydian (LYDI) - A major-type scale with a raised fourth, providing a dreamy and ethereal quality. Mixolydian (MIXO) - A major-type scale with a lowered seventh, often used in blues and rock music. Blues (BLUE) - A scale with distinctive blues notes, creating a soulful and expressive sound. Melodic Minor (MELm) - A minor scale with raised sixth and seventh notes when ascending, used in jazz and classical music. Harmonic Minor (HARm) - A minor scale with a raised seventh, creating a distinctive Middle Eastern or classical sound. Gypsy (GYPS) - A scale with augmented seconds, providing a dramatic and exotic sound. Whole Tone (DEBU) - A scale consisting entirely of whole steps, giving a very ambiguous and impressionistic feel. Pentatonic Major (PNTM) - A five-note scale with a bright and open sound, commonly used in folk and rock music. Pentatonic Minor (PNTm) - A five-note scale with a bluesy and soulful sound, widely used in blues and rock music. Phrygian (PHRY) - A minor-type scale with a lowered second, offering a Spanish or Middle Eastern flavor. Locrian (LOCR) - A minor-type scale with a lowered second and fifth, providing a very tense and unresolved sound. Diminished (DIMI) - A scale with alternating whole and half steps, creating a very dissonant and suspenseful sound. Hungarian Minor (HUNG) - A minor scale with raised fourth and seventh notes, providing a distinctively Eastern European sound. Neapolitan Minor (NEAP) - A minor scale with a lowered second and raised seventh, offering a rich and dramatic feel. Double Harmonic (DBLH) - A scale with two augmented seconds, creating a very exotic and intense sound. Altered (ALTR) - A scale used in jazz, with many altered notes, providing a highly dissonant and complex sound. Persian (PERS) - A scale with exotic intervals, creating a Middle Eastern sound. Enigmatic (ENIG) - A scale with unusual intervals, providing a mysterious and ambiguous sound. Root Setting The root setting is used to select the root or tonic of the scale, which defines the central note around which the scale is built. To change the root, turn the encoder, and the note name (A, B, C, etc.) will be displayed on the screen, indicating the selected root note. Keyboard Split Setting TWISTfm allows you to use the lower part of the keyboard to define the scale root and change chords on the fly by enabling a split function within the scale or chord menus. Enabling the Split Function 1. Navigate to the Split submenu. 2. Turn the encoder to change the setting from "OFF" to "ON" to activate the split function. Setting the Split Key in Learn Mode 1. With Split enabled, select "ON" in the split submenu, then press the encoder. 2. The screen will alternate between "SPLT" and "LERN" until you press a piano key to set the split point. ○ Press the lowest key in the play zone (right zone for notes) to define the split key. 3. Once you press a key, all keys below this split point will act as the root (tonic) change zone for the scale. 4. Press the encoder again to exit learning mode if needed. Note: The split zone setting is global across all presets. When split is active for both Chord and Scale modes, the keyboard zones are set as follows: ● Chord Zone: ○ Located directly below the split key. ○ Spans one octave below the split key. ● Root Change Zone: ○ Located two octaves below the split key and extends up to one octave below the split key. The following illustrations demonstrate how the root change and chord change zones are configured with different split settings. Case 1: Scale split is on but chord split is off
SCALES image from page 32
Case 2: Scale split is on and chord split is on
SCALES image from page 32

SCALA (SCL) TUNING

Scala is a widely used microtonal tuning format that defines a scale as a list of intervals (ratios or cents) stored in a .scl file. TWISTfm can load .scl files from a SCALA folder on the root of the SD card. Files are selected from the FILE submenu in the SCALE menu. Turn the encoder to browse the available files; the selected tuning loads immediately. Choose "NONE" to deactivate Scala tuning and return to the standard tuning. Press the encoder or Menu to exit the file browser.

CHORD

The Chord menu on TWISTfm provides various chord modes to enhance your sound design with rich harmonic textures. Here's a breakdown of its features: Mode (MODE) The MODE parameter allows you to select from several chord types, each offering a distinct harmonic structure: ○ Off – No notes played, effectively disabling chord output. ○ Minor Triad – A basic minor chord (root, minor third, fifth) with extensions for octaves and an additional minor seventh, creating a rich sound. ○ Minor 7th (min7) – Minor triad with a minor seventh, plus extensions to add depth. ○ Minor 9th (min9) – Minor 7th chord with a ninth, giving a more complex and jazzy texture. ○ Major Triad – Basic major chord (root, major third, fifth) with octave extensions, offering a full major sound. ○ Major 7th (maj7) – Major triad with a major seventh, adding a smooth, jazzy color. ○ Major 9th (maj9) – Major 7th chord with a ninth, for a more lush, atmospheric sound. ○ Suspended 7th (7sus) – Dominant seventh chord with a suspended fourth, which creates tension and a "floating" sound. ○ House – Chord often used in house music, featuring stacked intervals for a bright, open sound. ○ Power Chord – Root and fifth intervals with octaves, creating a strong, punchy sound commonly used in rock music. ○ Debussy – Unusual intervals reminiscent of Debussy’s harmonies, evoking a dreamy, impressionistic sound. ○ Noir – Dark and moody chord, with unconventional intervals giving it a cinematic, "noir" atmosphere. Tip: You can combine chords with scales and even the arpeggiator! Ribbon Left & Right Chord (RIBL & RIBR) These parameters allow you to assign chords to the left and right sides of the ribbon. When the ribbon mode is set to CHORD, you can use the ribbon to transition smoothly between these two chords. When Keyboard Split is enabled, you can also cue different chords for the left and right sides of the ribbon by pressing keys in the chord zone. See more information on Chord Split below. Keyboard Split Mode Activate Split Mode to use the octave below the split key for real-time chord changes, similar to Scale Split Mode. 1. Enabling Split Mode: ○ Go to the SPLIT submenu, turn the encoder to ON to enable Split Mode. ○ To define the split key via Learn Mode, press the encoder with ON selected. ○ The screen will alternate between "SPLT" and "LERN". Press the lowest key in the play zone to set the split key. ○ Keys below this point become the chord change zone. ○ If Scale split is active, the root change zone is moved below the chord zone.

VIBRATO

The vibrato functionality in TWISTfm allows for dynamic modulation of pitch, adding expressive depth to your sound. The vibrato parameters include mode, sample rate reduction (SRR), waveform selection, link, and sync. Adjust the vibrato speed using the rate fader and control the intensity with the depth fader. The depth is mapped non-linearly to the fader, enabling both subtle vibrato at the low end and extreme vibrato at the top end of the fader's range. Mode The mode parameter offers four modes of pitch modulation: ● BIPO (Bipolar) - Bends the pitch both up and down, creating a traditional vibrato effect. ● UP - Bends the pitch only upwards, adding a rising pitch modulation. ● DOWN - Bends the pitch only downwards, adding a falling pitch modulation. ● MANU (Manual) - Allows you to manually control the pitch bend using the depth fader. This mode can be assigned to an LFO for further flexibility, providing intricate and dynamic pitch modulation. Sample Rate Reduction (SRR) The `vibr_srr` parameter controls the sample rate reduction, applying a sample and hold effect to the vibrato. As you increase the SRR value, the vibrato pitch change jumps, updating less frequently. This creates a more choppy and stepped pitch modulation, which can add a unique texture to your sound. Waveform Selection (WAVE) This parameter allows you to choose from five different waveforms, each offering a distinct character: - SINE - Smooth, continuous wave for gentle pitch modulation. - RECT - Square wave for sharp, abrupt pitch changes. - SAW - Sawtooth wave for a rising pitch modulation. - RAMP - Inverse sawtooth wave for a falling pitch modulation. - NOIZ - Noise waveform for random pitch modulation. Link This parameter enables you to assign the vibrato effect to either layer 1 or layer 2 of the synth. This allows for targeted vibrato application, adding modulation to specific parts of your sound design. Sync This parameter allows you to lock the vibrato to a division of the clock (internal or external MIDI). This ensures the vibrato is in time with the overall tempo of your piece. The available divisions are the same as those used for the arpeggiator: - 4BAR - 2BAR - 1BAR - 1/15 - 1/2 - 1/3 - 1/4 - 1/6 - 1/8 - 1/12 - 1/16 - 1/32

TREMOLO

TWISTfm's stereo tremolo effect allows for smooth, slow modulations or super-fast gate effects, offering a versatile range of dynamic control. The tremolo includes a variety of waveforms, and the left and right channels can be set out of phase to create wide auto-pan effects. Thanks to a high-end stereo volume control IC with zero-crossing technology, the tremolo ensures precise and seamless modulation. Rate The RATE parameter controls the speed of the tremolo effect, allowing you to adjust how quickly the volume oscillates. This can range from smooth, slow modulations to rapid, pulsating effects. You can also use the vibrato rate fader combined with the menu button to set this parameter. Depth The DEPTH parameter determines the intensity of the tremolo effect. You can set it for subtle volume variations or for dramatic, deep modulations that significantly alter the sound dynamics. You can also use the vibrato depth fader combined with the menu button to set this parameter. Waveform Selection (WAVE) This parameter allows you to choose from several different waveforms for the tremolo effect: ● SINE: Provides a smooth and continuous volume modulation. ● RECT: Creates sharp, abrupt changes in volume. ● SAW: Produces a rapid increase and slow decrease in volume. ● RAMP: Inversely, creates a slow increase and rapid decrease in volume. ● NOIZ: Generates random volume modulation for a more chaotic effect. Phase (PHAS) This parameter adjusts the phase offset between the left and right channels of the tremolo effect. This can create wide auto-pan effects by setting the channels out of phase, giving a sense of movement and space to your sound. Sync This parameter allows you to synchronize the tremolo rate to the internal clock or an external MIDI clock. This ensures that the tremolo effect is perfectly timed with the overall tempo of your music. You can also set the tremolo to free timing if you prefer independent modulation. The available divisions are the same as those used for the arpeggiator: ● 4BAR ● 2BAR ● 1BAR ● 1/15 ● 1/2 ● 1/3 ● 1/4 ● 1/6 ● 1/8 ● 1/12 ● 1/16 ● 1/32

SEQUENCER

TWISTfm's internal polyphonic sequencer allows you to create intricate and dynamic patterns. Below is a detailed description of each parameter available in the sequencer. Stop/Start To stop or start the sequencer, hold the Menu button and press the play button. Note that the play button also functions as the envelope link button. Note: You cannot run the arpeggiator and sequencer at the same time. Starting one will stop the other. Edit Allows you to enter the sequencer edit mode, where you can modify individual steps, notes, and other sequence attributes. Refer to the Sequencer Edit Process section below for more details. Rate Controls the tempo of the sequencer. When the sync parameter is enabled, this rate can be set to specific time divisions relative to the master clock (internal or external MIDI), such as 4BAR, 2BAR, 1BAR, 1/15, 1/2, 1/3, 1/4, 1/6, 1/8, 1/12, 1/16, and 1/32. Alternatively, it can be set to free timing. You can also adjust the sequencer rate by holding the play button and turning the encoder. Note The note parameter determines how the sequencer interacts with the notes you play on your MIDI keyboard. It has three modes: ● OFF: Disables note sequencing. The sequencer will not affect the pitch of the notes played. ● ABS (Absolute): In this mode, the sequencer sets the voice to absolute notes, ignoring the key you are playing on the MIDI keyboard. Each step in the sequence will output the exact note value programmed, regardless of the incoming MIDI note. ● RELA (Relative): In relative mode, the sequencer changes the note relative to the note you are playing on the MIDI keyboard. The steps in the sequence will transpose based on the key you press, allowing for dynamic and musical interaction between your playing and the sequence. Fader (On or Off) When the fader is on, the sequencer will play back pre-recorded fader positions. Turn it off if you only wish to sequence notes. Clear Clears the current sequence, resetting all steps to their default values. Length Sets the length of the sequence (1 to 128), determining how many steps the sequencer will play before looping. Hold Menu to increase or decrease the length by 10 step increments. Loop Enables or disables looping of the sequence. When enabled, the sequence will continuously loop based on the set length. Retrigger Determines if the sequence should retrigger with each voice. Latch When enabled, the sequence will continue to play even after the key is released, until it is manually stopped. Sync Synchronizes the sequencer to the master clock (internal or external MIDI), ensuring the sequence plays in time with other synchronized devices. When sync is enabled, the rate parameter divisions (4BAR, 2BAR, 1BAR, 1/15, 1/2, 1/3, 1/4, 1/6, 1/8, 1/12, 1/16, 1/32) are used. Direction Sets the direction of the sequence playback. Options include: ● Forward: Plays the sequence from the first step to the last. ● Reverse: Plays the sequence from the last step to the first. ● Ping-pong: Plays the sequence forward and then in reverse. ● Random: Plays the sequence steps in a random order. ● Pressure: Plays sequence steps in proportion to key pressure (increasing pressure advances through the sequence)

SEQUENCER EDIT

Follow this step-by-step guide to edit sequences on your TWISTfm synthesizer. Entering and Exiting the Sequencer Editor 1. Entering the Editor: ○ Press the encoder with EDIT selected to enter the sequencer editor mode. ○ The display will alternate between showing the note name of the current step (e.g., C-1) and the current target step. 2. Exiting the Editor: ○ Press Menu at any time to exit the sequencer editor. Editing Steps 1. Selecting a Step: ○ Turn the encoder to select the step number you wish to edit. ○ The display will briefly show the current step number immediately after turning the encoder. ○ After a moment, the display will revert back to showing the note and octave of the selected step. 2. Setting the Note: ○ To set the note for the selected step, simply play a note on your MIDI keyboard. ○ TWISTfm will learn from the incoming note and set the step to this note. Gate (Triggering) Behavior For each step, you can determine the gate behavior using the three LFO link buttons: 1. Key Down (Downward Arrow): ○ Indicates a trigger (like pressing a key). ○ The step will play the note and trigger the synthesizer's envelopes. 2. Tie (Solid Horizontal Line): ○ Makes the sequencer step tie to the next one. ○ The synth isn’t triggered nor killed; it simply holds from the previous step. ○ You can still change the note during a tie, as it only affects the gate behavior. 3. Key Up (Upward Arrow): ○ Closes the gate (like lifting your finger off the key). ○ The step will end the note. Browser MIDI Tool Sequencer Editor The browser MIDI tool shows the sequence as a piano roll split into four 32-step pages: 1-32, 33-64, 65-96, and 97-128. Changing page requests only that page from TWISTfm, which keeps SysEx traffic lower than dumping the whole sequence every time. Steps run left to right. The upper grid shows one octave of pitch classes, and the lower octave grid selects the octave for each step. The Gate row shows the gate state for each step: ● T: trigger. The step plays the note and retriggers the envelopes. ● -: tie. The step holds from the previous step without retriggering or killing the note. ● R: rest. The step closes the gate. Click a note cell to place or move the note for that step. Clicking the same lit note cell toggles that step between trigger and rest. You can also click the Gate cell at the top of a step to cycle T, -, and R directly. To draw a tie, click and drag from one note cell to another step. The tool marks the following step or steps as tied and draws a curved line between the connected note cells. A tie is stored on the second step of the connection: for example, a tie from step 1 to step 2 means step 2 is set to "-". To break a tie, toggle the second step of the tie. Click that tied step's Gate cell until it returns to T, or click the tied lit note cell to change it to R and click again if you want it back to T. The curved line disappears when the second step is no longer set to "-". Fader Automation 1. Recording Fader Positions: ○ When in step edit mode, you can record up to 10 fader positions. ○ Move a fader to record its position. ○ The fader position will be recalled (modulated) on that step, provided that the FADER parameter is set to ON.

SETUP

The Setup menu allows you to configure various internal settings: LED Brightness Adjust the brightness of the LEDs with options ranging from 1 to 16. Encoder Speed Set the speed and responsiveness of the rotary encoder. Options are NORM (normal) or FAST. The FAST setting provides a quicker response, now added alongside the previous default speed. Chip Balance Adjust the balance offset between the two chips. By default, the balance is centered. Encoder Acceleration ACCL Choose how aggressively the encoder accelerates when spun quickly. Options are OFF (default), MED, or HIGH. Acceleration only kicks in on fast turns so slow moves stay precise; use OFF for consistent fine control, MED for a gentle lift (about a quarter of the previous MED), and HIGH for quick jumps similar to the earlier medium acceleration.

MIDI IMPLEMENTATION

All real-time CC tables below are designed for controller read/write workflows. Direct performance CCs and main fader CCs are bidirectional: TWISTfm accepts incoming CC and sends feedback on preset load and parameter changes. In MPE mode, channel 1 is the global/control channel; channels 2-16 are voice channels.

Core MIDI Messages

CCMessageValuesDirectionNotes
0Bank Select MSB0-127InUsed with Program Change to select preset folders
1Mod wheel0-127InLearned modulation source; target is set in MIDI menu
7Master volume0-127In/OutPreset/main volume direct CC
32Bank Select LSB0-127InReserved for Bank Select; not used as a fader CC
64Sustain pedal0-63 Off, 64-127 OnInHold/release currently played notes
74MPE Y / Slide0-127InPer-channel MPE Y; also usable as the LFO MPEY/CC74 source
88Ribbon position0-127In/OutHardware ribbon sends CC88; incoming CC88 moves the ribbon target
PCProgram Change0-127InSelects preset in the folder selected by latest Bank Select

Direct Performance CCs

Flat CCs added for performance controls, buttons, motor faders, and LED-ring controllers.

GroupCCParameterValuesDirection
Voice & pitch2Voice modePoly 8=0, Unison=1, 4 x 2=2, 2 x 4=3, Mono=4, Wide 8=5, Robin=6In/Out
Voice & pitch3Layer2 trans1-49In/Out
Voice & pitch4Fat mult0-31In/Out
Filter & mix5Filter flavor0-63 Off, 64-127 OnIn/Out
Filter & mix6Filter wobble0-63 Off, 64-127 OnIn/Out
Filter & mix7Master vol0-255In/Out
Filter & mix89Filter slew0-20In/Out
Filter & mix90Input volOff=0, Normal=1, Warm=2, Hot=3, 11=4In/Out
Filter & mix91Filter keytrk0-10In/Out
Arpeggiator92Arp run0-63 Off, 64-127 OnIn/Out
Sequencer93Seq run0-63 Off, 64-127 OnIn/Out
Performance101BPM1-500In/Out
Voice & pitch103Glide modeNormal=0, Legato=1In/Out
Performance104Morph pos0-255In/Out
Performance105Aftertouch0-63 Off, 64-127 OnIn/Out
Arpeggiator106Arp modeUp=1, Down=2, Up/down=3, Random=4, Random walk=5, Converge=6, Diverge=7, Played order=8, Stutter=9, All=10, Fugue=11In/Out
Arpeggiator107Arp range0-5In/Out
Arpeggiator108Arp rate0-50In/Out
Arpeggiator109Arp sync0-63 Off, 64-127 OnIn/Out
Arpeggiator110Arp linkBoth layers=0, Layer 1=1, Layer 2=2In/Out
Arpeggiator111Arp length1-8In/Out
Sequencer112Seq rate0-50In/Out
Sequencer113Seq modeOff=0, Absolute=1, Relative=2, Random=3In/Out
Sequencer114Seq length1-128In/Out
Sequencer115Seq loop0-63 Off, 64-127 OnIn/Out
Sequencer116Seq retrig0-63 Off, 64-127 OnIn/Out
Sequencer117Seq latch0-63 Off, 64-127 OnIn/Out
Sequencer118Seq sync0-63 Off, 64-127 OnIn/Out
Sequencer119Seq directionForward=0, Reverse=1, Ping-pong=2, Random=3, Pressure=4In/Out

Main Fader CCs

These are the long-standing fader controls, with current bidirectional feedback. Most map 0-127 to the underlying 8-bit preset value.

Panel areaCCParameterValuesDirection
OPL L110OP1 alg0-127In/Out
OPL L116OP1 feedback0-127In/Out
OPL L113OP1 vol0-127In/Out
OPL L119OP1 wave0-127In/Out
OPL L122OP1 mult0-127In/Out
OPL L125OP1 attack0-127In/Out
OPL L128OP1 decay0-127In/Out
OPL L131OP1 sustain0-127In/Out
OPL L134OP1 release0-127In/Out
OPL L137OP2 vol0-127In/Out
OPL L140OP2 wave0-127In/Out
OPL L143OP2 mult0-127In/Out
OPL L146OP2 attack0-127In/Out
OPL L149OP2 decay0-127In/Out
OPL L152OP2 sustain0-127In/Out
OPL L155OP2 release0-127In/Out
OPL L158OP3 vol0-127In/Out
OPL L161OP3 wave0-127In/Out
OPL L148OP3 mult0-127In/Out
OPL L151OP3 attack0-127In/Out
OPL L154OP3 decay0-127In/Out
OPL L157OP3 sustain0-127In/Out
OPL L160OP3 release0-127In/Out
OPL L163OP4 vol0-127In/Out
OPL L145OP4 wave0-127In/Out
OPL L142OP4 mult0-127In/Out
OPL L139OP4 attack0-127In/Out
OPL L162OP4 decay0-127In/Out
OPL L136OP4 sustain0-127In/Out
OPL L133OP4 release0-127In/Out
OPL L29OP5 alg0-127In/Out
OPL L215OP5 feedback0-127In/Out
OPL L212OP5 vol0-127In/Out
OPL L218OP5 wave0-127In/Out
OPL L286OP5 tune0-127In/Out
OPL L221OP5 mult0-127In/Out
OPL L224OP5 attack0-127In/Out
OPL L227OP5 decay0-127In/Out
OPL L230OP5 sustain0-127In/Out
OPL L28OP5 release0-127In/Out
OPL L211OP6 vol0-127In/Out
OPL L214OP6 wave0-127In/Out
OPL L217OP6 mult0-127In/Out
OPL L220OP6 attack0-127In/Out
OPL L223OP6 decay0-127In/Out
OPL L226OP6 sustain0-127In/Out
OPL L229OP6 release0-127In/Out
OPL L285Fat0-127In/Out
FILTER102Cutoff0-127In/Out
FILTER35Resonance0-127In/Out
FILTER38Filter type0-127In/Out
FILTER41Filter env0-127In/Out
FILTER44Filter attack0-127In/Out
FILTER47Filter decay0-127In/Out
FILTER50Filter sustain0-127In/Out
FILTER53Filter release0-127In/Out
FILTER94Filter heat0-127In/Out
FILTER56Glide0-127In/Out
MOD FADERS59Rise0-127In/Out
MOD FADERS87Fall0-127In/Out
MOD FADERS65Pressure atk0-127In/Out
MOD FADERS67Pressure depth0-127In/Out
MOD FADERS69Pressure rel0-127In/Out
MOD FADERS71Env depth0-127In/Out
MOD FADERS73Env attack0-127In/Out
MOD FADERS75Env decay0-127In/Out
MOD FADERS81Env sustain0-127In/Out
MOD FADERS76Env release0-127In/Out
MOD FADERS66Vibr rate0-127In/Out
MOD FADERS68Vibr depth0-127In/Out
MOD FADERS96Trem rate0-127In/Out
MOD FADERS97Trem depth0-127In/Out
MOD FADERS70LFO1 rate0-127In/Out
MOD FADERS72LFO1 depth0-127In/Out
MOD FADERS95LFO1 shape0-127In/Out
MOD FADERS98LFO1 mode0-127In/Out
MOD FADERS78LFO2 rate0-127In/Out
MOD FADERS82LFO2 depth0-127In/Out
MOD FADERS77LFO2 shape0-127In/Out
MOD FADERS99LFO2 mode0-127In/Out
MOD FADERS80LFO3 rate0-127In/Out
MOD FADERS79LFO3 depth0-127In/Out
MOD FADERS83LFO3 shape0-127In/Out
MOD FADERS100LFO3 mode0-127In/Out

SysEx Editor Protocol

Warning: do not route TWISTfm MIDI input back to TWISTfm MIDI output in Ableton or another DAW while the browser editor is open. That creates a MIDI feedback loop. If the editor shows ERROR:MIDI FEEDBACK, disable that routing or close the DAW output before using the editor.

Header: F0 7D 54 57 30. All data bytes are 7-bit. Multi-byte values use value = LSB + (MSB * 128); raw addresses use the same LSB/MSB split.

CommandNamePayloadResponse
01GET_ALL editor parametersNo payloadOne INFO response plus VALUE responses for the editor ID table
02GET editor parameteridVALUE response for one editor ID
03SET editor parameterid valueLSB valueMSBVALUE response echoing the stored value
05GET raw preset parameteraddressLSB addressMSBRAW_PRESET_VALUE response
06SET raw preset parameteraddressLSB addressMSB valueLSB valueMSBRAW_PRESET_VALUE response
07GET raw settingaddressLSB addressMSBRAW_SETTING_VALUE response
08SET raw settingaddressLSB addressMSB valueLSB valueMSBRAW_SETTING_VALUE response
09GET_ALL raw preset parametersNo payloadRAW_PRESET_VALUE responses for raw indexes 0-208
0AGET_ALL raw settingsNo payloadRAW_SETTING_VALUE responses for exposed setting indexes
0BGET_ALL patch editor parametersNo payloadVALUE responses for preset editor IDs only
0CGET bufferbufferId [offsetLSB offsetMSB lengthLSB lengthMSB]BUFFER_DATA chunk responses
0DSET buffer chunkbufferId flags offsetLSB offsetMSB totalLSB totalMSB count packed7Data checksumBUFFER_ACK response

Buffer 00 is the live preset/fader buffer, preset[0..199]. GET buffer sends up to 32 raw bytes per BUFFER_DATA chunk. SET buffer is staged and committed only when all 200 bytes have arrived and the END flag is accepted.

SysEx Responses

CommandNamePayload
11INFOversion parameterCount
12VALUEid valueLSB valueMSB
14ERRORcode id
15RAW_PRESET_VALUEaddressLSB addressMSB valueLSB valueMSB
16RAW_SETTING_VALUEaddressLSB addressMSB valueLSB valueMSB
17PATCH_CHANGEDpatchParameterCount
18EXTENDED_ERRORcode addressLSB addressMSB
19BUFFER_DATAbufferId offsetLSB offsetMSB totalLSB totalMSB count packed7Data checksum
1ABUFFER_ACKbufferId status offsetLSB offsetMSB count

SET buffer flags: bit 0 = BEGIN, bit 1 = END. BUFFER_ACK status: 00 chunk accepted, 01 committed, 02 incomplete. packed7 stores up to 7 raw bytes as one high-bit mask followed by low 7-bit data bytes. The checksum is the lower 7 bits of bufferId + flags + offset bytes + total bytes + count + raw data bytes; BUFFER_DATA uses flags = 0 for checksum.

Editor SysEx Parameter Index

Use commands 02/03 with these editor IDs. This is the high-level, named parameter set used by the browser editor.

IDGroupParameterTargetStorageRangeBit
0MIDIInput channelGlobal settingsettings[2] SETTINGS_MIDICHAN1-17
1MIDIClock sourceGlobal settingsettings[9] SETTINGS_READ_CLOCK0-1
2MIDINo aftertouchGlobal settingsettings[13] SETTINGS_NOAT0-1
3MIDIMono priorityGlobal settingsettings[23] SETTINGS_NOTE_PRIORITY0-2
4MIDIMPE bend downGlobal settingsettings[25] SETTINGS_MPE_BEND_DOWN1-48
5MIDIMPE bend upGlobal settingsettings[24] SETTINGS_MPE_BEND_UP1-48
6MIDIPreset bend downPresetpreset[131] BEND_DOWN_RANGE1-48
7MIDIPreset bend upPresetpreset[132] BEND_UP_RANGE1-48
8SetupLED brightnessGlobal settingsettings[7] SETTINGS_LEDS0-15
9SetupEncoder resolutionGlobal settingsettings[27] SETTINGS_ENC_RES0-1
10SetupOutput balanceGlobal settingsettings[28] SETTINGS_BALANCE1-49
11SetupFader pickupGlobal settingsettings[30] SETTINGS_PICKUP0-1
12SetupEncoder accelerationGlobal settingsettings[31] SETTINGS_ENC_ACCEL0-2
13SetupSafe preset loadGlobal settingsettings[12] SETTINGS_SAFE0-1
14SetupHint timeout (seconds)Global settingsettings[14] SETTINGS_DISP_DELAY0-6
15PresetTuningPresetpreset[92] PRESET_TUNING0-255
16PresetIntonationPresetpreset[157] PRESET_INTONATION0-2
17MIDIMod wheel targetPresetpreset[153] MODWHEEL0-93
18SetupLFO displayGlobal settingsettings[8] SETTINGS_LFO_ANIMATION0-2
19OperatorsOP1 KSLPresetpreset[178] KSL_OP10-3
20OperatorsOP2 KSLPresetpreset[179] KSL_OP20-3
21OperatorsOP3 KSLPresetpreset[180] KSL_OP30-3
22OperatorsOP4 KSLPresetpreset[181] KSL_OP40-3
23OperatorsOP5 KSLPresetpreset[182] KSL_OP50-3
24OperatorsOP6 KSLPresetpreset[183] KSL_OP60-3
25OperatorsOP1 KSRPreset bitpreset[177] KSR bit 00-10
26OperatorsOP2 KSRPreset bitpreset[177] KSR bit 10-11
27OperatorsOP3 KSRPreset bitpreset[177] KSR bit 20-12
28OperatorsOP4 KSRPreset bitpreset[177] KSR bit 30-13
29OperatorsOP5 KSRPreset bitpreset[177] KSR bit 40-14
30OperatorsOP6 KSRPreset bitpreset[177] KSR bit 50-15
31OperatorsOP1 velocity to volumePresetpreset[185] VEL_TO_VOL10-10
32OperatorsOP2 velocity to volumePresetpreset[186] VEL_TO_VOL20-10
33OperatorsOP3 velocity to volumePresetpreset[187] VEL_TO_VOL30-10
34OperatorsOP4 velocity to volumePresetpreset[188] VEL_TO_VOL40-10
35OperatorsOP5 velocity to volumePresetpreset[189] VEL_TO_VOL50-10
36OperatorsOP6 velocity to volumePresetpreset[190] VEL_TO_VOL60-10
37LFO 1SyncPresetpreset[86] LFO_SYNC_10-1
38LFO 1LoopPresetpreset[83] LFO_LOOP_10-1
39LFO 1RetriggerPresetpreset[89] LFO_RETRIG_10-1
40LFO 1Sample-rate reductionPresetpreset[95] LFO_SRR_10-99
41LFO 1Key trackingPresetpreset[126] LFO1_KEYT0-10
42LFO 1WarpPresetpreset[137] LFO_1_WARP0-11
43LFO 1GlobalPresetpreset[145] LFO_GLOBAL_10-1
44LFO 1Loop skip maskPresetpreset[191] LFO1_SKIP0-255
45LFO 1Loop flip maskPresetpreset[194] LFO1_FLIP0-255
46LFO 2SyncPresetpreset[87] LFO_SYNC_20-1
47LFO 2LoopPresetpreset[84] LFO_LOOP_20-1
48LFO 2RetriggerPresetpreset[90] LFO_RETRIG_20-1
49LFO 2Sample-rate reductionPresetpreset[96] LFO_SRR_20-99
50LFO 2Key trackingPresetpreset[127] LFO2_KEYT0-10
51LFO 2WarpPresetpreset[138] LFO_2_WARP0-11
52LFO 2GlobalPresetpreset[146] LFO_GLOBAL_20-1
53LFO 2Loop skip maskPresetpreset[192] LFO2_SKIP0-255
54LFO 2Loop flip maskPresetpreset[195] LFO2_FLIP0-255
55LFO 3SyncPresetpreset[88] LFO_SYNC_30-1
56LFO 3LoopPresetpreset[85] LFO_LOOP_30-1
57LFO 3RetriggerPresetpreset[91] LFO_RETRIG_30-1
58LFO 3Sample-rate reductionPresetpreset[97] LFO_SRR_30-99
59LFO 3Key trackingPresetpreset[128] LFO3_KEYT0-10
60LFO 3WarpPresetpreset[139] LFO_3_WARP0-11
61LFO 3GlobalPresetpreset[170] LFO_GLOBAL_30-1
62LFO 3Loop skip maskPresetpreset[193] LFO3_SKIP0-255
63LFO 3Loop flip maskPresetpreset[196] LFO3_FLIP0-255
64Mod EnvelopeModePresetpreset[98] ENV_MODE0-1
65Mod EnvelopeLoopPresetpreset[100] ENV_LOOP0-1
66Mod EnvelopeSyncPresetpreset[167] ENV_SYNC0-1
67Mod EnvelopeLegatoPresetpreset[197] ENV_LEGA0-1
68Filter EnvModePresetpreset[99] ENVF_MODE0-1
69Filter EnvLoopPresetpreset[101] ENVF_LOOP0-1
70Filter EnvSyncPresetpreset[169] ENVF_SYNC0-1
71Filter EnvLegatoPresetpreset[198] ENVF_LEGA0-1
72RibbonModePresetpreset[103] RIBBON_MODE0-8
73RibbonBend upPresetpreset[105] RIBBON_UP0-50
74RibbonBend downPresetpreset[106] RIBBON_DOWN0-50
75RibbonSlewPresetpreset[129] RIBBON_SLEW0-50
76RibbonPlay rangePresetpreset[135] RIBBON_PLAY0-4
77RibbonBend linkPresetpreset[172] RIBBON_BEND_LINK0-2
78RibbonHoldPresetpreset[115] RIBBON_HOLD0-1
79RibbonCustom fader targetPresetpreset[158] RIBBON_CUSTOM0-93
80SequencerFader playbackPresetpreset[123] SEQ_FADER0-1
81SequencerLinkPresetpreset[154] SEQ_LINK0-2
82ArpeggiatorSkip maskPresetpreset[173] ARP_SKIP0-255
83ArpeggiatorTie maskPresetpreset[111] ARP_TIE0-255
84ScaleRootPresetpreset[120] SCALE_ROOT0-11
85ScaleScalePresetpreset[121] SCALE_MODE0-21
86ScaleSplitPresetpreset[122] SCALE_SPLIT0-1
87ChordChordPresetpreset[125] CHORD_MODE0-11
88ChordRibbon left chordPresetpreset[174] CHORD_RIB_L1-11
89ChordRibbon right chordPresetpreset[175] CHORD_RIB_R1-11
90ChordSplitPresetpreset[176] CHORD_RIB_SPLIT0-1
91VibratoModePresetpreset[166] VIBR_MODE0-3
92VibratoSample-rate reductionPresetpreset[168] VIBR_SRR0-99
93VibratoWavePresetpreset[171] VIBR_WAV0-4
94VibratoLinkPresetpreset[149] VIBR_LINK0-2
95VibratoSyncPresetpreset[147] VIBR_SYNC0-1
96TremoloWavePresetpreset[162] TREM_WAVE0-4
97TremoloPhasePresetpreset[161] TREM_PHASE0-50
98TremoloSyncPresetpreset[163] TREM_SYNC0-1
99MIDISplit noteGlobal settingsettings[10] SETTINGS_SPLIT_NOTE1-128
100MIDIMPE pressure pickupGlobal settingsettings[22] SETTINGS_MPE_PRESSURE_PICKUP0-1
101OperatorsOP1 envelopePreset bitpreset[199] DOUBLE_DECAY bit 00-10
102OperatorsOP2 envelopePreset bitpreset[199] DOUBLE_DECAY bit 10-11
103OperatorsOP3 envelopePreset bitpreset[199] DOUBLE_DECAY bit 20-12
104OperatorsOP4 envelopePreset bitpreset[199] DOUBLE_DECAY bit 30-13
105OperatorsOP5 envelopePreset bitpreset[199] DOUBLE_DECAY bit 40-14
106OperatorsOP6 envelopePreset bitpreset[199] DOUBLE_DECAY bit 50-15
107OperatorsOP1 envelope loopLoop modeOP_ENV_LOOP bit 0 + OP_ENV_LOOP_SYNC bit 00=OFF, 1=FREE, 2=SYNC0
108OperatorsOP2 envelope loopLoop modeOP_ENV_LOOP bit 1 + OP_ENV_LOOP_SYNC bit 10=OFF, 1=FREE, 2=SYNC1
109OperatorsOP3 envelope loopLoop modeOP_ENV_LOOP bit 2 + OP_ENV_LOOP_SYNC bit 20=OFF, 1=FREE, 2=SYNC2
110OperatorsOP4 envelope loopLoop modeOP_ENV_LOOP bit 3 + OP_ENV_LOOP_SYNC bit 30=OFF, 1=FREE, 2=SYNC3
111OperatorsOP5 envelope loopLoop modeOP_ENV_LOOP bit 4 + OP_ENV_LOOP_SYNC bit 40=OFF, 1=FREE, 2=SYNC4
112OperatorsOP6 envelope loopLoop modeOP_ENV_LOOP bit 5 + OP_ENV_LOOP_SYNC bit 50=OFF, 1=FREE, 2=SYNC5

Raw Preset SysEx Address Index

Use commands 05/06/09 with these raw preset addresses. Addresses 0-199 are preset bytes; 200-207 are all-envelope aliases; 208 is the full BPM value.

AddressNameRangeNotes
0OP_ENV_LOOP_SYNC0-63Bits 0-5 select SYNC timing for OP1-OP6 when OP_ENV_LOOP is enabled
1ALGO_10-255Preset byte
2VOL_10-255Preset byte
3FEED_10-255Preset byte
4WAV_10-255Preset byte
5MULT_10-255Preset byte
6ATTACK_10-255Preset byte
7DECAY_10-255Preset byte
8SUSTAIN_10-255Preset byte
9RELEASE_10-255Preset byte
10VOL_20-255Preset byte
11WAV_20-255Preset byte
12MULT_20-255Preset byte
13ATTACK_20-255Preset byte
14DECAY_20-255Preset byte
15SUSTAIN_20-255Preset byte
16RELEASE_20-255Preset byte
17VOL_30-255Preset byte
18WAV_30-255Preset byte
19MULT_30-255Preset byte
20ATTACK_30-255Preset byte
21DECAY_30-255Preset byte
22SUSTAIN_30-255Preset byte
23RELEASE_30-255Preset byte
24VOL_40-255Preset byte
25WAV_40-255Preset byte
26MULT_40-255Preset byte
27ATTACK_40-255Preset byte
28DECAY_40-255Preset byte
29SUSTAIN_40-255Preset byte
30RELEASE_40-255Preset byte
31ALGO_50-255Preset byte
32VOL_50-255Preset byte
33FEED_50-255Preset byte
34WAV_50-255Preset byte
35TUNE_50-255Preset byte
36MULT_50-255Preset byte
37ATTACK_50-255Preset byte
38DECAY_50-255Preset byte
39SUSTAIN_50-255Preset byte
40RELEASE_50-255Preset byte
41VOL_60-255Preset byte
42WAV_60-255Preset byte
43MULT_60-255Preset byte
44ATTACK_60-255Preset byte
45DECAY_60-255Preset byte
46SUSTAIN_60-255Preset byte
47RELEASE_60-255Preset byte
48FILTER_CUT0-255Preset byte
49FILTER_RES0-255Preset byte
50FILTER_TYPE0-255Preset byte
51FILTER_ENV0-255Preset byte
52FILTER_ATTACK0-255Preset byte
53FILTER_DECAY0-255Preset byte
54FILTER_SUSTAIN0-255Preset byte
55FILTER_RELEASE0-255Preset byte
56GLIDE0-255Preset byte
57RISE0-255Preset byte
58FALL0-255Preset byte
59VIBRATO_DEPTH0-255Preset byte
60VIBRATO_RATE0-255Preset byte
61LFO_RATE_10-255Preset byte
62LFO_RATE_20-255Preset byte
63LFO_RATE_30-255Preset byte
64LFO_SHAPE_10-255Preset byte
65LFO_SHAPE_20-255Preset byte
66LFO_SHAPE_30-255Preset byte
67LFO_DEPTH_10-255Preset byte
68LFO_DEPTH_20-255Preset byte
69LFO_DEPTH_30-255Preset byte
70PRESSURE_ATTACK0-255Preset byte
71PRESSURE_DEPTH0-255Preset byte
72PRESSURE_RELEASE0-255Preset byte
73ENV_DEPTH0-255Preset byte
74ENV_ATTACK0-255Preset byte
75ENV_DECAY0-255Preset byte
76ENV_SUSTAIN0-255Preset byte
77ENV_RELEASE0-255Preset byte
78FAT_10-255Preset byte
79VOICEMODE0-6Preset byte
80LFO_MODE_10-255Preset byte
81LFO_MODE_20-255Preset byte
82LFO_MODE_30-255Preset byte
83LFO_LOOP_10-1Preset byte
84LFO_LOOP_20-1Preset byte
85LFO_LOOP_30-1Preset byte
86LFO_SYNC_10-1Preset byte
87LFO_SYNC_20-1Preset byte
88LFO_SYNC_30-1Preset byte
89LFO_RETRIG_10-1Preset byte
90LFO_RETRIG_20-1Preset byte
91LFO_RETRIG_30-1Preset byte
92PRESET_TUNING0-255Preset byte
93FILTER_FLAVOR0-1Preset byte
94FILTER_WOBBLE0-1Preset byte
95LFO_SRR_10-99Preset byte
96LFO_SRR_20-99Preset byte
97LFO_SRR_30-99Preset byte
98ENV_MODE0-1Preset byte
99ENVF_MODE0-1Preset byte
100ENV_LOOP0-1Preset byte
101ENVF_LOOP0-1Preset byte
102AFTERTOUCH_MODE0-1Preset byte
103RIBBON_MODE0-8Preset byte
104NEWMULT0-63Preset byte
105RIBBON_UP0-50Preset byte
106RIBBON_DOWN0-50Preset byte
107SEQ_LENGTH1-128Preset byte
108SEQ_LOOP0-1Preset byte
109SEQ_SYNC0-1Preset byte
110SEQ_RATE0-50Preset byte
111SEQ_RETRIG, ARP_TIE0-1Preset byte
112SEQ_MODE0-3Preset byte
113SEQ_RUN0-1Preset byte
114SEQ_LATCH0-1Preset byte
115RIBBON_HOLD0-1Preset byte
116ARP_MODE1-11Preset byte
117ARP_RANGE0-5Preset byte
118ARP_RATE0-50Preset byte
119ARP_SYNC0-1Preset byte
120SCALE_ROOT0-11Preset byte
121SCALE_MODE0-21Preset byte
122SCALE_SPLIT0-1Preset byte
123SEQ_FADER0-1Preset byte
124FILTER_HEAT0-255Preset byte
125CHORD_MODE0-11Preset byte
126LFO1_KEYT0-10Preset byte
127LFO2_KEYT0-10Preset byte
128LFO3_KEYT0-10Preset byte
129RIBBON_SLEW0-50Preset byte
130ARP_RUN0-1Preset byte
131BEND_DOWN_RANGE1-48Preset byte
132BEND_UP_RANGE1-48Preset byte
133RIBBON_POS0-255Preset byte
134MORPH_POS0-255Preset byte
135RIBBON_PLAY0-4Preset byte
136SEQ_DIRECTION0-4Preset byte
137LFO_1_WARP0-11Preset byte
138LFO_2_WARP0-11Preset byte
139LFO_3_WARP0-11Preset byte
140OP_ENV_LOOP0-63Bits 0-5 enable software envelope loop for OP1-OP6; OP_ENV_LOOP_SYNC selects FREE or SYNC timing
141ARP_LENGTH1-8Preset byte
142BPM20-255Preset byte
143FILTER_KEYTRACK0-10Preset byte
144FAT_MULTIPLIER0-31Preset byte
145LFO_GLOBAL_10-1Preset byte
146LFO_GLOBAL_20-1Preset byte
147VIBR_SYNC0-1Preset byte
148GLIDE_MODE0-1Preset byte
149VIBR_LINK0-2Preset byte
150MASTER_VOL0-255Preset byte
151FILTER_SLEW0-20Preset byte
152ARP_LINK0-2Preset byte
153MODWHEEL0-93Preset byte
154SEQ_LINK0-2Preset byte
155BPM0-255Preset byte
156LAYER2_TRANSPOSE1-49Preset byte
157PRESET_INTONATION0-2Preset byte
158RIBBON_CUSTOM0-93Preset byte
159TREM_RATE0-255Preset byte
160TREM_DEPTH0-255Preset byte
161TREM_PHASE0-50Preset byte
162TREM_WAVE0-4Preset byte
163TREM_SYNC0-1Preset byte
164INPUT_VOL0-4Preset byte
165MOD_FADER_LAST0-255Preset byte
166VIBR_MODE0-3Preset byte
167ENV_SYNC0-1Preset byte
168VIBR_SRR0-99Preset byte
169ENVF_SYNC0-1Preset byte
170LFO_GLOBAL_30-1Preset byte
171VIBR_WAV0-4Preset byte
172RIBBON_BEND_LINK0-2Preset byte
173ARP_SKIP0-255Preset byte
174CHORD_RIB_L1-11Preset byte
175CHORD_RIB_R1-11Preset byte
176CHORD_RIB_SPLIT0-1Preset byte
177KSR0-63Preset byte
178KSL_OP10-3Preset byte
179KSL_OP20-3Preset byte
180KSL_OP30-3Preset byte
181KSL_OP40-3Preset byte
182KSL_OP50-3Preset byte
183KSL_OP60-3Preset byte
184EASTER0-255Preset byte
185VEL_TO_VOL10-10Preset byte
186VEL_TO_VOL20-10Preset byte
187VEL_TO_VOL30-10Preset byte
188VEL_TO_VOL40-10Preset byte
189VEL_TO_VOL50-10Preset byte
190VEL_TO_VOL60-10Preset byte
191LFO1_SKIP0-255Preset byte
192LFO2_SKIP0-255Preset byte
193LFO3_SKIP0-255Preset byte
194LFO1_FLIP0-255Preset byte
195LFO2_FLIP0-255Preset byte
196LFO3_FLIP0-255Preset byte
197ENV_LEGA0-1Preset byte
198ENVF_LEGA0-1Preset byte
199DOUBLE_DECAY0-63Preset byte
200ALL_ATTACK_10-255Performance alias
201ALL_DECAY_10-255Performance alias
202ALL_SUSTAIN_10-255Performance alias
203ALL_RELEASE_10-255Performance alias
204ALL_ATTACK_20-255Performance alias
205ALL_DECAY_20-255Performance alias
206ALL_SUSTAIN_20-255Performance alias
207ALL_RELEASE_20-255Performance alias
208BPM1-500Performance alias

Raw Setting SysEx Address Index

Use commands 07/08/0A with these exposed global setting indexes.

AddressNameEditor IDParameterRange
2SETTINGS_MIDICHAN0Input channel1-17
7SETTINGS_LEDS8LED brightness0-15
8SETTINGS_LFO_ANIMATION18LFO display0-2
9SETTINGS_READ_CLOCK1Clock source0-1
10SETTINGS_SPLIT_NOTE99Split note1-128
12SETTINGS_SAFE13Safe preset load0-1
13SETTINGS_NOAT2No aftertouch0-1
14SETTINGS_DISP_DELAY14Hint timeout (seconds)0-6
22SETTINGS_MPE_PRESSURE_PICKUP100MPE pressure pickup0-1
23SETTINGS_NOTE_PRIORITY3Mono priority0-2
24SETTINGS_MPE_BEND_UP5MPE bend up1-48
25SETTINGS_MPE_BEND_DOWN4MPE bend down1-48
27SETTINGS_ENC_RES9Encoder resolution0-1
28SETTINGS_BALANCE10Output balance1-49
30SETTINGS_PICKUP11Fader pickup0-1
31SETTINGS_ENC_ACCEL12Encoder acceleration0-2

FIRMWARE UPDATES

Updating the firmware of your TWISTfm is a straightforward process performed exclusively with the included microSD card and its USB SD card reader. Follow these steps to update your firmware: 1. Prepare the Firmware File: Unzip the update package and copy only the firmwareXX.tfm file inside it, where XX indicates the version number, to the root of the microSD card. Do not copy the ZIP file itself to the card. 2. Insert the SD Card: Insert the microSD card into the slot on your TWISTfm. 3. Automatic Detection: TWISTfm will automatically detect the firmware file. If multiple firmwareXX.tfm files are present, TWISTfm will use the highest version and delete all others. MIDI Engine 3.0 Update: The MIDI Engine 3.0 update is separate from the main firmware update above. Do not update the MIDI Engine by copying the .bin file to the SD card. Follow the instructions included in the MIDI Engine firmware ZIP; the engine update is done over USB with MIDI_ENGINE_3.0.bin and uses a different process from regular TWISTfm firmware updates. This one-time MIDI Engine update is only needed for units shipped before June 12, 2026. MIDI Engine 3.0 enables the SysEx support used by the TWISTfm MIDI tool. Important Notes: ● Non-Sequential Updates: Firmware updates do not need to be sequential. You can update or downgrade to any version regardless of the previous version installed. ● Alternate SD Card Readers: You don't have to use the supplied USB SD card reader. If another reader is more convenient, feel free to use it. ● Firmware Version Display: The current firmware version will always be displayed at startup, confirming that the update was applied. ● Extended Boot Time: Note that the boot process can take several seconds longer than normal when a firmware file is detected on the card.

FREQUENTLY ASKED QUESTIONS

● What's the included USB memory stick for? The included device is actually a microSD card reader. It's useful for transferring firmware updates to the microSD card and managing presets. To use it, insert the microSD card into the small slot above the USB connector, with the printed side of the card facing away from the USB connector. ● I’m missing half of the voices! TWISTfm is a stereo instrument. Please ensure that both channels are enabled on your mixer or audio interface, or that the input is panned to the center.