Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::signal::OnsetNoveltyFrontEndT< SampleType, MaxFftSize, MaxChannels > Class Template Reference

Fixed-capacity streaming novelty analysis. More...

#include <analysis_frontends.hpp>

Public Types

using Frame = OnsetNoveltyFrameT<SampleType>

Public Member Functions

bool prepare (const StreamingAnalysisConfig &config, OnsetDetectionMethod method)
void reset () noexcept
template<typename Sink>
bool process (const SampleType *const *channels, std::size_t channel_count, std::size_t frames, Sink &&sink) noexcept
const Frame & current () const noexcept
std::uint32_t readiness_latency_samples () const noexcept
std::uint64_t retained_fft_bytes () const noexcept

Detailed Description

template<typename SampleType = float, std::size_t MaxFftSize = 4096, std::size_t MaxChannels = 8>
class pulp::signal::OnsetNoveltyFrontEndT< SampleType, MaxFftSize, MaxChannels >

Fixed-capacity streaming novelty analysis.

This does not publish onset markers or confidence because those require a global offline postpass. Ownership, preparation, cadence, and callback rules match ChromaFrontEndT.

Member Typedef Documentation

◆ Frame

template<typename SampleType = float, std::size_t MaxFftSize = 4096, std::size_t MaxChannels = 8>
using pulp::signal::OnsetNoveltyFrontEndT< SampleType, MaxFftSize, MaxChannels >::Frame = OnsetNoveltyFrameT<SampleType>

Member Function Documentation

◆ current()

template<typename SampleType = float, std::size_t MaxFftSize = 4096, std::size_t MaxChannels = 8>
const Frame & pulp::signal::OnsetNoveltyFrontEndT< SampleType, MaxFftSize, MaxChannels >::current ( ) const
inlinenodiscardnoexcept

◆ prepare()

template<typename SampleType = float, std::size_t MaxFftSize = 4096, std::size_t MaxChannels = 8>
bool pulp::signal::OnsetNoveltyFrontEndT< SampleType, MaxFftSize, MaxChannels >::prepare ( const StreamingAnalysisConfig & config,
OnsetDetectionMethod method )
inlinenodiscard

◆ process()

template<typename SampleType = float, std::size_t MaxFftSize = 4096, std::size_t MaxChannels = 8>
template<typename Sink>
bool pulp::signal::OnsetNoveltyFrontEndT< SampleType, MaxFftSize, MaxChannels >::process ( const SampleType *const * channels,
std::size_t channel_count,
std::size_t frames,
Sink && sink )
inlinenodiscardnoexcept

◆ readiness_latency_samples()

template<typename SampleType = float, std::size_t MaxFftSize = 4096, std::size_t MaxChannels = 8>
std::uint32_t pulp::signal::OnsetNoveltyFrontEndT< SampleType, MaxFftSize, MaxChannels >::readiness_latency_samples ( ) const
inlinenodiscardnoexcept

◆ reset()

template<typename SampleType = float, std::size_t MaxFftSize = 4096, std::size_t MaxChannels = 8>
void pulp::signal::OnsetNoveltyFrontEndT< SampleType, MaxFftSize, MaxChannels >::reset ( )
inlinenoexcept

◆ retained_fft_bytes()

template<typename SampleType = float, std::size_t MaxFftSize = 4096, std::size_t MaxChannels = 8>
std::uint64_t pulp::signal::OnsetNoveltyFrontEndT< SampleType, MaxFftSize, MaxChannels >::retained_fft_bytes ( ) const
inlinenodiscardnoexcept

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