AudacityMCP

Servidor MCP para Audacity 3.x com 131 ferramentas — efeitos, limpeza, masterização, conversão de formato, transcrição.

Documentação

AudacityMCP

Edição de áudio com IA no Audacity através do Model Context Protocol

CI Python 3.10+ License Release MCP Compatible Discord Sponsor

Início RápidoPor que AudacityMCP?PipelinesReferência de FerramentasSolução de Problemas


O AudacityMCP conecta qualquer assistente de IA compatível com MCP ao Audacity, dando a ele controle total sobre a edição de áudio por meio de 144 ferramentas que abrangem efeitos, limpeza, masterização, transcrição e muito mais. Converse com seu assistente de IA e ele edita seu áudio em tempo real.

Sem nuvem. Sem chaves de API para processamento de áudio. Tudo roda localmente através da interface de pipe nomeado do Audacity.

Se isso for útil para você, uma estrela ajuda outras pessoas a encontrarem o projeto — esse é todo o orçamento de marketing deste projeto. Quer ajudar a mantê-lo? Clique no selo Sponsor no topo.

Compatibilidade: O AudacityMCP atualmente funciona apenas com Audacity 3.x. O Audacity 4.x ainda não é suportado — esperamos adicionar suporte no futuro.

Funciona Com

O AudacityMCP funciona com qualquer cliente de IA que suporte o Model Context Protocol:


Início Rápido

1. Obtenha o AudacityMCP

Opção A: Clique no botão verde Code acima → Download ZIP → extraia para uma pasta

Opção B: Clone com git:

git clone https://github.com/xDarkzx/Audacity-MCP.git

2. Execute o instalador (configura todo o resto automaticamente)

Windows: clique duas vezes em install.bat no Explorador de Arquivos ou — se você já estiver em um terminal da etapa git clone acima — continue na mesma janela do PowerShell/Command Prompt:

cd Audacity-MCP
.\install.bat

macOS / Linux:

cd Audacity-MCP
bash install.sh

O instalador faz 3 coisas: instala o audacity-mcp desta pasta local (a que você acabou de baixar/clonar — sem busca por PyPI ou GitHub), habilita o mod-script-pipe no Audacity e configura o Claude Desktop — sem necessidade de edição manual de JSON. Ele pede confirmação antes de tocar em qualquer arquivo de configuração, explica exatamente o que vai fazer primeiro e sempre faz backup de um arquivo existente antes de alterá-lo. Quer ver tudo o que ele faria sem alterar nada? Adicione --dry-run: .\install.bat --dry-run / bash install.sh --dry-run.

Nota: install.bat/install.sh devem ser executados de dentro desta pasta — eles apenas instalam o código que está ao lado deles, não baixam nada por conta própria.

Outros clientes MCP (Cursor, Claude Code, etc.)

Se você não usa o Claude Desktop, instale manualmente com pip install audacity-mcp-server e adicione à configuração MCP do seu cliente:

{
  "mcpServers": {
    "audacity": {
      "command": "audacity-mcp"
    }
  }
}

Verifique a documentação MCP do seu cliente para saber a localização do arquivo de configuração.

O cliente não consegue encontrar/executar o audacity-mcp? Aplicativos gráficos nem sempre veem o mesmo PATH que um terminal vê. Execute python -c "import sysconfig; print(sysconfig.get_path('scripts'))" e use o caminho completo que ele imprimir (mais \audacity-mcp.exe no Windows ou /audacity-mcp no macOS/Linux) como "command" em vez do nome simples.

Prefere não executar nenhum script? Configuração manual completa

