TR123e - EMCT Computing Final Project Version 1.0
Research Project Translation from gen~ to embedded Moog synth
Loading...
Searching...
No Matches
PortamentoPlayer.h
Go to the documentation of this file.
1
49
50#pragma once
51
96public:
117 PortamentoPlayer(float sampleRate, float defaultPortamentoTimeMs = 100.0f);
118
138 void setPortamentoTime(float timeMs);
139
172 void noteOn(int midiNote, bool portamentoOn);
173
190 void noteOff();
191
207 int getCurrentNote();
208
225 float getCurrentFreq();
226
261 float process();
262
263private:
274 float midiToFreq(int midiNote);
275
285 float interpolateFrequency();
286
294
303
311
320
329
338
347};
348
float incrementPerSample
Frequency increment per audio sample.
Definition PortamentoPlayer.h:328
float interpolateFrequency()
Perform linear frequency interpolation for smooth transitions.
Definition PortamentoPlayer.cpp:169
void noteOn(int midiNote, bool portamentoOn)
Trigger new note with optional portamento control.
Definition PortamentoPlayer.cpp:64
float sampleRate
Audio system sample rate in Hz.
Definition PortamentoPlayer.h:302
float midiToFreq(int midiNote)
Convert MIDI note number to frequency using equal temperament.
Definition PortamentoPlayer.cpp:139
void noteOff()
Signal note release for envelope coordination.
Definition PortamentoPlayer.cpp:112
void setPortamentoTime(float timeMs)
Update portamento timing parameter in real-time.
Definition PortamentoPlayer.cpp:39
int getCurrentNote()
Query current MIDI note number.
Definition PortamentoPlayer.cpp:213
int currentNote
Current MIDI note number being processed.
Definition PortamentoPlayer.h:293
PortamentoPlayer(float sampleRate, float defaultPortamentoTimeMs=100.0f)
Construct PortamentoPlayer with audio system parameters.
Definition PortamentoPlayer.cpp:24
bool noteIsOn
Note activity state flag.
Definition PortamentoPlayer.h:346
float targetFreq
Target frequency for interpolation in Hz.
Definition PortamentoPlayer.h:319
float getCurrentFreq()
Query current instantaneous frequency.
Definition PortamentoPlayer.cpp:226
float process()
Generate next frequency sample with interpolation processing.
Definition PortamentoPlayer.cpp:255
float portamentoTimeMs
Portamento duration in milliseconds.
Definition PortamentoPlayer.h:337
float currentFreq
Current instantaneous frequency in Hz.
Definition PortamentoPlayer.h:310