Aludel Download

What's new.

Every change to Aludel, newest first.

0.1.3

31 July 2026 New features

Added

  • --init/--init-config now launch an interactive setup wizard. Pick a provider from a menu instead of hand-editing JSON — Ollama and Osaurus probe your machine for models already installed, and API keys go straight into the Keychain. Running from a script or with --json still writes the plain config template, unchanged.
  • The wizard's Piper step now picks a voice from a catalog instead of typing a file path. The same voice list the desktop app uses, with each voice's license shown up front (and a warning on non-commercial or research-only licenses) — pick one and it downloads automatically if you don't already have it.

0.41.0

18 August 2026 New features

Added

  • Simple View's TTS provider now has its own chip, next to the model chip. Previously switching TTS provider meant opening the voices menu and hunting for a dropdown inside it; it's now a first-class control with its own icon, picker, and "+ Add new provider…" entry, matching the model chip. The voices menu now only picks the voice for whichever provider is already selected.
  • Simple View's empty panel explains the selected type and offers a way to start from nothing. It now shows the same icon-and-description box Advanced uses for Podcast/Summary/Audiobook, updating live as you switch types in the composer below. For Podcast, a "Randomize a topic" button fills the field with one of 35 topic prompts — a podcast can be generated from a topic alone, since the model writes the dialogue from its own knowledge rather than condensing supplied content. Doing this with a local model shows an honest note that a topic alone leans on general knowledge a small local model has less of, and the generated script is nudged to stick to well-established facts.
  • Simple View's popovers are floating menus now, detached with a shadow and anchored above or below whichever chip opened them depending on available space — instead of sitting flush under the input box.

Changed

  • The Free tier's default duration is short, not medium. Short is also now the tier boundary — medium and long both require Pro, where medium alone used to be free. Local models default to short for the same truncation reason long was already blocked for them.
  • The composer's send button says "Generate", not just an arrow. The bare circular arrow read as a generic chat-send icon rather than the button that starts podcast generation.

Fixed

  • A provider added from Settings could get a raw internal key as its label (e.g. "openai_compat_osaurus") instead of the friendly name shown on its tile ("Osaurus") — the field only looked pre-filled; it was a placeholder, and an empty label fell back to that key. It now starts with the real name, still editable.
  • The Settings modal's save and close buttons could sit under the page's own close button. Padding now clears it.

0.40.0

18 August 2026 New features

Added

  • Picking Piper voices in onboarding is now a grid, not two dropdowns. Every voice for a language shows as a card with a preview you can play before downloading, and you check as many as you like instead of separately choosing "Voice A" and "Voice B" from flat lists. Languages with more than one region (e.g. Portuguese) group under one entry, with the region shown on each card only when it's needed to tell them apart.
  • OpenRouter TTS is free on every tier, matching OpenRouter's LLM access — the Pro gate on it is gone everywhere it was checked. Adding it also offers reusing an OpenRouter key you already added for the LLM side, instead of asking you to paste it again.

Changed

  • Picking non-English voices in onboarding now carries into Simple View. Previously the composer's output language stayed on its own default regardless of what you'd just downloaded, so it could open with a language and voices that didn't match. It now picks up the language your onboarding voices were in — free tier still stays on English either way.

Fixed

  • A Piper voice chosen in onboarding could fail Simple View's own language check the moment the catalog loaded, silently leaving the composer looking configured but pointed at the wrong voice. Voices are now re-validated against the output language as soon as the catalog for the active provider is available.
  • A provider added mid-onboarding could leave Simple View with no model or voice selected. The composer normally settles on defaults well before onboarding finishes, so a provider added afterward was visible but never picked. It now fills in a still-unset selection the first time one becomes available, without touching a choice you already made.

0.39.1

17 August 2026 Fixes

Fixed

  • Typing something into Simple View and pressing Enter did nothing. Text you typed or pasted was handed to the reader as if it were a filename, so the run stopped at the first step — and the failure was invisible, because the progress panel disappeared at the very moment it had something to report. Typed text now works, and a run that fails says so, leaving your text and instructions where they are so you can try again.
  • Simple View forgot which voices you last used. Language, model, tone and length came back as you left them, but the voices reverted to the defaults — so an Italian episode could come back paired with two English voices. Your last voices are restored along with everything else.