Sem install.bat/install.sh, nada tocando seu sistema automaticamente — três etapas, todas feitas à mão:

  1. Habilite o mod-script-pipe no Audacity: Editar → Preferências (Windows/Linux) ou Audacity → Preferências (macOS) → Módulos → defina mod-script-pipe como Ativado → OK → reinicie o Audacity.

  2. Instale o pacote: abra um terminal (Command Prompt/PowerShell no Windows, Terminal no macOS/Linux) e execute pip install audacity-mcp-server — uma instalação normal via PyPI, sem necessidade de clonar repositório.

  3. Configure o Claude Desktop: abra o Claude Desktop → Configurações (ícone de engrenagem) → aba Desenvolvedor → Editar Configuração — isso abre o claude_desktop_config.json em um editor de texto. Adicione isto dentro do bloco "mcpServers", mantendo quaisquer outros servidores que você já tenha:

    {
      "mcpServers": {
        "audacity": {
          "command": "audacity-mcp"
        }
      }
    }
    

    Salve o arquivo e reinicie completamente o Claude Desktop (saia pela bandeja do sistema, não apenas feche a janela).

Essa é a instalação completa — veja o Guia de Instalação para os mesmos passos com mais detalhes e notas por sistema operacional.

O "audacity" não aparece como ferramenta após reiniciar? O "command": "audacity-mcp" acima só funciona se esse comando estiver no mesmo PATH que o próprio Claude Desktop usa, o que nem sempre é o caso (especialmente se o Claude Desktop já estava aberto quando você instalou o Python). Se não conectar, execute isto em um terminal para encontrar o local real da instalação: python -c "import sysconfig; print(sysconfig.get_path('scripts'))" — depois substitua "audacity-mcp" acima pelo caminho completo que ele imprimir mais \audacity-mcp.exe (Windows, lembre-se de dobrar cada barra invertida: \\) ou /audacity-mcp (macOS/Linux).

3. Comece a editar

Abra o Audacity, carregue algum áudio e converse com sua IA:

"Clean up this podcast recording"
"Master this track for Spotify, it's EDM"
"Transcribe this and add labels at each sentence"
"Add reverb with a large room, then export as FLAC"

O Audacity deve estar aberto primeiro. O AudacityMCP se comunica através do pipe nomeado do Audacity — ele não pode abrir o Audacity por você.

Veja o Guia de Instalação completo para configuração detalhada em todas as plataformas e clientes MCP.


Por que AudacityMCP?

Sem AudacityMCP: Você navega manualmente pelos menus, ajusta parâmetros de efeitos de ouvido, aplica efeitos um de cada vez, consulta especificações ACX e repete até soar bem.

Com AudacityMCP: Você descreve o que quer em português simples e a IA cuida do resto — escolhendo os efeitos certos, definindo parâmetros padrão da indústria e encadeando operações.

Audacity ManualCom AudacityMCP
Limpeza de podcast5+ etapas em menus diferentes, adivinhando configurações de compressor"Limpe este podcast" — uma frase
Masterização de músicaPesquisar EQ/compressão adequados ao gênero, aplicar cada um manualmente"Masterize isto para o Spotify, é hip-hop" — predefinições ajustadas por gênero
Remoção de ruídoEfeito → Redução de Ruído → Obter Perfil → selecionar tudo → aplicar"Remova o ruído de fundo" — perfil automático
Operações em loteNavegação repetitiva por menus para cada operaçãoDescreva a cadeia completa e veja acontecer
TranscriçãoExportar áudio, usar ferramenta externa, importar resultados de volta"Transcreva isto e adicione rótulos" — permanece no Audacity
Curva de aprendizadoSaber quais efeitos existem e quais parâmetros usarApenas descreva o resultado que você quer

O AudacityMCP é especialmente útil para:

  • Podcasters que querem som profissional e consistente sem conhecimento de engenharia de áudio
  • Músicos que precisam de masterização rápida com configurações adequadas ao gênero
  • Criadores de conteúdo que trabalham com entrevistas, narrações ou gravações de campo
  • Qualquer pessoa que prefira descrever o que quer em vez de clicar em menus

O Que Ele Pode Fazer?

You:  "Clean up this podcast recording"
AI:   Runs auto_cleanup_podcast → HPF 80Hz → noise reduction → compression → safe loudness check

You:  "Master this track for Spotify, it's EDM"
AI:   Runs auto_master_music style=edm → HPF 30Hz → click removal → compression 2.5:1 → bass +2dB → loudness check

You:  "This is a noisy live recording, fix it up"
AI:   Runs auto_cleanup_live → HPF 100Hz → click removal → noise reduction 18dB → compression 5:1

You:  "Transcribe this interview and add labels"
AI:   Runs transcribe_to_labels → faster-whisper transcription → Audacity labels at each timestamp

You:  "Add reverb to the vocals, then export as FLAC"
AI:   select region → reverb effect → export to FLAC

Recursos

144 Ferramentas em 11 Categorias

CategoriaFerramentasDestaques
Efeitos30Reverb, eco, mudança de tom, mudança de tempo, EQ, phaser, distorção, paulstretch, HPF/LPF, graves e agudos, tremolo, wahwah
Limpeza e Masterização18Redução de ruído, compressor, limitador, 9 pipelines de um clique, ferramenta de análise
Edição13Cortar, copiar, colar, dividir, unir, aparar, silenciar, duplicar, desfazer, refazer
Projeto12Novo, abrir, salvar, importar/exportar (WAV, MP3, FLAC, OGG, AIFF)
Faixa15Adicionar mono/estéreo, remover, definir propriedades, mixar e renderizar, mudo/solo, pan, volume
Seleção12Selecionar tudo/nada/região/faixas, cruzamento de zero, posicionamento do cursor
Transporte7Reproduzir, parar, pausar, gravar, reproduzir região, obter posição
Análise6Contraste, detecção de clipping, espectro, localizador de batidas, rotulagem de som
Geração5Tom, ruído, chirp, DTMF, faixa rítmica
Transcrição (Experimental)7Transcrição completa/seleção, para rótulos, para SRT/VTT/TXT, pré-carregamento de modelo
Rótulos19Listar/encontrar/editar/excluir, excluir áudio de uma gravação rotulada por índice, adicionar em lote, cortar/excluir/silenciar regiões rotuladas, exportação de marcadores (simples/cue/Podlove), exportação de áudio por segmento, importar/exportar

Pipelines

O AudacityMCP inclui 9 pipelines de um clique para tarefas comuns de áudio. Cada pipeline é projetado para ser seguro para áudio mal gravado — ele nunca aumentará seu áudio de forma perigosa. Os pipelines limpam e melhoram seu áudio, e você pode ajustar manualmente o volume depois, se necessário.

Como os Pipelines Funcionam

  1. Você diz à IA o que quer (ex.: "limpe este podcast")
  2. A IA escolhe o pipeline certo e o inicia
  3. O pipeline roda em segundo plano — você recebe um job_id de volta
  4. Consulte com check_pipeline_status a cada 15-30 segundos para monitorar o progresso
  5. Quando terminar, um popup aparece no Audacity

Regra de segurança: Os pipelines apenas reduzem picos se estiverem muito altos. Eles nunca aumentam o volume. Se você quiser atingir um alvo LUFS específico (ex.: -14 para o Spotify), peça à IA para executar loudness_normalize depois de verificar se os resultados estão bons.

Referência de Pipelines

auto_analyze_audio — Analisar antes de processar

Mede seu áudio e recomenda o melhor pipeline. Execute isto primeiro se não tiver certeza do que fazer.

You: "Analyze this audio"
→ Returns: peak level, noise floor, clipping status, recommended pipeline

auto_cleanup_audio — Limpeza segura apenas

Limpa ruídos e artefatos sem alterar o volume em nada. Use quando os níveis já estiverem bons.

You: "Just clean up the noise, don't change the volume"
→ DC offset removal → HPF 80Hz → noise reduction → click removal (optional)

auto_cleanup_podcast — Podcast / narração

Processamento profissional de transmissão para fala.

You: "Clean up this podcast recording"
→ DC offset → HPF 80Hz → noise reduction 12dB → compression 3:1 → safe loudness check

auto_audiobook_mastering — Audiolivro (ACX/Audible)

Visa os requisitos ACX para distribuição de audiolivros.

