Sound Byte Libs 29c5ff3
C++ firmware library for audio applications on 32-bit ARM Cortex-M processors
Loading...
Searching...
No Matches
Public Member Functions | List of all members
sbl::dsp::DelayLine Class Reference

#include <delay_line.hpp>

Collaboration diagram for sbl::dsp::DelayLine:

Public Member Functions

 DelayLine (float *buffer, uint32_t max_delay)
 Construct with caller-provided buffer.
 
void write (float sample)
 Write a sample to the delay line.
 
float read (uint32_t delay) const
 Read a sample at integer delay.
 
float read_fractional (float delay) const
 Read with fractional delay (float)
 
void clear ()
 Zero all samples in the buffer.
 
uint32_t max_delay () const
 Maximum delay in samples.
 

Detailed Description

Definition at line 18 of file delay_line.hpp.

Constructor & Destructor Documentation

◆ DelayLine()

sbl::dsp::DelayLine::DelayLine ( float *  buffer,
uint32_t  max_delay 
)
inline

Construct with caller-provided buffer.

Note
All public methods are ISR-safe — bounded computation, no I/O.
Parameters
bufferFloat buffer (must outlive the DelayLine)
max_delayMaximum delay in samples (buffer size)

Definition at line 27 of file delay_line.hpp.

Member Function Documentation

◆ clear()

void sbl::dsp::DelayLine::clear ( )
inline

Zero all samples in the buffer.

Definition at line 69 of file delay_line.hpp.

◆ max_delay()

uint32_t sbl::dsp::DelayLine::max_delay ( ) const
inline

Maximum delay in samples.

Definition at line 77 of file delay_line.hpp.

◆ read()

float sbl::dsp::DelayLine::read ( uint32_t  delay) const
inline

Read a sample at integer delay.

Parameters
delayDelay in samples (0 = most recent write)
Returns
Delayed sample

Definition at line 44 of file delay_line.hpp.

Referenced by read_fractional().

Here is the caller graph for this function:

◆ read_fractional()

float sbl::dsp::DelayLine::read_fractional ( float  delay) const
inline

Read with fractional delay (float)

Linear interpolation between adjacent samples.

Parameters
delayFractional delay in samples (e.g. 10.5f)
Returns
Linearly interpolated sample

Definition at line 58 of file delay_line.hpp.

References read().

Here is the call graph for this function:

◆ write()

void sbl::dsp::DelayLine::write ( float  sample)
inline

Write a sample to the delay line.

Definition at line 31 of file delay_line.hpp.


The documentation for this class was generated from the following file: