pvx Command-Line Interface (CLI) Flags Reference

May 25, 2026 · View on GitHub

pvx logo

pvx Command-Line Interface (CLI) Flags Reference

Generated from commit 35e9761 (commit date: 2026-05-25T08:14:42-04:00).

This file enumerates long-form CLI flags discovered from argparse declarations in canonical pvx CLI sources.

Total tool+flag entries: 476 Total unique long flags: 338

Unique Long Flags

--a4-reference-hz, --alpha, --ambient-phase-mix, --ambient-preset, --amplitude, --analysis-channel, --append-manifest, --attack-sec, --attenuation, --audit-metrics, --auto-profile, --auto-profile-lookahead-seconds, --auto-segment-seconds, --auto-transform, --backend, --background-dir, --band, --band-gain-db, --band-width-bins, --batch-size, --bit-depth, --bits, --blend-mode, --boost-db, --budget-path, --cache-dir, --category, --center, --cents, --checkpoint-dir, --checkpoint-id, --chord, --chunk-ms, --chunk-seconds, --clip, --codec, --coherence-strength, --comp-ratio, --comp-threshold-db, --compander-attack-ms, --compander-compress-ratio, --compander-expand-ratio, --compander-makeup-db, --compander-release-ms, --compander-threshold-db, --compressor-attack-ms, --compressor-makeup-db, --compressor-ratio, --compressor-release-ms, --compressor-threshold-db, --confidence-floor, --context-ms, --control-stdin, --coord-system, --cpu, --crossfade-ms, --cuda-device, --cycles, --decay, --decay-sec, --dedupe-by, --depth, --detune-cents, --device, --disk-budget, --distance-law, --dither, --dither-seed, --drr, --dry, --dry-mix, --dry-run, --duration, --duty-cycle, --emit, --end, --engine, --envelope-lifter, --example, --exp-curve, --expand-ratio, --expander-attack-ms, --expander-ratio, --expander-release-ms, --expander-threshold-db, --explain-plan, --exponent, --extreme-stretch-threshold, --extreme-time-stretch, --f0-max, --f0-min, --factor, --fail-if-exceeds, --feature-set, --feedback, --fill, --floor, --fmax, --fmin, --force, --force-stereo, --formant-lifter, --formant-max-gain-db, --formant-shift-ratio, --formant-strength, --format, --fourier-sync, --fourier-sync-max-fft, --fourier-sync-min-fft, --fourier-sync-smooth, --frame-length, --freeze-time, --freq, --freq-mask, --frequency-hz, --gain, --gains, --gpu, --group-separator, --grouping, --guided, --hard-clip-level, --harmonic-gain, --harmonic-kernel, --harmonic-pitch-cents, --harmonic-pitch-semitones, --harmonic-stretch, --hop-length, --hop-size, --inharmonic-f0-hz, --inharmonic-mix, --inharmonicity, --input-format, --intent, --interp, --intervals, --intervals-cents, --ir, --ir-database, --ir-dir, --ir-file, --json, --kaiser-beta, --keep-intermediate, --key, --label-policy, --labels-csv, --limiter-threshold, --list-databases, --manifest-append, --manifest-csv, --manifest-json, --manifest-jsonl, --map, --mask-exponent, --material, --max, --max-length-s, --max-stage-stretch, --metadata-policy, --method, --mfcc-count, --min, --mix, --mode, --multires-ffts, --multires-fusion, --multires-weights, --n-fft, --no-audit-metrics, --no-center, --no-normalize-gains, --no-onset-realign, --no-progress, --no-trim, --noise-file, --noise-floor, --noise-seconds, --noise-type, --normalize, --normalize-energy, --normalize-gains, --num-freq-masks, --num-time-masks, --offset, --onset-credit-max, --onset-credit-pull, --onset-time-credit, --operation, --operator, --order, --out, --output, --output-csv, --output-dir, --output-format, --output-jsonl, --output-key, --output-subtype, --output-suffix, --overlap-ms, --overwrite, --pair-mode, --pans, --peak, --peak-count, --peak-dbfs, --percussive-gain, --percussive-kernel, --percussive-pitch-cents, --percussive-pitch-semitones, --percussive-stretch, --phase, --phase-engine, --phase-locking, --phase-mix, --phase-mode, --phase-rad, --phase-random-seed, --pipeline, --pipeline-config, --pitch, --pitch-conf-min, --pitch-follow-stdin, --pitch-lowconf-mode, --pitch-map, --pitch-map-crossfade-ms, --pitch-map-smooth-ms, --pitch-map-stdin, --pitch-mode, --pitch-shift-cents, --pitch-shift-ratio, --pitch-shift-semitones, --policy, --pre-delay-ms, --preset, --quality-profile, --quiet, --random-phase, --rate, --ratio, --ratio-max, --ratio-min, --ratio-reference, --recommend-root, --reduction-db, --ref-channel, --reference-hz, --release-sec, --requested-stretch, --resample-mode, --resonance-decay, --resonance-hz, --resonance-mix, --resonance-q, --response, --response-gain-db, --response-mix, --resume, --rms-dbfs, --root, --root-hz, --route, --rt60, --safety-margin, --sample-rate, --scale, --scale-cents, --seed, --semitones, --shift-bins, --silent, --sine-cycles, --sine-phase-rad, --smooth, --smooth-frames, --smoothing-bins, --snr, --soft-clip-drive, --soft-clip-level, --soft-clip-type, --speaker-angles, --split, --split-mode, --sr, --start, --stdout, --stereo-mode, --strength, --stretch, --stretch-from, --stretch-max, --stretch-min, --stretch-mode, --stretch-scale, --strict, --strict-manifest, --subtype, --suffix, --summary-json, --sustain, --target, --target-duration, --target-f0, --target-lufs, --target-max, --target-min, --target-pitch-shift-semitones, --target-sample-rate, --time-mask, --time-stretch, --time-stretch-factor, --tolerance-cents, --trajectory-shape, --transform, --transient-crossfade-ms, --transient-mode, --transient-preserve, --transient-protect-ms, --transient-sensitivity, --transient-threshold, --transpose-semitones, --true-peak-max-dbtp, --tv-interp, --tv-key, --tv-map, --tv-order, --variants-per-input, --verbose, --verbosity, --voices, --wave, --wet, --width, --win-length, --window, --work-dir, --workers

hps-pitch-track

FlagRequiredDefaultChoicesActionDescriptionSource
--backendFalseautoauto, pyin, acf``Pitch backend (default: auto -> pyin if available, else acf)src/pvx/cli/hps_pitch_track.py
--confidence-floorFalse0.0````Set confidence below this floor to 0.0 (default: 0.0).src/pvx/cli/hps_pitch_track.py
--emitFalsepitch_map````Output mode: pitch_map (default), stretch_map, or pitch_to_stretch.src/pvx/cli/hps_pitch_track.py
--feature-setFalseallnone, basic, advanced, all``Feature tracking preset emitted as extra CSV columns. none/basic/advanced/all (default: all).src/pvx/cli/hps_pitch_track.py
--fmaxFalse1200.0````Maximum F0 in Hz (default: 1200)src/pvx/cli/hps_pitch_track.py
--fminFalse50.0````Minimum F0 in Hz (default: 50)src/pvx/cli/hps_pitch_track.py
--frame-lengthFalse2048````Frame length in samples (default: 2048)src/pvx/cli/hps_pitch_track.py
--hop-sizeFalse256````Hop size in samples (default: 256)src/pvx/cli/hps_pitch_track.py
--mfcc-countFalse13````Number of MFCC columns (mfcc_01..mfcc_N) when feature-set is advanced/all (default: 13).src/pvx/cli/hps_pitch_track.py
--outputFalse``````Output CSV path (default: '-' for stdout)src/pvx/cli/hps_pitch_track.py
--ratio-maxFalse4.0````Upper clamp for emitted pitch_ratio (default: 4.0).src/pvx/cli/hps_pitch_track.py
--ratio-minFalse0.25````Lower clamp for emitted pitch_ratio (default: 0.25).src/pvx/cli/hps_pitch_track.py
--ratio-referenceFalsemedianmedian, mean, first, hz``Reference for emitted pitch_ratio values (default: median voiced f0).src/pvx/cli/hps_pitch_track.py
--reference-hzFalse``````Reference frequency in Hz when --ratio-reference hz.src/pvx/cli/hps_pitch_track.py
--smooth-framesFalse5````Smoothing window for pitch_ratio frames (default: 5).src/pvx/cli/hps_pitch_track.py
--stretchFalse1.0````Emit constant stretch column value for --emit pitch_map (default: 1.0).src/pvx/cli/hps_pitch_track.py
--stretch-fromFalsepitch_ratio````Source signal used to derive stretch in stretch-oriented emit modes (default: pitch_ratio).src/pvx/cli/hps_pitch_track.py
--stretch-maxFalse4.0````Upper clamp for emitted stretch in stretch-oriented modes (default: 4.0).src/pvx/cli/hps_pitch_track.py
--stretch-minFalse0.25````Lower clamp for emitted stretch in stretch-oriented modes (default: 0.25).src/pvx/cli/hps_pitch_track.py
--stretch-scaleFalse1.0````Scale factor for derived stretch tracks (default: 1.0).src/pvx/cli/hps_pitch_track.py

pvx

FlagRequiredDefaultChoicesActionDescriptionSource
--append-manifestFalse````store_trueAppend/merge with existing manifest instead of replacing itsrc/pvx/cli/pvx_augment.py
--audit-metricsFalseTrue``store_trueCompute per-output audit metrics (default: on)src/pvx/cli/pvx_augment.py
--backendFalseautoauto, pyin, acf``Pitch tracker backendsrc/pvx/cli/pvx_pipeline.py
--batch-sizeFalse16````Number of files processed simultaneously on GPU (default: 16)src/pvx/cli/pvx_augment.py
--bit-depthFalseinheritinherit, 16, 24, 32f``Bit-depth assumption when --subtype is not set (default: inherit from input subtype).src/pvx/cli/pvx_helpers.py
--budget-pathFalse``````Path used to query free space when --disk-budget is omitted (default: current directory).src/pvx/cli/pvx_helpers.py
--chunk-secondsFalse0.25````Chunk/segment duration for --auto-segment-seconds (default: 0.25)src/pvx/cli/pvx_pipeline.py
--confidence-floorFalse0.0````Minimum tracker confidencesrc/pvx/cli/pvx_pipeline.py
--context-msFalse``````Optional stateful context window in milliseconds (default: auto from window/hop)src/pvx/cli/pvx_pipeline.py
--crossfade-msFalse0.0````Crossfade used for segment assembly in milliseconds (default: 0.0)src/pvx/cli/pvx_pipeline.py
--dedupe-byFalseoutput_path````Deduplication key (default: output_path)src/pvx/cli/pvx_augment.py
--deviceFalseautoauto, cuda, mps, cpu``Compute device (default: auto — CUDA > MPS > CPU)src/pvx/cli/pvx_augment.py
--disk-budgetFalse``````Total budget size (e.g., 500MB, 20GB, 2TiB). If omitted, use free space at --budget-path.src/pvx/cli/pvx_helpers.py
--dry-runFalse````store_truePlan manifest and filenames without rendering audiosrc/pvx/cli/pvx_augment.py
--durationFalse0.3````Synthetic input duration seconds (default: 0.30)src/pvx/cli/pvx_helpers.py
--emitFalsepitch_to_stretchpitch_map, stretch_map, pitch_to_stretch``Control map emit mode for the guide track (default: pitch_to_stretch)src/pvx/cli/pvx_pipeline.py
--engineFalseautoauto, pytorch, torchaudio, wavelet, pvx-cli``DSP engine for time-stretch and pitch-shift transforms. 'auto' prefers torchaudio > pytorch > pvx-cli. 'torchaudio' uses torchaudio.functional.phase_vocoder. 'pytorch' uses native PyTorch phase vocoder. 'wavelet' uses the experimental wavelet backend. 'pvx-cli' always uses subprocess. (default: auto)src/pvx/cli/pvx_augment.py
--exampleFalse``````Print follow example command(s) and exit. Use --example for basic or --example all for the full set.src/pvx/cli/pvx_pipeline.py
--fail-if-exceedsFalse````store_trueReturn non-zero when --requested-stretch does not fit the usable budget.src/pvx/cli/pvx_helpers.py
--feature-setFalseallnone, basic, advanced, all``Feature columns emitted by pitch tracker (default: all)src/pvx/cli/pvx_pipeline.py
--fmaxFalse1200.0````Maximum tracked f0 in Hzsrc/pvx/cli/pvx_pipeline.py
--fminFalse50.0````Minimum tracked f0 in Hzsrc/pvx/cli/pvx_pipeline.py
--frame-lengthFalse2048````Tracker frame length in samplessrc/pvx/cli/pvx_pipeline.py
--group-separatorFalse__````Separator used by stem-prefix grouping (default: '__')src/pvx/cli/pvx_augment.py
--groupingFalsestem-prefixnone, stem-prefix``Split-grouping strategy (default: stem-prefix). stem-prefix keeps variants from similarly named sources in one split.src/pvx/cli/pvx_augment.py
--hop-sizeFalse256````Tracker hop size in samplessrc/pvx/cli/pvx_pipeline.py
--intentFalseasr_robustasr_robust, mir_music, ssl_contrastive``Built-in augmentation intent profile when --pipeline-config is not given (default: asr_robust)src/pvx/cli/pvx_augment.py
--jsonFalse````store_trueEmit JSON outputsrc/pvx/cli/pvx_augment.py
--keep-intermediateFalse````store_trueKeep intermediate stage files after successful completionsrc/pvx/cli/pvx_pipeline.py
--label-policyFalseallow_alterallow_alter, preserve``Label perturbation policy (default: allow_alter)src/pvx/cli/pvx_augment.py
--labels-csvFalse``````Optional metadata CSV with path/label/speaker columns for balanced split modessrc/pvx/cli/pvx_augment.py
--manifest-csvFalse``````Optional CSV manifest path (default: /augment_manifest.csv)src/pvx/cli/pvx_augment.py
--manifest-jsonlFalse``````Optional JSONL manifest path (default: /augment_manifest.jsonl)src/pvx/cli/pvx_augment.py
--materialFalsemixmix, speech, vocal, drums, ambient``Material profile for pvx safe command generationsrc/pvx/cli/pvx_helpers.py
--max-length-sFalse30.0````Maximum file duration in seconds (default: 30.0)src/pvx/cli/pvx_augment.py
--mfcc-countFalse13````MFCC column count emitted by pitch tracker (default: 13)src/pvx/cli/pvx_pipeline.py
--modeFalsestatefulstateful, wrapper``Stream engine: stateful chunk processor (default) or wrapper compatibility modesrc/pvx/cli/pvx_pipeline.py
--no-audit-metricsFalse````store_falseDisable audit metric computationsrc/pvx/cli/pvx_augment.py
--no-progressFalse````store_trueSuppress progress messagessrc/pvx/cli/pvx_augment.py
--outTrue``````Output audio pathsrc/pvx/cli/pvx_helpers.py
--outputFalseoutput.wav````Output audio path (default: output.wav)src/pvx/cli/pvx_helpers.py
--output-csvFalse``````Optional merged CSV output pathsrc/pvx/cli/pvx_augment.py
--output-dirTrue``````Output directory for augmented filessrc/pvx/cli/pvx_augment.py
--output-formatFalsewavwav, flac, aiff, ogg, caf``Output format container (default: wav)src/pvx/cli/pvx_augment.py
--output-jsonlTrue``````Merged JSONL output pathsrc/pvx/cli/pvx_augment.py
--output-subtypeFalsePCM_16PCM_16, PCM_24, PCM_32, FLOAT``Output sample format (default: PCM_16)src/pvx/cli/pvx_augment.py
--output-suffixFalse_aug````Suffix appended before extension (default: _aug)src/pvx/cli/pvx_augment.py
--overwriteFalse````store_trueOverwrite existing outputssrc/pvx/cli/pvx_augment.py
--pair-modeFalseoffoff, contrastive2``Pair-view mode: off or two-view contrastive output (default: off)src/pvx/cli/pvx_augment.py
--pipelineTrue``````Pipeline string with stages separated by ''. Example: "voc --stretch 1.2
--pipeline-configFalse``````Optional YAML/JSON pipeline manifest (see pvx.augment.config.load_pipeline)src/pvx/cli/pvx_augment.py
--pitchFalse0.0````Smoke render pitch semitones (default: 0.0)src/pvx/cli/pvx_helpers.py
--pitch-conf-minFalse0.75````Minimum accepted map confidence for pvx voc (default: 0.75)src/pvx/cli/pvx_pipeline.py
--pitch-lowconf-modeFalseholdhold, unity, interp``Low-confidence handling mode in pvx voc (default: hold)src/pvx/cli/pvx_pipeline.py
--pitch-map-crossfade-msFalse20.0````Map segment crossfade in pvx voc (milliseconds, default: 20)src/pvx/cli/pvx_pipeline.py
--pitch-map-smooth-msFalse0.0````Additional map smoothing in pvx voc (milliseconds)src/pvx/cli/pvx_pipeline.py
--policyFalse``````Optional JSON policy file with augmentation defaults and bounds/choices overridessrc/pvx/cli/pvx_augment.py
--quietFalse````store_trueReduce logssrc/pvx/cli/pvx_augment.py
--ratio-maxFalse4.0````Maximum pitch_ratio clampsrc/pvx/cli/pvx_pipeline.py
--ratio-minFalse0.25````Minimum pitch_ratio clampsrc/pvx/cli/pvx_pipeline.py
--ratio-referenceFalsemedianmedian, mean, first, hz``Reference mode for pitch_ratio derivation in trackingsrc/pvx/cli/pvx_pipeline.py
--reference-hzFalse``````Reference Hz when --ratio-reference hzsrc/pvx/cli/pvx_pipeline.py
--requested-stretchFalse``````Optional stretch ratio to evaluate against the computed budget.src/pvx/cli/pvx_helpers.py
--resumeFalse````store_trueSkip already-rendered outputs found in existing manifest/output-dirsrc/pvx/cli/pvx_augment.py
--routeFalse[]``appendOptional pvx voc control route expression. Repeat to chain. Example: --route stretch=pitch_ratio --route pitch_ratio=const(1.0)src/pvx/cli/pvx_pipeline.py
--safety-marginFalse0.9````Usable fraction of budget in (0,1]; default: 0.90 (10%% headroom).src/pvx/cli/pvx_helpers.py
--sample-rateFalse24000````Synthetic input sample rate (default: 24000)src/pvx/cli/pvx_helpers.py
--seedFalse1337````Deterministic base seed (default: 1337)src/pvx/cli/pvx_augment.py
--silentFalse````store_trueSuppress logssrc/pvx/cli/pvx_augment.py
--smooth-framesFalse5````Smoothing window in framessrc/pvx/cli/pvx_pipeline.py
--splitFalse0.8,0.1,0.1````train,val,test split ratios (default: 0.8,0.1,0.1)src/pvx/cli/pvx_augment.py
--split-modeFalserandomrandom, label_balanced, speaker_balanced``Split assignment mode (default: random)src/pvx/cli/pvx_augment.py
--srFalse16000````Target sample rate (default: 16000)src/pvx/cli/pvx_augment.py
--stretchFalse1.25````Smoke render stretch factor (default: 1.25)src/pvx/cli/pvx_helpers.py
--stretch-fromFalsepitch_ratiopitch_ratio, inv_pitch_ratio, f0_hz``Source for deriving stretch in stretch-oriented emit modessrc/pvx/cli/pvx_pipeline.py
--stretch-maxFalse4.0````Upper clamp for derived stretchsrc/pvx/cli/pvx_pipeline.py
--stretch-minFalse0.25````Lower clamp for derived stretchsrc/pvx/cli/pvx_pipeline.py
--stretch-scaleFalse1.0````Scale factor for derived stretch tracksrc/pvx/cli/pvx_pipeline.py
--strictFalse````store_trueReturn non-zero on validation errorssrc/pvx/cli/pvx_augment.py
--strict-manifestFalse````store_trueReturn non-zero if manifest validation errors are foundsrc/pvx/cli/pvx_augment.py
--subtypeFalse``````Explicit libsndfile subtype assumption (e.g., PCM_16, PCM_24, FLOAT).src/pvx/cli/pvx_helpers.py
--variants-per-inputFalse3````Number of augmented outputs per input file (default: 3)src/pvx/cli/pvx_augment.py
--work-dirFalse``````Optional directory for intermediate stage filessrc/pvx/cli/pvx_pipeline.py
--workersFalse1````Parallel worker count for rendering (default: 1)src/pvx/cli/pvx_augment.py

pvxanalysis

FlagRequiredDefaultChoicesActionDescriptionSource
--analysis-channelFalse``````Channel index to analyze; -1 means all channels (default: -1)src/pvx/cli/pvxanalysis.py
--cuda-deviceFalse0````CUDA device index for --device cuda/auto (default: 0)src/pvx/cli/pvxanalysis.py
--deviceFalseautoauto, cpu, cuda``Compute device selection (default: auto)src/pvx/cli/pvxanalysis.py
--hop-sizeFalse512````Hop size (default: 512)src/pvx/cli/pvxanalysis.py
--jsonFalse````store_truePrint summary as JSONsrc/pvx/cli/pvxanalysis.py
--kaiser-betaFalse14.0````Kaiser beta when --window kaiser (default: 14.0)src/pvx/cli/pvxanalysis.py
--n-fftFalse2048````STFT FFT size (default: 2048)src/pvx/cli/pvxanalysis.py
--no-centerFalse````store_trueDisable centered framingsrc/pvx/cli/pvxanalysis.py
--outputFalse``````Output PVXAN path (default: .pvxan.npz)src/pvx/cli/pvxanalysis.py
--summary-jsonFalse``````Optional path to write summary JSONsrc/pvx/cli/pvxanalysis.py
--transformFalsefft````Transform backend (default: fft)src/pvx/cli/pvxanalysis.py
--win-lengthFalse2048````Window length (default: 2048)src/pvx/cli/pvxanalysis.py
--windowFalsehann````Window typesrc/pvx/cli/pvxanalysis.py

pvxcodec

FlagRequiredDefaultChoicesActionDescriptionSource
--bit-depthFalse2416, 24, 32, float``Output file bit depth (default: 24)src/pvx/cli/pvxcodec.py
--bitsFalse``````Bit depth for raw bit-crushing (4-16). Applied after codec if both specified.src/pvx/cli/pvxcodec.py
--codecFalse``mp3_low, mp3_medium, telephone, voip_narrow, voip_wide, am_radio, lo_fi, random``Codec preset to simulate (default: none — use --bits for raw bit-crush)src/pvx/cli/pvxcodec.py
--outputTrue``````Output audio filesrc/pvx/cli/pvxcodec.py
--seedFalse0````Random seed (default: 0)src/pvx/cli/pvxcodec.py

pvxconform

FlagRequiredDefaultChoicesActionDescriptionSource
--crossfade-msFalse8.0````Segment crossfade in millisecondssrc/pvx/cli/pvxconform.py
--mapTrue``````CSV map pathsrc/pvx/cli/pvxconform.py
--resample-modeFalseautoauto, fft, linear``src/pvx/cli/pvxconform.py

pvxdenoise

FlagRequiredDefaultChoicesActionDescriptionSource
--floorFalse0.1````Noise floor multipliersrc/pvx/cli/pvxdenoise.py
--noise-fileFalse``````Optional external noise referencesrc/pvx/cli/pvxdenoise.py
--noise-secondsFalse0.35````Noise profile duration from startsrc/pvx/cli/pvxdenoise.py
--reduction-dbFalse12.0````Reduction strength in dBsrc/pvx/cli/pvxdenoise.py
--smoothFalse5````Temporal smoothing framessrc/pvx/cli/pvxdenoise.py

pvxdeverb

FlagRequiredDefaultChoicesActionDescriptionSource
--decayFalse0.92````Tail memory decay 0..1src/pvx/cli/pvxdeverb.py
--floorFalse0.12````Per-bin floor multipliersrc/pvx/cli/pvxdeverb.py
--strengthFalse0.45````Tail suppression strength 0..1src/pvx/cli/pvxdeverb.py

pvxenvelope

