Giter VIP home page Giter VIP logo

akai-mpk-mini-editor's Introduction

Akai MPK Mini preset editor

This preset editor is for Akai MPK mini controller using Web MIDI Api.

For demo/test go to https://gljubojevic.github.io/akai-mpk-mini-editor/

Akai MPK Mini SysEx

Get preset SysEx bytes: F0 47 7F 7C 63 00 01 XX F7
XX marks preset number 0x01 - 0x04

  • Get Preset 1 SysEx: F0 47 7F 7C 63 00 01 01 F7
  • Get Preset 2 SysEx: F0 47 7F 7C 63 00 01 02 F7
  • Get Preset 3 SysEx: F0 47 7F 7C 63 00 01 03 F7
  • Get Preset 4 SysEx: F0 47 7F 7C 63 00 01 04 F7

Preset SysEx bytes description:

  • Preset SysEx is 110 bytes long
  • Byte 000 - 006 are SysEx preset command F0 47 7F 7C 61 00 66
  • Byte 007 is preset number 01-04
  • Byte 008 is Pad MIDI channel 00 - 15
  • Byte 009 is Key and Knobs MIDI channel 00 - 15
  • Byte 010 is Octave -4 to 4, values from 00 - 08
    • Octave of -4, value == 0
    • Default Octave is 0, value == 4
    • Octave of 4, value == 8
  • Byte 011 is Transposition -12 to 12, values from 00 - 24
    • Transposition of -12, value == 00
    • Default Transposition is 0, value == 12
    • Transposition of 12, value == 24
  • Byte 012 - 020 are Arpeggio settings
    • Byte 012 Arpeggio enable
      • 00 - Disabled
      • 01 - Enabled
    • Byte 013 Arpeggio Mode, values 00 - 05
      • 00 - Up
      • 01 - Down
      • 02 - Inclusive
      • 03 - Exclusive
      • 04 - Random
      • 05 - Order
    • Byte 014 Arpeggio Time Division, values 00 - 07
      • 00 - 1/4 Note
      • 01 - 1/4 Triplet
      • 02 - 1/8 Note
      • 03 - 1/8 Triplet
      • 04 - 1/16 Note
      • 05 - 1/16 Triplet
      • 06 - 1/32 Note
      • 07 - 1/32 Triplet
    • Byte 015 Arpeggio Clock, values 00 - 01
      • 00 - Internal
      • 01 - External
    • Byte 016 Arpeggio Latch, values 00 - 01
      • 00 - Disable
      • 01 - Enable
    • Byte 017 Arpeggio Tempo Taps, values 02 - 04
    • Byte 018 - 019 Arpeggio Tempo, 2 bytes, value 30 - 240 BPM
      • Byte 018 Hi byte of Tempo -> Tempo / 128
      • Byte 019 Lo byte of Tempo -> Tempo % 128 (rest of division by 128)
    • Byte 020 Arpeggion octave 00 - 03
  • Byte 021 - 052 are Pad Bank 1, 32 bytes long (8 Pads x 4 bytes long)
    • Each Pad setting is 4 bytes long
    • Byte 00 - note
    • Byte 01 - PC
    • Byte 02 - CC
    • Byte 03 - Type, 00 - Mometary, 01 - Toggle
  • Byte 053 - 084 are Pad Bank 2, 32 bytes long (8 Pads x 4 bytes long)
  • Byte 085 - 108 are Knobs, (8 Knobs x 3 bytes long)
    • Each Knob setting is 3 bytes long
    • Byte 00 - CC
    • Byte 01 - Low
    • Byte 02 - High
  • Byte 109 is SysEx end F7

Akai MPK Mini original factory pressets

Original factory preset text file content, SysEx bytes are stored as decimal byte values separated by space, including one space at the end.

Preset 1 Chromatic

240 71 127 124 97 0 102 1 9 0 4 12 0 0 4 1 0 3 0 120 0 36 0 20 0 37 1 21 0 38 2 22 0 39 3 23 0 40 4 24 0 41 5 25 0 42 6 26 0 43 7 27 0 44 8 28 0 45 9 29 0 46 10 30 0 47 11 31 0 48 12 35 0 49 13 36 0 50 14 37 0 51 15 38 0 17 0 127 18 0 127 19 0 127 20 0 127 13 0 127 14 0 127 15 0 127 16 0 127 247

Preset 1 Chromatic HEX

