Platform Compatibility

MPTK is full operational on Windows and Mac OS.

But with limitations for these devices:

  • Android:
    • Playing midi only for simple song due to these limitations:
      • No wave looping over an arbitrary region (wavetable)
      • Latency.
      • Investigation in progress with OpenSL ES. Thank to 5Argon. Have a look to his Unity Asset.
    • Other functions as reading/writing midi events are ok.
  • WebGL:
    • no playing midi due to limitation:
      • Lack of a good threading behaviors.
      • Investigation in progress …
    • Other functions as reading midi events are ok.

Before buying, check with the free version,
if the free is ok then the pro will be!

if the free is ok then the pro will be!

Wave Looping

See here more information about the wave looping limitation with Android and WebGL.

Take an example with a sound like a piano. When a piano key is hit, the sound is playing from the start of the wave:

  • first the attack+decay phase (a very short phase),
  • then the sound is playing the sustain phase until the key is released,
  • then the sound is playing the release phase, generally a short phase,
  • and the sound is stopped.
From Wikipedia

See here more information how a synthesizer runs (in particular with envelope).

Note: information about looping is defined in the wave file.

Unfortunately, WebGL and Android don’t use these looping information: the sound is playing from the start to the end of the wave until the key is released: all the steps are repeated: attack / decay / sustain / release like if you hit the piano key a lot of times.

Note: some sound don’t loop. It’s the case, generally, for the percussion sounds.

Perhaps a solution: when processing the SoundFont, prepare each waves by cutting each waves in 3 steps (A/D + S + R); then let MPTK runs each sub wave according the current phase. Wait and see …