FlagRequiredDefaultChoicesActionDescriptionSource
--amplitudeFalse1.0````Peak/depth/amplitude value (mode-dependent; periodic modes use this as waveform amplitude)src/pvx/cli/pvxenvelope.py
--attack-secFalse0.1````ADSR attack in secondssrc/pvx/cli/pvxenvelope.py
--centerFalse0.0````Start/center value (mode-dependent; for periodic modes this is the center/DC offset)src/pvx/cli/pvxenvelope.py
--cyclesFalse``````Waveform cycles across full duration (periodic modes)src/pvx/cli/pvxenvelope.py
--decay-secFalse0.2````ADSR decay in secondssrc/pvx/cli/pvxenvelope.py
--durationTrue``````Envelope duration in secondssrc/pvx/cli/pvxenvelope.py
--duty-cycleFalse0.5````Duty cycle in (0,1) for square mode (default: 0.5)src/pvx/cli/pvxenvelope.py
--endFalse0.0````End value for ADSR/ramp/exp modessrc/pvx/cli/pvxenvelope.py
--exp-curveFalse4.0````Exponential curve steepness for exp modesrc/pvx/cli/pvxenvelope.py
--formatFalseautocsv, json, auto``Output format (default: auto from extension or csv for stdout)src/pvx/cli/pvxenvelope.py
--freqFalse``````Waveform frequency in Hz for periodic modes (converted to cycles = frequency * duration)src/pvx/cli/pvxenvelope.py
--frequency-hzFalse``````Waveform frequency in Hz for periodic modes (converted to cycles = frequency * duration)src/pvx/cli/pvxenvelope.py
--keyFalsevalue````Output control column/key name (default: value)src/pvx/cli/pvxenvelope.py
--maxFalse``````Optional value clamp maximumsrc/pvx/cli/pvxenvelope.py
--minFalse``````Optional value clamp minimumsrc/pvx/cli/pvxenvelope.py
--modeFalseadsr````Envelope/LFO waveform modesrc/pvx/cli/pvxenvelope.py
--outFalse``````Output path. Default: stdout.src/pvx/cli/pvxenvelope.py
--outputFalse``````Output path. Default: stdout.src/pvx/cli/pvxenvelope.py
--peakFalse1.0````Peak/depth/amplitude value (mode-dependent; periodic modes use this as waveform amplitude)src/pvx/cli/pvxenvelope.py
--phaseFalse0.0````Initial waveform phase in radians for periodic modessrc/pvx/cli/pvxenvelope.py
--phase-radFalse0.0````Initial waveform phase in radians for periodic modessrc/pvx/cli/pvxenvelope.py
--rateFalse20.0````Control points per second (default: 20)src/pvx/cli/pvxenvelope.py
--release-secFalse0.2````ADSR release in secondssrc/pvx/cli/pvxenvelope.py
--sine-cyclesFalse``````Waveform cycles across full duration (periodic modes)src/pvx/cli/pvxenvelope.py
--sine-phase-radFalse0.0````Initial waveform phase in radians for periodic modessrc/pvx/cli/pvxenvelope.py
--startFalse0.0````Start/center value (mode-dependent; for periodic modes this is the center/DC offset)src/pvx/cli/pvxenvelope.py
--stdoutFalse````store_trueWrite map to stdoutsrc/pvx/cli/pvxenvelope.py
--sustainFalse0.7````Sustain value for ADSR modesrc/pvx/cli/pvxenvelope.py
--waveFalseadsr````Envelope/LFO waveform modesrc/pvx/cli/pvxenvelope.py

pvxfilter

FlagRequiredDefaultChoicesActionDescriptionSource
--band-gain-dbFalse6.0````Band boost amount for bandamp (dB)src/pvx/cli/pvxfilter.py
--band-width-binsFalse6````Band width in bins for bandampsrc/pvx/cli/pvxfilter.py
--comp-ratioFalse2.0````Compression ratio for spec-compandersrc/pvx/cli/pvxfilter.py
--comp-threshold-dbFalse``````Relative threshold for spec-compandersrc/pvx/cli/pvxfilter.py
--dry-mixFalse0.0````Dry signal mix amount in [0,1] (default: 0.0)src/pvx/cli/pvxfilter.py
--expand-ratioFalse1.2````Expansion ratio for spec-compandersrc/pvx/cli/pvxfilter.py
--noise-floorFalse1.0````Threshold scale for noisefiltersrc/pvx/cli/pvxfilter.py
--operatorFalse``````src/pvx/cli/pvxfilter.py
--peak-countFalse8````Number of response peaks for bandampsrc/pvx/cli/pvxfilter.py
--responseTrue``````Input PVXRF response artifactsrc/pvx/cli/pvxfilter.py
--response-gain-dbFalse0.0````Global response gain in dB (default: 0)src/pvx/cli/pvxfilter.py
--response-mixFalse1.0````Wet response mix amount (default: 1.0)src/pvx/cli/pvxfilter.py
--shift-binsFalse0````Shift response curve by FFT binssrc/pvx/cli/pvxfilter.py
--transpose-semitonesFalse0.0````Transpose response curve in semitonessrc/pvx/cli/pvxfilter.py
--tv-interpFalselinear````TV interpolation modesrc/pvx/cli/pvxfilter.py
--tv-keyFalseresponse_mix````Column/key in --tv-map (default: response_mix)src/pvx/cli/pvxfilter.py
--tv-mapFalse``````Optional CSV/JSON map for time-varying response_mixsrc/pvx/cli/pvxfilter.py
--tv-orderFalse3````Polynomial order for --tv-interp polynomialsrc/pvx/cli/pvxfilter.py

pvxformant

FlagRequiredDefaultChoicesActionDescriptionSource
--formant-lifterFalse32````src/pvx/cli/pvxformant.py
--formant-max-gain-dbFalse12.0````src/pvx/cli/pvxformant.py
--formant-shift-ratioFalse1.0````Formant ratio (>1 up, <1 down)src/pvx/cli/pvxformant.py
--modeFalseshiftshift, preserve``src/pvx/cli/pvxformant.py
--pitch-shift-centsFalse0.0````Additional microtonal pitch shift in cents before formant stagesrc/pvx/cli/pvxformant.py
--pitch-shift-semitonesFalse0.0````Optional pitch shift before formant stagesrc/pvx/cli/pvxformant.py
--resample-modeFalseautoauto, fft, linear``src/pvx/cli/pvxformant.py

pvxfreeze

FlagRequiredDefaultChoicesActionDescriptionSource
--durationFalse3.0````Output freeze duration in secondssrc/pvx/cli/pvxfreeze.py
--freeze-timeFalse0.2````Freeze anchor time in secondssrc/pvx/cli/pvxfreeze.py
--phase-modeFalseinstantaneousinstantaneous, bin, hold``Phase progression mode inside the frozen segment: instantaneous (default, least flutter), bin (bin-center), hold (no advance).src/pvx/cli/pvxfreeze.py
--random-phaseFalse````store_trueAdd subtle phase randomization per framesrc/pvx/cli/pvxfreeze.py

pvxgain

FlagRequiredDefaultChoicesActionDescriptionSource
--bit-depthFalse2416, 24, 32, float``Output bit depth (default: 24)src/pvx/cli/pvxgain.py
--gainFalse``````Gain in dB. Single value (fixed) or 'min,max' (random range). Mutually exclusive with --normalize.src/pvx/cli/pvxgain.py
--normalizeFalse``peak, rms``Normalization mode. Mutually exclusive with --gain.src/pvx/cli/pvxgain.py
--outputTrue``````Output audio filesrc/pvx/cli/pvxgain.py
--seedFalse0````Random seed (default: 0)src/pvx/cli/pvxgain.py
--targetFalse``````Target level in dBFS for normalization (default: -1.0)src/pvx/cli/pvxgain.py

pvxharmmap

FlagRequiredDefaultChoicesActionDescriptionSource
--attenuationFalse0.45````Chordmapper out-of-chord attenuation in [0,1]src/pvx/cli/pvxharmmap.py
--boost-dbFalse6.0````Chordmapper in-chord boost in dBsrc/pvx/cli/pvxharmmap.py
--chordFalsemajor````Chord quality for chordmappersrc/pvx/cli/pvxharmmap.py
--dry-mixFalse0.0````Dry signal mix in [0,1]src/pvx/cli/pvxharmmap.py
--inharmonic-f0-hzFalse220.0````Reference f0 for inharmonatorsrc/pvx/cli/pvxharmmap.py
--inharmonic-mixFalse1.0````Inharmonator mix in [0,1]src/pvx/cli/pvxharmmap.py
--inharmonicityFalse0.0001````Inharmonicity coefficient Bsrc/pvx/cli/pvxharmmap.py
--operatorFalse``````src/pvx/cli/pvxharmmap.py
--root-hzFalse220.0````Chord root frequency in Hzsrc/pvx/cli/pvxharmmap.py
--strengthFalse0.75````Chordmapper emphasis strength in [0,1]src/pvx/cli/pvxharmmap.py
--tolerance-centsFalse35.0````Chordmapper tolerance in centssrc/pvx/cli/pvxharmmap.py

pvxharmonize

