@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.
Maintainers
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
- Visit AudioShake Dashboard
- Create an account (or sign in)
- Navigate to the API section
- 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.ai3. 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 filemodel(required): Separation model (vocals,instrumental,drums,bass,piano,wind,dialogue,effects,music_removal,multi_voice)formats(required): Output formats (array ofwav,mp3,flac,ogg)residual(optional): Include residual audio (default: false)variant(optional): Model variant selectionlanguage(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 filename(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_KEYis set in your.envfile - 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].
