תרגום מכונה · המקור באנגלית

HTDemucs & Open-Unmix - 4Stem Musicהפרדה

Open-Unmix HQ מחלק מסלול מוזיקה סטריאו לארבעה גזעים עצמאיים - קולות, תופים, בסו אחריםארבעה מודלים BLSTM עצמאיים (אחד לכל גזע) מייצרים מסכות גודל על התערובת STFT; אופציונלי Wiener post-filter מיישב אותם. Runs על Apple Silicon באמצעות MLX.

שני מנועים זמינים: Open-Unmix (משקל אור, ברירת המחדל) HTDemucs (Demucs v4) מודל חדש באיכות גבוהה יותר של Transformer שנבחר עם --engine htdemucsשניהם רצים על Apple Silicon באמצעות MLX ומפיקים את אותם ארבעה גזעים ב- 44.1 kHz.

מה זה

ארכיטקטורה

ארבעה מרכיבים עצמאיים, כל עותק של אותה רשת:

שלב השלבצורה / הפעלה
STFT4096 נקודות FFT, 1024-הופ, חלון האן תקופתי, לוח רפלקציה. 2049 תדרים למסגרת.
Input NormalizeCrop to 1487 bins (אנתרופולוגיה 16 kHz), חל על למד לכל-בין פירושו + קנה מידה מאימון.
Encoderקואר 2974 - 512 + Batch Norm + tanh. Input הוא 2 ערוצים × 1487 בינארי.
BLSTM3 שכבות, 256 מוסתרות לכיוון (512 יעיל) תופסות את ההקשר הזמני על פני מסגרות.
Decoderדלג-קון של תפוקות LSTM (1024) Linear 1024 , 512 + BN + ReLU - Linear 512 , 4098.
Output Denorm + Maskאלמנט חכם להכפיל עם גודל תערובת; שלב מתערובת; iSTFT חפיפה.
Wiener (אופציונלי)מסיכות כוח-רציו על פני כל ה- 4 של גזע Z. Refines שלב כל כך מביא סכום לתערובת.

מודל מודל

המונחיםערך
מילימטרים / AST8.9M
מילימטרים (4 גזעים)35.6M
שיעור44.1 kHz stereo
המונחים: chunk latencyמסלול מלא STFT
משקלaufklarer / OpenUnmix-HQ-MLX (מבטיחים, 136 MB)
Upstreamsigsep/open-unmix-pytorch (Stöter et al., JOSS 2019)

HTDemucs (Demucs v4)

איכות הפרדה גבוהה יותר - במיוחד בס ותופים - החבילה גם ספינות HTDemucs, Transformer Hybrider Demucs , הוא ממזג ענף ספקטרוגרמה וזרוע גלפור דרך מהפך צלב-דומיין; המשלוח htdemucs_ft גרסה היא שקית של ארבעה מודלים תת-מודלים מנוסחים היטב, אחד על משקולות יורד מ HuggingFace על שימוש ראשון.על מדד MUSDB-sample כיוון (museval / BSSEval v4) הוא ממוצעים. 3.01 dB SDR מעל UMX-HQ, עם הרווחים הגדולים ביותר על בס (+5.75 dB).

המונחיםערך
המונחים:168M (4 × 42M מודלים של תת-מודלים)
שיעור44.1 kHz stereo
חלונות7.8 s פלח, 25% חפיפה, משולש צלב-פאדה
משקלaufklarer/HTDemucs-FT-MLX (fp16, -320 MB)
Upstreamfacebookresearch/demucs (Rouard et al., ICASSP 2023)

התחלה מהירה - 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")
)

לעבור wiener: true (default) עבור האיכות הטובה ביותר. Pass targets: [.vocals] כדי לחלץ רק תת-קבוצה של גזעים ו לדלג על המודלים האחרים.

CLI C

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

מתי להשתמש

Open-Unmix מתאים כאשר...

...אתה צריך קל משקל, לא מקוון של פריקה עובר בתוך אפליקציה או צינורות על Apple Silicon. 8.9M params לגזע ממשיך להוריד וזיכרון צנוע. Magnitude-masking בתוספת Wiener נותן טוב על רוב התוכן הפופ/רוק. עבור בידוד קולי של המדינה-of-of-the-art על חומר סטודיו, לעבור את החבילהדפסהיד בתוספת Wiener מספק גזע טוב על התוכן. HTDemucs (Demucs v4) מנוע באמצעות --engine htdemucsפתוח-Unmix נשאר הקצה הקל, האוניה-שלך של ה- Tradingoff.