The Beatsqueezer - small sample player device which produce Hi-Fi sound in 44100 Hz 24 bit stereo with up to 16 mono (can be applied panorama) or 12 stereo voices polyphony in 44100 Hz 16 bit. It is designed to bring on stage Mellotron-style synthesizer with unique sampled instruments, one shot / looped samples sets, drums, backing tracks, sound effects etc.

It has 1GB internal flash memory for keeping sound Banks (after loading into, all Banks available immediately, no SD card present required), 4 knobs for fx filters (each filters parameters can be accessible with MIDI CC), 1 rotary encoder with button for menu navigation, 128x160 color TFT display, 3.5 jack MIDI IN, 6.3 jack stereo audio output, micro SD card slot and full size USB B connector for device powering (can be used any 500 mA power source: mobile phone charger, 5V adapter with USB socket, power bank, etc.), and for communication with PC, MAC, mobile phones and tablets (with usb host feature) thru USB-MIDI protocol.

With "Banks Editor" software, user has possibility to create his own sample Banks (paches).

The Bank file format supports:

Up to 3 samples ("Default", "Piano" and "Forte") for each of 128 notes with unlimited sample length.

Sample loop point, for infinitive playback.

Cut group, for playing only one sample at one time from specific group (for example: open and close hat, solo instrument), "self" group to stop playing only same sample, if corresponding note pressed twice and "none" group for multiple sample playback.

Dynamic or Fixed velocity for each sample.

"Ignore note off" behaviour (for "one shot" sounds).

If "Ignore note off" feature and loop point are defined, sample goes to "Loop trigger" mode, when 1-st press will play sample and 2-nd will stop it.

Stereo panorama for each note (for mono samples only).

Also implemented simple MIDI files track Player. Can be played one MIDI Track from song (MIDI file) at one time. Tracks can be switched (next Track will be played after end of previous) and looped in real time. MIDI Player can be triggered and synced with master sequencer, by MIDI Clock and MIDI messages: "Start" (Play MIDI Track), "Stop" (Stop MIDI Track), "Song Select" (Change MIDI Track)

With "Split Mode" feature, possible to split keyboard in up to 4 ranges (groups), and load individual Bank for every group.

Beatsqueezer has range of master filters and special effects such as: Low Pass Resonant filter, Ring Modulation, Flanger, Stereo Rotary Vibrato, Limiter, Bitcrusher, Granular Glitch, Delay with Low Pass and High Pass filters, ADSR envelope for amplitude and ADSR for Low Pass filter.

Supported pitch bend wheel +2/-2 semitones, modulation wheel, expression pedal, sustain pedal, sostenuto pedal, channel pressure (aftertouch).

For onboard knobs implemented the "smart knobs" behaviour - filter value will changing, only if real knob position and value will match.

There is a possibility to upgrade or install different firmware from SD card thru built in bootloader.

For more details see all "Features List" below.

If you want to help me with device production / improvement, to ask some questions or want to get one, please welcome to Beatsqueezer Facebook page ;)


Instrument Banks:

Drum Banks:

Mellotron Banks, (by Yan Hart-Lemonnier):

Banks Editor:

Firmware (Revision 2 with color 128x160 TFT):

Firmware (Revision 1 with 16x2 LCD):

Design resources (Revision 1 with 16x2 LCD):