0.39.0

16 August 2026 New features

Added

  • Simple View is one screen instead of four. It used to ask where you wanted to start, then the type, then the model, then the voices, one screen at a time. Now there is a single field — paste text, drop a link, attach a file — with the type, language and voices beside it. Press Enter and it starts with whatever you used last.
  • Your finished episodes are listed alongside. A sidebar shows everything the project has made, and picking one opens it next to the composer with the same player as the rest of the app, transcript included — so you can listen back to an old episode while setting up the next one. Drag the list wider, or put it away with the sidebar button.
  • You can say what to do with a file. Attach a source and the field becomes a place for instructions. Ask for "only chapter 2" of a book and it reads exactly that chapter. If the chapter you asked for can't be found, it says so before spending anything, rather than quietly making the wrong episode.
  • Tone and duration are in plain sight. They were the last two settings hidden behind the "…" menu. They now sit under the field beside the language and voices, each showing what it is set to.
  • Switching to Advanced takes your work with it. The link used to just close Simple View and lose whatever you had set up. It now creates the draft, reads the source and hands it over, so Advanced opens where you left off.

Changed

  • Simple and Advanced are one window now. Switching between them changes what the window shows, instead of closing one window and opening another — nothing disappears from under you, and the switch is immediate. Aludel reopens on whichever view you used last, and sending something from Finder while you are in Advanced brings you to Simple with the source ready.
  • The window blurs behind a dialog. Anything a modal covers is now slightly out of focus instead of sitting sharp behind it, so the dialog is plainly the thing to deal with.
  • Progress says what it is counting. "162/3600" told you nothing. While an episode is being made you now see the part of the source being condensed and the number of lines being spoken; the script-writing step shows how far along it is, rather than a character count against an estimate that keeps moving.
  • Summary and Audiobook are available on every tier. The content type is no longer a Pro feature. What stays Pro is the output language: free covers English, so an audiobook read in its own language works throughout, while translating into the other eight still needs Pro.

Fixed

  • Everything made in Simple View was called "Quick create". Episodes are now named after what they are about — the title found in the source, or the one written for the script, or the heading of the chapter you asked for.
  • Summaries and Audiobooks made in Simple View came out as two-voice podcasts. The type was recorded on the episode but never reached the generation, so an audiobook was written as a dialogue instead of being read word for word.
  • An episode could finish and then be nowhere to be found. Not in the episode list, not in Advanced. Nothing was ever lost — the audio was on disk the whole time — but the episode was never marked finished, and the other side had no way to learn it existed. Episodes stuck this way reappear on their own the next time Aludel starts.
  • An episode made in Simple View opened in Advanced as if it had never been started. Advanced still believed the job was running, and so declined to load what had been saved. The run signs off properly now, whether it finished or failed.
  • After an episode was made, the composer stayed dead. The field, the chips and the send button stayed disabled once a run finished, so making a second episode meant leaving Simple View and coming back. They are usable again the moment the run ends.
  • The send button in the composer was invisible in dark mode. A white arrow on an almost-white circle. It follows the theme now, like every other button.
  • "Kokoro voices are optimised for English" was shown for every OpenRouter voice. The warning is about one specific speech model, but it appeared whichever OpenRouter model you had configured — warning people about a limitation their model doesn't have. It now checks which model is actually in use.

0.38.2

15 August 2026 Fixes

Fixed

  • "Send to Aludel" from Finder opened the app and then did nothing. When the capture launched Aludel from a cold start — the usual case from the Finder menu — the request was dropped before the app was ready to act on it, so no Quick Create window ever appeared. It's now picked up at launch, whether Aludel was already running or not.

0.38.1

15 August 2026 Fixes

Fixed

  • Installing the Finder Quick Action failed with "the document could not be opened because it is damaged or incomplete." The workflow was packaged with its internal files flattened out of the bundle's Contents folder, so what shipped wasn't a valid Quick Action. It's now packaged correctly, and the app no longer hangs while macOS's confirmation dialog is open.

0.38.0

15 August 2026 New features

