Sound Byte Libs 29c5ff3
C++ firmware library for audio applications on 32-bit ARM Cortex-M processors
Loading...
Searching...
No Matches
Classes | Namespaces
voct.hpp File Reference

V/Oct input component — calibrated pitch CV from ADC values. More...

#include <cstdint>
#include <sbl/components/cv/input.hpp>
#include <sbl/dsp/pitch.hpp>
Include dependency graph for voct.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  sbl::components::cv::VoctCalibration
 Linear calibration parameters for V/Oct conversion. More...
 
class  sbl::components::cv::VoctInput
 V/Oct pitch CV input with smoothing and calibration. More...
 

Namespaces

namespace  sbl
 Root namespace for all Sound Byte Libs functionality.
 
namespace  sbl::components
 Mid-level functional components.
 
namespace  sbl::components::cv
 CV/gate input components.
 

Detailed Description

V/Oct input component — calibrated pitch CV from ADC values.

VoctInput chains CvInput (EWMA smoothing) with a linear calibration to convert raw ADC values into musical pitch. The calibration maps ADC values to MIDI note numbers (semitones), then pitch tables convert to frequency, ratio, or phase increment.

Pipeline: ADC raw → CvInput (EWMA) → calibration (scale + offset) → semitones ↓ phase_increment ← frequency ← pitch tables

Usage: sbl::components::cv::VoctInput voct; voct.update(raw_adc_value); float freq = voct.frequency(); // Hz uint32_t inc = voct.phase_increment(48000.0f);

Definition in file voct.hpp.