Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
lofi_chain.hpp File Reference
#include <pulp/signal/denormal.hpp>
#include <pulp/signal/dither.hpp>
#include <pulp/signal/tpt_filter.hpp>
#include <algorithm>
#include <cmath>
#include <cstdint>
#include <limits>
#include <type_traits>

Go to the source code of this file.

Classes

class  pulp::signal::SampleRateReducerT< SampleType >
 Sample-and-hold rate reducer with clock jitter and a reconstruction filter. More...
class  pulp::signal::LofiChainT< SampleType >
 The three lo-fi stages in the order the hardware they model applies them: quantise the word, hold it at a lower clock, then push it through an output stage that cannot represent the smallest codes. More...

Namespaces

namespace  pulp
namespace  pulp::signal

Typedefs

using pulp::signal::SampleRateReducer = SampleRateReducerT<float>
using pulp::signal::SampleRateReducer64 = SampleRateReducerT<double>
using pulp::signal::LofiChain = LofiChainT<float>
using pulp::signal::LofiChain64 = LofiChainT<double>

Enumerations

enum class  pulp::signal::FloorCurve { pulp::signal::linear , pulp::signal::smoothstep }
 The curve applied above a floor threshold by floor_shape. More...

Functions

double pulp::signal::quantize_bits (double x, double bits)
 Quantises to bits of resolution, mid-tread, symmetric about zero.
double pulp::signal::dead_zone_saturate (double x, double dead_zone)
 A dead-zone saturator: a hard gap around zero, then a soft-limited slope.
template<typename Sample = double>
Sample pulp::signal::floor_shape (Sample x, std::type_identity_t< Sample > threshold, FloorCurve curve)
 A noise-floor shaper: silence below threshold, rescaled above it.