Skip to content

Releases: HamSanders/soundbox

Soundbox v0.4.0

Choose a tag to compare

@github-actions github-actions released this 25 Oct 23:09
5f6be34

Added

  • Studio: canvas layout and pop-out windows. The studio can lay its
    panels out as free cards on a grid instead of three columns: drag a card's
    header to move it, drag its edges to resize it, and Panels → Tidy puts it
    back. Positions are remembered per builder. Any panel can also leave the
    studio for a window of its own, so you can put it on another monitor. Drag
    its header past the edge of the window, or press its pop-out button. A
    popped-out panel shares the studio's state, opens its menus in its own
    window and passes keyboard shortcuts through. Closing the window puts the
    panel back, and docking or closing the panel, or leaving the studio, closes
    the window. The desktop app opens these as native windows.
  • Failure cards. A generation or download that fails now says what
    happened, why, what to do and what is kept, with up to two fix links, Retry
    where a retry can help, the raw text under Details and a Copy diagnostic
    button, in place of a bare red line or a toast. The server classifies the
    common causes (GPU out of memory, system memory, paging file, missing
    runtime, model not downloaded, corrupt model file, stalled or truncated
    download, Hugging Face gated or unreachable, disk full, timeout) in
    server/src/failure.ts; jobs carry the result as failure. A failed
    generation also stays on the Library page as a card instead of vanishing.
  • Command palette. Ctrl/⌘+K now finds sounds, stories, voices and models
    as well as pages: a sound opens, a story opens in its builder, a model
    loads, downloads or unloads from the row. Settings rows appear once you
    type. On a page with a composer the first row is Generate, or Cancel while
    a job runs. ? opens a keyboard cheatsheet.
  • Script Builder: paste a script. Paste a scene or a passage and
    Auto-cast reads the speaker cues and "said X" attributions, hands each
    character a voice (a voice of the same name if there is one, otherwise the
    next unused one) and adds the lines; or split prose into lines by
    sentence, paragraph or chapter with a longest-line limit. An empty script
    offers Add first line, Paste a script and Load sample.
  • Library. Every row carries its recipe (model, length, seed, steps,
    CFG, and whether it was extended or covered) so two takes of one prompt
    can be told apart; the sound page has a "How it was made" list with Copy
    recipe. A sound's menu has Send to: add it to a story, open it in the
    studio, or make a voice from it in the Voice Lab. The tag, model,
    favourites and by-agents filters fold behind a Filters button whose
    summary shows each chosen value as a chip that clears itself.
  • Models page. Packs: one Install for a sensible model each for sound
    effects, music and voice at Fast, Balanced, Quality or Max, with the size
    to download; the category tabs say how many of each are on this machine;
    a model whose download stopped shows as Incomplete with Repair, which
    fetches only what is missing; and a Self-test in a model's details renders
    one second through the normal path and reports the time and device without
    saving anything (POST /api/models/:id/selftest).
  • README. Shorter and faster to scan: a Make / Arrange / Connect table,
    a hardware table, profiles, an "install with a prompt" block for coding
    agents, and the source, Docker and API sections folded. docs/INSTALL-AGENT.md
    is the runbook that prompt points at.

Changed

  • Composer. The Generate button keeps one width and names the running
    job's stage ("Loading model", "Generating 42%"), Cancel keeps its place
    instead of pushing the pills about, a progress strip runs along the card's
    bottom edge, and whatever stops a run is said in one sentence with the link
    that fixes it rather than a greyed-out button.
  • Sidebar. Each area's icon carries its own hue, the sidebar folds to an
    icon rail on studio, Music and Voice Lab pages (with a "keep expanded"
    preference in Settings → Interface and on the rail itself), and the device
    row in the footer opens a panel with the GPU, VRAM in use, the loaded model
    and an Unload button that frees the memory without a trip to Models.

Installers are not yet signed. Windows shows a SmartScreen prompt (More info → Run anyway); macOS asks you to allow the app in System Settings → Privacy & Security. docs/DESKTOP.md has the details.

Soundbox v0.3.0

Choose a tag to compare

@github-actions github-actions released this 24 Oct 22:57
dbf49dd

