Tłumaczenie automatyczne · Oryginał angielski

HTDemucs & Open- Unmix - 4- Stem Music Separation

Open- Unmix HQ dzieli utwór muzyczny stereo na cztery niezależne łodygi - wokale, bębny, basoraz pozostałe. Cztery niezależne modele BiLSTM (jeden na łodygę) produkują maski wielkości nad mieszaniną STFT; opcjonalny wiener postfilter je godzi. Biega na Apple Silicon poprzez MLX.

Dostępne są dwa silniki: Open- Unmix HQ (lekki, domyślny) oraz HTDemucs (Demucs v4) - wysokiej jakości Hybrid Transformer model wybrany z --engine htdemucs. Oba uruchomione na Apple Silicon przez MLX i wyjście tych samych czterech łodyg w 44.1 kHz.

Co to jest?

Architektura

Cztery niezależne łodygi, każda kopia tej samej sieci:

EtapKształt / działanie
STFT4096- punkt FFT, 1024- hop, okresowe okno Hann, reflektor-pad. 2049 kosze częstotliwości na ramę.
Normalizacja wejściaUprawy do 1487 koszy (sr. 16 kHz), stosować wyuczone perbin średnia + skala z treningu.
EnkoderLinii 2974 → 512 + BatchNorm + tanh. Wejście 2 kanały × 1487 pojemniki.
BiLSTM3 warstwy, 256 ukryte na kierunek (512 skuteczne).
DekoderSkip- concat enkodera i wyjść LSTM (1024) → Linii 1024 → 512 + BN + ReLU → Linii 512 → 4098.
Denorm wyjściowy + maskaElement- wise mnożenie z wielkością mieszaniny; faza z mieszaniny; iSTFT overlap- add.
Wiener (nieobowiązkowo)Maski Power@-@ ratio we wszystkich 4 szacunkach łodyg. Faza regrzysk tak wynika z sumy do mieszanki.

Wzór

SkładnikWartość
Parametry / pień8.9M
Parametry ogółem (4 łodygi)~ 35.6M
Szybkość próbkowania44,1 kHz stereo
Latencja w kawałkachOffline (full- track STFT)
Wagiaufklarer / OpenUnmix- HQ- MLX (sejfy, ~ 136 MB)
Upstreamsigsep / open- unmix- pypalnik (Stöter et al., JOSS 2019)

HTDemucs (Demucs v4)

Dla wyższej jakości separacji - szczególnie na basie i bębnach - pakiet również statków HTDemucs, Meta 's Hybrid Transformer Demucs. Łączy gałąź spektrogramu i falisty przez transformator domeny krzyżowej; wysłany htdemucs_ft wariant jest torbą czterech modeli podmodelowych z dostrojeniem fine-, jeden na łodygę. Wagi pobierane z HuggingFace przy pierwszym użyciu. Na kierunkowym wskaźniku próbki MUSDB- (museval / BSSEval v4) to średnie + 3.01 dB ponad UMX- HQ, z największymi zyskami na basie (+ 5.75 dB).

SkładnikWartość
Parametry168M (4 × 42M dostrojone do podmodeli)
Szybkość próbkowania44,1 kHz stereo
Ogrzewanie7.8 s segmenty, 25% nakładanie się, trójkątne skrzyżowanie
Wagiaufklarer / HTDemucs- FT- MLX (fp16, ~ 320 MB)
Upstreambadania twarzy / demuki (Rouard et al., ICASSP 2023)

Szybki 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 (domyślnie) dla najlepszej jakości. Pass targets: [.vocals] aby wydobyć tylko podzbiór łodyg i pomijać inne modele.

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

Kiedy stosować

Open- Unmix pasuje kiedy...

... potrzebujesz lekkiej, offline source- separacja pass wewnątrz aplikacji lub rurociągu na Apple Silicon. 8.9M params na rdzeń utrzymuje pobieranie i pamięci skromny. Magnitude- maskowanie plus Wiener daje dobre łodygi na większości zawartości pop / rock. Dla stanu-of-the-sztuki izolacji wokalnej na materiał studyjny, przełącz na zestaw HTDemucs (Demucs v4) silnik przez --engine htdemucs; Open- Unmix pozostaje lekki, statek-w-aplikacji - koniec handlu.