Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
analyze_contrastA

Analyze the contrast between foreground and background audio. Select a region first. Useful for checking accessibility compliance (WCAG).

analyze_find_clippingA

Find clipping in the selected audio and create labels at clipped regions.

Args: duty_cycle_start: Min number of consecutive clipped samples to detect (1-1000, default 3) duty_cycle_end: Min number of consecutive non-clipped samples to end a region (1-1000, default 3)

analyze_plot_spectrumA

Open the Plot Spectrum window for the selected audio. Select a region first.

analyze_beat_finderA

Find beats in the selected audio and add labels at beat positions.

Args: thres_val: Beat detection threshold (0-100, lower = more sensitive). Default: 65

analyze_label_soundsA

Automatically label regions of sound separated by silence.

A good starting point for segmenting a long recording: label every passage of sound, or with label_type="between" label the silences instead so they can be trimmed with label_delete_regions.

measurement, label_type, pre_offset, post_offset and label_text are new and not yet independently live-tested against a running Audacity — verified against the scripting reference and unit tests with mocked responses only. threshold_db/min_silence_duration/min_sound_duration predate this and are unaffected.

Args: threshold_db: Volume threshold to distinguish sound from silence (dB). Default: -30 min_silence_duration: Minimum duration of silence between sounds (seconds). Default: 0.5 min_sound_duration: Minimum duration of a sound region (seconds). Default: 0.1 measurement: How level is measured — peak, avg or rms. Default: peak label_type: What to label — before, after, around or between the sounds. Default: before pre_offset: Seconds to extend each label before the sound starts. Default: 0 post_offset: Seconds to extend each label after the sound ends. Default: 0 label_text: Text for each label. Default: Audacity's own default

analyze_sample_data_exportB

Export raw sample data from the selected audio to a text file for analysis.

Args: path: Absolute path for the output file limit: Maximum number of samples to export. Default: 100

get_noise_profileA

Capture a noise profile from the currently selected audio region. IMPORTANT: Select a region of pure noise (e.g. 0.5-2 seconds of silence/background noise) before calling this. This profile is used by the noise_reduction tool.

How it works: The first call to NoiseReduction without an existing profile captures the selection as the noise profile. The next call applies reduction.

noise_reductionA

Apply noise reduction to the selected audio. You MUST call get_noise_profile first on a region of pure noise, then select the audio you want to clean, then call this.

WARNING: Values above 20 dB risk audible artifacts (warbling, metallic sound). Use 6-12 dB for gentle cleanup, 12-20 dB for moderate noise. Only exceed 20 dB for extremely noisy recordings where some artifact trade-off is acceptable.

Args: noise_reduction_db: Amount of noise reduction in dB (0-48). Default: 12 sensitivity: How sensitive the detection is (0-24). Default: 6 frequency_smoothing: Number of frequency smoothing bands (0-12). Default: 3

normalizeA

Normalize the selected audio to a target peak level.

WARNING: This boosts OR reduces audio to hit the target. If audio peaks at -30 dB and you normalize to -1 dB, it will BOOST by 29 dB — potentially blowing out the audio. ALWAYS check current audio levels first (use project_get_info) before normalizing.

Guidelines — choose your target based on what comes next:

  • -3 dB (default): Safe general-purpose level with headroom for further processing

  • -6 dB: Conservative, good for unknown or problematic audio

  • -1 dB: ONLY as a final ceiling on already-mastered audio (never on raw audio)

  • -12 dB or lower: For very quiet audio that needs gentle boosting

Args: peak_level_db: Target peak level in dB (-60 to 0). Default: -3.0 remove_dc: Remove DC offset before normalizing. Default: True stereo_independent: Normalize L/R channels separately (fixes unbalanced recordings). Default: False

click_removalA

Remove clicks and pops from the selected audio (e.g. vinyl recordings).

Args: threshold: Click detection threshold (0-900). Higher = fewer clicks removed. Default: 200 spike_width: Maximum width of a click in samples (0-40). Default: 20

truncate_silenceA

Truncate or compress silence in the selected audio. Great for removing dead air.

