Maskinoversættelse · Engelsk original

HTDemucs & Open- Unmix - 4- Stam- musikadskillelse

Open- Unmix HQ deler et stereomusikspor i fire uafhængige stængler - vokal, trommer, bas, og andet. Fire uafhængige BiLSTM modeller (en per stamme) producerer størrelse masker over blandingen STFT; en valgfri Wiener postfilter forener dem. Kører på Apple Silicon via MLX.

Der er to motorer til rådighed: Open- Mix HQ (letvægts, standard) og HTDemucs (Demucs v4) - en højere kvalitet Hybrid Transformer model udvalgt med --engine htdemucsBegge løb på Apple Silicon via MLX og output de samme fire stængler ved 44.1 kHz.

Hvad er det?

Arkitektur

Fire uafhængige stængler, hver en kopi af det samme netværk:

FaseForm / operation
STFT4096-point FFT, 1024-hop, periodisk Hann vindue, reflekt- pad. 2049 frekvens bins per ramme.
Normaliser for inputCrop to 1487 bins (Þ16 kHz), anvende lært per- bin gennemsnit + skala fra uddannelse.
EncoderLinear 2974 → 512 + BatchNorm + tanh. Input er 2 kanaler × 1487 bins.
BiLSTM3 lag, 256 skjult pr. retning (512 effektiv). Indfanger tidsmæssig kontekst på tværs af rammer.
AfkoderStencilsSkip-kontat af encoder og LSTM udgange (1024) → Linear 1024 → 512 + BN + LU → Lineær 512 → 4098.
Output denorm + maskeElementært-vis formere sig med blanding størrelse; fase fra blanding; iSTFT overlap- add.
Wiener (valgfrit)Power- ratio masker på tværs af alle 4 stængler skøn. Begrænser fase så stængler sum til blanding.

Model

KomponentVærdi
Parametre / stængler8.9M
Parametre i alt (4 stængler)~ 35,6 M
Stikprøverate44.1 kHz stereo
Klunk latencyOffline (full track STFT)
Vægtaufklarer / OpenUnmix- HQ- MLX (safetensorer, ~ 136 MB)
Upstreamsigsep / open- unmix- pyfach (Stöter et al., JOSS 2019)

HTDemucs (Demucs v4)

For højere separationskvalitet - især på bas og trommer - leveres pakken også HTDemucs, Meta 's Hybrid Transformer Demucs. Det smelter en spektrogram gren og en waveform gren gennem en cross-domæne transformer; den afsendt htdemucs_ft variant er en pose med fire fine- tunede sub- modeller, en per stængel. Vægt download fra HuggingFace ved første brug. På en retningsbestemt MUSDB- prøve benchmark (musikal / BSSEval v4) det gennemsnit + 3.01 dB SDR over UMX- HQ, med de største gevinster på bas (+ 5.75 dB).

KomponentVærdi
Parametre168M (4 × 42M fine- tunede undermodeller)
Stikprøverate44.1 kHz stereo
Vindowning7.8 s segmenter, 25% overlap, trekantet tværfade
Vægtaufklarer / HTDemucs-FT- MLX (fp16, ~ 320 MB)
Upstreamfacebookresearch / demucs (Rouard et al., ICASSP 2023)

Hurtig 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")
)

Pass wiener: true (standard) for bedste kvalitet. targets: [.vocals] kun at udtrække en delmængde af stængler og springe de andre modeller over.

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

Hvornår skal du bruge

Open- Unmix passer når...

... du har brug for en letvægts, offline source- separation pass inde i en app eller pipeline på Apple Silicon. 8.9M params per stamme holder download og hukommelse beskeden. Magnitude- masking plus Wiener giver gode stilke på de fleste pop / rock indhold. For state- of- the- art vokal isolation på studiemateriale, skifte til bundtet HTDemucs (Demucs v4) Motor via --engine htdemucs; Open- Unmix forbliver den lette, shipping-in-your- app ende af handlen.