You: "Master this for ACX / Audible"
→ DC offset → HPF 80Hz → noise reduction 12dB → compression 2.5:1 → safe loudness check → peak cap -3dB

auto_cleanup_interview — Entrevista / diálogo

Toque leve para conversas — preserva a dinâmica natural.

You: "Clean up this interview recording"
→ DC offset → HPF 80Hz → noise reduction 8dB → compression 2.5:1 → safe loudness check

auto_cleanup_vocal — Canto / vocal de estúdio

Ajustado para gravações vocais com EQ de presença para clareza.

You: "Process this vocal recording"
→ DC offset → HPF 100Hz → noise reduction 10dB → compression 3:1 → presence EQ (+3dB treble, -1dB bass) → safe loudness check

auto_cleanup_live — Gravação ao vivo / campo / ruidosa

Limpeza agressiva para ambientes ruidosos. Os primeiros 0,5s devem ser ruído ambiente para perfilagem.

You: "This is a noisy live recording, clean it up"
→ DC offset → HPF 100Hz → click removal → noise reduction 18dB → compression 5:1 → safe loudness check

auto_master_music — Masterização de música

Masterização ajustada por gênero com 6 predefinições: edm, hiphop, rock, pop, classical, acoustic.

You: "Master this hip-hop track"
→ HPF 30Hz → click removal → compression 2:1 → bass +3dB treble +1dB → safe loudness check

You: "Master this for a classical album"
→ HPF 30Hz → click removal → compression 1.3:1 (very gentle) → no EQ → safe loudness check
PredefiniçãoHPFCompressãoEQ de GravesEQ de Agudos
EDM30 Hz2,5:1 / 80ms+2 dB+1 dB
Hip-Hop30 Hz2:1 / 100ms+3 dB+1 dB
Rock40 Hz2:1 / 100ms0 dB+1 dB
Pop35 Hz2:1 / 80ms+1 dB+1,5 dB
Clássico30 Hz1,3:1 / 200ms0 dB0 dB
Acústico30 Hz1,5:1 / 150ms0 dB0 dB

auto_lofi_effect — Lo-fi criativo / vintage

Aplique um som lo-fi quente e vintage. Predefinições: light, medium, heavy.

You: "Give this a lo-fi vibe"
→ HPF → LPF (muffled highs) → bass/treble warmth → compression 2:1 → safe loudness check

Após um Pipeline: Ajustando o Volume

Os pipelines deixam o volume intencionalmente intacto (eles apenas reduzem se os picos estiverem com clipping). Para atingir um alvo de streaming:

You: "Now normalize this to -14 LUFS for Spotify"
→ AI uses loudness_normalize tool with lufs_level=-14

You: "Normalize to -16 LUFS for podcast"
→ AI uses loudness_normalize tool with lufs_level=-16

Por que não fazer isso automaticamente? A normalização LUFS pode aumentar áudio silencioso/mal gravado em 10-20 dB, o que o estoura. Ao separar a limpeza do volume, você pode verificar os resultados antes da etapa final de volume.


Transcrição Local (Experimental)

Este recurso é experimental e requer configuração separada. Todo o resto funciona sem ele.

Alimentado por faster-whisper — funciona totalmente offline, seu áudio nunca sai da sua máquina:

  • 5 tamanhos de modelo: tiny, base, small, medium, large-v3
  • Transcreva áudio completo ou apenas uma seleção
  • Exporte como legendas SRT, VTT ou texto simples
  • Adicione automaticamente rótulos do Audacity em cada segmento falado
  • Detecção de idioma ou especifique 99+ idiomas

Configuração necessária antes do primeiro uso: Consulte Configuração de Transcrição para etapas de instalação.

Quer aceleração de GPU (10-20x mais rápida)? Execute audacity-mcp-setup-gpu — ou baixe setup_gpu.bat/setup_gpu.sh e clique duas vezes/execute-o se preferir não usar um terminal. Detecta sua GPU, instala o necessário e verifica se realmente funciona. Apenas GPUs NVIDIA (gráficos AMD/Intel e macOS não são suportados pelo backend de transcrição — qualquer placa NVIDIA funciona, GeForce não é um requisito, basta ter uma GPU NVIDIA). Sem GPU NVIDIA? A CPU funciona bem, apenas mais lenta em arquivos longos.

