[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-76078":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":16,"starSnapshotCount":16,"syncStatus":30,"lastSyncTime":31,"discoverSource":32},76078,"stemdeck","stemdeckapp\u002Fstemdeck","stemdeckapp","Stemdeck is an modern stem extraction platform for musicians,producers and hobbyists, designed to isolate vocals, drums, bass, piano and guitar  for practice, transcription, remixing, and creative audio workflows through a modern and interactive interface","",null,"JavaScript",1614,162,6,1,0,43,723,1106,129,19.64,"Apache License 2.0",false,"main",true,[],"2026-06-12 02:03:39","\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"imgs\u002Fstemdeck-svg-assets\u002Fstemdeck-logo-stacked.svg\" alt=\"StemDeck\" width=\"515\" \u002F>\n\n**Free, local stem separation. No account. No upload. No subscription.**\n\n\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fci.popchores.app\u002Frepos\u002F2\">\u003Cimg src=\"https:\u002F\u002Fci.popchores.app\u002Fapi\u002Fbadges\u002F2\u002Fstatus.svg?event=push\" alt=\"CI\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fthcp\u002Fstemdeck\u002Fstargazers\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fthcp\u002Fstemdeck?style=flat-square\" alt=\"GitHub Stars\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fthcp\u002Fstemdeck\u002Freleases\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002Fthcp\u002Fstemdeck\u002Ftotal?style=flat-square&color=52c65f\" alt=\"Total Downloads\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fthcp\u002Fstemdeck\u002Freleases\u002Flatest\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fthcp\u002Fstemdeck?style=flat-square\" alt=\"Latest Release\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fthcp\u002Fstemdeck\u002Fblob\u002Fmain\u002FLICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fthcp\u002Fstemdeck?style=flat-square\" alt=\"License\">\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n\u003Cbr>\n\n\u003Cp align=\"center\">\u003Csub>JOIN THE COMMUNITY\u003C\u002Fsub>\u003C\u002Fp>\n\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fstemdeckapp\u002Fstemdeck\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGitHub-stemdeckapp-181717?style=flat-square&logo=github&logoColor=white\" alt=\"GitHub\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FJGk7FdZb9N\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDiscord-Join-5865F2?style=flat-square&logo=discord&logoColor=white\" alt=\"Discord\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fwww.reddit.com\u002Fr\u002FStemDeckApp\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FReddit-r%2FStemDeckApp-FF4500?style=flat-square&logo=reddit&logoColor=white\" alt=\"Reddit\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fwww.instagram.com\u002Fstemdeck\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FInstagram-stemdeck-E4405F?style=flat-square&logo=instagram&logoColor=white\" alt=\"Instagram\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fstemdeck.app\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWebsite-stemdeck.app_(soon)-000000?style=flat-square&logo=safari&logoColor=white\" alt=\"Website\">\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n\u003C\u002Fdiv>\n\n\u003Cbr>\n\nDrop an MP3 or WAV, or paste a YouTube URL. StemDeck splits the audio into up to six stems (vocals, drums, bass, guitar, piano, other) and plays them back in a DAW-style multitrack mixer. Mute, solo, mix, zoom the waveform, loop a region, and download individual stems or a custom mix. Everything runs on your own machine.\n\n> **What is this?** StemDeck is a stem separation tool, not a downloader. Its primary use case is processing audio files you already own — drag an MP3 or WAV onto the import bar and go. YouTube URL support is provided as a convenience for content you have the right to process. StemDeck does not store, cache, or redistribute any downloaded content. All processing happens locally on your machine and nothing leaves it.\n\n> StemDeck is a free, open alternative to cloud stem-splitters like Moises and LALAL.AI. No account, no quota, no upload, no subscription. If you mainly want stems for personal study and prefer to keep things local and free, StemDeck should be enough. If you need the polish, the mobile app, or the extra musician tooling, the commercial products are a better fit.\n\n![StemDeck screenshot](imgs\u002Fscreenshot\u002Fstemdeck.png)\n\nIf you find StemDeck useful, consider [buying the maker a coffee](                    buymeacoffee.com\u002Fstemdeckapp); these donations are being used to random acts of kindness toward others \n\n---\n\n## Features\n\n**6-stem separation** via Demucs `htdemucs_6s`, with auto-detection of the best Torch device (CUDA on NVIDIA, MPS on Apple Silicon, CPU fallback).\n\n**YouTube and local file import.** Paste a YouTube URL or drop an MP3 or WAV directly onto the import bar.\n\n**DAW-style waveform editor** with min\u002Fmax sample rendering across all stems, shared normalization, zoom in\u002Fout\u002FFit, loop drag on the ruler, gold playhead overlay, and stem-aligned lanes.\n\n**Stem subset extraction.** Click stem chips to choose which stems to keep. Clicking from \"all selected\" snaps to \"only this one\"; subsequent clicks add or remove.\n\n**\"Original\" backing track.** When you pick a subset, a 7th lane contains the complement (full song minus selected stems), perfect for A\u002FB reference without doubling.\n\n**Downloadable selected mix.** A single `mix.wav` of just your selected stems, summed via ffmpeg amix.\n\n**Per-stem mixer** with volume fader, mute, solo, and \"monitor\" (solo-only) per stem. State syncs between the preview mixer and the stems sidebar.\n\n**Live VU meters** per stem. Post-gain RMS via Web Audio analysers with peak hold and slow falloff.\n\n**Song analysis** including BPM (librosa beat tracker), key, scale, and confidence (Albrecht-Shanahan profiles), integrated LUFS (BS.1770), and sample peak in dBFS.\n\n**Cancellable jobs.** Cancel mid-pipeline and the runner terminates the active subprocess immediately, deletes the partial job dir, and returns to ready.\n\n**Library panel** with folder-based track organisation, drag-and-drop, search, and trash.\n\n---\n\n## Honest Comparison\n\nStemDeck is not trying to compete with commercial stem-separation products. It covers the core use case well and stops there. This table exists so you can make an informed choice rather than discover the gaps after the fact.\n\n| | StemDeck | Moises \u002F LALAL.AI \u002F similar |\n|---|---|---|\n| **Price** | Free, forever | Freemium; credits or subscription required for regular use |\n| **Hosting** | Runs entirely on your machine | Cloud; audio must be uploaded to their servers |\n| **Account \u002F login** | None | Required |\n| **Internet required** | Only for YouTube download and first model fetch (~170 MB, cached after) | Always; no offline use |\n| **Privacy** | Audio never leaves your machine | Audio is uploaded and processed on third-party servers |\n| **Data retention** | You control it; delete anytime | Governed by their privacy policy and retention period |\n| **Stem model** | Demucs `htdemucs_6s` (open source, Meta AI) | Proprietary models, regularly updated, generally higher quality |\n| **Stem count** | 6 (vocals, drums, bass, guitar, piano, other) | Up to 10 depending on service and plan |\n| **Input formats** | YouTube URL, MP3, WAV | MP3, WAV, FLAC, M4A, and more depending on service |\n| **Processing speed** | Depends on your hardware; fast with a GPU, slow on CPU only | Fast regardless of your hardware (runs on their servers) |\n| **Batch processing** | One job at a time | Yes, on paid plans |\n| **Mobile app** | No | iOS and Android |\n| **Extra features** | No (no pitch shift, chord detection, lyrics, click track, BPM tap) | Yes, varies by product |\n| **Polish** | Functional, hobby-grade UI | Polished, production-grade apps |\n| **Source code** | Open source, forkable, self-hostable | Closed source |\n\nIf you need speed, quality, mobile access, or the extra musician tooling, the commercial products are worth the money. If you want stems for personal study, prefer to keep audio private, or just want something that runs locally with no strings attached, StemDeck is enough.\n\n---\n\n## Download\n\nPre-built installers and zips are attached to each [GitHub Release](https:\u002F\u002Fgithub.com\u002Fthcp\u002Fstemdeck\u002Freleases).\n\n**macOS**\n\n| DMG | GPU | Chip |\n|---|---|---|\n| `StemDeck-macOS-arm64.dmg` | Apple Silicon (MPS) | M1 and later |\n| `StemDeck-macOS-x64.dmg` | CPU only | Intel |\n\nOpen the DMG, drag StemDeck to Applications, and launch it. On first launch the setup screen downloads the Python runtime (~500 MB), FFmpeg, and the Demucs model (~170 MB). Subsequent launches skip setup and start in seconds. No Python or system dependencies required.\n\nmacOS may show a Gatekeeper prompt on first open — right-click the app and choose Open to bypass it.\n\n**Windows**\n\n| Zip | GPU | Approx. size |\n|---|---|---|\n| `StemDeck-Windows-x64.zip` | CPU only | ~700 MB |\n| `StemDeck-Windows-x64.NVIDIA.zip` | NVIDIA CUDA | ~1.6 GB |\n\nExtract the zip anywhere, run `StemDeck.exe`. On first launch the app verifies the bundled Python runtime and downloads FFmpeg and the Demucs model (~170 MB). Subsequent launches skip this and start in seconds. Everything is self-contained; no Python or system dependencies required.\n\n---\n\n## Technologies\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPlatform-Windows%20%7C%20macOS%20%7C%20Linux-0078D6?style=flat-square&logo=windows\" alt=\"Platform\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPowered_by-Demucs-FF6B35?style=flat-square\" alt=\"Powered by Demucs\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCI-Woodpecker-4D9DE0?style=flat-square&logo=woodpecker-ci&logoColor=white\" alt=\"CI: Woodpecker\">\n\u003C\u002Fdiv>\n\n\u003Cbr>\n\nStemDeck is built on **[Python 3.10+](https:\u002F\u002Fpython.org)** managed via **[uv](https:\u002F\u002Fgithub.com\u002Fastral-sh\u002Fuv)**, with a **[FastAPI](https:\u002F\u002Ffastapi.tiangolo.com)** backend serving REST and Server-Sent Events. Stem separation uses **[Demucs](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fdemucs)** (`htdemucs_6s`), Meta AI's open-source 6-stem neural network. YouTube audio is fetched via **[yt-dlp](https:\u002F\u002Fgithub.com\u002Fyt-dlp\u002Fyt-dlp)**; transcoding and mixing use **[FFmpeg](https:\u002F\u002Fffmpeg.org)**. BPM detection and key analysis run on **[librosa](https:\u002F\u002Flibrosa.org)**; loudness measurement uses **[pyloudnorm](https:\u002F\u002Fgithub.com\u002Fcsteinmetz1\u002Fpyloudnorm)** (ITU-R BS.1770). The macOS and Windows desktop shells are **[Tauri v2](https:\u002F\u002Ftauri.app)** (Rust\u002FWKWebView on macOS, Rust\u002FWebView2 on Windows). The frontend is vanilla JS with the Web Audio API, no framework and no build step; waveforms are rendered on `\u003Ccanvas>` using min\u002Fmax sample rendering.\n\n*Thanks to the creators and maintainers of all the open-source libraries that make StemDeck possible.*\n\n---\n\n## Build from Source\n\n### macOS Native App\n\nRequires Rust, Node.js, and Python 3.10–3.13. Builds a self-contained `.app` that downloads its own runtime on first launch.\n\n```sh\n# First time only — add the cross-compilation targets\nrustup target add aarch64-apple-darwin   # Apple Silicon\nrustup target add x86_64-apple-darwin    # Intel\n\n# Build Apple Silicon\nARCH=arm64 scripts\u002Fmacos\u002Fmake-runtime-pack.sh\nARCH=arm64 scripts\u002Fmacos\u002Fmake-app.sh\nARCH=arm64 scripts\u002Fmacos\u002Fmake-dmg.sh\n\n# Build Intel (requires Rosetta 2 and an x86_64 Python)\nARCH=x64 scripts\u002Fmacos\u002Fmake-runtime-pack.sh\nARCH=x64 scripts\u002Fmacos\u002Fmake-app.sh\nARCH=x64 scripts\u002Fmacos\u002Fmake-dmg.sh\n```\n\nThe `.app` lands at `desktop\u002Fsrc-tauri\u002Ftarget\u002F\u003Ctarget>\u002Frelease\u002Fbundle\u002Fmacos\u002FStemDeck.app`. The DMG lands at `.build\u002Fmacos-dist\u002FStemDeck-macOS-\u003Carch>.dmg`.\n\nTo run a fresh build directly without the DMG:\n\n```sh\n# Wipe previous app data, then open\nrm -rf ~\u002FLibrary\u002FApplication\\ Support\u002FStemDeck\nopen desktop\u002Fsrc-tauri\u002Ftarget\u002Faarch64-apple-darwin\u002Frelease\u002Fbundle\u002Fmacos\u002FStemDeck.app\n```\n\n---\n\n### Web Server (macOS \u002F Linux \u002F Windows with Python 3.10+)\n\n#### Prerequisites\n\nPython 3.10 or newer, `ffmpeg` on your PATH, and [uv](https:\u002F\u002Fgithub.com\u002Fastral-sh\u002Fuv). Around 170 MB of free disk for the Demucs model, which downloads automatically on first run.\n\n#### macOS \u002F Linux (one-shot)\n\n```sh\ngit clone https:\u002F\u002Fgithub.com\u002Fthcp\u002Fstemdeck stemdeck && cd stemdeck\n.\u002Frun.sh setup     # installs ffmpeg + uv, runs uv sync\n.\u002Frun.sh start\n```\n\nOpen \u003Chttp:\u002F\u002Flocalhost:8000>.\n\n`setup` uses Homebrew on macOS and `apt-get` on Debian\u002FUbuntu. For other Linux distros, install `ffmpeg` and [uv](https:\u002F\u002Fgithub.com\u002Fastral-sh\u002Fuv) manually, then run `uv sync` followed by `.\u002Frun.sh start`.\n\n#### Manual (any platform)\n\n```sh\ngit clone https:\u002F\u002Fgithub.com\u002Fthcp\u002Fstemdeck stemdeck && cd stemdeck\nuv sync\nuv run uvicorn app.main:app --reload\n```\n\n#### Docker\n\n```sh\ndocker compose -f build\u002Fdocker-compose.yml up --build\n```\n\nStems land in `.\u002Fjobs\u002F` on the host. Demucs weights are cached in a named volume so they don't re-download on rebuild. Note: no GPU passthrough on macOS Docker.\n\n#### `run.sh` control script\n\n```sh\n.\u002Frun.sh setup      # one-shot: install ffmpeg + uv, then uv sync\n.\u002Frun.sh start      # boots uvicorn in the background\n.\u002Frun.sh stop       # graceful shutdown\n.\u002Frun.sh restart    # stop + start\n.\u002Frun.sh status     # is it running?\n```\n\n---\n\n## How to Use\n\n1. On the import bar, click stem chips to choose which stems to extract (defaults to all 6).\n2. Paste a YouTube URL **or** drop an MP3\u002FWAV file, then click **Process**.\n3. Wait through `Uploading...` \u002F `Downloading...` → `Analyzing...` → `Separating...` → `Mixing tracks...`.\n4. When done, the studio dashboard appears. If you picked a subset, the first lane is **Original** (full song minus your selection); the rest are your isolated stems.\n5. Mix: **Play\u002FPause\u002FStop** controls the master transport. **M** mutes a stem, **S** solos it (additive; multiple solos stay audible), **Monitor** solos only that stem and clears others. The volume fader moves 1:1 with drag; double-click resets to 0 dB; `Shift+wheel` gives coarse adjustment and plain wheel gives fine. The **Reset**, **Mute**, and **Solo** toolbar buttons act on all stems at once.\n6. Drag on the ruler to define a loop region; click `Loop` to enable. Use `+` \u002F `-` \u002F `Fit` or `Ctrl\u002FCmd+wheel` to zoom.\n7. **Download Mix** in the footer gives you a WAV of your selected stems summed together.\n\n**Keyboard shortcuts:** `Space` play\u002Fpause · `[` seek -5s · `]` seek +5s · `L` loop · `I` loop in · `O` loop out\n\n---\n\n## Configuration\n\n| Variable | Default | Purpose |\n|---|---|---|\n| `STEMDECK_DEMUCS_DEVICE` | auto | Force Torch device: `cuda`, `mps`, or `cpu`. |\n| `STEMDECK_DEMUCS_MODEL` | `htdemucs_6s` | Demucs model name. |\n| `STEMDECK_JOBS_DIR` | `.\u002Fjobs` | Where job directories land. |\n| `STEMDECK_MAX_DURATION_SEC` | `1200` | Reject audio longer than this (seconds). |\n| `STEMDECK_JOB_TTL_SECONDS` | `86400` | How long to keep job dirs on disk. |\n| `STEMDECK_MAX_PENDING_JOBS` | `3` | Max queued jobs before returning 503. |\n\n---\n\n## API\n\n| Method | Path | Purpose |\n|---|---|---|\n| POST | `\u002Fapi\u002Fjobs` | JSON `{url, stems?}` or multipart `file + stems` → `{job_id}` |\n| GET | `\u002Fapi\u002Fjobs\u002F{id}` | Job state snapshot |\n| GET | `\u002Fapi\u002Fjobs\u002F{id}\u002Fevents` | SSE stream of job state |\n| POST | `\u002Fapi\u002Fjobs\u002F{id}\u002Fcancel` | Terminate active subprocess and cancel job |\n| GET | `\u002Fapi\u002Fjobs\u002F{id}\u002Fstems\u002F{name}.wav` | Stream\u002Fdownload a single stem (range requests) |\n| DELETE | `\u002Fapi\u002Fjobs\u002F{id}` | Remove job dir from disk (terminal jobs only) |\n\n---\n\n## Troubleshooting\n\n**`ffmpeg: command not found`:** install ffmpeg and restart with `.\u002Frun.sh restart`.\n\n**`WARNING: [youtube] No supported JavaScript runtime`:** install deno (`brew install deno` on macOS) and restart. Downloads still work without it but may pick suboptimal formats.\n\n**First separation is very slow:** Demucs downloads `htdemucs_6s` weights (~170 MB) on first run; cached afterwards.\n\n**Demucs runs on CPU only:** check the startup log for `device=mps` or `device=cuda`. If you see `cpu`, your torch install may be CPU-only.\n\n**Page reloaded mid-job:** the job keeps running server-side. Wait for it to finish, then resubmit.\n\n**`.\u002Frun.sh: Permission denied`:** run `chmod +x run.sh`.\n\n---\n\n## Layout on Disk\n\n```\njobs\u002F\u003Cjob_id>\u002F\n└── stems\u002F\n    ├── vocals.wav      # the 6 Demucs stems (always present)\n    ├── drums.wav\n    ├── bass.wav\n    ├── guitar.wav\n    ├── piano.wav\n    ├── other.wav\n    ├── original.wav    # sum of un-selected stems (subset only)\n    └── mix.wav         # ffmpeg amix of selected stems (subset only)\n```\n\nJob state is in-memory. Restart the server and the job list resets, but files persist on disk. Old dirs are swept automatically (TTL 24 h, configurable).\n\n---\n\n## Disclaimer\n\nStemDeck is a local audio stem separation tool intended for personal study, research, and experimentation. It is not a downloading service. It does not store, cache, or redistribute any audio content. All processing runs on the user's own machine and no audio is transmitted anywhere.\n\nYouTube URL support is provided via [yt-dlp](https:\u002F\u002Fgithub.com\u002Fyt-dlp\u002Fyt-dlp) as a convenience. Automated downloading may violate YouTube's Terms of Service. You, the user, are solely responsible for ensuring you have the right to process any audio you submit, complying with the terms of service of any site you download from, and respecting the copyright of the material you work with.\n\nYou are also responsible for following the licenses of the underlying tools this project depends on (yt-dlp, Demucs, FFmpeg, PyTorch, and others listed in `pyproject.toml`).\n\nThe author(s) of StemDeck provide this software \"as is\", without warranty of any kind, and accept no responsibility or liability for how it is used.\n\n---\n\n## Community\n\n| Platform | Link |\n|---|---|\n| GitHub | [stemdeckapp\u002Fstemdeck](https:\u002F\u002Fgithub.com\u002Fstemdeckapp\u002Fstemdeck) |\n| Discord | [discord.gg\u002FJGk7FdZb9N](https:\u002F\u002Fdiscord.gg\u002FJGk7FdZb9N) |\n| Reddit | [r\u002FStemDeckApp](https:\u002F\u002Fwww.reddit.com\u002Fr\u002FStemDeckApp\u002F) |\n| Instagram | [@stemdeck](https:\u002F\u002Fwww.instagram.com\u002Fstemdeck) |\n| Website | [stemdeck.app](https:\u002F\u002Fstemdeck.app) *(coming soon)* |\n\n---\n\n## Contributing\n\nIssues, feature suggestions, and pull requests are welcome. See open issues for what's planned.\n\n---\n\n## Star History\n\n\u003Ca href=\"https:\u002F\u002Fwww.star-history.com\u002F?repos=stemdeckapp%2Fstemdeck&type=date&legend=top-left\">\n \u003Cpicture>\n   \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fchart?repos=stemdeckapp\u002Fstemdeck&type=date&theme=dark&legend=top-left\" \u002F>\n   \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fchart?repos=stemdeckapp\u002Fstemdeck&type=date&legend=top-left\" \u002F>\n   \u003Cimg alt=\"Star History Chart\" src=\"https:\u002F\u002Fapi.star-history.com\u002Fchart?repos=stemdeckapp\u002Fstemdeck&type=date&legend=top-left\" \u002F>\n \u003C\u002Fpicture>\n\u003C\u002Fa>\n","Stemdeck 是一个现代化的音频分离平台，专为音乐家、制作人和爱好者设计，能够将音频中的歌声、鼓、贝斯、钢琴和吉他等音轨分离出来。项目采用JavaScript开发，提供了一个直观且交互性强的界面，让用户可以轻松地进行音轨的静音、独奏、混音、波形缩放、区域循环播放以及下载单独的音轨或自定义混合版本。所有处理都在本地完成，无需上传文件到云端，也不需要注册账户或订阅服务。Stemdeck 适用于需要对已有音频文件进行练习、转录、重新混音或创意性编辑的场景，特别适合那些偏好保持工作流程私密性和自由度的用户。",2,"2026-06-11 03:54:23","CREATED_QUERY"]