Browse Source

Fix: Samplerate constexpr - update for improved Samplerate representation in libDaisy

main
heck 9 months ago
parent
commit
6b19b06e48
  1. 6
      src/globals.hh
  2. 2
      src/instr_abstract.hh
  3. 2
      src/instr_bd2.cc
  4. 2
      src/instr_fm.cc
  5. 2
      src/instr_grainlet.cc
  6. 2
      src/instr_hihat.cc
  7. 6
      src/instr_kick.cc
  8. 2
      src/instr_noise.cc
  9. 2
      src/instr_zosc.cc
  10. 22
      src/main_perkons.cc

6
src/globals.hh

@ -7,15 +7,17 @@
#include "types.hh" #include "types.hh"
namespace Heck { namespace Heck {
using Samplerate = ld::SaiHandle::Config::SampleRate;
namespace Constants { namespace Constants {
namespace Hardware { namespace Hardware {
constexpr int PIN_BUTTON_RECORD = 28; constexpr int PIN_BUTTON_RECORD = 28;
constexpr int PIN_BUTTON_CLEAR = 27; constexpr int PIN_BUTTON_CLEAR = 27;
} }
constexpr bool CPU_BOOST480MHZ = false; constexpr bool CPU_BOOST480MHZ = true;
constexpr int AUDIO_BUFFERSIZE = 4; constexpr int AUDIO_BUFFERSIZE = 4;
constexpr int AUDIO_SAMPLERATE = 48000; constexpr Samplerate AUDIO_SAMPLERATE = Samplerate::SAI_48KHZ;
constexpr int TRACK_COUNT = 4; constexpr int TRACK_COUNT = 4;
namespace MIDI_Mapping { namespace MIDI_Mapping {

2
src/instr_abstract.hh

@ -5,8 +5,6 @@
namespace Heck { namespace Heck {
namespace Instrument { namespace Instrument {
static int samplerate = Constants::AUDIO_SAMPLERATE;
class AbstractInstrument { class AbstractInstrument {
public: public:
virtual void trigger() = 0; virtual void trigger() = 0;

2
src/instr_bd2.cc

@ -12,7 +12,7 @@ namespace Heck {
void BD2::init() void BD2::init()
{ {
bd2.Init(samplerate); bd2.Init(Constants::AUDIO_SAMPLERATE);
bd2.SetDecay(1.); bd2.SetDecay(1.);
bd2.SetTone(0.4); bd2.SetTone(0.4);
bd2.SetAccent(1.); bd2.SetAccent(1.);

2
src/instr_fm.cc

@ -12,7 +12,7 @@ namespace Heck {
void FM::init() void FM::init()
{ {
osc.Init(samplerate); osc.Init(Constants::AUDIO_SAMPLERATE);
osc.SetFrequency(40); osc.SetFrequency(40);
osc.SetRatio(0.); osc.SetRatio(0.);
osc.SetIndex(0.); osc.SetIndex(0.);

2
src/instr_grainlet.cc

@ -12,7 +12,7 @@ namespace Heck {
void Grainlet::init() void Grainlet::init()
{ {
grainlet.Init(samplerate); grainlet.Init(Constants::AUDIO_SAMPLERATE);
} }
void Grainlet::trigger() void Grainlet::trigger()

2
src/instr_hihat.cc

@ -12,7 +12,7 @@ namespace Heck {
void HiHat::init() void HiHat::init()
{ {
hihat.Init(samplerate); hihat.Init(Constants::AUDIO_SAMPLERATE);
hihat.SetDecay(1.); hihat.SetDecay(1.);
} }

6
src/instr_kick.cc

@ -12,16 +12,16 @@ namespace Heck {
void Kick::init() void Kick::init()
{ {
osc.Init(samplerate); osc.Init(Constants::AUDIO_SAMPLERATE);
osc.SetWaveform(dsp::Oscillator::WAVE_TRI); osc.SetWaveform(dsp::Oscillator::WAVE_TRI);
osc.SetAmp(1); osc.SetAmp(1);
pitchEnv.Init(samplerate); pitchEnv.Init(Constants::AUDIO_SAMPLERATE);
pitchEnv.SetTime(dsp::ADENV_SEG_ATTACK, .001); pitchEnv.SetTime(dsp::ADENV_SEG_ATTACK, .001);
pitchEnv.SetTime(dsp::ADENV_SEG_DECAY, .01); pitchEnv.SetTime(dsp::ADENV_SEG_DECAY, .01);
chorus.Init(samplerate); chorus.Init(Constants::AUDIO_SAMPLERATE);
chorus.SetDelay(0.2); chorus.SetDelay(0.2);
chorus.SetFeedback(0.8); chorus.SetFeedback(0.8);
chorus.SetLfoDepth(0.2); chorus.SetLfoDepth(0.2);

2
src/instr_noise.cc

@ -12,7 +12,7 @@ namespace Heck {
{ {
noise.Init(); noise.Init();
env.Init(samplerate); env.Init(Constants::AUDIO_SAMPLERATE);
env.SetTime(dsp::ADENV_SEG_ATTACK, .0001); env.SetTime(dsp::ADENV_SEG_ATTACK, .0001);
env.SetTime(dsp::ADENV_SEG_DECAY, .01); env.SetTime(dsp::ADENV_SEG_DECAY, .01);
env.SetMax(1); env.SetMax(1);

2
src/instr_zosc.cc

@ -12,7 +12,7 @@ namespace Heck {
void ZOsc::init() void ZOsc::init()
{ {
zosc.Init(samplerate); zosc.Init(Constants::AUDIO_SAMPLERATE);
zosc.SetFreq(40.f); zosc.SetFreq(40.f);
zosc.SetShape(1.); zosc.SetShape(1.);
zosc.SetFormantFreq(200); zosc.SetFormantFreq(200);

22
src/main_perkons.cc

@ -70,27 +70,7 @@ namespace Heck {
hw.SetAudioBlockSize(Constants::AUDIO_BUFFERSIZE); hw.SetAudioBlockSize(Constants::AUDIO_BUFFERSIZE);
hw.PrintLine("Setting Samplerate: %i", Constants::AUDIO_SAMPLERATE); hw.PrintLine("Setting Samplerate: %i", Constants::AUDIO_SAMPLERATE);
switch (Constants::AUDIO_SAMPLERATE) { hw.SetAudioSampleRate(Constants::AUDIO_SAMPLERATE);
case 8000:
hw.SetAudioSampleRate(ld::SaiHandle::Config::SampleRate::SAI_8KHZ);
break;
case 16000:
hw.SetAudioSampleRate(ld::SaiHandle::Config::SampleRate::SAI_16KHZ);
break;
case 32000:
hw.SetAudioSampleRate(ld::SaiHandle::Config::SampleRate::SAI_32KHZ);
break;
case 48000:
hw.SetAudioSampleRate(ld::SaiHandle::Config::SampleRate::SAI_48KHZ);
break;
case 96000:
hw.SetAudioSampleRate(ld::SaiHandle::Config::SampleRate::SAI_48KHZ);
break;
default:
hw.PrintLine("Samplerate not supported, fallback to 48000");
hw.SetAudioSampleRate(ld::SaiHandle::Config::SampleRate::SAI_48KHZ);
break;
}
hw.PrintLine("Initializing MIDI"); hw.PrintLine("Initializing MIDI");
ld::MidiUartHandler::Config midi_config{}; ld::MidiUartHandler::Config midi_config{};

Loading…
Cancel
Save