O script diz que funcionou, mas a transcrição ainda está lenta/na CPU? Isso significa que o Claude Desktop está iniciando o audacity-mcp a partir de um Python diferente do que o script acabou de verificar — veja a correção (uma edição manual de configuração, cinco minutos).


Novidades — v0.1.3

32 novas ferramentas (99 → 131), correções de ajuste de pipeline e testado ao vivo contra o Audacity.

  • Novos efeitos: Reverse, Invert, Repair, AutoDuck, NotchFilter, VocalReduction, AdjustableFade, StudioFadeOut, CrossfadeClips, CrossfadeTracks, ClipFix, SlidingStretch, Tremolo
  • Nova edição: Split (no lugar), SplitCut, SplitDelete, Disjoin + renomeado split antigo → edit_split_new
  • Novas faixas: StereoToMono, MixAndRenderToNew, MuteAll, UnmuteAll, Resample, AlignEndToEnd, AddLabelTrack
  • Nova seleção: CursorToTrackStart/End, CursorToProjectStart/End, SelectCursorToTrackEnd
  • Novo projeto: EditMetadata, ImportMIDI
  • Novos rótulos: RegularIntervalLabels
  • Correções de pipeline: limite de pico ACX -3.0→-3.5dB, NR ao vivo 18→12dB, comp de podcast 10ms/1s→30ms/200ms, liberação de entrevista 1s→200ms
  • Correção de bug: effect_repair agora usa timeout longo (o Audacity mostra popup em seleção inválida)
  • Validação: Adicionadas verificações de intervalo ausentes em AutoDuck, VocalReduction, SlidingStretch, Resample

Solução de Problemas

mod-script-pipe Não Habilitado

O instalador habilita isso automaticamente, mas se não funcionou (por exemplo, o Audacity nunca foi aberto antes), habilite manualmente:

  1. Abra o Audacity
  2. Vá em Edit → Preferences (Windows/Linux) ou Audacity → Preferences (macOS)
  3. Clique em Modules na barra lateral esquerda
  4. Defina mod-script-pipe como Enabled
  5. Clique em OK e reinicie o Audacity

Enable mod-script-pipe in Audacity Preferences → Modules

Problemas de Conexão

ProblemaCorreção
"Pipe não encontrado"Abra o Audacity primeiro. Certifique-se de que mod-script-pipe está habilitado (veja acima). Reinicie o Audacity após habilitar.
"Tempo esgotado do pipe"O Audacity está ocupado. Aguarde terminar — alguns efeitos levam minutos em arquivos longos.
A conexão funciona uma vez e depois falhaO pipe desconectou (crash ou reinício do Audacity). Basta tentar novamente — o AudacityMCP reconecta automaticamente.
"Acesso negado" (Windows)O Audacity e seu cliente de IA devem ser executados pelo mesmo usuário. Não misture admin e não-admin.

Problemas de Pipeline

ProblemaCorreção
O pipeline estoura / corta o áudioIsso não deveria mais acontecer — os pipelines apenas reduzem picos, nunca aumentam. Se acontecer, desfaça (Ctrl+Z) e relate o problema.
"Um pipeline já está em execução"Apenas um pipeline pode ser executado por vez. Use check_pipeline_status com seu job_id para monitorar o atual.
O pipeline termina, mas o áudio está muito baixoIsso é por design — os pipelines não aumentam. Peça à IA: "Normalize para -14 LUFS" após verificar os resultados.
A redução de ruído soa metálica/trêmulaOs primeiros 0,5 segundos da sua faixa devem ser silêncio puro/ruído ambiente para perfilagem. Se não for, corte para adicionar silêncio ou use auto_cleanup_audio com remove_noise=False.
Falha na etapa do pipeline (nos avisos)Etapas individuais podem falhar sem interromper o pipeline. Verifique o campo warnings em check_pipeline_status para detalhes.

