Strojový překlad · Anglický originál

HTDemucs & Open- Unmix - 4-Stem Music Separation

Open- Unmix HQ rozděluje stereo hudební skladbu na čtyři nezávislé stonky - vokály, bubny, okoun, a ostatní. Čtyři nezávislé modely BiLSTM (jeden na kmen) produkují masky velikosti nad směsí STFT; volitelný Wiener post- filtr je sladí. Běží na Apple Silicon přes MLX.

K dispozici jsou dva motory: Open-Unmix HQ (lehké, výchozí) a HTDemucs (Demucs v4) - vysoce kvalitní model Hybrid Transformer vybraný --engine htdemucsOba utíkejte. Apple Silicon prostřednictvím MLX a výstup stejné čtyři stonky na 44.1 kHz.

Co to je?

Architektura

Čtyři nezávislé stonky, každá kopie stejné sítě:

FázeTvar / provoz
STFT4096- bod FFT, 1024- hop, periodické Hann okno, reflect- pad. 2049 kmitočtové koše na rám.
Vstupní normalizaceCropt to 1487 bins (Ø 16 kHz), aplikujte naučený per- bin průměr + stupnice od tréninku.
EnkodérLinear 2974 → 512 + BatchNorm + tanh. Vstup je 2 kanály × 1487 koše.
BiLSTM3 vrstvy, 256 skrytých na směr (512 efektivní). Zachycuje časový kontext napříč rámy.
DekodérSkip- concat encoder a LSTM výstupy (1024) → Linear1024 →512 + BN + ReLU → Lineární512 →4098.
Výstupní denorm + maskaElement- wise množit s velikostí směsi; fáze od směsi; iSTFT overlap- add.
Wiener (nepovinné)Power-ratio masky ve všech 4 kmenových odhadů. Retence fáze tak stonky součet na směs.

Vzor

SoučástHodnota
Parametry / kmen8.9M
Parametry celkem (4 stonky)~ 35.6M
Vzorkovací rychlost44,1 kHz stereo
Latence chunkuOffline (plnokolejnicový STFT)
Váhyaufklarer / OpenUnmix- HQ-MLX (safetensors, ~ 136 MB)
Nahorusigsep / open- unmix- pylamper (Stöter et al., JOSS 2019)

HTDemucs (Demucs v4)

Pro vyšší kvalitu odloučení - zejména na basu a bubnech - balíček také lodě HTDemucs, Meta je hybridní transformátor Demucs. Sloučí spektrogram větve a waveform větve přes cross-domain transformátor; dodávané htdemucs_ft Varianta je taška se čtyřmi fine-laděnými podmodely, jeden na jeden stonek. Váhy stahují z HuggingFace při prvním použití. Na směrovém MUSDB-výběrovém měřítku (museval / BSSEval v4) je průměr + 3.01 dB nad UMX-HQ, s největším ziskem na basu (+ 5.75 dB).

SoučástHodnota
Parametry168M (4 × 42M finined sub-models)
Vzorkovací rychlost44,1 kHz stereo
Windowing7.8 s segmenty, 25% překrytí, trojúhelníkový cross- fade
Váhyaufklarer / HTDemucs-FT-MLX (fp16, ~ 320 MB)
Nahorufacebookresearch / demucs (Rouard et al., ICASSP 2023)

Rychlý start - Swift

import SourceSeparation
import AudioCommon

let separator = try await SourceSeparator.fromPretrained()

let stereo = try AudioFileLoader.loadStereo(
    url: URL(fileURLWithPath: "song.wav"),
    targetSampleRate: 44100
)

let stems = separator.separate(audio: stereo, sampleRate: 44100)
// stems[.vocals], stems[.drums], stems[.bass], stems[.other]
// Each is [[Float]] — left channel, right channel.

try WAVWriter.writeStereo(
    left: stems[.vocals]![0],
    right: stems[.vocals]![1],
    sampleRate: 44100,
    to: URL(fileURLWithPath: "vocals.wav")
)

Projít wiener: true (přednastaveno) pro nejlepší kvalitu. Pass targets: [.vocals] extrahovat pouze podmnožinu stonků a přeskočit ostatní modely.

CLI

speech separate song.wav                              # all 4 stems into song_stems/ (Open-Unmix)
speech separate song.wav --engine htdemucs            # Demucs v4 — higher quality
speech separate song.wav --engine htdemucs --htdemucs-precision int8  # smaller int8 bundle
speech separate song.wav --stems vocals               # vocals only
speech separate song.wav --stems vocals,drums         # subset
speech separate song.wav --output-dir /tmp/stems/     # custom output dir
speech separate song.wav --verbose                    # show timing

Kdy k použití

Odmíchat se hodí, když...

... potřebujete lehký, offline source- separační průsmyk uvnitř aplikace nebo potrubí na Apple Silicon. 8.9M params per stem udržuje stahování a paměť skromná. Magnitude- maskování plus Wiener dává dobré stonky na většině pop / rock obsahu. Pro stateofthe- art hlasová izolace na studiových materiálech, přepnout na sdružené HTDemucs (Demucs v4) motor přes --engine htdemucs; Open- Unmix zůstává lehký, ship-in-your-app konec obchodu.