Main features:

  • Stereo output thru 6.3 jack, with a sample rate of 44100 Hz 24 bit
  • 16 mono or 12 stereo voices polyphony, with a sample rate of 44100 Hz 16 bit
  • Up to 3 samples: "Default", "Piano" (vel. 1 - 60) and "Forte" (vel. 110 - 127) for each of 128 notes per Bank
  • Up to 128 Banks
  • Possibility to choose particular program number for each Bank, or set program number to "any", to arrange all Banks in alphabetical order
  • Powering thru USB B socket (can be used: mobile phone charger, 5V adapter with USB socket, power bank, etc)
  • MIDI with MIDI IN (3.5 jack) and USB-MIDI at one time
  • Loading Banks from SD card (supported FAT32)
  • Simple MIDI Tracks Player
  • Up to 1GByte flash memory (all for user Banks)
  • Built in bootloader for firmware upgrade or installation different one
  • Intuitive and simple navigation thru menu, using only one rotary encoder
  • Supports pitch bend wheel +2/-2 semitones
  • Supports modulation wheel with selectable mode (Vibrato value, Low Pass Cut Off, Flanger value or Volume)
  • Supports expression pedal with selectable mode (Vibrato value, Low Pass Cut Off, Flanger value or Volume)
  • Supports channel pressure (Aftertouch) with selectable mode (Vibrato value, Low Pass Cut Off, Volume or disabled)
  • Supports sustain pedal
  • Supports sostenuto pedal
  • Supports program change (Bank selection)
  • Smooth parameters changing of filters and FX
  • Keyboard split feature, up to 4 split groups (ranges) with individual Bank for every group
  • Save FX parameters per Bank, with "double click" in "Knobs FX Patterns" menu
  • Loop point for each sample
  • Cut group for each sample
  • Dynamic or fixed velocity for each sample
  • "Ignore note off" behaviour for each sample
  • Stereo panorama for each sample
  • Possibility to define default values for all filters parameters
  • "Smart knobs" behaviour
  • "Loop trigger" mode
  • Selectable USB-MIDI wire (1-16)
  • Selectable MIDI channel (1-16)
  • Minimum bottom velocity (0-127)
  • Staccato or legato attack for LP ADSR filter
  • Editable MIDI CC (Can be assigned on 102 undefined or general purpose CC numbers)
  • Saving and loading settings
  • 128x160 color TFT display
  • 4 knobs
  • 1 rotary encoder with button


  • Low Pass Resonant filter
  • Ring Modulation
  • Flanger
  • Stereo Rotary Vibrato
  • Limiter
  • Bitcrusher
  • Granular glitch
  • Delay with Low Pass and High Pass filters
  • ADSR envelope for amplitude
  • ADSR envelope for low pass filter
  • Velocity dependent Attack and Timeshift

Default knobs CC numbers:

  • Low Pass Cut Off (cc 40)
  • Low Pass Resonance (cc 41)
  • Ring modulation frequency (cc 42)
  • Ring modulation value (cc 43)
  • Flanger frequency (cc 44)
  • Flanger value (cc 45)
  • Rotary Vibrato frequency (cc 46)
  • Rotary Vibrato value (cc 47)
  • Limiter value (cc 48)
  • Bitcrusher value (cc 49)
  • Granular Glitch Shift (cc 50)
  • Granular Glitch Length (cc 51)
  • Delay High Pass filter value (cc 52)
  • Delay Low Pass filter value (cc 53)
  • Delay value (cc 54)
  • Delay time (cc 55)
  • Amplitude Attack value (cc 56)
  • Amplitude Decay value (cc 57)
  • Amplitude Sustain value (cc 58)
  • Amplitude Release value (cc 59)
  • Low Pass filter Attack value (cc 60)
  • Low Pass filter Decay value (cc 61)
  • Low Pass filter Sustain value (cc 62)
  • Low Pass filter Release value (cc 63)
  • Velocity-dependent Amplitude Attack (cc 70)
  • Velocity-dependent Timeshift (cc 71)