Added

  • Quick Create: a fast path from a URL, file, or pasted text straight to a finished episode. Trigger it from inside the app, a browser extension, or a Finder Quick Action — all three open a small confirmation window (type, project, voice, tone, duration, defaulting to your last choice), then run the whole pipeline automatically with a progress view and a result/player screen at the end.
  • Simple/Advanced view switcher now lives in both window titlebars, with a matching Settings option for which view opens by default (Simple, Advanced, or remember the last one used).

0.37.0

31 July 2026 Under the hood

Changed

  • Piper's voice catalog and download logic moved into the shared core library, so the desktop app and the CLI use one source of truth instead of two separate copies. No visible change here — see the CLI tab for what this made possible.

0.36.0

30 July 2026 New features

Added

  • Channels now publish a browsable web page alongside the RSS feed. Visiting your channel's public URL directly now shows a human-readable page instead of raw XML — a single episode list with a type filter (Podcast/Summary/Audiobook), inline audio players, and an RSS subscribe link, styled around your channel's own name and artwork.
  • Channels have a language setting (English, Italiano, Español, Français, Deutsch, Português, 日本語). Drives the new channel page's text and the feed's RSS <language> tag, which was previously missing entirely.

0.35.0

29 July 2026 New features

Added

  • New Settings → Storage view. Completed episodes can leave cached TTS audio behind that speeds up reworking them later, at the cost of disk space. Lists every completed episode still holding onto cached audio, sorted biggest first, with a running total, per-episode cleanup, and a "Clean up all" bulk action. A matching "Clean up cached audio…" action was also added to each completed episode's dropdown menu in the project sidebar.
  • Deleting a project with a linked channel now offers an explicit choice to also delete the channel, in a proper confirmation dialog instead of a cramped inline row.

Fixed

  • A disk-full error during rendering no longer dumps ffmpeg's raw technical output as the headline message. Now a plain "Not enough disk space to finish this render" with a pointer to the new Storage view — the raw output is still available under "Technical details".

0.34.1

29 July 2026 Bug fixes

Fixed

  • Provider-not-configured warnings were unreadable in dark mode, like the "LLM not set up" notice when importing a `.aludel` package. The same fix applies to the Analyse truncation notice, the Script quality-check notice, and the TTS language-mismatch warning.
  • The "Add to project" dropdown in the Import package dialog now matches every other select in the app, instead of showing as an unstyled native control.

0.34.0

29 July 2026 New features

Added

  • URL ingest now handles JavaScript-rendered pages. Sites that fill in their content via JavaScript (React/Vue/Next apps) used to ingest as near-empty text, with no error shown. Aludel now detects this and retries by rendering the page in a hidden browser view before extracting the text — shown as "Rendering page…" with a Skip option during ingest, and a dismissible note on the Analyse step when it kicks in.

0.33.3

28 July 2026 Bug fixes

Fixed

  • Focus ring could get clipped inside scrollable panels, like the license key field in the Pro upgrade modal. It now draws inside the element's own box, so a container's scroll clipping can never crop it.
  • Chapter detection is faster on long sources. The two detection passes now share a single scan of the text instead of each re-scanning it from scratch.

0.33.2

24 July 2026 Bug fixes

Fixed

  • Settings → Prompts: the "Default"/"Customized" badge and the "Reset to default" button no longer lag behind what you're typing. Both used to stay stale until you closed and reopened the prompt's accordion card. They now update live while editing.

0.33.1

23 July 2026 Bug fixes

Fixed

  • A local LLM server that's down at generation time now shows a plain "Ollama isn't running" / "Osaurus isn't running" message. Previously this showed a raw connection-error string. The new message also comes with a recovery hint, and only appears for an actual local-server failure — a cloud-provider connection rejected by a proxy or firewall won't be mislabeled as a local-server problem.
  • Publishing to an FTP channel could wrongly abort the first time an episode goes out to a server whose episodes/ folder exists but is empty. Some FTP servers answer that case with "550 No files found" rather than the "no such file" wording Aludel already recognized as "nothing here yet" — it's now treated the same way SFTP and rsync already treat an empty directory.

0.33.0

19 July 2026 New features

Added

  • A channel and its project now show their link to each other. A channel's dashboard shows "Linked to project: X"; the project switcher shows each project's linked channel name underneath it — both survive renaming either side.

Changed

  • Episode status labels clarified. "Live"/"pending sync" are now "Published"/"Pending change"/"Not published", removing an ambiguous unlabeled state.