Dicas de Qualidade de Áudio

QueroFaça Isso
Remover ruído de fundoCertifique-se de que os primeiros 0,5s da sua faixa sejam tom puro do ambiente (sem fala/música). O pipeline usa isso para construir um perfil de ruído.
Corrigir clippingExecute auto_analyze_audio primeiro. Se detectar clipping, use auto_cleanup_audio antes de outros pipelines.
Atingir -14 LUFS para SpotifyExecute um pipeline de limpeza primeiro, verifique se os resultados estão bons, depois peça à IA para aplicar loudness_normalize a -14 LUFS.
Atingir -16 LUFS para podcastMesma abordagem — limpeza primeiro, LUFS depois.
Conformidade com audiolivros ACXUse auto_audiobook_mastering. Ele visa RMS -20 dB com limite de pico de -3,5 dB (margem de segurança).
Limpeza rápida sem alterar o volumeUse auto_cleanup_audio — ele apenas remove ruído e artefatos, sem mudanças de loudness.

Problemas Gerais

ProblemaCorreção
"No module named faster_whisper"Execute pip install faster-whisper. A transcrição é opcional — todo o resto funciona sem ela.
Falha no download do modeloVerifique a internet e tente novamente. Os modelos são armazenados em cache localmente após o primeiro download.
Pipes ausentes em /tmp (macOS/Linux)Verifique se o Audacity está em execução e se o mod-script-pipe está habilitado. Verifique o console do Audacity para erros.
Usando Audacity Snap ou Flatpak no LinuxAmbos isolam /tmp, então o AudacityMCP detecta automaticamente a localização real do pipe dentro do namespace de montagem do Audacity — nenhuma configuração necessária. Se a detecção automática falhar (containers, políticas restritivas de ptrace, sandboxing incomum), defina a variável de ambiente AUDACITY_PIPE_DIR para o diretório que contém os pipes e ela será usada diretamente.
O instalador diz "Audacity config not found" mas o Audacity definitivamente executaSe você estiver usando um Audacity portátil (uma pasta Portable Settings ao lado do executável), ele mantém audacity.cfg lá em vez do local normal por SO, então o instalador não consegue encontrá-lo. Habilite mod-script-pipe manualmente (Preferences → Modules).
install.bat disse que configurou o Claude Desktop, mas o Audacity nunca aparece como ferramentaO Claude Desktop instalado via Microsoft Store redireciona sua configuração para uma pasta isolada por pacote — versões mais antigas do install.bat apenas escreviam no caminho padrão %APPDATA%\Claude\, que a versão da Store nunca lê

Arquitetura

┌──────────────┐     stdio      ┌──────────────┐   named pipe   ┌──────────────┐
│  MCP Client  │◄──────────────►│ AudacityMCP  │◄──────────────►│   Audacity   │
│(AI assistant)│    (JSON-RPC)  │   FastMCP    │  (commands)    │              │
└──────────────┘                └──────────────┘                └──────────────┘
                                       │
                                       ├── audacity_mcp/main.py          (entry point)
                                       ├── audacity_mcp/audacity_client.py (pipe I/O)
                                       ├── audacity_mcp/tool_registry.py  (auto-loader)
                                       └── audacity_mcp/tools/            (11 modules)

Decisões de Design Chave

  • Pipes nomeados, não TCP — IPC direto para o mod-script-pipe do Audacity. Sem exposição de rede, sem conflitos de porta.
  • Zero exec/eval — Cada operação mapeia para um handler estático com validação de entrada. Sem execução de código arbitrário.
  • Multiplataforma — Windows usa API Win32 via ctypes, Unix usa I/O de arquivo padrão.
  • Assíncrono em todo lugar — Todos os handlers de ferramentas são async. I/O de pipe bloqueante é executado em um pool de executores com timeouts configuráveis.
  • Pipelines seguros — Os pipelines medem o áudio antes de tomar decisões de loudness. Eles apenas reduzem, nunca aumentam.
  • Registro dinâmico de ferramentas — Coloque um módulo em audacity_mcp/tools/, exporte uma função register(mcp), e ele é descoberto automaticamente.