FlagRequiredDefaultChoicesActionDescriptionSource
--force-stereoFalse````store_trueMix result as stereo with panningsrc/pvx/cli/pvxharmonize.py
--gainsFalse``````Optional comma-separated linear gain per voicesrc/pvx/cli/pvxharmonize.py
--intervalsFalse0,4,7````Comma-separated semitone intervals per voice (supports fractional values)src/pvx/cli/pvxharmonize.py
--intervals-centsFalse``````Optional cents offsets per voice, added to --intervals (e.g. 0,14,-12)src/pvx/cli/pvxharmonize.py
--pansFalse``````Optional comma-separated pan per voice [-1..1]src/pvx/cli/pvxharmonize.py
--resample-modeFalseautoauto, fft, linear``src/pvx/cli/pvxharmonize.py

pvxlayer

FlagRequiredDefaultChoicesActionDescriptionSource
--harmonic-gainFalse1.0````src/pvx/cli/pvxlayer.py
--harmonic-kernelFalse31````src/pvx/cli/pvxlayer.py
--harmonic-pitch-centsFalse0.0````src/pvx/cli/pvxlayer.py
--harmonic-pitch-semitonesFalse0.0````src/pvx/cli/pvxlayer.py
--harmonic-stretchFalse1.0````src/pvx/cli/pvxlayer.py
--percussive-gainFalse1.0````src/pvx/cli/pvxlayer.py
--percussive-kernelFalse31````src/pvx/cli/pvxlayer.py
--percussive-pitch-centsFalse0.0````src/pvx/cli/pvxlayer.py
--percussive-pitch-semitonesFalse0.0````src/pvx/cli/pvxlayer.py
--percussive-stretchFalse1.0````src/pvx/cli/pvxlayer.py
--resample-modeFalseautoauto, fft, linear``src/pvx/cli/pvxlayer.py

pvxmorph

FlagRequiredDefaultChoicesActionDescriptionSource
--alphaFalse0.5````Morph amount 0..1 (0=A, 1=B). Accepts scalar or control file (.csv/.json) for time-varying A->B trajectory morphing.src/pvx/cli/pvxmorph.py
--blend-modeFalselinear````Cross-synthesis blend style. linear/geometric are symmetric blends; carrier_* modes transfer envelope/mask from modulator to carrier.src/pvx/cli/pvxmorph.py
--envelope-lifterFalse32````Cepstral lifter cutoff for carrier_envelope modes (default: 32).src/pvx/cli/pvxmorph.py
--interpFalselinear````Interpolation mode for --alpha/--phase-mix control files (default: linear).src/pvx/cli/pvxmorph.py
--mask-exponentFalse1.0````Exponent used by carrier_mask modes (default: 1.0).src/pvx/cli/pvxmorph.py
--normalize-energyFalse````store_trueNormalize each output channel RMS toward alpha-blended input RMS.src/pvx/cli/pvxmorph.py
--orderFalse3````Polynomial order for --interp polynomial (default: 3). Accepts any integer >= 1; effective fit degree is min(order, control_points-1).src/pvx/cli/pvxmorph.py
--outputFalse``````Output file pathsrc/pvx/cli/pvxmorph.py
--output-formatFalse``````Output extension/format; for --stdout defaults to wavsrc/pvx/cli/pvxmorph.py
--overwriteFalse````store_truesrc/pvx/cli/pvxmorph.py
--phase-mixFalse``````Phase blend in [0,1]. If omitted, mode-specific defaults apply (A-phase for phase_a/carrier_a, B-phase for phase_b/carrier_b, alpha for symmetric modes). Accepts scalar or control file (.csv/.json).src/pvx/cli/pvxmorph.py
--stdoutFalse````store_trueWrite processed audio to stdout stream (for piping); equivalent to -o -src/pvx/cli/pvxmorph.py

pvxnoise

FlagRequiredDefaultChoicesActionDescriptionSource
--background-dirFalse``````Directory of background audio files to mix instead of synthetic noisesrc/pvx/cli/pvxnoise.py
--bandFalse300,4000````Low,high frequency band in Hz for bandlimited noise (default: 300,4000)src/pvx/cli/pvxnoise.py
--bit-depthFalse2416, 24, 32, float``Output bit depth (default: 24)src/pvx/cli/pvxnoise.py
--noise-typeFalsewhitewhite, pink, brown, gaussian, bandlimited``Noise type (default: white)src/pvx/cli/pvxnoise.py
--outputTrue``````Output audio filesrc/pvx/cli/pvxnoise.py
--seedFalse0````Random seed (default: 0)src/pvx/cli/pvxnoise.py
--snrFalse20````Signal-to-noise ratio in dB. Single value for fixed SNR or 'min,max' for uniform sampling. (default: 20)src/pvx/cli/pvxnoise.py

pvxreshape

FlagRequiredDefaultChoicesActionDescriptionSource
--exponentFalse1.0````Exponent for pow operationsrc/pvx/cli/pvxreshape.py
--factorFalse1.0````Scale factor for scale/time-scale opssrc/pvx/cli/pvxreshape.py
--formatFalseautoauto, csv, json``Output format (default: auto from --output suffix or csv for stdout)src/pvx/cli/pvxreshape.py
--input-formatFalseautoauto, csv, json``Input format override (default: auto by suffix or csv for stdin)src/pvx/cli/pvxreshape.py
--interpFalselinear````Interpolation modesrc/pvx/cli/pvxreshape.py
--keyFalsevalue````Control column/key to read (default: value)src/pvx/cli/pvxreshape.py
--maxFalse``````Maximum clamp valuesrc/pvx/cli/pvxreshape.py
--minFalse``````Minimum clamp valuesrc/pvx/cli/pvxreshape.py
--offsetFalse0.0````Offset for offset/time-shift opssrc/pvx/cli/pvxreshape.py
--operationTrue``````Reshape operationsrc/pvx/cli/pvxreshape.py
--orderFalse3````Polynomial order for --interp polynomialsrc/pvx/cli/pvxreshape.py
--outFalse``````Output file path. Default: stdout.src/pvx/cli/pvxreshape.py
--outputFalse``````Output file path. Default: stdout.src/pvx/cli/pvxreshape.py
--output-keyFalse``````Output control key. Default: same as --keysrc/pvx/cli/pvxreshape.py
--rateFalse20.0````Resample control rate (Hz) for resample operationsrc/pvx/cli/pvxreshape.py
--stdoutFalse````store_trueWrite reshaped map to stdoutsrc/pvx/cli/pvxreshape.py
--target-maxFalse1.0````Target maximum for normalize operationsrc/pvx/cli/pvxreshape.py
--target-minFalse0.0````Target minimum for normalize operationsrc/pvx/cli/pvxreshape.py
--windowFalse5````Window size for smooth operationsrc/pvx/cli/pvxreshape.py

pvxresponse

FlagRequiredDefaultChoicesActionDescriptionSource
--jsonFalse````store_truePrint summary as JSONsrc/pvx/cli/pvxresponse.py
--methodFalsemedian````Magnitude aggregation across frames (default: median)src/pvx/cli/pvxresponse.py
--normalizeFalsepeak````Magnitude normalization mode (default: peak)src/pvx/cli/pvxresponse.py
--outputFalse``````Output PVXRF path (default: .pvxrf.npz)src/pvx/cli/pvxresponse.py
--phase-modeFalsemean````Phase aggregation strategy (default: mean)src/pvx/cli/pvxresponse.py
--smoothing-binsFalse1````Moving-average smoothing width in bins (default: 1)src/pvx/cli/pvxresponse.py
--summary-jsonFalse``````Optional path to write summary JSONsrc/pvx/cli/pvxresponse.py

pvxretune