Args: threshold_db: Volume below this is considered silence (dB). Default: -40 min_duration: Minimum silence duration to act on (seconds). Default: 0.5 truncate_to: Truncate silence to this duration (seconds). Default: 0.3 compress_percent: Compress silence by this percentage (only for Compress action). Default: 50 action: "Truncate" or "Compress". Default: "Truncate"

compressorA

Apply dynamic range compression. Evens out volume differences.

For mastering, use ratio 1.5-2:1 with attack > 80ms to preserve transients. For podcasts/voice, use ratio 4-8:1 with use_peak=True for tighter control. Higher ratios (4:1+) and fast attacks are mixing tools, not mastering tools.

WARNING: normalize=True will re-peak your audio to 0 dB after compression, which can make loud audio even louder. Use loudness_normalize() instead for proper LUFS-based loudness control.

Args: threshold_db: Level above which compression starts (dB). Default: -12 noise_floor_db: Level below which audio is not boosted (dB). Default: -40 ratio: Compression ratio (e.g. 2.0 = 2:1). Default: 2.0 attack_time: How fast compressor engages (seconds). Default: 0.2 release_time: How fast compressor releases (seconds). Default: 1.0 normalize: Normalize to 0dB peak after compression. Default: False use_peak: Compress based on peaks instead of RMS (better for voice/podcast). Default: False

limiterA

Apply a limiter to prevent audio from exceeding a threshold. Use after compression.

Default ceiling is -1.0 dB, the industry standard for streaming platforms.

Args: limit_db: Maximum output level (dB). Default: -1.0 hold_ms: Hold time in milliseconds. Default: 10.0 makeup_gain: Apply makeup gain ("Yes" or "No"). Default: "No" limiter_type: "SoftLimit", "HardLimit", "SoftClip", "HardClip". Default: "SoftLimit" gain_left: Input gain for left channel (dB). Default: 0.0 gain_right: Input gain for right channel (dB). Default: 0.0

loudness_normalizeA

Normalize audio to a target perceived loudness in LUFS.

DANGER — READ BEFORE USING: This tool can DESTROY audio if used incorrectly. It boosts OR reduces audio to hit the target LUFS. On quiet or poorly recorded audio, it may boost by 20-30 dB, causing severe clipping and distortion that ruins the file.

