Audio Handler

Read, analyze, convert, trim, merge, adjust volume, and transcribe audio files in multiple formats including MP3, WAV, FLAC, AAC, OGG, and more.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
1 · 204 · 5 current installs · 5 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description (audio analysis, convert, trim, normalize, transcribe) match the provided scripts and ffmpeg/ffprobe commands. However, the skill declares no required binaries while the SKILL.md and scripts clearly rely on external tools (ffmpeg, ffprobe, jq, and on macOS afplay/say). This is a documentation/packaging omission but not evidence of malicious intent.
Instruction Scope
Runtime instructions and included scripts operate only on local files and use standard audio tooling; they do not reference external endpoints, collect unrelated system data, or read environment variables or configuration outside the skill. The examples do reference a user-home path (~/Dropbox/jarvis/...) which is only an example and may not exist on a target system.
Install Mechanism
There is no install spec (instruction-only with included scripts), so nothing will be downloaded during install. Scripts are plain bash with no obfuscation or remote fetches. This is a low-risk install footprint.
Credentials
The skill requests no credentials, env vars, or config paths. That is proportionate to its stated purpose. Note: it implicitly requires command-line tools (ffmpeg/ffprobe/jq; macOS afplay/say) which are not declared under 'required binaries'.
Persistence & Privilege
always is false and the skill does not request any elevated or persistent platform privileges. It does not modify other skills or system-wide agent settings.
Assessment
This skill appears to do what it says: local audio processing using ffmpeg/ffprobe and simple bash scripts. Before installing: 1) Be aware the SKILL.md and scripts assume tools that are not declared — ensure you have ffmpeg and ffprobe installed (and jq if you want the JSON-parsing output); macOS-only commands (afplay, say) are optional. 2) Inspect the scripts and only run them on files you trust (ffmpeg processes can crash or be abused by malformed media). 3) The examples reference a ~/Dropbox/... path — update paths to your environment. 4) Because there's no install step, no network download occurs during install, but the scripts will execute binaries on your machine when invoked. If you need the skill to declare dependencies or to avoid execution on untrusted files, request the author to add required-binaries and clarify platform support.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.0
Download zip
latestvk97fy8rbx3p9q9spkm74kjpm0982ev4n

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

Audio Handler

Analyze, convert, and process audio files.

Supported Formats

FormatExtensionsReadConvertMetadata
MP3.mp3
WAV.wav
FLAC.flac
AAC/M4A.m4a, .aac
OGG.ogg
Opus.opus
WMA.wma
AIFF.aiff, .aif

Quick Commands

Metadata (ffprobe)

# Get all metadata
ffprobe -v quiet -print_format json -show_format -show_streams audio.mp3

# Get duration only
ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 audio.mp3

# Get bitrate
ffprobe -v error -show_entries format=bit_rate -of default=noprint_wrappers=1:nokey=1 audio.mp3

# Get sample rate and channels
ffprobe -v error -select_streams a:0 -show_entries stream=sample_rate,channels -of default=noprint_wrappers=1 audio.mp3

# Human-readable info
ffprobe -hide_banner audio.mp3

Convert Formats (ffmpeg)

# Convert to MP3 (good quality)
ffmpeg -i input.wav -codec:a libmp3lame -qscale:a 2 output.mp3

# Convert to MP3 (specific bitrate)
ffmpeg -i input.wav -codec:a libmp3lame -b:a 192k output.mp3

# Convert to WAV (uncompressed)
ffmpeg -i input.mp3 output.wav

# Convert to FLAC (lossless)
ffmpeg -i input.wav output.flac

# Convert to M4A/AAC
ffmpeg -i input.wav -codec:a aac -b:a 256k output.m4a

# Convert to OGG Vorbis
ffmpeg -i input.wav -codec:a libvorbis -qscale:a 5 output.ogg

# Convert to Opus (best for speech)
ffmpeg -i input.wav -codec:a libopus -b:a 64k output.opus

Trim & Clip

# Trim audio (from 30s to 90s)
ffmpeg -i input.mp3 -ss 30 -to 90 -c copy output.mp3

# Trim from start to duration
ffmpeg -i input.mp3 -t 60 -c copy output.mp3  # First 60 seconds

# Trim with re-encode (more accurate)
ffmpeg -i input.mp3 -ss 30 -to 90 output.mp3

Volume & Speed

# Adjust volume (2x louder)
ffmpeg -i input.mp3 -af "volume=2" output.mp3

# Reduce volume (half)
ffmpeg -i input.mp3 -af "volume=0.5" output.mp3

# Normalize audio
ffmpeg -i input.mp3 -af "loudnorm" output.mp3

# Speed up (1.5x)
ffmpeg -i input.mp3 -af "atempo=1.5" output.mp3

# Slow down (0.75x)
ffmpeg -i input.mp3 -af "atempo=0.75" output.mp3

Merge & Concatenate

# Concatenate audio files
ffmpeg -i "concat:part1.mp3|part2.mp3|part3.mp3" -acodec copy output.mp3

# Merge with file list
echo "file 'part1.mp3'" > list.txt
echo "file 'part2.mp3'" >> list.txt
ffmpeg -f concat -safe 0 -i list.txt -c copy output.mp3

# Mix two audio tracks
ffmpeg -i voice.mp3 -i music.mp3 -filter_complex amix=inputs=2:duration=longest output.mp3

Extract Audio from Video

# Extract audio track
ffmpeg -i video.mp4 -vn -acodec copy audio.aac

# Extract and convert
ffmpeg -i video.mp4 -vn -acodec libmp3lame -b:a 192k audio.mp3

Playback (macOS)

# Play audio file
afplay audio.mp3

# Play with volume (0.0 to 1.0)
afplay -v 0.5 audio.mp3

# Play in background
afplay audio.mp3 &

# Stop playback
killall afplay

Text-to-Speech (macOS)

# Speak text
say "Hello, this is a test"

# Save to file
say -o output.aiff "This will be saved as audio"

# List voices
say -v ?

# Use specific voice
say -v "Samantha" "Hello, I am Samantha"

# Convert to MP3
say -o temp.aiff "Text to convert" && ffmpeg -i temp.aiff output.mp3 && rm temp.aiff

Scripts

audio_info.sh

Get comprehensive audio metadata.

~/Dropbox/jarvis/skills/audio-handler/scripts/audio_info.sh <audio_file>

convert_audio.sh

Convert between formats with quality options.

~/Dropbox/jarvis/skills/audio-handler/scripts/convert_audio.sh <input> <output> [quality]

trim_audio.sh

Trim audio with start/end times.

~/Dropbox/jarvis/skills/audio-handler/scripts/trim_audio.sh <input> <output> <start> <end>

normalize_audio.sh

Normalize volume level.

~/Dropbox/jarvis/skills/audio-handler/scripts/normalize_audio.sh <input> <output>

Quality Guide

Use CaseFormatSettings
Music archiveFLAC-codec:a flac
Music portableMP3-codec:a libmp3lame -qscale:a 2
Podcast/speechOpus-codec:a libopus -b:a 64k
Voice memoM4A-codec:a aac -b:a 128k
UncompressedWAV-codec:a pcm_s16le

Notes

  • ffmpeg handles almost all audio formats
  • -c copy is fast but may be inaccurate for trimming
  • Re-encode (-af) for precise cuts but takes longer
  • Opus is best for speech at low bitrates
  • Use loudnorm filter for consistent volume across files

Files

5 total
Select a file
Select a file to preview.

Comments

Loading comments…