npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@openpets/audioshake

v1.0.2

Published

AudioShake plugin for isolating vocals, instruments, dialogue, and effects from audio/video files. Supports stem separation, multi-speaker isolation, and lyric transcription with alignment.

Readme

AudioShake Pet

AI-powered audio stem separation and transcription plugin for OpenPets. Separate vocals, instruments, dialogue, and effects from audio/video files using AudioShake's advanced AI models.

Features

  • Stem Separation: Isolate vocals, instrumental, drums, bass, piano, wind, and more
  • Dialogue/Music/Effects: Separate dialogue, music, and effects for video/podcast editing
  • Multi-Speaker Isolation: Separate individual speakers from multi-person audio
  • Lyric Transcription: Extract and align lyrics with vocal isolation
  • Multiple Output Formats: WAV, MP3, FLAC, OGG support
  • Residual Audio: Optionally include everything NOT in the primary stem
  • Task Management: Create, monitor, and retrieve processing tasks
  • Usage Statistics: Track API usage and costs

Setup

1. Get Your API Key

  1. Visit AudioShake Dashboard
  2. Create an account (or sign in)
  3. Navigate to the API section
  4. Generate your API key

2. Configure Environment

Create a .env file in the project root:

AUDIOSHAKE_API_KEY=your_api_key_here

# Optional: Override API base URL (defaults to https://api.audioshake.ai)
# AUDIOSHAKE_HOST=https://api.audioshake.ai

3. Test Connection

cd pets/audioshake
opencode run "test audioshake connection"

Available Tools

audioshake-test-connection

Test API connectivity and configuration status.

Usage: test audioshake connection

audioshake-create-task

Create a stem separation task from a publicly accessible URL.

Parameters:

  • url (required): HTTPS URL to audio/video file
  • model (required): Separation model (vocals, instrumental, drums, bass, piano, wind, dialogue, effects, music_removal, multi_voice)
  • formats (required): Output formats (array of wav, mp3, flac, ogg)
  • residual (optional): Include residual audio (default: false)
  • variant (optional): Model variant selection
  • language (optional): Language code for transcription (e.g., en, es, fr)

Example:

opencode run "separate vocals from https://example.com/song.mp3 in wav format"
opencode run "create task to isolate drums and bass from https://example.com/track.wav"

audioshake-list-tasks

List processing tasks with pagination.

Parameters:

  • skip (optional): Number of tasks to skip (default: 0)
  • take (optional): Number of tasks to return (default: 20, max: 100)

Example:

opencode run "list my audioshake tasks"
opencode run "show first 10 audioshake tasks"

audioshake-get-task

Get detailed status and results for a specific task.

Parameters:

  • taskId (required): The task ID to retrieve

Example:

opencode run "get status of task abc123"
opencode run "show results for audioshake task xyz789"

audioshake-get-statistics

Get usage statistics for your account.

Example:

opencode run "show audioshake usage statistics"
opencode run "get my audioshake account stats"

audioshake-upload-from-link

Upload an audio file from URL to create a reusable asset.

Parameters:

  • link (required): HTTPS URL to the file
  • name (optional): Asset name (3-100 characters)

Example:

opencode run "upload https://example.com/audio.mp3 as My Song"

Supported Models

  • vocals: Isolate vocal tracks
  • instrumental: Extract instrumental (non-vocal) audio
  • drums: Isolate drum tracks
  • bass: Extract bass lines
  • piano: Isolate piano parts
  • wind: Extract wind instruments
  • dialogue: Separate dialogue from background
  • effects: Isolate sound effects
  • music_removal: Remove music, keep speech
  • multi_voice: Separate individual speakers

Output Formats

  • wav: Uncompressed audio (highest quality)
  • mp3: Compressed audio (smaller file size)
  • flac: Lossless compression
  • ogg: Open-source compressed format

Example Workflows

Basic Vocal Separation

opencode run "test audioshake connection"
opencode run "separate vocals from https://example.com/song.mp3 in wav format"
opencode run "list my tasks"
opencode run "get status of task <task-id>"

Multi-Stem Separation

opencode run "create task to separate drums from https://example.com/full-mix.wav in mp3 format"
opencode run "list my recent tasks"
opencode run "show results for the first task"

With Residual Audio

opencode run "separate vocals from https://example.com/track.wav with residual in wav format"

Dialogue/Music Separation

opencode run "separate dialogue from https://example.com/podcast.mp3 in mp3 format"

API Documentation

For detailed API information, visit AudioShake Developer Docs.

Troubleshooting

"Not configured" error

  • Ensure AUDIOSHAKE_API_KEY is set in your .env file
  • Check that the API key is valid by testing at AudioShake Dashboard

"API error: 401" (Unauthorized)

  • Your API key is invalid or expired
  • Generate a new key from the AudioShake Dashboard

"API error: 400" (Bad Request)

  • Check that the audio URL is publicly accessible via HTTPS
  • Verify the model name and format are valid
  • Ensure formats is an array (e.g., ["wav"], not just "wav")

Task stays in "pending" status

  • Processing time varies by audio length and model complexity
  • Check back periodically using audioshake-get-task
  • Download URLs appear when status becomes "completed"

License

This plugin is part of the OpenPets ecosystem.

Support

For issues with this plugin, open an issue on the OpenPets repository.

For AudioShake API support, contact [email protected].