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