Using Hosted Models
The models on HARP's Home tab are hosted by us, as Hugging Face Spaces of the TEAMuP organization, or by Stability AI. They need nothing beyond HARP itself. This page runs one of them, then explains the badges on a model card, API keys, and what to expect from a Space that has been idle.
Separating Stems with Demucs
Demucs separates a mix into drums, bass, vocals, and everything else. It runs on a GPU through ZeroGPU, which allocates one to each request.
- Open the model. On the
Hometab, search fordemucs, or select theSeparationcategory, and click the Demucs card. The first time you open a ZeroGPU model without a Hugging Face key, HARP explains the GPU allowance it spends (see API Keys). ClickOpento continue. - Wait for it to load. The status area shows
QUERYING_CONTROLSwhile HARP reads the interface of the model, thenREADY. A Space that has been idle takes a minute or two to wake first. - Add a song. Drag an audio file (WAV, AIFF, FLAC, OGG, or MP3) onto the
Input Audiotrack, or click its folder icon to choose one. - Choose a variant. The
Demucs Modeldropdown offershtdemucs, which has the highest quality,mdx_extra, which is faster at a small cost in quality, andmdx_extra_q, a quantizedmdx_extrathat is the lightest of the three and noticeably lower in quality. - Process. Select
Process. A typical song takes well under a minute once the Space is awake. - Use the stems. The
Drums,Bass,Vocals, andOtheroutput tracks fill in as the result arrives. Play them, save them, drag them into your DAW, or drag one into the media clipboard to use as the input of another model, e.g., the vocals into Whisper for a transcript.
Example 2 walks through the code of this model.
Badges
Each model card carries badges that state its license, its hardware, and its availability:
- License: the terms of the code and weights of the model, e.g.,
MITorCC-BY-NC-4.0. A non-commercial license (NC) means the output cannot be used commercially. Where code and weights are licensed differently, the more restrictive license is shown. - ZeroGPU: the model runs on a GPU allocated to each request, which spends the daily allowance of the caller.
- Stability AI: the model runs on Stability AI's servers, and needs a Stability AI key.
- Availability:
SleepingorStartingfor a Space that has to start before it loads, andUnavailable,Try again, orFailed to loadonce a load has failed.
Each model is deployed under its original license, which HARP displays on a badge of its own beside the model, so that the terms are apparent before the output is used. Authors who would rather their model were not featured, or whose license we have stated incorrectly, are asked to open an issue so that we can correct or remove it promptly.
API Keys
Models hosted on Hugging Face run without an account. Those marked ZeroGPU draw on a small daily GPU allowance, which a free Hugging Face token raises. Stability AI models require a Stability AI key, and each request spends credits from that account. Add either under File > Settings > API Keys.
HARP sends each key only to the service that issued it, with one exception. An app at localhost or 127.0.0.1 also receives your Hugging Face key, since HARP assumes that such an app runs on your own computer. HARP never sends the key to a gradio.live link or to another computer on your network.
The allowance for each kind of account is listed under Plans and Hardware. A Hugging Face key also opens any private Space that its account can see. File > Settings > API Keys links to where each service issues keys, and checks a key when it is added.
Sleeping Spaces and Errors
A Space sleeps after a period without requests, and opening it wakes it. Until the Space has started, which takes a minute or two, HARP reports that it is still starting and marks its card Try again. Open the model again once that time has passed.
When a request fails, HARP reports the cause in a popup, with the actions that apply: adding an API key, opening the page of the model to check its status, opening the log, or reporting the problem through a prefilled GitHub issue. A quota error clears once the allowance resets, or immediately with a key.
Highlights
HARP's Home tab lists every model we host, by category. Notable models include the following.
Separation
- Demucs splits a mix into drums, bass, vocals, and other.
- BS-RoFormer splits a mix into six stems, with guitar and piano among them.
- LarsNet splits a drum mix into kick, snare, toms, hi-hat, and cymbals.
- AudioSep extracts any sound described in text, such as a dog barking.
Analysis
- S-KEY finds the key, as a label over the audio.
- Beat This! marks beats and downbeats, and Chordino labels the chords.
- SongFormer marks the sections of a song.
- Transkun transcribes solo piano to MIDI, and Omnizart transcribes other instruments, drums, vocals, and chords.
- Whisper transcribes speech to a text file.
Generation
- MusicGen generates music from text, following an optional melody.
- ACE-Step generates a song with vocals from lyrics and a style.
- text2midi generates MIDI from text, and Anticipatory Music Transformer writes an accompaniment to a MIDI part.
- AnyAccomp writes an accompaniment to a vocal or lead recording.
- VampNet makes variations on a recording, and Stable Audio 3 restyles, inpaints, or continues one from a prompt.
Synthesis
- MIDI Synthesizer renders MIDI with a General MIDI soundfont, and DDSP-Piano and DDSP-Guitar render it with expressive instrument models.
- Kokoro synthesizes speech from text, and OmniVoice synthesizes it in the voice of a reference recording.
- SoulX-Singer synthesizes singing in the voice of a reference recording.
Effects and Enhancement
- micro-TCN emulates an LA-2A compressor, and PANAMA a guitar amplifier.
- RemFX removes effects from a recording.
- DeepFilterNet denoises speech, and U-DREAM removes room reverb.
- AudioSR upsamples any audio to 48 kHz, and Apollo restores audio degraded by MP3 encoding.
Production
- Matchering masters a track to match a reference.
- SonicMaster restores and masters by text instruction.
- FxNorm-Automix mixes up to four stems.
To add a model of your own, see Deploying Models with PyHARP.