Fixed

  • Sync now verifies files are actually still on your server before skipping a re-upload. Previously, sync trusted a local "already uploaded" flag forever — if you deleted files on your server outside Aludel, they'd never come back on the next sync even after republishing. Sync now checks the real remote listing (one call per sync, not per file) before deciding what to skip.
  • Updated cover artwork could take a long time to show up in podcast apps. The artwork's remote filename was static, and podcast apps/CDNs cache images by URL — a genuinely new image reused the same URL and was never re-fetched. The filename now changes whenever the artwork's contents change.
  • The artwork preview in the Channels dashboard didn't update after saving new artwork in its settings sheet until you switched channels and back.
  • A finished episode could take a while to appear in its channel, or require leaving and reopening the channel to show up, even though the "Added to channel" confirmation appeared immediately.

0.32.0

18 July 2026 New features

Added

  • Distribution Channels (Pro): publish your episodes as a real podcast, self-hosted. Create a channel, point it at your own server (SFTP, rsync, or FTPS — with a one-click connection test), and Aludel uploads your episodes and generates valid RSS feeds ready to submit to Apple Podcasts and Spotify. Four feeds per channel: everything, plus one each for Podcast, Summary, and Audiobook episodes.
  • Channel dashboard with per-episode publish toggles. Flip episodes on or off, review pending changes, and push everything live with one Sync. Unpublishing removes an episode from the feed without touching files already on your server.
  • Generated cover artwork. Every channel is born with unique, regenerable cover art — or upload your own square image (min 1400×1400) and Aludel takes care of the rest.
  • Finished episodes join their project's channel automatically — switched off, ready to publish when you are. Manage memberships from the Save step, the project tree's ⋯ menu, or the new Distribution chips in the recap panel.

Changed

  • Sidebar reorganized: Projects and Channels first, then Music Assets and Presets, with fresh icons for Projects and Channels.

0.31.0

17 July 2026 New features

Added

  • New Settings → Feedback page with a direct email contact and a link to the Slack community, moved out from a buried reveal in the License tab.

Fixed

  • Cost estimates before generating an episode were often noticeably lower than what you were actually billed. The pre-generation estimate ignored the fixed prompt-instruction overhead and assumed the script lands exactly on its target length; it now shows a range instead of one falsely precise number, and the post-generation total shows the real billed cost (not "Estimate") whenever the provider reports it.

0.30.0

17 July 2026 New features

Added

  • Beta testers on the shared trial license will see a heads-up in-app before it retires on 31 July, with a one-minute path to a free personal key.

Fixed

  • A lapsed Pro license now explains itself instead of silently switching Aludel back to Free — nothing you've made is affected either way.
  • License expiry is checked immediately instead of waiting up to 30 days for the next background check, so a license renewed or extended never causes an unnecessary lapse.

0.29.1

16 July 2026 New features

Added

  • Aludel Pro purchase is back, pay-what-you-want (including free) while in beta. Grab it anytime from Settings → License.
  • Clicking a Pro-gated feature now opens the upgrade screen right where you are, instead of sending you to Settings. Dismiss it without buying and you're back exactly where you left off, even mid-onboarding.
  • Any item in the project tree can now be reordered with the up/down arrows, not just chapters from a split book.

Fixed

  • "Analyse" could get stuck on "Analysing…" forever when starting a new item from a Preset, with no ingest ever actually running. Presets landed the new item on the Add Content step by marking it as already mid-ingest, which tripped the recovery logic meant only to restore that UI after a remount on a job genuinely still running in the background.
  • The license key field's focus outline was getting clipped instead of showing in full.
  • Voice license badges (e.g. "CC BY-SA") were unreadable in light mode — now legible in both themes.
  • Script bubble color in light mode looked inconsistent with the rest of the app — fixed to match.
  • Reorder arrows at the top/bottom of a list stayed visible at all times instead of fading in on hover like the rest.

0.29.0

15 July 2026 New features

