Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
analysis_frontends.hpp File Reference
#include <pulp/signal/fft.hpp>
#include <algorithm>
#include <array>
#include <cmath>
#include <complex>
#include <cstddef>
#include <cstdint>
#include <limits>
#include <optional>
#include <type_traits>

Go to the source code of this file.

Classes

struct  pulp::signal::StreamingAnalysisConfig
class  pulp::signal::detail::StreamingAnalysisWindowT< SampleType, MaxFftSize, MaxChannels >
struct  pulp::signal::ChromaFrameT< SampleType >
 One complete chroma analysis window. More...
class  pulp::signal::ChromaFrontEndT< SampleType, MaxFftSize, MaxChannels >
 Fixed-capacity chroma analysis over caller-owned planar input. More...
struct  pulp::signal::OnsetNoveltyFrameT< SampleType >
 One complete novelty window. More...
class  pulp::signal::OnsetNoveltyFrontEndT< SampleType, MaxFftSize, MaxChannels >
 Fixed-capacity streaming novelty analysis. More...

Namespaces

namespace  pulp
namespace  pulp::signal
namespace  pulp::signal::detail
 Round-2 effect-wave vocabulary.

Typedefs

using pulp::signal::ChromaFrontEnd = ChromaFrontEndT<float>
using pulp::signal::ChromaFrontEnd64 = ChromaFrontEndT<double>
using pulp::signal::OnsetNoveltyFrontEnd = OnsetNoveltyFrontEndT<float>
using pulp::signal::OnsetNoveltyFrontEnd64 = OnsetNoveltyFrontEndT<double>

Enumerations

enum class  pulp::signal::OnsetDetectionMethod : std::uint8_t { pulp::signal::EnergyFlux , pulp::signal::SpectralFlux , pulp::signal::HighFrequencyContent }
enum class  pulp::signal::detail::AnalysisWindow : std::uint8_t { pulp::signal::detail::rectangular , pulp::signal::detail::symmetric_hann }

Functions

double pulp::signal::onset_energy_flux (double previous, double current) noexcept
 Pure novelty transitions shared by fixed-capacity streaming analysis and background/offline adapters.
double pulp::signal::onset_spectral_bin_flux (OnsetDetectionMethod method, double previous, double current, std::size_t bin) noexcept
template<typename SampleType, std::size_t MaxChannels>
bool pulp::signal::detail::mix_planar_frame (const SampleType *const *channels, std::size_t channel_count, std::size_t frame, bool compute_power, double &mono, double &channel_power) noexcept
int pulp::signal::detail::pitch_class_for_frequency (double frequency_hz) noexcept