Estrutura do Projeto

AudacityMCP/
├── audacity_mcp/
│   ├── main.py                 # FastMCP server entry point
│   ├── audacity_client.py      # Cross-platform named pipe client
│   ├── tool_registry.py        # Auto-discovers and registers tool modules
│   └── tools/
│       ├── analysis_tools.py   # Audio analysis (contrast, spectrum, beats)
│       ├── cleanup_tools.py    # Noise reduction, mastering, 9 pipelines
│       ├── edit_tools.py       # Cut, copy, paste, split, join, trim
│       ├── effects_tools.py    # Reverb, echo, pitch, EQ, filters
│       ├── generate_tools.py   # Tone, noise, chirp, DTMF generation
│       ├── label_tools.py      # Label management
│       ├── project_tools.py    # Project/file operations
│       ├── selection_tools.py  # Selection and cursor control
│       ├── track_tools.py      # Track management
│       ├── transcription_tools.py  # Whisper-based transcription
│       └── transport_tools.py  # Playback and recording control
├── audacity_mcp_shared/
│   ├── constants.py            # Pipe paths, timeouts, allowed formats
│   ├── error_codes.py          # Typed error codes (pipe/command/validation)
│   └── pipe_protocol.py        # Command formatting and response parsing
├── tests/                      # 60 tests
├── docs/
│   ├── INSTALLATION.md         # Detailed setup guide
│   └── TOOLS.md                # Complete tool reference
└── pyproject.toml

Desenvolvimento

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest tests/ -x -q

# Run lint (real bugs + security patterns, not style/formatting)
ruff check .

Adicionando Novas Ferramentas

  1. Crie um módulo em audacity_mcp/tools/ (ou adicione a um existente)
  2. Exporte uma função register(mcp: FastMCP)
  3. Defina suas ferramentas com decoradores @mcp.tool()
  4. É isso — o registro de ferramentas o descobre automaticamente na inicialização
# audacity_mcp/tools/my_tools.py
from mcp.server.fastmcp import FastMCP
from audacity_mcp_shared.error_codes import AudacityMCPError, ErrorCode


def register(mcp: FastMCP):
    from audacity_mcp.main import client

    @mcp.tool()
    async def my_custom_effect(intensity: float = 0.5) -> dict:
        """Apply my custom effect to the selected audio."""
        if not 0 <= intensity <= 1:
            raise AudacityMCPError(ErrorCode.VALUE_OUT_OF_RANGE, "intensity must be 0-1")
        return await client.execute_long("MyEffect", Intensity=intensity)

Consulte CONTRIBUTING.md para diretrizes completas.


Comunidade

Transformar isso em uma ferramenta que todo usuário do Audacity procura exige mais de uma pessoa. Se você está usando o AudacityMCP — mesmo apenas experimentando — venha participar do Discord: compartilhe o que você construiu, relate o que está quebrado, sugira o que está faltando, ou apenas converse com outras pessoas que fazem edição de áudio com IA. Comunidades crescem quando uma pessoa conta a outra que isso existe, então se você conhece alguém que se beneficiaria disso, envie o link.

Join the Discord


Suporte

Se o AudacityMCP economizou seu tempo ou ajudou em seus projetos de áudio, considere patrocinar:

GitHub Sponsors

Seu apoio ajuda a manter este projeto mantido e gratuito para todos.


Documentação

Agradecimentos

Agradecimentos aos seguintes por bugs relatados, ideias e feedback que melhoraram este projeto:

  • @Harsha-Jay-S — diagnosticou o bug effect_change_pitch/effect_change_speed (#15) com prova medida contra o Audacity real, identificando a causa raiz exata.

Licença

Apache License 2.0 — veja LICENSE para detalhes.

Construído por Daniel Hodgetts𝕏 @daehonz1