Tuner for Elektron Octatrack
Hold UP and press TEMPO to read the selected audio track’s note, octave, cents and frequency in a tuner window.
Module version 0.1.0-experimental. Base firmware: 1.40C.
About this module
Tuner reads the selected audio track after its effects and before its fader. Its note, octave, cents, frequency and needle are designed to help tune a steady pitched sound. It uses no effect slot. This draft offers card builds only; emulator captures of the card build of this source show live readings of a tone on the input; hardware qualification is pending.
- UP then TEMPO opens and closes the tuner window.
- Follows the selected audio track; no effect slot or parameter assignment.
- Fixed A4 = 440 Hz, with a cents needle and frequency readout.
- Source behavior retains the last reading when the signal is too quiet or uncertain.
How to use it
- Include Tuner in a reviewed build and select an audio track with a steady pitched sound. No effect slot is required.
- Hold UP first, then press TEMPO. The tuner window shows the selected track, note, octave, cents and frequency.
- Adjust the sound at its source while watching the needle. Near the centre the measured pitch approaches the displayed note, with A4 fixed at 440 Hz.
- Press TEMPO, YES or NO to close the window. Hold UP and press TEMPO again to toggle it back on.
Compatibility notes
- Built and emulator-measured on 30 Oct 2026 (card d4452bbb, bus da2375cf) from Tim's v2.21 source plus his DC-removal commit (03202050 that day; ef6cbc7 in his released 2.22 line, the same tuner/ files); the seven older UI screenshots belong to the earlier v2.19/card-sdk image.
- The signal is taken after track effects and before the track fader. It is a monophonic pitch estimate; complex, noisy or inharmonic sounds can wander or select an octave.
- Below the signal or confidence threshold, the last valid reading is held. A held reading does not indicate the current pitch.
- A4 is fixed at 440 Hz. No calibration control, parameter locks, LFO destination or saved project setting is added.
- Hold UP before TEMPO. Pressing TEMPO first follows the ordinary tempo-window path.
- Card builds only: the base has no removal refusal for ordinary modules.
- Sample memory: on a card build without another DRAM module, choosing the Tuner gives up 10,487,808 bytes (about 10.5 MB) of Flex sample RAM. Its own unit is 33 KB, but it is the module that creates the DRAM platform reserve, and the unit sits inside it. Alongside another DRAM module the reserve is shared and the Tuner takes no further sample RAM.
- The retained older emulator fault is in its DSP write callback; the triggering image property remains unresolved.
- Emulator readings (29 and 30 October 2026) for the figures; on hardware the author reports the TEST3 card (d4452bbb, byte-identical to TEST2) working on his MKI on 1 November 2026, every item of its test sheet, readings not recorded. No hardware timing is measured. The standalone 2.19 reference exited before capture, so paired visual equivalence with it is unavailable.
- The reading follows the last 93 ms of the track after its effects, so an effect tail can pull it just after a note changes (on the emulator: E2 +25c 2.4 s after 440 Hz gave way to 82.41 Hz on T8, +0c at 12 s; the same with and without the DC removal).
Test evidence
Emulator qualification of the card build of this source (card d4452bbb, bus da2375cf) on 30 October 2026: a sine on the input reaches the tap and reads A4 +0c 440.0Hz, E2 +0c 82.4Hz, A4 +19c 445.0Hz and A2 -1c 109.9Hz live, the same as the 29 October build; a fixture track whose signal sits on a DC offset larger than its swing, which held before, now reads (F4, 343-345 Hz, matching an off-line analysis of the same samples); worst-case ColdFire cost 195 instructions per block in the frame interrupt and 1,048,251 per analysis in the UI task (7,018 of 9,577 cycles per block amortised); exact memory with a measured stack peak. The author reports the TEST3 card (the same bytes, rebuilt on current main) working on his MKI on 1 November 2026, every item of its test sheet; readings were not recorded (TESTING.md).
Module source and documentation