Kraftor SPO vox MIDI

Media

User Manual

Version 1.0

Kraftor SPOvox MIDI is a phoneme-level speech synthesis firmware for Kraftor hardware. It drives a SP0256-AL2 allophone chip and accepts control over USB MIDI or the hardware serial MIDI input.

Each MIDI Note On triggers one SP0256-AL2 phoneme directly, so any DAW or MIDI controller
can sequence speech phoneme by phoneme.

Version History

  • v1.0 : SP0256-AL2 phoneme playback via USB/serial MIDI, per-phoneme volume from velocity,
    LTC6903 clock control via pitch bend, channel volume via CC7, and OLED status display support.

MIDI Channel Configuration

The firmware responds to a single active channel. The default active channel is channel 1. Messages on
all other channels are ignored.

MIDI Input Function Channel
USB MIDI Trigger SP0256-AL2 phonemes and control volume /
pitch
Active channel (default 1)
Serial MIDI Trigger SP0256-AL2 phonemes and control volume /
pitch
Active channel (default 1)

MIDI Messages

Note On — Phoneme Triggering

Each MIDI Note On message triggers one SP0256-AL2 allophone. The phoneme index is note − 36, giving
access to all 64 phonemes of the SP0256-AL2 ROM.

  • Notes 36–99: trigger phoneme 0 (note 36) through phoneme 63 (note 99).
  • Notes outside 36–99: ignored.
  • Velocity: sets the output volume for that phoneme (velocity × 2, range 0–254).
  • Note Off: silences the SP0256-AL2 immediately.
MIDI Note Phoneme Index SP0256-AL2 Token
36 0 PA1 (pause / silence)
37 1 PA2
38 2 PA3
99 63 last SP0256-AL2 allophone

Pitch Bend — Clock Control

Pitch Bend controls the programmable oscillator that clocks the SP0256-AL2, changing the speech rate and
perceived pitch simultaneously. The full 14-bit MIDI pitch bend range is mapped to clock control values
1023–0, so lower MIDI bend values produce higher clock control values (faster clock, higher pitch).
Pitch bend updates take effect immediately on the clock and can be sent while a phoneme is still playing (Note On held),
allowing real-time pitch or speed sweeps within a single phoneme.

Pitch Bend Value LTC6903 Clock Control Effect
+8191 0 Lowest clock
0 about 512 Center
-8192 1023 Highest clock

Default clock control value on startup is 651.


CC7 and Aftertouch — Volume

Both CC7 (Channel Volume) and Channel Aftertouch set the output level via the onboard op amp using the same mapping: value × 2, range 0–254.

Both messages take effect immediately and can be sent while a phoneme is still playing (Note On held), allowing real-time amplitude shaping.

Velocity only sets the level at the instant the Note On fires.

Value Output Level
0 0 (silent)
127 254 (maximum)

Default startup level is 200.


Ignored MIDI Messages

  • Notes outside the range 36–99
  • Control Change messages other than CC7
  • All other MIDI messages

Quick Reference Table

Message Function Range
Note On Trigger SP0256-AL2 phoneme; velocity sets volume Notes 36–99, phonemes 0–63
Note Off Silence SP0256-AL2 Any note on active channel
Pitch Bend Clock control (pitch / speed) — continuous,
effective while Note On is held
-8192 to +8191, mapped to clock 1023–0
CC7 / Aftertouch Volume — continuous, effective while Note On is held 0–127 mapped to level 0–254

Connections

The Kraftor SPOvox MIDI firmware accepts control from:

  • USB MIDI for notes, pitch bend, and control changes
  • Serial MIDI on the hardware serial MIDI input

OLED Display

If an OLED display is detected at I2C address 0x3C, it shows:

  • SPO vox MIDI and the firmware version on startup

Tools

The best way to compose phoneme sequences for Kraftor SPOvox MIDI is the companion SPOvox translator tool:

https://deladriere.github.io/Spo_vox_translator/

SPOvox translator runs in the browser and converts English text to SP0256-AL2 allophone sequences. It sends the
sequence over Web MIDI (Note On per phoneme, pitch bend before each note) or exports a SPOvox.mid
Standard MIDI File for your DAW. Use a Chromium-based browser for Web MIDI support.

Firmware

Do not use this firmware for Emy, Emy Terminal, or Kraftor SAM.

How to install the firmware on
Kraftor