תרגום מכונה · המקור באנגלית
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.
מה זה
- 4 נובע לכל track - שירה, תופים, בס, השני.כל אחד הוא קובץ 2 ערוצים 44.1 kHz.
- Magnitude-mask מודל - כל מודל של גזע צופה מסכה לא קניינית מוחלת על ספקטרום התערובת; שלב נלקח מן התערובת.
- Wiener post-filter (אופציונלי) - זיכוך רך-מסקלי בכל 4 הם מגיעים כדי שהם יסכו בעקביות חזרה לתערובת.0.5 DB SDR
- טביעת רגל קטנה - 8.9M params לכל גזע - 136 MB בסך הכל עבור כל 4 גזעים.
- Apache-2.0 - עלות משקולות מתחת MIT, CoreML/MLX המרה תחת Apache-2.0
ארכיטקטורה
ארבעה מרכיבים עצמאיים, כל עותק של אותה רשת:
| שלב השלב | צורה / הפעלה |
|---|---|
| STFT | 4096 נקודות FFT, 1024-הופ, חלון האן תקופתי, לוח רפלקציה. 2049 תדרים למסגרת. |
| Input Normalize | Crop to 1487 bins (אנתרופולוגיה 16 kHz), חל על למד לכל-בין פירושו + קנה מידה מאימון. |
| Encoder | קואר 2974 - 512 + Batch Norm + tanh. Input הוא 2 ערוצים × 1487 בינארי. |
| BLSTM | 3 שכבות, 256 מוסתרות לכיוון (512 יעיל) תופסות את ההקשר הזמני על פני מסגרות. |
| Decoder | דלג-קון של תפוקות LSTM (1024) Linear 1024 , 512 + BN + ReLU - Linear 512 , 4098. |
| Output Denorm + Mask | אלמנט חכם להכפיל עם גודל תערובת; שלב מתערובת; iSTFT חפיפה. |
| Wiener (אופציונלי) | מסיכות כוח-רציו על פני כל ה- 4 של גזע Z. Refines שלב כל כך מביא סכום לתערובת. |
מודל מודל
| המונחים | ערך |
|---|---|
| מילימטרים / AST | 8.9M |
| מילימטרים (4 גזעים) | 35.6M |
| שיעור | 44.1 kHz stereo |
| המונחים: chunk latency | מסלול מלא STFT |
| משקל | aufklarer / OpenUnmix-HQ-MLX (מבטיחים, 136 MB) |
| Upstream | sigsep/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) |
| Upstream | facebookresearch/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
מתי להשתמש
...אתה צריך קל משקל, לא מקוון של פריקה עובר בתוך אפליקציה או צינורות על Apple Silicon. 8.9M params לגזע ממשיך להוריד וזיכרון צנוע. Magnitude-masking בתוספת Wiener נותן טוב על רוב התוכן הפופ/רוק. עבור בידוד קולי של המדינה-of-of-the-art על חומר סטודיו, לעבור את החבילהדפסהיד בתוספת Wiener מספק גזע טוב על התוכן. HTDemucs (Demucs v4) מנוע באמצעות --engine htdemucsפתוח-Unmix נשאר הקצה הקל, האוניה-שלך של ה- Tradingoff.