#include #include #include #include #include namespace psemek::audio { stream_ptr sawtooth_wave(float frequency) { auto func = [frequency](float t){ t *= frequency; return (t - std::floor(t)) * 2.f - 1.f; }; return util::to_shared(generator_stream(func)); } }