Nord Modular Tempo Format

When the Nord Modular Editor writes patch files, the sequencer tempo is stored in an odd format, which packs the entire tempo range into a 7bit value. In beats per minute, the tempo ranges from 24 to 214. For values toward the ends of the spectrum, it skips by two.

  • 24bpm to 88bpm = by 2
  • 89bpm to 151bpm = by 1
  • 152bpm to 214bpm = by 2

The following C snippet should translate from BPM to nord-patch-file format and reverse.

unsigned char bpmToNordTempo(int b)
{
    if(b<24)
        return 0;
    else if(b<88)
        return (b-24)/2;
    else if(b<152)
        return b-88+32;
    else if(b<214)
        return (b-152)/2+96;
    else
        return 127;
}
 
int nordTempoToBpm(unsigned char t)
{
    if(t<32)
        return t*2+24;
    else if(t<96)
        return t-32+88;
    else if(t<128)
        return (t-96)*2+152;
    else
        return 214;
}