DO NOT use this tool:

  • Right after a pipeline (pipelines already handle loudness safely)

  • On raw/unprocessed audio (clean it up first)

  • Without first running auto_analyze_audio to check current levels

  • If the audio peaks below -20 dB (it's too quiet — use normalize first to gently raise levels)

ONLY use this tool when the user EXPLICITLY asks for LUFS normalization AND the audio has already been processed and has healthy levels (peaks between -6 dB and -1 dB).

Targets (only use these values):

  • -16 LUFS: Podcast, broadcast, Apple Music

  • -14 LUFS: Spotify, YouTube, most streaming

  • -11 LUFS: Loud masters (hip-hop/EDM)

Args: lufs_level: Target loudness in LUFS (-50 to -5). Default: -16.0 stereo_independent: Normalize L/R channels independently. Default: False dual_mono: Treat mono as dual-mono for correct LUFS measurement. Default: True

check_pipeline_statusA

Check the status of a running pipeline. Call this after starting any auto_ pipeline to monitor progress. Poll every 15-30 seconds.

Args: job_id: The job ID returned by any auto_ pipeline tool

auto_analyze_audioA

Analyze the current audio track and recommend the best pipeline to use. This is SYNCHRONOUS — it returns the analysis directly, no job_id needed.

Returns peak level, estimated noise floor, duration, clipping status, and a recommendation for which auto_ pipeline to use next.

IMPORTANT: Load your audio into Audacity before calling this.

auto_cleanup_audioA

SAFE CLEANUP: Remove noise and artifacts WITHOUT changing loudness or dynamics. Use this when audio levels are already good and you just want to clean it up. Runs in background — returns a job_id immediately. Use check_pipeline_status to monitor.

Pipeline: DC offset removal > HPF 80Hz > noise reduction (opt) > click removal (opt) NO compression, NO normalize, NO LUFS. Just clean.

Args: remove_noise: Apply noise reduction using first 0.5s as noise profile. Default: True remove_clicks: Remove clicks/pops (useful for vinyl/old recordings). Default: False

IMPORTANT: If remove_noise is True, the first 0.5 seconds should be room tone / silence. DO NOT call this again if a pipeline is already running — use check_pipeline_status instead.

auto_cleanup_podcastA

ONE-CLICK PODCAST CLEANUP: Professional broadcast-quality processing. Runs in background — returns a job_id immediately. Use check_pipeline_status to monitor. Safe for badly recorded audio — only reduces peaks if too hot, never boosts.

Pipeline: DC offset > HPF 80Hz > NR 12dB > compress 3:1 (30ms attack, 200ms release) > safe loudness check. Optional: noise reduction (on by default), silence truncation (off by default).

After the pipeline finishes, the user can manually apply LUFS normalization using the loudness_normalize tool if they want to hit a specific streaming target.

Args: remove_noise: Apply noise reduction using first 0.5s as noise profile. Default: True remove_silence: Truncate long silences/dead air. Default: False

IMPORTANT: If remove_noise is True, the first 0.5 seconds should be room tone / silence. DO NOT call this again if a pipeline is already running — use check_pipeline_status instead.

auto_audiobook_masteringA

ONE-CLICK AUDIOBOOK MASTERING: ACX/Audible compliant processing. Runs in background — returns a job_id immediately. Use check_pipeline_status to monitor.

Pipeline: DC offset > HPF 80Hz > noise reduction 12dB > compression 2.5:1 > RMS -20dB > peak cap -3.5dB Meets ACX requirements: RMS -23 to -18 dB, peaks below -3 dB (capped at -3.5 for safety margin), noise floor below -60 dB.

Args: remove_noise: Apply noise reduction using first 0.5s as noise profile. Default: True

IMPORTANT: If remove_noise is True, the first 0.5 seconds should be room tone / silence. DO NOT call this again if a pipeline is already running — use check_pipeline_status instead.

auto_cleanup_interviewA

ONE-CLICK INTERVIEW CLEANUP: Light-touch processing for dialogue and multiple speakers. Runs in background — returns a job_id immediately. Use check_pipeline_status to monitor.

Pipeline: DC offset > HPF 80Hz > noise reduction 8dB > compression 2.5:1 > safe loudness check. Lighter than podcast — preserves natural conversation dynamics.

Args: remove_noise: Apply noise reduction using first 0.5s as noise profile. Default: True remove_silence: Truncate long silences. Default: False

IMPORTANT: If remove_noise is True, the first 0.5 seconds should be room tone / silence. DO NOT call this again if a pipeline is already running — use check_pipeline_status instead.

auto_cleanup_vocalA

ONE-CLICK VOCAL CLEANUP: Professional processing for singing and studio vocals. Runs in background — returns a job_id immediately. Use check_pipeline_status to monitor.

Pipeline: DC offset > HPF 100Hz > noise reduction 10dB > compression 3:1 > presence EQ > safe loudness check. Tuned for singing — presence boost for clarity, higher HPF for plosive removal.

Args: remove_noise: Apply noise reduction using first 0.5s as noise profile. Default: True

IMPORTANT: If remove_noise is True, the first 0.5 seconds should be room tone / silence. DO NOT call this again if a pipeline is already running — use check_pipeline_status instead.

auto_cleanup_liveA

ONE-CLICK LIVE RECORDING CLEANUP: Aggressive processing for noisy/field recordings. Runs in background — returns a job_id immediately. Use check_pipeline_status to monitor.

Pipeline: DC offset > HPF 100Hz > click removal > noise reduction 12dB > compression 5:1 > safe loudness check. Designed for live performances, field recordings, and noisy environments. Noise reduction is always on at 12dB — max safe level before artifacts appear.

IMPORTANT: The first 0.5 seconds MUST be room tone / ambient noise for noise profiling. DO NOT call this again if a pipeline is already running — use check_pipeline_status instead.

auto_master_musicA

ONE-CLICK MUSIC MASTERING: Professionally master your music track with genre-tuned settings. Runs in background — returns a job_id immediately. Use check_pipeline_status to monitor.

Pipeline:

  1. High-pass filter (remove sub-rumble)

  2. Click removal (clean artifacts)

  3. Noise reduction (optional, off by default for produced music)

  4. Compression (genre-tuned, mastering-grade, no post-normalize)

  5. Bass/treble sweetening (gentle, genre-tuned)

  6. Safe loudness check (only reduces peaks if too hot, never boosts)

Args: style: Genre preset - "edm", "hiphop", "rock", "acoustic", "pop", "classical". Default: "edm" noise_reduce: Apply gentle noise reduction. Default: False DO NOT call this again if a pipeline is already running — use check_pipeline_status instead.

auto_lofi_effectA

CREATIVE LO-FI EFFECT: Apply a vintage/lo-fi sound to your audio. Runs in background — returns a job_id immediately. Use check_pipeline_status to monitor.

Pipeline: HPF > LPF > bass/treble warmth > compression 2:1 > safe loudness check Creates that warm, muffled, vintage sound by cutting highs and boosting low-mids.

Args: intensity: "light" (subtle warmth), "medium" (classic lo-fi), "heavy" (extreme tape sound). Default: "medium"

DO NOT call this again if a pipeline is already running — use check_pipeline_status instead.

edit_cutA

Cut the selected audio to clipboard. Select a region first.

edit_copyA

Copy the selected audio to clipboard. Select a region first.

edit_pasteA

Paste audio from clipboard at the cursor position.

edit_deleteA

Delete the selected audio (does not copy to clipboard). Select a region first.

edit_split_newA

Split the selected audio into a new track at the selection boundaries.

edit_splitA

Split the clip at the cursor position or selection boundaries (in place, no new track).

edit_split_cutA

Cut the selected audio without closing the gap (leaves silence where audio was).

edit_split_deleteA

Delete the selected audio without closing the gap (leaves silence where audio was).

edit_disjoinA

Split the selected audio at detected silences, creating separate clips.

edit_joinB

Join selected clips into one clip.

edit_trimA

Trim audio outside the selection (delete everything except selected region).

edit_silenceA

Replace the selected audio with silence.

edit_duplicateB

Duplicate the selected audio into a new track.

effect_amplifyA

Amplify the selected audio by a ratio. Select audio first.

Args: ratio: Amplification ratio (e.g. 1.5 = 150%, 0.5 = 50%). Must be > 0. Default: 1.0

effect_fade_inA

Apply a fade-in to the selected audio. Select the region to fade first.

effect_fade_outB

Apply a fade-out to the selected audio. Select the region to fade first.

effect_reverbB

Apply reverb effect to the selected audio.

Args: room_size: Room size percentage (0-100). Default: 75 pre_delay: Pre-delay in ms (0-200). Default: 10 reverberance: Reverberance percentage (0-100). Default: 50 hf_damping: High frequency damping (0-100). Default: 50 tone_low: Tone low percentage (0-100). Default: 100 tone_high: Tone high percentage (0-100). Default: 100 wet_gain: Wet signal gain in dB. Default: -1.0 dry_gain: Dry signal gain in dB. Default: -1.0 stereo_width: Stereo width (0-100). Default: 100 wet_only: Output only the wet signal. Default: False

effect_echoA

Apply echo effect to the selected audio.

Args: delay: Delay time in seconds. Default: 0.5 decay: Decay factor (0-1, lower = faster decay). Default: 0.5

effect_change_pitchA

Change the pitch of the selected audio without changing tempo.

Args: semitones: Number of semitones to shift (negative = lower, positive = higher)

effect_change_tempoA

Change the tempo of the selected audio without changing pitch.

Args: percent: Percentage change (-95 to 3000, e.g. 50 = 50% faster, -25 = 25% slower)

effect_change_speedA

Change speed of the selected audio (changes both tempo and pitch together).

Args: percent: Percentage change (-99 to 4900, e.g. 100 = double speed)

effect_equalizationB

Apply EQ curve to the selected audio.

Args: curve_name: Name of the EQ preset curve. Default: "Default" length: Filter length (odd number, 21-8191). Default: 4001

effect_phaserB

Apply phaser effect to the selected audio.

Args: stages: Number of phaser stages (2-24, even only). Default: 2 dry_wet: Dry/wet mix (0=dry, 255=wet). Default: 128 frequency: LFO frequency in Hz (0.01-40). Default: 0.4 phase: LFO start phase in degrees (0-360). Default: 0 depth: Modulation depth (0-255). Default: 100 feedback: Feedback percentage (-100 to 100). Default: 0

effect_wahwahA

Apply wahwah effect to the selected audio.

Args: frequency: LFO frequency in Hz (0.1-4.0). Default: 1.5 phase: LFO start phase (0-360). Default: 0 depth: Modulation depth (0-100). Default: 70 resonance: Resonance (0.1-10). Default: 2.5 offset: Frequency offset (0-100). Default: 30

effect_distortionB

Apply distortion effect to the selected audio.

Args: distortion_type: Type of distortion. Default: "Hard Clipping" threshold_db: Distortion threshold in dB (-100 to 0). Default: -6.0

effect_paulstretchA

Extreme time-stretch effect (creates ambient/drone textures). Select audio first.

Args: stretch_factor: How much to stretch (1.0 = no change, 10.0 = 10x longer). Default: 10.0 time_resolution: Time resolution in seconds (smaller = better quality, slower). Default: 0.25

effect_repeatB

Repeat the selected audio a number of times.

Args: count: Number of times to repeat (1-128). Default: 1

effect_high_pass_filterA

Apply a high-pass filter to remove low frequencies below the cutoff. Essential as step 1 in mastering chains to remove sub-rumble.

Args: frequency: Cutoff frequency in Hz. Default: 40 (removes sub-bass rumble) rolloff: Rolloff steepness - "dB6" (6 dB/octave) or "dB12" (12 dB/octave). Default: "dB12"

effect_low_pass_filterA

Apply a low-pass filter to remove high frequencies above the cutoff.

Args: frequency: Cutoff frequency in Hz. Default: 20000 rolloff: Rolloff steepness - "dB6" (6 dB/octave) or "dB12" (12 dB/octave). Default: "dB6"

effect_bass_and_trebleB

Adjust bass and treble frequencies with a simple tonal shaping tool.

Args: bass: Bass adjustment in dB (-30 to 30). Default: 0 treble: Treble adjustment in dB (-30 to 30). Default: 0 gain: Output gain in dB (-30 to 30). Default: 0

effect_reverseA

Reverse the selected audio. Select a region first.

effect_invertA

Invert (flip phase) the selected audio. Useful for phase cancellation.

effect_repairA

Repair a very short damaged section of audio (max 128 samples). Select the damaged region first — must be extremely short. Audacity will show an error popup if the selection is too long.

effect_auto_duckA

Auto Duck: automatically reduce volume when audio is detected on another track. Place the control track (e.g. narration) above the track to duck (e.g. music). Select the track to duck before running.

Args: duck_amount_db: How much to reduce volume in dB (-24 to 0). Default: -12 inner_fade_down_len: Inner fade down length in seconds (>= 0). Default: 0 inner_fade_up_len: Inner fade up length in seconds (>= 0). Default: 0 outer_fade_down_len: Outer fade down length in seconds (>= 0). Default: 0.5 outer_fade_up_len: Outer fade up length in seconds (>= 0). Default: 0.5 threshold_db: Threshold for duck trigger in dB (-100 to 0). Default: -30 maximum_pause: Maximum pause between ducking regions in seconds (>= 0). Default: 1.0

effect_notch_filterA

Remove a specific frequency (e.g. 50/60Hz hum) with a notch filter.

Args: frequency: Center frequency to remove in Hz. Default: 60 (US mains hum) q: Q factor / sharpness of the notch (0.1-20). Higher = narrower notch. Default: 1.0

effect_vocal_reductionA

Vocal Reduction and Isolation: remove or isolate vocals from a stereo track.

Args: action: 0=Remove Vocals, 1=Isolate Vocals, 2=Remove Vocals (Mono), 3=Isolate Vocals (Mono), 4=Remove Center, 5=Isolate Center. Default: 0 low_cutoff: Low frequency cutoff in Hz. Default: 120 high_cutoff: High frequency cutoff in Hz. Default: 9000 strength: Effect strength (0-50). Default: 1.0

effect_adjustable_fadeB

Apply an adjustable fade with curve control.

Args: fade_type: 0=fade up (in), 1=fade down (out). Default: 0 curve: Curve shape (0=linear, positive=exponential, negative=logarithmic). Default: 0

effect_studio_fade_outA

Apply a professional studio-quality fade out to the selected audio. Uses a specially shaped curve that sounds more natural than a linear fade.

effect_crossfade_clipsA

Crossfade between two adjacent clips on the same track. Select the junction point between two clips first.

effect_crossfade_tracksA

Crossfade between two overlapping tracks. Align the tracks so they overlap, select both, then run this effect.

effect_clip_fixB

Attempt to repair clipped (distorted) audio by reconstructing peaks.

Args: threshold: Clipping threshold as percentage of max amplitude (0-100). Default: 95

effect_sliding_stretchA

Change tempo and/or pitch gradually across the selection (sliding time stretch).

Args: rate_change_start: Tempo change at start in % (-99 to 3000). Default: 0 rate_change_end: Tempo change at end in % (-99 to 3000). Default: 0 pitch_change_start: Pitch change at start in semitones (-12 to 12). Default: 0 pitch_change_end: Pitch change at end in semitones (-12 to 12). Default: 0

effect_tremoloA

Apply tremolo (volume oscillation) effect to the selected audio.

Args: frequency: Tremolo speed in Hz (1-1000). Default: 5 depth: Tremolo depth as percentage (0-100). Default: 40 waveform: 0=Sine, 1=Triangle, 2=Sawtooth, 3=InverseSawtooth, 4=Square. Default: 0

generate_toneB

Generate a tone signal.

Args: waveform: Wave type - "Sine", "Square", "Sawtooth", or "Square (no alias)". Default: "Sine" frequency: Frequency in Hz (1-20000). Default: 440 amplitude: Amplitude (0-1). Default: 0.8 duration: Duration in seconds. Default: 1.0

generate_noiseB

Generate noise.

Args: noise_type: "White", "Pink", or "Brownian". Default: "White" amplitude: Amplitude (0-1). Default: 0.8 duration: Duration in seconds. Default: 1.0

generate_chirpA

Generate a chirp (frequency sweep).

Args: waveform: "Sine", "Square", "Sawtooth", or "Square (no alias)". Default: "Sine" start_freq: Starting frequency in Hz. Default: 440 end_freq: Ending frequency in Hz. Default: 1320 start_amp: Starting amplitude (0-1). Default: 0.8 end_amp: Ending amplitude (0-1). Default: 0.1 duration: Duration in seconds. Default: 1.0

generate_dtmfA

Generate DTMF (telephone) tones.

Args: sequence: DTMF characters (0-9, A-D, *, #). Default: "0123456789" duty_cycle: Tone vs silence ratio percentage (0-100). Default: 55 amplitude: Amplitude (0-1). Default: 0.8 duration: Total duration in seconds. Default: 1.0

generate_rhythm_trackA

Generate a click/rhythm track.

Args: tempo: Tempo in BPM (30-300). Default: 120 beats_per_bar: Beats per bar (1-32). Default: 4 number_of_bars: Number of bars to generate (1-1000). Default: 4 rhythm_pattern: "Uniform" or "Swing". Default: "Uniform"

label_addB

Add a label at the current cursor position or selection.

Args: text: Label text. Default: empty

label_add_atB

Add a label at a specific time range.

Args: start: Start time in seconds end: End time in seconds text: Label text. Default: empty

label_get_allA

Get all labels in the project as Audacity's raw GetInfo response.

Prefer label_list — it returns the same labels already parsed, with the index each one needs for label_edit and label_delete.

label_listA

List every label with its index, timing and text.

Returns labels sorted by Audacity's own flat index, which is what label_edit and label_delete take. Call this first whenever you need to modify a specific label, rather than guessing an index.

label_findB

Find labels whose text contains a search string (case-insensitive).

Useful for locating a specific marker in a long recording without reading through every label.

Args: query: Text to search for within label text

label_editA

Edit an existing label's text and/or timing. Only the fields you pass are changed.

Get the index from label_list. Renaming a label is label_edit(index, text="..."); moving one of its boundaries is label_edit(index, start=...).

Args: index: Flat label index from label_list text: New label text. Default: unchanged start: New start time in seconds. Default: unchanged end: New end time in seconds. Default: unchanged

label_add_batchA

Add many labels at once — a whole marker list in one call.

Each item is {"start": seconds, "end": seconds (optional, defaults to start for a point label), "text": string (optional)}. Every item is validated before anything is sent to Audacity, so a bad item fails the whole call rather than leaving a half-written list behind.

Args: labels: List of {"start", "end", "text"} label definitions

label_importB

Import labels from a text file.

Args: path: Absolute path to the labels text file

label_exportC

Export all labels to a text file.

Args: path: Absolute path for the output labels file

label_regular_intervalsA

Create labels at regular time intervals across the selection or project.

Args: interval: Time between labels in seconds. Default: 30 adjust: Adjust interval to fit selection evenly. Default: False label_text: Text for each label (labels will be numbered). Default: empty

label_deleteA

Delete a single label without touching the audio.

Get the index from label_list. Audacity has no scripting command for deleting one label, so this selects the label's own span on its own label track and split-deletes it — audio tracks are never in the selection, and nothing downstream shifts in time.

Other labels on the same track that sit entirely inside the deleted label's span would be removed as collateral, so they are re-added afterwards. A label that only partially overlaps the span may be trimmed to the boundary; check label_list afterwards if labels on that track overlap each other.

To delete a label and the audio under it, use label_delete_audio_at.

Args: index: Flat label index from label_list

label_delete_audio_atA

Delete the audio under ONE label, picked by index — not label_delete (marker only) or label_delete_regions (every label in the current selection, no index).

This is a custom, composite operation built for podcast/transcript-based editing, not a 1:1 wrapper over a single Audacity scripting command — unlike label_cut_regions/label_delete_regions/label_silence_regions/ label_split_regions/label_join_regions, which each call exactly one Audacity command. Audacity has no "delete this one labeled take" command, so this orchestrates several: SelAllTracks, then SelectTime, then Delete/SplitDelete, then clears the leftover marker.

By default the gap closes and everything after shifts left, exactly as label_delete_regions does. Pass close_gap=False to leave silence of the same length instead, keeping the timeline length and everything after it in place.

All tracks are selected first, so label tracks ripple along with the audio and later labels stay aligned with it.

Deleting the audio does NOT remove the label — it collapses to a zero-length marker sitting where the audio used to be. This tool clears that leftover marker too, matching what clicking a label and pressing Delete does in Audacity: the audio and the label both go. Pass delete_label=False to keep it as a marker of where the cut was made. Use label_delete instead to remove a label without touching any audio.

Args: index: Flat label index from label_list close_gap: Close the gap and shift later audio left. Default: True delete_label: Also remove the label left behind. Default: True

label_cut_regionsA

Cut the audio under every label to the clipboard, closing the gaps.

Acts on labeled regions within the current selection on the SELECTED AUDIO TRACKS — select the audio tracks and time range first. Because the timeline closes up, the labeled regions collapse rather than surviving unchanged — re-read label_list afterwards to see what remains.

Not yet independently live-tested against a running Audacity, unlike label_delete_regions/label_silence_regions/label_split_regions/ label_join_regions.

label_delete_regionsA

Delete the audio under every label, closing the gaps.

Label every unwanted stretch — bad takes, dead air, noise bursts — then remove them all in one pass. Use label_delete_audio_at for a single label. Acts on labeled regions within the current selection on the SELECTED AUDIO TRACKS — select the audio tracks and time range first. Because the timeline closes up, the labeled regions collapse rather than surviving unchanged — re-read label_list afterwards to see what remains.

label_silence_regionsA

Replace the audio under every label with silence, keeping the timeline length.

Use when the material must not get shorter — redacting a name, muting a noise burst in a take that has to stay in sync. Acts on labeled regions within the current selection on the SELECTED AUDIO TRACKS — select the audio tracks and time range first. The labels themselves stay where they are.

label_split_regionsA

Split the audio clips at every label boundary.

Prepares segment boundaries for separate handling without removing anything. Acts on labeled regions within the current selection on the SELECTED AUDIO TRACKS — select the audio tracks and time range first. The labels themselves stay where they are.

label_join_regionsA

Join the audio clips across every labeled region back together.

The inverse of label_split_regions. Acts on labeled regions within the current selection on the SELECTED AUDIO TRACKS — select the audio tracks and time range first. The labels themselves stay where they are.

label_export_chaptersA

Export labels as a chapter/marker file.

Turns a label track into a standard marker file — chapter navigation for long-form audio, a track listing for a continuous mix, an index for a lecture or interview recording. Formats: "simple" (HH:MM:SS.mmm Title per line), "cue" (cue sheet), "podlove" (Podlove Simple Chapters JSON). Labels with no text become "Chapter 1", "Chapter 2" and so on.

Not yet independently live-tested against a running Audacity — verified against the scripting reference and unit tests with mocked responses only.

Args: path: Absolute path for the output file (must not already exist) format: Chapter format — simple, cue or podlove. Default: simple

label_export_audio_segmentsA

Export the audio under each label as its own file.

Splits a long recording into per-segment audio files, named "01_Segment_Title.wav" and so on from the label text. ALWAYS tell the user which directory the files will be written to BEFORE calling this. Point labels (zero length) have no audio to export and are skipped. Existing files are never overwritten — they are skipped and reported. This can take a while for many or long segments.

Not yet independently live-tested against a running Audacity — verified against the scripting reference and unit tests with mocked responses only.

Args: directory: Absolute path to the output directory format: Audio format — wav, mp3, ogg, flac, aiff, mp4. Default: wav num_channels: 1 for mono, 2 for stereo. Default: 2

project_newB

Create a new empty Audacity project.

project_openA

Open an existing Audacity project file (.aup3).

Args: path: Absolute path to the .aup3 project file

project_saveA

Save the current Audacity project. ONLY call this when the user explicitly asks to save. Do NOT auto-save after effects or pipelines — the user controls when to save.

project_save_asA

Save the current project to a new .aup3 file. ONLY call when user explicitly asks. Do NOT auto-save after effects or pipelines.

Args: path: Absolute path for the new .aup3 file

project_closeB

Close the current Audacity project.

project_import_audioA

Import an audio file into the current project. Creates a new track.

Args: path: Absolute path to the audio file (wav, mp3, ogg, flac, etc.)

get_default_export_folderA

Get the default folder for exporting audio files. Returns the user's Music folder path. Use this when the user doesn't specify where to save.

project_export_audioA

Export the project audio to a file. Format is determined by file extension.

MANDATORY: ALWAYS tell the user where the file will be saved BEFORE exporting. Example: "I'll save your audio to C:\Users\Name\Music\file.mp3"

NEVER save directly to the user's home folder (e.g. ~/file.mp3 or C:\Users\Name\file.mp3). ALWAYS save to a subfolder. If the user doesn't specify a path, call get_default_export_folder to get their Music folder and save there. Acceptable locations:

  • Music folder: ~/Music/file.mp3

  • Documents folder: ~/Documents/file.mp3

  • Desktop: ~/Desktop/file.mp3 NEVER save to the home folder root — this clutters the user's home directory.

Args: path: Absolute path for exported file. Extension determines format (wav, mp3, ogg, flac, aiff). num_channels: Number of channels (1=mono, 2=stereo). Default: 2

project_export_labelsB

Export all labels to a text file.

Args: path: Absolute path for the exported labels file

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/xDarkzx/Audacity-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server