尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证ENCORE. Basement Studio: a DAW for bands and home studios
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗A DAW for bands and home studios, from ENCORE.. Record, edit and mix on your own computer, with the ENCORE. plugins built in, then make a release package for ENCORE. (File > Send to ENCORE.: the mastered mix, stems, cover art and the song's details, ready to upload in the browser). Runs on Windows, macOS, Linux and Raspberry Pi (ENCORE. OS, or 64-bit Raspberry Pi OS).
Copyright (C) 2026 Encore Music, Inc. Licensed under the GNU Affero General
Public License v3 (see LICENSE). The ENCORE. name and logo are not licensed
(see TRADEMARKS.md). Third-party code: THIRD-PARTY-NOTICES.md. Outside
contributions are not accepted yet (see CONTRIBUTING.md).
Contact: [email protected]
Built on Tracktion Engine (GPLv3) and JUCE (AGPLv3).
Each release (under Releases on this repo) has, with a .sha256 file next to
each download:
ENCORE-Basement-Studio-<version>-windows-setup.exe,
the installer (Start menu, desktop shortcut, opens .encore songs, and it can
also install ENCORE. VST for your other DAWs). Or
ENCORE-Basement-Studio-<version>-windows-x64.zip to run it from any folder
without installing. It isn't code-signed yet, so SmartScreen warns the
first time: click More info, then Run anyway.ENCORE-Basement-Studio-<version>-macos.dmg. Open it and drag
ENCORE Basement Studio to Applications. It isn't signed or notarized yet, so
the first time macOS says it was "Not Opened": click Done (not Move to
Trash), go to System Settings > Privacy & Security, scroll to Security
and click Open Anyway, then open the app again and click Open Anyway.
You only do this once. If it still won't open, run
xattr -dr com.apple.quarantine "/Applications/ENCORE Basement Studio.app"
in Terminal.encore-basement-studio_<version>_amd64.deb and
_arm64.deb, and ENCORE-Basement-Studio-<version>-x86_64.AppImage and
-aarch64.AppImage. See below.Versions 0.4.3 and earlier were published from a different repository.
Runs on 64-bit Raspberry Pi OS Bookworm or newer (and ENCORE. OS), Debian 12 or newer, and Ubuntu 22.04 or newer (plus Mint, Pop!_OS and others built on them). Pick the file for your machine: amd64 / x86_64 for regular PCs and laptops, arm64 / aarch64 for a Raspberry Pi 4 or 5 running a 64-bit system (32-bit isn't supported).
The .deb (Ubuntu, Debian, Mint, Pop!_OS, Raspberry Pi OS): from the folder you downloaded it to:
sudo apt install ./encore-basement-studio_<version>_arm64.deb
ENCORE. Basement Studio is then in your applications menu (under Sound &
Video), encore-basement-studio starts it from a terminal, and .encore
songs open in it with a double-click. Remove it with
sudo apt remove encore-basement-studio.
The AppImage (almost any distribution, nothing to install): make it runnable and start it:
chmod +x ENCORE-Basement-Studio-*.AppImage
./ENCORE-Basement-Studio-*.AppImage
If it says FUSE is missing, install libfuse2 (libfuse2t64 on Ubuntu
24.04 and later), or run it with --appimage-extract-and-run.
Audio works through ALSA out of the box. JACK is supported too, and so is
PipeWire (the standard on current Ubuntu, Fedora and Raspberry Pi OS) through
its JACK support. For low latency, add yourself to the audio group
(sudo usermod -aG audio $USER, then log out and back in).
In the app, Help > Report a Problem (or "Report a problem" on the start screen) makes a zip of the log and your audio setup (no recordings) on your Desktop and opens an email to [email protected] with the version, your system and where the log is: attach the zip and send it. Or write to [email protected] directly. More at https://encoremusic.studio.
Keys: Space play/stop, R record, L loop, C click, Home back to the start, Ctrl+S save, Ctrl+N new song, Ctrl+O open, Ctrl+T add track, Ctrl+I import, Ctrl+E export, Alt+X split, Ctrl+Left/Right nudge, Insert adds a marker, Shift+Left/Right jumps between markers, Ctrl+Z / Ctrl+Y undo / redo. Help > Keyboard Shortcuts has the full list.
Source/ the app (Main.cpp, MainComponent.h, Hub.h, ...)
Source/edit/ the arrange view, mixer, piano roll, tuner
Source/encore/ creates the built-in ENCORE. plugins (Make<Name>.cpp)
Source/bridge/ the 32-bit plugin bridge (Windows)
Assets/ the ENCORE. icon
docs/ ENCORE-API.md (Send to ENCORE.), SHORTCUTS.md
installer/ Windows installer (Inno Setup), Linux .deb and AppImage
patches/ ENCORE.'s change to Tracktion Engine, applied by CMake
tools/ tuner data generator, Windows plugin window test
external/encore-vst the ENCORE. plugins (submodule), with the audio processing and JUCE it pins
external/tracktion_engine Tracktion Engine (submodule)
external/fst FST, the VST2 interface headers (GPLv3)
external/lame LAME's MP3 encoder library (LGPL)
Two pins. encore-vst decides the plugins, the audio processing and JUCE:
Basement Studio uses the encore-audio-processing that encore-vst pins, and the
JUCE that pins, so it builds exactly what that ENCORE. VST release was built
and tested with, and its Windows installer bundles that same release's
installer. Tracktion Engine is the other. CI checks that each row is a
published release and is exactly what the folder is pinned to
(.github/pins/check.sh); an exception says why.
| Folder | Repository | Release |
|---|---|---|
external/encore-vst | encore-vst | v0.6.0 |
external/encore-vst/external/encore-audio-processing | encore-audio-processing, pinned by encore-vst (shown, not pinned here) | v1.0.1 |
external/encore-vst/external/encore-audio-processing/external/JUCE | JUCE, pinned by encore-audio-processing (shown, not pinned here) | 9.0.5 |
external/tracktion_engine | Tracktion Engine | commit a5e4499 (exception: no Tracktion Engine release supports JUCE 9 yet; its latest, v3.2.0, is older than this commit. Move to the first release that does) |
Basement Studio builds the five plugins from encore-vst's own sources, with
encore-vst's shared/ and the audio processing on the include path (so
#include "ui/Theme.h" and #include "dsp/MasterChain.h" resolve), so it runs
exactly the plugin and audio processing code the products ship.
Fetch the pinned folders by path, one level at a time, never with
--recursive (Tracktion Engine has its own submodules, not used here):
git clone https://github.com/Encore-Music-Inc/encore-basement-studio.git
cd encore-basement-studio
git submodule update --init --depth 1 external/encore-vst external/tracktion_engine
git -C external/encore-vst submodule update --init --depth 1 external/encore-audio-processing
git -C external/encore-vst/external/encore-audio-processing submodule update --init --depth 1 external/JUCE
To use a new ENCORE. VST release (and the audio processing and JUCE it pins), check out its tag, update the table above, and commit both in a pull request titled "Use encore-vst vX.Y.Z (was vA.B.C)":
git -C external/encore-vst fetch --depth 1 origin tag vX.Y.Z
git -C external/encore-vst checkout vX.Y.Z
git -C external/encore-vst submodule update --init --depth 1 external/encore-audio-processing
git -C external/encore-vst/external/encore-audio-processing submodule update --init --depth 1 external/JUCE
git add external/encore-vst README.md
encore-audio-processing ──▶ JUCE (the JUCE version for all of ENCORE.)
encore-vst ──▶ encore-audio-processing (brings JUCE with it)
encore-basement-studio ──▶ encore-vst (brings the sound engine and JUCE with it)
──▶ Tracktion Engine
encore-os ──▶ encore-vst and encore-basement-studio releases
Green Room (encoremusic)──▶ master.wasm from encore-audio-processing, by its SHA-256
.github/pins/check.sh) checks that each one is a release and is exactly
what the folder is pinned to. An exception (no usable release exists) is
written in the table with its reason.git -C <folder> submodule update --init --depth 1 <path>), never with
--recursive: some pinned repositories have test-only folders of their own.Needs CMake 3.22 or newer, Ninja and a C++20 compiler.
Visual Studio 2022 (or its Build Tools) with the C++ workload. From a "x64 Native Tools Command Prompt":
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build
The 32-bit plugin bridge is its own 32-bit build (from an "x86 Native Tools
Command Prompt"); it goes beside ENCORE Basement Studio.exe:
cmake -B build32 -G Ninja -DCMAKE_BUILD_TYPE=Release -DSTUDIO_BRIDGE_ONLY=ON
cmake --build build32
The installer, dist\ENCORE-Basement-Studio-<version>-windows-setup.exe, needs
Inno Setup 6 and both builds: ISCC.exe installer\EncoreBasementStudio.iss. To offer
ENCORE. VST in it, put an ENCORE. VST Setup at build\vst\ENCORE-VST-setup.exe
first (CI downloads the newest one from the encore-vst releases).
Xcode (its command line tools), plus brew install ninja. One app for Apple
Silicon and Intel:
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release "-DCMAKE_OSX_ARCHITECTURES=arm64;x86_64"
cmake --build build
sudo apt install build-essential cmake ninja-build pkg-config \
libasound2-dev libjack-jackd2-dev ladspa-sdk libfreetype-dev libfontconfig1-dev \
libx11-dev libxcomposite-dev libxcursor-dev libxext-dev libxinerama-dev \
libxrandr-dev libxrender-dev libxi-dev
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build
The .deb and the AppImage (needs dpkg-dev, librsvg2-bin, curl and file):
bash installer/linux/package.sh "build/EncoreBasementStudio_artefacts/Release/ENCORE Basement Studio" dist all
The app ends up in build/EncoreBasementStudio_artefacts/Release/, as
ENCORE Basement Studio (.exe on Windows, .app on a Mac). File and folder
names leave out the period of ENCORE.; everything people read says
ENCORE. Basement Studio.
Settings, the log (ENCORE Basement Studio.log), templates and click sounds
are in ENCORE/Basement Studio in the system's app data folder
(%APPDATA%\ENCORE\Basement Studio on Windows, ~/Library/ENCORE/Basement Studio
on a Mac, ~/.config/ENCORE/Basement Studio on Linux). New songs go in
Music/ENCORE Basement Studio unless you pick another folder.
--selftest <folder>: makes songs, imports, mixes, exports, reopens, and
runs each built-in ENCORE. plugin, without a window or an audio device
(exit code 0 = all good, details in <folder>/selftest.log). CI runs it on
every build. On Linux without a display, run it under xvfb-run -a.--plugintest <report file> [folder]: loads every VST3 and VST2 in a folder
(default: the standard plugin folders) the way the Effects menu does and
reports what happened with each one.--audiotest <folder>: monitoring, meters and recording against a pretend
four-input interface.--profile <name>: keeps settings separately (in ENCORE/<name>), for
testing without touching your own.The plugins' and the audio processing's own test suites run in encore-vst and encore-audio-processing.
.github/workflows/ci.yml. Each push starts one run (push for main and v*
tags, plus pull requests, manual runs and a weekly run).
| When | What runs |
|---|---|
| Pull request | in parallel: Linux x64, Windows x64 (with the 32-bit plugin bridge) and macOS on Apple Silicon: the app and its self-test. No installers or packages |
Push to main, or a manual run | in parallel: Windows x64 (installer and zip), macOS (dmg), Linux x64 and arm64 (.deb and AppImage, plus the audio test), each with the self-test; then the Linux packages installed and self-tested on Debian 12, Ubuntu 22.04 and Ubuntu 24.04. The files, each with a .sha256, are kept as workflow artifacts |
Every Monday, or a manual run with checks: weekly | the pull request checks, plus the app built with AddressSanitizer and UndefinedBehaviorSanitizer on Linux x64 running its self-test (memory errors and undefined behaviour). Undefined behaviour is reported and the run carries on, so one run lists every finding; a memory error stops it. Exceptions, each with its reason, are in .github/sanitizers/ubsan.supp. A failure shows as a red run under Actions |
v* tag | no build: the files from the successful main build of the tag's commit are attached to the Release |
*.md, LICENSE or
.github/CODEOWNERS skips the builds (skipped counts as passing).ubuntu-24.04-arm).main builds it universal..github/dependabot.yml).actions/cache, keyed on OS, architecture, compiler and the JUCE
and Tracktion pins.juce_recommended_lto_flags is not used).
-DENCORE_LTO=THIN turns on ThinLTO (Clang) or incremental LTCG (MSVC), the
same switch as encore-vst's; it is off.Versions are vMAJOR.MINOR.PATCH. The version lives in CMakeLists.txt
(project(EncoreBasementStudio VERSION ...)) and nowhere else: the app's About box
and start screen, the Windows installer (through build/version.iss, written
by CMake), the Linux packages and the Mac disk image all read it from there.
Change it on main (through a pull request) before releasing. CI refuses a tag
that doesn't match it.
Each release's notes are written in CHANGELOG.md in the same pull request
that changes the version; CI fails until the version has its section.
A person at Encore Music, Inc. creates each release in GitHub: Releases, Draft
a new release, choose a new tag vX.Y.Z on main, leave the title and
description empty, Publish. The tag starts CI, which doesn't rebuild: it takes
the files from the successful main build of that exact commit, attaches them
to the Release, and sets its title and notes from CHANGELOG.md. If that commit has no
successful main build (it's still running, or the push only changed docs and
skipped the builds), the release job fails and says so: run CI by hand on
main (Actions, CI, Run workflow), then re-run the release job. Workflow
artifacts are kept for 90 days, so release a commit within that time.