Additional MIDI messages:

  • Pitch Band Wheel (+2/-2 semitones)
  • Modulation Wheel (cc 1)
  • Expression Pedal (cc 11)
  • Sustain Pedal (cc 64)
  • Sostenuto Pedal (cc 66)
  • Volume (cc 7)
  • Channel Pressure (Aftertouch)
  • Program Change (Bank selection)
  • Start (Play MIDI Track)
  • Stop (Stop MIDI Track)
  • Song Select (Change MIDI Track)


  • USB-MIDI Wire (1-16)
  • MIDI Channel (1-16)
  • Additional Velocity (0-127)
  • Mixing volume (0% - 100%)
  • CC Volume Default (0 - 127)
  • Modulation wheel mode (Vibrato value, Low Pass Cut Off, Flanger value or Volume) [default: Vibrato value]
  • Expression Pedal mode (Vibrato value, Low Pass Cut Off, Flanger value or Volume) [default: Volume]
  • Expression Pedal minimum value
  • Expression Pedal maximum value
  • Channel Pressure (Aftertouch) mode (Vibrato value, Low Pass Cut Off, Volume or disabled) [default: Volume]
  • Channel Pressure minimum value
  • Channel Pressure maximum value
  • Low Pass envelope (staccato or legato)
  • Smart Knobs mode (enable disable)
  • Reset knobs on Bank change (yes no)
  • Edit controls numbers (CC#)
  • MIDI Player Sync with master (enable disable)
  • Show pressed note info (yes no)
  • Show switched knob info (yes no)
  • Instant release on Sample Cut (yes no)
  • Split Mode (enable disable)
  • A-B Split Groups Note
  • B-C Split Groups Note
  • C-D Split Groups Note
  • Save settings
  • Load settings
  • Scan internal flash memory for bad blocks (scanning is performed at initial setup, no need to use this feature)
  • Flash memory ID (should be EC-D3-51-95-58)
  • Banks information: used Banks from maximum Banks (128) and busy memory size from device maximum
  • Firmware information

MIDI Player features:

  • Play MIDI file Track from SD card (supported FAT32)
  • Loop Track
  • Switching Tracks in real time to play one after another
  • Change Tempo
  • Sync with master sequencer

Menu navigation with encoder:

  • Rotate encoder to switch menu items, change parameters, browse files etc.
  • Press encoder button (down & up) to select menu item, confirm etc.
  • Hold encoder button down to exit to previous menu
  • Hold encoder button down and rotate to quick navigation thru main menu items, then release button to get in (quick mode)

Additional information:

  • DSP by STM32F407 168MHz microcontroller
  • CS4334 audio DAC
  • AD8532 amplifier
  • 1GB Samsung K9K8 NAND internal flash memory
  • 230 mA power consumption
  • 5ms latency
  • 1.8 inch ST7735R SPI 128*160 TFT LCD Display
  • 3.5 jack to DIN5 MIDI IN pinout: Sleeve - 2, Ring - 5, Tip - 4
  • Device dimensions: 115mm x 91mm x 45mm
  • Steel case dimensions: 115mm x 75mm x 25mm

Firmware update guide

Download last firmware file from Downloads -> Firmware.

Save it to microSD card (should be formatted in FAT32).

Plug SD card into device.

Hold encoder button and switch power on to get into "Bootloader mode"

Choose and install new firmware from SD card.

Banks Editor

The Beatsqueezer Bank editor software allows user to create his own sample-Banks files.

MAC, Linux and Windows supported. Requires Java SE Runtime Environment 8 (jre)

Some usage tips:

  • For correct displaying, the name length of the Bank should be not more than 16 characters and consist only of Latin letters.
  • Notes names are based on MIDI specification. Where C0 (0) is the lowest note, G10 (127) is the highest note, and C5 (60) is the "Middle C". Please refer to: MIDI Note Numbers for Different Octaves.
  • To easily load batch of samples in right order - name all your sample files with number at the start.
    For example: "01_Sample_C5", "02_Sample_C#5", "03_Sample_D5" etc.
  • Use "Pitch Step" option, if you have samples with interval more than semitone.
  • To use "Loop" point your sample wav file should have "Sustain Loop", "Loop" or "Marker" info. You can add it with any audio editor, for example "Sound Forge".
  • To use "Piano" and "Forte" feature you can name your sample files with "_p" and "_f" at the end.
    For example: "01_Sample_C5" ("default" sample name), "01_Sample_C5_p" ("piano" sample name) and "01_Sample_C5_f" ("forte" sample name). Or simply drag and drop them into corresponding slot.
  • Use "Macro" option, to change parameter for all loaded samples simultaneously.


  • Up to 3 samples: "Default", "Piano" (vel. 1 - 60) and "Forte" (vel. 110 - 127) for each of 128 notes
  • Supports Wave PCM 8, 16 and 24 bit various sample rate mono and stereo files, with auto conversion into 44100 Hz 16 bit
  • Cut group
  • Dynamic or fixed velocity
  • "Ignore note off" behaviour
  • Loop point (by "Sustain Loop", "Loop" or "Marker" info in wav file)
  • Peak normalization
  • Stereo panorama
  • Default values for all filters parameters
  • Pitch
  • Pitch step
  • Macro
  • Save and load Banks
  • Export all samples as wav files
  • Drag and Drop feature supported


Android application

The Beatsqueezer USB-MIDI Pad Controller - simple free demo Android application, which can communicate with device thru USB-MIDI protocol.


  • communication thru USB-MIDI protocol
  • 5x5 pads
  • 10 sliders
  • adjustable wire id, channel, note, velocity, control id
  • Bank select msb, Bank select lsb, program change
  • adjustable colour scheme
  • 16 presets
  • multiple devices connection