RISC-V/V003/midi/tone.h
2024-05-07 11:46:49 +02:00

26 lines
691 B
C++

#ifndef TONE_H
#define TONE_H
class Tone {
public:
explicit Tone () noexcept;
void setMidiOn (unsigned int m);
void setMidiOff (void);
void setFreq (unsigned int f);
void setAmpl (unsigned int a);
void setFall (unsigned int f);
int step (void);
private:
/// Amplituda tónu, interní proměnná
unsigned int ampl;
/// Exponenciální doběh - čím víc, tím rychlejší (0 = stálý)
unsigned int fall;
/// Frekvence (normalizovaná)
unsigned int freq;
/// Přetékající index do tabulky vzorků
unsigned int base;
/// Attack = index do tabulky attackTable
unsigned int atck;
};
#endif // TONE_H