Added

  • Custom endpoints. Settings → Endpoints sends sound effects, music or
    speech to a server you already run (LocalAI, an OpenAI-compatible speech
    server) instead of downloading the model. The request body is a JSON
    template with variables such as {{prompt}}, {{lyrics}}, {{bpm}} and
    {{key}}. Each endpoint appears in the model pickers. WAV and PCM are read
    directly; other formats need ffmpeg. Endpoints outside the local network
    are marked, since prompts leave the machine. See docs/ENDPOINTS.md. (#22)
  • Updates in the desktop app. On launch, an installed copy checks for a
    newer release and offers to install it and restart. Models and projects are
    kept. Copies installed before this version need one manual download to get
    it.

Fixed

  • GPU name and VRAM on NVIDIA. /api/health reports the GPU's name and
    its total and free VRAM from nvidia-smi, for the first GPU in
    CUDA_VISIBLE_DEVICES or GPU 0, so the sidebar, Settings and onboarding show
    them instead of only "cuda". Other GPUs still report null. (#17)
  • SOUNDBOX_ALLOWED_HOSTS behind a reverse proxy. The server's Host
    check now accepts the names in SOUNDBOX_ALLOWED_HOSTS, so soundbox on
    127.0.0.1 behind Caddy or nginx no longer answers 403 "Forbidden host" to
    every request. Before, the variable only reached CORS and /mcp. A bare
    host matches any port and host:port only that port, the same in every
    check. (#22)
  • Dev mode from another machine. npm run dev passes
    SOUNDBOX_ALLOWED_HOSTS to Vite's server.allowedHosts, and a new
    SOUNDBOX_DEV_HOST sets the address Vite listens on. Both are unset by
    default, which keeps the dev UI on localhost. (#22)

Installers are not yet signed. Windows shows a SmartScreen prompt (More info → Run anyway); macOS asks you to allow the app in System Settings → Privacy & Security. docs/DESKTOP.md has the details.

Soundbox v0.3.0-beta.2 (custom endpoints preview)

Choose a tag to compare

@github-actions github-actions released this 24 Oct 22:34

A test build of custom audio endpoints (#22, PR #24), not a stable release. It replaces v0.3.0-beta.1.

What to try

Settings → Endpoints → Add endpoint sends sound effects, music or speech to a server you already run, instead of downloading the model:

  • Pick a preset (LocalAI ACE-Step music, LocalAI sound effects, OpenAI-compatible /v1/audio/speech) or start blank.
  • Set the URL, an optional Bearer key, and the JSON body template. Variables: {{prompt}}, {{lyrics}}, {{instrumental}}, {{duration}}, {{bpm}}, {{key}}, {{seed}}, {{text}}, {{voice}}, {{voice_ref_b64}} and more.
  • Press Test. It renders one short clip and reports what came back.
  • Save it. The endpoint appears in the model picker for its task.

WAV and PCM responses are read directly. MP3, FLAC and other formats need ffmpeg on the machine running Soundbox. Full guide: docs/ENDPOINTS.md.

Also in this build

  • Reverse proxies and other machines (#26). The server now accepts the names in SOUNDBOX_ALLOWED_HOSTS as the Host header, so it works behind Caddy or nginx. In dev mode, SOUNDBOX_DEV_HOST lets the UI listen beyond localhost. docs/INSTALL.md has the setup.
  • Desktop updates (#25). The app checks for a newer release on launch and offers to install it. Pre-releases are never offered, so this build moves to v0.3.0 once that's released.

Notes

  • Inside the app and in the installer file names, this build calls itself 0.2.0. Windows installers can't carry a -beta suffix, so only the tag and this page say beta.
  • Linux / Docker: there is no Linux installer. Build the image from the branch instead:
    git clone -b feat/22-custom-endpoints https://github.com/HamSanders/soundbox && cd soundbox && docker compose up -d --build
    The image already includes ffmpeg. To reach it through a proxy, set SOUNDBOX_ALLOWED_HOSTS in docker-compose.yml to the name the proxy uses.
  • Installers are not yet signed. Windows shows a SmartScreen prompt (More info → Run anyway); macOS asks you to allow the app in System Settings → Privacy & Security. docs/DESKTOP.md has the details.

Please report problems on #22.

Soundbox v0.1.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 01:34

See CHANGELOG.md for what changed.

Installers are not yet signed. Windows shows a SmartScreen prompt (More info → Run anyway); macOS asks you to allow the app in System Settings → Privacy & Security. docs/DESKTOP.md has the details.