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; }