F0 47 7F 7C 61 00 66 01 09 00 04 0C 00 00 04 01 00 03 00 78 00 24 00 14 00 25 01 15 00 26 02 16 00 27 03 17 00 28 04 18 00 29 05 19 00 2A 06 1A 00 2B 07 1B 00 2C 08 1C 00 2D 09 1D 00 2E 0A 1E 00 2F 0B 1F 00 30 0C 23 00 31 0D 24 00 32 0E 25 00 33 0F 26 00 11 00 7F 12 00 7F 13 00 7F 14 00 7F 0D 00 7F 0E 00 7F 0F 00 7F 10 00 7F F7 

Preset 2 White Keys

240 71 127 124 97 0 102 2 9 0 4 12 0 0 5 0 0 3 0 120 0 48 0 1 0 50 1 2 0 52 2 3 0 53 3 4 0 55 4 5 0 57 5 6 0 59 6 8 0 60 7 9 0 62 8 10 0 64 9 11 0 65 10 12 0 67 11 13 0 69 12 14 0 71 13 15 0 72 14 16 0 74 15 17 0 17 0 127 18 0 127 19 0 127 20 0 127 13 0 127 14 0 127 15 0 127 16 0 127 247 

Preset 2 White Keys HEX

F0 47 7F 7C 61 00 66 02 09 00 04 0C 00 00 05 00 00 03 00 78 00 30 00 01 00 32 01 02 00 34 02 03 00 35 03 04 00 37 04 05 00 39 05 06 00 3B 06 08 00 3C 07 09 00 3E 08 0A 00 40 09 0B 00 41 0A 0C 00 43 0B 0D 00 45 0C 0E 00 47 0D 0F 00 48 0E 10 00 4A 0F 11 00 11 00 7F 12 00 7F 13 00 7F 14 00 7F 0D 00 7F 0E 00 7F 0F 00 7F 10 00 7F F7 

Preset 3 MPC

240 71 127 124 97 0 102 3 9 0 4 12 0 1 5 0 0 3 0 120 0 37 0 1 0 36 1 2 0 42 2 3 0 82 3 4 0 40 4 5 0 38 5 6 0 46 6 8 0 44 7 9 0 48 8 10 0 47 9 11 0 45 10 12 0 43 11 13 0 49 12 14 0 55 13 15 0 51 14 16 0 53 15 17 0 17 0 127 18 0 127 19 0 127 20 0 127 13 0 127 14 0 127 15 0 127 16 0 127 247 

Preset 3 MPC HEX

F0 47 7F 7C 61 00 66 03 09 00 04 0C 00 01 05 00 00 03 00 78 00 25 00 01 00 24 01 02 00 2A 02 03 00 52 03 04 00 28 04 05 00 26 05 06 00 2E 06 08 00 2C 07 09 00 30 08 0A 00 2F 09 0B 00 2D 0A 0C 00 2B 0B 0D 00 31 0C 0E 00 37 0D 0F 00 33 0E 10 00 35 0F 11 00 11 00 7F 12 00 7F 13 00 7F 14 00 7F 0D 00 7F 0E 00 7F 0F 00 7F 10 00 7F F7 

Preset 4 Chromatic From 60

240 71 127 124 97 0 102 4 9 0 4 12 0 4 5 0 0 3 0 120 0 60 0 1 0 61 1 2 0 62 2 3 0 63 3 4 0 64 4 5 0 65 5 6 0 66 6 8 0 67 7 9 0 68 8 10 0 69 9 11 0 70 10 12 0 71 11 13 0 72 12 14 0 73 13 15 0 74 14 16 0 75 15 17 0 17 0 127 18 0 127 19 0 127 20 0 127 13 0 127 14 0 127 15 0 127 16 0 127 247

Preset 4 Chromatic From 60 HEX

F0 47 7F 7C 61 00 66 04 09 00 04 0C 00 04 05 00 00 03 00 78 00 3C 00 01 00 3D 01 02 00 3E 02 03 00 3F 03 04 00 40 04 05 00 41 05 06 00 42 06 08 00 43 07 09 00 44 08 0A 00 45 09 0B 00 46 0A 0C 00 47 0B 0D 00 48 0C 0E 00 49 0D 0F 00 4A 0E 10 00 4B 0F 11 00 11 00 7F 12 00 7F 13 00 7F 14 00 7F 0D 00 7F 0E 00 7F 0F 00 7F 10 00 7F F7 

TODO

  • WebMIDI bridge class
  • MIDI In selection component
  • MIDI Out selection component
  • Save / Download preset to file
  • Load preset from file

... rest will be defined later

References

ECMAScript 6 โ€” New Features: Overview & Comparison

React docs

CSS

MIDI

Web MIDI API

Piano keys

Web MIDI examples

MAC OSX MIDI

akai-mpk-mini-editor's People

Contributors

gljubojevic avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.