Added

  • Empty untitled drafts are cleaned up automatically. Closing the app now deletes any draft you created but never touched (still titled "Untitled…", no content entered), across all projects — no more clutter from a podcast, summary, or audiobook you opened by mistake and never used.
  • Chapters from a split book keep their order, with manual reordering available. Chapter items now carry a persistent order instead of reshuffling every time one is re-saved; a chapter item in the project tree has up/down arrows to reorder it within its book if you need to.
  • LLM providers now show whether they're actually usable. A status dot on each provider (Settings and the in-project picker) reflects live state, not just "a model was chosen once" — an Ollama provider whose daemon is stopped or whose model was deleted now shows red instead of a stale green. "Generate script" is disabled with a clear message if the selected provider currently isn't usable, instead of failing partway through.
  • Reinstall a missing Ollama model without leaving Settings. If a configured model was deleted outside Aludel, its provider card now offers a one-click "Reinstall" with a live download progress bar, instead of only a broken picker.

Fixed

  • A chapter's real title could get overwritten by the LLM's invented one after generating its script, for a book split into per-chapter items.
  • Dark mode could revert to light for some elements when the OS itself was set to Light. Speaker bubbles, transcript highlights, and voice-license badges followed the OS's own light/dark setting instead of the app's own theme override, so forcing dark mode while the OS was in Light left those elements looking broken.
  • Focus mode's segment text box had a hardcoded white background, unreadable in dark mode.
  • Adding an LLM provider from inside a project could show a model dropdown that never opened. The dropdown was rendering behind the "Add provider" dialog itself; adding a provider from Settings directly was unaffected. Also fixed the same latent issue for every other modal in the app.
  • A downloaded Ollama model (e.g. Llama 3.2) could still show as "not installed" in the model picker, due to a tag-matching mismatch.
  • Ollama's model list could show the same model twice — including right after reinstalling a deleted model.
  • The Ollama "running" indicator now uses the app's own status-dot styling instead of a raw emoji.

0.28.1

9 July 2026 Bug fixes

Fixed

  • In-app update could fail with "failed to unpack ._Aludel.app". The release build's updater package could ship a stray macOS sidecar file alongside the real app bundle, which the updater choked on trying to unpack. Fixed at the source in the release script.

0.28.0

9 July 2026 New features

