Skip to main content
Glama

Noisy Studio

Talk to your coding agent while it works. Noisy Studio is a native desktop app with speech recognition, spoken replies, per-conversation voice and character settings, and a dashboard for the conversations you are following.

https://github.com/user-attachments/assets/331ca147-b325-4b89-9704-a3bba206f2f8

Install

Download the macOS Apple Silicon app from Releases, move Noisy Studio.app to Applications, and open it. Complete provider and audio setup in the app. The app includes its own Python engine; ordinary Claude installation needs neither Python nor a separate service manager.

For Claude Code, install the companion plugin:

claude plugin marketplace add noisy/noisy-studio
claude plugin install noisy-studio@noisy

Restart Claude Code and ask it to set up Noisy Studio voice. Keep the app and plugin versions together: the plugin launches the engine bundled with the app. The internal plugin name remains noisy-studio for compatibility.

Installation and troubleshooting covers permissions, providers, updates, and a spoken round trip. The Codex preview uses the same app and currently requires uv for its integration processes. macOS is the validated release platform; other platforms are source development.

Related MCP server: Quorum Agents

Development

Use local development for the isolated daemon on 7765 and dashboard hot reload. The installed app owns 9765 and has separate settings. See desktop packaging for signed app builds.

  • Agent hooks

  • Ports

  • Product naming

  • Storybook - how the dashboard and the widget are meant to look, published from main. Run it locally with cd dashboard && npm run storybook. Its title shows the commit it was built from, so a story can be cited by URL and version.

API credentials belong in the app's provider settings, never in chat or source. Offline providers download their models on first use and then run locally.

Upgrading to the V3 technical names

V3 uses noisy-studio throughout packages, commands and integrations. Older installations need an explicit upgrade; see the agent-friendly upgrade and rollback guide before replacing an existing installation.

Available Tools

4 tools
announceA

Speak a quick spoken update WITHOUT waiting for it to finish.

Fire-and-forget: use this to tell the user what you just did and keep working ("done with X, moving on") — it returns immediately and plays in the background, queued behind any current speech. Use speak instead when you are asking a question or otherwise waiting for the user's reply. Like speak, it carries only text — voice/speed/language live in the daemon.

Inputs: text (required). Returns: result

change_voiceA

Deliberately switch this agent's speaking voice from now on.

Updates your character in the listener daemon: the dashboard shows the new voice and every later speak/announce uses it (it also persists across restarts). Use list_voices to see the options. Speak itself carries no voice information — this call is the only way to change how you sound, so use it consciously (e.g. when the user asks for it).

Args: voice_id: Which voice to switch to. speaker: Move a named SPEAKER's voice instead of your own — the personas you address with speak(speaker=...). A voice already held by someone else is refused rather than duplicated, so two speakers never become indistinguishable by ear.

Inputs: voice_id (required), speaker. Returns: result

list_voicesA

List the Grok TTS voices available for the speak tool.

Inputs: no named parameters. Returns: result

speakA

Speak a short message aloud to the user through their speakers.

Use this to deliver a spoken TL;DR alongside (not instead of) your written answer: 1-3 conversational sentences summarizing the outcome, a finding, or a question. Never read code, file paths, or long explanations aloud.

You send only the text: voice, speed and language belong to the daemon (the user controls them on the dashboard). To deliberately switch your voice, call change_voice.

Concurrent speech is serialized: by default a new call WAITS for the current utterance to finish (queued), and for the user to finish speaking. Set interrupt=True to cut the current utterance off and speak immediately — use it only when your previous words are now stale (e.g. the user corrected you mid-answer).

Args: text: What to say. Plain conversational prose. Mark the key words the listener must catch with markdown bold (like this) — they get vocal emphasis and show bold on the live dashboard. Also supports inline speech tags like [pause] or [laugh] and wrapping tags like text. interrupt: Cut off any utterance currently playing and speak now. speaker: ONLY for subagents. If you are a subagent (Task/Agent tool), pass your role name here (e.g. "researcher") — the dashboard shows the message under that name with its own portrait, and the daemon gives you a stable voice distinct from the main agent's. The main agent must leave this empty.

Inputs: text (required), speaker, interrupt. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.5/5.0

    Scored across 4 tools

    Disambiguation4/5

    The set is mostly distinct: speak delivers a blocking utterance, announce is fire-and-forget, change_voice and list_voices have clearly separate roles. speak and announce both produce speech, so their overlap could cause an agent to misselect when the blocking behavior matters, but the descriptions offer strong guidance.

    Naming Consistency4/5

    Naming is simple and readable with all verbs as commands, but it mixes one-word verb names (speak, announce) with verb_noun patterns (change_voice, list_voices). This minor inconsistency is not confusing and the style remains predictable.

    Tool Count5/5

    Four tools is well-scoped for a voice/speech server: each tool covers a necessary function—speaking, quick updates, voice switching, and voice enumeration. There is no bloat or obvious missing core capability for the stated purpose.

    Completeness4/5

    The tool set covers the main lifecycle of spoken interaction: speak, gently tell what you're doing, switch voices persistently, and discover available voices. One possible gap is lack of a way to query the currently active voice, but this is a minor issue that does not block common workflows.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables bidirectional voice interaction for Claude Code using local speech-to-text and text-to-speech models optimized for Apple Silicon. It provides tools to listen to user speech via microphone and speak responses aloud through system speakers.
      16
      Apache 2.0
    • A
      license
      Not graded
      quality
      D
      maintenance
      Voice interface for Claude Code enabling hands-free, conversational interaction entirely on-device for Apple Silicon Macs. It provides push-to-talk transcription and automatic spoken responses via local AI models.
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables voice-driven control of coding agents via Claude on your phone, allowing status checks, stand-ups, sending prompts, and receiving push notifications when agents finish or need decisions.
      MIT