MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Yantra::Granular Namespace Reference

Classes

class  AttributeOp
 Computes a scalar attribute per grain and writes it onto each Region. More...
 
struct  GranularConfig
 Scalar parameters shared across all granular pipeline entry points. More...
 
class  SegmentOp
 Segments container audio into fixed hop-size grain windows. More...
 
class  SortOp
 Sorts grains by a named attribute key, with optional GPU dispatch. More...
 

Typedefs

using AttributeExecutor = std::function< double(std::span< const double >, const ExecutionContext &)>
 Span-level escape hatch for fully custom per-grain feature computation.
 
using GrainTaper = Kakshya::RegionTaper
 Per-grain taper applied before accumulation in OLA reconstruction.
 
using GranularContainerDatum = Datum< std::shared_ptr< Kakshya::SignalSourceContainer > >
 Datum specialisation for container-output granular pipelines.
 
using GranularDatum = Datum< Kakshya::RegionGroup >
 Datum specialisation for granular processing pipelines.
 
using GranularMatrix = GrammarAwareComputeMatrix
 Matrix type used throughout the granular subsystem.
 

Enumerations

enum class  GranularOutput : uint8_t {
  REGION_GROUP , CONTAINER , CONTAINER_ADDITIVE , STREAM ,
  STREAM_ADDITIVE
}
 Selects the terminal output type produced by make_granular_matrix. More...
 

Functions

ExecutionContext make_granular_context (const GranularConfig &config, AnalysisType analysis_type, const std::string &qualifier={})
 Construct an ExecutionContext for the granular pipeline using a built-in AnalysisType.
 
ExecutionContext make_granular_context (const GranularConfig &config, AttributeExecutor executor)
 Construct an ExecutionContext using a span-level lambda for fully custom attribution.
 
template<ComputeData InputType, ComputeData OutputType>
ExecutionContext make_granular_context (const GranularConfig &config, std::shared_ptr< UniversalAnalyzer< InputType, OutputType > > analyzer, const std::string &qualifier={})
 Construct an ExecutionContext supplying a pre-configured analyzer instance directly.
 
GranularDatum make_granular_input (const std::shared_ptr< Kakshya::SignalSourceContainer > &container, const std::string &group_name="grains")
 Construct the initial GranularDatum from a container.
 
std::shared_ptr< GranularMatrixmake_granular_matrix (ComputationContext attribution_context=ComputationContext::SPECTRAL, GranularOutput output=GranularOutput::REGION_GROUP, GrainTaper taper={})
 Construct a GranularMatrix with grammar rules appropriate for the requested output type.
 
GranularDatum process (const std::shared_ptr< Kakshya::SignalSourceContainer > &container, AnalysisType analysis_type, const GranularConfig &config={}, const std::string &qualifier={})
 Run segment -> attribute -> sort and return the attributed RegionGroup.
 
GranularDatum process (const std::shared_ptr< Kakshya::SignalSourceContainer > &container, AttributeExecutor executor, const GranularConfig &config={})
 Run segment -> attribute -> sort using a span-level attribution lambda.
 
std::shared_ptr< Kakshya::SoundFileContainerprocess_to_container (const std::shared_ptr< Kakshya::SignalSourceContainer > &container, AnalysisType analysis_type, const GranularConfig &config={}, const std::string &qualifier={}, GranularOutput output=GranularOutput::CONTAINER)
 Offline granular pipeline terminating in a SoundFileContainer.
 
std::shared_ptr< Kakshya::SoundFileContainerprocess_to_container (const std::shared_ptr< Kakshya::SignalSourceContainer > &container, AttributeExecutor executor, const GranularConfig &config={}, GranularOutput output=GranularOutput::CONTAINER)
 Offline granular pipeline using a span-level attribution lambda.
 
template<typename CompleteFn >
void process_to_container_async (const std::shared_ptr< GranularMatrix > &matrix, const std::shared_ptr< Kakshya::SignalSourceContainer > &container, AnalysisType analysis_type, CompleteFn &&on_complete, const GranularConfig &config={}, const std::string &qualifier={}, GranularOutput output=GranularOutput::CONTAINER)
 Async offline granular pipeline (AnalysisType path).
 
template<typename CompleteFn >
void process_to_container_async (const std::shared_ptr< GranularMatrix > &matrix, const std::shared_ptr< Kakshya::SignalSourceContainer > &container, AttributeExecutor executor, CompleteFn &&on_complete, const GranularConfig &config={}, GranularOutput output=GranularOutput::CONTAINER)
 Async offline granular pipeline (AttributeExecutor path).
 
std::shared_ptr< Kakshya::DynamicSoundStreamprocess_to_stream (const std::shared_ptr< Kakshya::SignalSourceContainer > &container, AnalysisType analysis_type, const GranularConfig &config={}, const std::string &qualifier={}, GranularOutput output=GranularOutput::STREAM)
 Offline granular pipeline terminating in a DynamicSoundStream.
 
std::shared_ptr< Kakshya::DynamicSoundStreamprocess_to_stream (const std::shared_ptr< Kakshya::SignalSourceContainer > &container, AttributeExecutor executor, const GranularConfig &config={}, GranularOutput output=GranularOutput::STREAM)
 Offline granular pipeline using a span-level attribution lambda, terminating in a DynamicSoundStream.
 
template<typename CompleteFn >
void process_to_stream_async (const std::shared_ptr< GranularMatrix > &matrix, const std::shared_ptr< Kakshya::SignalSourceContainer > &container, AnalysisType analysis_type, CompleteFn &&on_complete, const GranularConfig &config={}, const std::string &qualifier={}, GranularOutput output=GranularOutput::STREAM)
 Async offline granular pipeline terminating in a DynamicSoundStream (AnalysisType path).
 
template<typename CompleteFn >
void process_to_stream_async (const std::shared_ptr< GranularMatrix > &matrix, const std::shared_ptr< Kakshya::SignalSourceContainer > &container, AttributeExecutor executor, CompleteFn &&on_complete, const GranularConfig &config={}, GranularOutput output=GranularOutput::STREAM)
 Async offline granular pipeline terminating in a DynamicSoundStream (AttributeExecutor path).
 

Variables

const ComputationGrammar::Rule::Executor attribute_grains
 Grammar rule executor for the attribution step.
 
const ComputationGrammar::Rule::Executor reconstruct_grains
 Grammar rule executor for the reconstruction step.
 
const ComputationGrammar::Rule::Executor reconstruct_grains_additive
 Grammar rule executor for additive grain reconstruction.
 
const ComputationGrammar::Rule::Executor reconstruct_grains_additive_stream
 Grammar rule executor — OLA reconstruct into DynamicSoundStream.
 
const ComputationGrammar::Rule::Executor reconstruct_grains_stream
 Grammar rule executor — concatenative reconstruct into DynamicSoundStream.
 
const ComputationGrammar::Rule::Executor segment_grains
 Grammar rule executor for the segmentation step.
 
const ComputationGrammar::Rule::Executor sort_grains
 Grammar rule executor for the sort step.