API reference by category
The complete public API, grouped by task. Click any function for its full signature, parameters, returns, and a link to the exact source line.
Core DSP & transforms
Section titled “Core DSP & transforms”| Function | Description |
|---|---|
applyHannWindow | Apply a Hann window to an audio sample array. |
blackman_window | Blackman window |
buf_to_float | Convert an integer buffer to floating point values |
computePeak | Find the peak absolute sample value across all channels of an audio buffer. |
cqt | Constant-Q Transform of an audio signal. |
createSpectrogram | Creates a spectrogram visualization of audio over time |
debugLog | Log to the console only when debug logging is enabled. |
f0_harmonics | Compute the energy at selected harmonics of a time-varying fundamental frequency |
fft | Fast Fourier Transform using Cooley-Tukey algorithm (radix-2). |
fft_frequencies | FFT frequencies |
findDownbeatPhase | Find the true downbeat phase by analyzing onset patterns. |
findKickSnareHit | Find kick+snare hit (strong transient with wide frequency content) |
fix_frames | Fix a list of frames to lie within [x_min, x_max] |
frame | Slice a data array into (overlapping) frames |
get_window | Get window function |
hamming_window | Hamming window |
hann_window | Hann window |
ifft | Inverse Fast Fourier Transform (complex input preserved, no component discarded). |
isDebugEnabled | Report whether debug logging is currently enabled. |
istft | Inverse Short-Time Fourier Transform |
magnitude | Magnitude of complex spectrum |
mel_to_stft | Approximate STFT magnitude from a Mel power spectrogram. |
peakPick | Peak picking algorithm with advanced filtering |
phase | Phase of complex spectrum |
polar_to_complex | Convert magnitude and phase to complex spectrum |
power | Power spectrum |
rqa | Recurrence quantification analysis (RQA). |
salience | Compute the harmonic salience function |
setDebug | Enable or disable the library’s debug logging. |
spectrogram | Simple spectrogram computation |
stft | Short-Time Fourier Transform |
sync | Aggregate a multi-dimensional array between boundaries, synchronizing features to a set of frames. |
warnIfNoMp3Support | Check MP3 playback support and optionally show a warning banner. |
yin | Fundamental frequency (F0) estimation using the YIN algorithm |
Spectral features
Section titled “Spectral features”| Function | Description |
|---|---|
computeRMS | Compute the Root Mean Square (RMS) energy of an audio buffer. |
computeZeroCrossingRate | Compute the average zero-crossing rate across all channels of an audio buffer. |
createRmsMeter | Create an incremental RMS meter. |
delta_features | Compute delta (first-order derivative) features |
feature.chroma_stft | Chromagram from a waveform or power spectrogram. |
feature.dctBasis | Rows 0..n_out-1 of the DCT-II matrix over n_in points. |
feature.estimate_tuning | Estimate tuning from a signal or spectrogram. |
feature.foldLogSpectrumToChroma | Fold a time-major log-frequency spectrum into pitch classes by summing energy across octaves. |
feature.logFrequencySpectrum | Log-frequency spectrum by nearest-FFT-bin sampling. |
feature.melspectrogram | Mel spectrogram from a waveform with a (y, options) API. |
feature.mfcc | Mel-frequency cepstral coefficients. |
feature.mfccFromLogMel | MFCC cepstral core: DCT-II along the mel axis of a log-power mel spectrogram, keeping the first coefficients. |
feature.piptrackPeaks | Pitch tracking on a thresholded, parabolically-interpolated STFT (piptrack); returns the sparse list of detected pitch/magnitude peaks. |
feature.pitch_tuning | Tuning offset of a set of detected frequencies relative to A440, in fractions of a chroma bin. |
feature.rms | Root-mean-square energy per frame (centered, constant-padded framing). |
feature.spectral_bandwidth | p’th-order spectral bandwidth per frame. |
feature.spectral_centroid | Spectral centroid (energy-weighted mean frequency) per frame. |
feature.spectral_contrast | Spectral contrast: octave-band peak-to-valley energy difference per frame. |
feature.spectral_flatness | Spectral flatness (geometric mean over arithmetic mean of the power spectrum) per frame. |
feature.spectral_rolloff | Roll-off frequency: the lowest frequency bin whose cumulative energy reaches a given percentage of the total. |
feature.zero_crossing_rate | Frame-wise zero-crossing rate with edge-padded centering. |
findAllZeroCrossings | Collect the indices of every zero crossing in a signal. |
findZeroCrossing | Find the next zero crossing at or after a given sample index. |
mfcc_to_mel | Invert Mel-frequency cepstral coefficients to approximate a Mel power spectrogram |
Beat & tempo
Section titled “Beat & tempo”| Function | Description |
|---|---|
analyze_groove | Estimate groove and timing feel |
beat_sync | Beat-synchronous feature aggregation |
beat_track | Dynamic programming beat tracker. |
beatTrack | Beat tracker with tempo estimation and dynamic-programming beat selection. |
calculateBeatAlignment | Calculate how well a loop length aligns with musical timing |
compute_tempogram | Compute tempogram using autocorrelation |
detect_tempo_multiples | Detect tempo multiples and submultiples |
detectBPM | Detect BPM from audio. |
estimate_tempo | Estimate the global tempo (BPM) from a lag tempogram using tempo scoring. |
extractTempo | Extract tempo from beat times Useful for validation and multiple tempo detection |
fastBPMDetect | Fast BPM detection using onset detection plus tempo estimation. |
find_tempo_candidates | Find tempo candidates from tempogram |
findFirstDownbeat | Find the first strong downbeat in the track to help align loops to the musical phrasing. |
fourier_tempogram | Fourier tempogram: the STFT of the onset strength envelope. |
plp | Predominant Local Pulse (PLP) estimation |
quickTempo | QUICK TIER — windowed live tempo estimate. |
tempo | Estimate the global tempo (BPM) with aggregate=‘mean’. |
tempoBasedCompress | Tempo-based audio compression — PITCH-PRESERVING time stretch via the phase vocoder. |
tempogram | Local autocorrelation tempogram of the onset strength envelope. |
tempogram_ratio | Tempogram ratio features (a.k.a. spectral rhythm patterns). |
Tempo — BPM engine
Section titled “Tempo — BPM engine”| Function | Description |
|---|---|
bpm.analyzeTempogram | Analyze a tempogram to find its peak tempos. |
bpm.analyzeWithProgress | Main analysis orchestrator that yields progress as it runs. |
bpm.computeFourierTempogram | Compute a Fourier tempogram. |
bpm.computeOnsetStrength | Compute onset strength using spectral flux. |
bpm.computeSimpleFFT | Compute a simple FFT. |
bpm.computeSimpleSpectrum | Compute a simple spectrum using a decimated FFT. |
bpm.computeTempoFrequencies | Convert FFT bins to tempo frequencies. |
bpm.estimateConstrainedTempo | Estimate tempo within a constrained range. |
bpm.estimateGlobalTempo | Estimate global tempo using autocorrelation. |
Onset detection
Section titled “Onset detection”| Function | Description |
|---|---|
createFluxAnalyzer | Create an incremental spectral-flux analyzer. |
onset_strength | onset_strength() — log-power-mel onset strength envelope. |
onsetDetect | Fast spectral-flux onset detection — returns picked onset times directly. |
Pitch & harmony
Section titled “Pitch & harmony”| Function | Description |
|---|---|
pitchBasedCompress | Pitch-based audio compression — a plain linear-interpolation resample kept at the original sample rate. |
pyin | Probabilistic YIN (pYIN). |
Loop detection
Section titled “Loop detection”| Function | Description |
|---|---|
addLoopRegions | Adds loop region overlays to existing waveform |
compareLoops | Quick loop comparison utility |
createLoopBuffer | Create a loopable AudioBuffer with a custom waveform, multichannel support, and export options. |
defineMultipleLoopPoints | Define multiple loop points for playback. |
detectLoop | Detect loop points and return a real sample-range descriptor. |
fastLoopAnalysis | Fast loop analysis — the default strategy of loop.detect(). |
findMusicalLoop | Simple loop finder that respects musical boundaries |
fullBufferLoop | Return a loop spanning the entire buffer, performing no detection (the explicit whole-buffer descriptor used by resetLoop). |
loop.analyzeLoopPoints | :::caution[Deprecated] Use loop.detect() instead. ::: |
loop.clamp01 | Clamp a number into [0, 1]. NaN clamps to 0. |
loop.detect | Detect loop points in an audio buffer. |
loop.fastOnsetLoopAnalysis | :::caution[Deprecated] Use loop.detect(buffer, { strategy: ‘recurrence’ }) instead. ::: |
loop.findPreciseLoop | Find precise loop boundaries by testing actual audio repetition. |
loop.loopAnalysis | :::caution[Deprecated] Use loop.detect() instead. ::: |
loop.measureLoopConfidence | Measure how well audio loops over [startSec, endSec), returning a confidence in [0, 1]. |
loop.musicalLoopAnalysis | Musical boundary-aware analysis. |
loop.normalizedCrossCorrelation | Normalized cross-correlation (mean-subtracted, std-normalized) in [-1, 1]. |
loop.recurrenceLoop | Detect a loop via recurrence-matrix analysis. |
loop.snapToZeroCrossings | Snap loop boundaries to nearby zero crossings to avoid clicks. |
loop.xaLoopAnalysis | :::caution[Deprecated] Use loop.detect() instead. ::: |
Structural segmentation
Section titled “Structural segmentation”| Function | Description |
|---|---|
segment.agglomerative | Bottom-up temporal segmentation: partition frames into k contiguous segments; returns the left-boundary frame indices. |
segment.crossSimilarity | Cross-similarity between a comparison sequence and a reference sequence. |
segment.lagToRecurrence | Convert a lag matrix back into a recurrence matrix. |
segment.laplacianSegmentation | Structural segmentation of a beat/frame-synchronous feature matrix by Laplacian spectral clustering. |
segment.recurrenceMatrix | Compute a recurrence (self-similarity) matrix from a feature matrix. |
segment.recurrenceToLag | Convert a recurrence matrix into a lag matrix. |
Recurrence
Section titled “Recurrence”| Function | Description |
|---|---|
recurrence.computeChroma | Compute chroma features from audio buffer |
recurrence.findLoopCandidates | Find peaks in lag matrix to identify loop-lag candidates. |
recurrence.framesToTime | Convert frames to time (xa-style) |
recurrence.recurrenceLoopDetection | Recurrence loop detection using matrix analysis. |
recurrence.recurrenceMatrix | Proper recurrence matrix (xa-style) |
recurrence.recurrenceToLag | Convert a recurrence matrix to its lag representation (xa-style). |
recurrence.stackMemory | Time-delay embedding to stack chroma features. |
Sequence alignment (DTW · Viterbi · RQA)
Section titled “Sequence alignment (DTW · Viterbi · RQA)”| Function | Description |
|---|---|
sequence.dtw | Dynamic time warping between two feature sequences (or a precomputed cost matrix). |
sequence.dtwBacktracking | Backtrack a warping path from a recorded step matrix. |
sequence.matchEvents | Match one set of events to another (nearest neighbor with optional left/right constraints). |
sequence.matchIntervals | Match one set of time intervals to another, maximizing Jaccard similarity. |
sequence.transition_cycle | Construct a cyclic transition matrix. |
sequence.transition_local | Construct a localized transition matrix where each state transitions only to nearby states. |
sequence.transition_loop | Construct a self-loop transition matrix. |
sequence.transition_uniform | Construct a uniform transition matrix over nStates. |
sequence.viterbi | Viterbi decoding from observation likelihoods. |
sequence.viterbi_discriminative | Viterbi decoding from discriminative (mutually exclusive) state posteriors. |
Decomposition & separation
Section titled “Decomposition & separation”| Function | Description |
|---|---|
decompose.hpss | Median-filtering harmonic/percussive source separation on a spectrogram. |
decompose.nn_filter | Nearest-neighbor filtering (nn_filter). |
decompose.optimizeEqCurves | Optimize EQ curves matching mixture fingerprints to reference vocal fingerprints — stem-guided spectral matching (supervised: requires the isolated vocal stem as target) |
decompose.processAudioToFingerprints | Multi-scale spectral fingerprints — entry point of the stem-guided (supervised) matching pipeline |
decompose.reconstructVocal | Reconstruct a vocal estimate from EQ curves learned against a reference stem (supervised — not blind separation; for that use hpss/softmask/nn_filter) |
decompose.softmask | Robust soft mask M = X^power / (X^power + X_ref^power), computed with a rescale-by-max stabilization. |
griffinlim | Griffin-Lim algorithm for phase reconstruction |
pcen | Per-Channel Energy Normalization (PCEN) |
Effects
Section titled “Effects”| Function | Description |
|---|---|
effects.deemphasis | De-emphasis filter — the exact inverse of preemphasis(). |
effects.harmonic | Extract only the harmonic component of a waveform. |
effects.hpss | Decompose an audio time series into harmonic and percussive components. |
effects.percussive | Extract only the percussive component of a waveform. |
effects.phase_vocoder | Phase vocoder: time-stretch an STFT matrix by a given rate. |
effects.pitch_shift | Shift the pitch of a waveform by n_steps steps while preserving duration. |
effects.preemphasis | Pre-emphasis filter that boosts high frequencies (the inverse of deemphasis()). |
effects.remix | Remix an audio signal by re-ordering time intervals. |
effects.split | Split an audio signal into non-silent intervals. |
effects.time_stretch | Time-stretch an audio series by a fixed rate while preserving pitch. |
effects.trim | Trim leading and trailing silence from an audio signal. |
Filter banks
Section titled “Filter banks”| Function | Description |
|---|---|
filters.chroma | Chroma filter bank. Projects FFT bins onto n_chroma pitch classes via Gaussian bumps. |
filters.mel_filterbank | Create Mel filterbank matrix |
Unit conversions
Section titled “Unit conversions”| Function | Description |
|---|---|
convert.A4_to_tuning | Convert reference pitch A4 frequency to tuning deviation |
convert.a_weighting | A-weighting of frequency |
convert.amplitude_to_db | Convert amplitude to decibels |
convert.b_weighting | B-weighting of frequency |
convert.blocks_to_frames | Convert block indices to frame indices |
convert.blocks_to_samples | Convert block indices to sample indices |
convert.blocks_to_time | Convert block indices to time (in seconds) |
convert.c_weighting | C-weighting of frequency |
convert.cqt_frequencies | Compute CQT (Constant-Q Transform) frequencies |
convert.d_weighting | D-weighting of frequency |
convert.db_to_amplitude | Convert decibels to amplitude |
convert.db_to_power | Convert decibels to power |
convert.fft_frequencies | Compute FFT frequencies |
convert.fourier_tempo_frequencies | Compute Fourier tempogram frequencies |
convert.frames_to_samples | Convert frame indices to sample indices |
convert.frames_to_time | Convert frame indices to time (seconds) |
convert.frequency_weighting | General frequency weighting function (wrapper for A/B/C/D/Z weightings) |
convert.hz_to_mel | Convert Hz to Mel scale |
convert.hz_to_midi | Convert Hz to MIDI note number |
convert.hz_to_note | Convert Hz to note name |
convert.hz_to_octs | Convert Hz to octaves (relative to C0) |
convert.lag_to_tempo | Convert lag (in frames) to BPM |
convert.mel_frequencies | Compute the mel-scale frequencies |
convert.mel_to_hz | Convert Mel scale to Hz |
convert.midi_to_hz | Convert MIDI note number to Hz |
convert.midi_to_note | Convert MIDI note number to note name |
convert.multi_frequency_weighting | Compute multiple frequency weightings at once |
convert.note_to_hz | Convert note name to Hz |
convert.note_to_midi | Convert note name to MIDI note number |
convert.octs_to_hz | Convert octaves to Hz |
convert.perceptual_weighting | Perceptual weighting curve (approximate) |
convert.power_to_db | Convert power to decibels |
convert.samples_like | Return an array of sample indices to match the time axis from a feature matrix |
convert.samples_to_frames | Convert audio samples to frame indices |
convert.samples_to_time | Convert sample indices to time (seconds) |
convert.tempo_frequencies | Compute the tempo frequencies (in BPM) corresponding to lag-tempogram bins. |
convert.tempo_to_lag | Convert BPM to lag (in frames) |
convert.time_to_frames | Convert time (seconds) to frame indices |
convert.time_to_samples | Convert time (seconds) to sample indices |
convert.times_like | Return an array of time values to match the time axis from a feature matrix |
convert.tuning_to_A4 | Convert tuning deviation to A4 reference frequency |
convert.z_weighting | Z-weighting (flat/no weighting) for frequency analysis |
Music notation
Section titled “Music notation”| Function | Description |
|---|---|
notation.fifths_to_note | Calculate the note name for a given number of perfect fifths |
notation.hz_to_fjs | Convert one or more frequencies (in Hz) to Functional Just System (FJS) notation |
notation.hz_to_svara_c | Convert frequencies (in Hz) to Carnatic svara notation within a melakarta raga |
notation.hz_to_svara_h | Convert frequencies (in Hz) to Hindustani svara notation |
notation.interval_to_fjs | Convert an interval to Functional Just System (FJS) notation |
notation.key_to_degrees | Construct the diatonic scale degrees for a given key |
notation.key_to_notes | List all 12 chromatic note names as spelled according to a given key. |
notation.list_mela | List melakarta ragas by name and index |
notation.list_thaat | List supported thaats by name |
notation.mela_to_degrees | Construct the svara indices (degrees) for a given melakarta raga |
notation.mela_to_svara | Spell the Carnatic svara names for a given melakarta raga |
notation.midi_to_svara_c | Convert MIDI numbers to Carnatic svara within a melakarta raga |
notation.midi_to_svara_h | Convert MIDI numbers to Hindustani svara |
notation.note_to_svara_c | Convert western note names to Carnatic svara within a melakarta raga |
notation.note_to_svara_h | Convert western note names to Hindustani svara |
notation.thaat_to_degrees | Construct the svara indices (degrees) for a given thaat |
Intervals
Section titled “Intervals”| Function | Description |
|---|---|
intervals.compareTuningSystems | Compare different tuning systems |
intervals.generateFrequencies | Quick frequency generation utility |
intervals.interval_frequencies | Construct interval frequencies (convenience wrapper) |
intervals.plimit_intervals | Construct p-limit intervals (convenience wrapper) |
intervals.pythagorean_intervals | Construct Pythagorean intervals (convenience wrapper) |
Linear algebra
Section titled “Linear algebra”| Function | Description |
|---|---|
linalg.eigh | Symmetric eigendecomposition via cyclic Jacobi rotations. |
linalg.laplacian | Normalized graph Laplacian of a dense weight matrix. |
Clustering
Section titled “Clustering”| Function | Description |
|---|---|
cluster.kmeans | K-means clustering — Lloyd’s algorithm with greedy k-means++ seeding. |
Display & visualization
Section titled “Display & visualization”| Function | Description |
|---|---|
analyzeWaveform | Calculates waveform statistics for analysis |
cmap | Get a default colormap from the given data |
createInteractiveRenderer | Creates an interactive waveform renderer with events |
drawWaveform | Draw waveform visualization |
getStereoWaveformPeaks | Extracts stereo waveform data for left and right channels |
getTimebasedWaveform | Generates time-based waveform data with precise time stamps |
getWaveformPeaks | Extracts waveform peaks suitable for visualization |
getWaveformRange | Generates waveform data for a specific time range |
harmonic_product_spectrum | Compute harmonic product spectrum (HPS) for pitch detection |
renderStaticSpectrum | Renders static spectrum analysis of audio buffer |
renderStereoWaveform | Renders stereo waveform with separate channels |
renderWaveform | Renders waveform data to a canvas element |
specshow | Display a spectrogram/chromagram/CQT/etc on a Canvas element |
waveshow | Visualize a waveform in the time domain on a Canvas element |
Audio I/O — synthesis & codecs
Section titled “Audio I/O — synthesis & codecs”| Function | Description |
|---|---|
audioio.autocorrelate | Autocorrelation of a signal up to a maximum lag. |
audioio.chirp | Synthesize a linear or exponential frequency sweep (chirp). |
audioio.clicks | Synthesize a click track at the given times or frames. |
audioio.getDuration | Compute a signal’s duration in seconds from its length and sample rate. |
audioio.getSamplerate | Read the sample rate of an AudioBuffer. |
audioio.load | Fetch and decode an audio file, with optional mono downmix, resampling, offset, and duration. |
audioio.lpc | Burg LPC (real‑valued) — returns LPC denominator polynomial a[0..p], a[0] == 1 |
audioio.muCompress | mu-law compress a signal, optionally quantizing to integer codewords. |
audioio.muExpand | mu-law expand (decode) a companded signal back to linear amplitude. |
audioio.play | Play the currently loaded audio through the Web Audio API, optionally looping. |
audioio.resample | Linearly resample a signal from one sample rate to another. |
audioio.stop | Stop the current Web Audio playback and release the source node. |
audioio.toMono | Downmix multi-channel audio to a single mono channel by averaging. |
audioio.tone | Synthesize a pure sinusoidal tone at a given frequency. |
audioio.zeroCrossings | Mark the sample positions where the signal changes sign. |
Audio I/O — files & cache
Section titled “Audio I/O — files & cache”| Function | Description |
|---|---|
file.cache | Get cache management interface |
file.createAudioContext | Create a new Web Audio API context with proper configuration |
file.createVisualization | Create audio visualization data |
file.example | Load example audio file from remote source |
file.exampleAudio | Get audio data as Float32Array from AudioBuffer |
file.exampleBuffer | Load and decode audio example to AudioBuffer |
file.exampleInfo | Get metadata for a specific example |
file.isWebAudioSupported | Utility function to check if Web Audio API is available |
file.listExamples | List all available audio examples |
file.saveAudio | Save audio data as downloadable file |
Audio I/O — streaming
Section titled “Audio I/O — streaming”| Function | Description |
|---|---|
fileio.cite | Get citation information for the pleco-xa library |
fileio.createMediaStreamProcessor | Create a real-time audio stream processor for live input |
fileio.find_files | Get a sorted list of audio files using File System Access API |
fileio.stream | Chunked audio reader (not true streaming). |
Audio I/O & playback
Section titled “Audio I/O & playback”| Function | Description |
|---|---|
applyLiveDoubleSpeed | Raise live playback to double speed in real time (crossfaded playback rate, or pitch-preserving resample). |
applyLiveHalfSpeed | Drop live playback to half speed in real time (crossfaded playback rate, or pitch-preserving resample). |
createAudioBlob | Encode an AudioBuffer’s first channel as a WAV Blob. |
decodeWav | Decode a WAV file into planar Float32Array channels (PCM 16/24/32-bit integer and 32-bit float). |
encodeWav | Encode planar channel data as an interleaved 16-bit PCM WAV file. |
exportBufferAsWav | Export an AudioBuffer as a .wav file. |
findAudioStart | Find where audible audio begins (first sample above a threshold, snapped to the nearest zero crossing). |
initAudioProcessor | Initialize the audio processor |
loadAudioFile | Load audio file (from URL or File object) |
loadFile | Load local audio file from user input |
mel_to_audio | Invert a mel power spectrogram to audio using Griffin-Lim |
mfcc_to_audio | Convert Mel-frequency cepstral coefficients to a time-domain audio signal |
resetLiveSpeed | Reset live playback back to normal (1x) speed. |
valid_audio | Determine whether a variable contains valid audio data |
Playback
Section titled “Playback”| Function | Description |
|---|---|
playback.closeGapLeft | Close a detected gap by shifting the audio after it left. The normalized loop end is preserved. |
playback.closeGapRight | Close a detected gap by removing it and rescaling the loop end to the shorter buffer. |
playback.createBufferLike | Default pure buffer factory: an AudioBuffer-shaped object backed by Float32Array channels. |
playback.detectGap | Detect a gap (silence across all channels) after the loop end. |
playback.doubleSpeedQuantzLoop | Double speed quantz — gapless: compress the loop content at 2x speed into half the space and re-fill. |
playback.doubleSpeedUnquantzLoop | Double speed unquantz: compress the loop content at 2x speed in place (track length unchanged). |
playback.halfSpeedLoop | Half speed (time stretch) a loop section. The loop region is stretched to 2x its length. |
playback.halfSpeedQuantzLoop | Half speed quantz: time-stretch the loop content at half speed but mask it to the original length. |
playback.revealFirstHalf | Reveal the first half of a half-speed-quantz’d loop (counterpart of revealHiddenHalf; toggles back). |
playback.revealHiddenHalf | Reveal the “hidden” second half of a half-speed-quantz’d loop by replacing the loop window with it. |
playback.reverseSection | Reverse a sample range of a buffer without mutating the input (copy-then-reverse). |
Experimental & creative play
Section titled “Experimental & creative play”The Echoplex-inspired live-performance and glitch layer — the creative-play tier, not part of the stable analysis API. These helpers mutate loops and buffers in place for real-time performance and algorithmic sequencing; treat their signatures and behavior as experimental.
| Function | Description |
|---|---|
applyOperationEnhanced | Apply a loop operation with live responsiveness — large reverse operations run in chunks with progress callbacks. |
applyQuantumOp | Apply a single named operation (half, double, move, reverse, reset, stutter, phase, fractal) to a buffer and loop. |
buildQuantumOpList | Build an operation list by warping a random seed through vector space and injecting preset accent bars. |
buildQuantumSequence | Turn an operation list into a list of executable playback steps, each applying one operation to the buffer and loop. |
checkBufferSafety | Validate a buffer and loop range, reporting whether the operation is safe along with any issues and loop metrics. |
doubleLoop | Double a loop descriptor’s length by extending its end, clamped to the buffer length. |
executeOperation | Apply a single named loop operation (half, double, move, reverse, reset, stutter, fractal, phase) to a buffer and loop. |
generateChaotic | Generate a chaotic sequence of loop operations driven by a logistic-map iterator. |
generateFibonacci | Generate a Fibonacci-patterned sequence of loop operations. |
generatePrimeRhythm | Generate a prime-number-driven rhythmic sequence of loop operations. |
generateWaveform | Generate a sine-wave-modulated sequence of loop operations. |
glitchBurst | Run a time-boxed burst of randomized loop glitches on an internal clock; returns a stop function. |
halfLoop | Halve a loop descriptor, keeping the start and moving the end to the midpoint. |
isLargeOperation | Decide whether a loop operation counts as large (long loop, high buffer share, or long file) and warrants chunked processing. |
moveForward | Advance a loop descriptor forward by a number of samples, clamped so it never runs past the buffer end. |
playQuantumOps | Play a quantum operation sequence with adaptive, oscillating per-operation timing. |
randomLocal | Apply a short random burst of loop operations to the current loop and return the result. |
randomPreset | Return a randomly chosen preset beat pattern (an eight-step operation bar) for injection into a sequence. |
randomSequence | Build a randomized sequence of loop-manipulation steps (move, half, double, reverse, reset) for live playback. |
resetLoop | Reset a loop descriptor to span the entire buffer. |
reverseBufferSection | Reverse a sample range of a buffer in place (mutates the buffer). |
signatureDemo | Build the library’s fixed signature demo — narrow, move, reverse, grow, and finish — as a list of playable steps. |
startBeatGlitch | Start a beat-synchronized glitch that fires random loop operations once per detected bar; returns a stop function. |