Added

  • Safeguards for long or unstructured audiobook sources. Feeding in a very long, plainly-formatted book (e.g. a Project Gutenberg text) now gets deterministic help: chapters using classic "CHAPTER N" markers (in any of Aludel's 9 supported languages) are detected automatically, license/boilerplate text at the start and end is stripped, and a leftover table-of-contents or front-matter block is offered as a one-click trim before synthesis. A confirm step now also warns before synthesizing anything unusually long or expensive (over ~45 minutes or ~$3 estimated), showing segment count, duration, and cost up front.
  • Add a provider without leaving the job. The LLM and TTS dropdowns in the config panel now have a "+ Add new provider…" option that opens Settings in a small dialog — add and select a new provider without losing your place in the current item.
  • Preview a script line before recording. Each line in the script now has a play button that synthesizes just that line with the currently selected voice, so you can check it sounds right before rendering the whole thing. Once you're happy, recording the full script reuses that already-synthesized line instead of generating it again.
  • Trash icon with confirmation for removing a service. Deleting an LLM or TTS provider now asks for confirmation first, instead of deleting immediately on click.

Fixed

  • TTS segments could be cut mid-word or mid-sentence. Audiobook-path segments now always end at a natural sentence break, even for a long sentence with no internal punctuation — a segment may run a little longer than the ~300-character target rather than being wrapped at an arbitrary point.
  • Chapter detection could silently drop or duplicate content on books with a table of contents. A repeated chapter title used to either create dozens of empty phantom chapters or, in rarer cases, quietly lose an earlier chapter's text; both are fixed. When a PDF's own outline is available, it's now used ahead of the plain-text fallback, as intended.
  • Editing an OpenRouter or Osaurus provider could show the wrong edit form. E.g. Ollama's model list, or an API key field Osaurus doesn't need. Osaurus's edit form now also shows a proper dropdown of detected models instead of a plain text field.
  • Voice preview for OpenAI's Ballad and Verse voices now works — previously these two voices had no preview available at all.

0.27.0

8 July 2026 New features

Added

  • In-app updates. When a new version is available, the banner now has a Download & install button — one click downloads the update, closes Aludel, installs it, and relaunches into the new version. No more hunting for the download on the website. Updates are cryptographically signed and verified before installing, and if a job is running in the background, Aludel asks for confirmation first.

0.26.0

8 July 2026 New features

Added

  • Osaurus local LLM provider. Added Osaurus — a native Apple-Silicon local LLM server built on MLX — as a free, offline LLM option alongside Ollama. Add it under Settings → Services: Aludel detects a running Osaurus server, lists its installed models, and picks one for you, with a clear hint if Osaurus isn’t running or has no models downloaded yet. Runs entirely on your machine at no cost.

Fixed

  • Local-model cost estimates are based on provider type, not URL. Local providers (Ollama, Osaurus) are correctly shown as free and capped at Medium duration regardless of the host/port they run on — previously inferred from the address, which could be wrong on a non-default host.

0.25.0

7 July 2026 New features

Added

  • Concurrent item jobs. Start generating a script or recording audio on one item, then switch to another and keep working while the first job runs in the background. Each item tracks its own progress; a dot in the project tree shows which items have a job running, just finished, or failed, and a toast notifies you when a background job completes or errors. Background renders auto-save when they finish.

Fixed

  • Project-tree job indicator and step label could go stale. The background-job dot sometimes didn't appear or clear, and an item's step label could stay frozen on an old step while a job progressed. Both now update live.
  • "TTS provider not found" when recording right after opening an item. Switching to a fresh item could leave the voice provider unset even though the panel still showed one selected, so Record failed. The selection now re-syncs on every item switch, and Record stays disabled until a provider is set.
  • Piper voices sometimes showed "Select voice…" despite voices being installed. A new item could be seeded with an empty voice; it now auto-fills the first compatible downloaded voice.
  • A finished item could stay under "Drafts" showing "Done". Items that completed rendering in the background weren't promoted to "Completed" — they are now, and any previously-stuck items are corrected on launch.

0.24.2

6 July 2026 Bug fixes

Fixed

  • Long sources could silently drop entire topics from the generated script. A ~6300-word transcript exceeded the internal single-pass budget, triggering multi-pass condensing that could still overflow and get hard-truncated — cutting whole topics rather than just detail. The budget is now sized correctly for cloud providers, and a new fallback pass trades away fine detail instead of dropping topics outright on exceptionally long sources. Local (Ollama) models keep a conservative budget matched to their typically smaller context window; a new notice appears for extremely long sources, suggesting splitting into multiple episodes.
  • A completed item stayed marked "Complete" after going back to Analyse to rework it. Its status now reverts to Draft, matching the item's actual state.

0.24.1

5 July 2026 Bug fixes

Security

  • API keys moved to the macOS Keychain. Provider API keys (OpenRouter, OpenAI, Anthropic, ElevenLabs) are no longer stored in plaintext in the app's config file — they now live in the macOS Keychain, like credentials in other Mac apps. Existing keys are migrated automatically on first launch.

Fixed

  • A provider's key could be silently lost during the Keychain migration. If migrating one provider's key succeeded while another's failed in the same save, the failed one could be wiped with nothing to fall back on. Keys are now verified in the Keychain before their plaintext copy is removed.
  • False "update available" notification. The app could report a newer version was available even when already running the latest release.

0.24.0

4 July 2026 New features

Added

  • macOS menu bar. File menu: New Conversation (⌘N), New Summary (⌘⇧N), New Audiobook (⌘⌥N), Import .aludel… (⌘O). Edit menu: Undo, Redo, Cut, Copy, Paste, Select All — all native roles so they work in every text field. Aludel app menu: About, Services, Hide, Quit.
  • Open .aludel files from Finder. Double-clicking a .aludel file or using "Open with Aludel" imports the package directly — whether Aludel is already running or launching cold.
  • Exact SRT / VTT timestamps. Subtitle files now use the actual TTS clip durations instead of word-count estimates. Timestamps are stored in the item snapshot so they survive re-opens and re-exports.

Fixed

  • TTS provider and voices not restored after importing a .aludel. Navigating back to the Voice step on an imported item was showing the user's current default provider instead of the one saved in the package. The snapshot now takes priority.
  • Music asset names showing hex IDs after .aludel import. Assets bundled in older packages had their internal storage ID as the display name. They now show "Imported jingle" or "Imported bed" — both on import and retroactively on next launch for any already-affected assets in your library.

0.23.1

4 July 2026 Bug fixes

Fixed

  • .aludel file icon and "Open with" not appearing in Finder. The UTI declaration was missing from the app bundle, so macOS didn't associate the file type with Aludel. The cobalt icon and "Open with Aludel" now appear correctly after install.

0.23.0

4 July 2026 New features

Added

  • Export item as .aludel package. A "Export .aludel…" option appears in the Save step and in the right-click menu of any item in the sidebar. The archive bundles the item metadata, snapshot, TTS segment clips, the final audio output, and any user-imported music assets used in the mix. Use it to back up an item, hand it off, or move it to another machine.
  • Import .aludel package. A folder-open button in the sidebar toolbar opens a native file picker. After selecting a valid .aludel file, a confirmation sheet shows the package summary — item type, pipeline stage, clip count, and bundled music — before adding the item to the active project. The item resumes at the same pipeline stage it was exported from. Importing Summary and Audiobook items requires Aludel Pro.
  • .aludel file icon. Files with the .aludel extension now display a custom Finder icon and open with Aludel via "Open with" in the context menu.

Fixed

  • Export included ~400 MB of intermediate mix files. The export previously bundled every file from the job directory, including the full uncompressed mix intermediates. Only the TTS segment clips and their manifest are now included, keeping exports compact.
  • Referenced bed-music asset was missing from the archive. User-imported music tracks could be excluded from the export when their library entry carried an unexpected source tag. All assets referenced by the snapshot's mix options are now bundled regardless of source.

0.22.0

4 July 2026 New features

Added

  • Voice language filter for Piper. Voice selectors now dim and disable voices whose language doesn't match the episode's output language. If no compatible Piper voices are downloaded yet, a hint links directly to Settings → Services. Switching the output language automatically re-maps Voice A and Voice B to the first compatible downloaded voice.
  • Free music source links in the Music Assets page. Once at least one track is imported, a persistent bar at the bottom of the Music Assets page shows four quick-links to free / CC0 music libraries (Pixabay Music, Free Music Archive, ccMixter, Freesound). On first open (empty library) the same sources appear as tiles in the empty state.
  • Voice preview — hear any voice before committing. A play icon appears inline in every voice option. Click to hear a short audio sample; click again to stop. Samples are fetched once and cached locally so the first play hits the network and every replay is instant. Works across all four TTS providers:
    • Piper — sample fetched from the HuggingFace model card (samples/speaker_0.mp3).
    • OpenAI TTS — sample fetched from the OpenAI CDN (all voices except Ballad and Verse, which have no hosted sample).
    • ElevenLabs — preview clip from the preview_url returned by the ElevenLabs Voices API.
    • OpenRouter TTS — short snippet synthesised on-demand from the first segment of the current script (or a short fallback phrase); result cached for re-use.

0.21.2

4 July 2026 Bug fixes

Fixed

  • The "add segment" (+) stayed visible after hovering. The insert-row "+" was revealed by fading a button's opacity; the macOS WebView left stale pixels on the composited layer when the animation reversed. Switched from CSS fade to conditional DOM insertion — no stale pixels possible.
  • Long episodes were cut off at around 90 segments. The script-generation request was capped at 4096 output tokens, which a "long" (~25 min, ~3000-word) episode overruns. Cap raised to 8192 for all OpenAI-compatible and OpenRouter providers.
  • Update check didn't surface a new version on launch. A 24-hour throttle meant any previous check — including the manual "Check now" — blocked the launch check for a full day. The launch check now always runs (still off-switchable in Settings), so a new release appears on the next launch.

Changed

  • Confirm before leaving the Script step. Going back from Script to Analyse now shows a confirmation prompt so an edited script isn't discarded silently.
  • Local model duration gate. The "Long (~25 min)" duration option is automatically disabled when a local Ollama model is selected — local models have limited context windows and would truncate a long script. A hint explains why.

0.21.1

June 2026 Bug fixes

Fixed

  • Piper TTS failed on first run with a missing library error. The libespeak-ng dylib was missing from the app bundle's runtime on clean installs. The Piper runtime tarball is now included and extracted on first launch.
  • macOS "Intel-based component" warning at launch. A bundled x86_64 binary triggered the Rosetta compatibility warning on Apple Silicon Macs. The Piper runtime is now bundled as native arm64.

Always free to download.

Get the latest version and try the new voice preview today.