mcpField
S
speech-to-text

speech-to-text

github.com/noizaiCreative & media531189 installsUpdated 5w ago
Repository

About speech-to-text

speech-to-text is a command-line skill that transcribes audio through the Noiz API. It supports language auto-detection or an explicit language, with optional timestamped speaker-labeled JSON output.

Key features

  1. 01Multilingual language auto-detection
  2. 02Optional language selection
  3. 03Plain-text or JSON output
  4. 04Timestamps and speaker labels
  5. 05Save transcripts to a file

Use cases

  1. 01Transcribing a podcast or interview
  2. 02Saving a transcript for later review

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/noizai/skills --skill speech-to-text

After installing, type/speech-to-textin Claude Code to confirm it loaded.

Bundled filesscripts/stt.py

Details

From the project README

speech-to-text

Transcribe any audio file to text. Supports multilingual auto-detection, timestamps, and speaker labels.

Triggers

  • transcribe / transcript / transcription
  • speech to text / STT / audio to text
  • what does this audio say / convert audio
  • 转录 / 语音转文字 / 识别音频

Quick Start

# Transcribe with auto language detection
python3 skills/speech-to-text/scripts/stt.py audio.mp3

# Specify language explicitly
python3 skills/speech-to-text/scripts/stt.py interview.wav --language en

# Save transcript to file
python3 skills/speech-to-text/scripts/stt.py podcast.m4a -o transcript.txt

# Output full JSON (with timestamps and speaker labels)
python3 skills/speech-to-text/scripts/stt.py meeting.wav --json -o result.json

Arguments

ArgumentDefaultDescription
filerequiredAudio file to transcribe (mp3, wav, m4a, ogg, flac, aac, webm). Max 50 MB, max 10 min.
--language / -lauto-detectBCP-47 language code (e.g. en, zh, ja). Omit to auto-detect.
--output / -ostdoutPath to save transcript text (or JSON if --json is set).
--jsonoffOutput full JSON response with timestamps and speaker labels.
--api-keyfrom env/configNoiz API key (overrides stored key).

Output Format

Without --json, only the transcript text is printed:

Hello, welcome to today's podcast. We have a special guest joining us...

With --json, the full structured response is printed:

{
  "language": "en",
  "transcript": "Hello, welcome to today's podcast...",
  "duration": 42.5,
  "segments": [
    {"text": "Hello, welcome to today's podcast.", "start": 0.0, "end": 3.2, "spk": 0},
    {"text": "We have a special guest joining us.", "start": 3.5, "end": 6.1, "spk": 0}
  ]
}

Supported Languages

Common codes: en (English), zh (Chinese), ja (Japanese), ko (Korean), es (Spanish), fr (French), de (German), pt (Portuguese), ru (Russian), ar (Arabic). Omit --language to auto-detect.

Configuration

# Save your API key once
python3 skills/speech-to-text/scripts/stt.py config --set-api-key YOUR_KEY

# Or set via environment variable
export NOIZ_API_KEY=YOUR_KEY

Get your API key at developers.noiz.ai.

Pricing

Billed at $0.0006 per second of audio. A 10-minute file costs ~$0.36. New accounts include 10,000 free TTS characters; STT is billed separately.

Security & data disclosure

  • Credential storage: API key is saved to ~/.config/noiz/api_key (permissions 0600). NOIZ_API_KEY env var is also supported.
  • Network calls: The audio file is uploaded to https://noiz.ai/v1/speech-to-text for transcription. No data is sent until you run the command.
  • File limits: Max 50 MB per file, max 10 minutes (600 seconds) of audio.

Requirements

Comments

Markdown supported