FlagRequiredDefaultChoicesActionDescriptionSource
--a4-reference-hzFalse440.0````Concert-pitch reference for A4 in Hz (default: 440.0)src/pvx/cli/pvxretune.py
--chunk-msFalse80.0````Analysis/process chunk duration in mssrc/pvx/cli/pvxretune.py
--f0-maxFalse1200.0````src/pvx/cli/pvxretune.py
--f0-minFalse60.0````src/pvx/cli/pvxretune.py
--overlap-msFalse20.0````Chunk overlap in mssrc/pvx/cli/pvxretune.py
--recommend-rootFalse````store_trueEstimate and use a per-file root fundamental from tracked F0.src/pvx/cli/pvxretune.py
--resample-modeFalseautoauto, fft, linear``src/pvx/cli/pvxretune.py
--rootFalseC````Scale root note (C,C#,D,...,B)src/pvx/cli/pvxretune.py
--root-hzFalse``````Optional root fundamental in Hz (overrides --root when provided).src/pvx/cli/pvxretune.py
--scaleFalsechromatic````Named scale for 12-TET quantizationsrc/pvx/cli/pvxretune.py
--scale-centsFalse``````Optional comma-separated microtonal scale degrees in cents within one octave, relative to --root (example: 0,90,204,294,408,498,612,702,816,906,1020,1110)src/pvx/cli/pvxretune.py
--strengthFalse0.85````Correction strength 0..1src/pvx/cli/pvxretune.py

pvxring

FlagRequiredDefaultChoicesActionDescriptionSource
--depthFalse1.0````Ring modulation depth in [0,1]src/pvx/cli/pvxring.py
--feedbackFalse0.0````Feedback amount in [0,1)src/pvx/cli/pvxring.py
--frequency-hzFalse40.0````Carrier frequency in Hzsrc/pvx/cli/pvxring.py
--mixFalse1.0````Ring wet mix in [0,1]src/pvx/cli/pvxring.py
--operatorFalse``````src/pvx/cli/pvxring.py
--resonance-decayFalse0.2````Resonator feedback/decay in [0,1)src/pvx/cli/pvxring.py
--resonance-hzFalse1200.0````Resonance center frequency (Hz)src/pvx/cli/pvxring.py
--resonance-mixFalse0.35````Resonator wet mix in [0,1]src/pvx/cli/pvxring.py
--resonance-qFalse8.0````Resonance quality factor Qsrc/pvx/cli/pvxring.py
--tv-interpFalselinear````TV interpolation modesrc/pvx/cli/pvxring.py
--tv-mapFalse``````CSV/JSON time-varying map for ringtvfiltersrc/pvx/cli/pvxring.py
--tv-orderFalse3````Polynomial order for --tv-interp polynomialsrc/pvx/cli/pvxring.py

pvxrir

FlagRequiredDefaultChoicesActionDescriptionSource
--bit-depthFalse2416, 24, 32, float``Output bit depth (default: 24)src/pvx/cli/pvxrir.py
--cache-dirFalse``````Cache directory for downloaded IR databases (default: ~/.pvx/ir_cache)src/pvx/cli/pvxrir.py
--categoryFalse``````Filter IRs by category when using --ir-database (e.g., hall, church, outdoor, room, large)src/pvx/cli/pvxrir.py
--drrFalse3,12````Direct-to-reverb ratio in dB. Single value or 'min,max' range (default: 3,12)src/pvx/cli/pvxrir.py
--ir-databaseFalse``````Use IRs from a curated database (auto-downloads on first use). Available: echothief, mit_kemarsrc/pvx/cli/pvxrir.py
--ir-dirFalse``````Directory of impulse response files (one is chosen randomly)src/pvx/cli/pvxrir.py
--ir-fileFalse``````Path to an impulse response WAV file (overrides synthetic generation)src/pvx/cli/pvxrir.py
--list-databasesFalseFalse``store_trueList available IR databases and exitsrc/pvx/cli/pvxrir.py
--no-trimFalse````store_trueDo not trim output to input length (include reverb tail)src/pvx/cli/pvxrir.py
--outputTrue``````Output audio filesrc/pvx/cli/pvxrir.py
--pre-delay-msFalse5.0````Pre-delay in ms before the reverberant tail (default: 5.0)src/pvx/cli/pvxrir.py
--rt60False0.2,1.5````Reverberation time in seconds. Single value or 'min,max' range (default: 0.2,1.5)src/pvx/cli/pvxrir.py
--seedFalse0````Random seed (default: 0)src/pvx/cli/pvxrir.py
--wetFalse0.3,0.7````Wet/dry mix 0-1. Single value or 'min,max' range (default: 0.3,0.7)src/pvx/cli/pvxrir.py

pvxspecaugment

FlagRequiredDefaultChoicesActionDescriptionSource
--bit-depthFalse2416, 24, 32, float``Output bit depth (default: 24)src/pvx/cli/pvxspecaugment.py
--fillFalse0````Fill value for masked regions: 0, mean, or a float (default: 0)src/pvx/cli/pvxspecaugment.py
--freq-maskFalse27````Maximum frequency mask width F in bins (default: 27)src/pvx/cli/pvxspecaugment.py
--hop-lengthFalse128````STFT hop length in samples (default: 128)src/pvx/cli/pvxspecaugment.py
--n-fftFalse512````FFT size (default: 512)src/pvx/cli/pvxspecaugment.py
--num-freq-masksFalse2````Number of frequency masks (default: 2)src/pvx/cli/pvxspecaugment.py
--num-time-masksFalse2````Number of time masks (default: 2)src/pvx/cli/pvxspecaugment.py
--outputTrue``````Output audio filesrc/pvx/cli/pvxspecaugment.py
--seedFalse0````Random seed (default: 0)src/pvx/cli/pvxspecaugment.py
--time-maskFalse100````Maximum time mask width T in frames (default: 100)src/pvx/cli/pvxspecaugment.py

pvxtrajectoryreverb

FlagRequiredDefaultChoicesActionDescriptionSource
--coord-systemFalsecartesiancartesian, spherical``Coordinate format for --start/--end (default: cartesian)src/pvx/cli/pvxtrajectoryreverb.py
--distance-lawFalseinversenone, inverse, inverse-square``Distance gain law applied across trajectory (default: inverse)src/pvx/cli/pvxtrajectoryreverb.py
--dryFalse0.0````Dry direct mix scalar (default: 0.0)src/pvx/cli/pvxtrajectoryreverb.py
--endTrue``````End position. Cartesian: x,y,z. Spherical: az_deg,el_deg,r.src/pvx/cli/pvxtrajectoryreverb.py
--irTrue``````Multichannel impulse response path (for example 4-channel room capture).src/pvx/cli/pvxtrajectoryreverb.py
--no-normalize-gainsFalse````store_falseDisable per-sample gain normalization.src/pvx/cli/pvxtrajectoryreverb.py
--normalize-gainsFalseTrue``store_trueNormalize per-sample channel gains before distance weighting (default: on)src/pvx/cli/pvxtrajectoryreverb.py
--speaker-anglesFalse``````Optional speaker layout azimuth/elevation list in degrees as "az,el;az,el;...". Count must match impulse-response channels.src/pvx/cli/pvxtrajectoryreverb.py
--startTrue``````Start position. Cartesian: x,y,z. Spherical: az_deg,el_deg,r.src/pvx/cli/pvxtrajectoryreverb.py
--trajectory-shapeFalselinearlinear, ease-in, ease-out, ease-in-out``Interpolation shape from start to end (default: linear)src/pvx/cli/pvxtrajectoryreverb.py
--wetFalse1.0````Wet reverb mix scalar (default: 1.0)src/pvx/cli/pvxtrajectoryreverb.py

pvxtransient

FlagRequiredDefaultChoicesActionDescriptionSource
--pitch-shift-centsFalse``````Optional microtonal pitch shift in cents (added to --pitch-shift-semitones)src/pvx/cli/pvxtransient.py
--pitch-shift-ratioFalse``````Pitch ratio override. Accepts decimals (1.5), integer ratios (3/2), and expressions (2^(1/12)).src/pvx/cli/pvxtransient.py
--pitch-shift-semitonesFalse0.0````src/pvx/cli/pvxtransient.py
--resample-modeFalseautoauto, fft, linear``src/pvx/cli/pvxtransient.py
--target-durationFalse``````Target duration in secondssrc/pvx/cli/pvxtransient.py
--time-stretchFalse1.0````src/pvx/cli/pvxtransient.py
--transient-thresholdFalse1.6````src/pvx/cli/pvxtransient.py

pvxunison

FlagRequiredDefaultChoicesActionDescriptionSource
--detune-centsFalse14.0````Total detune span in centssrc/pvx/cli/pvxunison.py
--dry-mixFalse0.2````Dry signal mix amountsrc/pvx/cli/pvxunison.py
--resample-modeFalseautoauto, fft, linear``src/pvx/cli/pvxunison.py
--voicesFalse5````Number of unison voicessrc/pvx/cli/pvxunison.py
--widthFalse1.0````Stereo width multiplier 0..2src/pvx/cli/pvxunison.py

pvxvoc

FlagRequiredDefaultChoicesActionDescriptionSource
--ambient-phase-mixFalse0.5````Random-phase blend when --phase-engine hybrid (0.0=propagated only, 1.0=random only; default: 0.5). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--ambient-presetFalse````store_trueConvenience preset for ambient extreme stretch (random phase engine, onset-time-credit, transient preserve, conservative staging).src/pvx/core/voc_parser.py
--analysis-channelFalsemixfirst, mix``Channel strategy for F0 estimation with --target-f0 (default: mix)src/pvx/core/voc_parser.py
--auto-profileFalse````store_trueAnalyze input and choose a profile automatically (speech/music/percussion/ambient/extreme).src/pvx/core/voc_parser.py
--auto-profile-lookahead-secondsFalse6.0````Seconds of audio used when estimating --auto-profile (default: 6.0).src/pvx/core/voc_parser.py
--auto-segment-secondsFalse0.0````Optional segment size in seconds for long jobs. When >0, processing runs per segment with crossfade assembly.src/pvx/core/voc_parser.py
--auto-transformFalse````store_trueAllow automatic transform selection when --transform is not explicitly set.src/pvx/core/voc_parser.py
--bit-depthFalseinherit````Output bit-depth policy (default: inherit). Ignored when --subtype is set.src/pvx/core/voc_parser.py
--centsFalse``````Pitch shift in cents (+1200 is one octave up). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--checkpoint-dirFalse``````Directory used to cache per-segment checkpoint chunks for resume workflows.src/pvx/core/voc_parser.py
--checkpoint-idFalse``````Optional checkpoint run identifier (default: hash of input/settings).src/pvx/core/voc_parser.py
--clipFalse````store_trueLegacy alias: hard clip at +/-1.0 when setsrc/pvx/core/voc.py
--coherence-strengthFalse0.0````Coherence lock strength in [0,1] (0=off, 1=full lock). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--compander-attack-msFalse8.0````Compander attack time in mssrc/pvx/core/voc.py
--compander-compress-ratioFalse3.0````Compander compression ratio (>=1)src/pvx/core/voc.py
--compander-expand-ratioFalse1.8````Compander expansion ratio (>=1)src/pvx/core/voc.py
--compander-makeup-dbFalse0.0````Compander makeup gain in dBsrc/pvx/core/voc.py
--compander-release-msFalse120.0````Compander release time in mssrc/pvx/core/voc.py
--compander-threshold-dbFalse``````Enable compander threshold in dBFSsrc/pvx/core/voc.py
--compressor-attack-msFalse10.0````Compressor attack time in mssrc/pvx/core/voc.py
--compressor-makeup-dbFalse0.0````Compressor makeup gain in dBsrc/pvx/core/voc.py
--compressor-ratioFalse4.0````Compressor ratio (>=1)src/pvx/core/voc.py
--compressor-release-msFalse120.0````Compressor release time in mssrc/pvx/core/voc.py
--compressor-threshold-dbFalse``````Enable compressor above threshold dBFSsrc/pvx/core/voc.py
--control-stdinFalse````store_trueAlias for --pitch-map-stdin (canonical control-bus CSV stdin path).src/pvx/core/voc_parser.py
--cpuFalse````store_trueAlias for --device cpu.src/pvx/core/voc_parser.py
--cuda-deviceFalse0````CUDA device index used when --device is auto/cuda (default: 0)src/pvx/core/voc.py
--deviceFalseautoauto, cpu, cuda``Compute device: auto (prefer CUDA), cpu, or cudasrc/pvx/core/voc.py
--ditherFalsenone````Dither policy before quantized writes (default: none)src/pvx/core/voc_parser.py
--dither-seedFalse``````Deterministic RNG seed for dithering (default: random seed)src/pvx/core/voc_parser.py
--dry-runFalse````store_trueResolve settings without writing filessrc/pvx/core/voc_parser.py
--exampleFalse``````Print copy-paste example command(s) and exit.src/pvx/core/voc_parser.py
--expander-attack-msFalse5.0````Expander attack time in mssrc/pvx/core/voc.py
--expander-ratioFalse2.0````Expander ratio (>=1)src/pvx/core/voc.py
--expander-release-msFalse120.0````Expander release time in mssrc/pvx/core/voc.py
--expander-threshold-dbFalse``````Enable downward expander below threshold dBFSsrc/pvx/core/voc.py
--explain-planFalse````store_truePrint resolved processing plan JSON and exit without rendering audio.src/pvx/core/voc_parser.py
--extreme-stretch-thresholdFalse2.0````Auto-mode threshold for multistage activation (default: 2.0). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--extreme-time-stretchFalse````store_trueForce multistage strategy even when ratio is moderate.src/pvx/core/voc_parser.py
--f0-maxFalse1000.0````Maximum F0 search bound in Hz (default: 1000)src/pvx/core/voc_parser.py
--f0-minFalse50.0````Minimum F0 search bound in Hz (default: 50)src/pvx/core/voc_parser.py
--forceFalse````store_trueOverwrite existing outputs and other write targetssrc/pvx/core/voc_parser.py
--formant-lifterFalse32````Cepstral lifter cutoff for formant envelope extraction (default: 32). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--formant-max-gain-dbFalse12.0````Max per-bin formant correction gain in dB (default: 12). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--formant-strengthFalse1.0````Formant correction blend 0..1 when pitch mode is formant-preserving (default: 1.0). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--fourier-syncFalse````store_trueEnable fundamental frame locking. Uses generic short-time Fourier transforms with per-frame FFT sizes locked to detected F0.src/pvx/core/voc_parser.py
--fourier-sync-max-fftFalse8192````Maximum frame FFT size for --fourier-sync (default: 8192). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--fourier-sync-min-fftFalse256````Minimum frame FFT size for --fourier-sync (default: 256). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--fourier-sync-smoothFalse5````Smoothing span (frames) for prescanned F0 track in --fourier-sync (default: 5). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--gpuFalse````store_trueAlias for --device cuda.src/pvx/core/voc_parser.py
--guidedFalse````store_trueInteractive guided mode for first-time users.src/pvx/core/voc_parser.py
--hard-clip-levelFalse``````Hard clip level in linear full-scalesrc/pvx/core/voc.py
--hop-sizeFalse512````Hop size in samples (default: 512). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--interpFalselinear````Interpolation mode for time-varying control signals loaded from CSV/JSON (default: linear).src/pvx/core/voc_parser.py
--kaiser-betaFalse14.0````Kaiser window beta parameter used when --window kaiser (default: 14.0). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--limiter-thresholdFalse``````Peak limiter threshold in linear full-scalesrc/pvx/core/voc.py
--manifest-appendFalse````store_trueAppend entries to an existing --manifest-json file instead of replacing it.src/pvx/core/voc_parser.py
--manifest-jsonFalse``````Write processing manifest JSON with per-file settings and outcomes.src/pvx/core/voc_parser.py
--max-stage-stretchFalse1.8````Maximum per-stage ratio used in multistage mode (default: 1.8). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--metadata-policyFalsenone````Output metadata policy: none, sidecar, or copy (sidecar implementation)src/pvx/core/voc_parser.py
--multires-fftsFalse1024,2048,4096````Comma-separated FFT sizes for --multires-fusion (default: 1024,2048,4096)src/pvx/core/voc_parser.py
--multires-fusionFalse````store_trueBlend multiple FFT resolutions for each channel before pitch resampling.src/pvx/core/voc_parser.py
--multires-weightsFalse``````Comma-separated fusion weights for --multires-fusion (defaults to equal weights).src/pvx/core/voc_parser.py
--n-fftFalse2048````FFT size (default: 2048). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--no-centerFalse````store_trueDisable center padding in STFT/ISTFTsrc/pvx/core/voc_parser.py
--no-onset-realignFalse````store_trueDisable fractional read-position realignment on onsets when --onset-time-credit is enabled.src/pvx/core/voc_parser.py
--no-progressFalse````store_truesrc/pvx/core/voc_console.py
--normalizeFalsenonenone, peak, rms``Output normalization modesrc/pvx/core/voc.py
--onset-credit-maxFalse8.0````Maximum accumulated onset time credit in analysis-frame units (default: 8.0). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--onset-credit-pullFalse0.5````Fraction of per-frame read advance removable while onset credit exists (0.0..1.0, default: 0.5). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--onset-time-creditFalse````store_trueEnable onset-triggered time-credit scheduling to reduce transient smear during extreme stretching.src/pvx/core/voc_parser.py
--orderFalse3````Polynomial order for --interp polynomial (default: 3). Accepts any integer >= 1; effective fit degree is min(order, control_points-1).src/pvx/core/voc_parser.py
--outFalse``````Explicit output file path (single-input mode only). Alias: --outsrc/pvx/core/voc_parser.py
--outputFalse``````Explicit output file path (single-input mode only). Alias: --outsrc/pvx/core/voc_parser.py
--output-dirFalse``````Directory for output files (default: same directory as each input)src/pvx/core/voc_parser.py
--output-formatFalse``````Output format/extension (e.g. wav, flac, aiff). Default: keep input extension.src/pvx/core/voc_parser.py
--overwriteFalse````store_trueOverwrite existing outputs and other write targetssrc/pvx/core/voc_parser.py
--peak-dbfsFalse``````Target peak dBFS when --normalize peaksrc/pvx/core/voc.py
--phase-engineFalsepropagate````Phase synthesis engine: propagate (classic phase vocoder), hybrid (propagated + stochastic blend), random (ambient stochastic phase).src/pvx/core/voc_parser.py
--phase-lockingFalseidentityoff, identity``Inter-bin phase locking mode for transient fidelity (default: identity)src/pvx/core/voc_parser.py
--phase-random-seedFalse``````Optional deterministic seed for random/hybrid phase generation.src/pvx/core/voc_parser.py
--pitchFalse``````Pitch shift in semitones (+12 is one octave up). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--pitch-conf-minFalse0.0````Minimum accepted map confidence (default: 0 disables gating).src/pvx/core/voc_parser.py
--pitch-follow-stdinFalse````store_trueShortcut for --pitch-map-stdin (sidechain pitch-follow workflows).src/pvx/core/voc_parser.py
--pitch-lowconf-modeFalseholdhold, unity, interp``Low-confidence map handling mode (default: hold).src/pvx/core/voc_parser.py
--pitch-mapFalse``````CSV control map for time-varying stretch/pitch. Columns: start_sec,end_sec plus optional stretch,pitch_ratio/pitch_cents/pitch_semitones,confidence. Use '-' to read from stdin.src/pvx/core/voc_parser.py
--pitch-map-crossfade-msFalse8.0````Crossfade between processed map segments in milliseconds (default: 8.0).src/pvx/core/voc_parser.py
--pitch-map-smooth-msFalse0.0````Moving-average smoothing over map pitch ratios in milliseconds.src/pvx/core/voc_parser.py
--pitch-map-stdinFalse````store_trueRead control-map CSV from stdin.src/pvx/core/voc_parser.py
--pitch-modeFalsestandardstandard, formant-preserving``Pitch mode: standard shift or formant-preserving correction (default: standard)src/pvx/core/voc_parser.py
--pitch-shift-centsFalse``````Pitch shift in cents (+1200 is one octave up). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--pitch-shift-ratioFalse``````Pitch ratio (>1 up, <1 down). Accepts decimals (1.5), integer ratios (3/2), expressions (2^(1/12)), or a control file (.csv/.json).src/pvx/core/voc_parser.py
--pitch-shift-semitonesFalse``````Pitch shift in semitones (+12 is one octave up). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--presetFalsenone````High-level intent preset. Legacy: none/vocal/ambient/extreme. New: default/vocal_studio/drums_safe/extreme_ambient/stereo_coherent.src/pvx/core/voc_parser.py
--quality-profileFalseneutral````Named tuning profile for vocoder defaults (default: neutral)src/pvx/core/voc_parser.py
--quietFalse````store_trueReduce output and hide status barssrc/pvx/core/voc_console.py
--ratioFalse``````Pitch ratio (>1 up, <1 down). Accepts decimals (1.5), integer ratios (3/2), expressions (2^(1/12)), or a control file (.csv/.json).src/pvx/core/voc_parser.py
--ref-channelFalse0````Reference channel index used by --stereo-mode ref_channel_lock (default: 0).src/pvx/core/voc_parser.py
--resample-modeFalseautoauto, fft, linear``Resampling engine (auto=fft if scipy available, else linear)src/pvx/core/voc_parser.py
--resumeFalse````store_trueReuse existing checkpoint chunks from --checkpoint-dir when available.src/pvx/core/voc_parser.py
--rms-dbfsFalse``````Target RMS dBFS when --normalize rmssrc/pvx/core/voc.py
--routeFalse[]``appendControl-bus routing expression for map rows. Repeat flag to chain routes. Syntax: target=source, target=const(v), target=inv(source), target=pow(source,exp), target=mul(source,factor), target=add(source,offset), target=affine(source,scale,bias), target=clip(source,lo,hi). Targets: stretch,pitch_ratio. Sources: any numeric column present in the control-map CSV.src/pvx/core/voc_parser.py
--semitonesFalse``````Pitch shift in semitones (+12 is one octave up). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--silentFalse````store_trueSuppress all console outputsrc/pvx/core/voc_console.py
--soft-clip-driveFalse1.0````Soft clip drive amount (>0)src/pvx/core/voc.py
--soft-clip-levelFalse``````Soft clip output ceiling in linear full-scalesrc/pvx/core/voc.py
--soft-clip-typeFalsetanhtanh, arctan, cubic``Soft clip transfer typesrc/pvx/core/voc.py
--stdoutFalse````store_trueWrite processed audio to stdout stream (for piping); requires exactly one inputsrc/pvx/core/voc_parser.py
--stereo-modeFalseindependentindependent, mid_side_lock, ref_channel_lock``Channel coherence strategy: independent (legacy), mid_side_lock (M/S-coupled), ref_channel_lock (phase-lock to reference channel).src/pvx/core/voc_parser.py
--stretchFalse``````Alias for --time-stretch. Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--stretch-modeFalseautoauto, standard, multistage``Stretch strategy: standard (single pass), multistage (chained moderate passes), or auto (multistage only for extreme ratios; default: auto).src/pvx/core/voc_parser.py
--subtypeFalse``````Explicit libsndfile output subtype override (e.g., PCM_16, PCM_24, FLOAT)src/pvx/core/voc_parser.py
--suffixFalse_pv````Suffix appended to output filename stem (default: _pv)src/pvx/core/voc_parser.py
--target-durationFalse``````Absolute target duration in seconds (overrides --time-stretch)src/pvx/core/voc_parser.py
--target-f0False``````Target fundamental frequency in Hz. Auto-estimates source F0 per file.src/pvx/core/voc_parser.py
--target-lufsFalse``````Integrated loudness target in LUFSsrc/pvx/core/voc.py
--target-pitch-shift-semitonesFalse``````Pitch shift in semitones (+12 is one octave up). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--target-sample-rateFalse``````Output sample rate in Hz (default: keep input rate)src/pvx/core/voc_parser.py
--time-stretchFalse1.0````Final duration multiplier (1.0=unchanged, 2.0=2x longer). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--time-stretch-factorFalse1.0````Final duration multiplier (1.0=unchanged, 2.0=2x longer). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--transformFalsefft````Per-frame transform backend for STFT/ISTFT paths (default: fft; options: fft, dft, czt, dct, dst, hartley)src/pvx/core/voc_parser.py
--transient-crossfade-msFalse10.0````Crossfade duration for transient/steady stitching (default: 10 ms). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--transient-modeFalseoffoff, reset, hybrid, wsola``Transient handling mode: off (none), reset (phase reset), hybrid (PV steady + WSOLA transients), or wsola (time-domain transient-safe path).src/pvx/core/voc_parser.py
--transient-preserveFalse````store_trueEnable transient phase resets based on spectral fluxsrc/pvx/core/voc_parser.py
--transient-protect-msFalse30.0````Transient protection width in milliseconds (default: 30). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--transient-sensitivityFalse0.5````Transient detector sensitivity in [0,1] (higher catches more onsets). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--transient-thresholdFalse2.0````Spectral-flux multiplier for transient detection (default: 2.0). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--true-peak-max-dbtpFalse``````Apply output gain trim to enforce max true-peak in dBTPsrc/pvx/core/voc_parser.py
--verboseFalse0``countIncrease verbosity (repeat for extra detail)src/pvx/core/voc_console.py
--verbosityFalsenormal````Console verbosity levelsrc/pvx/core/voc_console.py
--win-lengthFalse2048````Window length in samples (default: 2048). Accepts scalar or control file (.csv/.json).src/pvx/core/voc_parser.py
--windowFalsehann````Window type (default: hann)src/pvx/core/voc_parser.py

pvxwarp

FlagRequiredDefaultChoicesActionDescriptionSource
--crossfade-msFalse8.0````src/pvx/cli/pvxwarp.py
--mapTrue``````CSV map with start_sec,end_sec,stretchsrc/pvx/cli/pvxwarp.py
--resample-modeFalseautoauto, fft, linear``src/pvx/cli/pvxwarp.py

Attribution

See ATTRIBUTION.md.